




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、上機作業(yè)題目2:簡述begin-end語句塊和fork-join語句塊的區(qū)別,并寫出下面信號對應(yīng)的程序代碼begin-end語句塊和fork-join語句塊的區(qū)別:1、執(zhí)行順序:begin-end語句塊按照語句順序執(zhí)行,fork-join語句塊所有語句均在同一時刻執(zhí)行;2、語句前面延遲時間的意義:begin-end語句塊為相對于前一條語句執(zhí)行結(jié)束的時間,fork-join語句塊為相對于并行語句塊啟動的時間;3、起始時間:begin-end語句塊為首句開始執(zhí)行的時間,fork-join語句塊為轉(zhuǎn)入并行語句塊的時間;4、結(jié)束時間:begin-end語句塊為最后一條語句執(zhí)行結(jié)束的時間,fork-jo
2、in語句塊為執(zhí)行時間最長的那條語句執(zhí)行結(jié)束的時間;5、行為描述的意義:begin-end語句塊為電路中的數(shù)據(jù)在時鐘及控制信號的作用下,沿數(shù)據(jù)通道中各級寄存器之間的傳送過程。fork-join語句塊為電路上電后,各電路模塊同時開始工作的過程。程序如下:module b(a,b);output a,b;reg a,b;initialbegin a=0; b=1; #10 a=1;fork b=0; #10 b=1; #20 a=0;join #10 b=0; #10 a=1; b=1;endendmodule題目3. 分別用阻塞和非阻塞賦值語句描述如下圖所示移位寄存器的電路圖。程序如下:modul
3、e block1(din,clk,out0,out1,out2,out3);input din,clk;output out0,out1,out2,out3;reg out0,out1,out2,out3;always(posedge clk)begin out3=out2;out2=out1;out1=out0;out0=din;endendmodulemodule non_block1(din,clk,out0,out1,out2,out3);input din,clk;output out0,out1,out2,out3;reg out0,out1,out2,out3;always(po
4、sedge clk)begin out0<=din;out1<=out0;out2<=out1;out3<=out2;endendmodule題目4:設(shè)計16位同步計數(shù)器要求:(1)分析16位同步計數(shù)器結(jié)構(gòu)和電路特點; (2)用硬件描述語言進行設(shè)計; (3)編寫測試仿真并進行仿真。程序如下:module b; reg clk; reg reset; wire 3:0count,result; always #5 clk=clk; initial begin clk=0;reset=0; #20 reset=1;end a U1(.clk(clk),.reset(rese
5、t),.result(result),.count(count);endmodule module a(count,clk,reset,result); output count,result; input clk,reset; reg 3:0count; always(posedge clk) begin if(!reset) count=4'b0000; else count=count+1; end assign result=count0|count1|count2|count3;endmodule題目5. 試用Verilog HDL門級描述方式描述如下圖所示的電路。程序如下:
6、module diwuti(D0,D1,D2,D3,S1,S2,Z);output Z;input D0,D1,D2,D3,S1,S2;wire wi1,wi2,w3,w4,w5,w6;not U1(w1,S1), U2(w2,S2);and U3(w6,D3,S2), U4(w5,D2,S1,w2), U5(w4,D1,S1,w1), U6(w3,D0,w1,w2);or U7(Z,w3,w4,w5,w6);endmodule題目6. 試用查找真值表的方式實現(xiàn)真值表中的加法器,寫出Verilog HDL代碼:CinainbinsumCout00000001100101001101100101
7、01011100111111程序如下:module fulladder(SUM,C_OUT,A,B,C_IN);output SUM,C_OUT;input A,B,C_IN;reg SUM,C_OUT;always(A or B or C_IN)case(A,B,C_IN) 3'b000:SUM<=0; 3'b000:C_OUT<=0; 3'b001:SUM<=1; 3'b001:C_OUT<=0; 3'b010:SUM<=1; 3'b010:C_OUT<=0; 3'b011:SUM<=0; 3
8、'b011:C_OUT<=1; 3'b100:SUM<=1; 3'b100:C_OUT<=0; 3'b101:SUM<=0; 3'b101:C_OUT<=1; 3'b110:SUM<=0; 3'b110:C_OUT<=1; 3'b111:SUM<=1; 3'b111: C_OUT<=1; endcase endmodule題目7:設(shè)計16位同步加法器和乘法器要求:(1)分析16位同步加法器和乘法器結(jié)構(gòu)和電路特 點; (2)用硬件描述語言進行設(shè)計; (3)編寫測試仿真并進
9、行仿真。程序如下:module c; parameter adder16_width=16; reg adder16_width-1:0ain,bin; reg Cin; wire adder16_width-1:0sum; wire Cout; initial begin ain=10;bin=10;Cin=1; end initial begin #5 ain=16'b1111111111111111;#10 bin=1; end a U1(.ain(ain),.bin(bin),.Cin(Cin),.Cout(Cout),.sum(sum);endmodulemodule d;
10、parameter width=16; reg width-1:0ain,din; wire width*2-1:0mul; initial begin ain=2;din=2; end initial begin #10 ain=100;#15 din=100; end b U1(.ain(ain),.din(din),.mul(mul);endmodulemodule a(bin,ain,sum,Cout,Cin); parameter width=16; output width-1:0sum; output Cout; input width-1:0ain,bin; input Cin
11、; assign Cout,sum=ain+bin+Cin;endmodule module c(ain,din,mul); parameter width=16; input width-1:0ain,din; output width*2-1:0mul; assign mul=ain*din;endmodule題目8. 將下面的狀態(tài)轉(zhuǎn)移圖用Verilog HDL描述。在圖中,狀態(tài)機的輸入只與狀態(tài)的跳轉(zhuǎn)有關(guān),與狀態(tài)機的輸出無關(guān),因此該狀態(tài)機為摩爾型狀態(tài)機。下面為三段式描述方式程序如下:module b(clk,out,step,clr); output 2:0out; input step,
12、clk,clr; reg 2:0out; reg 1:0state,next_state; always (posedge clk) state<=next_state; always (state or clr) if(clr) next_state<=0; else case(state) 2'b00: case(step) 1'b0:begin next_state<=2'b00;out<=3'b001;end 1'b1:begin next_state<=2'b01; out<=3'b001;e
13、nd endcase 2'b01: begin out<=3'b010; next_state<=2'b11; end 2'b11: case(step) 1'b0:begin next_state<=2'b00;out<=3'b100;end 1'b1:begin next_state<=2'b10;out<=3'b100;end endcase 2'b10: case(step) 1'b0:begin next_state<=2'b10;out&
14、lt;=3'b111;end 1'b1:begin next_state<=2'b00;out<=3'b111;end endcase endcaseendmodulemodule a; reg clk,step,clr; wire 3:0out; always #5 clk=clk; Initialbegin clk=0; clr=1;step=1;end initial begin #5clr=0; #80 step=0; #100step=1;end b U1(clk,out,step,clr);endmodule題目9. 如下圖所示電路,若其
15、延遲時間設(shè)定如表所示,試寫Verilog HDL程序設(shè)計該電路。路徑最小值(min)典型值(type)最大值(max)a_sa_y101214s_s0_sa_y151719s_sb_y111315b_sb_y101214程序如下:module a(a,s,b,y,s0); input a,b,s,s0; output y; assign y=(s&&b)|(s0&&a); specify (a=>y)=(10,12,14); (b=>y)=(10,12,14); (s=>y)=(11,13,15); (s0=>y)=(11,13,15);
16、 endspecifyendmodulemodule b(a,s,b,y); input s,a,s,b; output y; wire s0; not #(4)U1(s0,s); delay_door U2(a,s,b,y,s0);endmodule題目10.設(shè)計一個8位數(shù)字顯示的簡易頻率計。要求:能夠測試10Hz10MHz方波信號;電路輸入的基準(zhǔn)時鐘為1Hz,要求測量值以8421BCD碼形式輸出;系統(tǒng)有復(fù)位鍵;采用分層次分模塊的方法,用Verilog HDL進行設(shè)計。程序如下:module x; reg standard_clk; reg test_clk; wire 7:0out; re
17、g reset; initial begin reset=0; test_clk=0; standard_clk=0; end initial #15 reset=1; always #1 test_clk=test_clk; always #10 standard_clk=standard_clk; a U1(.reset(reset),.test_clk(test_clk),.standard_clk(standard_clk),.ratio_final(out);endmodulemodule a(reset,test_clk,standard_clk,ratio_final); inp
18、ut reset,test_clk,standard_clk; output 7:0ratio_final; wire mul_clk; wire reset_comp; wire 7:0ratio_start; and U0(reset_comp,reset,standard_clk); t U1(.ain(test_clk),.din(standard_clk),.mul(mul_clk); w U2(.clk(mul_clk),.count(ratio_start),.reset(reset_comp); c U3(.ratio_start(ratio_start),.ratio_fin
19、al(ratio_final);endmodule module w(clk,count,reset); input clk,reset; output count; parameter bit=8; reg bit-1:0count; always (posedge clk or negedge reset) if(!reset) count<=8'b00000000; else count<=count+1; endmodulemodule t(ain,din,mul); parameter width=1; input width-1:0ain,din; output
20、 width*2-1:0mul; assign mul=ain*din;endmodulemodule c(ratio_start,ratio_final); input 7:0ratio_start; output 7:0ratio_final; assign ratio_final=2*ratio_start;endmodule題目11. 用Verilog HDL設(shè)計一個4位LED顯示器的動態(tài)掃描譯碼電路。要求:4個七段顯示器共用一個譯碼驅(qū)動電路;顯示的數(shù)碼管清晰明亮,無閃爍現(xiàn)象發(fā)生。程序如下:module a(out,in); output out; input in; reg6:0out; wire3:0in; always(in) begin case(in) 4'd0:out=7'b1111110; 4'd1:out=7'b0110000; 4'd2:out=7'b1101101; 4'd3:out=7'b1111001; 4'd4:out=7'b0110011; 4'd5:out=7'b1011011
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國浙江羊肉干香料市場調(diào)查研究報告
- 細胞免疫機制過程圖解
- 護理貧血業(yè)務(wù)查房
- 吊車安全培訓(xùn)課件
- 養(yǎng)老護理員職業(yè)技能培訓(xùn)
- 外科術(shù)后切口護理
- 剖宮產(chǎn)疤痕部位妊娠護理
- 愛心企鵝好題目及答案
- HCIE實驗TS題目及答案
- 眼球化學(xué)燒傷護理常規(guī)
- 中醫(yī)兒科學(xué)研究進展知到課后答案智慧樹章節(jié)測試答案2025年春浙江中醫(yī)藥大學(xué)
- 食品安全防護計劃評估表
- 2016中國石油石化企業(yè)信息技術(shù)交流大會論文公示名單
- 環(huán)境因素識別評價培訓(xùn)
- 建設(shè)項目職業(yè)衛(wèi)生“三同時”課件
- 未成年人專門矯治教育制度適用研究
- 2024年05月上海中國銀聯(lián)技術(shù)類社會招考(529)筆試歷年參考題庫附帶答案詳解
- 口腔臨床診療指南
- 2025年華僑港澳臺學(xué)生聯(lián)招考試英語試卷試題(含答案詳解)
- 2024建筑消防設(shè)施維護保養(yǎng)操作規(guī)程
- 2025年益陽市中心醫(yī)院公開招聘工作人員歷年高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論