FPGA 电路开发入门实验
实验一、FPGA项目创建、编译和下载
新建一个BDF文件,可以直接添加元件,对应引脚连接,指派引脚,编译,下载即可
学生实验:用1个拨码开关控制所有的LED灯亮灭
一个input连接剩下的所有led输出端口即可控制所有灯的亮灭
实验二、FPGA译码器组合逻辑
仿照本实验,请完成以下任务
• 1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。
• 2、参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定。
• 3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母
首先编写实验相应的Verilog代码,然后生成代码文件对应的模块(2to4译码器)
module dec_2to4(
IN ,
OUT);
input [1:0] IN ;
output [3:0] OUT ;
reg [3: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
右键生成相应的元件
注意网标式的接线接法
学生实验一
一定要注意引脚的连接问题
学生实验二
38译码器的代码
module dec3to8(
IN ,
OUT);
input [2:0] IN ;
output [7:0] OUT ;
reg [7:0] OUT ;
always @ (IN) begin
case(IN)
3'b000: OUT = 8'b 00000001;
3'b001: OUT = 8'b 00000010;
3'b010: OUT = 8'b 00000100;
3'b011: OUT = 8'b 00001000;
3'b100: OUT = 8'b 00010000;
3'b101: OUT = 8'b 00100000;
3'b110: OUT = 8'b 01000000;
3'b111: OUT = 8'b 10000000;
endcase
end
endmodule
保存——生成38译码器元件——建立BDF文件,连接电路,指派管脚(这里注意,一定要选择相应的芯片,软件可能无法自动适配)如下
接下来,编译并下载(指派好管脚后,一定要再编译一次再下载)
学生实验三
查询指导书可知,低电平有效
segment74的代码
module segment7to4(
IN ,
OUT);
input [3:0] IN ;
output [6:0] OUT ;
reg [6:0] OUT ;
always @ (IN) begin
case(IN)
4'b0000: OUT = 7'b 1000000