求助解释一段简单的FPGA的程序。最好每一段都有解释和程序最终实现的功能。

求助解释一段简单的FPGA的程序。最好每一段都有解释和程序最终实现的功能。,第1张

这是把十六进制转成十进制来显示

需要解释的就

if(DTO[4:0]>=5'b01010) begin//相加结果超过10的话

D[3:0] = (DT0[3:0]+4'b0110)//十六进制的数需要加上6来完成进位

D[4] = 1

end

这段

D[3:0] = (DT0[3:0]+4'b0110)D[4] = 1两句等价于D[4:0] = DT0[4:0]+4'b0110一句

另外,时序逻辑用<=来赋值,不要用=

第1部分除了初始化外, 由div1对clk10m计数,计到78164置0,同时clk1hz翻转一次.

后面依此类推, 利用div2对clk10m计到156,clk500hz翻转一次,div3对clk10m计到78,clk800hz翻转一次.

最后三个赋值就是端口输出了

指示灯对应管教在管教配置时 已经设定了 但是还是被 unused pins 配置控制。

这句话是不是说你的程序在管教配置的时候将liushui管教配置成其他的管脚,在烧录进去后控制这个管脚还是能引起LED灯的状态变化?那我怀疑是你的LED灯是低电平有效,如果你没有用的管教不是配置为三态很可能导致你的LED灯的状态不确定。

要想避免这种情况,一般来说在配置的时候将UNUSED PINS配置为As input tri-stated这种状态。

其次你的程序不够严谨,一般要指明变量位宽。


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

原文地址:https://54852.com/yw/8162168.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存