第二章 4位闪烁灯

FPGA至简设计项目实践



前言


一、设计目标

        本工程使用4个LED 灯(LED1~LED4)来实现闪烁灯的功能。具体功能要求为:首先 LED1 暗1秒,接着亮1秒后变暗;接着LED2暗1秒,亮2秒后变暗;随后LED3暗1秒,亮3秒后变 暗;最后LED4暗1秒,亮4秒后变暗;至此一个循环结束,随后按照此规律进行循环往复。也就是 说,四个LED灯依次循环闪烁,具体闪烁要求为:隔1秒,亮N秒,N的变化为:1,2,3,4秒, 然后再次进入循环。闪烁灯变化功能图如图3.2-1 所示,上板后的效果展示可参见图 3.2-2。可以登 录至简设计法官方网站观看上板后的演示视频:www.mdy-edu.com/xxxx

二、设计实现

1.顶层信号

        首先应确定顶层信号。由设计目标可知控制相应LED灯亮或灭需要FPGA产生一个信号并将此 信号传送至LED灯。想控制LED灯灭,则令FPGA输出信号为1,想控制LED灯亮,则令FPGA 输出信号为0。根据目标可知需要分别控制4个LED灯亮或灭,对应地需要FPGA产生4个信号。 假定这4个信号分别为led0、led1、led2和led3,将其分别与相应LED灯连接。操作中如果想控制 LED0 亮,LED1~3灭,则应控制FPGA输出的led0信号为0,led1~3信号都为1。

        硬件电路图的连接关系如下表所示,可以看到本工程中LED0连接的FPGA管脚为AA4,对应 FPGA 工程信号为led0;LED1连接的FPGA管脚为AB4,对应FPGA工程信号为led1;LED2连 接的FPGA管脚为AA5,对应FPGA工程信号为led2;LED3灯连接的FPGA管脚为AB8,对应的 FPGA工程信号为led3。工程的时钟管脚为G1,对应FPGA工程信号为clk,复位管脚为AB12,对应FPGA工程信号为rst_n。由此可见,本工程一共需要六个信号:时钟信号clk、复位信号rst_n以 及四个LED灯的控制信号led0、led1、led2和led3。

第二章 4位闪烁灯_第1张图片

        随后对信号的输入输出属性进行声明,指出对于FPGA来说这一信号属于输入还是输出,若为 输入声明则为input,若为输出声明则为output。在本设计中由于clk是外部晶振输送给FPGA的, 因此对于FPGA来说clk为输入信号input。同样地,rst_n是外部按键给FPGA的,在FPGA中也 为输入信号input。同时可知led0、led1、led2、led3四个信号是FPGA产生以实现对相应四个LED 灯的控制,因此led0、l

你可能感兴趣的:(FPGA至简设计项目实践,fpga开发)