【问题标题】:Modeling z on a real in system verilog在系统verilog中对z建模
【发布时间】:2013-12-08 14:25:25
【问题描述】:

我正在制作一个非常简单的输出驱动器模型,它可以有 3 个输出电平。它也可以关闭。我想要做的是将其建模为真实的,以便我可以为三个级别分配不同的数字。我不确定要模拟“关闭”状态。我发现了一些关于使用infNaN 以实数建模z 的讨论,但这似乎不是一个确定的论点。所以这是一个两部分的问题:

1) NaN 是在系统 verilog 中在 real 上建模 z 的正确方法吗?

2) 如何在系统 verilog 中分配NaN?这有效:

realnum = 0.0/0.0;

但这样做似乎有点麻烦。是否已经定义了获取NaN 的方法?

做我想做的事情的正确方法可能是使用verilog-AMS,但我想避免使用支持这种简单模型的模拟器的许可证。

编辑:澄清我为什么要这样做:这个模型将是顶层原理图中的单元视图,我将在网表中列出。我不能做 2 位输出,因为原理图只有一根线。

【问题讨论】:

  • 如果您只想表示 3 个状态 + 关闭,将输出建模为 2 位信号会更容易吗?根据Asic-World“实变量不能包含'Z'和'X'”

标签: verilog system-verilog


【解决方案1】:

1800-2012 LRM 添加了一个新功能6.6.7 用户定义的网络类型,但我认为大多数供应商尚未实施。同时,您可以创建自己的解析函数,并在需要的地方手动插入它们,将您的实数转换为 4 态值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    相关资源
    最近更新 更多