西南交大數(shù)電實(shí)驗(yàn)————《數(shù)字電路與計(jì)算機(jī)組成原理》
一、實(shí)驗(yàn)?zāi)康?/h2>
- 鞏固組合邏輯電路設(shè)計(jì)、仿真方法.
- 學(xué)習(xí)簡單時(shí)序電路的設(shè)計(jì)與實(shí)驗(yàn)方法。
- 鞏固 Verilog HDL 層次化文件設(shè)計(jì)。
二、實(shí)驗(yàn)內(nèi)容
-
用 Verilog HDL 以層次化的設(shè)計(jì)方法(電路結(jié)構(gòu)參照?qǐng)D 1 所示的電路框圖), 設(shè)計(jì)一個(gè) 6 進(jìn)制計(jì)數(shù)器及合適的譯碼器,將計(jì)數(shù)器輸出 Q 與譯碼器輸入 x 相連, 譯碼器輸出codeout 鎖定到實(shí)驗(yàn)箱的數(shù)碼管段信號(hào)上(abcdefg), 實(shí)現(xiàn)一個(gè)彩燈控制器的設(shè)計(jì)。 數(shù)碼管外圈的筆段在控制電路的驅(qū)動(dòng)下, 按楊輝三角的規(guī)律依次點(diǎn)亮/熄滅。對(duì)整體電路進(jìn)行仿真,應(yīng)當(dāng)能夠看到使能信號(hào) en 為低電平時(shí)電路狀態(tài)保持不變, en 為高電平時(shí)計(jì)數(shù)器的輸出值自動(dòng)增加,相應(yīng)地譯碼器的輸出依次變化,并循環(huán)。 圖 1 為頂層電路框圖, 圖 2 為仿真波形圖。


-
引腳鎖定
a) 計(jì)數(shù)器的 en 鎖定到實(shí)驗(yàn)箱的開關(guān) 1;
b) 計(jì)數(shù)器的輸出 Q 作為待觀測(cè)的中間信號(hào)鎖定到指示燈 LED2…LED0;
c) clk 鎖定到 CLK0(PIN_88);
d) 譯碼器輸出鎖定到數(shù)碼管段信號(hào)(abcdefg);
e) seg 鎖定到 SEG0。
-
實(shí)驗(yàn)測(cè)試
a) 將實(shí)驗(yàn)箱的時(shí)鐘 clk0 設(shè)置到 1Hz,觀察數(shù)碼管的顯示,并用文字記錄實(shí)驗(yàn)現(xiàn)象。
b) 將 clk0 設(shè)置到 PULSE,使用手動(dòng)脈沖,單步調(diào)試,觀察計(jì)數(shù)器輸出 Q 與 codeout指示燈顯示的對(duì)應(yīng)關(guān)系。
c) 將 clk0 設(shè)置到 4096Hz,觀察數(shù)碼管的顯示,記錄實(shí)驗(yàn)現(xiàn)象。
d) 將 clk0 設(shè)置到 4096Hz,用導(dǎo)線將 clk、 Q[2:0]連接到實(shí)驗(yàn)箱的邏輯分析儀上(CH0~CH7)觀測(cè)波形。嘗試設(shè)置不同的觸發(fā)字及采樣率,觀察邏輯分析儀顯示波形的變化。畫出 1 個(gè)大周期 clk 與 Q 的時(shí)序波形。
三、預(yù)習(xí)要求
- 自行查找資料, 自學(xué) Verilog HDL 的層次化文件設(shè)計(jì), 完成本實(shí)驗(yàn)“實(shí)驗(yàn)內(nèi)容”部分的設(shè)計(jì)要求。
- 對(duì)實(shí)驗(yàn)電路進(jìn)行功能仿真,并將仿真結(jié)果截圖插入報(bào)告中。
- 列出引腳鎖定分配表(信號(hào)名->主板器件名->引腳號(hào))。
- 填寫編譯報(bào)告。
四、實(shí)驗(yàn)報(bào)告要求
- 列出通電測(cè)試結(jié)果。
- 列出實(shí)驗(yàn)過程出現(xiàn)的問題及解決措施。
- 附源程序。
五、Verilog代碼、RTL視圖及仿真波形
1.Verilog代碼
module dzx_2_1(en,clk,Q);//模塊1,產(chǎn)生數(shù)據(jù)Q
input en,clk;
output [2:0]Q;
reg [2:0]Q;
parameter S0=3'd0,S1=3'd1,S2=3'd2,S3=3'd3,S4=3'd4,S5=3'd5;
always@(posedge clk)
if(en)
case(Q)
S0:Q <= S1;
S1:Q <= S2;
S2:Q <= S3;
S3:Q <= S4;
S4:Q <= S5;
S5:Q <= S0;
default:Q <= S0;
endcase
endmodule
module dzx_2_2(x,seg,codeout);//模塊2:數(shù)據(jù)x在數(shù)碼管上的現(xiàn)實(shí)
input [2:0]x;
output seg;
output [6:0]codeout;
reg seg;
reg [6:0]codeout;
parameter S0=3'd0,S1=3'd1,S2=3'd2,S3=3'd3,S4=3'd4,S5=3'd5;
always@(x)
case(x)
S0:{codeout,seg}= {7'b0000001,1'b1};
S1:{codeout,seg}= {7'b0000011,1'b1};
S2:{codeout,seg}= {7'b0000111,1'b1};
S3:{codeout,seg}= {7'b0001111,1'b1};
S4:{codeout,seg}= {7'b0011111,1'b1};
S5:{codeout,seg}= {7'b0111111,1'b1};
default:{codeout,seg} = {7'b0000001,1'b1};
endcase
endmodule
module colorful_lights(en,clk,Q,seg,codeout);//頂層模塊
input en,clk;
output seg;
output [2:0]Q;
output [6:0]codeout;
dzx_2_1(en,clk,Q);
dzx_2_2(Q,seg,codeout);
endmodule
2.RTL視圖
用 Verilog HDL 以層次化的設(shè)計(jì)方法(電路結(jié)構(gòu)參照?qǐng)D 1 所示的電路框圖), 設(shè)計(jì)一個(gè) 6 進(jìn)制計(jì)數(shù)器及合適的譯碼器,將計(jì)數(shù)器輸出 Q 與譯碼器輸入 x 相連, 譯碼器輸出codeout 鎖定到實(shí)驗(yàn)箱的數(shù)碼管段信號(hào)上(abcdefg), 實(shí)現(xiàn)一個(gè)彩燈控制器的設(shè)計(jì)。 數(shù)碼管外圈的筆段在控制電路的驅(qū)動(dòng)下, 按楊輝三角的規(guī)律依次點(diǎn)亮/熄滅。對(duì)整體電路進(jìn)行仿真,應(yīng)當(dāng)能夠看到使能信號(hào) en 為低電平時(shí)電路狀態(tài)保持不變, en 為高電平時(shí)計(jì)數(shù)器的輸出值自動(dòng)增加,相應(yīng)地譯碼器的輸出依次變化,并循環(huán)。 圖 1 為頂層電路框圖, 圖 2 為仿真波形圖。
引腳鎖定
a) 計(jì)數(shù)器的 en 鎖定到實(shí)驗(yàn)箱的開關(guān) 1;
b) 計(jì)數(shù)器的輸出 Q 作為待觀測(cè)的中間信號(hào)鎖定到指示燈 LED2…LED0;
c) clk 鎖定到 CLK0(PIN_88);
d) 譯碼器輸出鎖定到數(shù)碼管段信號(hào)(abcdefg);
e) seg 鎖定到 SEG0。
實(shí)驗(yàn)測(cè)試
a) 將實(shí)驗(yàn)箱的時(shí)鐘 clk0 設(shè)置到 1Hz,觀察數(shù)碼管的顯示,并用文字記錄實(shí)驗(yàn)現(xiàn)象。
b) 將 clk0 設(shè)置到 PULSE,使用手動(dòng)脈沖,單步調(diào)試,觀察計(jì)數(shù)器輸出 Q 與 codeout指示燈顯示的對(duì)應(yīng)關(guān)系。
c) 將 clk0 設(shè)置到 4096Hz,觀察數(shù)碼管的顯示,記錄實(shí)驗(yàn)現(xiàn)象。
d) 將 clk0 設(shè)置到 4096Hz,用導(dǎo)線將 clk、 Q[2:0]連接到實(shí)驗(yàn)箱的邏輯分析儀上(CH0~CH7)觀測(cè)波形。嘗試設(shè)置不同的觸發(fā)字及采樣率,觀察邏輯分析儀顯示波形的變化。畫出 1 個(gè)大周期 clk 與 Q 的時(shí)序波形。
module dzx_2_1(en,clk,Q);//模塊1,產(chǎn)生數(shù)據(jù)Q
input en,clk;
output [2:0]Q;
reg [2:0]Q;
parameter S0=3'd0,S1=3'd1,S2=3'd2,S3=3'd3,S4=3'd4,S5=3'd5;
always@(posedge clk)
if(en)
case(Q)
S0:Q <= S1;
S1:Q <= S2;
S2:Q <= S3;
S3:Q <= S4;
S4:Q <= S5;
S5:Q <= S0;
default:Q <= S0;
endcase
endmodule
module dzx_2_2(x,seg,codeout);//模塊2:數(shù)據(jù)x在數(shù)碼管上的現(xiàn)實(shí)
input [2:0]x;
output seg;
output [6:0]codeout;
reg seg;
reg [6:0]codeout;
parameter S0=3'd0,S1=3'd1,S2=3'd2,S3=3'd3,S4=3'd4,S5=3'd5;
always@(x)
case(x)
S0:{codeout,seg}= {7'b0000001,1'b1};
S1:{codeout,seg}= {7'b0000011,1'b1};
S2:{codeout,seg}= {7'b0000111,1'b1};
S3:{codeout,seg}= {7'b0001111,1'b1};
S4:{codeout,seg}= {7'b0011111,1'b1};
S5:{codeout,seg}= {7'b0111111,1'b1};
default:{codeout,seg} = {7'b0000001,1'b1};
endcase
endmodule
module colorful_lights(en,clk,Q,seg,codeout);//頂層模塊
input en,clk;
output seg;
output [2:0]Q;
output [6:0]codeout;
dzx_2_1(en,clk,Q);
dzx_2_2(Q,seg,codeout);
endmodule
3.仿真波形
文章來源:http://www.zghlxwxcb.cn/news/detail-719383.html
歡迎在評(píng)論區(qū)留言,感謝您的關(guān)注與支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-719383.html
到了這里,關(guān)于數(shù)電實(shí)驗(yàn)4:彩燈控制器設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!