学习笔记:hspice仿真Verilog-a
hspice仿真Verilog-a。以放大器,例如:输入5V电压,要求输出放大5倍
1 新建一个名为 .va 文件,例如:amp_5x.va 。编辑文本,添加以下Verilog-a代码:
注:文件名称必须和model名称相同
`include "constants.vams" // 包含标准常量定义
`include "disciplines.vams" // 包含电学域定义module amp_5x(in, out); // 模块名:amp_5x,端口:in(输入)、out(输出)input in; // 声明输入端口output out; // 声明输出端口electrical in, out; // 定义端口为电学节点parameter real gain = 5; // 可选:定义增益参数(默认值5)analog begin// 核心公式:输出电压 = 输入电压 × 增益V(out) <+ gain * V(in); // 使用 <+ 表示连续时间赋值end
endmodule
2 新建一个sp网表,调用amp_5x.va模块,例如:test_amp_5x.sp,并添加以下代码:
* Inverter Circuit
.hdl amp_5x.va
.OPTION POST* 输入信号:1V正弦波(频率1kHz)
* Vin in 0 SIN(0 1 1k)
VS in 0 PWL (
+ 0.0n 0
+ 30.0n 0
+ 30.2n 5
+ 45.0n 5
+ 45.2n 0
+ 60.0n 0
+ 60.2n 5
+ 75.0n 5
+ 75.2n 0
+ 90.0n 0)* 调用放大器模型
X1 in out amp_5x // X<实例名> <输入节点> <输出节点> <模型名>* 输出负载电阻(可选)
Rload out 0 1k* 瞬态仿真:0~2ms,步长1us
.tran 0.2n 100n 0 0.1n
* 输出波形
.print V(in) V(out)
* 关闭仿真
.end
3 打开hspice软件仿真
3.1 编译Verilog代码,查看是否存在错误(可以跳过)
点击CompileVA → 点击Browse选择要相应的.va文件 → 点击 Compile → 查看是否存在错误 → Close。
注:编译后会生成amp_5x.pvadir文件夹,通过pvaCG.log文件可以查看编译结果,存在错误时,需要修改代码,重复步骤3.1
3.2 仿真verilog
回到Hspui界面,点击Browse,选择test_amp_5x.sp文件,点击Simulate
注:点击Simulate仿真结束后,弹出的对话框会自动消失,同时会生成 .lis .st0 .tr0 .pa0等文件。若只有.lis 文件表明存在错误,可以打开 .lis文件 查看错误原因,修改代码,重复步骤3.2。
3.3 查看结果波形
在步骤3.2之后,直接点击WaveView,弹出WaveView框并自动显示test_amp_5x.tr0文件,点击test_amp_5x.tr0→toplevel,双击对应波形名称即可查看波形。