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

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

3天内不再提示

以工程的形式来介绍ModelSim的仿真使用

FPGA技术江湖 来源:FPGA技术江湖 作者:FPGA技术江湖 2022-03-11 09:51 次阅读

本篇将以工程的形式来介绍ModelSim仿真使用,工程一般由:根目录+源码+work库+资源库+仿真设置+元数据组成,其中元数据就是工程的一些设置数据,会以一个 .mpf 后缀的文件存在于指定路径,在这之中会包换:编译的设置,编译顺序还有文件的映射之类的。 开始今天的使用吧~

创建工程

将本篇使用到的文件放置到自己的工程路径下,然后选择菜单栏 File > New > Project

960eea6a-907d-11ec-952b-dac502259ad0.png

在弹出的界面中填写工程的名字、工程的路径、以及工程默认库的名字,使用默认的work就好了、还有就是初始化配置文件的路径,配置文件选安装路径下的modelsim.ini即可,然后选择Copy Library Mappings,这样就可以把这个文件直接加到这个工程中了,使用Reference也可以;

96225b86-907d-11ec-952b-dac502259ad0.png

都填好后,直接OK,这时就改进入工程的设置了,由于是一个空的工程,所以系统会弹出添加东西到工程的窗口,在这窗口,可以创建新的文件、添加已有的文件、创建仿真的配置以及创建文件夹,因为已经准备好了文件,所以就直接点 Add Existing File;

963a3706-907d-11ec-952b-dac502259ad0.png

点完后,又出现了一个新的窗口,提示要从哪添加文件,点Browse,然后将counter.v和tcounter.v加进来,最下方的选项,因为工程已经和这两个文件在一个目录下了,所以选择Reference即可,如果是其他路径下的,就可以考虑Copy过来进行管理;

964e65b4-907d-11ec-952b-dac502259ad0.png

接着OK,然后Close掉添加东西到工程的界面,这时候注意Project的栏中,多了刚添加的两个文件,且Status显示的是一个蓝色问号,这代表该文件还未编译;Order就是两者的一个编译顺序以及文件改动的时间;

9667ea3e-907d-11ec-952b-dac502259ad0.png

文件编译

95a79ed2-907d-11ec-952b-dac502259ad0.png95b7df40-907d-11ec-952b-dac502259ad0.png

如果想改变编译顺序,右键 > Compile > Compile Order

96b9845c-907d-11ec-952b-dac502259ad0.png

使用这两个箭头来改变文件的编译顺序,点Auto Generate 就会以Top层开始进行编译,如果顺序不正确,它也会自动循环跑,然后找到这个Top层往下一层层的编,可以的话,就自己用箭头先把顺序按正确的来设置好。

96cffb06-907d-11ec-952b-dac502259ad0.png

除了用上面的Auto来编译外,还可以直接单个编译,或者选全部编译,图中两个箭头所指。

96e1a5d6-907d-11ec-952b-dac502259ad0.png

编译成功后,状态会变为绿色的勾,如果代码出问题了,就是个红色的X,这时候就有根据Transcript 的信息去改代码了,跳到Library的窗口,从原本empty的状态变为了一个带 + 号的状态。

96f9fcf8-907d-11ec-952b-dac502259ad0.png

点开 + 号,可以看到两个编译的结果,名字、类型和路径都在信息里,选中test_counter,右键 > Simulate,进入仿真界面。

970f4626-907d-11ec-952b-dac502259ad0.png

在Sim窗口含仿真文件的层次结构,接着的基本仿真使用就和上一篇的一样了。

9727c250-907d-11ec-952b-dac502259ad0.png

在Transcript窗口输入:quit -sim,退出仿真,准备接下来的。

文件管理

95a79ed2-907d-11ec-952b-dac502259ad0.png95b7df40-907d-11ec-952b-dac502259ad0.png

因为是举例,所以使用到的文件比较少,但是平常做项目的适合,文件就多了,这时候如果没有管理好文件的类别,那就看着有点头疼了,接下来用文件夹的形式来管理文件; 在刚开始创工程的时候,就有个Create New Folder的选项,可以在这时候就创建好文件夹,在工程创建好后还需要新建文件夹来管理,就接着往下操作; 回到Project的窗口,右键 > Add to Project > Folder ,在弹出的窗口输入文件夹的名字,按正常的文件夹格式来对文件夹取名就好了,然后OK。

9760f2a0-907d-11ec-952b-dac502259ad0.png

在Project窗口中也多了一个文件夹的图标。

976afb4c-907d-11ec-952b-dac502259ad0.png

只有一个文件夹的话,显然,如果是一堆文件,那就还需要做细分,这边就按激励文件和模块文件来分类,继续 右键 > Add to Project > Folder ,填写子文件夹的名字,且将该文件夹放置在Design Files的文件夹下,然后OK。

97808372-907d-11ec-952b-dac502259ad0.png

重复上述的操作,再加入一个Source的子文件夹,然后效果如下。

9797b164-907d-11ec-952b-dac502259ad0.png

然后就该把文件添加到对应的文件夹下进行管理了,选中 counter.v(如果是多个文件,就选中多个) 然后右键 > Properties。

97ad9394-907d-11ec-952b-dac502259ad0.png

在属性窗口,可以从 Place In Folder 看到文件放在Top层,修改它,将其放置在Source层,然后OK。

97bf39c8-907d-11ec-952b-dac502259ad0.png

重复上述操作,将tcounter.v放入testbench文件夹下,这时的效果如下。

97d7afe4-907d-11ec-952b-dac502259ad0.png

会发现状态又变成了问号,这是因为改变了文件的位置,工程已经不知道编译结果是否依然有效,所以需要重新编译才能继续使用。

仿真配置

95a79ed2-907d-11ec-952b-dac502259ad0.png95b7df40-907d-11ec-952b-dac502259ad0.png

仿真配置就是将模块和仿真的选项存在了一个文件中,然后直接使用该文件就可以自动按设置好的启动仿真,举个例子:假设你的某个模块需要对仿真的时间精度然后还需要做一些自检啥的,这时候就可以直接用配置文件来操作,以省去不必要的步骤。 在Project窗口 右键>Add to Project > Simulation Configuration ,在出现的界面中,填入配置文件的名字,以及放置的文件夹,这边选则放在testbench文件夹下;

981c0298-907d-11ec-952b-dac502259ad0.png

接着选中work库下的 test_counter,仿真精度(Resolution)改为ps。

983378c4-907d-11ec-952b-dac502259ad0.png

选中Verilog的窗口,将Enable hazard checking (-hazards) 的选项打勾,然后点Save进行保存。

987aa01e-907d-11ec-952b-dac502259ad0.png

在文件夹下就有了该仿真配置,直接双击它。

98902344-907d-11ec-952b-dac502259ad0.png

然后在Transcript 窗口可以看到仿真的命令和之前的有了一些不同,是按照刚刚的设置启动了仿真。

98a34776-907d-11ec-952b-dac502259ad0.png

结束

95a79ed2-907d-11ec-952b-dac502259ad0.png95b7df40-907d-11ec-952b-dac502259ad0.png

本篇关于仿真工程的使用就介绍到这了,如果工程未关闭,下次启动modelsim时,则会自动打开该工程,要关闭的话,File > Close Project ,再点“是”就好了。

98e4ed66-907d-11ec-952b-dac502259ad0.png

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

    关注

    50

    文章

    3872

    浏览量

    132163
  • 源码
    +关注

    关注

    8

    文章

    573

    浏览量

    28589
  • ModelSim
    +关注

    关注

    5

    文章

    172

    浏览量

    46757

原文标题:Modelsim的仿真之路(仿真工程的使用)

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

收藏 人收藏

    评论

    相关推荐

    ISE 关联 Modelsim 详细操作

    在两者之间即可,然后保存。 第三步,打开ISE,在菜单Edit-Preferences…,调出设置窗口。 设置好之后就到了最后一步,在新建工程时,选择对应的modelsim即可,在看仿真时正常打开就行了。
    发表于 03-22 18:55

    最实用的Modelsim使用教程

    Quartus II建立工程时,设置 modelsim 作为仿真软件,或者是在Assignments——>EDA Tool Settings进行设置。 三、 Modelsim
    发表于 03-19 16:40

    【基于Lattice MXO2的小脚丫FPGA核心板】02ModelSim仿真

    ModelSim软件用于FPGA的模块仿真 软件安装 ModelSim仿真软件随着Diamond一同安装,软件的安装和证书申请流程很简单可以参考电子森林Lattice Diamond教
    发表于 02-29 08:25

    Modelsim报错, -novopt 开关打开,仿真失败

    在使用紫光同创PDS和Modelsim联合仿真时,modelsim报错不会解决,如下图
    发表于 02-18 10:26

    如何使用 ModelSim 进行设计仿真

    ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程 序进行仿真,支持IEEE常见的各种硬件描述语言标准。可以进行两种语言的混合仿真,但 推荐
    发表于 01-14 09:47 0次下载

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

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

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

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

    使用modelsim仿真时为什么会出现error呀?

    使用modelsim仿真时为什么会出现error呀
    发表于 08-12 07:57

    将vivado的仿真器改成modelsim仿真modelsim的transcript没法打印出e203实时运行的信息怎么解决?

    原来仿真使用的是vivado simulator,最近将vivado的仿真器改成modelsim,发现仿真的时候modelsim的trans
    发表于 08-11 09:47

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

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

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

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

    Vivado调用Modelsim仿真

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

    modelsim自动化仿真实验 利用脚本实现modelsim自动化仿真

    大家好!今天给大家带来的是modelsim自动化仿真程序。我们在代码编写完成时,通常都需要先进行仿真,然后上板实验。但是如果我们每次仿真都要去新建一个
    的头像 发表于 07-19 10:10 1068次阅读
    <b class='flag-5'>modelsim</b>自动化<b class='flag-5'>仿真</b>实验 利用脚本实现<b class='flag-5'>modelsim</b>自动化<b class='flag-5'>仿真</b>

    MES50HP——PDS与Modelsim联合仿真教程

    1.打开仿真库编译: 打开工程,点击 PDS 的【tools】 菜单下的【Compile Simulation Libraries】。 2.设置: 【Simulator】:第三方仿真工具
    发表于 06-26 10:45

    【正点原子DFPGL22G开发板体验】ModelSim 的安装和使用 FPGA开发仿真

    填写工程名,这里的命名方式,我们建议大家最好根据仿真的文件进行命名,时间久了,当我们记不得这个仿真工程是用来
    发表于 04-30 17:24