《2022年三人表决器 .pdf》由会员分享,可在线阅读,更多相关《2022年三人表决器 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三人表决器1.任务:使用 verilog 语言设计一个三人表决器,其功能是:有3 个输入,当有输入时,产生输出的值会显示在数码管中,例如, 有 1 人表示同意时,数码管显示1, 2 人同意时,数码管显示2。2.设计流程图:3.源程序设计:module sanrenbiaojue ( key1,key2,key3,led1,led2,led3,SEG_DATE,SEG_EN ); input key1; input key2; input key3; output led1; output led2; output led3; output 3:0 SEG_EN; output reg 6:0
2、SEG_DATE; /装载 3 个输入的值parameterSEG_NUMO = 7h3f, SEG_NUM1 = 7h06, /数码管显示1 SEG_NUM2 = 7h5b, /数码管显示2 SEG_NUM3 = 7h4f; /数码管显示3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - always (*) begin case(key1,key2,key3) /检测按键KEY3 ,KEY2 ,KEY1 是否按下,按下为1,
3、悬空为 0 3b000:SEG_DA TE=SEG_NUMO; /当有 0 个按键按下时,数码管就显示数字0 3b001:SEG_DA TE=SEG_NUM1; /当有 1 个按键按下时,数码管就显示数字1 3b010:SEG_DA TE=SEG_NUM1; 3b011:SEG_DATE=SEG_NUM2; 3b100:SEG_DA TE=SEG_NUM1; 3b101:SEG_DA TE=SEG_NUM2; 3b110:SEG_DATE=SEG_NUM2; 3b111:SEG_DATE=SEG_NUM3; default:SEG_DA TE=SEG_NUMO; endcase end ass
4、ign led1=!key1; /当按键 1 按下其对应的D1 将会亮起assign led2=!key2; /当按键 2 按下其对应的D2 将会亮起assign led3=!key3; /当按键 3 按下其对应的D3 将会亮起assign SEG_EN=4b0111; / SEG1-SEG3 熄灭, SEG4 点亮endmodule 4.TestBench代码:timescale 1 ps/ 1 ps module sanrenbiaojue_vlg_tstfirst(); / constants / general purpose registers reg eachvec; / test
5、 vector input registers reg key1; reg key2; reg key3; / wires wire 6:0 SEG_DATE; wire 3:0 SEG_EN; wire led1; wire led2; wire led3; / assign statements (if any) sanrenbiaojue i1 ( 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - / port map -
6、connection between master ports and signals/registers .SEG_DATE(SEG_DATE), .SEG_EN(SEG_EN), .key1(key1), .key2(key2), .key3(key3), .led1(led1), .led2(led2), .led3(led3) ); initial begin key1=0;key2=0;key3=0;#200; key1=0;key2=0;key3=1;#200; key1=0;key2=1;key3=0;#200; key1=1;key2=0;key3=0;#200; key1=1
7、;key2=0;key3=1;#200; key1=0;key2=1;key3=1;#200; key1=1;key2=1;key3=0;#200; key1=1;key2=1;key3=1;#200; $stop; end endmodule 5.RTL 结构图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 6.时序仿真图:由图可以看出,当key1,key2,key3 的值为 001 时,对应的LED3 亮,此时数码管显示的值为 1,程序中, SEG_DATA 为数码管显示编码0000110(换算成十进制显示为6) ,当输入值为011,101,110 时,数码管显示的值为2,SEG_DATA 为数码管显示编码,1011011(换算成十进制显示为91) ,据此,可以得出三人表决器程序是正确的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -
限制150内