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

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

3天内不再提示

如何脱离Vivado建立单独仿真环境软件呢?

FPGA技术江湖 来源:网络交换FPGA 2023-09-27 09:25 次阅读

开发目的

FPGA项目开发的过程中,需要完成设计代码开发、验证环境搭建、仿真分析、板级验证等操作,在这个过程中,许多操作虽然必不可少但是步骤是重复的。辅助软件通过预先定义的处理模式,对一些重复性复杂操作通过Python辅助软件使操作简化以提高项目开发效率。独立仿真可以不依赖Vivado,简化仿真步骤,但建立独立仿真往往需要复杂繁琐的步骤,所以简化建立独立仿真的步骤很有必要。

重要的是,有了脱离Vivado建的第三方仿真工具单独的环境,为FPGA工程后续ASIC化提前搭建好仿真环境,只把用到的库和相关文件从Vivado库里抽取出来,同时,每次仿真时不用启动非常占资源的Vivado软件,直接运行仿真脚本即可。同时,软件生成的仿真环境后也可以手动进行优化调整,按照用户自己熟悉的仿真习惯进行定制化修改。

功能描述

该软件用于提升FPGA仿真效率,节省仿真时间和步骤。本软件可以建立独立仿真,生成Questasim、modesim或VCS环境下的独立仿真,可视化界面,更加方便用户操作。

RTL设计完后会进行仿真Vivado内自带仿真器,或者可以通过Vivado启动第三方仿真工具联合仿真。但是在实际项目开发过程中,当我们修改代码后,需要关闭仿真软件并重启仿真,之前加载的波形信号也需要重新加载。因而很多时候,我们希望脱离Vivado,利用Modelsim或者VCS等第三方仿真工具,提高仿真效率;在这个过程中,通过提取工程中的代码文件和IP核信息文件,缩减工程所占用的内存空间,方便项目开发人员同步及备份。该软件建立独立仿真首先会提取源仿真工具、目的仿真工具,了解要建立哪种环境下的独立仿真。

还要提取自动化仿真文件名和创建独立仿真的路径,用于建立独立仿真文件夹,该文件夹有rtl和sim两个文件夹,仿真用到的文件都会放到该文件夹里面。然后会提取tb的module名字和vivado生成do文件路径,该软件会根据路径和tb的module名字找到Vivado生成do文件,提取do文件里面的信息,把对应文件放到自动化仿真文件夹里面。提取目的仿真工具的win64和.setup文件的路径,用于建立批处理文件和makefile文件。提取完信息后,点击“开始生成按钮”即完成建立自动化仿真操作。

该软件在可执行python的环境下均可以运行,在实际项目测试中,能够自动生成自动化仿真工程,减少仿真对vivado的依赖,减少了大量的重复性操作。

为了方便项目开发人员对辅助软件的使用,辅助软件需要具有良好的可视化操作界面,在完成一些基本参数的配置后,可一键式完成复杂操作。GUI界面如图1所示:

2d010bd2-5cc5-11ee-939d-92fbcf53809c.png

使用说明

1 安装和初始化

本软件免安装,通过点击FPGA_simulate_tool.exe文件即可执行,如图2所示:

2d13c2ea-5cc5-11ee-939d-92fbcf53809c.png

2 输入

根据GUI界面的提示输入需要执行的命令。

3 输出

运行软件后,首先会根据选择生成不同的输出文件,选择“自动化仿真生成工具”,输入提示信息后,点击生成“开始生成”,会生成自动化仿真工程,如图3所示,其中所有rtl文件存放在rtl文件夹下,include文件存放在inlcud文件夹下,sim文件存放do文件和批处理文件。

2d1bbf18-5cc5-11ee-939d-92fbcf53809c.png

操作步骤

本软件在Window10的python可执行环境下示例操作。自动化仿真生成工具使用步骤如下:

步骤1:首先选择源仿真工具和目的仿真工具。源仿真工具可供选择的有:ModeSim、Questasim,目的仿真工具可供选择的有ModeSim、Questasim、VCS,如图7所示。

2d2139a2-5cc5-11ee-939d-92fbcf53809c.png

步骤2:输入tbmodule名字、自动化仿真文件名字,会产生该名字的文件夹,自动化仿真工程在该文件夹里面。

步骤3:选择“创建独立仿真路径”后面的“选择路径”按钮,会让选择路径,选择好后点击“选择文件夹”按钮,选择创建独立仿真路径,如图8所示:

2d340ae6-5cc5-11ee-939d-92fbcf53809c.png

步骤4:点击“选择路径”按钮,选择vivado的do文件路径和win64或.setup路径,整体输入信息如图9所示:

2d3b4aea-5cc5-11ee-939d-92fbcf53809c.png

步骤5:点击“开始生成”按钮,生成独立仿真工程,生成成功会显示“PASS”。如图10所示。其中独立仿真工程目录在D盘文件夹“bus0123_40_25_NO_UDP_1”,文件名为“2”。该文件夹下内容如图11所示,其中所有rtl文件在rtl文件夹下,所有include文件在include文件夹下。

当目的仿真工具选择“modelsim”或者“questasim”,sim文件夹内容如图12所示。其中.coe文件是源vivado工程的RAM的初始化文件,不是该软件生成的文件。filelist.f文件存放所有需要编译的rtl列表,run.do文件是用于自动化仿真,sim.bat和sim_fast_no_gui.bat是批处理文件,以上四个文件都是该软件生成。点击sim.bat或者sim_fast_no_gui.bat即可运行仿真工具进行自动化仿真,其中sim_fast_no_gui.bat省去了仿真工具的GUI界面,可以加速仿真速度。

当目的仿真工具选择“VCS”时(虽然Vivado联合VCS仿真时有自带的一键转换到VCS仿真的功能,但本文软件提供的是一种更直接的脱离方式,把用到的库和所有文件单独提取出来放到一个文件夹中,便于分享,也便于为ASIC化的IP替换创建必要的环境),sim文件夹内容如图13所示。其中.coe文件是源vivado工程的RAM的初始化文件,不是该软件生成的文件。

filelist.f文件存放所有需要编译的rtl列表,makefile是自动仿真文件,输入make即可进行VCS的自动化仿真,仿真完后输入makeverdi,即可用verdi打开波形文件。

2d527dfa-5cc5-11ee-939d-92fbcf53809c.png

2d6a0f60-5cc5-11ee-939d-92fbcf53809c.png

2d70aa8c-5cc5-11ee-939d-92fbcf53809c.png

上图中双击sim.bat文件即可运行。

2d830c40-5cc5-11ee-939d-92fbcf53809c.png

说明:建议在原Vivado工程所在的机器上运行该软件提取相关脚本信息,原Vivado工程需要调用第三方仿真工具运行过并保留相应的sim文件夹。如有问题,请检查vivado版本和仿真工具版本,以及编译的vivado仿真库所用的vivado版本和仿真工具版本。

结论

本软件根据预先定义的Python脚本命令,通过用户与GUI界面的交互,输入必要的信息,将原本重复繁琐操作通过辅助软件进行简化,提升了RTL的仿真的工作效率。本软件通过将大量重复性文件和文件夹进行批处理,减少了人力创建文件夹,书写重复代码,人工转化表项等繁琐操作。此外,通过GUI界面的交互,提供了一个可视化界面,极大的提高了软件的可操作性。






审核编辑:刘清

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

    关注

    1629

    文章

    21736

    浏览量

    603421
  • FPGA设计
    +关注

    关注

    9

    文章

    428

    浏览量

    26518
  • 仿真
    +关注

    关注

    50

    文章

    4082

    浏览量

    133613
  • 仿真器
    +关注

    关注

    14

    文章

    1018

    浏览量

    83746
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59790
  • GUI
    GUI
    +关注

    关注

    3

    文章

    660

    浏览量

    39681
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84690
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66539

原文标题:脱离Vivado建立单独仿真环境软件

文章出处:【微信号:HXSLH1010101010,微信公众号:FPGA技术江湖】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于PFGA的脱离Vivado单独仿真环境工程

    做FPGA样机和做芯片的思路其实是有差异的。为了追求好的性能,节省成本,降低功耗(PPA),芯片设计者往往把事情做到极致,去做验证时把各种覆盖率尽可能做到100%,把每个模块电路结构优化到面积最小,通过Power Gating和Clock Gating等技术把功耗降到最低,争取把每次流片(烧钱)的风险降到最低;相比芯片设计流程,FPGA样机的开发人员往往不太注重上述要求,虽然有着与做芯片相同的目标和追求,但往往因为FPGA的可编程性,即便后续发现问题,也可
    的头像 发表于 12-03 12:53 1304次阅读

    FPGA开发Vivado仿真设计案例分析

    仿真功能概述 仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性。Vivado设计套件支持如下仿真工具:Vivado
    的头像 发表于 12-31 11:44 5210次阅读
    FPGA开发<b class='flag-5'>Vivado</b>的<b class='flag-5'>仿真</b>设计案例分析

    如何用Python实现Vivado和ModelSim仿真自动化?

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

    怎样单独使用modelsim仿真xilinx

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

    如何使用vivado仿真zynq7000ov5640程序

    如何使用vivado仿真zynq7000ov5640程序?麻烦各位大哥给个思路,如何模拟摄像头的时序和数据
    发表于 08-29 09:37

    基于linux系统实现的vivado调用VCS仿真教程

    在linux系统上实现vivado调用VCS仿真教程 作用:vivado调用VCS仿真可以加快工程的仿真和调试,提高效率。 前期准备:确认安
    的头像 发表于 07-05 03:30 1.1w次阅读
    基于linux系统实现的<b class='flag-5'>vivado</b>调用VCS<b class='flag-5'>仿真</b>教程

    介绍一下xilinx的开发软件vivado仿真模式

    本文介绍一下xilinx的开发软件 vivado仿真模式, vivado仿真暂分为五种仿真
    的头像 发表于 05-29 13:46 8228次阅读

    Vivado软件仿真DDS核的过程中应该注意的问题

    本人需要利用Vivado软件中的DDS核生成一个正弦信号。由于后期还要生成线性调频信号,如果直接编写代码生成比特流文件下载到板子上进行验证会使工作的效率大大下降,所有想利用Vivado软件
    发表于 07-13 08:32 9806次阅读

    Vivado 开发教程(四) 行为仿真

    本文介绍如何在教程(三)基础上, 关联ELF输出文件并使用vivado对系统进行行为仿真
    发表于 03-01 10:25 24次下载
    <b class='flag-5'>Vivado</b> 开发教程(四) 行为<b class='flag-5'>仿真</b>

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

    调用第三方仿真软件查看波形的过程中存在的一些问题。 1、添加新的观测信号需要重新仿真 Vivado直接调用Modelsim/QuestaSim进行仿
    的头像 发表于 09-02 10:12 8501次阅读
    <b class='flag-5'>Vivado</b>调用Questa Sim或ModelSim<b class='flag-5'>仿真</b>小技巧

    vivado仿真流程

    vivado开发软件自带了仿真工具,下面将介绍vivado仿真流程,方便初学者进行仿真实验。
    的头像 发表于 07-18 09:06 4492次阅读
    <b class='flag-5'>vivado</b><b class='flag-5'>仿真</b>流程

    Vivado调用Modelsim仿真

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

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

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

    仿真系统软件的架构是什么

    仿真系统软件的架构是什么? 智慧华盛恒辉仿真系统软件的硬件载体大部分为专用计算机设备,并且通常没有外围设备用于测试过程中的监测或观察。而有
    的头像 发表于 10-13 17:19 632次阅读

    使用JTAG仿真器在vivado环境下抓信号时报错咋办?

    在使用JTAG仿真器在vivado环境下抓信号时,报如下错误:
    的头像 发表于 11-14 10:37 4377次阅读