基于ALTERA Cyclone IV Development & Education Board (DE2-115)
1、新建工程
next,直到出现如下页面:
点击next直到出现如下的页面:
如果要自己编写testbench,并使用modelsim进行仿真,就需要在这里选择testbench用到的语法。
之后点击next,直到finish。
2、编写代码并编译
下边的这个页面可以看到编译进程:
如果报错,可以从这里查看错误信息:
不小心关闭了Flow summary,这样子可以打开:
3、管脚分配
拖动node name中的信号至图中对应位置。位置可以按坐标查找,坐标可以通过手册得到。
分配好管脚后,直接关闭页面。
4、烧录程序到板子
点开后出现如下界面需要参考此博文进行解决,解决办法1,解决办法2:
正常情况:
关闭上一个界面,点击start:
总结与反思
这段代码的clk使用的是拨码开关,所以实验结果会由于抖动而不稳定。应尽量避免这样的写法
代码段
module led_test(
//output pin
led_high,
led_low,
//input pin
clk,
rst_n,
enable,
s0,
s1
);
output [3:0] led_high;
output [3:0] led_low;
input clk;
input rst_n;
input enable;
input s0;
input s1;
reg [3:0] led_high;
reg [3:0] led_low;
always @(posedge clk or negedge rst_n) begin
if(~rst_n)
led_high <= 4'b0;
else if(enable == 1'b1)
led_high <= led_high + 1'b1;
else
led_high <= led_high;
end
always @(*) begin
case({s0,s1})
2'b00 : led_low <= 4'b0001;
2'b01 : led_low <= 4'b0010;
2'b10 : led_low <= 4'b0100;
2'b11 : led_low <= 4'b1000;
default:led_low <= 4'b0000;
endcase
end
endmodule