求大神指教关于Verilog-A的几个小问题

LZ最近临时需要用的Verilog-A,现在自己初学了一下,遇到了一些小问题,比较零散,希望有熟悉的大神可以指教一下~1.genvar语句是用来做什么的?是不是定义循环变量i,j这些的时候用到?
2.Verilog-A中的赋值是否只有=和<+,其中的“=”赋值是阻塞还是非阻塞?
3.如果定义了一个多位的 electrical integer signal [3:0]这样,在赋值操作时,是否只能逐位赋值,
而不能像Verilog中直接给 signal[3:0]=4'b0101?
4.如果我想通过时钟上升下降沿触发,如何编写触发条件?
5.cross语句中 @cross(V(a)-1,-1) 逗号后面那个“-1”的意思是什么?

求大神解惑~!跪谢!

你的问题好多,不过还是和你交流一下吧。

    genvar就是你说的这样用。

    Verilog-A中的赋值不存在阻塞与否,“=”用于纯数值赋值,“<+"用于electrical量的赋值。

    既然是electrical类型的就不能是integer量。electrical一般是模拟量。有大量数字信号的建议使用Verilog-AMS。

    就用cross语句即可,当超过Vcc/2时触发

    -1是指cross时的方向,+1为上升,-1为下降。

追问

谢谢啊!还有点小疑问,就是我可能会用到比较多数字型号,位数比较多,这个时候是不是应该用Verilog-AMS? Cadance支持Verilog-AMS吗

追答

可以用Verilog-AMS,也可以分别用Verilog和Verilog-A,组合后再进行ams仿真。Cadence6都支持Verilog-AMS,Cadence5有点记不清了。

追问

非常感谢!

温馨提示:答案为网友推荐,仅供参考
相似回答