首页 > 其他分享 >物理设计 (Physical design)

物理设计 (Physical design)

时间:2024-07-08 15:55:28浏览次数:5  
标签:placement CTS skew clock optimization design routing Physical 物理

ASIC设计全流程:

ASIC Back-end Flow

Ref:IC入门必备!数字IC中后端设计实现全流程解析(1.3万字长文)

Physical Design:

Physical design: convert netlist (.v ) into GDSII form(layout form)

During physical design, all macros, cells, gates, transistors, etc., with fixed shapes and sizes per fabrication layer, are assigned spatial locations (placement) and have appropriate routing connections (routing) completed in metal layers.

The main steps in the ASIC physical design flow are:

  • Design Netlist (after synthesis)
  • Floorplanning
  • Partitioning
  • Placement
  • Clock-tree Synthesis (CTS)
  • Routing
  • Physical Verification

Steps:

Partitioning

Partitioning is a process of dividing the chip into small blocks. This is done mainly to separate different functional blocks and also to make placement and routing easier.

This kind of partitioning is commonly referred to as Logical Partitioning. The goal of partitioning is to split the circuit such that the number of connections between partitions is minimized.

Floorplanning

Floorplanning is the process of identifying structures that should be placed close together, and allocating space for them in such a manner as to meet the sometimes conflicting goals of available space (cost of the chip), required performance, and the desire to have everything close to everything else.

Placement

Before the start of placement optimization all Wire Load Models (WLM) are removed. Placement uses RC values from Virtual Route (VR) to calculate timing.

VR is the shortest Manhattan distance between two pins. VR RCs are more accurate than WLM RCs.

Placement is performed in four optimization phases:

  1. Pre-placement optimization
  2. In placement optimization
  3. Post Placement Optimization (PPO) before clock tree synthesis (CTS)
  4. PPO after CTS.
  • Pre-placement Optimization optimizes the netlist before placement, HFNs (High Fanout Nets) are collapsed. It can also downsize the cells.
  • In-placement optimization re-optimizes the logic based on VR. This can perform cell sizing, cell moving, cell bypassing, net splitting, gate duplication, buffer insertion, area recovery. Optimization performs iteration of setup fixing, incremental timing and congestion driven placement.
  • Post placement optimization before CTS performs netlist optimization with ideal clocks. It can fix setup, hold, max trans/cap violations. It can do placement optimization based on global routing. It re does HFN synthesis.
  • Post placement optimization after CTS optimizes timing with propagated clock. It tries to preserve clock skew.

Clock tree synthesis

The goal of clock tree synthesis (CTS) is to minimize skew and insertion delay. Clock is not propagated before CTS as shown in the picture. After CTS hold slack should improve.

 If clock is divided then separate skew analysis is necessary.

  • Global skew achieves zero skew between two synchronous pins without considering logic relationship.
  • Local skew achieves zero skew between two synchronous pins while considering logic relationship.
  • If clock is skewed intentionally to improve setup slack then it is known as useful skew.

Rigidity is the term coined in Astro to indicate the relaxation of constraints. Higher the rigidity tighter is the constraints.

In clock tree optimization (CTO) clock can be shielded so that noise is not coupled to other signals. But shielding increases area by 12 to 15%. Since the clock signal is global in nature the same metal layer used for power routing is used for clock also. CTO is achieved by buffer sizing, gate sizing, buffer relocation, level adjustment and HFN synthesis. We try to improve setup slack in pre-placement, in placement and post placement optimization before CTS stages while neglecting hold slack. In post placement optimization after CTS hold slack is improved. As a result of CTS lot of buffers are added. Generally for 100k gates around 650 buffers are added.

Routing

There are two types of routing in the physical design process, global routing and detailed routing. Global routing allocates routing resources that are used for connections. It also does track assignment for a particular net.

Detailed routing does the actual connections. Different constraints that are to be taken care during the routing are DRC, wire length, timing etc.

Physical verification

Physical verification checks the correctness of the generated layout design. This includes verifying that the layout

  • Complies with all technology requirements – Design Rule Checking (DRC)
  • Is consistent with the original netlist – Layout vs. Schematic (LVS)
  • Has no antenna effects – Antenna Rule Checking
  • This also includes density verification at the full chip level...Cleaning density is a very critical step in the lower technology nodes
  • Complies with all electrical requirements – Electrical Rule Checking (ERC)

EDA Tools:

1.P&R Synopsys: ICCI, ICCII, DC COMPILER cadence: Encounter, innovus   2. TIMING ANALYSIS Synopsys: Primetime cadence: tempus   3. physical verification: Synopsys:Hercules cadence: Assura mentor: calibre(mostly used)   4.RC Extraction: Synopsys: StarRCXT   5.formal verification: Synopsys: formality

标签:placement,CTS,skew,clock,optimization,design,routing,Physical,物理
From: https://www.cnblogs.com/fukq/p/18290056

相关文章

  • Halcon学习笔记(3):WPF 框架搭建,MaterialDesign+Prism
    目录前言环境Nuget安装新建WPF类库项目初始化PrismApp启动页初始化重写MainView前言其实我更喜欢CommunityToolkit.mvvm+HandyControl。但是因为找工作,你不能去抗拒新事物。这里就当体验一下完整的流程好了。环境windows11.netcore8.0Nuget安装新建WPF类库项目新......
  • Matlab之App Designer 如何导入Excel参数教程
    一、背景介绍    采用Matlab中的AppDesigner进行GUI可视界面程序设计时,经常需要将数据导入到程序中进行运算和分析,以提升效率,本文将对导入Excel参数的方法及程序实现进行介,。二、采用MatlabAppDesigner导入Excel参数方法及代码1、首先打开一个新的AppDesigner页......
  • WPF常见控件(包含materialDesign)与属性
    materialDesign:ColorZone:用于在应用界面中创建有色区域,增加层级感和视觉吸引力。materialDesign:DrawerHost:用于实现从屏幕一侧滑出的抽屉控件,经常与materialDesign:DrawerHost.LeftDrawerContent配套使用(这里的例子是设置左抽屉)。DockPanel:布局控件,用于将其子元素排列在特......
  • NO.04 Altium Designer组件参数类型
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档@TOCAltiumDesigner组件参数类型前言○由于“BOM、ActiveBOM或Draftsman必须与设计中的组件一致”因此无法直接进行删除BOM、ActiveBOM或Draftsman“其中一项;○不过可以通过设置组件“参数”类型......
  • Ant Design Vue文字溢出鼠标滑上显示tooltip。不溢出,鼠标滑上不显示tooltip,溢出显示to
    <templateslot="testContent"slot-scope="{record}"><a-tooltip@mouseenter="showToolTip"overlayClassName="customtooltip_class"......
  • AntDesign上传组件upload二次封装+全局上传hook使用
    文章目录前言a-upload组件二次封装1.功能分析2.代码+详细注释3.使用到的全局上传hook代码4.使用方式5.效果展示总结前言在项目中,ant-design是我们常用的UI库之一,今天就来二次封装常用的组件a-upload批量上传组件,让它用起来更方便。a-upload组件二次封装1.......
  • Design Tokens 是什么?
    DesignTokens是一种设计和技术理念,它提供了一种与技术无关的方式来存储和管理界面设计中使用的视觉设计属性,如颜色、字体、间距、尺寸等。这些属性以数据结构的形式存在,可以被设计系统自动引用和更新,确保用户界面(UI)在不同平台和设备上具有一致性和可扩展性。DesignTokens不是......
  • Spring Boot 中 PGSQL 判断打卡点是否经过轨迹优化代码,循环查询物理表修改生成临时表,
    记录一下一个业务问题,流程是这样的,我现在有一个定时任务,5分钟执行一次,更新车辆打卡的情况。现在有20俩车,每辆车都分配了路线,每条路线都有打卡点,每个打卡点分配了不同的时间段,也就是说,一条路线可能有几百个打卡点,这几百个打卡点中每一个都分配了时间段,有可能是1个时间段,比如8......
  • 大气物理学(2)——热力学基础
    本篇文章源自我在2021年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。目录2.0本文所用符号一览2.1准静态过程2.2热量和热容量2.2.1热量的计算公式2.2.2常用的两个摩尔热......
  • 大气物理学(1)——理想气体
    本篇文章源自我在2021年暑假自学大气物理相关知识时手写的笔记,现转化为电子版本以作存档。相较于手写笔记,电子版的部分内容有补充和修改。笔记内容大部分为公式的推导过程。目录1.0本文所用符号一览1.1理想气体的状态方程1.2理想气体的压强公式1.3理想气体的温度公式1.4理......