- initreg功能的目的
初始化操作只是针对Verilog代码,这个功能的目的在于减少门级仿真时初始化的时间,避免门级仿真时X的传播,导致逻辑行为异常。
- 常用选项
Compile time: +vcs+initreg+random
+vcs+initreg+config+initfile
Runtime: +vcs+initreg+0/1/random/seed
+vcs+initreg+config+initfile
- +vcs+initreg+random模式
Compile time【ELAB】 |
Runtime【RUN】 |
备注 |
+vcs+initreg+random |
+vcs+initreg+0 |
所有变量、寄存器、存储器等初始化为0 |
|
+vcs+initreg+1 |
所有变量、寄存器、存储器等初始化为1 |
|
+vcs+initreg+random |
所有变量、寄存器、存储器等初始化为随机值 |
|
+vcs+initreg+seed |
Seed为种子数值,但不能为0,1 |
注意避免下列冲突:
1、 避免当变量定义时初始化值与该选项时配置的初始值不同;
2、 避免当变量在仿真0时刻初始化值与该选项时配置的初始值不同;
3、 避免对状态机状态变量初始化为x