不定态插入与终止

下文引自ee top 博主timme,权作备忘

仿真结果(验证结果)不一样。可能导致RTL仿真通过,而实际电路/后仿结果不通过。换句话说,带不定态插入/不定态终止的RTL代码不利于验证。

不定态终止范例:


 


  1. always@(*)
  2.   if(A)
  3.     Y = B;
  4.   else
  5.     Y = C;



复制代码

当A为不定态时击中else,Y为C。输入有不定态,输出无不定态,即不定态终止。

不定态插入范例:


 


  1. always@(*)
  2.   case(A[1:0])
  3.      2'b00 : Y = B;
  4.      2'b01 : Y = C;
  5.      2'b10 : Y = D;
  6.      default : Y = 'bx;
  7.   endcase



复制代码

当A为2'b11时,Y为不定态。输入无不定态,输出有不定态,即不定态插入。

以上两种都不利于RTL验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值