当前位置:   article > 正文

Modelsim 仿真 IP 核_modelsim导入ip核

modelsim导入ip核

平台: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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75

以下述代码为例:

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}
	
  • 1
  • 2
  • 3
  • 4

文中的tb_name_tb为仿真文件名称
在这里插入图片描述

花括号中所使用的路径为本地PC上Quartus安装的相关路径,其内包含相应的仿真库文件:如下
在这里插入图片描述
内有Verilog HDL和VHDL的仿真库文件,由于本人所用开发语言为Verilog,故脚本文件中所调用的文件为.v类型的。
仿真运行之后,可以见到相应的仿真库都被添加到了Modelsim的Library中:
在这里插入图片描述
这里仿真FIFO的例子也成功的跑起来了:
在这里插入图片描述
有兴趣的童鞋可以试一下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/693264
推荐阅读
相关标签
  

闽ICP备14008679号