微处理器芯片的层次化综合与物理设计

践应用
微处理器芯片的层次化综合与物理设计
刘东明  王仁平  李宏意  林丽霞  福州大学
摘要:本文介绍了采用90nm工艺制程的微处理器芯片的层次化综合与物理设计。在层次化综合阶段,使用二次迭代的方法生成网表文件,较一次迭代获得了更精准的时序结果。在物理设计方面,利用Top-Down的层次化设计结构,合并FRAM-ETM模型调用方式。此外,选择多例化模式对多个重复子模块进行相同的物理设计,并对子模块的引脚采取直角向心式处理。在顶层模块后布线阶段,执行透明接口优化,辅助实现时序收敛。
关键词:微处理器芯片  二次迭代  Top-Down  FRAM-ETM  多例化模式  透明接口优化
1  引言
在当今信息化社会中,集成电路已成为各行各业实现信息化、智能化的基础,无论是在军事还是在民用中,都起着不可替代的作用[1]。目前,我国集成电路后端设计能力远落后于国外发达国家,而且高端的后端设计技术基本被少数几个发达国家的集成电路设计公司所垄断,因此发展和提高我国集成电路后端设计能力具有打破国外技术垄断和封锁的重要意义[2]。随着集成电路技术的发展,电路的几何尺寸越来越小,综合设计的规模越来越大[3],采用层次化物理设计方式,将庞大的设计分隔为数个子模块,同时进行子模块和顶层的设计,能够在很大程度上缩短芯片的物理设计周期[4]。此外,在微处理器芯片的层次化物理设计中,还采用了多例化模式,即选定一个子模块为映射源,将其物理设计拷贝至其余子模块中,大大减少了层次化物理设计的工作量,避免了相同子模块的重复设计。
2  微处理器芯片的层次化
物理设计
微处理器芯片的层次化物理设
计流程主要可分为两步:第一步是层
次化物理综合网表的生成,主要利用
DC(Design Compile)、DCT(Design
Compile-Topophysical)工具,以及ICC
(IC Compile)工具中的平面规划功能;
第二步是层次化物理设计,用ICC工
具实现模块和全芯片的物理设计,输
成上上网出GDS版图文件,供后续流片使用。
2.1  微处理器的层次化综合
微处理器的层次化综合采用了
Bottom-Up的方式,子模块和顶层模
块的物理网表文件生成是采用两轮迭5g通讯模块
代的方式:第一轮迭代用DCT工具,
而第二轮迭代用DCT和ICC工具。
2.1.1  第一轮迭代
在第一轮迭代中,首先要在DCT
工具中读取子模块的RTL代码文件及
其约束文件(SDC),进行默认的物
理综合,输出子模块的门级网表文件。
其次,将子模块的门级网表文件、顶
层的RTL代码文件以及顶层的约束文
件读入到DCT中进行默认的物理综合,
输出得到顶层的网表文件及其约束文
件。第一轮迭代流程图如图1所示。
2.1.2  第二轮迭代
第二轮迭代的主要目的是,产生
时序更精准的子模块和顶层模块的网
表文件。首先要在ICC中读取通过第
一轮迭代得到的子模块、顶层模块的
网表文件以及顶层模块的约束文件,
进行布图和布局。在确定好子模块之
后,即可进行子模块的切割工作。其中,
在进行子模块分割之前,需要使用以
下命令对时序进行模块化分割:
allocate_fp_budgets \
-no_split \
-
file_format_spec
此命令可将顶层的时序约束完整地
切割下来,并生成相应的约束文件。之
后即可使用“commit_fp_plan_groups”
命令对子模块进行模块化分割。在
子模块的布图布局结束之后,将其
Floorplan文件与通过时序分割得到的
约束文件返回至DCT中重新综合,并
*本文受国家自然科学基金项目基于低压低功耗的电流模预处理锁相环数字反馈检测方法研究(61501122)资助
产生新的子模块门级网表文件。最后,将新的子模块门级网表文件、顶层模块RTL 文件和顶层Floorplan 文件在DCT 中进行综合,输出得到经过二次迭代的顶层网表文件及约束文件。第二轮迭代
流程图如图2所示。
经过第二轮迭代,可以得到子模块和顶层模块的网表文件,以及顶层模块的约束文件,以供物理设计阶段使用。实践表明,二次迭代后的时序较一次迭代更为精准。时序结果对比如表1所示。
2.2  微处理器的层次化设计2.2.1  顶层模块微处理器及其子模块简介
微处理器芯片采用90nm 工艺制程,共有四个相同的子模块,子模块主要参数表如表2所示。
由于四个子模块均为相同的模块,故为了避免对其进行冗余且复杂的重复性设计,在此使用了多例化模式(Multiple Instantiated Modules),并以其中一个模块为映射源,对其进行物理设计,其余的模块设计就会在顶
层模块中获得实时更新。
此外,微处理器芯片共包含两个物理层次,即顶层模块微处理器和子模块,包含子模块在内的芯片主要参数表如表3所示。
2.2.2  层次化物理设计的概念
层次化物理设计可以将庞大复杂的设计进行简化,方便不同工作组以分工合作的方式完成大型设计。并且使用层次化物理设计,可以在保证设计的其余部分不受干扰的情况下,对子模块进行便捷和独立的更改。
层次化物理设计包括两种,分别为自上而下式(Top-Down)和自下而上式(Bottom-Up),在设计中,自上而下式的层次化物理设计方法在实际设计中更易满足子模块之间的跨模块优化需求,而自下而上式更易于集成IP
模块,在一定程度上方便满足实际中定制模块的要求。
此外,传统的展平式物理设计方法和层次化物理设计方法各有利弊:展平式设计是一种自下而上的设计方法,展平设计的实施周期较长,其优
点是不用分配边界约束,所以能够在芯片的全局范围内进行优化,与自上而下式的设计方法相比,容易获得更好的时序结果;而层次化设计能够将串行作业转变为并行实施,很大程度上能够节约设计的周期,从而缩短芯片产品的面市时间。
2.2.3  微处理器的模型调用
在子模块回嵌入顶层的过程中,需要向顶层模块同时提供其物理信息和时序信息,且有两种方式可以
使用:一种是BAM,另一种是FRAM-ETM。本微处理器的模型调用方式选择
了FRAM-ETM。
BAM(Block Abstraction Model)模型即模块抽象模型,与原始网表相比,BAM 模型移除了所有寄存器到寄存器之间的路径,只保留了部分网表[5]。生成BAM 模型的方式是在子模块设计中使用命令“create_block_abstraction”生成子模块的抽象模型,同时该命令可以识别子模块的接口逻辑,并在内存中使用子模块的接口逻辑来为子模块的设计进行注释。此外,可以通过使
图1  第一轮迭代流程图
图2  第二轮迭代流程图
表1  时序结果对比表
一次迭代
二次迭代Slack(clk)
-0.56
0.91
表2  子模块主要参数表
标准单元数量39315门单元数量≈75488寄存器数量24
子模块面积
≈3123168μm 2
表3  芯片主要参数表
标准单元数量159526门单元数量≈275589寄存器数量104
芯片面积
≈28396109μm 2
输入输出接口
160
光控密码锁
践应用
用“set_top_implementation_options”命令在顶层模块中调用子模块的BAM 模型,以此来生成相应的子模块接口逻辑模型ILM(Interface Logic Model)。
子模块的ILM模型生成结束之后,顶层可以看到模块内部的时序,却无法对模块内部进行修改,限制了顶层的时序优化[6]。
FRAM模型是表示子模块的一种抽象模型,它只提供金属阻塞、允许过孔区域和引脚的位置及形状,并不提供其余详细信息。若子模块将其物理模型FRAM以库的形式提供给顶层模块,则另需提供时序模型ETM。
ETM(Extract Timing Model)即抽取时序模型,它保留了输入端口到第一级寄存器,最后一级寄存器到输出端口,输入端口到输出端口路径,驱动这些寄存器的时钟网络。
ETM模型的生成需要使用PT (Prime Time)工具。此外,ETM模型还分为包装核模型(wrapper and core)和库单元模型,在生成时序文件lib格式时需注意采用哪种ETM模型,之后还需将lib格式时序文件转换为db文件,并在顶层模块中对子模块进行时序库的设置,即可调用子模块的ETM模型。
此外,在实际设计中,由于ETM 模型生成的时序模型可以根据Input Transition和Output Load,来通
过查表的方式计算时序信息,而不是BAM 模型中的时序信息固定[7]。故在本微处理器芯片的模型调用选择上,采取了FRAM-ETM的方式。
2.2.4  Top-Down 层次化物理设计
层次化物理设计阶段将利用层次化物理综合阶段得到的子模块和顶层模块的网表及约束文件进行层次化物理设计。此外,微处理器采用了自上而下的层次化物理设计方法,在布局和布
图的操作上,与展平式物理设计无异。
在创建Floorplan之后,使用Plan Group
操作对四个子模块的共计96个寄存器
单元进行模块化分组,以便更好地确定
子模块及其寄存器的逻辑位置。
读入二次迭代得到的子模块和顶
层模块的网表文件,进行大致的布图
和布局。其次,切割确定好的子模块
并使用“split_mw_lib”命令将子模块
从当前的物理库中分离,进行单独设
计。值得注意的是,由于四个子模块
的引脚之间在实际的物理逻辑中有连
接关系,故在引脚布局时,需采用直
角向心式布局方法,这样更便于顶层
设计的布线工作,也可以大幅避免顶
层设计的DRC违规。直角向心式引脚
布局示意图如图3所示。
使用FRAM-ETM的方式,提取
子模块的FRAM模型回嵌入顶层模块,
并确保子模块的物理设计进程要快于
顶层模块,即子模块至少完成标准单
元布局后才能进行芯片顶层标准单元
布局。与此同时,还要将子模块的时
序模型ETM提供给顶层模块使用。子
模块FRAM模型视图如图4所示。
为了使四个子模块的引脚均为直
角向心式布局,需对除了映射源模块
以外的三个子模块进行坐标轴翻转操
作,但如此可能会使映射源以外的子
模块出现引脚悬空的情况,需对其位
置进行略微调整。
由于采用了层次化物理设计的方
式,在顶层模块设计阶段,仅对12个
寄存器和2266个标准单元进行展平式
物理设计。相比于普通的层次化设计,
使用多例化模式可以大幅减少工具对
相同子模块的重复操作,故在本设计
的实际操作中,工具只对包含顶层在
内的32个寄存器和大约41581个标准
单元进行操作,避免了冗余复杂的多
模块DRC修复工作。在完成设计之后,
还需检查并修复时序及DRC违规,才
可生成GDS版图。顶层设计结构图如
图5所示。
综上所述,可得到如图6所示的
微处理器芯片的Top-Down方式设计
流程图。
2.3  透明接口优化
透明接口优化(Transparent Interface
Optimization)是在顶层模块后布线优化
阶段,对子模块的接口逻辑进行优化
的过程,其目的是达到时序收敛。
在顶层模块中,可以使用“set_
top_implementation_options”命令来指
定与透明接口优化相关的选项。若要
启用透明接口优化,则可使用上述命
令的“-optimize_block_interface true”
选项。使用“-block_references”选项
可以指定具体的子模块,并对其接口
逻辑进行优化。如果想对接口的优化
设置进行检查,可以使用命令“check_
interface_optimization_setup”。在子模
块更新的阶段中,可以使用“-block_
update_cmd_script”选项让工具执行指
定的脚本文件,否则工具将使用默认
的命令,诸如“route_zrt_eco”。并且
使用“set_host_options”命令可以指定
对子模块进行更新时所需要使用的处
理器数量。
可以使用命令“set_app_var tio_
调光镇流器
write_eco_changes true”来生成一个ECO
文件,用来存储在透明接口优化期间对乌氏粘度计原理
全部网表文件所作出的变动,其默认保
存在文件夹“TIO_eco_changes”中。
最后,可以使用命令“report_top_
implementation_options”来对由命令
“set_top_implementation_options”而
产生的相关设置进行报告。3  总结
本文简述了层次化物理设计的概念及流程,介绍了不同的子模块调用方式,并以子模块和顶层模块作为论述层次,阐述了设计过程。通过实践表明,使用层次化物理设计可极大地缩短设计的总耗时,压缩全芯片设计的操作和流程。而使用多例化模式进一步地减少了冗余的重复工作,同时
在实际上大幅降低了需要参与设计操作的寄存器数目和标准单元数目,间接地减少了DRC 违规的可能性。得出了在子模块相同的情况下,使用带有多例化模式的层次化物理设计方法,可以对最少的寄存器和标准单元进行操作的结论,并且通过这种方式,可以大幅减少CPU 的运行时间,节省宝贵的计算资源。
参考文献
[1]刘峰.集成电路静态时序分析与建模[M].
机械工业出版社,2016.
[2]刘峰.CMOS 集成电路后端设计与实战[M].机械工业出版社,2015.
[3]梁倩.基于四核LEON3处理器芯片的逻辑综合拓扑技术的研究与实现[D].北京工业大学,2017.
[4]陈春章,艾霞,等.数字集成电路物理设计[M].科学出版社,2008.
[5]高扬标.H265视频编码芯片层次化物理设计[D].福州大学
,2017.
[6]王思威
.层次化物理设计模块端口时序的分析与优化[D].国防科学技术大学
,2012.[7]Synopsys
Inc. IC Compiler Implementation User Guide[J/OL]. Version J-2014.09-SP4,March 2015.CATV
图3  直角向心式引脚布局示意图图4  子模块FRAM 模型视图图5  顶层设计结构图
图6  微处理器芯片的Top-Down 方式设计流程图

本文发布于:2024-09-24 07:16:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/159190.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   设计   物理   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议