0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用vivado联合modelsim仿真

FPGA之家 来源:FPGA之家 2023-03-14 10:55 次阅读

ModelsImFPGA仿真中最常见的软件之一。可以单独利用Modelsim来仿真或者通过开发工具调用来联合仿真。至于用哪一种方法呢?那就取决于个人的喜好了,经过一段时间的对比,目前我比较趋向于利用开发工具联调来仿真。主要有以下优势:

联调仿真分析,操作简单。你几乎不需要手动敲Tcl指令就可以进行仿真,自动化程度更高。

与单独用Modelsim建立工程仿真相比,联调仿真一般在仿真是所需要调用的库,软件会自动分析,不需要自己筛选仿真所需的库文件,且不容易出错。这一优势在你仿真工程中带有大量IP核、原语的时候,会体现得淋漓尽致。

在仿真时候,多个测试用例仿真时,层次结构更加清晰。

本文就如何利用vivado联合modelsim仿真进行简要说明。

1.仿真前具体设置

利用vivado先编译好modelsim仿真所需要的库。存放在某个文件夹中,方便以后调用。我的习惯一般将库放到modelsim的安装目录下,新建一个文件夹来存放新编译的库。如下图所示文件夹叫vivado2017_lib。方便区分,我就以我用的vivado版本来命名。

2ba7bb14-c210-11ed-bfe3-dac502259ad0.png

修改modelsim.ini文件,将库添加到modelsim的启动中。具体做法在介绍modelsim仿真一文有详细说明,这里不展开。

接Vivado的相关设置。主要包含以下4步,其中第4步是把仿真库指向前一个步骤编译出来的库文件。第5步是指向modelsim启动程序的路径。

2bafeda2-c210-11ed-bfe3-dac502259ad0.png

2bcf2ce4-c210-11ed-bfe3-dac502259ad0.png

以上即做好了联合仿真前的准备设置工作了。

2.仿真步骤

工程准备完毕后,添加好仿真所需文件(testbench/仿真激励模块)。例如下图中,1是我准备要仿真的工程。2是仿真的顶层文件即测试用例,3是仿真包含的内容,包括需要仿真的文件(UDT),仿真激励,例如时钟以及复位产生文件等。其中UDT即仿真对象是可综合的文件。

2bd4b5b0-c210-11ed-bfe3-dac502259ad0.png

激活当前仿真的测试用例,就可以开始仿真了。

问题1:如何保留我这一次的观察信号设置?

具体操作步骤如下:

2be9bc9e-c210-11ed-bfe3-dac502259ad0.png

为了方便保留这一次仿真中的一些观察信号以及设置,我们可以把它保存下来。在modelsim软件呢中,点击保存,想这次的相关设置保存好do文件。注意:为例避免被覆盖掉,一般不能取默认的命名,建议将do文件命名与对应的测试用例对应上。

问题2:怎样还原上一次的仿真波形等设置?

在下一次启动modelsim的时候,选择File—>LoadàMacro_File,然后选择上一次保留的设置文件即可。

2beffe42-c210-11ed-bfe3-dac502259ad0.png

问题3.如何添加多个测试用例文件?

通过下述步骤添加仿真文件。例如不同的testbench等。

2c255eac-c210-11ed-bfe3-dac502259ad0.png

针对多个testbench的情况,通过设计set_as_top选择来激活当前testbench,从而决定该次仿真的测试用例。如下图的工程中,包含了2个测试用例,当前激活的是tb02。

2c2b3c28-c210-11ed-bfe3-dac502259ad0.png

3.可能出现的问题

联合仿真的时候,有时候并不像单独利用modelsim仿真的那样,会弹出错误日志方便你定位。有时候有些错误(例如语法错误,编译顺序的问题,中文路径或者缺乏某个文件导致没能仿真成功)会导致vivado一直卡住了,没能够走到调用modelsim的不骤。那么碰到这种情况,我们可以去哪找到日志呢?

以我建的工程为例,一般在vivado存放仿真工程的路径中,可以找到compile.log和simulate.log这两个日志文件,方便定位。

2c4bc628-c210-11ed-bfe3-dac502259ad0.png

4.仿真文件管理建议

一个好的仿真文件管理习惯,有助于快速还原当初的仿真环境,有助于定位问题。

2c55f1a2-c210-11ed-bfe3-dac502259ad0.png

最起码可以在仿真文件中包含以下几个子文件夹,其中HDL用于存放仿真是所编写的一些文件,例如仿真的时钟产生模块、外围芯片模型等;TB_PTN用于存放不同的测试用例,即不同的testbench。Wave文件用于存放针对不同testbench下观察信号的设置等等。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602986
  • 仿真
    +关注

    关注

    50

    文章

    4070

    浏览量

    133552
  • ModelSim
    +关注

    关注

    5

    文章

    174

    浏览量

    47162
  • 编译
    +关注

    关注

    0

    文章

    657

    浏览量

    32852
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66470

原文标题:4.仿真文件管理建议

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何用Python实现VivadoModelSim仿真自动化?

    我们在Windows系统下使用Vivado的默认设置调用第三方仿真器比如ModelSim进行仿真时,一开始仿真软件都会默认在波形界面中加载t
    的头像 发表于 09-13 09:23 1273次阅读
    如何用Python实现<b class='flag-5'>Vivado</b>和<b class='flag-5'>ModelSim</b><b class='flag-5'>仿真</b>自动化?

    怎样单独使用modelsim仿真xilinx呢?

    直接在modelsim软件内执行.do文件进行仿真,不通过vivado调用modelsimvivado仅用于生成IP核。
    的头像 发表于 12-04 18:26 1453次阅读
    怎样单独使用<b class='flag-5'>modelsim</b><b class='flag-5'>仿真</b>xilinx呢?

    ISE和Modelsim联合仿真_修订版

    ISE和Modelsim联合仿真_修订版
    发表于 01-26 22:44

    quartus + modelsim 联合仿真问题

    quartus+modelsim联合仿真的时候,但有的.v源文件进行仿真前,需要把它设置为顶层模块(源文件并没有语法错误),然后将工程分析和综合后,点击RTL simulation,就
    发表于 08-07 13:39

    ISE和modelsim联合仿真的问题

    用ISE和modelsim联合仿真,每次在ISE修改程序后必须把原来打开的modelsim关闭了再重新打开吗?
    发表于 02-21 20:40

    vivado 修改源代码后,modelsim重新加载波形,如何操作???

    我使用的是vivado软件和modelsim联合仿真,但是每次vivado中的测试文件修改之后,我都是关闭
    发表于 12-15 20:53

    ISE联合Modelsim进行仿真

    ISE联合Modelsim进行仿真,里面介绍得非常详细
    发表于 01-12 15:01

    关于Vivadomodelsim仿真常见问题处理

    :/modeltech64_10.4”下的modelsim.ini文件夹的属性,具体的操作参照ISE和modelsim联合仿真库编译步骤。2、 v
    发表于 10-16 19:43

    使用vivado仿真仿真时,modelsim的transcript界面无法输出C程序的printf语句是为什么?

    我现在将vivadomodelsim做了联合仿真,用来仿真蜂鸟e203协处理器扩展实现的功能。现在的问题是:使用
    发表于 08-11 06:44

    基于vivado平台和modelsim仿真和应用测试

    很多人用zynq平台做视频图像开发,但是对vdma了解比较少,上手起来稍微有些困难,我针对这一现象,做了一个基于vivadomodelsim仿真和应用测试工程,并写篇文章做些介绍,希望能对大家有帮助。
    发表于 06-30 14:33 5684次阅读
    基于<b class='flag-5'>vivado</b>平台和<b class='flag-5'>modelsim</b>的<b class='flag-5'>仿真</b>和应用测试

    使用Vivado 2017调用Modelsim的详细步骤

    本次使用的Vivado版本为Vivado_2017.3版本,从Xilinx官方文档可以了解到,该版本的Vivado只支持Modelsim10.6或者更高版本,但是笔者只有
    发表于 03-30 09:51 1.7w次阅读
    使用<b class='flag-5'>Vivado</b> 2017调用<b class='flag-5'>Modelsim</b>的详细步骤

    Vivado调用Questa Sim或ModelSim仿真小技巧

    Vivado调用Questa Sim或ModelSim仿真中存在的一些自动化问题的解决方案。 Vivado调用Questa Sim仿真中存在
    的头像 发表于 09-02 10:12 8474次阅读
    <b class='flag-5'>Vivado</b>调用Questa Sim或<b class='flag-5'>ModelSim</b><b class='flag-5'>仿真</b>小技巧

    VivadoModelSim联合仿真操作

    Vivado自带的仿真,个人觉得跑一些小模块的仿真还是可以的,不过跑大的仿真系统,容易无体验感,建议用第三方工具,这边就直接对ModelSim
    的头像 发表于 03-11 11:32 7979次阅读

    Vivado调用Modelsim仿真

    Modelsim是十分常用的外部仿真工具,在Vivado中也可以调用Modelsim进行仿真,下面将介绍如何对
    的头像 发表于 07-24 09:04 3731次阅读
    <b class='flag-5'>Vivado</b>调用<b class='flag-5'>Modelsim</b><b class='flag-5'>仿真</b>

    vivado软件和modelsim软件的安装方法

    本文详细介绍了vivado软件和modelsim软件的安装,以及vivado中配置modelsim仿真设置,每一步都加文字说明和图片。
    的头像 发表于 08-07 15:48 5122次阅读
    <b class='flag-5'>vivado</b>软件和<b class='flag-5'>modelsim</b>软件的安装方法