使用工具:Xilinx ISE 14.7
7段译码器主要是由七段译码管组成,通过控制各个译码管的开与关达到显示出16进制数的16个数。实现过程和3-8译码器差不多,主要是构建一个真值表作为map,然后一一对应就行了,代码如下:
module code(
<span style="white-space:pre"> </span>input wire [3:0] in,<span style="white-space:pre"> </span>//输入的数字
<span style="white-space:pre"> </span>output reg [6:0] led,<span style="white-space:pre"> </span>//7段译码管的映射
<span style="white-space:pre"> </span>output reg [3:0] en<span style="white-space:pre"> </span>//显示数字的位置,比如7为3'b111那么在前三位都显示7
);
<span style="white-space:pre"> </span>
always @ (*)
case(in)
4'b0000: begin
<span style="white-space:pre"> </span>led = 7'b1000000; en = 4'b1110;<span style="white-space:pre"> </span>//0
<span style="white-space:pre"> </span>end
4'b0001: begin
<span style="white-space:pre"> </span>led = 7'b1111001; en = 4'b1110;<span style="white-space:pre"> </span>//1
<span style="white-space:pre"> </span>end
4'b0010: begin
<span style="white-space:pre"> </span>led