nanosim和vcs都是synopsys的工具,二者联合起来可以比较方便的进行数字模拟混合仿真。最近研究了一下混合仿真的过程,可以进行初步的混合仿真。
仿真平台的结构为:Top level (Verilog RTL)
|
|-->RTL sub module(用来产生激励和比较模拟电路输出结果)
|
|-->hspice sub ckt(在RTL中以模块形式例化)
相关的命令和配置文件:
编译RTL和网表文件:"vcs -f vfile.f ad -l vcs_comp_lvs.log"
其中vfile.f包括了需要编译的RTL文件。参数 ad表示要进行混合仿真,需要模拟相关的配 置信息文件,该文件默认为vcsAD.init。
vcsAD.init文件:该文件指令用于仿真模拟电路的程序和模拟电路网表名称,命令包括
choose nanosim -n ../netlist/sim_control_lvs.sp -c cfg -t 60e-6 -Q;
//该命令选择nanosim仿真工具,设定了网表文件和配置信息文件cfg,并设定了仿真时间长度。
set bus_format _%d //设定了总线格式
cfg文件:该文件为nanosim的配置文件,里面可以设定仿真精度及接口域值转换电平等信息,比如,
set_sim_eou sim=3 model=3 ;仿真精度可分七级,从1到7,精度依次提高。
set_node_thresh 0.35 1 v=0 evt=0
执行完以上编译命令后,生成了二进制的simv文件,直接运行simv即可开始仿真。
需要提示的是,RTL中调用模拟电路子电路,接口名子必须一致,在RTL中可以用总线形式描述电路中的接口。
在RTL中可以dump出数字信号波形为VCD文件。模拟网表中可以保存模拟信号波形为nanosim.out文件。这两个波形文件都可用Verdi的debussy打开察看。
文章评论(0条评论)
登录后参与讨论