ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vcs xprop 仿真的一些理解

2022-07-04 16:01:38  阅读:315  来源: 互联网

标签:仿真 clk rtl level vcs xprop gate


本篇随笔参照vcs user guide,并进行了一个小实验用以加深理解。

在芯片前端开发的后期,验证工程师需要进行xprop仿真验证,之前我只是简单的打开xprop的功能,去回归一些case看会不会fail并进行debug。但是对为什么要进行xprop验证理解的并不是很清楚。

下面是一些我自己的理解:

1. xprop 仿真适用于前期的rtl仿真,对于gate-level仿真是没有任何作用的(下面的例子我会讲到)

2. 在不开xprop的情况下,rtl仿真会忽略掉控制信号中的不定态,给输出赋予一个确定的值。控制信号指的是 :always中的 posege clk,if(clk==1).

Standard RTL simulations ignore the uncertainty of X-valued control signals and assign predictable output values. As a result, RTL simulations often fail to detect design problems related to the lack of X-Propagation. However, the same design problems can be detected in gate-level simulations. With X-Propagation support in RTL simulations, engineers can save time and effort in debugging differences between RTL and gate-level simulation results ---摘抄自vcs 官方user guide

3. xprop的功能就是提前在rtl仿真的过程中可以提前发现gate-level仿真中的一些bug。rtl仿真 with xprop可以节省部分人力去debug rtl 仿真结果与gate 仿真结果的差异。

4.也就是说gate 仿真如果确认没有问题的话,xprop是可以不做的。毕竟xprop发现的问题,gate仿真也是可以发现的。但是目前的情况是一个芯片规模非常大,导致对整个芯片进行gate仿真不现实,这种情况下可以使用xprop,这是xprop 仿真模型的用处所在。

 

下面的例子可以直观的看到开xprop前后仿真结果的不同.

DUT 代码:

 在经过DC工具对 test module 综合之后,网表中是没有always块的,故 xprop对网表仿真没有任何实际用处。

 

波形:

xprop off

 

 

xprop on:

 

 xprop 关闭时,clk 0->x翻转以及x->1翻转 posedge clk会判定为 true;1->x翻转以及x->0翻转 negedge clk 会判定为true。

xprop 打开时,clk如果为x,输出结果也会是X。

 

发现一个目前不理解的情况:

当DUT中的第15行和23行不被注释掉的时候,仿真器的xprop功能是被disable掉了。xprop.log 提示:

 

 当 这两行代码被注释掉之后 xprop.log :

 

标签:仿真,clk,rtl,level,vcs,xprop,gate
来源: https://www.cnblogs.com/linuxiaogang/p/16443221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有