Vivado中的五种仿真模式比较

Vivado中的五种仿真模式

  在数字电路设计过程中,通常涵盖三个主要阶段:源代码编写、综合处理以及电路的实现,相应地,电路仿真的应用也与这些阶段紧密相关。根据不同设计阶段的需求,仿真可以被划分为RTL行为级仿真、综合后的门级功能仿真以及时序仿真。这样的仿真流程框架不仅适用于FPGA/CPLD的设计,而且也同样适合于集成电路(IC)的设计。

1、run behavioral simulation  行为级仿真,也是通常说的功能仿真

2、post-synthesis function simulation  综合后的功能仿真

3、post-synthesis timing simulation  综合后带时序信息的仿真

4、post-implementation function simulation  布线后的功能仿真

5、post-implementation timing simulation  布局布线后带时序信息的仿真,最接近真实的时序波形**

在这里插入图片描述
注: 如果行为仿真下面的四个模式是灰色的无法选中说明你还没有对你的文件进行综合和布局布线还未生成相应的网表和延时信息等待无法进行仿真。

模式比较

1.行为仿真(Behavioral Simulation)

  • 目的:行为仿真(功能仿真)主要用于设计的早期阶段,可以用来检查代码中的语法错误以及代码行为的正确性。在这个阶段,关注的是逻辑是否实现了预期的功能,而不是设计在实际硬件中的表现。
  • 仿真过程:不考虑时序信息、电路的实际布局或是电路的物理实现细节。它仅仅基于寄存器传输级(RTL)代码来模拟电路逻辑的行为。
  • 优缺点:优点在于仿真速度快,可以迅速迭代和验证不同的设计想法。缺点是无法捕捉到因时序、布局或是实现细节导致的问题。

2. 综合后的功能仿真(Post-Synthesis Functional Simulation)

  • 目的:在综合过程将RTL代码转换为门级网表之后进行的功能验证。仿真网表已经是与生产厂家的器件的底层元件模型对应起来了,综合后仿真必须在仿真过程中加入厂家的器件库,对仿真器进行一些必要的配置。
  • 仿真过程:使用综合后的网表来模拟电路的功能,可以捕获综合过程可能引入的逻辑错误。
  • 优缺点:提供了对综合过程影响的初步评估。虽然考虑了综合变化,但仍不包括时序信息。

3. 综合后带时序信息的仿真(Post-Synthesis Timing Simulation)

  • 目的:对于需要进行时序仿真的情况,综合工具可以生成SDF文件,该文件包含了综合后的设计中各个元素的延迟信息。SDF文件用于后续的时序仿真中,以确保设计满足时序要求。
  • 仿真过程:考虑了信号传播延迟和其他时序约束,仿真结果更接近真实硬件的行为。
  • 优缺点:能够发现由时序约束导致的潜在问题。仿真速度较慢,因为需要模拟更多的时序细节。

4. 布线后的功能和时序仿真

  该方式的仿真目标和进行综合之后的仿真相似,实现阶段与布线操作紧密相关,其核心目的是把综合产生的逻辑网表适配到选定的FPGA/CPLD芯片上。实现流程的关键步骤是布局与布线(Place and Route):布局负责将逻辑单元有效地映射到FPGA的内部硬件结构中,而布线则依据布局结果,使用FPGA内部的连接资源来精确地连结这些元件。时序仿真环节会把布局布线引入的延迟信息重新应用于设计网表上进行仿真,这时候的仿真包括了门级延迟和连线延迟,使得这一阶段的仿真结果最为精确,能够有效地映射出芯片在实际运行中的工作表现。

参考

RTL仿真,前仿真,后仿真的区别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

练习4-权重衰减(李沐函数简要解析)

环境:练习1的环境 代码详解 0.导入库 import torch from torch import nn from d2l import torch as d2l1.初始化数据 这里初始化出train_iter test_iter 可以查一下之前的获取Fashion数据集后的数据格式与此对应 n_train, n_test, num_inputs, batch_size 20, 100, 200, …

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

随着.NET应用程序的广泛应用,保护知识产权和防止逆向工程的需求逐渐增长。本文将详细介绍三款知名的.NET代码混淆工具:ConfuserEx、Obfuscar和Ipa Guard,帮助读者全面了解其功能特点和应用场景。 一、ConfuserEx ConfuserEx是一个.NET代码混…

文件太大无法拷贝到u盘怎么办?可能是这个隐藏原因~

有时候我们新买的U盘,明明有64G的存储空间,怎么一个4.5G的视频想保存到U盘里会提示“文件太大”无法保存呢? 常见的U盘格式有FAT、FAT32、NTFS等,其中FAT32不支持存储单个文件体积大于4G的文件。下面教大家如何对U盘格式进行检测呢…

二开飞机机器人群发,实现自动给多个频道发送消息

频道1 频道2 二开代码部分: const CChatIdListprocess.env.CHANNEL_CHAT_ID_LIST; var channelChatIdArray CChatIdList.split(,);channelChatIdArray.forEach(function(item) {console.log(item); // 这里可以替换为您需要对数组中每个值进行的操作bot.sendM…

个人开发App成功上架手机应用市场的关键步骤

目录 1. 苹果审核和APP备案 2. APP上架操作步骤 3. 审核和发布 4. 上线工作 总结 参考资料 在当前移动应用市场竞争激烈的背景下,个人开发App如何成功上架成为开发者们必须面对的重要任务。本文将重点介绍自建App上架至手机应用市场的流程,包括苹果…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

学完Python的7大就业方向,哪个赚钱最多?

“ 我想学Python,但是学完Python后都能干啥 ?” “ 现在学Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少Python的初学者,都会遇到上面的这些问题。大家都知道Python很吃香,薪资…

进程管理与计划任务管理

进程管理 1、查看进程 静态 ps -auxps -elf 动态 top pgrep 查看特定条件的进程 pgrep -l “log” pgrep -l "ssh"pgrep -l -U redhat pstree 查看进程树 pstree -aup 所有用户、进程id\详细信息pstree -ap redhat 查看redhat用户的进程 任务调…

如何实现在固定位置的鼠标连点

鼠大侠的鼠标连点功能是免费的 浏览器搜索下载鼠大侠,指定连点间隔和启动快捷键 点击设置,指定点击位置

Linux 常用操作命令大全

目录 一、命令大集合 1.1 whereis 1.2 which 1.3 sudo 1.4 grep 1.5 free 1.6 top 动态显示进程的状态 1.7 ps 静态显示进程信息 1.8 df 1.9 iostat 看IO性能状态 1.10 yum安装插件命令 1.11 rpm 1.12 scp远程拷贝 1.13 uname 二、linux网络命令 2.1 centos7 防火…

SpringCloudAlibaba Nacos配置及应用

Nacos搭建及配置 nacos本机服务搭建 windows上搭建单机nacos: Releases alibaba/nacos GitHub 下载安装包 下载本地,解压,直接运行(保证安装包的绝度路径只有英文字符,有中文会导致运行失败)&#xff…

开发语言详解(python、java、Go(Golong)。。。。)

是语言决定行业,还是行业决定语言,说不清,只是觉得,当你做这一行的时候,如果你还有精力感兴趣的话,可以再做些了解,一下是自己个人见解以及官网做的整合。希望对大家有用。 目录 Python 概念&…

MySQL 多表查询与事务的操作

一,多表联查 有些数据我们已经拆分成多个表,他们之间通过外键进行连接.当我们要查询两个表的数据,各取其中的一列或者多列. 这时候就需要使用多表联查. 数据准备: # 创建部门表 create table dept(id int primary key auto_increment,name varchar(20) ) insert into dept (n…

DevEco Studio 项目创建

安装DevEco Studio后开始使用,双击桌面DevEco Studio 快捷方式弹出界面: 选择Application —> Empty Ability,点击Next 项目配置 Project name:工程的名称,可以自定义,由大小写字母、数字和下划线组成。…

vscode搜索总是搜到修改记录文件如何处理

如图每次搜索出来的结果总是有好多编辑记录中的文件,给自己找文件及提交代码时带来很大困扰,每次都得删特别麻烦。 解决办法: 如上图在插件里找到 local history 点击 ”禁用“ 即可。以后再编辑代码就不会产生修改记录文件了。 如果直接搜索…

深入浅出前端本地储存

引言 2021 年,如果你的前端应用,需要在浏览器上保存数据,有三个主流方案: CookieWeb Storage (LocalStorage)IndexedDB 这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案 今天这篇文章就聊一聊这三种方案的历史…

前端Prettier 插件的使用配置(详细)

各个参数代表的意思:printWidth:每行代码的最大长度限制。 tabWidth:选项用于控制制表符的宽度。 useTabs:指定是否使用制表符代替空格。 semi:指定是否在语句的末尾添加分号。 singleQuote:指定是否使用单引号或双引号…

【Java程序员福音】每个 Java 开发人员都应该知道的 10 个基本工具

我试图在代码库,项目规划,构建和部署,测试自动化和基础设施自动化中包含工具。作为负责端到端管理项目的高级 Java 开发人员,这些工具将帮助您更有效地完成工作。 让我们看到 Java 程序员的一些基本工具 1、Git 我认为 Git 和 Github 应该是所有 Java 程序员应该学习和掌…

②免费AI软件开发工具测评:通义灵码 VS 码上飞

前言 我又双叒叕来测评了!上次给大家带来的是iFlyCode和CodeFlying两款产品的测评,受到了大家的一致好评~ 今天咱就继续来聊聊,这次我们选的的对象是通义灵码和码上飞,从名字上也能看到出来这两款产品一定是跟软件开发有关系的&…