如何使用modelsim/questasim独立仿真xilinx的IP

1. 编译xilinx IP的库

  • 这部分在网上有很多教程,也可查看高亚军《vivado从此开始》4.1.2小节。

2. 构建仿真元素

2.1 创建工程

2.2 编写RTL代码、添加IP

2.3 搭建 testbench

2.4 编写脚本文件 [重点]

  • 和altera的IP仿真类似,不过xilinx是单独把需要仿真用到的IP添加进来。可以通过查阅proj.srcs/sources_1/ip/ip_name/sim/IP.v文件,查看该IP仿真所需的IP类型和版本。
  • 在仿真命令中使用 -L 将所需的IP库添加到仿真的工程中。
quit -sim
.main clear

vlib work
vmap work work

vlog ./../*.srcs/sources_1/new/OC.v

# 编译源文件
vlog ./../*.srcs/sources_1/find_init_ref.v
vlog ./../*.srcs/sources_1/code_density_init.v
vlog ./../*.srcs/sources_1/find_alter_ref.v
vlog ./../*.srcs/sources_1/code_density_alter.v
vlog ./../*.srcs/sources_1/kind_judge.v
vlog ./../*.srcs/sources_1/new/kind_judge_aver.v
vlog ./../*.srcs/sources_1/edge_gen.v

vlog ./../*.srcs/sources_1/kind_judge_upload.v

# 编译IP文件
vlog ./../*.srcs/sources_1/ip/Fxx_ram/sim/*.v
vlog ./../*.srcs/sources_1/ip/clk_need_update_ref_ram/sim/*.v
vlog ./../*.srcs/sources_1/ip/kind_judge_aver_fifo/sim/*.v
vlog ./../*.srcs/sources_1/ip/kind_judge_fifo/sim/*.v
vlog ./../*.srcs/sources_1/ip/edge_mem/sim/*.v


# 编译 testbench
vlog ./OC_tb.v

# 开始仿真 注意需要连接 xilinx 的IP库
vsim -L D:/Questasim/Questasim_xlib/blk_mem_gen_v8_4_2 -L D:/Questasim/Questasim_xlib/fifo_generator_v13_2_3  -t ns -voptargs=+acc work.OC_tb


add wave -divider {tb}
add wave  -radix unsigned  OC_tb/*
add wave -divider {find_alter_ref_inst}
# add wave  -radix unsigned  OC_tb/OC_dut/find_init_ref_inst/*
# add wave  -radix unsigned  OC_tb/OC_dut/code_density_init_inst/*
add wave  -radix unsigned  OC_tb/OC_dut/find_alter_ref_inst/*


# add wave -divider {inst}
# add wave  -radix unsigned  OC_tb/OC_dut/*

# run 1us
run -all

猜你喜欢

转载自blog.csdn.net/qq_43445577/article/details/115255784
今日推荐