1 基于ModelSim使用四ModelSim手动仿真教程-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

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

3天内不再提示

基于ModelSim使用四ModelSim手动仿真教程

FPGA之家 来源:数字积木 作者:数字积木 2021-07-23 11:10 次阅读

4.1 新建仿真工程

在开始动手仿真之前,首先,我们需要创建一个文件夹用来放置我们的 ModelSim 仿真工程文件,这里我们就在之前创建的 Quartus 工程目录下的 simulation 文件夹中创建一个manual_modelsim 文件夹。

manual_modelsim 文件夹创建好以后,我们还需要将已经编写好的Verilog 仿真文件和 Testbench 仿真文件添加至我们的 manual_modelsim 文件夹中,这里我们就将自动仿真时用到的 Verilog_First.v 文件和 Verilog_First.vt 文件复制到 manual_modelsim文件夹。

Verilog_First.v 文件在我们的 Quartus II 工程目录下,Verilog_First.vt 文件在我们的Quartus II 工程目录下 simulation 文件夹下的 modelsim 文件夹中。完成以上准备工作之后,我们就可以打开 ModelSim-Altera 10.1d (Quartus II 13.1)软件了,这里我们需要注意的是,我们打开的 ModelSim 软件版本是 ModelSim-Altera Starter Edition 免费版本

打开软件之后,我们在 ModelSim 软件界面的菜单栏中找到【File】→【New】→【Project】菜单并点击打开,弹出的对话框如图

我们从对话框中可以看到,Project Name(工程名)就是用来设置我们的工程名,这里我们将它命名为 Verilog_First,这里的命名方式,我们建议大家最好根据我们仿真的文件来进行命名,时间久了,当我们记不得这个仿真工程是用来仿真什么的时候,我们看到这个工程名,就能够知道它是用来做什么的了。

Project Location(工程路径),可以设置工程保存的文件夹,使用者可以根据需要把工程保存到不同的位置。这 里 我 们 将 路 径 设 置 在 了E:/A4_Plus_Verilog/Verilog_First/simulation/manual_modelsim 文件夹中。下面这两部分是用来设置仿真库名称和路径的,这里我们使用默认即可。设置好工程名、工程位置,我们点击【OK】按钮

我们可以从该图中的选择窗口中看出,它共有四种操作:Create New File(创建新文件)、Add Existing File(添加已有文件)、Create Simulation(创建仿真)和 Create New Folder(创建新文件夹)。这里我们选择 Add Existing File(添加已有文件)

在 该 页 面 中 我 们 可 以 看 到 , 我 们 将 我 们 之 前 准 备 的 好 两 个 文 件 Verilog_First.v 和Verilog_First.vt 添加至我们的 ModelSim 仿真工程中。添加好以后,我们点击【OK】按钮,然后我们再关闭【Add items to the Project】对话框,

4.2 编译仿真文件

添加完文件以后,接下来我们就需要编译我们的仿真文件。编译的方有两种:Compile Selected(编译所选)和 Compile All(编译全部)。编译所选功能需要先选中一个或几个文件,执行该命令可以完成对选中文件的编译;

编译全部功能不需要选中文件,该命令是按编译顺序对工程中的所有文件进行编译。我们可以在菜单栏【Compile】中找到这两个命令,也可以在快捷工具栏或者在工作区中的右键弹出的菜单中找到这两个命令。下面我们单击 Compile All(编译全部),将会出现如图

文件编译后 Status 列可能会有三个不同状态。除了上述的用“√”显示的通过状态,还有两个在设计中不希望出现的状态:编译错误和包含警告的编译通过。编译错误即 Modelsim 无法完成文件的编译工作。

通常这种情况是因为被编译文件中包含明显的语法错误,这是 Modelsim会识别出这些语法错误并提示使用者,使用者可根据 Modelsim 的提示信息进行修改。编译错误时会在 Status 列中显示红色的“×”。包含警告的编译通过是一种比较特殊的状态,表示被编译的文件没有明显的语法错误,但是可能包含一些影响最终输出结果的因素。

这种状态在实际使用中也较少会出现,该状态在 Status 栏中也会显示“√”,但是在对号的后面会出现一个黄色的三角符号,这类信息一般在功能仿真的时候不会带来明显的影响,不过可能会在后续的综合和时序仿真中造成无法估计的错误,所以出现这种状态时推荐读者也要根据警告信息修改代码,确保后续使用的安全性。

4.3 配置仿真环境

我们编译完成后,接下来我们就开始配置仿真环境,我们在 ModelSim 菜单栏中找到【Simulate】→【Start Simulation.。。】菜单并点击

从配置仿真功能页面中我们可以看出,该页面中含有 6 个标签,它们分别是:Design、VHDL、Verilog、Libraries、SDF 和 Others。对于这 6 个标签,我们用的最多的就属 Design、Libraries和 SDF,这三个标签了,下面我们就来简单的介绍一下这 3 个标签,其余的标签我们一般用不到,这里我们就不再进行介绍了。

首先介绍 Design 标签,该标签内居中的部分是 Modelsim 中包含的全部库,可展开看到库中包含的设计单元,这些库和单元是为了仿真提供选择的,使用者可以选择需要进行仿真的设计单元开始仿真,被选中的仿真单元的名字就会出现在下方的 Design Unit(s)位置。

Modelsim支持同时对多个文件进行仿真,可以利用 Ctrl 和 Shift 键来选择多个文件,被选中的全部文件名都会出现在 Design Unit(s)区域。在 Design Unit(s)区域的右侧是 Resolution 选项,这里可以选择仿真的时间刻度。

时间刻度的概念类似于长度度量单位的米,在 Modelsim 进行仿真的时候,有一个最小的时间单位,这个单位是使用者可以指定的。如最小单位是 10ns,在仿真器工作的时候都是按 10ns 为单位进行仿真,对 10ns 单位一下发生的信号变化不予考虑或不予显示,当测试文档有类似于#1 a=1‘b1;的句子时,Modelsim 就不会考虑句中延迟。

这个选项一般都是设置在默认的状态,这时会根据仿真器中指定的最小时间刻度来进行仿真,如果设计文件中没有指定,则按 1ns 来进行仿真。最下方的区域是 Optimization 区域,可以再仿真开始的时候激活优化,由于我们是免费版本,很多功能都受限制,所以我们可以看到这里我们不能使用。第二个介绍的标签是 Libraries 标签

在该页面中,我们可以设置搜索库,可以指定一个库来搜索实例化的 VHDL 设计单元。Search Libraries 和 Search Libraries First 的功能基本一致,唯一不同的是 Search Libraries First 中指定的库会被指定在用户库之前被搜索。第三个介绍的标签是 SDF

SDF 是 Standard Delay Format(标准延迟格式)的缩写,内部包含了各种延迟信息,也是用于时序仿真的重要文件。SDF Files 区域用来添加 SDF 文件,选择 Add 进行添加,选择 Modify进行修改,选择 Delete 删除添加的文件。

SDF Options 设置 SDF 文件的 warning 和 error 信息。第一个 Disable SDF warning 是禁用 SDF 警告,第二个 Reduce SDF errors to warnings 是把所有的 SDF 错误信息编程警告信息。Multi-Source delay 可以控制多个目标对同一端口的驱动,如果有多个控制信号同时控制同一个端口或互连,且每个信号的延迟值不同,可以在此选项统一延迟。

下拉菜单中可供选择的有三个选项:latest、min 和 max。max 即选择所有信号中延迟最大的值作为统一值,min 即选择所有信号中延迟最小的值作为统一值,latest 则是选择最后的延迟作为统一值。

至此,这三个标签我们就介绍完了,接下来我们在 Design 标签页面中选择 work 库中的Verilog_First_vlg_tst 模块,然后点击【OK】就可以开始进行功能仿真了,其余标签页面中的配置我们使用默认就可以了。

4.4 开始功能仿真

在仿真前,Workspace 区域一般只有 Project 和 Library 两个标签。开始仿真后,在Workspace 区域一般会增加 sim 标签、Files 标签和 Memory List 标签。除了 Workspace 区域会增加标签,在 MDI 窗口也会新出现一个 Object 窗口等,在 Workspace 区域中的 sim 标签选中一个设计单元,在 Object 窗口就会出现该单元包含的输入/输出端口,如图

接下来我们在 Object 窗口中选中我们需要仿真的信号,然后点击右键,在弹出的菜单栏中找到【Add Wave】并单击,我们会发现,我们的信号添加到了 Wave 窗口中。

这时,我们可以按快捷键 F9,也可以在 ModelSim 的菜单栏中找到【Run】按钮,点击运行就会出现我们想要的波形,这里我们需要注意的是,默认的运行时间一次运行的是 100ps,我们可以在菜单栏中进行修改,也可以直接在控制台中输入命令 run 100ns,直接运行 100ns

到了这里,我们就完成了手动的功能仿真,后面的工作就是分析我们仿真出的波形,由于这部分内容和我们在自动仿真中所讲的内容完全是一样的,所以我们这里就不再进一步重复讲解了。

编辑:jq

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

    关注

    5

    文章

    174

    浏览量

    47162

原文标题:ModelSim 使用【四】ModelSim手动仿真

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

收藏 人收藏

    评论

    相关推荐

    RobotStudio 6.08的手动操作方法

    点击第个 图标。然后选中关节,按住鼠标左键进行拖拽,即可实现对应关节的手动操作。 方法二:【基本】->【布局】,选中机器人,鼠
    的头像 发表于 12-18 09:53 102次阅读
    RobotStudio 6.08的<b class='flag-5'>手动</b>操作方法

    使用modelsim时的问题分析

    仿真对于FPGA设计来说至关重要,我们经常使用modelsim来进行功能仿真或者时序仿真,这样就需要将modelsim和设计软件(quart
    的头像 发表于 10-24 18:15 267次阅读
    使用<b class='flag-5'>modelsim</b>时的问题分析

    Efinity FIFO IP仿真问题 -v1

    几个文件  我们来看下modelsim.do文件,里面vlog了fifo_tb.sv文件,另外还调用了flist文件里的文件,flist只有一个文件那就是fifo_sim.v。所以这个仿真只使用了两个
    的头像 发表于 10-21 11:41 981次阅读
    Efinity FIFO IP<b class='flag-5'>仿真</b>问题 -v1

    如何在ModelSim中添加Xilinx仿真

    今天给大侠带来在FPGA设计应用中如何在ModelSim中添加Xilinx仿真库,话不多说,上货。 注意:ModelSim一定要安装在不带空格的目录下,即不要安装在“Program
    发表于 07-03 18:16

    FPGA入门必备:Testbench仿真文件编写实例详解

    在编写完HDL代码后,往往需要通过仿真软件Modelsim或者Vivadao自带的仿真功能对HDL代码功能进行验证,此时我们需要编写Testbench文件对HDL功能进行测试验证。
    发表于 04-29 10:43 2001次阅读

    fpga开发一般用什么软件

    此外,还有一些其他的辅助工具,如用于数字信号处理开发的System Generator,以及用于HDL语言仿真ModelSim等。这些工具可以配合上述的主要FPGA开发软件使用,提高开发效率和设计质量。
    的头像 发表于 03-27 14:54 4036次阅读

    ISE 关联 Modelsim 详细操作

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

    最实用的Modelsim使用教程

    过程又有两种方法,一种是通过Quartus调用Modelsim,Quartus在编译之后自动把仿真需要的.vo文件以及需要的仿真库加到modelsim中,操作简单;一种是
    发表于 03-19 16:40

    fpga仿真文件怎么写

    首先,你需要选择一个FPGA仿真软件,如ModelSim、Vivado、Quartus II等。这些软件都提供了强大的仿真功能,可以帮助你验证FPGA设计的正确性。
    的头像 发表于 03-15 14:00 791次阅读

    最实用的Modelsim使用及仿真的基本步骤

    仿真也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。
    的头像 发表于 03-06 09:58 9162次阅读
    最实用的<b class='flag-5'>Modelsim</b>使用及<b class='flag-5'>仿真</b>的基本步骤

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

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

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

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

    仿真

    #2024,为FPGA生态加油,为FPGA社区点赞#...使用IP核时如何进行modelsim仿真
    发表于 02-02 20:22

    如何使用 ModelSim 进行设计仿真

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

    modelsim安装运行patch闪退

    模拟器的安装和运行是计算机科学中非常重要的一环。ModelSim是一种流行的数字电子设计自动化工具,用于验证和仿真硬件设计。然而,有时安装和运行Patch可能会导致闪退问题。本文将详细解释如何安装
    的头像 发表于 01-04 10:43 1508次阅读