EDA技術(shù)與Verilog_HDL(潘松)第四章課后習(xí)題答案_第1頁(yè)
EDA技術(shù)與Verilog_HDL(潘松)第四章課后習(xí)題答案_第2頁(yè)
EDA技術(shù)與Verilog_HDL(潘松)第四章課后習(xí)題答案_第3頁(yè)
EDA技術(shù)與Verilog_HDL(潘松)第四章課后習(xí)題答案_第4頁(yè)
EDA技術(shù)與Verilog_HDL(潘松)第四章課后習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 第第4章章 Verilog HDL設(shè)計(jì)初步設(shè)計(jì)初步 習(xí)習(xí) 題題 4-1 舉例說(shuō)明,舉例說(shuō)明,Verilog HDL的操作符中,哪些操作符的運(yùn)算結(jié)果總是一位的。的操作符中,哪些操作符的運(yùn)算結(jié)果總是一位的。答:答: P74/74/80/924-2 wire型變量與型變量與reg型變量有什么本質(zhì)區(qū)別,它們可用于什么類型語(yǔ)句中?型變量有什么本質(zhì)區(qū)別,它們可用于什么類型語(yǔ)句中?答:書(shū)上答:書(shū)上P2612629.2 Verilog HDL數(shù)據(jù)類型數(shù)據(jù)類型reg主要是用于定義特定類型的變量,即寄存器型主要是用于定義特定類型的變量,即寄存器型(Register)變量變量(或稱寄存器型數(shù)據(jù)類的或稱寄存器型數(shù)據(jù)

2、類的變量變量)。如果沒(méi)有在模塊中顯式地定義信號(hào)為網(wǎng)線型變量,。如果沒(méi)有在模塊中顯式地定義信號(hào)為網(wǎng)線型變量,Verilog綜合器都會(huì)將其默認(rèn)定綜合器都會(huì)將其默認(rèn)定義為義為wire型。過(guò)程語(yǔ)句型。過(guò)程語(yǔ)句always引導(dǎo)的順序語(yǔ)句中規(guī)定必須是引導(dǎo)的順序語(yǔ)句中規(guī)定必須是reg型變量。型變量。wire型變量不允許有多個(gè)驅(qū)動(dòng)源型變量不允許有多個(gè)驅(qū)動(dòng)源 習(xí)習(xí) 題題 4-3 4-3 阻塞賦值和非阻塞賦值有何區(qū)別?阻塞賦值和非阻塞賦值有何區(qū)別?答:答:VerilogVerilog中,用普通等號(hào)中,用普通等號(hào)“=”=”作為阻塞式賦值語(yǔ)句的賦值符號(hào),如作為阻塞式賦值語(yǔ)句的賦值符號(hào),如y=by=b。 Verilog

3、Verilog中,用普通等號(hào)中,用普通等號(hào)“=”=”作為非阻塞式賦值語(yǔ)句的賦值符號(hào),如作為非阻塞式賦值語(yǔ)句的賦值符號(hào),如y=by=b。 阻塞式賦值的特點(diǎn)是,一旦執(zhí)行完當(dāng)前的賦值語(yǔ)句,賦值目標(biāo)變量阻塞式賦值的特點(diǎn)是,一旦執(zhí)行完當(dāng)前的賦值語(yǔ)句,賦值目標(biāo)變量y y即刻即刻獲得來(lái)自等號(hào)右側(cè)表達(dá)式的計(jì)算值。如果在一個(gè)塊語(yǔ)句中含有多條阻塞式賦值獲得來(lái)自等號(hào)右側(cè)表達(dá)式的計(jì)算值。如果在一個(gè)塊語(yǔ)句中含有多條阻塞式賦值語(yǔ)句,則當(dāng)執(zhí)行到其中某條賦值語(yǔ)句時(shí),其他語(yǔ)句將禁止執(zhí)行,即如同被阻塞語(yǔ)句,則當(dāng)執(zhí)行到其中某條賦值語(yǔ)句時(shí),其他語(yǔ)句將禁止執(zhí)行,即如同被阻塞了一樣。了一樣。 非阻塞式賦值的特點(diǎn)是必須在塊語(yǔ)句執(zhí)行結(jié)束時(shí)才

4、整體完成賦值操作。非非阻塞式賦值的特點(diǎn)是必須在塊語(yǔ)句執(zhí)行結(jié)束時(shí)才整體完成賦值操作。非阻塞的含義可以理解為在執(zhí)行當(dāng)前語(yǔ)句時(shí),對(duì)于塊中的其他語(yǔ)句的執(zhí)行情況一阻塞的含義可以理解為在執(zhí)行當(dāng)前語(yǔ)句時(shí),對(duì)于塊中的其他語(yǔ)句的執(zhí)行情況一律不加限制,不加阻塞。這也可以理解為,在律不加限制,不加阻塞。這也可以理解為,在begin_endbegin_end塊中的所有賦值語(yǔ)句都?jí)K中的所有賦值語(yǔ)句都可以并行運(yùn)行??梢圆⑿羞\(yùn)行。 4-4 舉例說(shuō)明,為什么使用條件敘述不完整的條件句能導(dǎo)致產(chǎn)生時(shí)序模塊的綜合結(jié)果?舉例說(shuō)明,為什么使用條件敘述不完整的條件句能導(dǎo)致產(chǎn)生時(shí)序模塊的綜合結(jié)果?答:答: 當(dāng)CLK發(fā)生了電平變化,但是從1

5、變到0。這時(shí)無(wú)論D是否變化,都將啟動(dòng)過(guò)程去執(zhí)行if語(yǔ)句;但此時(shí)CLK=0,無(wú)法執(zhí)行if語(yǔ)句,從而無(wú)法執(zhí)行賦值語(yǔ)句Q=D,于是Q只能保持原值不變(這就意味著需要在設(shè)計(jì)模塊中引入存儲(chǔ)元件)。 當(dāng)CLK沒(méi)有發(fā)生任何變化,且CLK一直為0,而敏感信號(hào)D發(fā)生了變化。這時(shí)也能啟動(dòng)過(guò)程,但由于CLK=0,無(wú)法執(zhí)行if語(yǔ)句,從而也就無(wú)法執(zhí)行賦值語(yǔ)句Q=D,導(dǎo)致Q只能保持原值(這也意味著需要在設(shè)計(jì)模塊中引入存儲(chǔ)元件)。 在以上兩種情況中,由于if語(yǔ)句不滿足條件,于是將跳過(guò)賦值表達(dá)式Q=D,不執(zhí)行此賦值表達(dá)式而結(jié)束if語(yǔ)句和過(guò)程對(duì)于這種語(yǔ)言現(xiàn)象,Velilog綜合器解釋為,對(duì)于不滿足條件,跳過(guò)賦值語(yǔ)句Q=D不予執(zhí)

6、行,即意味著保持Q的原值不變(保持前一次滿足if條件時(shí)Q被更新的值)。對(duì)于數(shù)字電路來(lái)說(shuō),當(dāng)輸入改變后試圖保持一個(gè)值不變,就意味著使用具有存儲(chǔ)功能的元件,就是必須引進(jìn)時(shí)序元件來(lái)保存Q中的原值,直到滿足if語(yǔ)句的判斷條件后才能更新Q中的值,于是便產(chǎn)生了時(shí)序元件。 module LATCH1 (CLK, D, Q); output Q; input CLK, D; reg Q; always (D or CLK) if(CLK)Q=D; /當(dāng)CLK=1時(shí)D被鎖入Qendmodule 4-5 用用Verilog設(shè)計(jì)一個(gè)設(shè)計(jì)一個(gè)3-8譯碼器,要求分別用譯碼器,要求分別用case語(yǔ)句和語(yǔ)句和if_else

7、語(yǔ)句。比語(yǔ)句。比較這兩種方式。較這兩種方式。 4-5 用用Verilog設(shè)計(jì)一個(gè)設(shè)計(jì)一個(gè)3-8譯碼器,要求分別用譯碼器,要求分別用case語(yǔ)句和語(yǔ)句和if_else語(yǔ)句。比較這兩種語(yǔ)句。比較這兩種方式。方式。module decoder3_8 ( G1 ,Y ,G2 ,A ,G3 );input G1, G2, G3;wire G1, G2, G3;input 2:0 A ;wire 2:0 A ;output 7:0 Y ;reg 7:0 Y ;reg s;always ( A ,G1, G2, G3) begin s = G2 | G3 ; if (G1 = 0) Y = 8b1111_1

8、111; else if (s) Y = 8b1111_1111; else case ( A ) 3b000: Y = 8b11111110; 3b001: Y = 8b11111101; 3b010: Y = 8b11111011; 3b011: Y = 8b11110111; 3b100: Y = 8b11101111; 3b101: Y = 8b11011111; 3b110: Y = 8b10111111; 3b111: Y = 8b01111111; default:Y = 8bxxxxxxxx; endcase end endmodule 4-5 用用Verilog設(shè)計(jì)一個(gè)設(shè)計(jì)一

9、個(gè)3-8譯碼器,要求分別用譯碼器,要求分別用case語(yǔ)句和語(yǔ)句和if_else語(yǔ)句。比較這兩種語(yǔ)句。比較這兩種方式。方式。module decoder3_8 ( G1 ,Y ,G2 ,A ,G3 ); input G1, G2, G3; wire G1, G2, G3; input 2:0 A ; wire 2:0 A ; output 7:0 Y ; reg 7:0 Y ; reg s; always ( A ,G1, G2, G3) begin s = G2 | G3 ; if (G1 = 0) Y = 8b1111_1111; else if (s) Y = 8b1111_1111; e

10、lse begin if (A=3b000)Y=8b11111110; else if (A=3b001)Y=8b11111101; else if (A=3b010)Y=8b11111011; else if (A=3b011)Y=8b11110111; else if (A=3b100)Y=8b11101111; else if (A=3b101)Y=8b11011111; else if (A=3b110)Y=8b10111111; else if (A=3b111)Y=8b01111111; else Y=8bxxxxxxxx;end endendmodule/測(cè)試文件,測(cè)試文件,?部

11、分請(qǐng)根據(jù)被測(cè)試的文件修改部分請(qǐng)根據(jù)被測(cè)試的文件修改module stimulus; reg 2:0A ; wire7:0Y ; reg G1 ,G2 ,G3; decoder3_8 DUT ( G1 ,Y ,G2 ,A ,G3 ); initial begin $monitor($time,A=%d,G1=%b,G2=%b, G3=%b,Y= %dn,A, G1, G2, G3, Y); endinitial begin G1=1 ;G2=1 ;G3=1;A=0; #10 G2=0;G1=0; #10 G2=0;G1=1;#10 G2=1;G1=0;G3=0; #10 G1=0;G1=1;G3

12、=1; #10 G1=0;G1=0;G3=0; #10 G1=1;G2=0;G3=0; #50 A= 0; #50 A= 1; #50 A= 2; #50 A= 3; #50 A= 4; #50 A= 5; #50 A= 6; #50 A= 7; #50 $finish; endendmodule習(xí)習(xí) 題題 4-6圖圖4-26所示的是雙所示的是雙2選選1多路選擇器構(gòu)成的電路多路選擇器構(gòu)成的電路MUXK。對(duì)于其中。對(duì)于其中MUX21A,當(dāng),當(dāng)s=0和和s=1時(shí),分別有時(shí),分別有y=a和和y=b。試在一個(gè)模塊結(jié)構(gòu)中用兩個(gè)過(guò)程來(lái)表達(dá)此電路。試在一個(gè)模塊結(jié)構(gòu)中用兩個(gè)過(guò)程來(lái)表達(dá)此電路。答:參考實(shí)驗(yàn)答:參

13、考實(shí)驗(yàn)1圖圖4-26 含含2選選1多路選擇器的模塊多路選擇器的模塊module MUXK (a1, a2, a3, s0, s1, outy); input a1, a2, a3, s0, s1; output outy; wire outy; wire tmp; mux21a u1 (.a(a2),.b(a3),.s(s0),.y(tmp); mux21a u2 (.a (a1),.b (tmp),.s(s1),.y(outy);endmodule習(xí)習(xí) 題題 4-7 4-7 給出給出1 1位全減器的位全減器的VHDLVHDL描述。要求:描述。要求:(1 1)首先設(shè)計(jì))首先設(shè)計(jì)1 1位半減器,

14、然后用例化語(yǔ)句將它們連接起來(lái),圖位半減器,然后用例化語(yǔ)句將它們連接起來(lái),圖4-284-28中中h_suberh_suber是半減器,是半減器,diffdiff是輸出差,是輸出差,s_outs_out是借位輸出,是借位輸出,sub_insub_in是借位輸入。是借位輸入。(2 2)根據(jù)圖)根據(jù)圖4-274-27設(shè)計(jì)設(shè)計(jì)1 1位全減器。位全減器。(3 3)以)以1 1位全減器為基本硬件,構(gòu)成串行借位的位全減器為基本硬件,構(gòu)成串行借位的8 8位減法器,要求用例化語(yǔ)句來(lái)位減法器,要求用例化語(yǔ)句來(lái)完成此項(xiàng)設(shè)計(jì)。完成此項(xiàng)設(shè)計(jì)。 圖圖4-27 1位全減器位全減器x xy ydiffdiffs_outs_ou

15、t0000011110101100/一個(gè)二進(jìn)制半減器半減器設(shè)計(jì)進(jìn)行了闡述module h_suber(x,y,diff,s_out);input x,y;outputdiff, s_out;assign diff=xy;assign s_out=(x)&y;endmodule module f_suber(x,y,sub_in,diffr,sub_out);/一個(gè)二進(jìn)制全減器全減器頂層設(shè)計(jì)進(jìn)行了闡述 output diffr,sub_out; input x,y,sub_in; wire e,d,f; h_suber u1(x,y,e,d);/ h_suber u2(.x(e),.diff(d

16、iffr),.y(sub_in),.s_out(f);/ or2a u3(.a(d),.b(f),.c(sub_out); endmodule xysub_indiffr sub_out0000000111010110110110010101001100011111x x為被減數(shù),為被減數(shù),y y為減數(shù),為減數(shù), sub_insub_in為為低位的借低位的借位,位, diffdiffr r為差,為差,susub_outb_out為向?yàn)橄蚋呶坏慕韪呶坏慕栉?。位。?xí)習(xí) 題題 習(xí)習(xí) 題題4-8 給出一個(gè)給出一個(gè)4選選1多路選擇器的多路選擇器的Verilog描述。此器件與圖描述。此器件與圖4-1類似,

17、但選通控制端有類似,但選通控制端有4個(gè)輸入:個(gè)輸入:S0、S1、S2、S3。當(dāng)且僅當(dāng)。當(dāng)且僅當(dāng)S0=0時(shí):時(shí):Y=A;S1=0時(shí):時(shí):Y=B;S2=0時(shí):時(shí):Y=C;S3=0時(shí):時(shí):Y=D。module MUX41a (A,B,C,D,S0,S1,S2,S3,Y); output Y; /定義定義Y為輸出信號(hào)為輸出信號(hào) input A, B, C, D; input S0,S1,S2,S3; reg Y; /定義輸出端口信號(hào)定義輸出端口信號(hào)Y為寄存器型變量為寄存器型變量 always (A,B,C,S0,S1,S2,S3 )begin /塊語(yǔ)句起始?jí)K語(yǔ)句起始 if (S0=0)Y=A; /當(dāng)當(dāng)

18、S0 =0成立,即成立,即(S0 =0)=1時(shí),時(shí),Y=A; else if (S1=0)Y=B; /當(dāng)當(dāng)(S1 =1)為真,則為真,則Y=B; else if (S2=0)Y=C; /當(dāng)當(dāng)(S2 =2)為真,則為真,則Y=C; else if (S3=0) Y=D; /當(dāng)當(dāng)(S3 =3)為真,即為真,即Y=D; end /塊語(yǔ)句結(jié)束塊語(yǔ)句結(jié)束endmodule4-9 把例把例4-21改成一異步清改成一異步清0,同步時(shí)鐘使能和異步數(shù)據(jù)加載型,同步時(shí)鐘使能和異步數(shù)據(jù)加載型8位二進(jìn)制加位二進(jìn)制加法計(jì)數(shù)器。法計(jì)數(shù)器?!纠?-21】含有異步清0同步時(shí)鐘使能和同步數(shù)據(jù)加載功能的十進(jìn)制計(jì)數(shù)器module

19、CNT10(CLK, RST, EN,LOAD,COUT,DOUT,DATA);input CLK, RST, EN,LOAD; /時(shí)鐘,時(shí)鐘使能,復(fù)位,數(shù)據(jù)加載控制信號(hào)輸入口input 3:0DATA; /4位并行加載數(shù)據(jù)輸入口output 3:0 DOUT; /計(jì)數(shù)數(shù)據(jù)輸出信號(hào)口output COUT; /計(jì)數(shù)進(jìn)位輸出reg COUT; reg3:0 Q1;assign DOUT=Q1; /將內(nèi)部寄存器的計(jì)數(shù)結(jié)果輸出至DOUTalways (posedge CLK or negedge RST ) /時(shí)序過(guò)程 beginif(!RST)Q1=0; /RST=0時(shí),對(duì)內(nèi)部寄存器單元異步清0

20、/當(dāng)LOAD=0,異步向內(nèi)部寄存器加載數(shù)據(jù) /同步使能EN=1,則允許加載或計(jì)數(shù) /當(dāng)Q1小于9時(shí),允許累加 /否則一個(gè)時(shí)鐘后清0返回初值end endalways (Q1) /組合電路之過(guò)程if(Q1=4h9)COUT=1b1; /當(dāng)Q1=1001時(shí),COUT輸出進(jìn)位標(biāo)志1else COUT=1b0; /否則,輸出進(jìn)位標(biāo)志0endmodule 習(xí)習(xí) 題題 4-10 4-10 分頻方法有多種,最簡(jiǎn)單的是二分頻和偶數(shù)分頻甚至奇數(shù)分頻方法有多種,最簡(jiǎn)單的是二分頻和偶數(shù)分頻甚至奇數(shù)分頻,這用觸發(fā)器或指定計(jì)數(shù)模的計(jì)數(shù)器即可辦到。但對(duì)于現(xiàn)場(chǎng)實(shí)分頻,這用觸發(fā)器或指定計(jì)數(shù)模的計(jì)數(shù)器即可辦到。但對(duì)于現(xiàn)場(chǎng)實(shí)現(xiàn)指

21、定分頻比或小數(shù)分頻率的分頻電路的設(shè)計(jì)就不是很簡(jiǎn)單了?,F(xiàn)指定分頻比或小數(shù)分頻率的分頻電路的設(shè)計(jì)就不是很簡(jiǎn)單了。 試對(duì)習(xí)題試對(duì)習(xí)題4-94-9的設(shè)計(jì)稍作修改,將其進(jìn)位輸出的設(shè)計(jì)稍作修改,將其進(jìn)位輸出COUTCOUT與異步加載控與異步加載控制制LOADLOAD連在一起,構(gòu)成一個(gè)自動(dòng)加載型連在一起,構(gòu)成一個(gè)自動(dòng)加載型1616位二進(jìn)制數(shù)計(jì)數(shù)器,也即位二進(jìn)制數(shù)計(jì)數(shù)器,也即一個(gè)一個(gè)1616位可控的分頻器,給出其位可控的分頻器,給出其VerilogVerilog表述,并說(shuō)明工作原理。表述,并說(shuō)明工作原理。設(shè)輸入頻率設(shè)輸入頻率fi=4MHzfi=4MHz,輸出頻率,輸出頻率fo=516.5fo=516.51Hz

22、1Hz(允許誤差(允許誤差0.1Hz0.1Hz),),1616位加載數(shù)值位加載數(shù)值= =?。?。( () )module CNT10(CLK,RST,EN,COUT,DOUT,DATA);module CNT10(CLK,RST,EN,COUT,DOUT,DATA);input CLK,RST,EN; input CLK,RST,EN; /時(shí)鐘,時(shí)鐘使能,復(fù)位,數(shù)據(jù)加載控制信號(hào)輸入口input3:0DATA; input3:0DATA; / 4位并行加載數(shù)據(jù)輸入口output3:0DOUT; output3:0DOUT; /計(jì)數(shù)數(shù)據(jù)輸出信號(hào)口output COUT; output COUT;

23、/計(jì)數(shù)進(jìn)位輸出reg FULL; reg FULL; wire LD ; wire LD ; reg3:0 Q1;reg3:0 Q1;always (posedge CLK or posedge LD or negedge RST) always (posedge CLK or posedge LD or negedge RST) /時(shí)序過(guò)程 beginbegin if(!RST)begin Q1=0;FULL=0;end if(!RST)begin Q1=0;FULL=0;end else if(LD) begin Q1=DATA;FULL=1;end else if(LD) begin Q

24、1=DATA;FULL=1;end else if(EN)begin Q1=Q1+1;FULL=0;end else if(EN)begin Q1=Q1+1;FULL=0;end end endassign LD=(Q1=4B0000); assign LD=(Q1=4B0000); assign DOUT=Q1; assign DOUT=Q1; /將內(nèi)部寄存器的計(jì)數(shù)結(jié)果輸出至DOUTassign COUT=FULL; assign COUT=FULL; /輸出進(jìn)位標(biāo)志0endmodule endmodule module CNT16(CLK,RST,EN,COUT,DOUT,DATA);mo

25、dule CNT16(CLK,RST,EN,COUT,DOUT,DATA);input CLK,RST,EN; input CLK,RST,EN; /時(shí)鐘,時(shí)鐘使能,復(fù)位,數(shù)據(jù)加載控制信號(hào)輸入口input15:0DATA; input15:0DATA; / 4位并行加載數(shù)據(jù)輸入口output15:0DOUT; output15:0DOUT; /計(jì)數(shù)數(shù)據(jù)輸出信號(hào)口output COUT; output COUT; /計(jì)數(shù)進(jìn)位輸出reg FULL; reg FULL; wire LD ; wire LD ; reg15:0 Q1;reg15:0 Q1;always (posedge CLK or

26、posedge LD or negedge RST) always (posedge CLK or posedge LD or negedge RST) /時(shí)序過(guò)程 beginbegin if(!RST)begin Q1=0;FULL=0;end if(!RST)begin Q1=0;FULL=0;end else if(LD) begin Q1=DATA;FULL=1;end else if(LD) begin Q1=DATA;FULL=1;end else if(EN)begin Q1=Q1+1;FULL=0;end else if(EN)begin Q1=Q1+1;FULL=0;end

27、end endassign LD=(Q1=assign LD=(Q1=16d0); assign DOUT=Q1; assign DOUT=Q1; /將內(nèi)部寄存器的計(jì)數(shù)結(jié)果輸出至DOUTassign COUT=FULL; assign COUT=FULL; /輸出進(jìn)位標(biāo)志0endmodule endmodule 4-11 用用Verilog設(shè)計(jì)一個(gè)功能類似設(shè)計(jì)一個(gè)功能類似74LS160的計(jì)數(shù)器。的計(jì)數(shù)器。同步十進(jìn)制同步十進(jìn)制計(jì)數(shù)器計(jì)數(shù)器74LS160TC 進(jìn)位輸出端 CP 時(shí)鐘輸入端(上升沿有效)CEP 計(jì)數(shù)控制端 /MR異步清除輸入端(低電平有效)Q0Q3 輸出端 /PE同步并行置入控制端(

28、低電平有效)CET 計(jì)數(shù)控制端 P0P3數(shù)據(jù)輸入端功能表:功能表:說(shuō)明:H高電平 L低電平 X任意 module CNT10(CP, MR, CET, CEP , PE, TC, Q, P); output 3:0 Q; /計(jì)數(shù)數(shù)據(jù)輸出端 output TC; /TC進(jìn)位輸出端 input CP,MR,CET,PE,CEP; /時(shí)鐘,復(fù)位,時(shí)鐘使能,數(shù)據(jù)加載控制信號(hào)輸入口 input 3:0 P; /4位并行加載數(shù)據(jù)輸入口 reg3:0 Q;reg TC,s s; always(posedge CP or negedge MR ) /CP 時(shí)鐘輸入端(上升沿有效) begin s=s=CET&

29、 &CEP; if(!MR)begin Q=0; end /MR 異步清除輸入端(低電平有效) else begin if(!PE)begin Q=P;end /PE 同步并行置入控制端(低電平有效) else if(s) begin Q=Q+1; if(Q = 4b1111)begin TC=1; end else begin TC=0; end end else begin Q=Q;end end end endmodule 4-11 用用Verilog設(shè)計(jì)一個(gè)功能類似設(shè)計(jì)一個(gè)功能類似74LS160的計(jì)數(shù)器。的計(jì)數(shù)器。同步十進(jìn)制同步十進(jìn)制計(jì)數(shù)器計(jì)數(shù)器74LS1604-11 用用Verilo

30、g設(shè)計(jì)一個(gè)功能類似設(shè)計(jì)一個(gè)功能類似74LS160的計(jì)數(shù)器。的計(jì)數(shù)器。module stimulus;reg CP,MR,CET,CEP;reg 3:0P;/,Qreg PE;wire3:0 Q;wire TC;CNT10 r1(CP, MR, CET, CEP , PE, TC, Q, P);initialCP=1b0; /?CP?0always#5 CP=CP;/?5?initialbeginCET=1b0;MR=1b1;PE=1b1;P=4d0;CEP=1b0;#5 P=4d5; #5 CET=1b1;CEP=1b1;#10 MR=1b0;#10 MR=1b1;#30 P=4d7;#5 P

31、E=1b0;#5 PE=1b1;#50 PE=1b0;#3 PE=1b1;#20 P=4d9;#100 PE=1b0;#10 PE=1b0;#10 PE=1b1;#20 P=4d4;#20 $finish;endinitial$monitor($time, CP=%b, MR=%b, CET=%b,CEP=%b,PE=%b,TC=%b,Q=%d,P =%d, CP, MR, CET,CEP,PE,TC,Q,P);endmodule習(xí)習(xí) 題題 4-12 給出含有異步清零和計(jì)數(shù)使能的給出含有異步清零和計(jì)數(shù)使能的16位二進(jìn)制加減可控計(jì)數(shù)器的位二進(jìn)制加減可控計(jì)數(shù)器的Verilog HDL描述。描述。m

32、odule updowncnt16_v(q,cout, d, load, ena, clk,clr, up_down); input 15:0 d; input load, ena, clk, clrc, up_down; output 15:0 q; output cout; reg 15:0 q; always (posedge clk or negedge clr ) begin if(!clr) q=16h00 ; /異步清零異步清零,低電平有效 else if(ena) begin /計(jì)數(shù)使能端,高電平有效 if(!load)q=d; /同步置數(shù),高電平有效 if(up_down)q

33、=q+1 ; /up_down=1時(shí),加計(jì)數(shù) else q=q-1; end /up_down=0時(shí),減計(jì)數(shù) end assign cout=up_down?&q:|q ; / 或者 endmodule 4-13 分別給出以下分別給出以下6個(gè)個(gè)RTL圖的圖的Verilog描述,注意其中的描述,注意其中的D觸發(fā)器和鎖存器的表觸發(fā)器和鎖存器的表述。述。 圖圖4-28 RTL圖圖1圖圖4-29 RTL圖圖2圖圖4-30 RTL圖圖3圖圖4-31 RTL圖圖4圖圖4-32 RTL圖圖5圖圖4-33 RTL圖圖64-13 4-13 分別給出以下分別給出以下6 6個(gè)個(gè)RTLRTL圖的圖的VerilogVe

34、rilog描述,注意其中的描述,注意其中的D D觸發(fā)器和鎖存器的表述。觸發(fā)器和鎖存器的表述。module RTL1 (CLK, CL, OUT); output OUT; input CLK, CL; reg Q; wire D; /*用assign連續(xù)賦值語(yǔ)句不可以*/ assign OUT=Q; assign D=(Q|CL); /*用門級(jí)電路可以*/ /not(OUT,Q); /nor(D,Q,CL); always (posedge CLK) Q=D;endmodule圖圖4-28 RTL圖圖1DENAQPRECLRDQOUTCLKCL4-13 4-13 分別給出以下分別給出以下6 6

35、個(gè)個(gè)RTLRTL圖的圖的VerilogVerilog描述,注描述,注意其中的意其中的D D觸發(fā)器和鎖存器的表述。觸發(fā)器和鎖存器的表述。圖圖4-29 RTL圖圖2module RTL2(A, B, C, D,Y); output Y; input A, B, C, D; wire TP1,TP2; reg Y; /or(TP1,A,B); /*用門級(jí)電路可以*/ /and(TP2,C,D); assign TP1=A|B; /*用assign連續(xù)賦值語(yǔ)句也可以*/ assign TP2=C&D; always (TP1,TP2,A) begin if(TP1=1)Y=TP1TP2; else Y=A; end endmodule01TP1TP2Y0Y1YDCBA4-13 4-13 分別給出以下分別給出以下6 6個(gè)個(gè)RTLRTL圖的圖的VerilogVerilog描述,注描述,注意其中的意其中的D D觸發(fā)器和鎖存器的表述。觸發(fā)器和鎖存器的表述。圖圖4-30

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論