您的位置:首页 > 其它

FPGA入门实验二:译码器组合逻辑

2017-11-24 20:26 411 查看
题目(1):放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组

1.新建VHDL-Verilog文件,并写一个2-4译码器的moudle,并创建Symbol。



2.新建BDF文件,将上面创建的2-4译码器添加到文件中,添加输入、输出引脚,并且指派引脚。



3.RTL图如下所示





4.编译,下载到DE0板子,通过拨动两组开关,观察对应的Led的亮灭情况



题目(2):参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定

1.新建工程,添加Verilog文件和BDF文件,写出一个3-8译码器的module,并创建Symbol,代码如下:

module MUX3_8(

IN,OUT

);

input [2:0] IN;

output [7:0] OUT;

reg [7:0] OUT;

always @(IN) begin
case (IN)
3'b000: OUT=8'b0000_0001;
3'b001: OUT=8'b0000_0010;
3'b010: OUT=8'b0000_0100;
3'b011: OUT=8'b0000_1000;
3'b100: OUT=8'b0001_0000;
3'b101: OUT=8'b0010_0000;
3'b110: OUT=8'b0100_0000;
3'b111: OUT=8'b1000_0000;
endcase

  end

endmodule

2.新建BDF文件,将上面创建的2-4译码器添加到文件中,添加输入、输出引脚,并且指派引脚



3.RTL图如下所示







4.编译下载工程,观察现象



题目(3):自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母

1.新建工程,添加Verilog文件和BDF文件,写出一个译码器控制数码管的module,并创建Symbol,代码如下:

module SEG_VC(

IN,

OUT

);

input [3:0] IN;

output [7:0] OUT;

reg [7:0] OUT;

always @ (IN) begin
case(IN)
4'b0000:OUT=8'b11000000;
4'b0001:OUT=8'b11111001;
4'b0010:OUT=8'b10100100;
4'b0011:OUT=8'b10110000;
4'b0100:OUT=8'b10011001;
4'b0101:OUT=8'b10010010;
4'b0110:OUT=8'b10000010;
4'b0111:OUT=8'b11111000;
4'b1000:OUT=8'b10000000;
4'b1001:OUT=8'b10010000;
4'b1010:OUT=8'b10001000;
4'b1011:OUT=8'b10000011;
4'b1100:OUT=8'b11000110;
4'b1101:OUT=8'b10100001;
4'b1110:OUT=8'b10000110;
4'b1111:OUT=8'b10001110;
endcase 

end

endmodule 

2.新建BDF文件,将上面创建的Symbol添加到文件中,添加输入、输出引脚,并且指派引脚



3.RTL图如下:





4.编译下载工程,观察现象

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EDA FPGA Quartus VHDL