版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Verilog的邏輯的邏輯(lu j)綜合綜合學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)對邏輯綜合的概念進(jìn)行定義,解釋邏輯綜合的優(yōu)對邏輯綜合的概念進(jìn)行定義,解釋邏輯綜合的優(yōu)點(diǎn)。點(diǎn)。弄清楚哪些弄清楚哪些Verilog HDL結(jié)構(gòu)和操作符能用于邏結(jié)構(gòu)和操作符能用于邏輯綜合,理解輯綜合,理解(lji)邏輯綜合工具如何解釋這些結(jié)邏輯綜合工具如何解釋這些結(jié)構(gòu)。構(gòu)。解釋使用邏輯綜合進(jìn)行設(shè)計的典型流程,描述基解釋使用邏輯綜合進(jìn)行設(shè)計的典型流程,描述基于邏輯綜合設(shè)計流程的主要組成部分。于邏輯綜合設(shè)計流程的主要組成部分。描述如何驗(yàn)證由邏輯綜合生成的門級網(wǎng)表。描述如何驗(yàn)證由邏輯綜合生成的門級網(wǎng)表。了解編寫高效率了解編寫高效率RTL描述的各
2、種技巧。描述的各種技巧。描述能為邏輯綜合提供最佳門級網(wǎng)表的分割技術(shù)。描述能為邏輯綜合提供最佳門級網(wǎng)表的分割技術(shù)。使用邏輯綜合的方法進(jìn)行組合電路和時序電路的使用邏輯綜合的方法進(jìn)行組合電路和時序電路的設(shè)計。設(shè)計。 第一頁,共63頁。 什么什么(shn me)是邏輯綜合是邏輯綜合邏輯綜合是在標(biāo)準(zhǔn)單元庫和邏輯綜合是在標(biāo)準(zhǔn)單元庫和特定的設(shè)計約束的基礎(chǔ)上,特定的設(shè)計約束的基礎(chǔ)上,把設(shè)計的高層次描述轉(zhuǎn)換成把設(shè)計的高層次描述轉(zhuǎn)換成優(yōu)化的門級網(wǎng)表的過程。優(yōu)化的門級網(wǎng)表的過程。標(biāo)準(zhǔn)單元庫標(biāo)準(zhǔn)單元庫:與門、或門、非門與門、或門、非門(fi mn)等基本邏輯門;加等基本邏輯門;加法器、多路選擇器和特殊的法器、多路選擇
3、器和特殊的觸發(fā)器。觸發(fā)器。設(shè)計約束:時序、面積、可設(shè)計約束:時序、面積、可 測試性和功耗等方面。測試性和功耗等方面。將設(shè)計者的大腦用作邏輯綜合將設(shè)計者的大腦用作邏輯綜合(zngh)工工具具第二頁,共63頁。 什么(shn me)是邏輯綜合計算機(jī)輔助邏輯綜合工具的計算機(jī)輔助邏輯綜合工具的出現(xiàn)把高層次描述向邏輯門出現(xiàn)把高層次描述向邏輯門的轉(zhuǎn)化過程的轉(zhuǎn)化過程(guchng)自動自動化了?;?。該綜合工具在內(nèi)部進(jìn)行幾次該綜合工具在內(nèi)部進(jìn)行幾次反復(fù),生成最優(yōu)化的門級描反復(fù),生成最優(yōu)化的門級描述。述?;净?jbn)的計算機(jī)輔的計算機(jī)輔助邏輯綜合過程助邏輯綜合過程第三頁,共63頁。邏輯綜合對數(shù)字邏輯綜合
4、對數(shù)字(shz)設(shè)計行業(yè)的設(shè)計行業(yè)的影響影響手動設(shè)計的限制:手動設(shè)計的限制:手動轉(zhuǎn)換更容易帶來人為的錯誤。手動轉(zhuǎn)換更容易帶來人為的錯誤。把高層次設(shè)計轉(zhuǎn)換成邏輯門占去整個設(shè)計周期的大部分時間。把高層次設(shè)計轉(zhuǎn)換成邏輯門占去整個設(shè)計周期的大部分時間。推測難以驗(yàn)證。如,設(shè)計者設(shè)計了一個推測難以驗(yàn)證。如,設(shè)計者設(shè)計了一個20 ns時鐘周期工作的時鐘周期工作的門級模塊。如果分析該電路是否能優(yōu)化到以門級模塊。如果分析該電路是否能優(yōu)化到以15 ns。為驗(yàn)證。為驗(yàn)證這種推測,重新設(shè)計。這種推測,重新設(shè)計。不同設(shè)計者設(shè)計風(fēng)格缺乏一致性。不同設(shè)計者設(shè)計風(fēng)格缺乏一致性。最終門級設(shè)計中發(fā)現(xiàn)了一個錯誤,需要重新設(shè)計數(shù)以千
5、計的邏最終門級設(shè)計中發(fā)現(xiàn)了一個錯誤,需要重新設(shè)計數(shù)以千計的邏輯門。輯門。庫單元的時序、面積和功耗是與特定制造工藝庫單元的時序、面積和功耗是與特定制造工藝(gngy)相關(guān)的。相關(guān)的。如果改變?nèi)绻淖僆C制造商,可能意味著重新設(shè)計整個電路,還可能制造商,可能意味著重新設(shè)計整個電路,還可能要改變設(shè)計方法。要改變設(shè)計方法。設(shè)計技術(shù)是不能重用的。設(shè)計是特定于工藝設(shè)計技術(shù)是不能重用的。設(shè)計是特定于工藝(gngy)的,難以的,難以改變,也難以重用。改變,也難以重用。 第四頁,共63頁。自動邏輯綜合工具解決方式:自動邏輯綜合工具解決方式:采用高層次設(shè)計方法,人為錯誤會更少。采用高層次設(shè)計方法,人為錯誤會更少。
6、高層次設(shè)計無需過多高層次設(shè)計無需過多(u du)關(guān)注設(shè)計約束。邏輯綜合工具確保滿關(guān)注設(shè)計約束。邏輯綜合工具確保滿足所有的約束。足所有的約束。從高層次設(shè)計到邏輯門的轉(zhuǎn)換非常迅速。從高層次設(shè)計到邏輯門的轉(zhuǎn)換非常迅速。模塊重新設(shè)計僅需在寄存器傳輸級完成,重新綜合獲得門級網(wǎng)表。模塊重新設(shè)計僅需在寄存器傳輸級完成,重新綜合獲得門級網(wǎng)表。推測容易驗(yàn)證。高層描述不變,只把時序約束從推測容易驗(yàn)證。高層描述不變,只把時序約束從20 ns變到變到15 ns,重新綜合。重新綜合。邏輯綜合工具在整體上優(yōu)化了設(shè)計。邏輯綜合工具在整體上優(yōu)化了設(shè)計。如果發(fā)現(xiàn)門級設(shè)計中有錯誤,設(shè)計者回頭修改高層次描述以消除錯如果發(fā)現(xiàn)門級設(shè)計
7、中有錯誤,設(shè)計者回頭修改高層次描述以消除錯誤。誤。在不考慮在不考慮IC制造工藝的情況下編寫高層次描述。改變工藝或者制造工藝的情況下編寫高層次描述。改變工藝或者IC制制造商,設(shè)計者只需在新工藝的標(biāo)準(zhǔn)單元庫的基礎(chǔ)上使用邏輯綜合,造商,設(shè)計者只需在新工藝的標(biāo)準(zhǔn)單元庫的基礎(chǔ)上使用邏輯綜合,重新綜合到邏輯門。重新綜合到邏輯門。設(shè)計重用變成了可能。設(shè)計重用變成了可能。邏輯綜合對數(shù)字設(shè)計行業(yè)(hngy)的影響第五頁,共63頁。Verilog HDL綜合綜合(zngh)RTL級風(fēng)格級風(fēng)格寄存器傳輸級層次用硬件寄存器傳輸級層次用硬件(yn jin)描述語言(描述語言(HDL)編寫設(shè))編寫設(shè)計計該風(fēng)格的該風(fēng)格的H
8、DL描述采用了數(shù)據(jù)流和行為結(jié)構(gòu)相結(jié)合的方式。描述采用了數(shù)據(jù)流和行為結(jié)構(gòu)相結(jié)合的方式。基于基于RTL的綜合的綜合邏輯綜合工具接受寄存器傳輸級邏輯綜合工具接受寄存器傳輸級HDL描述并把它轉(zhuǎn)化為優(yōu)化的描述并把它轉(zhuǎn)化為優(yōu)化的門級網(wǎng)表。門級網(wǎng)表。用于把行為描述轉(zhuǎn)換成用于把行為描述轉(zhuǎn)換成RTL描述的行為綜合工具發(fā)展緩慢描述的行為綜合工具發(fā)展緩慢第六頁,共63頁??删C合的可綜合的verilog結(jié)構(gòu)如下所示,使用結(jié)構(gòu)如下所示,使用(shyng)時有一定的限時有一定的限制。制。 Verilog結(jié)構(gòu)結(jié)構(gòu)(jigu) Verilog HDL綜合(zngh)第七頁,共63頁。 強(qiáng)制具有周期到周期的行為,避免組合(zh
9、)反饋 邏輯綜合忽略所有由#指定的延遲 用復(fù)位機(jī)制取代initial結(jié)構(gòu),進(jìn)行電路信號初始化中國科學(xué)技術(shù)大學(xué)軟件(run jin)學(xué)院 School of Software Engineering of USTC Verilog HDL綜合(zngh)第八頁,共63頁。 Verilog中幾乎所有的操作符都可用于邏輯綜合。中幾乎所有的操作符都可用于邏輯綜合。 只有只有(zhyu) = 和和 != 這種與這種與x和和z相關(guān)的操作符不能用于相關(guān)的操作符不能用于邏輯綜合。邏輯綜合。 編寫表達(dá)式時,推薦使用圓括號來使邏輯更清晰,達(dá)到預(yù)期編寫表達(dá)式時,推薦使用圓括號來使邏輯更清晰,達(dá)到預(yù)期的目的。的目的。
10、 如果依賴操作符的優(yōu)先級,邏輯綜合工具有可能產(chǎn)生不盡人如果依賴操作符的優(yōu)先級,邏輯綜合工具有可能產(chǎn)生不盡人意的邏輯結(jié)構(gòu)。意的邏輯結(jié)構(gòu)。 Verilog操作符操作符 Verilog HDL綜合(zngh)第九頁,共63頁。部分部分Verilog結(jié)構(gòu)結(jié)構(gòu)(jigu)的解釋的解釋 賦值語句賦值語句 賦值結(jié)構(gòu)是在賦值結(jié)構(gòu)是在RTLRTL級用于描述組合邏輯級用于描述組合邏輯(lu j)(lu j)的最基本的結(jié)構(gòu)。的最基本的結(jié)構(gòu)。 轉(zhuǎn)換成的門級電路實(shí)現(xiàn):轉(zhuǎn)換成的門級電路實(shí)現(xiàn): 如果如果a a,b b,c c和和outout是兩位的向量是兩位的向量1:01:0,上面的賦值語句會,上面的賦值語句會被轉(zhuǎn)換成兩個
11、完全相同的電路,分別對應(yīng)其中一位。被轉(zhuǎn)換成兩個完全相同的電路,分別對應(yīng)其中一位。 第十頁,共63頁。 用到算術(shù)操作符用到算術(shù)操作符 例如設(shè)計一個一位全加器,假設(shè)邏輯綜合工具內(nèi)部有一位全例如設(shè)計一個一位全加器,假設(shè)邏輯綜合工具內(nèi)部有一位全 加器可用,邏輯綜合工具直接調(diào)用內(nèi)部全加器模塊,如果綜加器可用,邏輯綜合工具直接調(diào)用內(nèi)部全加器模塊,如果綜 合多位加法器,會進(jìn)行優(yōu)化,可能得到一個不同的結(jié)果合多位加法器,會進(jìn)行優(yōu)化,可能得到一個不同的結(jié)果(ji gu)(ji gu)。 使用條件操作符(多路選擇器)使用條件操作符(多路選擇器) 綜合后:綜合后:部分(b fen)Verilog結(jié)構(gòu)的解釋第十一頁,共
12、63頁。 if-else語句語句 單個單個if-else語句被轉(zhuǎn)換成多路選擇器,控制信號是語句被轉(zhuǎn)換成多路選擇器,控制信號是if子句中的信子句中的信號或者變量。號或者變量。 多個多個if-else-if語句不會綜合成龐大的多路選擇器。語句不會綜合成龐大的多路選擇器。 case語句語句 case語句用于生成多路選擇器。語句用于生成多路選擇器。 龐大的龐大的case語句可以用來生成龐大的多路選擇器。語句可以用來生成龐大的多路選擇器。 for循環(huán)語句循環(huán)語句 for循環(huán)可用于產(chǎn)生循環(huán)可用于產(chǎn)生(chnshng)級聯(lián)的鏈?zhǔn)浇M合邏輯。級聯(lián)的鏈?zhǔn)浇M合邏輯。 always語句語句 always語句可用于生成
13、時序和組合邏輯。對于時序邏輯來說,語句可用于生成時序和組合邏輯。對于時序邏輯來說,always語句必須由時鐘信號語句必須由時鐘信號clk的變化所控制。的變化所控制。部分Verilog結(jié)構(gòu)(jigu)的解釋第十二頁,共63頁。 例:例: 對于組合邏輯來說,對于組合邏輯來說,always語句語句(yj)必須由必須由clk,reset或者或者preset之外的其他信號觸發(fā)(所有的觸之外的其他信號觸發(fā)(所有的觸發(fā)信號都必須寫在敏感列表中)。發(fā)信號都必須寫在敏感列表中)。 部分(b fen)Verilog結(jié)構(gòu)的解釋第十三頁,共63頁。 函數(shù)語句函數(shù)語句 函數(shù)綜合成具有函數(shù)綜合成具有(jyu)一個輸出變量
14、的組合模塊。輸出變量可一個輸出變量的組合模塊。輸出變量可以是標(biāo)量或者向量。以是標(biāo)量或者向量。 中國科學(xué)技術(shù)大學(xué)(dxu)軟件學(xué)院 School of Software Engineering of USTC 部分Verilog結(jié)構(gòu)(jigu)的解釋第十四頁,共63頁。邏輯綜合邏輯綜合(zngh)流程流程設(shè)計者在高層次使用設(shè)計者在高層次使用(shyng)RTL描述設(shè)計。功能正確后輸描述設(shè)計。功能正確后輸入到邏輯綜合工具入到邏輯綜合工具RTL描述被邏輯綜合工具描述被邏輯綜合工具轉(zhuǎn)換為一個未經(jīng)優(yōu)化的內(nèi)轉(zhuǎn)換為一個未經(jīng)優(yōu)化的內(nèi)部中間表示。部中間表示。不考慮面積不考慮面積(min j)、時序、時序和功耗等
15、設(shè)計約束,僅完和功耗等設(shè)計約束,僅完成簡單的內(nèi)部資源分配。成簡單的內(nèi)部資源分配。邏輯綜合工具根據(jù)內(nèi)部的數(shù)據(jù)邏輯綜合工具根據(jù)內(nèi)部的數(shù)據(jù)結(jié)構(gòu)在內(nèi)部表示設(shè)計。結(jié)構(gòu)在內(nèi)部表示設(shè)計。刪除冗余邏輯,大量使刪除冗余邏輯,大量使用與工藝無關(guān)用與工藝無關(guān)的布爾邏輯優(yōu)化技術(shù),的布爾邏輯優(yōu)化技術(shù),產(chǎn)生該設(shè)計產(chǎn)生該設(shè)計優(yōu)化后的內(nèi)部表示。優(yōu)化后的內(nèi)部表示。 設(shè)計被映射到需設(shè)計被映射到需要的目標(biāo)工藝,要的目標(biāo)工藝,滿足約束要求滿足約束要求 生成由目標(biāo)工藝部件所描述的優(yōu)化后的門生成由目標(biāo)工藝部件所描述的優(yōu)化后的門級網(wǎng)表。如果該網(wǎng)表滿足要求的約束,就級網(wǎng)表。如果該網(wǎng)表滿足要求的約束,就制作最終版圖。否則,修改制作最終版圖。否
16、則,修改RTL描述或約描述或約束束第十五頁,共63頁。工藝庫工藝庫 單元的集合稱為工藝庫。單元的集合稱為工藝庫。 單元描述信息:功能、版圖面積、時序信息、單元描述信息:功能、版圖面積、時序信息、功耗功耗設(shè)計約束設(shè)計約束 設(shè)計約束通常包含下列內(nèi)容:設(shè)計約束通常包含下列內(nèi)容: 1. 時序。電路必須時序。電路必須(bx)滿足一定的時序要求。滿足一定的時序要求。一個內(nèi)部的靜態(tài)時序分析器會檢查時序。一個內(nèi)部的靜態(tài)時序分析器會檢查時序。 2. 面積。最終的版圖面積不能超過一定的限制。面積。最終的版圖面積不能超過一定的限制。 3. 功耗。電路功耗不能超過一定的界限。功耗。電路功耗不能超過一定的界限。 一般來
17、說,面積和時序約束之間有一個相反的一般來說,面積和時序約束之間有一個相反的關(guān)系。關(guān)系。 邏輯綜合(zngh)流程第十六頁,共63頁。設(shè)計說明設(shè)計說明設(shè)計一個具有設(shè)計一個具有(jyu)如下說明的四位數(shù)值比較器如下說明的四位數(shù)值比較器IC芯片:芯片: 設(shè)計名稱是設(shè)計名稱是magnitude_comparator。 輸入輸入A和和B是是4位輸入,輸入端位輸入,輸入端A和和B不會出現(xiàn)不會出現(xiàn)x或者或者z值。值。 如果如果A大于大于B,那么輸出,那么輸出A_gt_B為真。為真。 如果如果A小于小于B,那么輸出,那么輸出A_lt_B為真。為真。 如果如果A等于等于B,那么輸出,那么輸出A_eq_B為真。為
18、真。 數(shù)值比較器電路必須盡可能快,為提高速度,數(shù)值比較器電路必須盡可能快,為提高速度,可以犧牲面積??梢誀奚娣e。 邏輯綜合(zngh)流程第十七頁,共63頁。RTL描述描述(mio sh)工藝庫工藝庫每個單元的功能每個單元的功能(gngnng)、時序、時序、面積和功耗都在工藝面積和功耗都在工藝庫中說明庫中說明邏輯(lu j)綜合流程第十八頁,共63頁。設(shè)計約束設(shè)計約束 只有一個設(shè)計約束:優(yōu)化最終電路只有一個設(shè)計約束:優(yōu)化最終電路(dinl),獲,獲得最快時序得最快時序邏輯綜合邏輯綜合 邏輯綜合工具讀取數(shù)值比較器的邏輯綜合工具讀取數(shù)值比較器的RTL描述。把描述。把針對目標(biāo)工藝針對目標(biāo)工藝abc
19、_100的設(shè)計約束和工藝庫提供的設(shè)計約束和工藝庫提供給邏輯綜合工具。邏輯綜合工具進(jìn)行必要的優(yōu)化,給邏輯綜合工具。邏輯綜合工具進(jìn)行必要的優(yōu)化,并產(chǎn)生針對并產(chǎn)生針對abc_100工藝優(yōu)化后的門級描述。工藝優(yōu)化后的門級描述。最終優(yōu)化后的門級描述最終優(yōu)化后的門級描述 邏輯綜合工具產(chǎn)生最終的門級描述。門級電路邏輯綜合工具產(chǎn)生最終的門級描述。門級電路(dinl)的邏輯圖的邏輯圖 邏輯綜合工具為該電路邏輯綜合工具為該電路(dinl)生成的門級生成的門級Verilog描述。描述。IC制造制造 邏輯綜合(zngh)流程第十九頁,共63頁。門級網(wǎng)表的驗(yàn)證門級網(wǎng)表的驗(yàn)證(ynzhng) 功能驗(yàn)證:功能驗(yàn)證: 最初編
20、寫的最初編寫的RTL模塊和其綜合后的門級模塊用同一個測試激模塊和其綜合后的門級模塊用同一個測試激勵模塊進(jìn)行測試。比較它們的輸出結(jié)果,找出其中的不一致。勵模塊進(jìn)行測試。比較它們的輸出結(jié)果,找出其中的不一致。 對于門級描述,必須有一個由工藝廠商提供的仿真庫支持對于門級描述,必須有一個由工藝廠商提供的仿真庫支持(zhch)。 時序驗(yàn)證:時序驗(yàn)證: 通常使用時序仿真或者靜態(tài)時序驗(yàn)證工具來檢查門級網(wǎng)表的通常使用時序仿真或者靜態(tài)時序驗(yàn)證工具來檢查門級網(wǎng)表的時序。如果違反任何時序約束,設(shè)計者必須重新設(shè)計時序。如果違反任何時序約束,設(shè)計者必須重新設(shè)計RTL模塊模塊或者改變設(shè)計約束。循環(huán)反復(fù),直到滿足時序要求為
21、止?;蛘吒淖冊O(shè)計約束。循環(huán)反復(fù),直到滿足時序要求為止。 第二十頁,共63頁。邏輯綜合建模技巧邏輯綜合建模技巧(jqio):Verilog編碼編碼風(fēng)格風(fēng)格 使用有意義的信號和變量名稱使用有意義的信號和變量名稱 信號和變量的命名應(yīng)具有意義,使代碼自身有清晰的注釋信信號和變量的命名應(yīng)具有意義,使代碼自身有清晰的注釋信息。息。 避免混合使用上升沿和下降沿觸發(fā)的觸發(fā)器避免混合使用上升沿和下降沿觸發(fā)的觸發(fā)器 混合使用上升沿和下降沿觸發(fā)的觸發(fā)器可能在時鐘樹中引入混合使用上升沿和下降沿觸發(fā)的觸發(fā)器可能在時鐘樹中引入反向器和緩沖器。這將在電路中引入時鐘偏斜。反向器和緩沖器。這將在電路中引入時鐘偏斜。 使用基本構(gòu)
22、造模塊與使用連續(xù)賦值語句的對比使用基本構(gòu)造模塊與使用連續(xù)賦值語句的對比 連續(xù)連續(xù)assign語句非常簡潔的表示功能,通常能生成性能語句非常簡潔的表示功能,通常能生成性能很好的隨機(jī)邏輯電路。但最終的邏輯結(jié)構(gòu)不一定對稱。很好的隨機(jī)邏輯電路。但最終的邏輯結(jié)構(gòu)不一定對稱。 調(diào)用基本構(gòu)造模塊可以產(chǎn)生對稱的設(shè)計,且邏輯綜合工調(diào)用基本構(gòu)造模塊可以產(chǎn)生對稱的設(shè)計,且邏輯綜合工具能更高效地優(yōu)化小模塊。但不太簡潔,制約具能更高效地優(yōu)化小模塊。但不太簡潔,制約(zhyu)了針對了針對變化工藝的重定向,并且通常會降低仿真器性能。變化工藝的重定向,并且通常會降低仿真器性能。 第二十一頁,共63頁。 調(diào)用多路選擇器與使用
23、調(diào)用多路選擇器與使用if-else或者或者case語句的對比語句的對比 結(jié)構(gòu)化的實(shí)現(xiàn),最好直接使用多路選擇器,更容易控制,綜結(jié)構(gòu)化的實(shí)現(xiàn),最好直接使用多路選擇器,更容易控制,綜合速度更快,但依賴于工藝,且表達(dá)代碼比較長。合速度更快,但依賴于工藝,且表達(dá)代碼比較長。 if-else和和case常用于建立不依賴工藝的常用于建立不依賴工藝的RTL描述。描述。 使用圓括號優(yōu)化邏輯使用圓括號優(yōu)化邏輯(lu j)結(jié)構(gòu)結(jié)構(gòu) 設(shè)計者可以使用圓括號將邏輯設(shè)計者可以使用圓括號將邏輯(lu j)組合起來,以便于控制組合起來,以便于控制最終的結(jié)構(gòu),也提高了最終的結(jié)構(gòu),也提高了Verilog描述的可讀性。描述的可讀性。
24、 邏輯(lu j)綜合建模技巧:Verilog編碼風(fēng)格 第二十二頁,共63頁。 使用算術(shù)操作符使用算術(shù)操作符*,/和和%與使用現(xiàn)有構(gòu)造模塊的對比與使用現(xiàn)有構(gòu)造模塊的對比 乘、除、取模操作在邏輯和面積上實(shí)現(xiàn)代價高,但不依賴于工乘、除、取模操作在邏輯和面積上實(shí)現(xiàn)代價高,但不依賴于工藝;設(shè)計自定義模塊完成乘、除和取模操作,可能要花費(fèi)大量的藝;設(shè)計自定義模塊完成乘、除和取模操作,可能要花費(fèi)大量的時間,并且時間,并且RTL描述會變得與工藝相關(guān)。描述會變得與工藝相關(guān)。 注意多條賦值語句對同一個變量賦值的情況注意多條賦值語句對同一個變量賦值的情況 多條賦值語句對同一個變量賦值可能導(dǎo)致生成意料之外的電路。多條
25、賦值語句對同一個變量賦值可能導(dǎo)致生成意料之外的電路。前面的賦值可能被忽略,只最后一次賦值起作用。前面的賦值可能被忽略,只最后一次賦值起作用。 顯式地定義顯式地定義if-else或者或者case語句語句 在在if-else或者或者case語句中必須說明各種可能的條件分支,否則語句中必須說明各種可能的條件分支,否則可能產(chǎn)生可能產(chǎn)生(chnshng)電平敏感的鎖存器,而不是多路選擇器。電平敏感的鎖存器,而不是多路選擇器。邏輯綜合建模技巧:Verilog編碼(bin m)風(fēng)格 第二十三頁,共63頁。設(shè)計設(shè)計(shj)劃分劃分 水平劃分水平劃分 使用位劃分方式為邏輯使用位劃分方式為邏輯(lu j)綜合工
26、具提供更小的模塊進(jìn)行優(yōu)綜合工具提供更小的模塊進(jìn)行優(yōu)化,這種方式稱為水平劃分?;?,這種方式稱為水平劃分。 降低了問題的降低了問題的復(fù)雜度,為每復(fù)雜度,為每個模塊產(chǎn)生了個模塊產(chǎn)生了更為更為(n wi)優(yōu)化的結(jié)果。優(yōu)化的結(jié)果。第二十四頁,共63頁。 垂直劃分(編寫的大模塊垂直劃分(編寫的大模塊(m kui)包含多種功能)包含多種功能) 把模塊把模塊(m kui)按功能劃分成更小的子模塊按功能劃分成更小的子模塊(m kui)。 設(shè)計(shj)劃分第二十五頁,共63頁。 并行化設(shè)計結(jié)構(gòu)并行化設(shè)計結(jié)構(gòu) 用更多的資源來生成運(yùn)行速度更快的設(shè)計。用更多的資源來生成運(yùn)行速度更快的設(shè)計。 將順序?qū)㈨樞?shnx)操
27、作轉(zhuǎn)換成并行操作,以提高運(yùn)行速操作轉(zhuǎn)換成并行操作,以提高運(yùn)行速度。度。 超前進(jìn)位加法器超前進(jìn)位加法器 比較比較 脈動進(jìn)位加法器脈動進(jìn)位加法器 設(shè)計(shj)劃分第二十六頁,共63頁。 小結(jié)小結(jié)(xioji) 邏輯綜合:把設(shè)計的高層次描述轉(zhuǎn)換成優(yōu)化的、使用工藝庫中單邏輯綜合:把設(shè)計的高層次描述轉(zhuǎn)換成優(yōu)化的、使用工藝庫中單元描述的門級描述。元描述的門級描述。 并非所有的并非所有的Verilog結(jié)構(gòu)都能被邏輯綜合工具接受。結(jié)構(gòu)都能被邏輯綜合工具接受。 邏輯綜合工具接受邏輯綜合工具接受RTL描述、設(shè)計約束和工藝庫,產(chǎn)生優(yōu)化的門描述、設(shè)計約束和工藝庫,產(chǎn)生優(yōu)化的門級網(wǎng)表。級網(wǎng)表。 翻譯、邏輯優(yōu)化和工藝映
28、射是邏輯綜合工具內(nèi)部的過程翻譯、邏輯優(yōu)化和工藝映射是邏輯綜合工具內(nèi)部的過程(guchng),它們對用戶通常是不可見的。,它們對用戶通常是不可見的。第二十七頁,共63頁。 通過把相同的激勵應(yīng)用到通過把相同的激勵應(yīng)用到RTL描述和門級網(wǎng)表并比較輸出描述和門級網(wǎng)表并比較輸出結(jié)果,驗(yàn)證優(yōu)化后的門級網(wǎng)表的功能。結(jié)果,驗(yàn)證優(yōu)化后的門級網(wǎng)表的功能。 必須使用適當(dāng)?shù)谋仨毷褂眠m當(dāng)?shù)腣erilog編碼技術(shù)編寫高效的編碼技術(shù)編寫高效的RTL模塊。必模塊。必須評估設(shè)計的各種選擇須評估設(shè)計的各種選擇(xunz)方案。方案。 設(shè)計劃分是用于將設(shè)計分割成更小模塊的重要技術(shù)。更小設(shè)計劃分是用于將設(shè)計分割成更小模塊的重要技術(shù)。
29、更小的模塊減少了綜合工具優(yōu)化的復(fù)雜度。的模塊減少了綜合工具優(yōu)化的復(fù)雜度。 精確的設(shè)計約束指定是邏輯綜合的重要組成部分。精確的設(shè)計約束指定是邏輯綜合的重要組成部分。 小結(jié)小結(jié)(xioji) 第二十八頁,共63頁。返回(fnhu)第二十九頁,共63頁。返回(fnhu)第三十頁,共63頁。第三十一頁,共63頁。本章學(xué)習(xí)本章學(xué)習(xí)(xux)目標(biāo)目標(biāo)解釋在解釋在Verilog仿真仿真(fn zhn)中如何使用中如何使用PLI子程子程序。序。定義用戶自定義系統(tǒng)任務(wù)和函數(shù)以及用戶自定義定義用戶自定義系統(tǒng)任務(wù)和函數(shù)以及用戶自定義C子程序。子程序。理解用戶自定義系統(tǒng)任務(wù)的連接和調(diào)用。理解用戶自定義系統(tǒng)任務(wù)的連接和
30、調(diào)用。從概念上解釋在從概念上解釋在Verilog仿真仿真(fn zhn)器內(nèi)部如器內(nèi)部如何表示何表示PLI。區(qū)別并描述怎樣使用兩類區(qū)別并描述怎樣使用兩類PLI庫子程序:庫子程序:access子子程序和程序和utility子程序。子程序。學(xué)習(xí)如何創(chuàng)建用戶自定義系統(tǒng)任務(wù)和函數(shù),并學(xué)習(xí)學(xué)習(xí)如何創(chuàng)建用戶自定義系統(tǒng)任務(wù)和函數(shù),并學(xué)習(xí)如何在仿真如何在仿真(fn zhn)中使用它們。中使用它們。第三十二頁,共63頁。概述概述(i sh) 在設(shè)計時,經(jīng)常會遇到一些特殊情況,需要通過定義自己的系統(tǒng)在設(shè)計時,經(jīng)常會遇到一些特殊情況,需要通過定義自己的系統(tǒng)任務(wù)和函數(shù)才能實(shí)現(xiàn)設(shè)計目標(biāo)。編程語言接口提供了一組接口子任務(wù)
31、和函數(shù)才能實(shí)現(xiàn)設(shè)計目標(biāo)。編程語言接口提供了一組接口子程序,用于訪問程序,用于訪問(fngwn)內(nèi)部的數(shù)據(jù)表示,并可以提取仿真環(huán)境內(nèi)部的數(shù)據(jù)表示,并可以提取仿真環(huán)境信息。信息。 用戶自定義的系統(tǒng)任務(wù)和函數(shù)可以通過這組預(yù)定義的用戶自定義的系統(tǒng)任務(wù)和函數(shù)可以通過這組預(yù)定義的PLI接口子程接口子程序來創(chuàng)建。序來創(chuàng)建。第三十三頁,共63頁。 Verilog PLI的發(fā)展經(jīng)歷了三代。的發(fā)展經(jīng)歷了三代。 1任務(wù)任務(wù)/函數(shù)(函數(shù)(tf_)子程序(又稱實(shí)用子程序)。主要)子程序(又稱實(shí)用子程序)。主要用于:用戶自定義的任務(wù)和函數(shù)、實(shí)用函數(shù)、回調(diào)機(jī)制和用于:用戶自定義的任務(wù)和函數(shù)、實(shí)用函數(shù)、回調(diào)機(jī)制和把數(shù)據(jù)寫到輸
32、出設(shè)備。把數(shù)據(jù)寫到輸出設(shè)備。 2存?。ù嫒。╝cc_)子程序??芍苯樱┳映绦???芍苯?zhji)在在Verilog HDL內(nèi)部數(shù)據(jù)結(jié)構(gòu)中進(jìn)行面向?qū)ο蟮臄?shù)據(jù)存取。這些子程內(nèi)部數(shù)據(jù)結(jié)構(gòu)中進(jìn)行面向?qū)ο蟮臄?shù)據(jù)存取。這些子程序能用于訪問和修改序能用于訪問和修改Verilog HDL描述的多種對象。描述的多種對象。 3Verilog過程接口(過程接口(vpi_)子程序。這些子程序是)子程序。這些子程序是acc_和和tf_子程序功能擴(kuò)展的集合。子程序功能擴(kuò)展的集合。概述概述(i sh)第三十四頁,共63頁。 難以用標(biāo)準(zhǔn)的難以用標(biāo)準(zhǔn)的Verilog結(jié)構(gòu)實(shí)現(xiàn)系統(tǒng)任務(wù)和函數(shù)結(jié)構(gòu)實(shí)現(xiàn)系統(tǒng)任務(wù)和函數(shù):監(jiān)控任務(wù)、監(jiān)控任
33、務(wù)、激勵任務(wù)、調(diào)試任務(wù)和復(fù)雜操作等。激勵任務(wù)、調(diào)試任務(wù)和復(fù)雜操作等。 提取設(shè)計信息,比如層次、互連、扇出等。提取設(shè)計信息,比如層次、互連、扇出等。 編寫專用或自定義的輸出顯示子程序。編寫專用或自定義的輸出顯示子程序。 為仿真提供激勵的子程序也可以用為仿真提供激勵的子程序也可以用PLI編寫。編寫。 普通的基于普通的基于Verilog的應(yīng)用軟件的應(yīng)用軟件,可以與任何可以與任何Verilog仿真器一仿真器一起工作,因?yàn)槠鸸ぷ?,因?yàn)镻LI接口提供了統(tǒng)一接口提供了統(tǒng)一(tngy)的存取方式。的存取方式。概述(i sh)第三十五頁,共63頁。使用使用(shyng)PLI子程序的規(guī)范仿子程序的規(guī)范仿真流程真
34、流程用戶自定義系用戶自定義系統(tǒng)統(tǒng)(xtng)任任務(wù)連接到一個務(wù)連接到一個用戶自定義用戶自定義C子程序子程序以以PLIPLI接口子接口子程序標(biāo)準(zhǔn)程序標(biāo)準(zhǔn)(biozhn)(biozhn)庫的方式實(shí)現(xiàn)庫的方式實(shí)現(xiàn)PLI接口允許用戶:接口允許用戶:讀取讀取/ /修改內(nèi)部數(shù)據(jù)結(jié)修改內(nèi)部數(shù)據(jù)結(jié)構(gòu)、存取仿真環(huán)境構(gòu)、存取仿真環(huán)境第三十六頁,共63頁。PLI任務(wù)任務(wù)(rn wu)的連接和調(diào)用的連接和調(diào)用功能功能: :當(dāng)系統(tǒng)任務(wù)當(dāng)系統(tǒng)任務(wù)$hello_verilog$hello_verilog被調(diào)用時,輸出一條消息被調(diào)用時,輸出一條消息“Hello Verilog World”“Hello Verilog Wor
35、ld”。首先,實(shí)現(xiàn)首先,實(shí)現(xiàn)(shxin)(shxin)該任務(wù)的該任務(wù)的CC子程序必須用子程序必須用PLIPLI庫子程序定庫子程序定義。義。hello_verilog.chello_verilog.c中的子程序中的子程序hello_veriloghello_verilog如下:如下:io_printf是是PLI庫子程序,其功能庫子程序,其功能(gngnng)類似于類似于printf。hello_verilog是用戶自定義是用戶自定義C子程序子程序$hello_verilog是用戶自定義系統(tǒng)任務(wù)是用戶自定義系統(tǒng)任務(wù)第三十七頁,共63頁。 仿真器要連接到仿真器要連接到C子程序子程序hello_ve
36、rilog, 意識到存在意識到存在(cnzi)一個一個名為名為$hello_verilog的新系統(tǒng)任務(wù)。的新系統(tǒng)任務(wù)。 生成一個包含生成一個包含$hello_verilog新系統(tǒng)任務(wù)的特殊的二進(jìn)制可執(zhí)行文新系統(tǒng)任務(wù)的特殊的二進(jìn)制可執(zhí)行文件件,設(shè)文件名為設(shè)文件名為hverilog,這已不是慣用的運(yùn)行仿真器的二進(jìn)制可,這已不是慣用的運(yùn)行仿真器的二進(jìn)制可執(zhí)行文件。仿真時,不要運(yùn)行慣用的仿真器可執(zhí)行文件(如執(zhí)行文件。仿真時,不要運(yùn)行慣用的仿真器可執(zhí)行文件(如Verilog-XL),只需要運(yùn)行),只需要運(yùn)行hverilog就可以。就可以。 用戶自定義任務(wù)被連接到用戶自定義任務(wù)被連接到Verilog仿真器
37、中,可以像任何其他仿真器中,可以像任何其他Verilog系統(tǒng)任務(wù),通過關(guān)鍵字系統(tǒng)任務(wù),通過關(guān)鍵字$hello_verilog來調(diào)用。來調(diào)用。 PLI任務(wù)任務(wù)(rn wu)的連接的連接PLI任務(wù)的連接任務(wù)的連接(linji)和調(diào)用和調(diào)用第三十八頁,共63頁。 hello.v中定義了一個名為中定義了一個名為hello_top的的Verilog模塊模塊(m kui),該模塊該模塊(m kui)調(diào)用了用戶自定義任務(wù)調(diào)用了用戶自定義任務(wù)$hello_verilog: 輸出結(jié)果:輸出結(jié)果: PLI任務(wù)任務(wù)(rn wu)的調(diào)用的調(diào)用PLI任務(wù)的連接任務(wù)的連接(linji)和調(diào)用和調(diào)用第三十九頁,共63頁。P
38、LI任務(wù)任務(wù)(rn wu)的連接和調(diào)用的連接和調(diào)用 添加和調(diào)用添加和調(diào)用(dioyng)PLI任務(wù)的典型流程任務(wù)的典型流程第四十頁,共63頁。PLI內(nèi)部內(nèi)部(nib)數(shù)據(jù)表示數(shù)據(jù)表示1. 每個模塊被看做一組對象類型每個模塊被看做一組對象類型,對象類型是對象類型是Verilog中定義的元中定義的元素,如:素,如:2. 模塊實(shí)例、模塊端口、模塊的端到端路徑以及模塊之間的路模塊實(shí)例、模塊端口、模塊的端到端路徑以及模塊之間的路徑徑3. 頂層模塊頂層模塊4. 原語實(shí)例和原語端口(原語實(shí)例和原語端口(terminal)5. 線網(wǎng)類型(線網(wǎng)類型(net)、寄存器類型()、寄存器類型(register)、參數(shù)
39、類型)、參數(shù)類型(parameter和和 specparam)6. 整型、時間型和實(shí)型變量整型、時間型和實(shí)型變量7. 時序檢查時序檢查8. 名事件名事件 9. 每種對象類型都有一個相應(yīng)集合,包含每種對象類型都有一個相應(yīng)集合,包含(bohn)模塊中所有該模塊中所有該類型的類型的10.對象對象,所有對象類型的集合互連在一起。所有對象類型的集合互連在一起。第四十一頁,共63頁。PLI內(nèi)部內(nèi)部(nib)數(shù)據(jù)表示數(shù)據(jù)表示雙向雙向第四十二頁,共63頁。PLI內(nèi)部內(nèi)部(nib)數(shù)據(jù)表示數(shù)據(jù)表示包括原語實(shí)例、原語實(shí)例端口包括原語實(shí)例、原語實(shí)例端口(terminalterminal)、模塊端口和網(wǎng)絡(luò))、模塊端口
40、和網(wǎng)絡(luò)(wnglu)(wnglu)。其他對象類型在本模塊中沒有出現(xiàn)其他對象類型在本模塊中沒有出現(xiàn) 第四十三頁,共63頁。第四十四頁,共63頁。PLI庫子程序庫子程序1. PLI庫子程序提供了對表示設(shè)計的內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行存取的標(biāo)準(zhǔn)庫子程序提供了對表示設(shè)計的內(nèi)部數(shù)據(jù)結(jié)構(gòu)進(jìn)行存取的標(biāo)準(zhǔn)接口接口,用戶自定義用戶自定義C子程序是用子程序是用PLI庫子程序編寫庫子程序編寫(binxi)的。的。2. PLI庫子程序有兩大類:庫子程序有兩大類:3. 存取子程序存取子程序-提供了對內(nèi)部數(shù)據(jù)結(jié)構(gòu)訪問的接口,它允許用戶提供了對內(nèi)部數(shù)據(jù)結(jié)構(gòu)訪問的接口,它允許用戶的的C子程序遍歷數(shù)據(jù)結(jié)構(gòu)并提取與設(shè)計有關(guān)的信息。子程序遍
41、歷數(shù)據(jù)結(jié)構(gòu)并提取與設(shè)計有關(guān)的信息。4. 5. 實(shí)用子程序?qū)嵱米映绦?主要用于在主要用于在Verilog和編程語言的邊界之間傳送和編程語言的邊界之間傳送數(shù)據(jù)并做一些日常管理維護(hù)工作。數(shù)據(jù)并做一些日常管理維護(hù)工作。 第四十五頁,共63頁。PLI庫子程序庫子程序詳細(xì)參見詳細(xì)參見Verilog HDL數(shù)字設(shè)計數(shù)字設(shè)計(shj)與綜合(第二版)的附錄與綜合(第二版)的附錄B第四十六頁,共63頁。PLI庫子程序庫子程序存取子程序通常也稱為存取子程序通常也稱為acc子程序??梢酝瓿上铝泄ぷ鳎鹤映绦颉?梢酝瓿上铝泄ぷ鳎?1. 從內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有關(guān)項讀取特定對象的信息從內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有關(guān)項讀取特定對象的信息 2
42、. 把特定對象的信息寫入內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有關(guān)項把特定對象的信息寫入內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有關(guān)項可以讀取設(shè)計中的對象的類型:可以讀取設(shè)計中的對象的類型: 1.模塊實(shí)例模塊實(shí)例(shl)、模塊端口、模塊的端到端路徑以及模塊之、模塊端口、模塊的端到端路徑以及模塊之間的路徑間的路徑 2.頂層模塊頂層模塊 3.原語實(shí)例原語實(shí)例(shl)和原語端口和原語端口 4.網(wǎng)絡(luò)類型(網(wǎng)絡(luò)類型(net)、寄存器類型()、寄存器類型(register)、參數(shù)類型)、參數(shù)類型(parameter和和specparam)、整型、時間型和實(shí)型變量)、整型、時間型和實(shí)型變量 5.時序檢查時序檢查 6.命名事件命名事件 存取子程序存取子程
43、序第四十七頁,共63頁。PLI庫子程序庫子程序 存取子程序的特征存取子程序的特征 存取子程序總是以前綴存取子程序總是以前綴acc_開頭。開頭。 使用存取子程序的用戶使用存取子程序的用戶(yngh)自定義自定義C子程序必子程序必須調(diào)用子程序須調(diào)用子程序acc_initialize( ),以初始化環(huán)境。退出時,以初始化環(huán)境。退出時,用戶用戶(yngh)自定義子程序必須調(diào)用自定義子程序必須調(diào)用acc_close( )。 如果一個文件中用到存取子程序,那么必須包含頭如果一個文件中用到存取子程序,那么必須包含頭文件文件acc_user.h。所有存取子程序的數(shù)據(jù)類型和常量都預(yù)。所有存取子程序的數(shù)據(jù)類型和常
44、量都預(yù)定義在文件定義在文件acc_user.h中。中。 存取子程序使用句柄的概念來訪問對象。對象句柄存取子程序使用句柄的概念來訪問對象。對象句柄標(biāo)識符由關(guān)鍵字標(biāo)識符由關(guān)鍵字handle聲明。聲明。第四十八頁,共63頁。PLI庫子程序庫子程序 存取子程序的分類存取子程序的分類 句柄子程序。返回句柄給設(shè)計中對象,名字以前綴句柄子程序。返回句柄給設(shè)計中對象,名字以前綴acc_handle_開頭。開頭。 后繼子程序。返回句柄給設(shè)計中特定類型對象集合中的下一個對后繼子程序。返回句柄給設(shè)計中特定類型對象集合中的下一個對象。以前綴象。以前綴acc_next_開頭,以引用的對象作為參數(shù)。開頭,以引用的對象作為
45、參數(shù)。 值變鏈接(值變鏈接(VCL)子程序。從監(jiān)視對象值變化的對象列表中添加)子程序。從監(jiān)視對象值變化的對象列表中添加和刪除對象。以前綴和刪除對象。以前綴acc_vcl_開頭,沒有返回值。開頭,沒有返回值。 取值(取值(fetch)子程序。提取各種對象信息,比如完整的層次)子程序。提取各種對象信息,比如完整的層次(cngc)路徑名、相對名以及其他屬性信息。以前綴路徑名、相對名以及其他屬性信息。以前綴acc_fetch_開開頭。頭。 實(shí)用存取子程序。執(zhí)行與存取子程序相關(guān)的雜項操作。如,實(shí)用存取子程序。執(zhí)行與存取子程序相關(guān)的雜項操作。如,acc_initialize( )和和acc_close(
46、)都是實(shí)用子程序。都是實(shí)用子程序。 修改子程序。修改內(nèi)部數(shù)據(jù)結(jié)構(gòu)。可參考修改子程序。修改內(nèi)部數(shù)據(jù)結(jié)構(gòu)。可參考IEEE Standard Verilog Hardware Description Language文檔。文檔。第四十九頁,共63頁。PLI庫子程序庫子程序 存取子程序例存取子程序例1:獲取:獲取(huq)模塊端口列表模塊端口列表 功能描述:寫一個用戶自定義系統(tǒng)任務(wù)功能描述:寫一個用戶自定義系統(tǒng)任務(wù)$get_ports 尋找模塊中的所有尋找模塊中的所有input,output和和inout端口的完整層次名稱;端口的完整層次名稱;計算計算input,output和和inout端口的數(shù)目。
47、端口的數(shù)目。 這個用戶自定義系統(tǒng)任務(wù)在這個用戶自定義系統(tǒng)任務(wù)在Verilog中以中以$get_ports (“”)的形式調(diào)用。的形式調(diào)用。 文件文件get_ports.c的用戶自定義的用戶自定義C子程序子程序get_ports:第五十頁,共63頁。第五十一頁,共63頁。PLI庫子程序庫子程序頂層頂層(dn cn)模塊:模塊:仿真輸出:仿真輸出:第五十二頁,共63頁。PLI庫子程序庫子程序 實(shí)用子程序?qū)嵱米映绦驅(qū)嵱米映绦虻奶卣鲗?shí)用子程序的特征 1. 實(shí)用子程序總是以前綴實(shí)用子程序總是以前綴tf_開頭。開頭。 2. 文件使用實(shí)用子程序,必須包含頭文件文件使用實(shí)用子程序,必須包含頭文件veriuse
48、r.h。實(shí)用子程序的類型實(shí)用子程序的類型 1. 獲取獲取Verilog系統(tǒng)調(diào)用任務(wù)的信息系統(tǒng)調(diào)用任務(wù)的信息 2. 獲取參數(shù)列表信息獲取參數(shù)列表信息 3. 獲取參數(shù)值獲取參數(shù)值 4. 把參數(shù)新值回傳給調(diào)用它的系統(tǒng)任務(wù)把參數(shù)新值回傳給調(diào)用它的系統(tǒng)任務(wù) 5. 監(jiān)視參數(shù)值的改變監(jiān)視參數(shù)值的改變 6. 獲取仿真時間和被調(diào)度事件的信息獲取仿真時間和被調(diào)度事件的信息 7. 執(zhí)行日常執(zhí)行日常(rchng)管理維護(hù)任務(wù),例如保存工作區(qū),管理維護(hù)任務(wù),例如保存工作區(qū),保存任務(wù)指針保存任務(wù)指針 8. 執(zhí)行執(zhí)行l(wèi)ong類型的算術(shù)運(yùn)算類型的算術(shù)運(yùn)算 9. 顯示信息顯示信息 10. 掛起、終止、保存和恢復(fù)仿真掛起、終止、
49、保存和恢復(fù)仿真 第五十三頁,共63頁。PLI庫子程序庫子程序 實(shí)用子程序舉例實(shí)用子程序舉例 功能描述:定義自己的系統(tǒng)功能描述:定義自己的系統(tǒng)(xtng)任務(wù)任務(wù)$my_stop_finish,根據(jù),根據(jù)不同的參數(shù)值,分別完成掛起和終止兩項任務(wù),如下表所示。不同的參數(shù)值,分別完成掛起和終止兩項任務(wù),如下表所示。 第五十四頁,共63頁。PLI庫子程序庫子程序1. 程序源碼:見書程序源碼:見書Verilog HDL數(shù)字設(shè)計與綜合(第二數(shù)字設(shè)計與綜合(第二版)版)P197-P1982. 頂層模塊:頂層模塊:3. 仿真仿真(fn zhn)輸出:輸出:第五十五頁,共63頁。實(shí)例實(shí)例(shl)(計數(shù)器)(計數(shù)器)第五十六頁,共63頁。第五十七頁,共63頁。第五十八頁,共63頁。models
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025最詳細(xì)工程裝修合同
- 2024年度水產(chǎn)養(yǎng)殖綠色產(chǎn)品認(rèn)證與銷售合作合同6篇
- 2024年度高速公路隧道土石方工程補(bǔ)充合同3篇
- 2024年社保權(quán)利放棄協(xié)議書(員工版)3篇
- 商丘職業(yè)技術(shù)學(xué)院《CPA財務(wù)成本管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度生態(tài)修復(fù)項目樹木買賣合同3篇
- 網(wǎng)絡(luò)店鋪招商合同范例
- 電氣供銷合同范例
- 汕頭大學(xué)《生物醫(yī)用與仿生材料》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西職業(yè)技術(shù)學(xué)院《數(shù)字?jǐn)z像》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年中儲糧集團(tuán)招聘筆試參考題庫附帶答案詳解
- (2024年)保安培訓(xùn)圖文課件
- 《數(shù)字圖像處理》題庫1(選擇題、填空題、判斷題)試題+答案
- 智能網(wǎng)聯(lián)車路云協(xié)同系統(tǒng)架構(gòu)與關(guān)鍵技術(shù)研究綜述
- 2023流域超標(biāo)準(zhǔn)洪水防御預(yù)案編制導(dǎo)則
- 統(tǒng)編版語文八年級下冊全冊大單元整體教學(xué)設(shè)計表格式教案
- 蒙牛學(xué)生奶培訓(xùn)課件
- 檢驗(yàn)原始記錄培訓(xùn)課件
- 少先隊小提案
- 小學(xué)一年級上冊數(shù)學(xué)口算訓(xùn)練題
- 隧道工程工程施工風(fēng)險辨識清單
評論
0/150
提交評論