赞
踩
平台:Modelsim10.5b,前提为安装了Quartus 任一版本
虽然说的是所谓的Modelsim独立仿真,不需要经过Quatyus启动Modelsim软件,但本质上还是使用的Quartus的仿真库。
基于之前的 Modelsim 独立仿真,本次在上述内容中更新了脚本文件对IP核仿真的支持,具体内容见下方文件:
#/*================================================*\ # Filename ﹕ start.do # Author ﹕ Adolph # Description ﹕ Modelsim 仿真脚本文件 # Called by ﹕ No file #Revision History ﹕ 2022-4-19 # Revision 1.0 # Email ﹕ adolph1354238998@gmail.com #\*================================================*/ #此脚本文件存放于工程文件夹下的tb子文件夹 #在 modelsim 的 transcript 窗口执行的时候使用 # do filename.do 命令后,自动执行仿真 #编译仿真库 transcript on if ![file isdirectory verilog_libs] { file mkdir verilog_libs } vlib verilog_libs/altera_ver vmap altera_ver ./verilog_libs/altera_ver vlog -vlog01compat -work altera_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/altera_primitives.v} # d:/intelfpga/18.1/quartus/eda/sim_lib/ 前述地址为Quartus 本地安装路径 vlib verilog_libs/lpm_ver vmap lpm_ver ./verilog_libs/lpm_ver vlog -vlog01compat -work lpm_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/220model.v} vlib verilog_libs/sgate_ver vmap sgate_ver ./verilog_libs/sgate_ver vlog -vlog01compat -work sgate_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/sgate.v} vlib verilog_libs/altera_mf_ver vmap altera_mf_ver ./verilog_libs/altera_mf_ver vlog -vlog01compat -work altera_mf_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/altera_mf.v} vlib verilog_libs/altera_lnsim_ver vmap altera_lnsim_ver ./verilog_libs/altera_lnsim_ver vlog -sv -work altera_lnsim_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/altera_lnsim.sv} vlib verilog_libs/cycloneive_ver vmap cycloneive_ver ./verilog_libs/cycloneive_ver vlog -vlog01compat -work cycloneive_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/cycloneive_atoms.v} if {[file exists rtl_work]} { vdel -lib rtl_work -all } vlib rtl_work vmap work rtl_work #编译 testbench文件 vlog **_tb.v #编译 设计文件(位于工程文件夹下的rtl子文件夹) vlog ../rtl/.v #vlog ../rtl/.v #vlog ../rtl/.v #编译 IP文件 vlog ../rtl/.v #指定仿真顶层模块 #-L altera_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 #-L lpm_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 #-L sgate_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 #-L altera_mf_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 #-L altera_lnsim_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 #-L cycloneive_ver 这几个为可选项,用到谁的IP,就添加谁,不清楚就全部保留 vsim -t 1ps -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L cycloneive_ver -L rtl_work -L work -voptargs="+acc" tb_name_tb #添加信号到波形窗 add wave -position insertpoint sim:/tb_name_tb//* run -all
以下述代码为例:
vlib verilog_libs/altera_ver
vmap altera_ver ./verilog_libs/altera_ver
vlog -vlog01compat -work altera_ver {d:/intelfpga/18.1/quartus/eda/sim_lib/altera_primitives.v}
文中的tb_name_tb为仿真文件名称
花括号中所使用的路径为本地PC上Quartus安装的相关路径,其内包含相应的仿真库文件:如下
内有Verilog HDL和VHDL的仿真库文件,由于本人所用开发语言为Verilog,故脚本文件中所调用的文件为.v类型的。
仿真运行之后,可以见到相应的仿真库都被添加到了Modelsim的Library中:
这里仿真FIFO的例子也成功的跑起来了:
有兴趣的童鞋可以试一下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。