版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第六講verilog的可綜合性邏輯綜合Verilog的邏輯綜合Verilog的可綜合風(fēng)格6.1邏輯綜合邏輯綜合l 邏輯綜合邏輯綜合: :在標(biāo)準(zhǔn)單元庫和特定的設(shè)計(jì)約束的基礎(chǔ)上,把設(shè)在標(biāo)準(zhǔn)單元庫和特定的設(shè)計(jì)約束的基礎(chǔ)上,把設(shè)計(jì)的計(jì)的高層次描述轉(zhuǎn)換成優(yōu)化的門級(jí)網(wǎng)表的高層次描述轉(zhuǎn)換成優(yōu)化的門級(jí)網(wǎng)表的過程。過程。l標(biāo)準(zhǔn)單元庫可以包含簡(jiǎn)單的單元,例如與門、或門和或非門標(biāo)準(zhǔn)單元庫可以包含簡(jiǎn)單的單元,例如與門、或門和或非門等基本邏輯門,也可以包含宏單元,例如加法器、多路選擇器等基本邏輯門,也可以包含宏單元,例如加法器、多路選擇器和特殊的觸發(fā)器。和特殊的觸發(fā)器。l 計(jì)算機(jī)輔助邏輯綜合計(jì)算機(jī)輔助邏輯綜合工具的出現(xiàn)
2、已經(jīng)把高層次描述向邏輯門工具的出現(xiàn)已經(jīng)把高層次描述向邏輯門的轉(zhuǎn)化過程自動(dòng)化了。設(shè)計(jì)者現(xiàn)在可以把精力集中在體系結(jié)構(gòu)的轉(zhuǎn)化過程自動(dòng)化了。設(shè)計(jì)者現(xiàn)在可以把精力集中在體系結(jié)構(gòu)的方案、設(shè)計(jì)的硬件語言描述上,由綜合工具在內(nèi)部進(jìn)行幾次的方案、設(shè)計(jì)的硬件語言描述上,由綜合工具在內(nèi)部進(jìn)行幾次反復(fù),生成優(yōu)化的門級(jí)描述。反復(fù),生成優(yōu)化的門級(jí)描述。l 自動(dòng)化的邏輯綜合自動(dòng)化的邏輯綜合已經(jīng)非常有效地減少了高層次設(shè)計(jì)到門級(jí)已經(jīng)非常有效地減少了高層次設(shè)計(jì)到門級(jí)網(wǎng)表的轉(zhuǎn)化時(shí)間。它使設(shè)計(jì)者可以把更多的時(shí)間用于更高層次網(wǎng)表的轉(zhuǎn)化時(shí)間。它使設(shè)計(jì)者可以把更多的時(shí)間用于更高層次的描述上,因?yàn)榘言O(shè)計(jì)轉(zhuǎn)換到門級(jí)網(wǎng)表所需的時(shí)間大大減少了。的
3、描述上,因?yàn)榘言O(shè)計(jì)轉(zhuǎn)換到門級(jí)網(wǎng)表所需的時(shí)間大大減少了。l 寄存器傳輸級(jí)寄存器傳輸級(jí)(RTL)(RTL)層次用硬件描述語言層次用硬件描述語言verilogverilog編寫編寫設(shè)計(jì)。設(shè)計(jì)。l術(shù)語術(shù)語RTLRTL用于表示用于表示HDLHDL的一種風(fēng)格,該風(fēng)格的描述采用的一種風(fēng)格,該風(fēng)格的描述采用了了數(shù)據(jù)流和行為結(jié)構(gòu)相結(jié)合數(shù)據(jù)流和行為結(jié)構(gòu)相結(jié)合的方式。的方式。l邏輯綜合工具接受邏輯綜合工具接受RTLRTL級(jí)描述并把它轉(zhuǎn)化為優(yōu)化的門級(jí)級(jí)描述并把它轉(zhuǎn)化為優(yōu)化的門級(jí)網(wǎng)表。網(wǎng)表。lVerilogVerilog和和VHDLVHDL是兩種最流行的是兩種最流行的RTLRTL描述語言描述語言 6.2Verilog
4、HDL綜合綜合結(jié)構(gòu)類型結(jié)構(gòu)類型關(guān)鍵字或描述注釋關(guān)鍵字或描述注釋端口端口參數(shù)參數(shù)模塊定義模塊定義信號(hào)和變量信號(hào)和變量調(diào)用(實(shí)例引用)調(diào)用(實(shí)例引用)函數(shù)和任務(wù)函數(shù)和任務(wù)過程過程過程塊過程塊數(shù)據(jù)流數(shù)據(jù)流循環(huán)循環(huán)input, inout, outputparametermodulewire , reg , tri 允許使用向量表示允許使用向量表示模塊調(diào)用和門級(jí)原語調(diào)用模塊調(diào)用和門級(jí)原語調(diào)用 function, task 不考慮時(shí)序結(jié)構(gòu)不考慮時(shí)序結(jié)構(gòu)always, if, else, case,casex, casez 不支持不支持initialbegin, end, named blocks, di
5、sableassign 不考慮延遲信息不考慮延遲信息for , while, forever while和和forever循環(huán)必循環(huán)必 須須包括包括(posedge clock)或或(negedge clock)支持綜合的支持綜合的Verilog結(jié)構(gòu)類型結(jié)構(gòu)類型l邏輯綜合工具并不能處理隨意編寫的邏輯綜合工具并不能處理隨意編寫的verilog結(jié)構(gòu)描述:通常,結(jié)構(gòu)描述:通常,周周期期到到周期周期的任何的任何RTL verilog結(jié)構(gòu)描述都能為邏輯綜合工具所接受。結(jié)構(gòu)描述都能為邏輯綜合工具所接受。一、一、verilog結(jié)構(gòu)類型結(jié)構(gòu)類型l只有周期到周期只有周期到周期的任何的任何RTL verilogR
6、TL verilog結(jié)構(gòu)描述都能結(jié)構(gòu)描述都能為邏輯綜合工具所接受。例為邏輯綜合工具所接受。例whilewhile和和foreverforever語句必須語句必須由由(posedge(posedge clock) clock)或或(negedge(negedge clock) clock)終止循環(huán),終止循環(huán),使其具有強(qiáng)制性的周期到周期的描述。使其具有強(qiáng)制性的周期到周期的描述。l結(jié)構(gòu)指定的延遲將被忽略結(jié)構(gòu)指定的延遲將被忽略l不支持不支持initialinitial語句,必須用復(fù)位機(jī)制來代替。語句,必須用復(fù)位機(jī)制來代替。l要明確指定信號(hào)和變量的寬度。要明確指定信號(hào)和變量的寬度。否則,綜合后的可否則,
7、綜合后的可能會(huì)產(chǎn)生大量的門級(jí)網(wǎng)表能會(huì)產(chǎn)生大量的門級(jí)網(wǎng)表注意事項(xiàng):注意事項(xiàng):二、操作符二、操作符l幾乎所有的操作符都可以綜合。幾乎所有的操作符都可以綜合。l和!與和!與x x和和z z有關(guān)的操作符不可綜合有關(guān)的操作符不可綜合l寫表達(dá)式時(shí),要用寫表達(dá)式時(shí),要用圓括號(hào)使邏輯關(guān)系明確圓括號(hào)使邏輯關(guān)系明確,最好不要依賴運(yùn)算的優(yōu)先級(jí),最好不要依賴運(yùn)算的優(yōu)先級(jí)操作符類型操作符類型符號(hào)符號(hào)連接及復(fù)制操作符連接及復(fù)制操作符一元操作符一元操作符算術(shù)操作符算術(shù)操作符邏輯移位操作符邏輯移位操作符關(guān)系操作符關(guān)系操作符相等操作符相等操作符按位操作符按位操作符邏輯操作符邏輯操作符條件操作符條件操作符 ! & | +
8、 - * % = = = != & | &|?:三三、部分、部分verilog結(jié)構(gòu)的綜合結(jié)構(gòu)的綜合賦值語句賦值語句assignl賦值語句綜合為賦值語句綜合為組合邏輯電路組合邏輯電路un1_outoutcbaoutassign out= (a & b) | c;l綜合為以下門級(jí)電路綜合為以下門級(jí)電路XOR2XOR2OR2AND2c_inbac_outsumassign c_out,sum=a + b + c_in;OR2AND2d1d0soutassign out= (s) ? d1 : d0;if-else語句語句OR2AND2d1d0soutmodule compif
9、 (out, d0, d1, s); input d0, d1, s; output out; reg out; always ( s or d0 or d1) if (s) out = d1; else out = d0;endmodule單條的單條的if-else語句語句綜合為一個(gè)二選綜合為一個(gè)二選1數(shù)數(shù)據(jù)選擇器據(jù)選擇器module compif (a, b, c, d, e); input a, b, c, d; output e; reg e; always ( a or b or c or d) if (a & b) e = d; else if (a & b) e
10、= c; else if ( a & b) e = 1b0; else if ( a & b) e = 1b1;endmoduleOR2m3AND2m3_b_0AND2m2AND2m1m3_b.Oedcba 定義了所有可能的選項(xiàng)的定義了所有可能的選項(xiàng)的ifelse嵌套語句,綜合結(jié)嵌套語句,綜合結(jié)果是受條件控制的純組合邏輯電路。果是受條件控制的純組合邏輯電路。module increment (phy, ones,z);input phy;input 1:0 ones;output 1:0 z;reg 1:0 z;always (phy or ones)if (phy)z = o
11、nes +1;endmodule 不給出所有不給出所有if分支值,則綜合出的結(jié)果會(huì)帶有分支值,則綜合出的結(jié)果會(huì)帶有鎖存器,變?yōu)闀r(shí)序邏輯電路鎖存器,變?yōu)闀r(shí)序邏輯電路。AND2z_ld00AND2z_ld10AND2z_ld01AND2z_ld11XOR2z_1_1.SUM1_0_x2z_1_.QRSz_0_.QRSz1:01:0ones1:01:0phy00001101101Q0D1000Q0D0XOR2z_1.SUM1_0_x2XOR2z_1.SUM0_0_x2OR2z_1.CO1_0_o2z_1.N_6_i_i.Oz1:01:0ones1:01:0phy10001else z = ones;
12、case語句語句 case語句綜合為語句綜合為數(shù)據(jù)選擇器數(shù)據(jù)選擇器,一般用于設(shè)計(jì)龐大的,一般用于設(shè)計(jì)龐大的數(shù)據(jù)選擇器數(shù)據(jù)選擇器。OR2z_7_0AND2z_7_0_b_0OR2z_6_0AND2z_6_0_b_0OR2z_5_0AND2z_5_0_b_0OR2z_4_0AND2z_4_0_b_0OR2z_3_0AND2z_3_0_b_0OR2z_2_0AND2z_2_0_b_0OR2z_1_0AND2z_1_0_b_0z_5_0_b.Oz_4_0_b.Oz_2_0_b.Oz_1_0_b.Oz_3_0_b.Oz_6_0_b.Oz_7_0_b.Ozd7d6d5d4d3d2d1d0s2:02:001
13、221222222110module increment (s, d0,d1,d2,d3,d4,d5,d6,d7,z);input 2:0 s;input d0,d1,d2,d3,d4,d5,d6,d7;output z;reg z;always (*)case (s)3b000: z = d0;3b001: z = d1;3b010: z = d2;3b011: z = d3;3b100: z = d4;3b101: z = d5;3b110: z = d6;3b111: z = d7;endcaseendmoduleAND2z_ld0AND2z_ld1OR2z_1_4_0_i_m2AND2
14、z_1_4_0_i_m2_b_0OR2z_1_3_0_i_m2AND2z_1_3_0_i_m2_b_0OR2z_1_2_0_i_m2AND2z_1_2_0_i_m2_b_0OR2z_1_1_0_i_m2AND2z_1_1_0_i_m2_b_0AND2un1_s_6_i_a2OR2z_1_5_0AND2z_1_5_0_b_0z.QRSz_1_5_0_b.Oz_1_4_0_i_m2_b.Oz_1_2_0_i_m2_b.Oz_1_3_0_i_m2_b.Oz_1_1_0_i_m2_b.Ozd5d4d3d2d1d0s2:02:021211200Q0D02211module increment (s, d
15、0,d1,d2,d3,d4,d5,d6,d7,z);input 2:0 s;input d0,d1,d2,d3,d4,d5,d6,d7;output z;reg z;always (*)case (s)3b000: z = d0;3b001: z = d1;3b010: z = d2;3b011: z = d3;3b100: z = d4;3b101: z = d5;endcaseendmodule 與與if語句類似,語句類似,如果如果沒有給出所有分支的值,沒有給出所有分支的值,則綜合后會(huì)出現(xiàn)鎖存器則綜合后會(huì)出現(xiàn)鎖存器。 casez和和casex與與case類似,只是條件的判斷類似,只是條件的
16、判斷不同。不同。sum_11:0+un19_sum1:0+un40_sum1:0+un61_sum1:0+un82_sum1:0+un103_sum1:0+un124_sum1:0+un145_sum1:0+c_inb7:07:0a7:07:0c_out1sum7:00000000001:0011:01121:02131:03141:04151:05161:06171:071for語句語句module increment (sum, c_out,a,b,c_in);input 7:0 a,b;output 7:0 sum;input c_in;output c_out;reg 7:0 sum;
17、reg c_out;reg c;integer i;always (a or b or c_in)beginc = c_in;for (i=0;i=7;i=i+1)c,sumi=ai+bi+c;c_out =c;endendmodulefor循環(huán)語句綜合產(chǎn)循環(huán)語句綜合產(chǎn)生級(jí)聯(lián)的鏈?zhǔn)浇M合生級(jí)聯(lián)的鏈?zhǔn)浇M合邏輯電路邏輯電路XOR2sum_1_1.SUM0XOR2un145_sum_1.m2OR2un145_sum_1.m3AND2un145_sum_1.m3_b_0XOR2un124_sum_1.m2OR2un124_sum_1.m3AND2un124_sum_1.m3_b_0XOR2un103_s
18、um_1.m2OR2un103_sum_1.m3AND2un103_sum_1.m3_b_0XOR2un82_sum_1.m2OR2un82_sum_1.m3AND2un82_sum_1.m3_b_0XOR2un61_sum_1.m2OR2un61_sum_1.m3AND2un61_sum_1.m3_b_0XOR2un40_sum_1.m2OR2un40_sum_1.m3AND2un40_sum_1.m3_b_0OR2un19_sum_1.m3AND2un19_sum_1.m3_b_0OR2sum_1_1.m3AND2sum_1_1.m3_b_0XOR2sum_1_1.SUM0_0XOR2un
19、19_sum_1.SUM0_0XOR2un40_sum_1.SUM0_0XOR2un61_sum_1.SUM0_0XOR2un82_sum_1.SUM0_0XOR2un103_sum_1.SUM0_0XOR2un124_sum_1.SUM0_0XOR2un145_sum_1.SUM0_0XOR2un145_sum_1.SUM0XOR2un124_sum_1.SUM0XOR2un103_sum_1.SUM0XOR2un82_sum_1.SUM0XOR2un61_sum_1.SUM0XOR2un40_sum_1.SUM0XOR2un19_sum_1.SUM0sum_1_1.m3_b.Oun19_s
20、um_1.m3_b.Oun40_sum_1.m3_b.Oun61_sum_1.m3_b.Oun82_sum_1.m3_b.Oun103_sum_1.m3_b.Oun124_sum_1.m3_b.Oun145_sum_1.m3_b.Oc_inb7:07:0a7:07:0c_outsum7:00776655443322100122334455667711234567always語句語句 alwaysalways語句可用于生成時(shí)序和組合邏輯。對(duì)于語句可用于生成時(shí)序和組合邏輯。對(duì)于時(shí)序邏輯時(shí)序邏輯來說,來說,alwaysalways語句必須由時(shí)鐘信號(hào)語句必須由時(shí)鐘信號(hào)clkclk的變化所控制。的變化所
21、控制。q.QclkdqQDmodule increment (q, d,clk);input d,clk;output q;reg q;always ( posedge clk)q = d;endmodulemodule increment (q, d,clk,rst);input d,clk,rst;output q;reg q;always ( posedge rst or negedge clk)if (!rst)q = d;elseq =0;endmoduleq.QRrstclkdqQD 帶異步復(fù)位端的帶異步復(fù)位端的D D觸發(fā)器。觸發(fā)器。阻塞或非阻塞阻塞或非阻塞使用的賦值類型依賴于所描
22、述的邏輯類型:使用的賦值類型依賴于所描述的邏輯類型: 在時(shí)序塊在時(shí)序塊RTLRTL代碼中使用非阻塞賦值代碼中使用非阻塞賦值 非阻塞賦值保存值直到時(shí)間片段的結(jié)束,從而避非阻塞賦值保存值直到時(shí)間片段的結(jié)束,從而避免仿真時(shí)的競(jìng)爭(zhēng)情況或結(jié)果的不確定性免仿真時(shí)的競(jìng)爭(zhēng)情況或結(jié)果的不確定性 在組合的在組合的RTLRTL代碼中使用阻塞賦值代碼中使用阻塞賦值 阻塞賦值立即執(zhí)行阻塞賦值立即執(zhí)行阻塞、非阻塞對(duì)比阻塞、非阻塞對(duì)比非阻塞賦值語句非阻塞賦值語句并行執(zhí)行并行執(zhí)行,因此臨時(shí)變量不可避免地在一個(gè)周期中,因此臨時(shí)變量不可避免地在一個(gè)周期中被賦值,在下一個(gè)周期中被采樣。被賦值,在下一個(gè)周期中被采樣。 module
23、bloc (clk, a, b); input clk, a; output b; reg y; reg b; always ( posedge clk) begin y =a; b =y; endendmodulemodule nonbloc (clk, a, b); input clk, a; output b; reg y; reg b; always ( posedge clk) begin y = a; b = y; endendmodule使用阻塞賦值,此描述綜合使用阻塞賦值,此描述綜合出一個(gè)出一個(gè)D flip-flop:使用非阻塞賦值,此描述將使用非阻塞賦值,此描述將綜合出兩個(gè)綜
24、合出兩個(gè)D Flip-flop。b.QbaclkQDy.Qb.QbaclkQDQD函數(shù)和任務(wù)函數(shù)和任務(wù)module orand (out, a, b, c, d, e); input a, b, c, d, e; output out; wire out; assign out = forand (a, b, c, d, e); function forand; input a, b, c, d, e; if (e = 1) forand = (a| b) & (c| d); else forand = 0; endfunctionendmodule 函數(shù)沒有時(shí)序控制,因此綜合結(jié)果為組
25、合邏輯。函數(shù)沒有時(shí)序控制,因此綜合結(jié)果為組合邏輯。函數(shù)可以在過程塊內(nèi)或持續(xù)賦值語句中調(diào)用。函數(shù)可以在過程塊內(nèi)或持續(xù)賦值語句中調(diào)用。下例中的下例中的or/andor/and塊由持續(xù)賦值語句調(diào)用函數(shù)實(shí)現(xiàn)塊由持續(xù)賦值語句調(diào)用函數(shù)實(shí)現(xiàn) AND2out_0AND2outOR2forand_0.un2_forandOR2forand_0.un1_forandedcbaout任務(wù)任務(wù)module orandtask (out, a, b, c, d, e); input a, b, c, d, e; output out; reg out; always ( a or b or c or d or e) o
26、rand (out, a, b, c, d, e); task orand; output out; input a, b, c, d, e; if (e = 1) out = (a| b) & (c| d); else out = 0; endtaskendmodule任務(wù)一般只在測(cè)試基準(zhǔn)使用,因?yàn)椋喝蝿?wù)一般只在測(cè)試基準(zhǔn)使用,因?yàn)椋?沒有時(shí)序控制的任務(wù)如同函數(shù)沒有時(shí)序控制的任務(wù)如同函數(shù) 帶有時(shí)序控制的任務(wù)不可綜合帶有時(shí)序控制的任務(wù)不可綜合下面是用任務(wù)描述的下面是用任務(wù)描述的or/and塊:塊:AND2out_0AND2outOR2orand_0.un2_outOR2orand_0.u
27、n1_outedcbaout復(fù)位復(fù)位復(fù)位是可綜合編碼風(fēng)格的重要環(huán)節(jié)。狀態(tài)機(jī)中一般都有復(fù)位。復(fù)位是可綜合編碼風(fēng)格的重要環(huán)節(jié)。狀態(tài)機(jī)中一般都有復(fù)位。module sync( q, ck, r, d); input ck, d, r; output q; reg q; always ( negedge ck) if (r) q = 0; else q = d;endmodulemodule async( q, ck, r, d); input ck, d, r; output q; reg q; always ( negedge ck or posedge r) if (r) q = 0; else
28、 q = d;endmodule同步復(fù)位同步復(fù)位同步塊的異步復(fù)位同步塊的異步復(fù)位同步復(fù)位描述:同步復(fù)位描述:在同步塊內(nèi),當(dāng)復(fù)位信號(hào)有效時(shí),進(jìn)行復(fù)位操作;當(dāng)復(fù)位信號(hào)無在同步塊內(nèi),當(dāng)復(fù)位信號(hào)有效時(shí),進(jìn)行復(fù)位操作;當(dāng)復(fù)位信號(hào)無效時(shí),執(zhí)行該塊的同步行為。如果將復(fù)位信號(hào)作為條件語句的條件,且在第一個(gè)效時(shí),執(zhí)行該塊的同步行為。如果將復(fù)位信號(hào)作為條件語句的條件,且在第一個(gè)分支中進(jìn)行復(fù)位,綜合工具可以更容易的識(shí)別復(fù)位信號(hào)。分支中進(jìn)行復(fù)位,綜合工具可以更容易的識(shí)別復(fù)位信號(hào)。異步復(fù)位:異步復(fù)位:在同步塊的敏感表中包含復(fù)位信號(hào)的激活邊沿。在塊內(nèi),復(fù)位描述方在同步塊的敏感表中包含復(fù)位信號(hào)的激活邊沿。在塊內(nèi),復(fù)位描述方
29、式與同步方式相同式與同步方式相同。qdrckqQDRq.Qq_0.OdrckqQD同步復(fù)位同步復(fù)位qRdrckqQDq.QRdrckqQD同步塊的異步復(fù)位同步塊的異步復(fù)位6.3 verilog可綜合設(shè)計(jì) 設(shè)計(jì)者使用的設(shè)計(jì)者使用的verilogverilog設(shè)計(jì)風(fēng)格會(huì)影響邏輯綜合最終產(chǎn)設(shè)計(jì)風(fēng)格會(huì)影響邏輯綜合最終產(chǎn)生的門級(jí)網(wǎng)表。根據(jù)描述風(fēng)格的不同,邏輯綜合可能產(chǎn)生生的門級(jí)網(wǎng)表。根據(jù)描述風(fēng)格的不同,邏輯綜合可能產(chǎn)生高效率或者低效率的門級(jí)網(wǎng)表。因此,設(shè)計(jì)者必須清楚高高效率或者低效率的門級(jí)網(wǎng)表。因此,設(shè)計(jì)者必須清楚高效率電路的描述技巧,本節(jié)討論建模方案的技巧以及編寫效率電路的描述技巧,本節(jié)討論建模方案的
30、技巧以及編寫出高效率、可綜合的出高效率、可綜合的verilogverilog模塊方法。模塊方法。 verilogverilog描述的風(fēng)格對(duì)最終設(shè)計(jì)有很大的影響。就邏輯綜合描述的風(fēng)格對(duì)最終設(shè)計(jì)有很大的影響。就邏輯綜合而言,重要的是考慮實(shí)際的硬件實(shí)現(xiàn)問題:而言,重要的是考慮實(shí)際的硬件實(shí)現(xiàn)問題:在不犧牲高抽象在不犧牲高抽象層次優(yōu)勢(shì)的情況下,層次優(yōu)勢(shì)的情況下,RTLRTL描述應(yīng)該盡可能地接近預(yù)期的結(jié)構(gòu)描述應(yīng)該盡可能地接近預(yù)期的結(jié)構(gòu)。在設(shè)計(jì)抽象層次和控制邏輯綜合輸出結(jié)構(gòu)之間存在一個(gè)折中。在設(shè)計(jì)抽象層次和控制邏輯綜合輸出結(jié)構(gòu)之間存在一個(gè)折中。下面列出的是班下面列出的是班RTLRTL設(shè)計(jì)中設(shè)計(jì)者應(yīng)該考慮的一
31、些設(shè)計(jì)原則。設(shè)計(jì)中設(shè)計(jì)者應(yīng)該考慮的一些設(shè)計(jì)原則。一、一、 verilogverilog編碼風(fēng)格編碼風(fēng)格1.1.當(dāng)為時(shí)序邏輯建模,使用當(dāng)為時(shí)序邏輯建模,使用“非阻塞賦值非阻塞賦值”。2.2.當(dāng)用當(dāng)用alwaysalways塊為組合邏輯建模,使用塊為組合邏輯建模,使用“阻塞賦值阻塞賦值”3.3.當(dāng)在同一個(gè)當(dāng)在同一個(gè)alwaysalways塊里面既為組合邏輯又為時(shí)序邏輯建模,塊里面既為組合邏輯又為時(shí)序邏輯建模,使用使用“非阻塞賦值非阻塞賦值”。4.4.不要在同一個(gè)不要在同一個(gè)alwaysalways塊里面混合使用塊里面混合使用“阻塞賦值阻塞賦值”和和“非非阻塞賦值阻塞賦值”。5.5.不要在兩個(gè)或兩個(gè)以上不要在兩個(gè)或兩個(gè)以上alwaysalways塊里面對(duì)同一個(gè)塊里面對(duì)同一個(gè)變量變量進(jìn)行賦進(jìn)行賦值。值。6.6.在在VERILOGVERILOG語法中,語法中, if.else if . elseif.else if . else 語句是有優(yōu)先語句是有優(yōu)先級(jí)的,一般說來第一個(gè)級(jí)的,一般說來第一個(gè)ifif的優(yōu)先級(jí)最高,最后一個(gè)的優(yōu)先級(jí)最高,最后一個(gè)elseelse的優(yōu)的優(yōu)先級(jí)最低。先級(jí)最低。 而而casecase語句是語句是“平行平行”的結(jié)構(gòu)的結(jié)構(gòu),所有的,所有的casecase的的條件和執(zhí)行都沒有條件和執(zhí)行都沒有“優(yōu)先級(jí)優(yōu)先級(jí)”
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑安裝工程節(jié)能評(píng)估合同模板2篇
- 二零二五年機(jī)關(guān)單位勞動(dòng)合同續(xù)簽與解約操作指南3篇
- 二零二五版海洋工程船舶維修保險(xiǎn)合同3篇
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)借款合同范本:助力教育產(chǎn)業(yè)發(fā)展3篇
- 二零二五年紅提葡萄品牌推廣與銷售代理合同3篇
- 二零二五版股權(quán)投資合作終止后的股權(quán)轉(zhuǎn)讓合同2篇
- 二零二五版保育員家庭服務(wù)與職業(yè)發(fā)展合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)勞動(dòng)保障監(jiān)察與管理規(guī)范合同3篇
- 二零二五版地下管廊鋼筋施工分包合同范本3篇
- 二零二五年海上貨物運(yùn)輸保險(xiǎn)合同與貨物索賠快速處理協(xié)議3篇
- 奶茶督導(dǎo)述職報(bào)告
- 山東萊陽核電項(xiàng)目一期工程水土保持方案
- 白熊效應(yīng)(修訂版)
- 小學(xué)數(shù)學(xué)知識(shí)結(jié)構(gòu)化教學(xué)
- 視頻監(jiān)控維保項(xiàng)目投標(biāo)方案(技術(shù)標(biāo))
- 社會(huì)組織能力建設(shè)培訓(xùn)
- 立項(xiàng)報(bào)告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請(qǐng)范本
- 主變壓器試驗(yàn)報(bào)告模板
- 安全防護(hù)通道施工方案
評(píng)論
0/150
提交評(píng)論