在project模式下自定义Implementation Strategies

news2024/11/16 13:51:01

Implementation Settings定义了默认选项,当要定义新的implementation runs时会使用这些选项,选项的值可以在Vivado IDE中进行配置。
图1展示了“Settings”对话框中的“implementation runs”对话框。要从Vivado IDE打开此对话框,请从主菜单中选择“Tools > Settings”。
图1 Implementation Settings
在Vivado中,自定义Implementation Strategies对于优化设计和提高性能至关重要。通过修改Implementation Settings,可以调整各种参数,如优化级别、并行度、目标硬件等,以满足特定项目的需求。

一、通过Flow Navigator访问Active Run的Implementation Settings

还可以通过在Flow Navigator的顶部选择“Settings”,然后单击“Implementation”类别,来访问active implementation run的Implementation Settings。
如图1所示的Settings 对话框包含以下字段:
• Default Constraint Set
选择implementation run时默认使用的约束集。
• Report Settings
使用此菜单选择报告策略。可以从预设的报告策略中选择,或者定义自己的策略来选择在每个设计步骤中运行哪些报告。
• Incremental Compile
如果需要,指定增量编译检查点。
• Strategy
选择用于实现运行的策略。Vivado Design Suite包含一组预定义的策略。也可以创建自己的实现策略,并将更改保存为新策略以供将来使用。
• Description
描述所选的Implementation Strategies。用户定义的策略的描述可以通过输入新的描述进行更改。Vivado工具标准实现策略的描述无法更改。
通过Flow Navigator访问Implementation Settings,可以方便地查看和修改当前活动运行的配置选项。这对于调整设计流程、优化性能或解决特定问题非常有用。

二、定义Implementation Strategies

run strategy是解决设计中synthesis 或 implementation 挑战的预定义方法。
• 策略是在Vivado implementation特性中为预配置选项集定义的。
• 策略是针对特定工具和版本的。
• Vivado Design Suite的每个主要版本都包含特定于版本的策略。Vivado实现包括几个常用的策略,这些策略都经过了内部基准测试的验证。
提示:不能保存对预定义implementation strategies的更改。但是,可以复制、修改和保存预定义策略以创建自己的策略。
在Vivado中,定义implementation strategies是优化设计和提高性能的关键步骤。通过选择或创建适合项目需求的策略,可以更好地控制设计流程,并解决特定的implementation挑战。Vivado提供了多种预定义的策略,这些策略基于广泛的测试和验证,适用于各种常见的设计场景。如果需要更精细的控制或针对特定项目的优化,可以复制和修改这些预定义策略,以创建自定义策略,并保存以供将来使用。
图2 Default Implementation Strategies

三、访问当前定义的策略

要访问当前定义的运行策略,请在Vivado IDE主菜单中选择“Tools > Settings”。
要查看、复制和修改运行策略,请按照以下步骤操作:
1、从主菜单中选择“Tools > Settings”。
2、在左侧面板中选择“Strategies ”。
3、选择“Run Strategies”以查看、复制或修改运行策略**。**
run Strategies页面(如上图2所示)包含各种工具和发行版本的预定义运行策略列表。
4、在“Flow”下拉菜单中,为可用策略选择适当的Vivado Implementation版本。

将显示包含的策略列表。
5、创建新策略或复制现有策略。
要创建新策略,请单击工具栏上的“Create Strategy”按钮或从右键菜单中选择它。
要复制现有策略,请选择工具栏或弹出菜单中的“Copy Strategy”。
Vivado设计工具将执行以下操作:
a. 复制当前所选策略。
b. 将其添加到“User Defined Strategies”列表中。
c. 在对话框的右侧显示策略选项,以便进行修改。
6、为新策略提供名称和描述
Name:输入要分配给运行的策略名称。
Type:指定综合或实现。
Tool Version:指定工具版本。
Description:输入在设计运行结果表中显示的策略描述。
7、编辑各个实现步骤的Options
设计初始化(init_design)
优化设计(opt_design)
电源优化设计(power_opt_design)(可选)
放置设计(place_design)
放置后电源优化设计(power_opt_design)(可选)
放置后物理优化设计(phys_opt_design)(可选)
布线设计(route_design)
布线后物理优化设计(post_route_phys_opt_design)(可选)
写入比特流(write_bitstream)(除Versal之外的所有设备)
写入设备映像(write_device_image)(Versal设备)
提示:选择一个选项以在设计运行设置对话框的底部查看该选项的简要说明。
8、点击特定选项的右侧列以修改命令选项。
请参见下面的图3作为示例。
图3 Edit Implementation Steps
修改命令选项的步骤为:

  • 从下拉菜单中选择预定义选项。
  • 使用复选框启用或禁用某些选项。
  • 为带有文本输入字段的选项键入用户定义的值。
  • 使用文件浏览器为接受文件名和路径的选项指定文件。
  • 在implementation过程的每个步骤之前和之后插入自定义Tcl脚本(称为钩子脚本)(tcl.pre和tcl.post)。这允许您在每个implementation步骤之前或之后执行特定任务(例如,在Place Design之前和之后生成时序报告以比较时序结果)。
    注意:tcl.pre和tcl.post脚本中的相对路径是相对于它们应用的项目的适当运行目录的:
    /<project.runs>/<run_name>
    可以使用当前项目或当前运行的DIRECTORY属性在脚本中定义相对路径:
get_property DIRECTORY [current_project]
get_property DIRECTORY [current_run]

9、点击“OK”以保存新策略。
新策略将列在“User Defined Strategy”下。Vivado工具将用户定义的策略保存到以下位置:
Linux操作系统
$HOME/.Xilinx/Vivado/strategies
Windows
C:\Users\AppData\Roaming\Xilinx\Vivado\strategies
这样,就可以创建、编辑和保存自定义策略,以满足特定设计项目的需求。通过仔细调整这些策略,可以优化实现过程,从而改进设计的性能、功耗和面积等方面。

四、共享运行策略

设计团队如果希望创建和共享策略,可以将任何用户定义的策略从用户目录复制到 /Vivado//strategies 目录。其中, 是Xilinx软件的安装目录, 是发行版本号。
通过这样做,其他团队成员可以在他们自己的Vivado环境中访问和使用这些共享的策略,而无需每个用户都重新创建它们。这有助于确保团队内的设计流程一致性和可重复性。
以下是复制和共享策略的步骤:
1、找到用户定义的策略文件。这些文件通常位于用户目录下的Vivado策略文件夹中,例如在Linux系统中是 $HOME/.Xilinx/Vivado/strategies,在Windows系统中是 C:\Users<username>\AppData\Roaming\Xilinx\Vivado\strategies。
2、复制这些策略文件。可以使用文件浏览器或命令行工具来复制这些文件。
3、将策略文件粘贴到Vivado安装目录下的策略文件夹中。路径应类似于 /Vivado//strategies,其中 是Xilinx软件安装所在的目录, 是你正在使用的Vivado版本。
4、确保其他团队成员在他们的Vivado环境中也能访问到这个共享的策略目录。这通常意味着他们需要拥有读取这些文件的权限。
5、在Vivado IDE中,团队成员可以通过“Tools > Settings >Strategy”来访问这些共享的策略,并像使用其他策略一样选择和应用它们。

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

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

相关文章

文件管理--fscanf,fread,fwrite和fprintf

fprintf函数&#xff1a;对于fprintf函数&#xff0c;它和printf一样&#xff0c;但是它的表达式为&#xff1a;int fprintf ( FILE * stream, const char * format, ... );和printf的很相似&#xff0c;但有不一样。它是格式化输出函数&#xff0c;代码为&#xff1a; #includ…

2024年清明节安装matlab 2024a

下载安装离线支持包SupportSoftwareDownloader_R2024a_win64&#xff0c;地址https://ww2.mathworks.cn/support/install/support-software-downloader.html&#xff0c;运行软件&#xff08;自解压运行&#xff09;&#xff0c;登录账号&#xff08;需要提前在官网注册&#x…

Ubuntu部署BOA服务器

BOA服务器概述 BOA是一款非常小巧的Web服务器&#xff0c;源代码开放、性能优秀、支持CGI通用网关接口技术&#xff0c;特别适合用在嵌入式系统中。 BOA服务器主要功能是在互联嵌入式设备之间进行信息交互&#xff0c;达到通用网络对嵌入式设备进行监控&#xff0c;并将反馈信…

MPLS-基础、LSR、LSP、标签、体系结构

MPLS技术 MPLS基础 MPLS&#xff1a;转发数据时&#xff0c;只在网络边缘分析IP报文头&#xff0c;不在每一跳都分析&#xff0c;节约了转发时间。 MPLS&#xff1a;Multiprotocol Label Switching&#xff0c;多协议标签交换骨干网技术。主要应用&#xff1a;VPN、流量工程…

基于wordcloud、matplotlib等对某东评论数据情感分析-Python数据分析项目

基于wordcloud、matplotlib等对某东评论数据情感分析 文章目录 基于wordcloud、matplotlib等对某东评论数据情感分析1 数据导入及预处理1.1 数据导入1.2 数据描述1.3 数据预处理 2 情感分析2.1 情感分析2.2 情感分直方图2.3 词云图2.4 关键词提取 3 积极评论与消极评论3.1 积极…

【番外篇1】统计学+spss-t检验

目录 t检验 独立样本 t 检验 p值 spss如何分析独立样本t检验 配对样本t检验 单样本t检验 t检验 当我们想要比较两组数据&#xff08;比如两组学生的成绩&#xff09;是否真的有显著差异时&#xff0c;就可以使用 t 检验。 t 检验告诉我们&#xff0c;这种差异是不是真的…

深入解析Hadoop生态核心组件:HDFS、MapReduce和YARN

这里写目录标题 01HDFS02Yarn03Hive04HBase1&#xff0e;特点2&#xff0e;存储 05Spark及Spark Streaming关于作者&#xff1a;推荐理由&#xff1a;作者直播推荐&#xff1a; 一篇讲明白 Hadoop 生态的三大部件 进入大数据阶段就意味着进入NoSQL阶段&#xff0c;更多的是面向…

@Order和@DependsOn的区别

这里写自定义目录标题 一、区别二、demo演示1、Order2、DependsOn 一、区别 Order&#xff1a;改变Bean注入的顺序DependsOn&#xff1a;改变Bean创建的顺序 二、demo演示 1、Order 类 A B 都实现了接口 I &#xff0c;且 A B都由Spring容器创建并且管理 public class A im…

.NET CORE 分布式事务(四) CAP实现最终一致性

目录 引言&#xff1a; 1.0 最终一致性介绍 2.0 CAP 2.0 架构预览 3.0 .NET CORE 结合CAP实现最终一致性分布式事务 3.1 准备工作(数据库&#xff0c;本文使用的是MySql) 3.1.1 数据模型 3.1.2 DbContext 3.1.3 数据库最终生成 3.2 Nuget引入 3.3 appsettings.json …

FressRTOS_day4:2024/4/4

1.总结二进制信号量和计数型信号量的区别&#xff0c;以及他们的使用场景。 二进制信号量的数值只有0和1。&#xff08;用于共享资源的访问&#xff09;&#xff1b;而计数型信号量的值一般是大于或者等于2&#xff08;用于生产者和消费者模型&#xff09; 2.使用计数型信号量…

安装Schedule库的方法最终解答!_Python第三方库

安装Python第三方库Schedule 我的环境&#xff1a;Window10&#xff0c;Python3.7&#xff0c;Anaconda3&#xff0c;Pycharm2023.1.3 Schedule库 Schedule 是一个轻量级、功能强大而灵活的任务调度工具库&#xff0c;用于在指定的时间间隔内执行任务。为用户提供了简单易用的…

树(Tree) - 概念与基础

树的基本概念 树(Tree)是一种重要的数据结构&#xff0c;它在计算机科学中被广泛应用于各种算法和程序中。树是由节点(node)组成的层次结构&#xff0c;其中每个节点都有一个父节点&#xff0c;除了根节点外&#xff0c;每个节点都有零个或多个子节点。树的一个关键特点是没有…

Java云联his系统,支持电子病历四级,医院信息管理系统源码

SaaS模式Java语言开发的云HIS系统源码&#xff0c;支持电子病历四级&#xff0c;系统充分考虑了模板化、配置化、智能化、扩展化等设计方法&#xff0c;覆盖了基层医疗机构的主要工作流程&#xff0c;能够与监管系统有序对接&#xff0c;并能满足未来系统扩展的需要。 云HIS系统…

matlab使用教程(33)—求解时滞微分方程(1)

1.时滞微分方程(DDE)的分类 时滞微分方程 (DDE) 是当前时间的解与过去时间的解相关的常微分方程。该时滞可以固定不变、与时间相关、与状态相关或与导数相关。要开始积分&#xff0c;通常必须提供历史解&#xff0c;以便求解器可以获取初始积分点之前的时间的解。 1.1常时滞 D…

二维动画制作软件 Animate 2024 for mac激活版

Animate 2024 for Mac是一款功能强大的二维动画制作软件&#xff0c;专为Mac用户打造。它提供了丰富的动画编辑功能&#xff0c;使用户能够轻松创建出生动逼真的动画作品。无论是短片、广告还是游戏等应用领域&#xff0c;Animate 2024都能发挥出出色的表现。 软件下载&#xf…

ArcGIS Pro导出布局时去除在线地图水印

目录 一、背景 二、解决方法 一、背景 在ArcGIS Pro中经常会用到软件自带的在线地图&#xff0c;但是在导出布局时&#xff0c;图片右下方会自带地图的水印 二、解决方法 解决方法&#xff1a;添加动态文本--服务图层制作者名单&#xff0c;然后在布局中选定位置添加 在状…

基于 Docker 的 python grpc quickstart

工作之后一直使用的 RPC 框架是 Apache 的 thrift&#xff0c;现在发现 grpc 更流行&#xff0c;所以也要学习一下&#xff0c;先来简单的跑一下 demo。在本地安装运行也很方便&#xff0c;不过因为有了 docker&#xff0c;所以在 docker 里面安装运行隔离性更好&#xff0c;顺…

多线程--深入探究多线程的重点,难点以及常考点线程安全问题

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

【机器学习】K-近邻算法(KNN)介绍、应用及文本分类实现

一、引言 1.1 K-近邻算法&#xff08;KNN&#xff09;的基本概念 K-近邻算法&#xff08;K-Nearest Neighbors&#xff0c;简称KNN&#xff09;是一种基于实例的学习算法&#xff0c;它利用训练数据集中与待分类样本最相似的K个样本的类别来判断待分类样本所属的类别。KNN算法…

STM32工程 如何设置堆栈大小(Heap和Stack)

方法1&#xff1a;通过CubeMX、CubeIDE 配置 方法2&#xff1a;直接在启动文件中修改 &#xff08;适合所有Keil工程&#xff09; Heap、Stack的值大小&#xff0c;不管使用哪种开发环境&#xff0c;它俩都肯定在启动文件中。 可以通过CtrlF&#xff0c;搜索: Heap&#xff0…