Vivado仿真功能
仿真是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仿真功能相关推荐
- VIVADO仿真功能系列
版权声明:本文为CSDN博主「FPGADesigner」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/F ...
- Vivado使用技巧(18):仿真功能概述
仿真功能概述 仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性.Vivado设计套件支持如下仿真工具:Vivado Simulator.Questa.ModelSim. ...
- vivado 仿真_提高Vivado效率一种自研工具介绍
在之前本公众号写过两篇关于工具更新对仿真调试提高效率的文章,<[干货]推荐一款FPGA仿真调试鸟枪换炮的工具!>以及<NCVerilog+SimVision+Vivado仿真环境搭建 ...
- modelsim和vivado仿真不一致——噩梦debug
昨天经历了恶梦debug,中间排了很多坑,特来记录一番. 一.问题描述 和队友写了lenet神经网络推理的硬件实现,在modelsim已经跑通,且验证了功能,但需要移植到vivado,利用里面的dis ...
- DDS信号发生器原理与vivado仿真
DDS信号发生器原理与vivado仿真 1. DDS简介 DDS信号发生器采用直接数字频率合成(Direct Digital Synthesis,简称DDS)技术,把信号发生器的频率稳 ...
- FPGA 单端口RAM IP核使用 vivado仿真
一.各类存储器简介 ROM:只读,只有读接口(读地址.读数据) RAM:可读可写,有读接口(读地址.读数据)和写接口(写使能.写数据.写地址),默认任何时刻都能读,没有读使能,大小和位宽查手册,需要持 ...
- 初步考虑matlab的仿真功能如何编程实现
看一下matlab的仿真功能:这是两个示例: 拖入各个组件到面板,建立连线:然后运行:就会给出最终的仿真结果和波形: 下面来简单分析一下:如果要自己编程实现matlab的仿真功能,该如何做: 看前面两 ...
- Vivado仿真小技巧,让所有模块的波形都可以显示
前言 使用vivado仿真的过程中,经常会遇到要查看某个信号的波形,但这个信号并没有被添加进来.这时就需要添加该信号,再重新仿真.遇到仿真时间较长的工程,效率会很低.有两种方法可以解决这个问题. 一. ...
- vivado仿真出错
vivado仿真时,有时候会出现各种奇怪的错误,错误提示很模糊,有时候是testbanch的语法错误,有时候和路径有关系,或者是电脑防火墙每关闭: 1.如下是路径问题: 提示如下错误:ERROR: [ ...
最新文章
- Web 开发在 2015 年及未来的发展趋势
- 在Windows平台如何选择C语言编译器?
- Cisco 3560 Qos限速配置
- mysql 中常用的基本操作
- python利用tkinter弹出消息对话框小程序代码
- maven中常用jar包插件
- 重回1999元,荣耀Play掀起一场科技普惠革命?
- 3 年后端、4 年前端,聊聊用户认证鉴权
- cNoteSetColor_命令窗口颜色设置
- PDF转Excel的技巧分享,学会这个方法事半功倍
- IntelliJ IDEA常见问题解决办法汇总
- 3dmax测试软件自动关闭,打开3dmax出现软件问题导致3dmax意外关闭的两种解决方法...
- 深入理解计算机系统 csapp 家庭作业(第二章完整版)
- 我的第一个小程序(Discuz! + 微信小程序)
- 大数据Hadoop集群搭建
- 水杯如何测试 (测试用例)
- 使用poi,word转pdf后,表格文字靠下
- 360浏览器和搜狗浏览器查看双内核版本及如何控制内核版本
- 第12章 Stata非线性回归分析
- Spring Boot多模块包扫描问题