
需要解释的就
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这种状态。
其次你的程序不够严谨,一般要指明变量位宽。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)