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