我正在制作一个输出驱动器的非常简单的模型,它可以有3个输出电平。它也可以关闭。我想要做的是将其建模为真实,这样我就可以为三个级别分配不同的数字。我不确定如何对“关闭”进行建模。州。我发现了一些关于在实数中使用inf
或NaN
来模拟z
的讨论,但它似乎并不像是一个固定的参数。所以这是一个2部分的问题:
1)NaN
是在系统verilog中对z
建模real
的正确方法吗?
2)如何在系统verilog中分配NaN
?这有效:
realnum = 0.0/0.0;
但这似乎是一个很好的做法。是否已经定义了获取NaN
的方式?
做我想做的正确方法可能是使用verilog-AMS,但我想避免使用许可证来支持这种简单模型的模拟器。
编辑:澄清我为什么要这样做:这个模型将是我将网表的顶级原理图中的单元格视图。我不能做2位输出,因为原理图只有一根电线。
答案 0 :(得分:0)
新功能 6.6.7用户定义的网络类型已添加到1800-2012 LRM中,但我认为大多数供应商尚未实施。在此期间,您可以创建自己的分辨率函数,并在需要的地方手动插入它们,将真实值转换为4态值。