仿真是FPGA开发中常用的功能,通过给定测试激励,对比输出结果,来验证设计的功能性。本文将介绍vivado中仿真功能的使用。

一、 仿真功能概述

Vivado支持:Vivado Simulator、Questa、ModelSim、IES、VCS、Rivera-PRO和Active-HDl等等仿真工具。

vivado中的仿真可以分为三种:

RTL级行为仿真:一种在综合和实现前用来验证设计的方法,主要用来检测模块的功能是否符合要求。

综合后仿真:综合后使用网表进行仿真,以验证综合后设计是否满足要求,包括时序仿真和功能仿真。

实现后仿真:布线实现后进行功能仿真和时序仿真,接近真实的运行情况。

注意:综合后仿真和实现后仿真,运行耗时较长,一般不用。

二、测试激励

测试激励(Testbench)是一种用于仿真的输入信号,主要用于触发设计中的逻辑流程并生成仿真波形。在Vivado中,我们可以使用Verilog或VHDL编写测试激励代码,在仿真过程中使用该代码来生成输入信号。

Vivado Simulator支持VHDL(IEEE-STD-1076-1993)、Verilog(IEEE-STD-1364-2001)、SystemVerilog中的可综合子集(IEEE-STD-1800-2009)三种硬件描述语言,此外还支持IEEE P1735加密标准。

在实际应用中,测试激励可以根据需求进行定制,例如添加复杂的数学计算,以更好地测试设计的性能。

推荐阅读:TestBench内容编写与方法总结

三、 第三方仿真器设置

Vivado除了自带的仿真器以外,还有一些第三方仿真器可供选择。使用第三方仿真器可以提高仿真效率和灵活性,并允许设计人员使用他们熟悉的工具进行仿真。

在使用第三方仿真器之前,需要将其设置为Vivado的默认仿真器。这可以通过Vivado中的仿真设置完成。首先,进入Vivado的“Flow Navigator”中选择“Settings”,然后选择“Simulation”,设置默认仿真器为第三方仿真器。

四、仿真库编译

使用Vivado Simulator时,不需要编译仿真库。如果使用第三方仿真工具时,则必须先编译仿真库,才能正确运行。仿真库中包含了仿真模型,比如FPGA和IP的行为模型和时序模型。编译之后的库可以在多个设计工程中使用。

编译仿真库的方法,如下图:

​五、 仿真设置

在vivado仿真设置中,设定目标仿真器、仿真集、仿真顶层模块名称等选项,如下图所示

​六、仿真集功能

Vivado提供了仿真集(Simulation Sets)功能,可以将不同设计阶段所用到的不同测试激励添加到不同的仿真集中。

​当工程中有多个仿真集时,当前正在使用的仿真集会标注为Active状态:

七、 总结

本文介绍了FPGA开发中的仿真功能,包括测试激励、第三方仿真器设置、仿真库编译、仿真设置、仿真集功能等方面的内容。


本文将不断定期更新中,点⭐️赞,收⭐️藏一下,不走丢哦

本文由FPGA入门到精通原创,有任何问题,都可以在评论区和我交流哦

公众号为“FPGA入门到精通”,免费学习资料大礼包下载,github开源代码:“FPGA知识库”

你的支持是我持续创作的最大动力!如果本文对你有帮助,请给一个鼓励,谢谢。

Vivado仿真功能相关推荐

  1. VIVADO仿真功能系列

    版权声明:本文为CSDN博主「FPGADesigner」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/F ...

  2. Vivado使用技巧(18):仿真功能概述

    仿真功能概述 仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性.Vivado设计套件支持如下仿真工具:Vivado Simulator.Questa.ModelSim. ...

  3. vivado 仿真_提高Vivado效率一种自研工具介绍

    在之前本公众号写过两篇关于工具更新对仿真调试提高效率的文章,<[干货]推荐一款FPGA仿真调试鸟枪换炮的工具!>以及<NCVerilog+SimVision+Vivado仿真环境搭建 ...

  4. modelsim和vivado仿真不一致——噩梦debug

    昨天经历了恶梦debug,中间排了很多坑,特来记录一番. 一.问题描述 和队友写了lenet神经网络推理的硬件实现,在modelsim已经跑通,且验证了功能,但需要移植到vivado,利用里面的dis ...

  5. DDS信号发生器原理与vivado仿真

    DDS信号发生器原理与vivado仿真 1. DDS简介         DDS信号发生器采用直接数字频率合成(Direct Digital Synthesis,简称DDS)技术,把信号发生器的频率稳 ...

  6. FPGA 单端口RAM IP核使用 vivado仿真

    一.各类存储器简介 ROM:只读,只有读接口(读地址.读数据) RAM:可读可写,有读接口(读地址.读数据)和写接口(写使能.写数据.写地址),默认任何时刻都能读,没有读使能,大小和位宽查手册,需要持 ...

  7. 初步考虑matlab的仿真功能如何编程实现

    看一下matlab的仿真功能:这是两个示例: 拖入各个组件到面板,建立连线:然后运行:就会给出最终的仿真结果和波形: 下面来简单分析一下:如果要自己编程实现matlab的仿真功能,该如何做: 看前面两 ...

  8. Vivado仿真小技巧,让所有模块的波形都可以显示

    前言 使用vivado仿真的过程中,经常会遇到要查看某个信号的波形,但这个信号并没有被添加进来.这时就需要添加该信号,再重新仿真.遇到仿真时间较长的工程,效率会很低.有两种方法可以解决这个问题. 一. ...

  9. vivado仿真出错

    vivado仿真时,有时候会出现各种奇怪的错误,错误提示很模糊,有时候是testbanch的语法错误,有时候和路径有关系,或者是电脑防火墙每关闭: 1.如下是路径问题: 提示如下错误:ERROR: [ ...

最新文章

  1. Web 开发在 2015 年及未来的发展趋势
  2. 在Windows平台如何选择C语言编译器?
  3. Cisco 3560 Qos限速配置
  4. mysql 中常用的基本操作
  5. python利用tkinter弹出消息对话框小程序代码
  6. maven中常用jar包插件
  7. 重回1999元,荣耀Play掀起一场科技普惠革命?
  8. 3 年后端、4 年前端,聊聊用户认证鉴权
  9. cNoteSetColor_命令窗口颜色设置
  10. PDF转Excel的技巧分享,学会这个方法事半功倍
  11. IntelliJ IDEA常见问题解决办法汇总
  12. 3dmax测试软件自动关闭,打开3dmax出现软件问题导致3dmax意外关闭的两种解决方法...
  13. 深入理解计算机系统 csapp 家庭作业(第二章完整版)
  14. 我的第一个小程序(Discuz! + 微信小程序)
  15. 大数据Hadoop集群搭建
  16. 水杯如何测试 (测试用例)
  17. 使用poi,word转pdf后,表格文字靠下
  18. 360浏览器和搜狗浏览器查看双内核版本及如何控制内核版本
  19. 第12章 Stata非线性回归分析
  20. Spring Boot多模块包扫描问题

热门文章

  1. GNS3导入c7200路由器
  2. 119全国消防日,我们要注意用火安全
  3. c++ 计算cpu占用率
  4. 作用域、条件注解和@Import注入方式
  5. 使用JavaCV把图片合成视频(实用)
  6. 机械臂速成小指南(零):指南主要内容及分析方法
  7. 6.824:FaRM笔记
  8. win10和linux怎么切换输入法,win10系统怎么切换输入法
  9. TIA博途WINCC中如何获取当前画面编号并发送给PLC?
  10. 亚马逊高级产品总监徐霄鹏:如何对不同用户群体采取差异化运营