Verilog-A 30分钟快速入门教程.pdf

Verilog-A 30分钟快速入门教程.pdf

ID:51497078

大小:203.84 KB

页数:7页

时间:2020-03-25

Verilog-A 30分钟快速入门教程.pdf_第1页
Verilog-A 30分钟快速入门教程.pdf_第2页
Verilog-A 30分钟快速入门教程.pdf_第3页
Verilog-A 30分钟快速入门教程.pdf_第4页
Verilog-A 30分钟快速入门教程.pdf_第5页
资源描述:

《Verilog-A 30分钟快速入门教程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、•进入正题,学了几天的Verilog-A,平台是AgilentADS,主要参考“Verilog-AMSLanguageReferenceManual”和ADS的帮助文档。现在的状态算是入门了,写了个简单的PLL。总结这几天的学习,觉得效率太低,我以前有一定Verilog基础,研一时学过一点VHDL-AMS,学到现在这个状态应该半天就够了;入门的话,30分钟足矣;跟着这个教程走,你会很快了解和熟悉Verilog-A。(前提是有一定的Verilog基础和电路基础)1、基尔霍夫定律撑起了整个电路学的大厦(当然也可以认为基尔霍夫定律只是麦克斯韦方程的简化版),作为模拟电路描述语言Verilog-A,

2、同样将基尔霍夫定律作为其基本,最重要的两个概念便是流量(Flow)和位(Potential),在电学里是电流和电压,在力学里可以是力和距离,在热学里可以是功率和温差,等等。在Verilog-A中,你可以将电阻电容电感等器件用一个方程式来表述,比如I(out)<+V(out)/R,这样就产生了一个电阻,最后Verilog-A仿真器会用某种算法(迭代是最常见的)将I(out)和V(out)求解出来,然后根据这个解去算下一个时刻的I、V等,当然这仅仅是指时域仿真。2、下面讲Verilog-A的语法:beginend//相当于C语言的一对大括号,与Verilog同if(expression)true

3、_statement;[elsefalse_statement;]//与Verilog同case(expression)case_item{case_item}endcasefor(procedural_assignment;expression;procedural_assignment)statement//case与for语句都跟Verilog、C语言类似cross(expr[,dir[,time_tol[,expr_tol]]]);//cross用来产生一个event,如:@(cross(V(sample)-2.0,+1.0))//指sample的电压超过2.0时触发该事件,将会执行

4、后面的语句,+1.0表示正向越过,-1.0则相反ddt(expr)//求导,如:I(n1,n2)<+C*ddt(V(n1,n2));//表示了一个电容idt(expr,[ic[,assert[,abstol]]])//积分,如:V(out)<+gain*idt(V(in),0)+gain*V(in);//比例积分,式中的0表示积分的初值transition(expr[,time_delay[,rise_time[,fall_time[,time_tol]]]])//将expr的值delay一下并指定上升下降沿时间,相当于一个传输门laplace_zp(expr,ζ,ρ)将expr进行拉普拉斯

5、变换,具体表达式参看相关文献,还有laplace_zd()等数据类型:integer、real,另外就是discipline,不知道怎么翻译比较好,比如说它将电压电流这两个nature类型作为一个discipline,这些都在disciplines.vams这个头文件里建好了,编程时要`include"disciplines.vams"。如果要定义一个电路节点,electricalnode_name就好了parameter{real

6、integer}list_of_assignments;//定义参数,如parameterR=50from(0:inf];在一个模块中调另一个模块和Verilo

7、g差不多,如:blk_aa1(Input1,a_b1);blk_aa2(Input2,a_b2);运算符号:+-*/><==&

8、&&

9、

10、^<<>>?:等,跟Verilog一样另外,新加的一个符号<+,这个专门给模拟信号赋值用,注意这个赋值符号是可以累加的,就是说赋两次值的话,它会加起来,而不是覆盖,如://modelinputadmittance(导纳)I(in)<+V(in)/Rin;I(in)<+Cin*ddt(V(in));预处理&宏:`define`else`ifdef`include`resetall`undef跟Verilog差不多3、Verilog-A程序基本结构:`inclu

11、de"disciplines.vams"//预处理moduleload(p);//定义模块,p是端口electricalp,gnd;//定义节点groundgnd;//定义gnd为ground节点,电位为0parameterrealR=50.0;//定义R这个参数并赋初值analog//模拟语句从这开始V(p)<+R*I(p,gnd);//在这里表示一个电阻,表示了输出电压与输出电流的关系endmodule/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。