【发布时间】:2013-12-08 14:25:25
【问题描述】:
我正在制作一个非常简单的输出驱动器模型,它可以有 3 个输出电平。它也可以关闭。我想要做的是将其建模为真实的,以便我可以为三个级别分配不同的数字。我不确定要模拟“关闭”状态。我发现了一些关于使用inf 或NaN 以实数建模z 的讨论,但这似乎不是一个确定的论点。所以这是一个两部分的问题:
1) NaN 是在系统 verilog 中在 real 上建模 z 的正确方法吗?
2) 如何在系统 verilog 中分配NaN?这有效:
realnum = 0.0/0.0;
但这样做似乎有点麻烦。是否已经定义了获取NaN 的方法?
做我想做的事情的正确方法可能是使用verilog-AMS,但我想避免使用支持这种简单模型的模拟器的许可证。
编辑:澄清我为什么要这样做:这个模型将是顶层原理图中的单元视图,我将在网表中列出。我不能做 2 位输出,因为原理图只有一根线。
【问题讨论】:
-
如果您只想表示 3 个状态 + 关闭,将输出建模为 2 位信号会更容易吗?根据Asic-World“实变量不能包含'Z'和'X'”