在波形数据上点右键,“2’s complement” 就是大家计算机课上学的“补码”,
“1’s complement” 是课上讲的“反码”。
signed magnitude:最高位是符号位,0:正数 1:负数 ;低位是绝对值
另外,ncverilog/vcs在仿真时,特别是fifo中存储体往往不会复位,由于读写时钟时序不一致,导致X态在电路中传播,影响仿真(实际电路中未被复位的存储体初值是随机的)。往往需要给仿真器添加选项,强制给未被赋初值的存储体赋值:
NC:
针对数组(寄存器组)类型:
ncelab -INITMEM0(初值0)
ncelab -INITMEM1(初值1)
针对寄存器类型:
ncelab -INITREG0
ncelab -INITREG1
VCS:
+vcs+initreg+random
仿真选项为+vcs+initreg+0|1|random|seed_value。
这样整个仿真的初值由仿真选项指定。random和seed_value表示初值为随机值,这是比较符合真实芯片特性的行为。seed_value主要是从可复现的角度来进行随机,种子相同时,随机出来值是一样的。以上初值设置对整个设计都是生效的