基于ADS软件的Verilog-A建模

前言

笔者最近需要用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理想混频器

代码:

// 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。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值