首页 > 微波/射频 > RFIC设计学习交流 > 求大神指教关于Verilog-A的几个小问题

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

录入:edatop.com    阅读:
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”的意思是什么?
求大神解惑~!跪谢!

顶一下

顶一下

顶一下

1、认为<+相当于<=  5、-1的意思应该是从>0变为<0,有正到负,记忆有限,仅供参考



1.genvar语句是用来做什么的?是不是定义循环变量i,j这些的时候用到?      是的,定义的循环变量用于generate语句。
2.Verilog-A中的赋值是否只有=和<+,其中的“=”赋值是阻塞还是非阻塞?
   Verilog-A 里没有 阻塞和非阻塞 的说法,没有assign和always语句,只有analog begin/end模块,在analog begin/end模块里,“=”是赋值给变量,跟普通的编程里的过程赋值是一样的,按顺序执行;"<+"是赋值给电路节点(电压)或者回路(电流),多条语句对相同的节点或者回路赋值,是会相加的。如下:节点A跟地之间会有3V的电压
   V(A) <+ 1.0;
   V(A) <+ 2.0;

3.如果定义了一个多位的  electrical integer signal [3:0]这样,在赋值操作时,是否只能逐位赋值,
而不能像Verilog中直接给 signal[3:0]=4'b0101?
   有这样的定义electrical integer ? 两个都是关键字,没这样尝试过。
    electrical signal [3:0] ;这样写都不一定支持, integer signal [3:0];应该可以,是一个数组,需要分开赋值。
4.如果我想通过时钟上升下降沿触发,如何编写触发条件?
   electrical CLK;
    @cross( (V(CLK)-V(VDD,GND)/2), +1)  begin ... end   //上升沿
    @cross( (V(CLK)-V(VDD,GND)/2), -1)   begin ... end   //下降沿

5.cross语句中   @cross(V(a)-1,-1)   逗号后面那个“-1”的意思是什么?
    +1: 向上穿过零轴
     -1: 向下穿过零轴

这编辑器,怎么改改格式就重复了。



    太感谢了!至于那个electrical integer是我自己搞错了,的确没有这个定义法!

申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程

上一篇:请教下有做压力传感器接口ADC的没有
下一篇:转载:智能手机最多需要8颗温度传感器

射频和天线工程师培训课程详情>>

  网站地图