在进行FPGA项目开发时,经常需要使用第三方仿真工具进行仿真,如果每次都需要从Vivado调用第三方仿真工具则会比较麻烦。本公众号之前多次分享脱离vivado建立单独仿真环境的文章:摆脱Vivado单独建仿真环境的终极解决方案,【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化,用Modelsim独立仿真带Vivado IP核的仿真工程,如何用ModelSim 独立仿真ISE的仿真工程。还介绍过一些FPGA项目开发时如何搭建仿真环境的文章:【干货】推荐一款FPGA仿真调试鸟枪换炮的工具!,[干货]用ModelSim搭建可看代码覆盖率的千兆以太网控制器的仿真环境!Modelsim中使用TCL脚本编写do文件实现自动化仿真。最近,我们把之前搭建脱离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所示:
本软件免安装,通过点击FPGA_simulate_tool.exe文件即可执行,如图2所示:
2 输入
根据GUI界面的提示输入需要执行的命令。
运行软件后,首先会根据选择生成不同的输出文件,选择“自动化仿真生成工具”,输入提示信息后,点击生成“开始生成”,会生成自动化仿真工程,如图3所示,其中所有rtl文件存放在rtl文件夹下,include文件存放在inlcud文件夹下,sim文件存放do文件和批处理文件。
本软件在Window 10的python可执行环境下示例操作。自动化仿真生成工具使用步骤如下:
步骤1:首先选择源仿真工具和目的仿真工具。源仿真工具可供选择的有:ModeSim、Questasim,目的仿真工具可供选择的有ModeSim、Questasim、VCS,如图7所示。
步骤2:输入tb module名字、自动化仿真文件名字,会产生该名字的文件夹,自动化仿真工程在该文件夹里面。
步骤3:选择“创建独立仿真路径”后面的“选择路径”按钮,会让选择路径,选择好后点击“选择文件夹”按钮,选择创建独立仿真路径,如图8所示:
步骤4:点击“选择路径”按钮,选择vivado的do文件路径和win64或.setup路径,整体输入信息如图9所示:
步骤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的自动化仿真,仿真完后输入make verdi,即可用verdi打开波形文件。
上图中双击sim.bat文件即可运行。
说明:建议在原Vivado工程所在的机器上运行该软件提取相关脚本信息,原Vivado工程需要调用第三方仿真工具运行过并保留相应的sim文件夹。如有问题,请检查vivado版本和仿真工具版本,以及编译的vivado仿真库所用的vivado版本和仿真工具版本。
结论
本软件根据预先定义的Python脚本命令,通过用户与GUI界面的交互,输入必要的信息,将原本重复繁琐操作通过辅助软件进行简化,提升了RTL的仿真的工作效率。本软件通过将大量重复性文件和文件夹进行批处理,减少了人力创建文件夹,书写重复代码,人工转化表项等繁琐操作。此外,通过GUI界面的交互,提供了一个可视化界面,极大的提高了软件的可操作性。
软件的百度网盘下载链接:
链接:https://pan.baidu.com/s/1b3mdVGUzWMBC30hBvSO6Hg
提取码:9smh
欢迎大家留言交流使用心得和问题。
作者:石廷澳
责任编辑:潘伟涛
- -THE END- -
往期精选
FPGA技术江湖广发江湖帖
无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。
FPGA技术江湖微信交流群
加群主微信,备注姓名+学校/公司+专业/岗位进群
FPGA技术江湖QQ交流群
备注姓名+学校/公司+专业/岗位进群