微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Xilinx器件中,寄存器型时序变量如果不指定初始值,配置完成后是全零值还是随机值?

Xilinx器件中,寄存器型时序变量如果不指定初始值,配置完成后是全零值还是随机值?

时间:10-02 整理:3721RD 点击:
在《xilinx可编程逻辑器件技术详解》中提到,如果不进行初始化,默认值为全零,但又无法从Xilinx官网上找到相应支持,其综合手册里只提到初始化的有效性,
我自己试验的结果似乎确实如该书提到的这样,但一个同事又说他碰到不是这样的,大家有权威些的解答吗?

http://www.eefocus.com/article/10-03/94264s.html,该书的相关链接

默认是零,但如果改变初值可以更省资源,理论上会变更初始值。

默认都是全零。包括没有连接输入的信号。

基本是是默认为0,如果你人品不好,也可以为1,所以一定要有初始化

各位大大有权威的资料解答吗?为这个问题困扰一段时间了,目前看来,加上初始化还是必不可少的

不一定的,跟你逻辑设计有关。
如果你的寄存器是使用的置位功能,SRINIT1,初始即为1
如使用复位功能,SRINIT0,初始即为0,
如两个都没有使用,默认为SRINIT0,初始为0
其实,xilinx的fpga存在一个配置后全局复位,该信号会在配置后驱动所有DFF的SR端,所以配置后的DFF初始值就跟你设计中DFF所配置的SRINIT值相关了。



    小编的意思我明白,但这是Slice的底层接口,而事实上多数寄存器型变量是通过代码推断出来的,即用户自己编写的时序型变量,对这样的变量,没有初始化,没有复位,配置完成后其初始值能保证是全零吗?



   能的,如果你不放心,可以使用INIT约束
   比如说你要寄存器i初始值为0,可以在verilog里面这样描述
   (* INIT = "0" *)
   reg i;

mark一下  这个也不是很清楚

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top