vivado
[手把手]Modelsim仿真xilinx IP核(FFT core为例)
最近使用modelsim单独仿真xilinx的IP核,自己摸索了很久,在网上也查阅了很多资料,但是很多教程是比较远古,而且大神们写的比较简练,还有不少资料里面本身就有很多坑,在这里把自己测试的详细(傻瓜)过程分享出来,为小伙伴们躲躲坑。话不多说,开干。
为什么是FFT核呢,无他,用的多。
其他IP类似。
1 开发环境
VIVADO:2018.3
Modelsim:DE 10.6c
安装过程不再细讲,装好就行啦,安装包可以私信。
其他环境待测试。
2 编译器件库
点击vivado菜单栏,Tools>>Compile Simulation Libraries…,具体配置如下:
Simulator:选择Modelsim Simulator,没啥说的。
Language:选All,即使使用的单一Verilog语言编写,也选All,因为部分IP核的仿真文件采用VHDL写的。
Family:选择你使用的型号即可,这里我选K7和V7,全勾选的话会大大增长编译时间。
Compiled library location(编译器件库位置):C:/Xilinx/modelsimlib10.6,默认地址即可。
Simulator executable path(可执行程序路径):C:/modelsim_dlx64_10.6c/win64pe,你所安装Modelsim的位置。
图中所示:
配置好后,点Compile,十几分钟后,compile成功。
3 生成FFT_IP核
这一步不用细讲了吧,相信优秀的小伙伴们信手拈来。
不过既然手把手,就简单说下吧,会的直接下一步。
FFT输入输出不是很复杂,配置上datasheet也说的比较明白。如果有小伙伴想了解的话,再开个帖子单独聊。
FFT IP核的简单配置:
这里IP核的名字采用默认的xfft_0.
设置完成,点OK。
4 配置仿真文件和激励文件
4.1 仿真文件
找到仿真文件。
*如何找:*从IP source里找到刚才新建IP的仿真文件位置:
双击其中一个IP文件即可打开IP核所在路径。
一般路径为:xxxxx\ip\xfft_0. (xxxxx为工程目录)
这个目录就是IP核的所有文件。包括很多model,C,matlab,有兴趣的同学可以好好研究下。这里末尾打开目录xfft_0下的sim文件,找到文件xfft_0.vhd,这就是我们需要仿真的IP核文件。拷贝出来,放到D:\TEST下,作为我们仿真工程目录。
4.2 激励文件
*编写激励文件:*编写仿真的激励文件。
我用的SystemVerilog编写,其他代码类似。代码:
tb_fft.sv
module tb_fft();
bit clk=1'b0;
always #5 clk=~clk;
bit [15:0] s_axis_config_tdata=0;
wire m_axis_data_tvalid;
wire m_axis_data_tlast;
wire event_frame_started;
wire event_tlast_unexpected;
wire event_tlast_missing;
wire event_status_ch