在真实系统verilog上建模z

在真实系统verilog上建模z,verilog,system-verilog,Verilog,System Verilog,我正在制作一个非常简单的输出驱动器模型,它可以有3个输出电平。它也可以关闭。我想做的是将其建模为一个实数,这样我就可以为三个级别分配不同的数字。我不确定如何模拟“关闭”状态。我发现了一些关于使用inf或NaN对z进行实数建模的讨论,但这似乎不是一个固定的论点。这是一个由两部分组成的问题: 1 NaN是在真实系统verilog上建模z的正确方法吗 2如何在系统verilog中分配NaN?这项工作: realnum = 0.0/0.0; 但这样做似乎有点困难。是否已经有一个确定的方法来获取NaN

我正在制作一个非常简单的输出驱动器模型,它可以有3个输出电平。它也可以关闭。我想做的是将其建模为一个实数,这样我就可以为三个级别分配不同的数字。我不确定如何模拟“关闭”状态。我发现了一些关于使用inf或NaN对z进行实数建模的讨论,但这似乎不是一个固定的论点。这是一个由两部分组成的问题:

1 NaN是在真实系统verilog上建模z的正确方法吗

2如何在系统verilog中分配NaN?这项工作:

realnum = 0.0/0.0;
但这样做似乎有点困难。是否已经有一个确定的方法来获取NaN

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


编辑:澄清我为什么要这样做:此模型将是顶层示意图中的单元视图,我将在网络列表中列出。我无法进行2位输出,因为原理图只有一根导线。

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

如果您只想表示3状态+关闭,是否更容易将输出建模为2位信号?根据实数,变量不能包含“Z”和“X”