空间的艺术——展平式设计与层次化设计

2024-03-18 22:38

本文主要是介绍空间的艺术——展平式设计与层次化设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

640?wx_fmt=gif

所有芯片的设计跟普通的产品一样,需有一个标准规范化的流程(flow)。然后工程师们按照流程,运行和调试参数来得到一个合格的结果。

随着EDA软件的不断发展,新的技术不断涌现,flow的选择性也呈现出多元化的趋势。所以了解新知识,新技术对于我们来说,是相当有必要的。

 从设计的大方向上讲,flow分为传统的展平式设计(flat flow)和层次化设计(hierarchical flow)。展平式设计是集成电路设计中最基本的一种方法,芯片在全局范围内进行优化,通过布局绕线实现物理设计,提取RC参数进行时序分析,最后产生GDSII文档完成全部过程。简单的可以参考如下flat flow示意图:

640?wx_fmt=jpeg

展平式设计通常能取得更好的时序结果,但是却要花费极长的设计周期。随着电子技术的极速发展,单个芯片上的逻辑单元已经从几万们增加到几千万门,甚至几亿门。这对EDA工具,工程师,甚至计算机硬件都是一个极大的挑战。这时候就产生了层次化设计方案(hierarchical flow,简称Hier flow)。

层次化设计是指对一个普通设计,在逻辑上定义出层次化器件(hinst),在物理上给予层次化器件一个物理约束(physical constraint),然后将具有物理约束的层次化器件定义为一个划分(partition),再将各个划分切出整个设计,剩下的部分保存为顶层设计(top),而各个划分则单独保存,对于顶层而言,切出去的划分视为黑盒(black box),而对于单个划分而言,在做分块实现(blockimplementation)的时候则视为片级设计(chip level design)。在完成分块实现以及顶层实现(top implementation)之后,最后将各个划分合并(assemble)到一起,完成全芯片(full chip)的签收(sign off)。简单的示意图如下所示:

640?wx_fmt=jpeg层次化设计的方案的最大优点是它将很大的设计化成多个小设计,如果有时序问题可能存在于个别模块,再去重点解决,则复杂性变小,而且是局部的。同时,每个工程师分担的工作量也变小,完成设计的周期会缩短,从而加快了设计收敛。

当然,层次化设计也有许多不可避免的缺陷,最突出就是来源于时序预估时产生的误差。这种误差往往使得做划分的物理实现时,时序难以收敛。或者尽管划分满足时序收敛条件,在全芯片合并后,会发现一些时序路径又会变得极差无比。在手工ECO无效时,这种情况可能需要重做时序预估和划分的物理实现,最坏可能导致重新调整布图规划的风险。为了解决这些问题,传统的层次化设计方法也提出了许多更为先进的设计理念来提高时序精度,这些方法应用于层次化设计中的各个步骤中。从时序收敛的角度,展平化设计要比层次化设计精准很多。所以当设计的规模没有达到无法采用展平的设计方法完成时,设计者会偏向采用展平的设计方法来实施。


640?wx_fmt=jpeg

公司招聘

各大IC公司招聘各类IC工程师

简历请戳邮箱:taozhang3260@163.com

这篇关于空间的艺术——展平式设计与层次化设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823902

相关文章

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

MySQL表空间结构详解表空间到段页操作

《MySQL表空间结构详解表空间到段页操作》在MySQL架构和存储引擎专题中介绍了使用不同存储引擎创建表时生成的表空间数据文件,在本章节主要介绍使用InnoDB存储引擎创建表时生成的表空间数据文件,对... 目录️‍一、什么是表空间结构1.1 表空间与表空间文件的关系是什么?️‍二、用户数据在表空间中是怎么

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES