vivado 运行编译

运行合成

运行定义并配置在合成过程中使用的设计方面。一个合成run定义了以下内容:

•AMD设备在合成过程中成为目标

•要应用的约束集

•启动单个或多个合成运行的选项

•控制合成引擎结果的选项

要定义RTL源文件和约束的运行,请执行以下操作:

1.选择“流”>“创建管路”,或者在“设计管路”中,单击“创建管路》按钮打开创建新运行向导。将打开“创建新管路”对话框,如下所示图形

2.选择“合成”,然后单击“下一步”。此时会打开配置合成运行,如下图所示。

3.单击“添加”按钮,并使用“名称”、“约束集”、“零件”配置合成运行,Strategy,如果您希望此跑步成为活动跑步,请选中Make Active。Vivado IDE包含一个默认策略。您可以设置策略运行的特定名称或者接受默认名称,编号为synth_1、synth_2等。到创建自己的跑步策略,请参阅创建跑步策略。请参阅Vivado Design Suite用户指南:使用约束(UG903)

•有关约束的详细信息,请参阅“关于XDC约束”

•有关约束处理顺序的详细信息,请参阅“约束文件顺序具有IP核心。"在为项目处理某些约束后,这些约束属性可以变成设计属性。有关设计属性的更多信息,请参阅Vivado design Suite属性参考指南(UG912)。

4.单击“下一步”。将打开“启动选项”页面。

5.在“启动选项”页面中,按如下方式设置选项,然后单击“下一步”。

•在Launch Directory(启动目录)下拉选项中,浏览并选择目录以启动跑步。

•在“选项”区域中,选择以下选项之一:

•在本地主机上启动运行:从您所在的机器上运行选项

工作使用作业数下拉列表可以指定要启动的运行次数。注意:作业数量会显著影响Vivado使用的内存量工具将其设置为非常高的数字可能会导致该工具占用大量内存取决于设计中单个运行或OOC运行的大小。也在使用内存过多可能导致工具崩溃。

•在远程主机上启动运行(仅限Linux):在远程主机和配置该主机。请参阅Vivado Design Suite用户指南:实施(UG904),了解有关在Linux中的远程主机上启动运行的更多信息。使用配置“主机”按钮,用于从对话框中配置主机。

•在集群上启动运行:在lsf等外部工具上启动运行。击中设置按钮允许配置该群集工具。

•仅生成脚本:生成稍后运行的脚本。使用runme.bat(Windows)或runme.sh(Linux)启动运行。

6.设置“创建新运行”向导选项后,单击“启动运行”摘要中的“完成”。您可以在“设计运行”窗口中看到结果,如下图所示。

使用Design Runs窗口

“设计运行”窗口显示在项目中创建的合成和实现运行并提供用于配置、管理和启动运行的命令。如果尚未显示“设计运行”窗口,请选择“窗口>设计运行”打开“设计运行”窗口。一个合成运行可以有多个实现运行。使用树窗口中的小部件展开,并折叠合成运行。“设计运行”窗口报告运行状态(当运行未开始、正在进行、已完成或过期时)。跑当您修改源文件、约束或项目设置时,会变得过时。要重置、删除或更改特定管路的特性,请在管路上单击鼠标右键,然后选择适当的命令。

设置活动运行

在Vivado IDE中,任何时候都只能有一个合成运行和一个实现运行处于活动状态。所有报告和选项卡视图都显示活动管路的信息。项目摘要窗口仅显示活动运行的编译、资源和摘要信息。若要激活管路,请在“设计管路”窗口中选择管路,单击鼠标右键,然后选择“生成”从弹出菜单中选择“活动”命令,将其设置为活动管路。启动综合运行要启动合成运行,请执行以下操作之一:

•在“流导航器”中,单击“运行合成”命令。

•从主菜单中,选择流>运行合成命令。

•在“设计管路”窗口中,右键单击管路,然后选择“启动管路”。前两个选项启动活动合成运行。第三个选项打开Launch Selected运行窗口。在这里,您可以选择在本地主机上运行、在远程主机上运行或生成要运行的脚本。

设置自下而上、断章取义的流程

您可以通过选择任何HDL对象作为独立的上下文外对象运行来设置自底向上的流(OOC)流。有关OOC流程的概述,请参阅Vivado Design Suite用户指南:设计流程概述(UG892)。OOC流的行为如下:

•较低的OOC模块独立于顶层运行,并有自己的限制。

•OOC模块可以根据需要运行。

•在OOC模块上运行合成后,不需要重新运行它,除非您更改该运行的RTL或约束。

•当运行顶层时,底层OOC运行被视为黑匣子。

如果任何IP是在OOC模式下合成的,则顶级合成运行会推断出这些IP的黑匣子。因此,用户不能将IP内部的对象(如引脚、网络和单元)作为的一部分引用顶级综合约束。在实施过程中,来自IP DCP的网表为与合成顶层设计文件时生成的网表链接,以及VivadoDesign Suite解决了IP黑匣子问题。期间生成的IP XDC输出产品实现与任何用户约束一起应用。如果有任何约束引用项在IP内部,在合成过程中会出现有关此问题的警告,但可以在实施这可能会导致顶级运行时的大幅改进,因为合成不再需要提高到最高水平,因为合成不再需要在完整的设计上运行。

要为OOC运行设置模块,请在层次结构视图中找到该模块,然后右键单击如下图所示,设置“合成为断章取义”选项,然后单击“确定”。

“设置为断章取义进行合成”对话框显示以下信息和选项:

•源节点:应用OOC的模块。

•新文件集:列出可以编辑的新文件集名称。

•生成存根:您可以选中此复选框以使工具创建存根文件。

•时钟约束文件:选择让工具为您创建一个新的XDC模板,或者您可以使用下拉菜单将现有的XDC文件复制到此文件集。此XDC文件应该为OOC模块上的所有时钟引脚提供时钟定义。

建议:打开存根文件选项。如果关闭它,则必须创建并设置存根文件在项目中。该工具将OOC设置为自动运行。如下图所示,您可以将其视为“设计运行”窗口中的新运行,以及“编译顺序”选项卡中的块源。

将流设置为“脱离上下文”时,将在工具中设置新的管路。要运行该选项,请右键单击并选择启动运行,如启动合成运行中所述。此操作将较低级别设置为顶部模块,并在没有创建I/O缓冲区。运行将保存合成的网表,并为创建一个存根文件(如果您选择了该选项)以后使用。存根文件是具有输入和输出以及黑盒属性集的较低级别。当您重新运行顶级模块时,自下而上的合成会将存根文件插入流中并将较低级别编译为黑盒。执行运行插入较低级别netlist,从而完成了设计。

小心!当较低级别中存在处于OOC模式的AMD IP时,不要使用自下而上的OOC流OOC模块的。关闭IP OOC模式,使AMD IP在OOC模块中,并关闭IP OOC模式。

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

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

相关文章

MySQL 安装配置 windows

一、下载 去官网MySQL :: MySQL Downloads 下载社区版 然后根据自己的系统选择 直接下载。 二、安装 点击安装程序 这边看样子缺少东西。 去这边下载 Latest supported Visual C Redistributable downloads | Microsoft Learn 然后再一次安装mysql 三、配置 安装完成后&a…

Kotlin-集成SpringBoot+MyBatis+代码生成器

目录 一、相关版本 二、Maven因引入相关依赖 三、SpringBoot配置文件 四、代码生成工具 五、实现用户服务模块案例 1、Controller 2、Service 3、Entity 4、Mapper 5、接口测试 一、相关版本 工具版本Idea2022.3.2Springboot2.7.12MyBatis3.5.3.1MySQL8.0.28JDK1.8 …

C# webbrowser控件设置代理IP访问网站

目录 前言 一、WebBrowser控件简介 二、代理IP简介 三、设置WebBrowser控件的代理IP 1. 引入相关命名空间 2. 定义修改代理IP的函数 3. 修改代理IP 4. 取消代理IP设置 四、使用WebBrowser控件访问代理IP 五、完整示例代码 总结 前言 C# WebBrowser控件是一个非常常…

springwebflux高性能服务

场景: 分别使用springwebmvc 使用tomcat (tomcat 9)和springwebflux 做一个简单的接口 ,该接口返回一个随机数 压测环境: 4C 8G ECS 使用tomcat 压测结果 Max 抖动的厉害 保持压测的参数不变 使用webflux 压测结果 …

rust gui开发框架选择

作为一个系统编程强大语言,怎么能少得了图形界面的开发 实际上写这篇前我也不知道,于是我问了ai大模型,文心3.5和chatgpt4.0 答案实际上不能满意,最后我做了下筛选 参考博文: rust开发环境配置:链接 一、…

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案

星宸科技SSC8826Q 驾驶辅助(ADAS)行车记录仪方案 一、方案描述 SSC8826Q是高度集成的行车记录仪、流媒体后视镜解决方案,主芯片为ARM Cortex A53,dual core,主频高达1.2GHz,集成了64-bit dual-core RISC 处…

探讨深浅拷贝在js加密中的运用

深浅拷贝是JavaScript中常用的概念,用于复制对象或数组。它们在处理数据时有不同的用途,适用于不同的场景。在本文中,我们将详细介绍深浅拷贝的概念,提供案例代码,并探讨它们在JavaScript中的应用场景,以及…

4K Video Downloader forMac/win:畅享高清视频下载的终极利器!

在如今的数字时代,高清视频已经成为人们生活中不可或缺的一部分。无论是观看精彩的电影、音乐视频,还是学习教育类的在线课程,我们都希望能够以最清晰流畅的方式来欣赏。而为了满足这一需求,我们需要一款功能强大的高清视频下载软…

H5 加密(MD5 Base64 sha1)

1. 说明 很多的时候是避免不了注册登录这一关的,但是一般的注册是没有任何的难度的,无非就是一些简单的获取用户输入的数据,然后进行简单的校验以后调用接口,将数据发送到后端,完成一个简单的注册的流程,那…

XXE基础知识整理(附加xml基础整理)

全称:XML External Entity 外部实体注入攻击 原理 利用xml进行读取数据时过滤不严导致嵌入了恶意的xml代码;和xss原理雷同 危害 外界攻击者可读取商户服务器上的任意文件; 执行系统命令; 探测内网端口; 攻击内网网站…

【日常聊聊】开源软件影响力

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 方向一:开源软件如何推动技术创新 方向二:开源软件的商业模式 方向三:开源软件的安全风险 方…

力扣刷题之旅:启程篇(一)

力扣(LeetCode)是一个在线编程平台,主要用于帮助程序员提升算法和数据结构方面的能力。以下是一些力扣上的入门题目,以及它们的解题代码。 --点击进入刷题地址 1. 两数之和 题目描述: 给定一个整数数组 nums…