|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
一直在学习Verilog,一般作仿真。一直以为学习的还可以,最近买了一个开发板,发现一个很简单的例子都没弄清楚!
请高手指教,以下是由case语句实现的7段显示译码器,一般书上说,如果没写default分支,那么该模块综合的结构应该带锁存器,也就是说,
综合后的电路对超过9的输入,不应该做任何的反应,保持原来的值不变,而我在实验板做的结果是当输入超过9的情况时,其显示结果有变化。
输入连接到四个开关,输出连接数码管。
请高手给解释解释!
module SEG7_LUT (oSEG,iDIG);
input [3:0] iDIG;
output [6:0] oSEG;
reg [6:0] oSEG;
always @(iDIG)
begin
case(iDIG)
4'h1: oSEG = 7'b1111001; // ---t----
4'h2: oSEG = 7'b0100100; // | |
4'h3: oSEG = 7'b0110000; // lt rt
4'h4: oSEG = 7'b0011001; // | |
4'h5: oSEG = 7'b0010010; // ---m----
4'h6: oSEG = 7'b0000010; // | |
4'h7: oSEG = 7'b1111000; // lb rb
4'h8: oSEG = 7'b0000000; // | |
4'h9: oSEG = 7'b0011000; // ---b----
4'h0: oSEG = 7'b1000000;
endcase
end
endmodule |
|