vivado实现分析与收敛技巧8-布局规划技巧

布局规划技巧
对于从未满足时序的设计以及不适合更改网表或约束的设计 可考虑采用门级布局规划。
分层布局规划
分层布局规划支持您将一个或多个层级布局在片上某个区域内。此区域可向布局器提供全局层面的指导信息 并由布局器执行详细布局。分层布局规划相比于门级布局规划具有如下优势:
• 分层布局规划的创建速度比门级布局规划更快。良好的布局规划可改善时序。布局规划不受设计变更影响。
• 层级可充当所有门电路的容器。一般即使网表发生更改 它仍可正常运作。
在分层布局规划中支持
• 识别包含关键路径的较低层级。
• 使用顶层布局规划来识别布局位置。
• 通过实现来执行个别单元布局。
• 全面掌握单元和时序路径信息。
• 通常能够有效完成高精度布局。
手动单元布局
手动单元布局可充分发挥器件性能。使用此技巧时 设计师通常只能将其用于小块设计。可将少量逻辑布局到高速 I/O接口周围, 或者可手动布局块 RAM DSP 。手动布局可能比较慢。
所有布局规划技巧都需要大量工程设计时间。可能需要布局规划迭代。如果任意单元名称发生更改 则必须更新布局规划约束。
执行布局规划时 应明确最终管脚分配。最好将 I/O 固定。 I/O 可提供锚点作为布局规划的起点。与 I/O 通信的逻辑可向固定管脚移植。
上图所示布局规划可能对时序没有帮助。请考虑将块拆分、更改源代码或者仅约束块 RAM DSP 。另请考虑在外部时序要求允许的情况下取消 I/O 寄存器布局。
本部分中提到的 Pblock XDC 约束来表示
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add
{SLICE_X8Y105:SLICE_X23Y149}
resize_pblock [get_pblocks Pblock_usbEngine] -add {DSP48_X0Y42:DSP48_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB36_X0Y21:RAMB36_X1Y29}
set_property IS_SOFT 0 [get_pblocks Pblock_usbEngine]
1 行用于创建 Pblock 。第 2 ( add_cells_to_pblock ) 用于将层级分配到 Pblock 。有 4 种资源类型 SLICE 、DSP48、 RAMB18 RAMB36 ), 各有自己的网格。不受网格约束的逻辑可连接至器件内任意位置。要仅约束层级内的块 RAM 请禁用其他 Pblock 网格。
生成的 XDC 命令可用于定义简化的 Pblock
create_pblock Pblock_usbEngine
add_cells_to_pblock [get_pblocks Pblock_usbEngine] [get_cells -quiet [list
usbEngine1]]
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB18_X0Y42:RAMB18_X1Y59}
resize_pblock [get_pblocks Pblock_usbEngine] -add
{RAMB36_X0Y21:RAMB36_X1Y29}
RAM 约束在器件内 slice 分片 逻辑可自由布局在器件上任意位置。
使用基于 Pblock 的布局规划
RTL 集成到设计中时 有助于将器件内部的设计可视化。以图形化方式查看块之间的互连方式以及综合后的 I/O 管脚分配 (pinout) 有助于您了解自己的设计。
要查看互连方式 请在上层层级内使用 Pblock 生成顶层布局规划。要将顶层 RTL 细分为多个 Pblock 请选择“Tools ” → “ Floorplanning ” → “ Auto Create Pblocks 工具 > 布局规划 > 自动创建 Pblock 。要将块布局到器件内, 请选择“ Tools ” → “ Floorplanning ” → “ Place Pblocks 工具 > 布局规划 > 布局Pblock) 。工具会根据 slice 计数和目标使用率来设置 Pblock 大小。
分析期间 Pblock 填充可能超过 100% 但在实现期间不会发生此现象。过度填充 Pblock 会导致在器件上其大小减小。这是获取器件顶层块的相对大小概览及其在器件上的分布方式的一项实用技巧。
顶层布局规划
顶层布局规划用于显示与 I/O 通信的块 绿线 。连接到 2 Pblock 的信号线将捆绑在一起。捆绑可根据共享信号线的数量更改大小和颜色。下图中显示了 2 种顶层布局规划。
Data Path Top Level Floorplan 数据路径顶层布局规划 显示了设计的顶层块之间数据流动的方式。每个块都仅与 2 个近邻通信。绿线显示与单个块通信的布局精良的 I/O
Control Path Floorplan 控制路径布局规划 显示的设计中的所有块都与中心块进行通信。最大的连接为中心块与最右下角的块之间的连接。中心块必须分布在整个设计周围, 才能与所有其他负载进行通信。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BUUCTF 间谍启示录 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 在城际公路的小道上,罪犯G正在被警方追赶。警官X眼看他正要逃脱,于是不得已开枪击中了罪犯G。罪犯G情急之下将一个物体抛到了前方湍急的河流中,便头一歪突然倒地。警官X接近一看&…

6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动

Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的sfilter文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器FilterManager提…

人工智能 - 人脸识别:发展历史、技术全解与实战

目录 一、人脸识别技术的发展历程早期探索:20世纪60至80年代技术价值点: 自动化与算法化:20世纪90年代技术价值点: 深度学习的革命:21世纪初至今技术价值点: 二、几何特征方法详解与实战几何特征方法的原理…

20.Oracle11g中的触发器

oracle11g中的触发器 一、触发器的概述1、什么是触发器2、触发器的类型3、触发器的组成4、触发器的作用 二、触发器的创建语法1、创建语法2、数据库启动触发器3、 用户登录触发器: 三、对触发器的基本操作点击此处跳转下一节:21.Oracle的程序包(Package)…

Opencv框选黑色字体进行替换(涉及知识点:selectROI,在控制台输入字体大小,颜色,内容替换所选择的区域)

import cv2 from PIL import Image,ImageDraw,ImageFont import numpy as npimg_path ../img/ img_clean_path ../img_clean/ name xiao_ben suf .pngimg cv2.imread(img_pathnamesuf) cv2.imshow(original, img)# 选择ROI roi cv2.selectROI(windowName"original&q…

面试题:项目中如何解决跨域问题(HttpClient、注解、网关)

文章目录 为什么会有跨域问题常见的跨域解决方式网关整合项目中使用Httpclient 为什么会有跨域问题 因为浏览器的同源政策,就会产生跨域。比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者不同的域名。由于浏览器为…

Java毕业设计 SSM SpringBoot vue 夜市摊位管理系统

Java毕业设计 SSM SpringBoot vue 夜市摊位管理系统 SSM SpringBoot vue 夜市摊位管理系统 功能介绍 首页 图片轮播 通知公告 留言反馈 摊位信息 摊位详情 收藏 评论 赞 踩 登录注册 个人中心 更新信息 我的收藏 大数据夜市摊位统计 系统介绍 后台管理 登录 轮博图管理 通知…

【STM32】STM32学习笔记-课程简介(01)

00. 目录 文章目录 00. 目录01. 课程简介02. 硬件设备03. 软件工具04. 硬件套件4.1 面包板和跳线/飞线4.2 杜邦线和STM32最小系统板4.3 STLINK和OLED显示屏4.4 LED和按键4.5 电位器和蜂鸣器4.6 传感器和旋转编码器4.7 USB转串口和MPU60504.8 Flash闪存和电机模块4.9 SG90舵机 0…

geemap学习笔记015:下载哨兵2号(Sentinel-2)数据

前言 使用GEE下载数据应该是最常见的功能了,今天就介绍一下如何使用geemap下载哨兵2号(Sentinel-2)数据,分别包括自己画感兴趣,以及利用Assets中的shp文件进行下载。 1 自己画感兴趣下载哨兵2号影像 import geemap import eeMap geemap.M…

c++--类型行为控制

1.c的类 1.1.c的类关键点 c类型的关键点在于类存在继承。在此基础上,类存在构造,赋值,析构三类通用的关键行为。 类型提供了构造函数,赋值运算符,析构函数来让我们控制三类通用行为的具体表现。 为了清楚的说明类的构…

百度智能云推出“千帆AI原生应用开发工作台” 助力开发者创新

在这个智能互联的世界,每一次技术的飞跃都预示着无限可能。你是否曾梦想,一款产品能够打破创新的边界,让开发不再是高门槛的技术挑战?12月20日,百度云智大会智算大会将为你揭开这幕神秘面纱——“千帆AI原生应用开发工…

Python中的并发编程

目录 一、引言 二、Python中的线程 1、线程的概念 2、创建线程 3、线程同步和锁 4、线程池 三、Python中的进程 1、进程的概念 2、创建进程 四、Python中的异步IO 1、异步IO的概念 2、异步IO的实现 3、异步IO的并发执行 五、总结 一、引言 并发编程是一种计算机…

消息中间件——RabbitMQ(七)高级特性 2

前言 上一篇消息中间件——RabbitMQ(七)高级特性 1中我们介绍了消息如何保障100%的投递成功?,幂等性概念详解,在海量订单产生的业务高峰期,如何避免消息的重复消费的问题?,Confirm确认消息、Return返回消息。这篇我们…

LLM推理部署(四):一个用于训练、部署和评估基于大型语言模型的聊天机器人的开放平台FastChat

FastChat是用于对话机器人模型训练、部署、评估的开放平台。体验地址为:https://chat.lmsys.org/,该体验平台主要是为了收集人类的真实反馈,目前已经支持30多种大模型,已经收到500万的请求,收集了10万调人类对比大模型…

6-69.鸭子也是鸟

按要求完成下面的程序: 1、定义一个Bird类,包含一个void类型的无参的speak方法,输出“Jiu-Jiu-Jiu”。 2、定义一个Duck类,公有继承自Bird类,其成员包括: (1)私有string类型的成员na…

4个解决特定的任务的Pandas高效代码

在本文中,我将分享4个在一行代码中完成的Pandas操作。这些操作可以有效地解决特定的任务,并以一种好的方式给出结果。 从列表中创建字典 我有一份商品清单,我想看看它们的分布情况。更具体地说:希望得到唯一值以及它们在列表中出…

【高效开发工具系列】jackson入门使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

指针的综合运用第二期

1.指针数组 char *arr[5];//字符指针数组 int *arr[5];//整型指针数组 int ADD(int x,int y) { return xy; } int LOSE(int a,int b) { return a-b; } int *pa(int,int)ADD; int *pb(int,int)LOSE;//函数指针 int (*pc[2])(int,int){ADD,LOSE};//函数指针数组 //调用直接按数组…

VisionPro---PatMaxTool工具使用

CogPMAlignTool PatMax是一种图案位置搜索技术(识别定位),PatMax图案不依赖于像素格栅,是基于边缘特征的模板匹配而不是基于像素的模板匹配,支持图像中特征的旋转与缩放,边缘特征表示图像中不同区域间界限…

数据链路层之广域网、PPP协议、HDLC协议

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…