questsim/modelsim 中仿真VIVADO工程的方法,以及调用Xilinx的ROM IP后,导致仿真输出为0问题的解决

2023-11-11

        这几天写了个UVM的验证环境,要用questasim来运行,而待测试的DUT是之前用VIVADO做的,就得把VIVADO中的工程移植到quetasim里,其中调用了Xilinx的ROM、RAM等IP核。

        首先是移植VIVADO的工程,参考这篇文章:modelsim仿真调用xilinx IP的一种方法_拾贝壳的大男孩-CSDN博客

        把所有的设计和仿真文件,以及IP核文件都添加到queastasim的工程中后,仿真,发现有一个输出的值一直是0:

 而在VIVADO中却是正常的:

        最后发现,问题在于:调用ROM的时候,VIVADO工程中的ROM是有加载初始化文件的(.coe格式),而questasim/modelsim中也需要把对应的.mif格式的初始化文件加入到工程目录中,方法是:

        先在VIVADO的工程文件夹中搜索“mif”,找到这个ROM的.mif格式的初始化文件;然后复制到questasim/modelsim的工程目录下即可。

 

 重新仿真,结果也就出来了:

 

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

questsim/modelsim 中仿真VIVADO工程的方法,以及调用Xilinx的ROM IP后,导致仿真输出为0问题的解决 的相关文章

  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • 如何在 SystemVerilog 中将变量值传递给宏?

    我认为这个问题很好地概括了我想要的 将变量的值传递给 SystemVerilog 中的宏 例如我想要的 比如说 有 4 个名为 abc X def 的信号 我想将它们全部初始化为 0 所以 没有宏 abc 0 def 4 b0000 abc
  • 如何在 Verilog 中将长语句分成行

    例如 我有一个很长的声明 display input data x output data x result x input data output data result 如何在 Verilog 中将其变成单语句和多行 您需要分解引用的字
  • 如何改变变量赋值的较低索引?

    我想对具有较低索引的变量进行赋值 这就是我想做的 int i logic 63 0 data i someCalculatedNumber data 63 i 8 h0 我知道这不会编译 完成这项任务的最佳方法是什么 如果您希望将 LSB
  • 计算数组中的个数

    我试图在 Verilog 中计算 4 位二进制数中 1 的数量 但我的输出是意外的 我尝试了几种方法 这是我认为应该有效的方法 但事实并非如此 module ones one in input 3 0 in output 1 0 one a
  • 如何使用 Verilog 宏模拟 $display?

    我想创建一个具有多个参数的宏 就像 display 一样 我的代码看起来像这样 但它不起作用 define format macro A write s sformatf A 这就是我调用 format macro 的方式 format m
  • Always_comb 中的 SystemVerilog“if”语句“不是纯粹的组合逻辑”错误

    我很困惑 并且有点沮丧 我花了很多时间在 Modelsim 中研究一些 SystemVerilog 我已经达到了可以在我的硬件上测试它的某个阶段 但是在 Quartus 中编译不成功 我确实知道这可能会发生 但在这种情况下我的错误似乎没有意
  • x 和 z 值在 Verilog 中到底代表什么?

    Verilog 标准定义了四种类型的位值 0 1 x 和 z 其中 0 表示低 1 表示高 x 表示未知 z 表示未驱动网络 有几个问题 x 是否意味着我们不知道该值是 0 还是 1 0 或 1 或 z 或者该值是未知的并且可以是 0 1
  • 使用 VHDL 实例化 FPGA 中的 RAM

    我试图按照中的指导实现双端口 RAM这篇优秀的博文 http danstrother com 2010 09 11 inferring rams in fpgas 然而 ModelSim 在编译时给出以下警告 Warning fifo ra
  • 如何在Altera Quartus中生成.rbf文件?

    什么是 rbf 文件以及如何在 Windows 上从 Quartus 输出文件 sof 生成它们 An RBF is a 原始二进制文件例如 它代表原始数据 这些数据将被加载到闪存中 以便在上电时初始化 FPGA A SOF is an S
  • 赋值语句中的“others=>'0'”是什么意思?

    cmd register process rst n clk begin if rst n 0 then cmd r lt others gt 0 elsif clk event and clk 1 then cmd r lt end if
  • FPGA大输入数据

    我正在尝试向 FPGA 发送 4 KB 字符串 最简单的方法是什么 是我正在使用的fpga的链接 我正在使用 Verilog 和 Quartus 您的问题的答案在很大程度上取决于将数据输入 FPGA 的内容 即使没有您需要遵守的特定协议 S
  • 在 Verilog 中判断总线是否包含单个 x 的最佳方法是什么?

    我有一个监控总线的测试台 总线内的一些信号 位 可以是 1 bx 由于多种原因 我需要知道总线内是否有任何信号是 1 bx 如果总线包含任何 x 测试 不用于综合 仅用于模拟目的 的最佳方法是什么 我曾希望我可以使用减少或然后使用 但这似乎
  • 合并关联数组

    假设我有两个关联数组 有没有办法使用连接运算符之类的东西来合并它们 我尝试了这个 但它不起作用 module tb initial begin int a int 1 1 2 2 int b int 3 3 4 4 display a a
  • 在 Verilog 设计中产生时钟故障

    我正在使用 Verilog 设计芯片 我有一个 3 位计数器 我希望当计数器处于第 8 次循环时 应该有一个时钟故障 之后就可以正常工作了 在 Verilog 设计中产生时钟故障的可能方法是什么 在时钟信号上注入毛刺的一种方法是使用forc
  • 自动任务和静态任务有什么区别,为什么我们不能通过引用传递静态任务

    静态任务和自动任务有什么区别 program class ref int index value class holding values int ass array task assign value int value int inde
  • Verilog 中的大括号是什么意思?

    我很难理解 Verilog 中的以下语法 input 15 0 a 16 bit input output 31 0 result 32 bit output assign result 16 a 15 a 15 0 我知道assign语句
  • 在 Verilog 程序中使用连续分配?

    在 Verilog 程序中使用连续赋值是否可能和 或有用 例如 是否有任何理由将assign里面一个always堵塞 例如这段代码 always begin assign data in Data end 此外 是否可以用这种方法生成顺序逻
  • 用 + 索引向量和数组:[重复]

    这个问题在这里已经有答案了 我在 SystemVerilog 中看到一段代码 其中包含以下内容 if address 2 pointer 2 do something 我该如何理解 当索引这个向量时 我发现它被称为位切片 但我找不到有关它的
  • VHDL 中奇怪的 XNOR 行为

    导致问题的代码看起来像正常的 xnor 操作 如下所示 S 1 lt L 16 xnor L 26 该行会导致以下错误 ncvhdl p E EXPSMI HDL aes sbox enc depth16 vhd 169 14 expect

随机推荐

  • 使用scoped穿透方法实现修改vue中mint UI组件样式

    效果 代码 div class goods swiper div
  • 图书商城系统

    摘 要 随着信息科学技术的不断发展与完善 信息化已经成为个人之间甚至是国家之间商务发展的一大趋势 并且广泛应用于商业贸易 国际化的网络 计算机科学以及网络通信之中 电子商务正是依托信息化技术的迅猛发展将全球化的市场集中在网络平台之中 打破了
  • c++基本类型和变量

    基本类型 c 内置类型 setlocale LC ALL chs bool bo true char ch a wchar t wch L 中国 short sh 32767 32768 32767 int i 10 32768 32767
  • runas 显示740 所需的操作需要提升的解决方法

    域环境中 有些软件启动需要用到管理员权限 所以对user用户来说比较麻烦 对IT来说也挺麻烦 每次使用都需要输一次账号密码 后来使用了runas工具就方便了 虽然有些不安全 今天发现这个不起作用了 cmd里输入语句 提示 740 所需的操作
  • C语言内存四区的学习总结(一)---- 静态区

    最近重新学习C语言相关知识 重新提到内存四区的概念 那么在之前的学习的基础上 在这儿做一个简单的总结与分享 一 内存四区建立的流程 可以简单直观的查看下面的这个图片 直接的说明我们的程序在内存中是如何去存储 运行 程序运行的流程说明 1 操
  • 引入字体包

    我接触的设计师都比较喜欢用苹方字体 然后每次都要引入字体包 首先一定要设计师给ttf格式的文件 然后在scss中引入 font face font family PingFangSC Regular font weight normal s
  • pandas数据读取与清洗视频03-pd.read_csv()读取csv、txt文件

    本系列课程适用人群 python零基础数据分析的朋友 在校学生 职场中经常要处理各种数据表格 或大量数据 十万级以上 的朋友 喜欢图表可视化的朋友 系列视频目前可在B站观看 会定期更新 欢迎大家吐槽 本节概要 数据量较大时一般保存为csv或
  • Wireshark TS

    问题背景 用户反馈说观察到一个设备连接的奇怪问题 客户端 172 18 0 122 尝试连接到服务器 172 18 50 1 之后服务器回复 SYN ACK 再收到消息后不久 客户端直接发送 RST 并在一段时间后又重复尝试连接 总结下来就
  • RPC通信功能实现

    Table of Contents RPC通信功能实现 配置参数 调用方法 RPC通信功能实现 HBase的RPC通信功能主要基于Protobuf和NIO这两个组件来实现 在通信管道上选择的是protobuf对外声明的BlockingRpc
  • Linux——僵尸进程以及僵尸进程的处理

    僵尸进程 1 进程中的指令已经执行完成 但是进程PCB结构还没有回收 即子进程先于父进程退出后 子进程的PCB需要其父进程释放 但是父进程并没有释放子进程的PCB 这样的子进程就称为僵尸进程 2 父进程未结束 子进程结束 但父进程没有处理子
  • C语言三大标准C89,C99和C11

    C89 标准 1983 年美国国家标准局 American National Standards Institute 简称 ANSI 成立了一个委员会 专门来制定C语言标准 1989 年C语言标准被批准 被称为 ANSI X3 159 19
  • 59 KVM Skylark虚拟机混部-概述、架构及特性

    文章目录 59 KVM Skylark虚拟机混部 概述 架构及特性 59 1 Skylark概述 59 1 1 问题背景 59 1 2 总体介绍 59 2 架构及特性 59 2 1 总体实现框架 59 2 2 功耗干扰控制 59 2 3 L
  • 树-树的遍历(先序、中序、后序)

    树的遍历 树的遍历方式主要分为四种 先序 中序 后序和层序 在这篇博客中我将仔细介绍一下树的这四种遍历方式 先序遍历 先序遍历 也叫先根遍历 前序遍历 首先访问根结点然后遍历左子树 最后遍历右子树 在遍历左 右子树时 仍然先访问根结点 然后
  • discuz常用函数调用

    调用主题的查看次数 lang show G forum thread views discuz帖子正文下方有一组自动推荐的相关帖子 其调用代码为 div class mtw mbw h3 class pbm mbm bbda lang re
  • 【Bug修复】安装BurpSuite时,配置完Java环境后burp-loader-keygen.jar无法打开的问题

    前言 我们在安装BurpSuite时需要打开 jar文件 打开jar文件的前提是安装java环境 这里我安装的是1 8版本的 正常流程是安装好java环境可以直接打开 jar文件 而我的不行 我的图标 文件类型也没有任何变化 工具分享链接链
  • [Windows Azure] What is a cloud service?

    What is a cloud service When you create an application and run it in Windows Azure the code and configuration together a
  • 目标检测器训练过程总结(HyperLPR)

    1 项目背景 开源项目HyperLPR 在车牌粗定位 提取 阶段 依赖于训练好的模型文件cascade xml 而该文件是一个由基于OpenCV的Haar级联分类器训练出来的模型 HyperLPR作者有在他的博客中谈到了该模型文件的训练过程
  • 白盒测试的几种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖详解

    文章转自 http www 51testing com html 44 n 3713444 html 白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度 一说到覆盖 大家都感觉非常熟悉 但是常见的覆盖都有哪些 各自有什么优缺点 在白盒
  • jackson的使用

    文章目录 json jackson databind ObjectMapper JSON字符串 gt 对象 JSON 字符输入流 gt 对象 JSON文件 gt 对象 JSON URL gt 对象 JSON字节输入流 gt 对象 JSON二
  • questsim/modelsim 中仿真VIVADO工程的方法,以及调用Xilinx的ROM IP后,导致仿真输出为0问题的解决

    这几天写了个UVM的验证环境 要用questasim来运行 而待测试的DUT是之前用VIVADO做的 就得把VIVADO中的工程移植到quetasim里 其中调用了Xilinx的ROM RAM等IP核 首先是移植VIVADO的工程 参考这篇