一个小小的fpgaled流水灯程序,求高人指点指点啊!!不好意思,分数不多了!

一个小小的fpgaled流水灯程序,求高人指点指点啊!!不好意思,分数不多了!,第1张

为什么led位宽为8, led_out及led_out1位宽是9,后来还是取的8位?

———这个应该是位宽定义上有点问题吧(估计led少定义了一位),不过不影响逻辑实现,顶多就是截取了led_out1的低八位作为输出(led=led_out1[7:0])。

led_out1=~led_out这句话什么意思啊?

——当满足buffer == 26'd25000000时,led_out取反。比如,在buffer != 26'd25000000时,led_out=9'b010101010;当buffer == 26'd25000000时,led_out = 9'b101010101.

为什么 led_out没有初始化就在移位?reg型未初始化默认值是什么呢?

——这个跟一般的单片机程序有所不同。FPGA内部如果没有初始化数值,默认为内三态x,在流水灯上表现为暗(相当于逻辑0),不影响使用。如果楼主不放心,可以再定义时给出初始化数值,比如reg [8:0] led_out = 9'd0.

总体来说这个程序比较简单。希望对楼主有帮助。

建议:时序逻辑内部用非阻塞赋值<=。

1、看看程序对不对

2、看看管脚分配了没有

3、通过Assigenments->Device菜单 把unused管脚全部设置为输入高阻

4、如果是sof文件要用JTAG口烧(重新上电就没拉),如果是pof文件用AS口烧(烧完后拔了烧写线重新上电)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8073973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存