学生实验
- 1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。
- 2、参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定。
- 3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母
1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。
首先编写verilog代码如下:
module dec_2to4(
IN ,
OUT);
input [2-1:0] IN ;
output [4-1:0] OUT ;
reg [4-1:0] OUT ;
always @ (IN) begin
case(IN)
2'b00: OUT = 4'b 0001;
2'b01: OUT = 4'b 0010;
2'b10: OUT = 4'b 0100;
2'b11: OUT = 4'b 1000;
endcase
end
endmodule // module dec_2to4;
画BDF图:
观察RTL Viewer:
再编译下载之后可得结果:
SW0,SW1控制LED0-LED3
SW2,SW3控制LED4-LED5
当SW0,SW1,SW2,SW3均为零时LED0和LED4亮
当SW0为1,SW1为1,SW2,为1,SW3为0时LED1和LED5亮
实验结果与预期一致,实验正确。
2.下面设计一个3-8译码器,完成类似的拨码开关实验。
编写3-8译码器的Verilog代码如下:
module dec_3to8(
IN ,
OUT);
input [3-1:0] IN ;
output [8-1:0] OUT ;
reg [8-1:0] OUT ;
always @ (IN) begin
case(IN)
3'b000: OUT = 8'b 0000_0001;
3'b001: OUT = 8'b 0000_0010;
3'b010: OUT = 8'b 0000_0100;
3'b011: OUT = 8'b 0000_1000;
3'b100: OUT = 8'b 0001_0000;
3'b101: OUT = 8'b 0010_0000;
3'b110: OUT = 8'b 0100_0000;
3'b111: OUT = 8'b 1000_0000;
endcase
end
endmodule // module dec_3to8;
bdf原理图:
RTL Viewer:
编译下载后结果图:
当SW2,SW1,SW0均为1时,经过译码器后结果应该为LED7亮:
结果与设想一致,验证了实验的正确性。
3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母
首先编写7段译码管Verilog代码如下:
module bcd7seg(
IN,
OUT);
input [3:0] IN;
output [7:0] OUT;
reg [7:0] OUT;
always @(IN) begin
case(IN)
4'b0000: OUT = 8'b11000000; // 0
4'b0001: OUT = 8'b11111001; // 1
4'b0010: OUT = 8'b10100100; // 2
4'b0011: OUT = 8'b10110000; // 3
4'b0100: OUT = 8'b10011001; // 4
4'b0101: OUT = 8'b10010010; // 5
4'b0110: OUT = 8'b10000010; // 6
4'b0111: OUT = 8'b11111000; // 7
4'b1000: OUT = 8'b10000000; // 8
4'b1001: OUT = 8'b10010000; // 9
4'b1010: OUT = 8'b00001000; // A
4'b1011: OUT = 8'b00000000; // B
4'b1100: OUT = 8'b01000110; // C
4'b1101: OUT = 8'b01000000; // D
4'b1110: OUT = 8'b00000110; // E
4'b1111: OUT = 8'b00001110; // F
endcase
end
endmodule
bdf原理图为:
RTL Viewer:
在这里,我们用拨码开关SW3,SW2,SW1,SW0控制数码管,其中数字A~F我们加小数点来提醒。
当我们输入SW0为1,其余为0时,数码管显示为1:
当我们输入SW3,SW2,SW1,SW0均为1时,数码管显示F:
实验结果与设想一致,验证了实验的正确性。