当前位置:   article > 正文

modelsim脚本仿真(二)带quartus的IP核工程仿真_modelsim 调用quartus ip

modelsim 调用quartus ip

仿真以调用quartus的pll为例

我把工程打包发出来了。
链接: sim_ip.

1.文件夹结构


prj为quartus工程sim为modelsim仿真脚本以及tb文件。

2.使用quartus调用pll IP核

先在prj里新建pll工程,然后调用pll对应的IP核(这里过程略过,我将自己的IP核命名为pll,存放在ip文件夹中),完成之后进入PLL的IP文件夹会生成一个pll_sim文件夹,在这里面在会有一个.vo文件,这个要拿出来与顶层一起编译。
需要用到的有rtl顶层例化和IP文件夹里的.vo文件
在这里插入图片描述
ip文件夹:
在这里插入图片描述
pll_sim文件夹:
在这里插入图片描述
我们在编译的时候需要编译这个文件夹中的pll.vo
我们使用的是modelsim,这个软件是mentor公司的,quartus在生成IP的时候会把各个仿真软件的脚本同时生成出来,也就是在mentor文件夹中的tcl脚本文件,我的工程生成的是msim_setup.tcl

2.1顶层文件例化

module my_pll(
	input clk_50,
	input rst_n,
	output clk_100,
	output locked
	
);

pll pll1( 
	.locked		(locked),
	.outclk_0	(clk_100)	,
	.refclk		(clk_50),
	.rst			(rst_n)
	);

endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2.仿真设计

主要文件如下:
在这里插入图片描述

如图主要有4个文件,sim.bat是Windows脚本,用于启动modelsim的,sim.do就是我们的modelsim脚本,tb_pll.v就是测试文件,msim_setup.tcl为前面所说的quartus生成的用于modelsim的脚本文件。

2.1.sim.bat文件内容:

modelsim -do sim.do
  • 1

2.2. tb_pll.v文件:

`timescale 1ns/1ps
module tb_pll();


reg clk_50;
reg rst_n;

wire clk_100;
wire locked;

my_pll pll0(
	.clk_50		(clk_50),
	.rst_n 		(rst_n),
	. clk_100  ( clk_100),
	.locked (locked)
);

always begin #3 clk_50 = 1; #3 clk_50 = 0; end

initial
begin
	rst_n = 1;
	#10
	rst_n = 0;
	#10
	#1000
	$stop;
end
endmodule
  • 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

2.3.设计仿真脚本sim.do

transcript on
if {[file exists dyq_work]} {
	vdel -lib dyq_work -all
}
#编译quartus器件库
do msim_setup.tcl 
dev_com

#在sim下新建自己的库dyq_work
vlib dyq_work  
vmap work dyq_work

#编译源代码,对于IP核部分,要编译前面说的vo文件,而不是v文件
vlog  ../prj/ip/pll_sim/pll.vo
vlog  ../prj/rtl/*.v
vlog  ../sim/*.v


#这里设置仿真精度,-L是映射库
vsim -t 1ps -L altera_ver -L lpm_ver -L sgate_ver -L altera_mf_ver -L altera_lnsim_ver -L cyclonev_ver -L cyclonev_hssi_ver -L cyclonev_pcie_hip_ver -L dyq_work -L work -voptargs="+acc"  tb_pll

#添加波形
add wave *

view structure
view signals
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

3.仿真

以上完成之后双击bat文件就可以直接打开modelsim进行仿真了。如果启动不了,那就是环境变量没有配置好。
在这里插入图片描述
编译完后的sim文件夹:
在这里插入图片描述

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

闽ICP备14008679号