【IC设计】ICC1 workshop lab guide 学习笔记——Lab 2 Design Planning Task5-9

news2024/11/16 21:38:27

文章目录

  • ICC1 workshop lab guide
    • 2.5 Create P/G Rings Around Macro Groups
    • 2.6 Power Network Synthesis
    • 2.7 Check the Timing
    • 2.8 Write Out the DEF Floorplan File
    • 2.9 Create 2nd Pass Design Ready for Placement

ICC1 workshop lab guide

2.5 Create P/G Rings Around Macro Groups

In the task following this one you will use “Power Network Synthesis” (PNS) to
automate the creation of power/ground core and individual macro rings, as well as
vertical and horizontal straps. If you want to create rings around groups of macros,
that is done prior to PNS, which is what this task will accomplish.
在接下来的任务中,你将使用电源网络综合去自动地创建P/G核心和单个宏环,以及垂直和水平绑带。
如果你想在宏组周围创建环,则需要在PNS之前完成,这就是这次要完成的任务。

  1. We have created a script to create P/G rings around six groups of macros. Take a look at the file located at ./scripts/macro_pg_rings.tcl. The P/G rings are created by:
    我们已经创建了一个脚本来在六组宏周围创建P/G环。看./scripts/macro_pg_rings.tcl这个文件。这个P/G环被创建为:
  • Defining a rough “region” that encompasses a group of macros
    定义围绕一组宏的粗糙区域
  • Defining the block ring layers, widths and offsets
    定义块环的层数、宽度和偏移量
  • Creating (committing) the metal routes
    创建金属绕线
  1. Execute the script:
source ./scripts/macro_pg_rings.tcl
  1. Take a look at the rings that have been created.
    Notice that the “PLL” macro in the upper-left corner is the only macro that
    does not have a P/G ring around it - this will be done by PNS.
    Notice also that, in addition to the rings around the macro groups, there are
    vertical/horizontal straps in between the macros. This is nice feature of the
    create_fp_group_block__ring command. It can be disabled with the
    -skip_strap option, if preferred.
    请注意,左上角的“PLL”宏是唯一一个没有P/G环的宏——这将由PNS完成。
    还要注意,除了宏组周围的环之外,宏之间还有垂直/水平带。这是create_fp_group_block__ring命令的一个很好的特性。如果愿意,可以使用-skip_strap选项禁用它。

2.6 Power Network Synthesis

实际上是做power plan

The power “grid” needs to be completed. You could create P/G straps that feed the
center of the core, a core ring, as well as rings around individual macros “manually”
(similar to the way the macro group rings were created in the previous task), but to
do so would require you to guess the appropriate number and width of the straps, as
well as the width of the core ring to achieve acceptably low IR drop. Instead, you
will use IC Compiler’s Power Network Synthesis (PNS) capability to automatically
determine the number and width of straps, as well as the core ring width, based on a
target IR drop. You can experiment with different goals, and when acceptable
results are achieved you then “commit” or physically implement the power grid.

电力“网格”需要被完成。您可以创建P/G带,围绕core的中心、核心环以及单个宏周围的环提供“手动”(类似于在前面的任务中创建宏组环的方式),但要这样做,您需要猜测带的适当数量和宽度,以及核心环的宽度,以实现可接受的低IR下降。

相反,您将使用IC编译器的电源网络综合(PNS)功能来自动确定带的数量和宽度,以及核心环宽度,基于目标IR下降。您可以尝试不同的目标,当获得可接受的结果时,您就可以“提交”或实际实现电网。

2.7 Check the Timing

Now that the power plan is done,you have to perform a few more steps to complete the placement and to verify max-delay(setup)timing.
现在电源规划已经做好了,你需要去执行一些步骤来完成布局并验证最大时延时序。
1.If you are not able to see the standard cells in the LayoutWindow,go to the “Visibility” panel in the left margin of the LayoutWindow,expand the “Cell” listing by selecting the “+” sign,and make sure that “Standard” is checked.
如果你在LayoutWindow中看不到标准单元,在LayoutWindow左侧边缘的”可视化“面板中,通过”+”号展开Cell,确保“Standard"被选中。

2.PNS created many straps on METAL4 and METAL5,which were placed over the standard cells.It can be advantageous to prevent standard cell placement under the straps——this reduces the likelihood of congestion along the straps,and reduces crosstalk effects on the power nets.Apply a “complete” power net(pnet) blockage on the straps,then run the virtual flat placement again to take pnet setting into account:
PNS用METAL 4和5创建了许多放在标准单元上的电源条带。阻止标准单元布局在条带下是有利的——这减少了条带上阻塞的可能,并且减少了在电源网线上的串扰效应。应用"complete"电源网络障碍在条带上,然后再次运行vfp来讲pnet设置生效:

set_pnet_options -complete "METAL4 METAL5"
create_fp_placement -timing_driven -no_hierarchy_gravity

Verify that there are no longer any standard cells under the straps
验证不再有标准单元在straps下面

3.Since we are about to check timing,perform actual global routing by running the following command:
在我们要去做时序检测时,执行全局routing通过下面的命令:

route_zrt_global

4.Bring up the global route congestion map(no need to “reload”).There should not be any congestion issues.Close the panel(click on small “x”).
打开全局布线阻塞图。应该不会有任何阻塞提醒。关闭面板(点击小x)

5.Generate a maximum-delay(setup) timing report using the “view” procedure (it will take a few seconds to update the timing and generate the report):
使用view工具生成最大延时(setup)timing report

v report_timing

Use the search machanism to highlight or tag the word “slack”:
使用搜索机制去高亮或点击”slack“
RE Search-> type in “slack-> Tag.

Scroll up/down.You should see the words slack(MET) followed by a positive number at the end of each of the 8 clock group paths.This design meets setup timing.Click on Close Search then Close Window.
上下滚动。你会在每8个时钟组路径后看到一个正数slack(MET)
这个设计满足setup timing。点击关闭搜索窗口。

6.To fix any timing violations(and design rule violations),if there were any,you would invoke the following command and repeat global route.Feel free to do so,if you have the time,otherwise skip to the “Save the cell” step:
为了修复可能存在的时序违例(和设计规则违例),你需要调用下面的命令并重复全局布线。如果有时间就做一下,没时间就跳过。

optimize_fp_timing -fix_design_rule

7.Save the cell as floorplan_complete
将cell保存为floorplan_complete

2.8 Write Out the DEF Floorplan File

1.Remove all the placed standard cells then write out the floorplan file in DEF format.The DEF floorplan file will be used by Design Compiler Topographical to re-synthesize the design using the floorplan you just designed,and will again be used by IC Compiler to re-create the floorplan when reading in the re-synthesized netlist(next Task):
移除所有已布局的标准单元,然后将floorplan文件写出到DEF格式中。DEF格式的floorpaln文件会被DCT使用来用你刚刚的floorplan重新综合设计,并且将被ICC在读入重新综合的网表时再次创建floorplan:

remove_placement -object_type standard_cell
write_def -verison 5.6 -placed -all_vias -blockages -routed_nets -rows_tracks_gcells -specialnets -output design_data/ORCA.def

2.Verify that the DEF file has been created in the design_data directory.
验证DEF文件是否被创建在design_data目录中

3.Close the design library without saving the design in momory.
不保存内存中的设计,关闭设计库。

2.9 Create 2nd Pass Design Ready for Placement

We will now pretend that this design was re-synthesized from RTL code using Design Compiler Topographical mode,along with the floorplan description captured in the DEF file generated in the previous task.You have been given a 2nd pass netlist,ORCA_2.v,along with an updated constraints file ,ORCA_2.sdc.
我们现在要假设这个设计是由DCT工具由RTL代码重新综合出来的,带有先前任务中被DEF文件记录的floorplan信息。你被给出了第二版netlist,ORCA_2.v,以及一个更新的约束文件,ORCA_2.sdc

1.Perform data setup using the new ORCA netlist and constraints:

source scripts/2nd_pass_setup.tcl

This script executes the following standard data setup steps:

2.Read the DEF file that was written out in the previous task:
读入刚刚写入的DEF文件
read_def design_data/ORCA.def

3.Re-apply the pnet options that you applied after Power Network Synthesis in Task 6,step 1.These settings are not captured in the DEF file:
重新应用以下命令,这个命令之前执行过,DEF没记录。

set_pnet_options -complete "METAL4 METAL5"

4.Save the cell as ready_for_placement.
保存这个cell为ready_for_placement

5.Exit IC Compiler.
退出ICC

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

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

相关文章

uniapp 发送全文件 支持App端ios、android,微信小程序,H5

由于uniapp提供的API在app端只能上传图片和视频,不能上传其他文件,说以只能借助插件了。 ios端用的这个插件 获取到文件对象 免费的 这个是返回一个 filePath 可用直接用于 uni.uploadFile 上传的路径,后面自己又改的File对象 全文件上传选择…

CAD绘制三维升旗台

首先绘制长方体的底座 用交叉对角线来定位,绘制一个小一点的矩形,用来定位 大概的效果: 沿着矩形的一个角绘制三个长方体,形成护栏 用阵列或者复制等形成四个角的护栏 旋转,换成真实的效果图: 添加一个圆…

文件共享平台Pingvin Share

本文完成于 2 月上旬。最近正好应网友要求折腾了 ClamAV,所以翻出来一起发了,可以作为 ClamAV 的一个应用示例; 什么是 Pingvin Share ? Pingvin Share 是自托管文件共享平台,是 WeTransfer 的替代品。使用 Pingvin Sh…

【C语言基础】遍历

(꒪ꇴ꒪(꒪ꇴ꒪ ),我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&…

S7-1200与ABB机器人进行SOCKET通信的具体方法示例

S7-1200与ABB机器人进行SOCKET通信的具体方法示例 SOCKET通信是一种基于TCP/IP协议的通信方式,提供了程序内部与外界通信的端口并为通信双方提供了数据传输通道。 ABB机器人实现SOCKET通信必须要在Communication选项中勾选616-1 PC Interface选项功能。 具体方法可参考以下内容…

SpringBoot+Vue酒店客房管理系统

💕💕作者:程序员徐师兄 个人简介:7 年大厂程序员经历,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可以一起交流! 各类成品java毕设 。javaweb,ssh,ssm&…

从YOLOv1到YOLOv8的YOLO系列最新综述【2023年4月】

作者:Juan R. Terven 、Diana M. Cordova-Esparaza 摘要:YOLO已经成为机器人、无人驾驶汽车和视频监控应用的核心实时物体检测系统。我们对YOLO的演变进行了全面的分析,研究了从最初的YOLO到YOLOv8每次迭代的创新和贡献。我们首先描述了标准…

Python 中的二维插值

本文展示了如何在 Python 中进行插值,并研究了不同的 2d 实现方法。 我们将讨论用于双变量插值的有用函数,例如 scipy.interpolate.interp2d、numpy.meshgrid 和 Python 中使用的用于平滑/插值 (RBF) 的径向基函数。 我们将使用 SciPy 和 Numpy 库实现插…

树莓派配置ubuntu server 22.04环境

背景 比起raspberry系统ubuntu更通用,结合公司项目开发需要,将树莓派4B刷上ubuntu server系统,并且安装LXDE桌面环境。 一波next 烧写镜像 用树莓派镜像烧录软件安装比较简单,选择操作系统:Other general-purpose O…

python psutil模块常用方法

psutil 是一个功能强大的跨平台第三方库,用于检索系统相关信息和进程管理。它提供了一些方便的函数和方法,可以获取 CPU 使用率、内存使用情况、磁盘信息、网络统计数据以及进程列表等。 1. 安装psutil pip install psutil2. 获取 CPU 使用率 import p…

flutter聊天界面-聊天列表 下拉加载更多历史消息

flutter聊天界面-聊天列表 下拉加载更多历史消息 在之前实现了flutter聊天界面的富文本展示内容、自定义表情键盘实现、加号【➕】更多展开相机、相册等操作Panel、消息气泡展示实现Flexible。这里把实现的聊天界面的滑动列表及下拉加载更多历史消息记录一下 聊天界面的列表使…

MySQL索引优化原则和失效情况

目录 1. 全值匹配2. 最佳左前缀法则3. 不要在索引列上做任何计算4. 范围之后全失效5. 尽量使用覆盖索引6. 使用不等于&#xff08;!或<>&#xff09;会使索引失效7. is null 或 is not null也无法使用索引8. like通配符以%开头会使索引失效9. 字符串不加单引号导致索引失…

程序员的悲哀是什么?

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 切记&#xff0c;任何文章不要过度深思&#xff08;任何东西都无法经得起审视&#xff0c;因为这世上没有同样的成长环境&#xff0c;也没有同样的认知水平同时也「没有适用于所…

大模型高效训练基础知识:梯度累积(Gradient Accumulationn)

梯度累积 梯度累积&#xff08;Gradient Accumulation&#xff09;的基本思想是将一次性的整批参数更新的梯度计算变为以一小步一小步的方式进行&#xff08;如下图&#xff09;&#xff0c;具体而言该方法以小批次的方式进行模型前向传播和反向传播&#xff0c;过程中迭代计算…

变革管理中的几个不错的模型小结

其他的变革模型&#xff1a; 变革管理流程&#xff1a;

二、Java的变量

二、变量 2.1、关键字与保留字 关键字 定义&#xff1a;赋予特殊含义&#xff0c;用做专门用途的字符串 特点&#xff1a;关键字的所有字母都为小写 保留字&#xff08;reserved word&#xff09; 现有Java版本尚未使用&#xff0c;但以后版本可能会作为关键字使用。自己命名…

使用PYQT制作人才交流管理系统

利用使用PYQT制作一个人才交流管理系统&#xff0c;先使用QT designer.exe设计好人才交流管理系统的各个UI界面&#xff0c;然后利用pyuic把生成的ui界面编译为py文件&#xff0c;在主函数文件内创建一个类继承ui.py界面的类&#xff0c;即可完成数据库逻辑与 GUI 代码分离&…

小米不再忍耐,裁员三分之一强势反击印度,印度制造或因此梦破

就在小米公司表态继续投资印度之后不久&#xff0c;印度媒体报道指小米印度公司的员工数量从1500人减少到1000人左右&#xff0c;这显示出小米开始强势反击印度&#xff0c;业界人士指出此举的影响远不止于此&#xff0c;结果很可能是导致印度制造的梦想破灭。 1.小米为印度手机…

软件工程——第9章面向对象方法学引论知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.当前最好的软件开发技术是&#xff1f; 2.面向对象的原则是什么&#xff1f; 3.人们把客观世界中的实体抽象为什么&#xff1f; 4.软件系统本质上…

主诉病程时长提取

编写Python函数 import re def structured_pro(original_text,keyword,out_unitNone):pattern_split_str[。&#xff0c;]pattern_splitre.compile(pattern_split_str,re.I|re.M)original_listpattern_split.split(original_text)pattern_keywordre.compile(keyword,re.I|re.M…