层次化的设计(hierarchy design):概论
层次化设计适当下非常流行的设计思路,随着芯片的规模越来越大,fullchip的数据量和复杂度和过去已经不能同日而语了,无论是工具的runtime还是QoR,直接完成full-chip的工作越来越不现实。所以,在这里,就需要引入 层次化的设计(hierarchy design) 的概念,
从芯片的规划开始,层次化的理念贯穿整个设计流程,下面的各个设计方面都会受到不同程度的影响
RTL
UPF
verification
DFT
Timing constraint
synthesis
EC
layout
STA
stream-out
layout verification
Power analysis
一个项目的开始,需要根据实际的需要确定层次,这主要是基于模块功能规模,一起来看下面这个实例
从上边这个示例可以看到
主控:CPU和core
辅助(子功能模块):soc-subsystem
总线:AHB_BUS
中心控制:clock/power/reset
额外(上述框图并未体现):PHY以及各种接口(MIPI,DDR,USB等等)
IO:由于使用的层级都是芯片的inout,通常都放在顶层
存储单元:例化在各个模块的内部,提供给模块自身使用
根据这种结构,在做partition的分割的时候,会按照真实的需求来定义,
类别 | partition | 独立约束(UPF/SDC etc.) |
---|---|---|
主控 | core-partition | yes |
辅助 | peripheral-partition | yes |
总线 | top-level | yes,with hierarchy support |
中心控制 | top-level | yes, with hierarchy support |
额外 | top-level/*-partition | NA, follow current hierarchy |
存储单元 | top-level/*-partition | NA, follow current hierarchy |
IO | top-level | yes |
可以看出,从整个SOC的设计当中,主要的partition分割是两种,top和none-top。理论上讲,所有的none-top,互相之间都没有依赖关系(dependency),除非它本身也是一个小top,具体可见下面的示例:
这里的top和sub-top_1就是所谓的hierarchy design,在一个芯片里边,top通常只有一个,但是可能会有多个sub-top,甚至是sub-sub-top,这取决于芯片层次化的深度和芯片的复杂度。可以预见,层次化越多,单个partition的复杂度会降低,但是给top的partition划分带来了更多的工作量,譬如
UPF
SDC
physical partition boundary
还有一个影响就是dependency,所有的sub-top,都和top一样,在后端实现的时候(synthesis/layout),任何的top的后端工作,都需要sub partition的支持,譬如上图,要想开始sub-top1的synthesis,就必须先要完成 sub_par_1_1,sub_par_1_2,sub_par_1_3的综合工作。
这就是runtime的瓶颈。实际项目中,为了减少这方面的影响,通常都会有一些变通的手段,来快速支持顶层设计,这个小技巧的具体细节,也会在本系列文章里边提及。
业界里边还有一种更为前卫的partition的设计,被称为abut-partition的设计,简单的讲就是没有top的概念,所有的partition都是完全贴合的,譬如下面这个floorplan的partition的框图
这种架构更为简练,所有的设计全部都推到了partition,从物理实现上来讲,top level已经不包含任何的leaf cell,所有的存在就是一些连线关系、PG、terminal以及co-design routing了,这种极简的abut设计有其优越性,也有一些限制,具体的细节,也会在后面的章节里展开讨论。
有了上边的这些基本概念,从下一讲开始,就一起进入层次化设计的世界吧!
层次化的设计(hierarchy design):概论相关推荐
- Silverlight游戏设计(Game Design):目录
孩提时那无数个难眠的夜晚,时常在思考着如何干掉BOSS的方案时已不知不觉的入睡.爱游戏,痴迷到难以割舍的状态.不断的在这个虚拟的轮回世界中扮演着一个又一个的主角而无法自拔-感受着日本人给我们重温自家的 ...
- [css] 说说响应式设计(responsive design)和自适应设计(adaptive design)的区别?
[css] 说说响应式设计(responsive design)和自适应设计(adaptive design)的区别? 响应式是通过视口分辨率识别不同客户端展现不同的布局和内容,一套代码.自适应是通过 ...
- Microsoft Updater Application Block 1.2.1 核心设计(core design) [翻译]
Microsoft Updater Application Block 核心设计(core design) 译者:Tony Qu Updater Application Block由一个核心应用程序升 ...
- 头条是一款遵循材料设计(Material Design)的第三方今日头条客户端, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJa
Toutiao 项目地址:iMeiji/Toutiao 简介:头条是一款遵循材料设计(Material Design)的第三方今日头条客户端, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, ...
- 文档(Documents), 字段(Fields), 及模式设计(Schema Design)
1. 文档(Documents), 字段(Fields), 及模式设计(Schema Design) 1.1 概览 1.1.1 Solr的Schema文件 Solr在schema文件中存储它需要知道的 ...
- 什么是交互设计(Interaction Design)?
什么是交互设计(Interaction Design)? 一个交互实例 vivi(薇薇,26岁,一位优雅迷人的OL)打开 ...
- 嵌入式系统开发笔记107:层次化软件设计思想
文章目录 前言 一.嵌入式系统设计的本质 二.基于寄存器结构的程序设计 三.嵌入式系统优良程序的评判标准 四.计算机上的软件分层 五.嵌入式程序的分层设计 前言 本文以思维导图的形式介绍层次化软件 ...
- 我的家乡网页设计_Graphic Design|康石石浅谈LOGO设计在作品集中的创作方法
写在前面的话 平面设计范畴极广,其领域不仅限于常见的版式设计.海报设计.LOGO设计.VI设计.书籍装帧.广告设计.网页设计.在艺术留学申请过程中,学习平面设计的同学们需依据目标院校对作品集项目及页数 ...
- SAP UI的加载动画效果和幽灵设计(Ghost Design)
这是Jerry 2021年的第 14 篇文章,也是汪子熙公众号总共第 285 篇原创文章. 在本篇文章之前,Jerry 印象最深的幽灵,应该要算<星际争霸I>里人族能够隐形的空中单位 Wr ...
最新文章
- nginx的小总结(二)
- 【转】关于 SELECT /*!40001 SQL_NO_CACHE */ * FROM 的解惑
- 详解APNS苹果消息推送通知
- java 多线程 异步日志_精彩技巧(1)-- 异步打印日志的一点事
- java红牛农场答案_Java面向对象程序设计实验指导与习题解答(21世纪高等学校计算机专业实用规划教材)...
- python属性和方法的区别_Python中几种属性访问的区别
- 美团技术专家云鹏:写给工程师的十条精进原则!
- mysql怎么设主键和外键_在MySQL中如何设置主键和外键
- 【MPPT光伏】基于MPPT的光伏并网系统的simulink仿真
- 小白教程系列——XMind8 Pro下载安装
- 360浏览器极速模式pdf文件不能预览问题
- win7系统提示此windows副本不是正版怎么办?
- php 去除汉字,php如何去除汉字
- C语言课程设计——宾馆管理系统
- 【R-CNN论文翻译】目标检测经典论文R-CNN最新版本(v5版)全面中文翻译
- OpenIL(DevIL)- 开发者图像库
- 服务器机柜规格19寸销售商,19寸网络机柜尺寸规格是多少
- 【无标题】Android studio中提示框“确定”和“取消”按钮的编写
- tmodjs+artTemplate用法,简单的实例
- Overleaf编译出现的问题
热门文章
- kubernetes资源--secret和ServiceAccount
- Java面试题总结(乱序版,来自大厂面试官的MySQL灵魂十连问
- 男人也来大姨妈,你不信?痛苦不堪
- Monkey测试手机BUG重现及解决方法
- mac 下安装mysql-5.7.16-osx10.11-x86_64
- 河北省计算机三级报考人数已满,保定应届生研究生报名考点人数已满 紧急求助...
- 曲普瑞林市场分析:2022年曲普瑞林市场远未被打开
- 达特茅斯计算机专业师资力量如何,达特茅斯学院本科计算机专业怎么样?
- 告诉你一个真实的美国
- 各大搜索引擎提交入口(百度,谷歌,雅虎...)