FPGA -- 实验一:闪烁灯

Posted quinncy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA -- 实验一:闪烁灯相关的知识,希望对你有一定的参考价值。

  第一个实验就简单的实现一个灯闪烁的程序(主要也是为了回顾一下语法,仿真以及下载的流程)

  基本思路是:利用计数器去计数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即可

 

  

以上是关于FPGA -- 实验一:闪烁灯的主要内容,如果未能解决你的问题,请参考以下文章

FPGA的计数器—LED灯闪烁试验

微机原理汇编语言课程设计 中的LED 灯显示控制代码怎么写?

arduino两个led灯交替闪烁

LabVIEW控制Arduino LED灯闪烁(基础篇—2)

LabVIEW控制Arduino LED灯闪烁(基础篇—2)

LabVIEW控制Arduino LED灯闪烁(基础篇—2)