利用ncverilog进行VHDL语言的仿真,需先建立ncverilog仿真环境,ncverilog的仿真环境下需要两个setup文件,hdl.var和cds.lib两个文件,而VHDL语言一般会调用相应的library,有些library是用户自定义的库,有些library是其他EDA软件的库,这种一般存在于不同的EDA仿真软件之间的移植造成的相应库的移植。比如我们目前一个项目,之前设计师是在modelsim进行仿真验证,调用了modelsim自带的库,现在要转到ncverilog上进行仿真验证。
在ncverilog中如何调用自定义的库,一般的做法是在cds.lib文件中声明自定义库。
仿真目录下的cds.lib文件,首先先要调用ncverilog安装目录下的cds.lib文件,一般采用include /../../cds.lib,目录/../../为ncverilog的安装目录下的cds.lib文件,然后定义worklib,一般的语句为
define worklib ./simtry其中/simtry文件夹是在仿真的run.tcl脚本中利用mkdir
simtry建立,然后声明自定义库,语句为
define jpeg2k_e ./simtry 其中jpeg2k_e为自定义库的名称。
所以仿真目录下的cds.lib文件里的内容一般为
include /../../cds.lib
define worklib ./simtry
define jpeg2k_e ./simtry
然后就是跑仿真的脚本
rm –r simtry
mkdir simtry
ncvhdl -64bit -V200X –work jpeg2k_e -f lib*.f //lib*.f为自定库的全部文件
ncvhdl -64bit -V200X –work worklib -f rtl_VHDL*.f //rtl_VHDL*.f为rtl代码的全部
//件以及tb
ncvlog -64bit –work worklib -f rtl_verilog*.f // rtl_verilog*为verilog的rtl代码
ncelab -64bit –access +rwc –messagesworklib.tb –timescale 1ns/1ps –notimingchecks –log aa.log
ncsim –gui -64bit –nolog worklib.tb
网友评论