FPGA开发技能(4)Vivado关联仿真ModelSim

目录

前言        

1.vivado调用modelSim方法

2.modelsim仿真步骤

3.modelsim仿真xilinx器件

4.传送门

前言        

Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,他它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件(以上介绍来自百度百科),基于此FPGA领域仿真器主流的选择便是modelsim。xilinxUG973建议了每一个版本的vivado都会有一个对应的modelsim版本。这里使用的是vivado2020.2与modelsim10.6c之对应。

1.vivado调用modelSim方法

1.打开vivado2020.2软件,不要打开工程,如图选择。库路径可自定义一个文件夹。注意路径不带空格和中文。按照如下所示,告诉vivado modelsim的安装路径,生成的库保存的路径。

 2.编译modelsim需要使用的vivado的库,如下所示。

 3.按照如下配置,器件选择越多时间也就越长,我选的K7和A7用时在20分钟以上。路径中第一个第二个与上面描述路径一致。

4.等待编译结束。

5.编译完成之后,打开一个vivado工程,作如下配置。此处Simrom_ip是该工程中的仿真文件名称。每打开一个新的工程,都要设置一遍此步骤。

6.以上设置完成之后,点击vivado中Run Simulation—>Run behavioral Simulation就会自动弹出modelsim软件和仿真结果。

2.modelsim仿真步骤

第一节描述的是在vivado中调用modelsim这个第三方的仿真器进行代码仿真,modelsim作为一个独立的仿真工具,它也有创建工程->编写代码->编译->仿真的流程,本节介绍modelsim工具的使用,指示从无到有跑完一个仿真。

1.打开Modelsim,选择File--New--Library,在弹出的界面中为一个新建的库选择路径和名字。默认叫work。

2. 再次File--New---Project为新建的工程起一个工程名。之后选择Create New File为文件输入名字sim_top。

 3.上一步创建一个功能模块,输入以下代码并保存。

module clk_div(
    input clk_in,
    input rst_n,
    output reg clk_out
);
always @(posedge clk_in or negedge rst_n)
    begin
        if(!rst_n)
            clk_out <= 0;
        else 
            clk_out <= clk_out;
    end
endmodule

4.用同样的方法为该文件添加testbench文件,使用vs code 的verilog testbench插件执行代码创建的过程,它可以帮助创建一些格式化的代码,功能定义还是要自己书写,具体该插件的使用方法见上一篇文章,链接在文末。添加的仿真代码如下:

`timescale  1ns / 1ps
module tb_clk_div;
// clk_div Parameters
parameter PERIOD  = 10;
// clk_div Inputs
reg   clk = 0 ;
reg   rst_n  = 0 ;
// clk_div Outputs
wire  clk_out            ;    
initial
begin
    forever #(PERIOD/2)  clk=~clk;
end
initial
begin
    #(PERIOD*2) rst_n  =  1;
end
clk_div  u_clk_div (
    .clk_in                  ( clk       ),
    .rst_n                   ( rst_n     ),
    .clk_out                 ( clk_out   )
);
endmodule

5.添加代码完毕之后, 保存并编译,注意这里的编译与vivado中的编译不同,这里仅是把代码变成modelsim方便处理的格式。

编译完成之后,状态由“?”变成了“√”

6.在库里选择testbench文件,右键选择simulate,开始仿真。

7.添加信号到波形图, 单击快捷按钮开始,完成仿真示例演示。

3.modelsim仿真xilinx器件

本文第一节配置了vivado调用modelsim的环境, modelsim独立工作的时候也可以仿真xilinx的器件,前提就是把第一节编译生成的库添加到modelsim中即可。第一节设置的vivado器件库路径vivado_lib在编译库动作结束之后会生成一个modelsim.ini的文件,在modelsim的安装路径下面有一个同名文件,把新生成的modelsim文件中,“secureip=D:/Softwares/ModelSim/vivado_lib/secureip”字段及其以下,直到[vcom]字段以上的部分复制到modelsim安装路径下同名文件的“vital2000 = $MODEL_TECH/../vital2000”字段以下,具体操作如下图所示,需要注意,modelsim路径下的文件是只读文件需要先调整属性在修改。

添加完成后重新打卡modelsim可以看到xilinx的仿真器件库被添加进来如下图所示:

4.传送门

我的主页https://blog.csdn.net/weixin_40615338?type=blog

FPGA开发必备技能汇总导航

上一篇:FPGA开发技能(3)Vivado关联VS Code文本编辑器 

下一篇:FPGA开发技能(5)Vivado添加列表中不存在的FLash器件

                                                                        END                                                                         


💎文章原创,首发于CSDN论坛。 
💎欢迎点赞💖收藏✨打赏💷!
💎欢迎评论区🎤或私信指出错误🎤,🗣️提出宝贵意见或疑问。


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA小油条

原创不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值