第一课 fpga led灯闪烁实验

本文介绍了如何使用计数器技术使PLLED0和PLLED1以50MHz时钟周期的0.5s频率交替闪烁。涉及计数次数计算、计数器代码实现以及在Vivado和Modelsim中的仿真步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务:使启明星底板上的 PL LED0 和 PL LED1 以固定的频率交替闪烁。

一.由原理图ps端高电平点亮,低电平熄灭

二.整体实现框图

 

设计思路:计数器计数0.5s,计数到最大值对led进行移位控制。led <= {led[0],led[1]};

三.重点:

1.计算0.5s cnt的计数次数:时钟为 50MHz,所以一个时钟周期为 20ns(1/50MHz)。因此计数器 cnt 通过对 50MHz系统时钟计数,计时到 0.5s,需要累加 0.5s/20ns=2500_0000 次。2500_0000转换成2进制为25位

2.计数器的代码,led移位控制 

问题:1.为什么用5000_0000表示  2. cnt <= cnt + 1'b1; cnt <= cnt + 26'd1;区别

四.tb仿真模板:输入输出——信号初始化——生成时钟——模块例化 此实验(wire [1:0]  led;)led为线网型,没有在awalyas中赋值,在组合逻辑中赋值。

熟练modelsim仿真软件的使用 vivado下载验证。工程名和顶层名一致

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值