FPGA寄存器的上电初值

2020-02-27 21:16发布

PGA内部寄存器的上电初值是什么? 有说是低的,有说是高的, 也有说和器件相关的,还有些人说是不确定. 对于一个系统来讲, 用户并不在意初值是高电平,或者是低电平, 用户真正关心的是寄存器的初值是不是确定可预测的,也就是说每次编译,每次上电的初值是不是一致的。
来举个例子,有个客户在调试FPGA设计,在头一个月编译的几百次结果中,一个寄存器的初值一直都是低电平。某一天改了一部分看似不相关的代码之后,这个寄存器的初值从此之后就变成高电平了。这种情况通常会让用户不知所措,非常痛苦。后来在我们的一起努力下,采用了一些措施,最终可以控制寄存器的初值.
那么到底是什么?简单说,寄存器的初值是由综合工具(synthesis tool)决定下来的,综合synthesis过后,电路网表就确定了,初值也就决定了。换句话说,初值不会随后端的布局布线过程影响。但是如果没有针对性的规则来约束综合synthesis,那么一次编译后的初值和上一次编译的初值是有可能不一样的,当然更多的时候是一样的。本文后面会对这个现象作进一步分析的.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
nongfuxu
1楼-- · 2020-02-28 15:49
LZ钻得挺深。
jank121
2楼-- · 2020-02-28 20:03
altera的可以直接赋初始值,
reg [3:0] myreg = 4’b0101 ;这个在verilog的最新语法标准中明确指出,是可以进行综合的。
qingniao929
3楼-- · 2020-02-29 00:26
 精彩回答 2  元偷偷看……
j22718282
4楼-- · 2020-02-29 01:09
赞一个  你的寄存器图是自己画的还是哪里找来的?
GoldSunMonkey
5楼-- · 2020-02-29 04:32
j22718282 发表于 2013-9-7 17:05
赞一个  你的寄存器图是自己画的还是哪里找来的?

肯定软件里面的图啊
GoldSunMonkey
6楼-- · 2020-02-29 05:19
qingniao929 发表于 2012-10-15 14:20
我只记得某些寄存器配置前是必须赋初值的,比如状态机。。。,其它不关心的变量不赋值得,貌似大部分时间都 ...

现在可能不大一样了

一周热门 更多>