寄存器的初值是由综合工具(synthesis tool)决定下来的,综合synthesis过后,电路网表就确定了,初值也就决定了。换句话说,初值不会随后端的布局布线过程影响。但是如果没有针对 性的规则来约束综合synthesis,那么一次编译后的初值和上一次编译的初值是有可能不一样的,当然更多的时候是一样的。
FPGA芯片内部有一个上电检测模块,一旦检测到电源电压超过检测门限后,就产生一个上电复位脉冲(Power On Reset)送给所有的寄存器.
对于某个特定的寄存器,POR的作用是RST还是SET, 完全取决于编程到FPGA的FUSE
bit。而FUSE值在综合(synthesis)之后,事实上已经完全确定了.
FPGA的寄存器只能配置为RST或者SET两种模式之一,而不能同时支持RST和SET。
RST或者SET信号的极性是可编程的。
每一个寄存器都可以配置为受全局复位(GSR)控制,或者局部复位(LSR)控制。
FPGA有一个上电检测电路,上电检测电路产生上电复位POR,POR的作用取决于FUSE的配置。除了上电,重新加载FPGA也会产生POR。
POR 是 SET 还是 RSET 取决于 设计中的代码,也就是在设计中复位时 初值是 1 ,那么上电就是 1 ,初值是0 ,上电就是0 ;如果在设计中寄存器没有复位值,那么上电后就不一定了,或者也可以通过编译选项设置。
文章评论(0条评论)
登录后参与讨论