Quartus II和Modelsim的联合仿真(详细)

2023-05-16

这篇文章不需要在modelsim中建库、映射、建工程等一些繁琐的步骤,直接使用modelsim中的默认work库。使用quartus+modelsim联合仿真。

首先推荐一篇文章 http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html

首先,根据上一篇文章,建立一个testbench模板;

 

第一次用modelsim+quartus的时候需要在quartus中设置modelsim的路径,quartus->tools->general->EDA tool options ,在右边选择modelsim的安装路径,如下图:

 

然后在Quartus->setting->simulation中设置仿真工具(选择modelsim),输出netlist语言(选择 VHDL or Verilog),然后在下面添加testbench;如下图:


 

到edit test settings这个步骤的时候需要说明一下,其中test bench name可以自己定,下面两个的内容根据test bench文件中的内容而定。

比如说我用verilog写的test bench如下:

那么我下面两个的名字就为分别为 Counter_tb和counter 如下图:

 

如果是用VHDL写的test bench,如下图

 

那么我们下面两个的内容就是ADC_vhd_tst和i1,如同下图

 

这样设置了之后,就可以从quartus中直接进行RTL仿真和门极(时序)仿真了,(上图打勾就代表使用时序仿真);具体为什么要这么设置请看http://www.uio.no/studier/emner/matnat/fys/FYS4220/h12/documentation/quartus_modelsim_setup.pdf  如果不这么设置的话,可以进行RTL仿真,但是不能进行门级(时序)仿真,门级(时序)仿真的时候会报 Failed to find INSTANCE 错误。

 

做到上一部可以编写程序,然后编译,接着运行RTL simulation,这个时候modelsim会自己启动,然后自己编译,接着在work library中会有两个单元,其中一个是testbench生成的,我们仿真的话是用这个。然后添加波形什么的就可以仿真了。

运行时序仿真的话单击quartus上的gate-level simulation按钮就可以了。

接着最关键的问题来了如果我们修改了VHDL程序或者testbench,怎么在modelsim中更新,我在网上找了很多教程,发现只做到上一步就结束了,在modelsim中更新的话只有关掉modelsim,在quartus中重新进行RTL simulation,显然这样很麻烦,直到我看到这篇文章http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html,这边文章最后第7步完全可以不用做,我讲一下我的做法。

当运行RTL simulation的时候,modelsim会自己启动,且开始编译,这个是时候实际上它有个命令被输入了,你可以在transcripe中按向上的箭头,会发现有个do ****.do 的命令,你可以在simlation文件夹中找到这个do文件,如果你进行RTL仿真的话,会有****rtl****.do文件,亦然,如果进行gate-level 仿真的话,就有*******gate****.do  文件,请注意区分。当你修改了程序之后要想在modelsim中更新,直接敲这个do *****.do命令就OK了,但是每次敲这个命令会把库文件重新编译,大大浪费了时间,所以你可以找到这个文件,打开,把上面一部分编译库文件的指令注释掉,如下图:

这个时候执行do指令的话,几秒钟就执行完毕了,modelsim中也更新了。

当然modelsim中也可以不用test bench仿真,可以敲force指令生成波形,具体找资料吧。

 

在test bench中,输入信号都要初始化,否则会显示‘X’任意状态,且不能全都放在一个process中初始化,不然在别的process中对其操作也会呈现‘X’,最好要使用之前初始化一下就可以了.

好像RTL仿真修改了VHLD文件后不需要编译,直接使用do命令就可以更新仿真结果,门级仿真则需要编译一下,再使用do命令才会更新

转载于:https://www.cnblogs.com/Jezze/archive/2012/09/14/2684333.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Quartus II和Modelsim的联合仿真(详细) 的相关文章

  • modelsim仿真ROM IP数据输出为0的解决办法

    解决办法 xff1a 把mif文件放在根目录下 xff0c 和文件夹db同一级 xff0c File name就会直接显示这个文件名字 总结主要问题应该还是出在文件路径主要参考这篇博客 FPGA的ROM IP核配置问题 https blog
  • Altera FPGA Quartus II 11 软件安装破解不成功问题经验分享

    最近想玩玩Altera FPGA xff0c 需要安装Quartus II 11这个软件 xff0c 刚开始 xff0c 只能破解32位的 xff0c 64位破解不了 xff0c 初次玩 xff0c 搞得一头雾水 xff0c 经过观看各种教
  • quartus II Altera FPGA 未使用管脚默认设置

    刚接触Altera FPGA xff0c 测试时程序时 xff0c 未使用的管脚有输出 xff0c 如没有驱动的LED点亮了 xff0c 这是因为 未使用的管脚系统默认设置为驱动接地 xff0c 低电平驱动的LED就点亮了 xff0c 本文
  • Quartus II 13.1.0.162三件套安装包

    QuartusSetup 13 1 0 162 链接 https pan baidu com s 1B01zWG76kfNcGLA0VmwyMw 提取码 jjdd ModelSimSetup 13 1 0 162 链接 https pan
  • 不定态与高阻态,及modelsim默认波形颜色的含义

    数字电路只有高低电平 xff0c 没有实际电平对应不定态和高阻态 xff0c X和Z更多的是用来表示设计者的意图或者用于仿真目的 xff0c 旨在告诉仿真器和综合器如何解释这段代码 X态 xff1a 常用于判断条件 xff0c 只在告诉综合
  • Modelsim解决中文注释乱码

    Modelsim中文注释出现乱码 xff0c 解决过程如下 1 菜单栏 Tools Preferences xff0c 点击By name 2 找到source选项 xff0c 下拉选项中双击encoding 3 弹出的对话框中将encod
  • Quartus中的unused pin设置

    在逻辑可编程器件中并不是每个引脚都会用到 对于没有用到的引脚 我们也可以通过设置Quartus II software gt assignments gt settings gt devices gt unused pins把它们设置为需要
  • Quartus分配管脚(Pin)简要教程

    Quartus分配管脚 Pin 1 在打开项目 点击选项Assignments gt Pin Planner 入下图所示 2 根据板子DataSheet给的管脚分配信息 给各输出输入的location选择pin 2 1例如我需要给时钟信号分
  • vivado2013.4和modelsim联合仿真

    vivado2013 4和modelsim联合仿真 Hello Panda 最近在做Zynq的项目 曾经尝试使用ISE PlanAhead XPS SDK组合和Vivado SDK来搭建工程 使用中发现前者及其不方便后者有诸多不稳定 近期得
  • Quartus Primer 17.0 下载和安装

    在对FPGA进行开发的过程中 一款合适的IDE是少不了的 Intel Altera 的FPGA使用Quartus Primer 软件进行开发 记录一下Quartus II 17 0下载安装的过程 一 下载 1 在Intel的官网 https
  • Critical Warning: Synopsys Design Constraints File file notfound: 'CMTT.sdc'. A Synopsys Design Cons

    在使用quartus ii进行FPGA开发时 遇到如下警告信息 Critical Warning Synopsys Design Constraints File file notfound CMTT sdc A Synopsys Desi
  • Quartus-建立新工程

    目录 1 安装并破解软件之后 启动Quartus 打开File gt New Project Wizard 进入下一个设置界面 2点击Next跳过介绍页 进入工程设置页 3 配置工程 4建立新的工程文件 5 更改代码编辑器 1 安装并破解软
  • Altera Quartus 错误 (12007):顶层设计实体“alt_ex_1”未定义

    我看了之前所有的问题 似乎没有人有问题 和我的一样简单 我也在网上搜索过 但找不到解决方案 我是 VHDL 新手 正在尝试编译提供的简单示例 由Altera设计 如下 library ieee use ieee std logic 1164
  • 无法使用 VHDL 2008 Quartus Prime 进行编译

    我正在使用 Quartus Prime Lite Edition 并且我想使用一元运算符nand像这样的 std logic vector library ieee use ieee std logic 1164 all use ieee
  • 调试 VHDL Modelsim 中的迭代限制错误

    我正在 Modelsim 上为 d 触发器编写 VHDL 代码 当我尝试模拟它时出现错误 错误 vsim 3601 在 400 ps 时达到迭代限制 我不确定这意味着什么 但我已经检查了大部分源代码以查找错误 但没有成功 谁能猜出问题可能是
  • 信号分配在进程中如何工作?

    我了解到信号在遇到表达式时不会立即改变 而是在进程结束时立即改变 在此示例中 signal x y z bit process y begin x lt y z lt not x end process 这个例子是这样说的 如果信号 y 发
  • wait 语句必须包含带有 UNTIL 关键字的条件子句

    以下VHDL将用于测试平台 在分析过程中 我在第一个等待语句上不断收到错误 等待语句必须包含带有 UNTIL 关键字的条件子句 我有几个这样编写的工作测试台 我似乎无法找到可能是什么错误 library IEEE USE IEEE std
  • 如何将数组类型作为泛型类型参数传递给 VHDL 包?

    我正在 VHDL 2008 中开发通用包 列表 该包具有元素类型的泛型类型 如果我在包中声明此元素类型的数组类型 那么它就是一个新类型 所以对于例如整数 我的新整数数组将与 ieee 库中的整数向量不兼容 所以我还需要传入数组类型 例如in
  • VHDL 计数器错误 (vcom-1576)

    伙计们 我试图用 VHDL 编写一个简单的计数器 但我总是收到此错误 Error C Users usrname dir1 dir2 dir3 counter vhd 22 near rising edge vcom 1576 expect
  • 文件名中 TCL 通配符/glob 的使用

    我有这样的代码 proc myProc first last for set i first i lt last incr i set i cur PlainText i

随机推荐

  • idea永久激活使用

    原文 xff1a https www cnblogs com dfsu p 11362594 html 先感谢大佬一波 xff0c 亲测可用 xff0c 小伙伴们按照博客上面操作就行 声明 支持知识产权 xff0c 支持正版产权 xff0c
  • 电信企业文化

    1 2017年 xff0c 中国电信资产规模超过 xff08 A xff09 亿元人民币 xff0c 年收入规模超过4100亿元人民币 A 8000 B 8500 C 9000 D 9500 2 中国电信以党的建设统领企业发展全局 xff0
  • easyui datagrid的行编辑器editor 如何实现新增时可修改,编辑时,不可修改

    项目出现一个需求 xff0c 要求用户界面的用户名 xff0c 新增时 xff0c 可自由输入 xff0c 编辑时 xff0c 不可修改 html页面 lt table id 61 34 gridlist 34 data bind 61 3
  • easyui datagrid的editor编辑器如何为validatebox控件添加改变事件

    项目中需要为行编辑器Editor的某个列的文本框添加改变事件 需求 xff1a 新增行时 xff0c 为用户名输入特殊字符进行验证 xff0c 不允许保存用户数据 html页面 lt table id 61 34 gridlist 34 d
  • 中标麒麟系统远程桌面连接

    中标麒麟是中国自主研发的操作系统 逃 搭载了龙芯 xff08 mips xff09 的中标麒麟OS使用起来非常流畅 xff08 逃 远程连接需要的两个软件 Xmanager amp Xshell 使用起来还是可以的 首先要在麒麟系统上开启s
  • ubuntu 环境变量修改和恢复总结

    通常设置环境变量有三种方法 xff1a 一 临时设置 export JAVA HOME 61 usr lib jvm java 1 7 0 openjdk amd64 export PATH 61 JAVA HOME PATH 二 当前用户
  • Go——反射规则

    反射规则 Value Type和类型实例之间的相互转化如下图 xff1a 1 反射API 从实例到Value 通过实例获取Value对象 xff0c 直接使用reflect ValueOf 函数 例如 xff1a span class to
  • 转载 matlab矩阵数组常用操作

    一 length 返回矩阵最长维的的长度 ndims 返回维数 numel 返回矩阵元素个数 size 返回每一维的长度 xff0c rows cols 61 size A 矩阵块操作 1 repmat 数组块状复制 2 blkdiag 对
  • 微微一笑很倾城(2)

    微微一笑很倾城 正文 第30章 组队前 xff0c 雷神妮妮想死 组队后 xff0c 看到队伍里那一排ID xff0c 雷神妮妮瞬间回光返照HP全满了 就像老话说的那样 xff0c 一个妮妮被雷劈了 xff0c 千万个妮妮在电闪雷鸣中站起来
  • Get the Job You Want(大学英语综合教程4课文)

    UNIT3 1 Harvey Mackay who runs his own company often interviews applicants for jobs Here he lets us into the secret of w
  • Debian9.5 VNC Server远程桌面配置

    VNC概述 VNC Virtual Network Console 是虚拟网络控制台的缩写 VNC 是一款优秀的远程控制工具软件 xff0c 由著名的 AT amp T 的欧洲研究实验室开发的 VNC 是在基于 UNIX 和 Linux操作
  • 嵌入式常用的英文缩写词汇

    原文地址 xff1a https wenku baidu com view 9d4051f4700abb68a982fb4e html 嵌入式常见英文缩写和英文词汇 搜集中 英文缩写 ARM xff1a Advanced RISC Mach
  • 先安装VS2017再安装VS2015遇到的CMake问题

    先安装了VS2017 xff0c 后来有需求安装VS2015 xff0c 安装VS2015的时候遇到下图问题 xff0c 但是控制面板里面看不到Microsoft Visual C 43 43 2015 Redistributable的项目
  • 粒子群算法优化BP生物能神经网络

    定义 xff1a 粒子群中每个粒子的位置表示BP神经网络当前迭代中权值的集合 xff0c 每个粒子的维数由网络中起连接作用的权值的数量和阈值个数决定 xff0c 以给定训练样本集的神经网络输出误差作为神经网络训练问题的适应度函数 xff0c
  • 实现分布式锁技术:Redisson

    1 需求 Spring分布式项目涉及到定时任务 xff0c 目前解决方案 xff1a xff08 1 xff09 集成quartz xff1b xff08 2 xff09 集成redisson xff0c 由于集成quartz需要涉及到数据
  • nginx支持websocket及websocket部分原理介绍

    nginx支持websocket及websocket部分原理介绍 最近ipc通过websocket与server进行通行 xff0c 经过无法通过nginx进行反向代理 xff0c 只有直连nodejs端口 而且部署到阿里云用了slb之后同
  • Windows下分布式环境搭建以及简单测试

    环境配置 xff1a 解压文件 xff1a Nginx服务器和Tomcat服务器 Tomcat服务器配置 xff1a xff08 conf server xml xff09 Nginx配置 xff1a xff08 conf nginx co
  • Go——Inject库

    1 依赖注入和控制反转 在介绍inject之前先简单介绍 依赖注入 和 控制反转 的概念 正常情况下 xff0c 对函数或方法的调用是调用方的主动直接行为 xff0c 调用方清楚地知道被调的函数名是什么 xff0c 参数有哪些类型 xff0
  • 浅谈SpringBoot核心注解原理

    SpringBoot核心注解原理 今天跟大家来探讨下SpringBoot的核心注解 64 SpringBootApplication以及run方法 xff0c 理解下springBoot为什么不需要XML xff0c 达到零配置 首先我们先
  • Quartus II和Modelsim的联合仿真(详细)

    这篇文章不需要在modelsim中建库 映射 建工程等一些繁琐的步骤 xff0c 直接使用modelsim中的默认work库 使用quartus 43 modelsim联合仿真 首先推荐一篇文章 http www cnblogs com e