verilog八位数码管显示(输入一个二进制数,对应输出一个十进制数,要求能输出八位十进制数)
moduleb_bcd8 (二进制,BCD); parameterb_size = 8 ; 1 :0] bin; //双边数始终使用@(二进制)beginbin = dual; 结果= 0; 重复(b _size-1 )//如何使用周期性转换和小数转换[0] = bin [b_size-1 ]; if(结果[3 :0]> 4 )结果[3 :0] =结果[3 :0]+4 'd3 ; //如果结果[7 :4 ]> 4 )结果[7 :4 ] =结果[7 :4 ]+4 'd3 ; if(结果[1 1 :8 ]> 4 )结果[1 1 :8 ] =结果[1 1 :8 ]+4 'd3 ; 结果=结果试用Veriloghdl设计一个七段数码管的显示译码器,要求可以同时兼容共阴共阳数码管
moduled8 _display(clk,rst,comsel,en,play); inputclk; inputrst; 输入COMSE; 输出[7 :0] en; 结论[7 :0]播放; Reg [3 0:0]计数; Reg [7 :0] en; Reg [7 :0]玩; 始终@(posedgeclkornegedgest)beginif(! en <= 1 ; Play <= 8 'B001 1 1 1 1 1 ; endelsebegincount <= 0; en <= 0; 播放<= 8 'b1 1 000000; endEndelSeBeginCount <= count+1 ; 案例(count [3 0:2 8 ])3 'b000:beginif(consel)beginen <= 8 'b00000001 ; 播放<= 8 'B001 1 1 1 1 1 ; endelsebeginen <= 8 'b1 1 1 1 1 1 1 0; 播放<= 8 'b1 1 000000; endEnd3 'b001 :beginif(co msel)beginen <= 8 'b0000001 0; 播放<= 8 'B000001 1 0; endelsebeginen <= 8 'b1 1 1 1 1 1 1 1 1 1 ; 播放<= 8 'B1 1 1 1 1 001 ; endEnd3 'b01 0:beginif(领事)beginen <= 8 'b000001 00; play <= 8 'B01 01 1 01 1 ; endelsebeginen <= 8 'b1 1 1 1 1 1 1 1 ; 播放<= 8 'b1 01 001 00; endEnd4 'b01 1 :beginif(领事)beg inen <= 8 'b00001 000; 播放<= 8 'b01 001 1 1 1 ; endelsebeginen <= 8 'b1 1 1 1 01 1 1 ; 播放<= 8 'b1 01 1 0000; EndEndCasendEndModule是数字运行灯1 -4 的4 位7 段。将其更改为“输出解决方案”,然后将4 位动态显示器更改为一个数字管,只是在静态显示