vivado 使用块综合策略

使用块综合策略

概述

AMD Vivado™合成具有许多策略和全局设置,您可以使用这些策略和设置自定义设计的合成方式。此图显示了可用的预定义策略在“合成设置”和“表:Vivado预配置策略”中提供了一个并排的战略设置的比较。您可以使用RTL或中的属性或XDC文件覆盖某些设置,例如-retimeming用于特定层次结构或信号的XDC文件。但是,一般来说,选项会影响整个设计。随着设计变得越来越复杂,应用此类设置可能会限制您的设计充分发挥其潜力。设计中的某些层次结构使用不同的选项可能会更好地工作比其他人。下图显示了一个中型设计,它有许多不同类型的等级制度。

一种选择是在上下文外(OOC)模式中合成这样的层次结构;这是有效的,但是使设计流程复杂化。OOC流分离分配给的层次结构以OOC模式合成,并将它们与设计的其他部分分开运行。这意味着合成每个设计运行一次以上。此外,OOC约束必须是与其他设计的约束分离,增加了更多的复杂性。块级合成流(Block_SYNTH)使用的特性允许您使用某些全局不同于顶级的完整设计。

设置块级流量

要设置块级合成流(使用Block_SYNTH特性),请输入Tcl特性仅在XDC文件中。命令语法如下:

set_property BLOCK_SYNTH.<option name> <value> [get_cells <instance_name>]

•<option_name>是您要设置的选项。

•<value>是您分配给该选项的值。

•<instance_name>是要在其上设置选项的层次实例。

例如

set_property BLOCK_SYNTH.MAX_LUT_INPUT 4 [get_cells fftEngine]

将属性设置为实例名称,而不是实体或模块名称。通过使用实例名称,Vivado合成工具能够在存在模块/实体时具有更大的灵活性其被实例化多次。在所提供的示例中,fftEngine实例正在被设置,因此不存在LUT5或LUT6基元。

注意:通过在实例上设置BLOCK_SYNTH,可以影响该实例及其以下的所有内容例子例如,如果fftEngine中实例化了其他模块,那么这些模块也会不具有任何LUT5或LUT6基元。

注意:除了影响此实例外,BLOCK_SYNTH属性还导致此的层次结构要硬化的实例。注意这一点,尤其是如果此层次结构包含I/O缓冲区或正在推断输入/输出缓冲器。

当您将BLOCK_SYNTH属性放在实例上时,该实例将获得该值具体选项;所有其他选项都使用默认值。

可以在同一实例上设置多个BLOCK_SYNTH属性,以尝试不同的组合。例如,以下保持等效寄存器,禁用FSM推断,并使用AlternateRoutable策略:

set_property BLOCK_SYNTH.STRATEGY {ALTERNATE_ROUTABILITY} [get_cells
mod_inst]
set_property BLOCK_SYNTH.KEEP_EQUIVALENT_REGISTER 1 [get_cells mod_inst]
set_property BLOCK_SYNTH.FSM_EXTRACTION {OFF} [get_cells mod_inst]

为了防止影响实例下需要不同属性设置的实例,您可以在多个级别上嵌套BLOCK_SYNTH属性。如果你只想在一个特定的地方级别,您可以在该级别上设置它,在后续级别上,您可以设置默认值返回,使用如下命令:

set_property BLOCK_SYNTH.MAX_LUT_INPUT 6 [get_cells fftEngine/newlevel]

如果新级别是fftEngine下的唯一层次结构,则此命令确保只有fftEngine获取MAX_LUT_INPUT=4属性。你也可以放一套完全不同的的选项,并且不会返回到默认值。

注:当执行块级流时,该工具将此设计保持在自上而下的模式中,这意味着整个设计经过了综合。对于有问题的例子,Vivado合成保留了层次结构,以确保该级别的逻辑不会模糊并保持在该级别内。这可能有对生活质量的潜在影响。因此,在设置BLOCK_LEVEL属性时要小心。只设置它们在你知道需要它们的情况下。

块级流量选项

块级流也支持工具中的一些预定义策略。这个允许的策略有:DEFAULT、AREA_OPTIMIZED、ALTERNATE_ROUTABLY和性能优化。XDC约束语法如下:

set_property BLOCK_SYNTH.STRATEGY {<value>} [get_cells <inst_name>]

下表列出了支持的Vivado Block合成设置。

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

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

相关文章

2023年度AI盘点 AIGC|AGI|ChatGPT|人工智能大模型

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 2023年是人工智能大语言模型大爆发的一年&#xff0c;一些概念和英文缩写也在这一年里集中出现&#xff0c;很容易混淆&#xff0c;甚至把人搞懵。 文章目录 前言01 《ChatGPT 驱动软件开…

C++完成使用map Update数据 二进制数据

1、在LXMysql.h和LXMysql.cpp分别定义和编写关于pin语句的代码 //获取更新数据的sql语句 where语句中用户要包含where 更新std::string GetUpdatesql(XDATA kv, std::string table, std::string where); std::string LXMysql::GetUpdatesql(XDATA kv, std::string table, std…

三分钟教你如何把不要钱的ChatGPT3.5用出花钱4.0的效果!

三分钟教你如何把不要钱的ChatGPT3.5用出花钱4.0的效果&#xff01; 关注微信公众号 DeepGo 计算机杂谈及深度学习记录&分享 上一期我们聊到 ChatGPT4.0确实在各方面都优于3.5 花了钱的就是不一样 但我们有没有办法去弥补这一差距呢&#xff1f; 今天我就来教你 转发…

mysql表设计

表设计流程&#xff1a; &#xff08;1&#xff09;分库&#xff1a;根据模块分 &#xff08;2&#xff09;分表&#xff1a;根据流程分表 &#xff08;3&#xff09;冗余字段和视图设计 21个表设计准则 &#xff08;1&#xff09;命名规范 account_no,account_number 表名用t…

OpenCV-38 图像金字塔

目录 一、图像金字塔 1. 高斯金字塔 2. 拉普拉斯金字塔 一、图像金字塔 图像金字塔是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说&#xff0c;图像金字塔是同一图像不同分辨率的子图…

【RabbitMQ(一)】:基本介绍 | 配置安装与快速入门

应该是新年前最后一篇博客了&#xff0c;明天浅浅休息一下&#xff0c;提前祝大家新年快乐捏&#xff01;&#x1f60a;&#x1f60a;&#x1f60a; 01. 基础理解 1.1 同步调用和异步调用 &#x1f449; 同步调用 的时候调用者会 阻塞 等待被调用函数或方法执行完成&#xff…

《Java 简易速速上手小册》第9章:Java 开发工具和框架 (2024 最新版)

文章目录 9.1 Maven 和 Gradle - 构建与依赖管理的神兵利器9.1.1 基础知识9.1.2 重点案例&#xff1a;使用 Maven 构建 Spring Boot 应用9.1.3 拓展案例 1&#xff1a;使用 Gradle 构建多模块项目9.1.4 拓展案例 2&#xff1a;利用 Gradle Wrapper 确保构建的一致性 9.2 Spring…

InstantBox:开箱即用的临时 Linux 环境

在云计算和虚拟化技术日益成熟的今天&#xff0c;我们有时需要一个快速、简单、临时的 Linux 环境来进行各种任务。这就是 InstantBox 的用武之地。 什么是 InstantBox&#xff1f; InstantBox 是一个开源项目&#xff0c;它可以快速启动临时的 Linux 系统&#xff0c;并提供…

Vue-自定义属性和插槽(五)

目录 自定义指令 基本语法 (全局&局部注册) 指令的值 练习&#xff1a;v-loading 指令封装 总结&#xff1a; 插槽&#xff08;slot&#xff09; 默认插槽 插槽 - 后备内容&#xff08;默认值&#xff09; 具名插槽 具名插槽基本语法: 具名插槽简化语法: 作…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之StepperItem组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之StepperItem组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、StepperItem组件 用作Stepper组件的页面子组件。 子组件 无。 接口 St…

浅谈进制的转换

本文创作灵感来自CSDN咸鱼WCY 的 咸鱼小白学嵌入式之C语言&#xff08;2.进制&#xff09; 博主更完就没更了&#xff0c;决定书接上回&#xff08;喜 进制是个啥 要理解进制&#xff0c;首先哈&#xff0c;咱得知道不同进制的含义 说到底&#xff0c;各个进制其实有点像在…

双活工作关于nacos注册中心的数据迁移

最近在做一个双活的项目&#xff0c;在纠结一个注册中心是在双活机房都准备一个&#xff0c;那主机房的数据如果传过去呢&#xff0c;查了一些资料&#xff0c;最终在官网查到了一个NacosSync 的组件&#xff0c;主要用来做数据传输的&#xff0c;并且支持在线替换注册中心的&a…

java SSM新闻管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM新闻管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S…

springsecurity6使用

spring security 中的类 &#xff1a; AuthenticationManager : 实现类&#xff1a;ProviderManager 管理很多的 provider &#xff0c;&#xff0c;&#xff0c; 经常使用的&#xff0c;DaoAuthenticationProvider , 这个要设置一个 UserDetailService , 查找数据库&#xff…

生存类游戏《幻兽帕鲁》从部署服务器到开始体验全过程

SteamDB数据显示&#xff0c;《幻兽帕鲁》上线24小时内&#xff0c;在线人数峰值便突破200万&#xff0c;跻身Steam历史排行榜第二位。随着热度进一步发酵&#xff0c;《幻兽帕鲁》官方发布推文称&#xff0c;游戏发售不到6天&#xff0c;销量已经突破了 800万份。欢迎大家在阿…

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

遇到 vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 的错误时&#xff0c;通常意味着Vue CLI没有被正确安装或配置在项目中。这可能是因为node_modules目录缺失了必要的包&#xff0c;或者局部安装的Vue CLI没有被正确设置到系统的PATH环境…

消息中间件面试篇

目录 消息中间件 RabbitMQ 消息不丢失 生产者确认机制 消息持久化 交换机持久化 队列持久化 消息持久化 消费者确认 消息重复消费 出现的场景 解决方案 每条消息设置一个唯一的标识id 幂等方案&#xff1a;【 分布式锁、数据库锁&#xff08;悲观锁、乐观锁&#…

【教学类-48-04】202402013“天干地支 六十一甲子”.

背景需求&#xff1a; 2024年是甲辰龙年。 “辛亥革命”“甲午海战”"戊戌变法”都有天干地支的身影。 参观历史建筑&#xff0c;不少书法碑刻上都是用天干地支进行年代记名 所以我用Python来制作60一甲子的所有天干地支组合 60一甲子 天干地支的排序 作者&#xff1a;阿…

JavaScript中有哪些不同的数据类型

在 JavaScript 中&#xff0c;数据类型是一种用来表示数据的分类&#xff0c;它决定了我们可以对这个数据类型执行哪些操作。在 JavaScript 中有以下几种不同的数据类型&#xff1a; 基本数据类型 字符串 (String)&#xff1a;表示一组字符&#xff0c;可以使用引号&#xff08…

理解JAVA EE设计模式

理解JAVA EE设计模式 在Web应用程序的设计和开发阶段,开发人员在开发类似的项目时可能会遇到相似的问题。每名开发人员可能会遇到的问题找出不同或相似的解决方案。但是,这导致一些时间和精力浪费在为相似的问题寻找解决方案上。因此,要啊节省时间和精力,需要记录常见问题…