热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Modelsim编译Vivado仿真库报错(vlog12110)

Vivado仿真器版本支持首先查阅xilinx官方文档ug900(v2019.2),里面指出了vivado2019.2所支持的不同平台的
Vivado仿真器版本支持
  • 首先查阅xilinx官方文档ug900(v2019.2),里面指出了vivado2019.2所支持的不同平台的仿真器版本。对于其他版本的vivado或者最新的vista,应该也会在官方文档出给出,一定要注意查阅。
  • 笔者采用的vivado版本为2019.2,可以从文档中看出,modelsim的版本也需要是对应的2019.2
    在这里插入图片描述

编译modelsim仿真库
  • 关于编译仿真库,已经有很多其他博客给出了方法,不管是在vivado的图形化界面操作,或者输入tcl命令都非常方便。
  • 但是笔者在编译仿真库的时候就一直出问题。一直出现“vlog-12110”的报错。查了很多资料,包括下图中的modelsim官方用户手册,都说modelsim10.7版本之后都不再使用-novopt的参数,按理说我不应该会遇到这个问题,我都已经是2019.2版本的modelsim了。
    在这里插入图片描述

“vlog-12110”问题解决
  • 该错误的主要问题是“-novopt”的参数一直在生效,但我并没有给出这样的参数,就很奇怪。
  • 笔者详细查看了vivado给出的conpile_simlib编译后的log文件,可以看到执行的命令中也没有给出这一参数。因此问题大概率是出现在modelsim。
  • 单独运行modelsim进行编译,在compile option里面需要勾选 use voptflow。对应的modelsim.ini文件中的VoptFlow参数就会置为1。而后能够正常编译。
  • 笔者在安装modelsim2019.2之前安装过modelsim10.7,可能是资源来源有问题,对modelsim10.7卸载的时候卸载得不彻底。导致在编译库的时候调用的还是10.7版本的参数,而这个编译的参数就是在modelsim.ini文件中给出的。
  • 最后用“every thing”搜索modelsim.ini,只将modelsim安装目录下的modelsim.ini保留,删除了其他以前残留的文件,而后就可以正常编译了。

关于Modelsim的优化

  从10.7版本开始Modelsim废弃了-novopt的选项,相应的modelsim.ini文件中的VoptFlow参数也没用了。所以

10.7版本之后的Modelsim必须得开优化

  除了modelsim.ini文件中的VoptFlow参数要去掉,还有右键源文件之后可以看到"Verilog & Systemverilog"标签栏下有一个"Use vopt flow"的选项需要勾上。

在这里插入图片描述
在这里插入图片描述

  上面这些优化是编译相关的,还有仿真相关的优化。在"Simulate->Design Optimization"里面,Options标签栏下面有关于仿真优化的设置。

在这里插入图片描述
在这里插入图片描述


推荐阅读
  • c#  项目文件,C#viual studio使用方法
    一、项目文件1)Properties节点下主要存放的是当前程序集相关的信息,如版本号、标题等。双击”Properties“,打开如下项目属 ... [详细]
  • 使用QT构建基础串口辅助工具
    本文详细介绍了如何利用QT框架创建一个简易的串口助手应用程序,包括项目的建立、界面设计与编程实现、运行测试以及最终的应用程序打包。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 实现系统调用
    实现系统调用一、实验环境​本次操作还是基于上次编译Linux0.11内核的实验环境进行操作。环境如下:二、实验目标​通过对上述实验原理的认识,相信 ... [详细]
  • 在Effective Java第三版中,建议在方法返回类型中优先考虑使用Collection而非Stream,以提高代码的灵活性和兼容性。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • 解决Pytesser模块在Windows环境下出现的错误
    本文详细探讨了如何解决在Windows环境中使用Pytesser模块进行OCR(光学字符识别)时遇到的WindowsError错误,提供了具体的解决方案。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • Linux环境下MySQL的安装与配置
    本文详细介绍了在Linux系统上安装和配置MySQL的步骤,包括安装前的准备工作、下载和解压安装包、初始化数据库、配置文件编辑、启动服务以及设置开机自启动等。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
author-avatar
大女人爱上淘包_502
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有