verilog 语言的 FPGA 变速花样流水灯设计
基于 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,如果每个时钟周期都要滚动流水灯,那么速度是惊人的,
评论21
最新资源