0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

X态产生的原因主要分为哪几种情况

工程师邓生 来源:ICer消食片 作者:ICer消食片 2022-09-21 09:38 次阅读

Verilog中,IC设计工程师使用RTL构造和描述硬件行为。但是RTL代码中的一些语义,并不能够准确地为硬件行为建模。Verilog中定义了4种不同的逻辑值:1、0、X和Z,1和0是真实存在的逻辑电平,Z表示高阻态,X表示未知态。

X态的存在使得仿真结果要么太过于乐观,要么太过于悲观。因此X态如何通过RTL级和门级仿真模型中的逻辑进行传播的,是需要特别关注的。为此,还产生了两种观念,X-optimism和X-pessimism。前者将X值转换为0或1,后者将X值一直传播出去。

X态产生的原因主要分为以下几种情况:

四值变量、寄存器和锁存器未初始化

模块输入端口未连接

总线争用

超出范围的位选择和数组索引

setup/holdtiming violation

testbench中注入X态

VCS对于RTL仿真提供了支持X-Propagation的选项,因为RTL仿真偏向于乐观,导致一些X态传播的bug,无法在正常的RTL仿真阶段发现。但是在Gate-level仿真时会暴露出来,因为Gate-level仿真也更接近实际硬件行为。

我们知道越早的发现bug,所消耗的成本也越低的,故VCS的X-Propagation功能可以更接近Gate-level的X态传播行为,是一种在后仿之前debug的低成本仿真策略。

通常使用带xprop的仿真选项为:

vcs -xprop[=tmerge|xmerge|xprop_config_file]

[-xprop=flowctrl]

[-xprop=nestLimit=]

other_vcs_options

这里就不深入介绍各个选项了,而是介绍三种merge mode:

vmerge mode: 就是Verilog协议规定的X态处理行为;
tmerge mode: 更接近Gate-level仿真,也就是实际硬件行为;
xmerge mode: 相比tmerge mode,对于X态的处理更悲观;

下面举几个实例来看看这三种mode的具体区别

if语句

poYBAGMqa1iAN9L1AAAaDyN41Hg428.jpg


2a872a2e-31d0-11ed-ba43-dac502259ad0.png

在vmerge模式下,使用标准的HDL模拟语义。当控制信号s未知时,输出信号r总是被赋给else语句的值。此时r的值与信号b相同。

在tmerge模式下,当控制信号s未知时,如果输入信号a和b 同,则r的值与a(或b)相同。如果a和b不相同,则r的值为X。

在xmerge模式下,当控制信号s未知时,输出信号r的值始终为X。

case语句

pYYBAGMqa2yAcjB5AAAaYdGEk5c163.jpg

2aa8c756-31d0-11ed-ba43-dac502259ad0.png

在vmerge模式中,使用标准的HDL模拟语义。当控制信号s未知时,输出信号r的值与执行case语句之前保持一致。

在tmerge模式中,当控制信号s未知时,如果a和b相同,r的合并和最终值与a和b 相同。如果a和b不相同,r的合并和最终值为X。

在xmerge模式下,当控制信号s未知时,输出信号r的值始终为X。

边沿敏感表达式

在标准的 Verilog 中,对于时钟信号中以下值的变化会触发上升沿转换:

pYYBAGMqa36AakGqAAAYjGxDTNU262.jpg

如果X被认为是0或1值,那么在 0 -> X 转换中,X可能表示0值,这表示没有转换。X可以表示1值,此时表示上升沿。Xprop仿真考虑了这两种行为并合并了结果。

以下为一个低有效复位的D触发器示例:

2ac552e0-31d0-11ed-ba43-dac502259ad0.png

在三种模式中,如果时钟信号clk从0变成1,即一个上升沿触发,D触发器的输出信号q被赋值为输入信号d。

对于其余四种时钟信号的变化,vmerge模式中,输出信号q被赋值为输入信号d;xmerge模式中,输出信号q被赋值为X;tmerge模式中,q端的结果是当前拍d端和上一拍q端值得merge的结果,如果两者不同,则当前拍锁存X。

latch

poYBAGMqa5GAdxu6AAAWDr2Lc_g610.jpg

2ae3520e-31d0-11ed-ba43-dac502259ad0.png

在vmerge模式下,当控制信号g未知时,输出信号q的值不变。

在tmerge模式下,当控制信号g未知时,分配给q的合并值取决于q和d的值。

在xmerge模式下,当控制信号g未知时,输出信号q的值始终为X。

2b03cce6-31d0-11ed-ba43-dac502259ad0.png

当xprop仿真过程中出现X态报错时,需要看波形以具体分析是寄存器没有初始化值,存在X态导致的,还是代码逻辑中存在问题导致的。

审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    28

    文章

    1352

    浏览量

    110511
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    60013
  • 触发器
    +关注

    关注

    14

    文章

    2019

    浏览量

    61397
  • 逻辑电平
    +关注

    关注

    0

    文章

    161

    浏览量

    14499

原文标题:什么是X态传播?

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    逻辑分析仪的主要特点有哪些?可分为哪几种类型?

    逻辑分析仪的主要特点有哪些?可分为哪几种类型?逻辑分析仪的工作原理是什么?逻辑分析仪通常有哪几种显示方式?
    发表于 04-14 06:35

    显示器接口分为哪几种?如何去保护?

    显示器接口分为哪几种?如何去保护?
    发表于 06-01 07:01

    什么是功放?功放分为哪几种

    什么是功放?功放分为哪几种
    发表于 06-02 07:07

    电路基础部分知识包括哪些?滤波电路主要分为哪几种

    电路基础部分知识包括哪些?电容值对交流电路有什么影响?滤波电路主要分为哪几种
    发表于 06-22 07:49

    请问什么是波导天线?波导天线分为哪几种

    什么是波导天线?波导天线分为哪几种?波导天线的主要应用领域在哪?
    发表于 06-30 06:53

    ARM产品可分为哪几类?ARM处理器主要分为哪几种

    ARM产品可分为哪几类?ARM处理器主要分为哪几种?其处理器的主要特征有哪些?
    发表于 07-01 08:31

    计时器主要分为哪几种?其工作原理是什么?

    计时器的工作原理是什么?计时器包括哪些组成的部分?计时器主要分为哪几种?其工作原理是什么?
    发表于 07-02 07:12

    无刷电机的位置检测器主要分为哪几种?求解

    无刷电机的位置检测器主要分为哪几种?求解
    发表于 07-26 12:38

    UPS的电池寿命主要受到哪几种因素的影响?

    UPS的电池寿命主要受到哪几种因素的影响? 不论密封式的还是溢流式的蓄电池,影响其寿命的主要因素有以下四种:电池的环境温度、电池的化学组成
    发表于 11-06 10:34 2002次阅读

    电容的用途主要哪几种?

    电容的用途主要哪几种?电容的用途非常多,主要有如下几种:     1.隔直流:作用是阻止直流通过而让交流通过。
    发表于 11-27 14:58 1357次阅读

    SMT元器件有哪几种类型

    本文档的主要内容详细介绍的是SMT元器件有哪几种类型。
    发表于 11-27 08:00 3次下载

    哪几种情况下会造成伺服电机抖动

    哪几种情况下会造成伺服电机抖动?怎样才能解决这些伺服电机抖动带来的问题?分别是怎么解决的?
    的头像 发表于 02-22 16:14 2082次阅读

    消防应急灯具按用途分为哪几种?

    消防应急灯具按用途分为哪几种? 消防应急灯具是一种特殊的灯具,广泛用于消防、救援等场合。消防应急灯具按照用途的不同,可以分为多种类型。在本文中,我们将为您详细介绍消防应急灯具按用途分为
    的头像 发表于 08-18 11:57 4835次阅读

    以太网接口分为哪几种接口?车载以太网接口分为哪几种接口?

    以太网接口有哪些?以太网接口分为哪几种接口?车载以太网接口分为哪几种接口? 以太网接口是计算机网络中最常用的接口类型。它是一种基于局域网(LAN)的标准通信协议,用于在网络中传输数据。
    的头像 发表于 08-31 16:56 4980次阅读

    降噪是什么原理 降噪方法分为哪几种

    降噪是什么原理 降噪方法分为哪几种  降噪是指通过一系列技术手段减少或消除环境中存在的噪声干扰,从而提高音频、图像、信号等的质量或清晰度。降噪的原理主要涉及信号处理、数字滤波、统计学等方面的知识
    的头像 发表于 03-14 16:55 8551次阅读