前言
笔者最近需要用ADS进行建模操作,因此学习了一些Verilog-A的知识,浅浅记录一下建模流程。
1.在ADS软件中使用Verilog-A建模流程
在ADS软件中可以直接创建Verilog-A面板,以对一个50欧姆的电阻建模为例,其代码为:
// VerilogA for MyLibrary2_lib, cell_1, veriloga
`include "disciplines.vams"
module R(p,n);
electrical p,n;
parameter real R=50.0;
analog V(p,n) <+ R * I(p,n);
endmodule
代码完成后需要创建模型对应的Symbol,返回原理图界面,在原理图上画出端口如图所示:
Note:端口的名字需要和Verilog-A代码中的端口名字保持一致。
然后点击原理图上方的[Window],选择[Symbol],弹出[Symbol Generator]窗口,此处笔者保持默认,点击[OK],即成功生成了一个两端口模型。
之后返回到ADS主界面,对Verilog-A代码进行编译操作,如果没有问题出现会提示successfully compiled.
我们可返回到Symbol界面查看参数情况,点击[file],选择[Design Parameters],便可看到定义的参数R为50。
下面进行模型的测试,新建原理图如下所示,进行直流仿真分析。
原理图绘制完毕后,必须要选择Verilog-A模型,否则会默认选择原理图仿真,原理图仿真为断路,如下图所示:
查看直流探针结果,为20mA证明建模成功。
2.Verilog-A代码
2.1电容
代码如下:
// VerilogA for MyLibrary2_lib, capacitance_model, veriloga
`include "discipline.h"
`include "constants.h"
module capacitance_model(P1,P2);
inout P1,P2;
electrical P1,P2;
parameter real c = 1p;
analog
I(P1,P2) <+ c*ddt(V(P1,P2));
endmodule
测试电路如下:
测试结果如下:
2.2理想混频器
代码:文章来源:https://www.toymoban.com/news/detail-467887.html
// VerilogA for MyLibrary2_lib, cell_1, veriloga
`include "disciplines.vams"
module M(RF,LO,IF);
electrical RF,LO,IF;
analog V(IF) <+ V(RF) * V(LO);
endmodule
测试电路:
测试结果分析,和频4 GHz,差频2 GHz。
文章来源地址https://www.toymoban.com/news/detail-467887.html
到了这里,关于基于ADS软件的Verilog-A建模的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!