第一个实验就简单的实现一个灯闪烁的程序(主要也是为了回顾一下语法,仿真以及下载的流程)
基本思路是:利用计数器去计数0.5s,然后每隔0.5s改变以下LED输出引脚的电平状态
硬件电路如下:(与FPGA中的对应连接,在代码注释中给出)
1.在上次建立的那个设计文件里输入以下内容
(这个实验主要做一个演示,以后建工程等步骤不再赘述)
1 /********************************************* 2 *文件名:led.v 3 *功能:实现开发板上LED灯闪烁(闪烁频率为1s) 4 *平台:win7 64 quartus ii 64bit 5 *连接:CLK -- 12 6 RST_n -- 44 7 LED0 -- 21 8 *********************************************/ 9 10 module led( 11 CLK,RST_n, 12 LED0 13 ); 14 15 input CLK; 16 input RST_n; 17 output LED0; 18 19 //************************************ 20 //因为板子晶振为50M,0.5秒也就是要 21 //0.5*50*1000_000 = 25_000_000次计数 22 parameter half_sec = 25'd25_000_000; 23 //************************************ 24 25 //************************************ 26 reg [24:0]count; 27 28 always @(posedge CLK or negedge RST_n) 29 begin 30 if(!RST_n) 31 count <= 25'd0; 32 else if(count == half_sec) 33 count <= 25'd0; 34 else 35 count <= count + 1'b1; 36 end 37 38 //*********************************** 39 reg rLED0; 40 41 always @(posedge CLK or negedge RST_n) 42 begin 43 if(!RST_n) 44 rLED0 <= 1'b0; 45 else if(count == half_sec) 46 rLED0 <= ~rLED0; 47 end 48 49 assign LED0 = rLED0; 50 51 52 endmodule
2.保存文件,并对该设计进行综合
综合完成后,任务窗口会出现如下显示:
3.接下来分配引脚
点击下列图标
显示如下:然后直接在图中标注部分,修改成开发板上的连接即可
修改完成后,关闭此界面。
3.注意到,综合之后有一个警告:
这个是指对于没有用到的引脚的设置,一般我们要设置不用的引脚为:输入三态状态!
打开assignments--device
显示如下:点击device and pin options
显示如下:选择unused pins里面的as input tri-stated
最后点击ok即可