采用三步法完成混合语言RTL设计的加载。
step1. 用vhdlcom将所有的VHDL RTL代码编译成库
1.1 将所有的vhdl文件放到vhdl.f文件中,如:
vhdl.f
---------
my_design.vhd
my_lib.vhd
tb_my_design.vhd
1.2 编译成库
vhdlcom -f vhdl.f
编译完成后,在运行路径下可看到自动生成的一个库文件夹work.lib++
注意:
a) 一般情况下vhdlcom命令不需要加其他参数。若出现vhdl版本问题,可考虑
增加-vhdl08等参数:vhdlcom -vhdl08 -f verilog.f
b) 编译后的log为vhdlcomLog/compiler.log
c) -lib 参数可指定一个库名。不指定,则默认库命为work。所有的生成的库
的库名都是自由附加了".lib++"后缀。对于混合仿真vhdl和verilog的库名要保持一致,
否则可能出现其中一个库无法识别的问题(verdi版本为2015,可能后续版本解决了该问
题)。例:vhdlcom -lib mylib -f vhdl.f,生成mylib.lib++库
step2. 用vericom将所有的verilog RTL代码编译成库
2.1 将所有的verilog文件放到verilog.f文件中,如:
verilog.f
---------
my_verilog_design.v
my_verilog_lib.v
tb_top_design.v
以上tb_top_design为顶层设计.
2.2 编译成库
vericom -f verilog.f
编译完成后,可看到work.lib++库中新增了my_verilog_design.tdc等库。(假定vhdlcom时没有指定-lib参数,则库名为work)
注意:
a) 一般情况下vericom命令不需要加其他参数。若出现verilog版本问题,可考
虑增加-2001等参数:vericom -2001 -f verilog.f
b) 编译后的log为vericomLog/compiler.log
c) -lib 参数可指定一个库名。不指定,则默认库命为work。所有的生成的库
的库名都是自由附加了".lib++"后缀。库名与vhdl库名要保持一致,否则可能出现其中
一个库无法识别的问题(verdi版本为2015,可能后续版本解决了该问题)。例:
vericom -lib mylib -f verilog.f,新增的库文件被添加至mylib.lib++库
step3. 用verdi加载已编译的库,并指定top design
3.1 用命令行直接加载
verdi -lib work -top tb_top_design &
3.2 GUI加载
verdi &
打开verdi后:File -〉import design -〉From Library,然后在Library中选
择work库,再在右栏的Design unit中找到tb_top_design, 点击ok完成加载。