一.实验任务
- 实现开发板上4个led灯顺序点亮熄灭,形成流水效果
二.硬件原理
- 由上图可知,四个led灯高电平点亮,低电平熄灭。
三.创建工程
3.1新建文件夹
- 其中ip目前用不到,后续使用;prj存放项目文件;rtl存放主体代码;tb存放仿真文件;tcl存放引脚配置信息。
3.2创建工程
-
打开Quartus后选择File->New Project Wizard或者直接点击主页上的New Project Wizard
-
选择工程路径(放在3.1中新建文件夹的prj子文件夹中)以及为工程命名
-
点击next
-
笔者个人习惯先在vscode中写好代码后建立项目,因此此处我直接添加的代码文件
-
选择芯片EP4CE6F17C8
-
Simulation处选择Modelsim-Altera
-
点击finish
四.主要代码
module led_obj (
input clk,
input rst_n,
output wire [3:0] led
);
parameter MAX1S = 26'd50_000_000;
reg [26:0] cnt1s;
reg [3:0] led_r;
//1s计数器
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
cnt1s <= 26'd0;
end
else if (cnt1s == MAX1S - 1'd1) begin
cnt1s <= 26'd0;
end
else begin
cnt1s <= cnt1s + 1'd1;
end
end
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
led_r <= 4'b0001;
end
else if (cnt1s == MAX1S - 1'd1) begin
led_r <= {led[2:0], led[3]};
end
else begin
led_r <= led_r;
end
end
assign led = led_r;
endmodule
五.引脚配置
-
右键左侧芯片EP4CE6F17C8后点击Device
-
点击Device and Pin Options
-
修改如图所示
-
引脚配置如下(注意编译通过后方可配置引脚)
元件 | 引脚 |
---|---|
LED0 | G15 |
LED1 | F16 |
LED2 | F15 |
LED3 | D16 |
CLK | E1 |
rst_n | E15 |
六.烧录
- 点击Quartus中菜单栏的Programmer