Vivado 集成设计环境
以下是中文详细说明:
先给大家简单快速地介绍一下 Vivado 集成设计环境,即 IDE。
IDE 总体介绍
工程总结
当打开 Vivado 工程后,会有一个工程概要,向您介绍工程的设置、警告和错误信息以及工程的一般状态。
源
源视图用于显示项目中的文件类型,比如硬件描述语言文件、约束文件、仿真文件和 IP。您可以使用源代码编辑器,在工作过程中添加或者创建源文件。
流程导航
左边的这个部分叫做流程导航器 (Flow Navigator),用于控制编译流程和分析视图。它的组织方式与一般的开发流程一样。点击浏览器上的按钮可以执行流程,也可以加载处于某种特定状态的设计,用于查看和分析。
IP 目录
赛灵思 IP 库可用于选择和配置 IP。点击“IP 目录”按钮会出现 IP 视图,供浏览和搜索。完全展开后,我们会看到完整的 IP 列表,双击某个 IP,弹出配置向导,它将引导用户完成对 IP 核的整个参数配置过程,比如这个基于 AXI 的 DMA 控制器。完成配置向导的所有选项后,点击“结束”按钮,IP 核就作为源被添加到我的工程中。
一键式实现
流程浏览器用于执行最常见的任务,包括仿真、行为验证以及综合与实现。点击“运行实现”按钮启动一键式综合与实现操作,在后台执行设计编译工作,从而可将 GUI 用于执行分析任务。Vivado 可以充分发挥多核处理器的功能,最大化工作效率。Vivado 仿真、综合与实现的速度比同类竞争工具快 4 倍。
仿真
波形视图
点击“仿真”按钮即可加载设计的仿真视图。仿真最重要的作用是在 RTL 层面对设计进行功能验证。在这里,您可以运行仿真工作台,选择需要检测的信号并查看波形视图。波形视图和其他视图一样,可以用键盘缩放大小并对设计进行调试。
源交叉追踪
仿真视图中的对象可以轻松在 RTL 源代码中找到。选择信号,点击鼠标右键,您可以通过弹出菜单直接找到源代码文件中的相关代码行。
可以发现在整个工具中,您可以利用共享对象模型跨越不同区域查找设计对象,这对调试和分析工作有巨大帮助。
RTL 详情
打开详情
点击“RTL分析”按钮打开 RTL 的详细视图,在运行综合之前查看设计原理图。这样可以迅速查看自己的设计,无需等到编译完成。您还可以利用此工具对设计进行早期分析,使 RTL 和约束的开发工作更有效率。
源交叉追踪
在原理图中选择一个实例,同样是点击鼠标右键弹出菜单,直接找到定义或实例化此对象的源代码。
综合视图
点击“综合”按钮运行综合,或打开综合完成后建立的综合网表。这将读取综合生成的门级网表,并读取约束,将其应用于网表(在内存中),便于您对设计进行报告和分析。这里我们使用的是综合网表结果,但设计还没有完成布局布线,因此工具会适当地使用估计算法,这个阶段有许多报告可以使用。
资源利用率
后综合阶段,您最关注的可能是资源利用。打开设计后,点击“资源利用报告”按钮,就可以看到以图形方式显示的器件资源利用情况,既可以按类型进行全局划分,也可以按设计的逻辑层次结构划分。
设计人员关注的另一个问题是时序分析。如果设计在这个阶段遇到时序问题,整个编译过程就有可能是无用功,因此我们建议用户最好先用约束多试几次,在实施前将问题全部清除。
时序
介绍
点击“时序报告”按钮,弹出时序报告选项对话框。点击“OK”选择默认设置,即可显示每个时钟域的总体状况以及其中的最差路径。这样可以生成按时钟组分类的图形化报告,最差路径显示在报告的顶端。展开结果视图查看所有路径,双击一条路径查看路径的详细情况以及建立时间或者保持时间分析裕量的计算方法。
时序交叉跟踪
也可以选择一条路径,点击鼠标右键,选择生成时序路径的原理图,也可以跨区域查询路径的 RTL 源代码。
实现
在后实现阶段点击“实现视图”加载设计,读取最终网表,布局布线数据库以及与实现结果匹配的最终约束。这是设计的最终阶段,您可以得到最准确的分析结果。注意器件详细视图显示很多绿色区域,这代表器件使用的走线资源。
资源利用率
与后综合阶段一样,我们可以生成用图形显示的资源利用报告,用以反映实现状态,按资源类型或者逻辑层次结构划分。
时序
现在我们将运行时序报告,就像我们在后综合阶段所做的一样。不过现在不需要估算网络延迟,而是使用布局布线设计的实际延迟。我们可以利用内存实时运行静态时序分析,不需要从磁盘读取报告文件。这样能够提供强大的互动查询功能,还可以根据“假设”场景添加约束。
器件视图交叉跟踪
展开时序结果报告,发现有不满足时序的地方,我们需要对这些不满足时序的地方进行研究。双击一条路径,弹出详细的路径跟踪窗口。转到器件视图,放大器件,查看选中单元的布局布线,观察器件的哪些区域受到了影响。
路径详情
回到路径跟踪窗口,可以注意到源时钟和目的时钟不同,意味着这是一条跨时钟路径。而且我知道这两个时钟域彼此独立,也就是说不能同时处于激活状态,但是我忘记了添加约束来对其进行恰当的配置。约束语言采用行业标准的 SDC (Synopsys Design Constraints)。
假设加约束
打开约束编辑器,添加set_clock_group命令,将两个时钟设置为彼此逻辑独立。然后重新运行时序报告,可以立刻看到时序图有很大改善。请注意,我无需重新运行实现过程就能看到修改约束后的结果。我刚刚加入约束文件的约束将在下次运行时参与整个运行过程。
功耗
现在来看一下设计的功耗情况。点击“电源报告”图标,弹出电源分析对话框。选择所有默认选项,点击“运行”,我将得到设计的静态功耗和动态功耗报告图。
柱状图
展开报告,可以看到有关 IO、内核动态功耗以及器件静态功耗的柱状图。还可以将其展开,按层级查看资源利用详情,明确设计的哪个部分动态功耗最高。
比特流产生 总结
当然可以从实现结果生成比特流,下载并编程到器件上。
上面就是 Vivado 集成设计环境的简单使用介绍,它是赛灵思面向7系列器件的新一代工具套件。Vivado 在编译时间、设计效率和使用便利性方面实现了革命性改进。
上一篇:Vivado 高层次综合演示
下一篇:解析赛灵思2012年财报 业绩归功40、28nm
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况