e几个灯同时亮灭两次verilog_verilog语言的FPGA变速花样流水灯设计

本文介绍了使用Xilinx XSE500E FPGA芯片进行Verilog语言设计的变速流水灯和花样流水灯项目。设计包括普通流水灯、自动反复式流水灯和花样流水灯,通过计数器延时方法实现不同滚动效果。文中提供了右滚动流水灯的Verilog代码示例,并强调了复位初始化在设定LED初始状态中的重要性。
摘要由CSDN通过智能技术生成

基于

XILINX--

XSE500E

FPGA

的变速流水灯以及花样流水灯的

verilog

语言设计

摘要

临近大四毕业,诸多工科院校电子电科通信等专业会选择用

FPGA

项目作为课程设计的

课题,

笔者同样经历了这个过程,收获颇多,

在此将设计成果在此分享,以帮助大家更好掌

FPGA

设计。

FPGA

种类繁多,时效性非常好,设计过程中十分注重实时性,在时间点控制上非常优

秀。此次设计采用

XILINX

XSE500E

型芯片的开发板,芯片采用

FG320

型接口,速度级别

-4

。板载时钟

50MHz

,如需其他时钟周期,可采用

IP

核中的

clocking

,其中的

DCM

可以实

现变频,引入

DCM

,输入频率

50MHz

,输出频率填入需要的频率即可,之后进行实例化。此

外,可以借助计数器进行延时减速,此次设计采用了计数器延时方法。

本次列举了四种流水灯相关设计:普通流水灯(向左和向右滚动)

,自动反复式流水灯

(到最右端自动向左滚动,到左端自动向右滚动)

,花样流水灯,变速流水灯。

谢谢大家的支持!

正文

一,普通流水灯

1

,建模思想

普通流水灯,可以向右滚动,到最右端返回最左端,也可以向左滚动,

到最左端返回最

右端。

普通流水灯模块涉及的端口有:

clk

它是时钟输入,

一般就是板载时钟,

这里是

50MHz

具体参照开发板说明。还有复位输入

rst,

高电平有效。此外就是

led

端口,这个端口有

8

根管脚,共

8

位,连接

8

led

灯。

采用

verilog

语言,端口定义格式如下:

module

led(

input clk,

input rst,

output reg[7:0] led

//

此行定义说明

led

端口既是驱动管脚的,又是寄存器

);

采用过程建模,

这里不采用行为建模和功能建模,

因为这个过程就是一个大循环,

规律

性极强。由于板载时钟

50MHz,

如果每个时钟周期都要滚动流水灯,那么速度是惊人的,人

眼根本无法分辨。所以采用计数器延时,

当计数达到约

4

千万时候,驱动系统进行动作,可

以判断,也可以进行流水灯动作。

普通流水灯,需要判断流水灯是否到了尽头,如果到了尽头,需要回归起点。

每次上电之后,需要按一下复位,才能进行流水灯循环。

Rst

的作用就是初始化,首先为

led

赋予一个初始状态,可以让一个灯循环,也可以让

几个灯一起亮,一起循环。几个灯亮,关键在于

rst

初始化。

2

,全部代码如下:这里列举右滚动流水灯

module led(

//

这行定义了模块名字为

led

input

clk,

input

rst,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值