
你已经了解标准单元库的基本内容
本次课内容:
将网表中记录的标准单元及其连接关系映射到真实芯片三维空间
从芯片的工艺视角理解物理设计的本质——确定每一层中的内容
--------------- M7 <----- 电源规划
| | | | | |
--------------- M6 <----- 时钟树综合
| | | | | |
--------------- M5 <-+
| | | | | | |
--------------- M4 |
| | | | | | +--- 布线
--------------- M3 |
| | | | | | |
--------------- M2 <-+
| | | | | |
--------------- M1 <-+
| | | | | | +--- 布图规划, 布局
=============== 多晶硅 <-+
+++++++++++++++ 绝缘层
ooooooooooooooo 硅衬底与标准单元的面积类似, 芯片大小(die size)是指芯片在平面\(xOy\)中投影的面积
芯片的厚度(即\(z\)轴方向的度量)和选取的工艺相关(如1P7M)
根据芯片的工艺结构, 芯片面积主要由晶体管的面积和走线的面积构成
此时还没有开展布线工作, 无法得到走线所占的具体面积
在布图规划阶段, 一般是通过综合所得的面积报告(即标准单元所占总面积)来估算芯片大小
利用率的选取需要在成本和设计难度之间进行权衡
工程师需要根据芯片属性和自身经验来选择目标利用率:
在大型项目中, 工程师一般会开展多轮的物理设计
还需要考虑芯片的尺寸, 即芯片在\(x\)轴和\(y\)轴两个方向上的度量
一个芯片引脚需要对应一个I/O单元
供电引脚的比例和分布密度与芯片的尺寸, 工艺, 功耗等属性有关
宏单元也可能会影响芯片尺寸
综合上述条件可以初步确定芯片的尺寸:
A和B两个端口)
64x64的SRAM, 仅考虑存储单元, 就需要\(64\times64\times6 = 24576\)根晶体管
+-----------------------------------------+
| I I P p I I P p I I P p I |
| |
|p I|
| +-------+ |
|P | MMMMM | P|
| | MMMMM | | I 数据I/O单元
|I | MMMMM | p| p 核心电源单元
| +-------+ | P I/O电源单元
|I I| M 宏单元
| +-------+ |
|I | MMMMM | I|
| +-------+ |
|p p|
| |
|P P|
| |
| I p P I I p P I I p P I I |
+-----------------------------------------+为了驱动芯片外部的电路, I/O单元需要很强的驱动能力
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p# #I|
| # +-------+ # |
|P# | MMMMM | #P|
| # | MMMMM | # | I 数据I/O单元
|I# | MMMMM | #p| p 核心电源单元
| # +-------+ # | P I/O电源单元
|I# #I| M 宏单元
| # +-------+ # | # I/O电源环
|I# | MMMMM | #I|
| # +-------+ # |
|p# #p|
| # # |
|P# #P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+物理分布上和I/O单元的电源环类似, 但位于I/O单元的内侧并围绕芯片四周
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+ %# |
|P#% | MMMMM | %#P|
| #% | MMMMM | %# | I 数据I/O单元
|I#% | MMMMM | %#p| p 核心电源单元
| #% +-------+ %# | P I/O电源单元
|I#% %#I| M 宏单元
| #% +-------+ %# | # I/O电源环
|I#% | MMMMM | %#I| % 核心电源环
| #% +-------+ %# |
|p#% %#p|
| #% %# |
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+电源条线以纵横交错的方式分布在芯片内部
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+ %# |
|P#% | MMMMM | %#P|
| #% | MMMMM | %# | I 数据I/O单元
|I#% | MMMMM | %#p| p 核心电源单元
| #% +-------+ %# | P I/O电源单元
|I#% %#I| M 宏单元
| #% +-------+ %# | # I/O电源环
|I#% | MMMMM | %#I| % 核心电源环
| #% +-------+ %# | = 电源条线
|p#%===================================%#p|
| #% %# |
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------++-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+ %# |
|P#% | MMMMM | %#P|
| #% | MMMMM | %# | I 数据I/O单元
|I#% | MMMMM | %#p| p 核心电源单元
| #% +-------+ %# | P I/O电源单元
|I#% %#I| M 宏单元
| #% +-------+ %# | # I/O电源环
|I#% | MMMMM | %#I| % 核心电源环
| #% +-------+ %# | = 电源条线
|p#%===================================%#p|
| #% %# |
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+标准单元的摆放并非任意均可, 需要遵循一定的规则:
--------------- M7 <----- 电源规划
| | | | | |
--------------- M6 <----- 时钟树综合
| | | | | |
--------------- M5 <-+
| | | | | | |
--------------- M4 |
| | | | | | +--- 布线
--------------- M3 |
| | | | | | |
--------------- M2 <-+
| | | | | |
--------------- M1 <-+
| | | | | | +--- 布图规划, 布局
=============== 多晶硅 <-+
+++++++++++++++ 绝缘层
ooooooooooooooo 硅衬底因此从\(xOy\)平面的投影(即芯片的俯视图)来看, 标准单元之间不能相互重叠
PITCH属性) --- +------+ +------------+----------+ +---+
^ |======|==|============|==========|====|===| <- VSS power stripe
| | | | | | | |
height --+ | | | | | | |
| | | | | | | |
v |======|==|============|==========|====|===| <- VDD power stripe
--- +------+ +------------+----------+ +---+
OR2 AOI221 AND4 NAND2如果不对标准单元的摆放满足对齐要求, EDA工具将需要花费很大的代价来生成一个满足工艺要求的设计方案
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+ @@ @@ @ @ @%# |
|P#% | MMMMM | @ @@@ @@ @@%#P|
| #% | MMMMM | @ @ @%# | I 数据I/O单元
|I#% | MMMMM | @ %#p| p 核心电源单元
| #% +-------+ @ @@ @ %# | P I/O电源单元
|I#% %#I| M 宏单元
| #% @ @ @ @@ @ +-------+ %# | # I/O电源环
|I#% @ @ @ @ @ @ | MMMMM | %#I| % 核心电源环
| #% @ @ @ @ @ @ +-------+@%# | = 电源条线
|p#%===================================%#p| @ 标准单元
| #% @ @ @ @ @ @ @%# |
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+SYMMETRY属性表示标准单元可沿\(x\)轴或沿\(y\)轴对称放置
A左侧的端口p需要与A右侧的另一个标准单元B相连
A沿\(y\)轴进行镜像对称,
使得端口p位于A的右侧,
从而让p与B的距离更近, 降低线延迟时钟网络通常只有一个或少数几个源头(时钟引脚或锁相环的输出)
时钟树
构建的时钟树需要满足:
这些性质之间还存在一定的相互制约关系
因此, EDA工具需要综合考虑这些技术对时钟树的影响, 从整体上构建出满足需求的时钟树
考虑到简洁性, 下图只展示了时钟树的一部分作为示意
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+ @@o @@ @ @ @%# |
|P#% | MMMMM | @o @@@ @@ o@@%#P|
| #% | MMMMM | @ o @ o o @%# | I 数据I/O单元
|I#% | MMMMM | o o @ o %#p| p 核心电源单元
| #% +-------+ @o @@ o @ o %# | P I/O电源单元
|I#% oooooooooooooooooooooooooooooooooo%#I|<-- clk M 宏单元
| #% @ @ @ @@o @ o +-------+ %# | # I/O电源环
|I#% @ @ @ @ o @ @o | MMMMM | %#I| % 核心电源环
| #% @ @ @ @ o @ @ +-------+@%# | = 电源条线
|p#%===================================%#p| @ 标准单元
| #% @ @ @ o @ @ @ oo@%# | o 时钟树
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P|
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+作为大规模和超大规模集成电路, 标准单元的数量非常多
为了提升布线成功的概率, 一般将布线任务分成两个阶段进行:
以城市的道路规划为例
全局布线的目标: 规划粗粒度的走线方案, 并为这些方案分配布线资源
布线工具在全局布线阶段会:
网格路径(类似道路规划中的主干道)
网格路径连通方案
详细布线的目标: 在全局布线的基础上,
在网格路径内部确定走线的轨道
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+..@@o @@..@... .....@.@%# |
|P#% | MMMMM | .@o.....@@@..... @@ o@@%#P|
| #% | MMMMM |..@ o @ o . . o @%# | I 数据I/O单元
|I#% | MMMMM | . o o @ . o .%#p| p 核心电源单元
| #% +-------+ .@o @@...o ....@ o .%# | P I/O电源单元
|I#% oooooooooooooooooooooooooooooooooo%#I|<-- clk M 宏单元
| #% @ ..@...@ ..@@o @... o +-------+.%# | # I/O电源环
|I#% @....@ .@.. @ o @. .@o .| MMMMM |.%#I| % 核心电源环
| #% @...@...@ .@ o @ ..@..+-------+@%# | = 电源条线
|p#%===================================%#p| @ 标准单元
| #% @...@ .@ o @... @.....@.. oo@%# | o 时钟树
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P| . 走线
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+
至此, 物理设计的工作已全部完成, 芯片中每一层的内容都已确定
目标: 保证物理设计过程得到的版图是可生产的
签核分析的具体工作包括但不限于:
从可流片的版图到可运行的芯片, 还需要经过以下步骤:
+-----------------------------------------+
| I I P p I I P p I I P p I |
| ####################################### |
|p#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#I|
| #% +-------+..@@o @@..@... .....@.@%# |
|P#% | MMMMM | .@o.....@@@..... @@ o@@%#P|
| #% | MMMMM |..@ o @ o . . o @%# | I 数据I/O单元
|I#% | MMMMM | . o o @ . o .%#p| p 核心电源单元
| #% +-------+ .@o @@...o ....@ o .%# | P I/O电源单元
|I#% oooooooooooooooooooooooooooooooooo%#I|<-- clk M 宏单元
| #% @ ..@...@ ..@@o @... o +-------+.%# | # I/O电源环
|I#% @....@ .@.. @ o @. .@o .| MMMMM |.%#I| % 核心电源环
| #% @...@...@ .@ o @ ..@..+-------+@%# | = 电源条线
|p#%===================================%#p| @ 标准单元
| #% @...@ .@ o @... @.....@.. oo@%# | o 时钟树
|P#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#P| . 走线
| ####################################### |
| I p P I I p P I I p P I I |
+-----------------------------------------+