初级会员

- 积分
- 148
- 金钱
- 148
- 注册时间
- 2015-12-20
- 在线时间
- 24 小时
|
对于FPGA,跟CPU不同它没有RST脚,用到的rst信号实际是个普通IO脚来的,整个运行过程并不一定会发生rst(不讨论在普通IO脚加RC电路,单轮一般调试一致开着电JTAG运行)。
而对于寄存器,对于各个IDE如果不给初值那它到底是1还是0还是未知值?(对于CPU,是在0地址开始运行,并且会执行一段初始化代码再到用户程序,用户程序定义变量时给初值是个很普遍习惯)
看教程代码一般都是
reg[7:0'] cnt; //A
always ....
if(~rst)
= 0 //B
else
..... //C
由于不一定发生复位,B可能根本不执行,此时C处是不是有跑错隐患,至少在开始的几个节拍(B处可能枚举了任意情况的处理,错误状态会改成正确状态)。 可以在A处定义变量给初值吗? 反正想要的是上电REG就有合理值,而不是在C处做错误处理纠正回来。并且不希望是用跟IDE绑定的特殊方法初始化,希望是通用方法。
|
|