一直想了解真正的ASIC流程是怎样的,而不是仅仅局限于FPGA里面。虽然FPGA的EDA工具将整个流程都封装得很好,但是真正跟业界的软件和设计流程相比还是有很大出路的。
花了点时间,大致泛读了刘峰老师的《CMOS集成电路后端设计与实战》一书的数字部分,里面涉及到的软件可以从EETOP网站中去找,自己也下了相关的资料,准备在ubuntu上自己安装整个后端的工具,但是最近囿于时间,工作重心不在上面,先暂且梳理一下,后面有时间再自己按照书上的例子跑跑整个流程。
第10章、后端半定制设计之物理实现技术
前端综合生成网表后,接下来门级网表的物理实现、即转换成版图。指APR(自动布局布线)。大部分后端数据由流片厂家和IP公司提供。实际的数字后端应该包括 定制标准单元库的设计、宏单元的定制设计、布局布线实现。
10.2 展平化设计与层次化设计。介绍展平化设计:10大步骤
1:数据导入:前端的门级网表、时序约束与时钟定义的脚本文件、sdc约束文件;流片厂的标准单元、红单元和IO Pad的库文件,包括物理库、时序库、网表库:.lef、.tlf、.v
2:布局规划:相关单元的摆放、标准单元一定空间工具自动摆放
3:单元放置:apr自动放置标准单元。若有必要可其后做IR Drop和EM分析
4:时钟树综合 :负载多,大,延时不平衡
5:全局与细节布线:满足约束下进行、保证关键时序路径
6:电压衰减分析:布线完成和数据基本确定后,整个设计的功耗及电压降分析就更精确,评估电源网络是否达到要求
7:时序验证与ECO:插入时钟树后,每个单元的位置确定、布线完成后的连线寄生参数也基本确定了,apr通过def文件及寄生参数文件传递给时序工具进行静态时序分析,时序违反问题通过eco进行小改动达到要求
8:功能等价性检查:布局布线需要物理情况修改门级网表,通过等价性检查来确认最终的网表与前端提供的初始网表在功能上是否一致
9:物理验证:DRC对芯片版图中哥层物理图形进行设计规则检查,包含天线校园等确保流片成功。LVS
10:流片。GDS给工厂
10.3 EDA工具
1、自动布局布线:Soc_Encounter(EDI),大部分都可通过该软件实现
2、版图编辑(Virtuoso Layout Editor)
3、DRC、ERC(Hercules Exploer DRC)版图物理设计检查的工具、物理验证工具之一
4、LVS(Hercules Hierarchical Design Verification)版图与网表物理等价性检查,物理验证工具之一
5、RC寄生参数提取(star RCXT)物理版图寄生参数提取的工具
6、sign-off时序分析(encounter timing system)时序分析工具
7、电压降和功耗分析(encounter power system)功耗分析
10.4 需要的数据:
网表、设计约束文件、物理库文件(lef)、时序库文件(lib)、io文件、布局要求、cdb文件(噪声分析信息文件)、工艺线、工艺厂的版图设计规则
10.5 布局规划
大小规划、输入输出单元规划、大量的硬宏或模块的位置规划、时钟网络规划
基本指导:流片工艺中的放置方式,金属层、IO的合理放置、IP的摆放方式方向位置堆叠、RTL模块的位置、IP外围的隔离环(保证本IP有足够的布线资源,提高布通率避免drc违反)
10.6电源规划
电迁移造成金属连线击穿和噪声容县下降
静态电压降和动态电压降、
控制电压降的方法:电源IO的位置和数量、电源网络增加合理的电容、设置电源网络结构
电迁移导致金属互联断裂,相应的模型,控制电迁移的办法:
电源地线的长度、合理设置电源底线的宽度、通孔的数量和密集程度
电源功耗前的功耗预估,电源条带的设置:模型
静态、动态电源网络分析:
10.7时钟树
最大扇出、最长距离、最高速度。时钟偏斜是个大问题
常见时钟树结构:树干、鱼骨、h树形、网格
时钟树的综合:如何生成时钟树,需要采取一定策略:自我交叉、相互交叉、有用偏斜、手动时钟树、插入多驱动能力的时钟缓冲器策略
时钟树的基本性能参数:始终传播时间、时钟偏斜、时钟转换时间、时钟树级数、时钟树缓冲器类型及数量、时钟互连线电迁移及串扰、时钟网络的动态功耗
时钟树的综合流程:APR工具中的流程为:
1、创建时钟树特性定义:产生一个时钟树综合参数配置文件,包含时钟约束文件、性能指标、时钟树分组信息、特殊结构设置等(各种层次的叶节点)信息
2定义时钟树:、3时钟树综合、4分析时钟树
门控时钟:抑制时钟网络翻转功耗,关闭用不到的时钟功能模块,门控逻辑在前端插入,克隆技术
时钟树优化的基本指导:
使用合适的时钟树实现结构、合理布局、时钟树负载均匀、优化控制逻辑网表和物理布局
10.8 布线
互连线的延时占70%,寄生电阻电容RC很大
天线效应:模型与计算
串扰噪声
数模混合信号走线的方法
10.9 ECO
泛指小的改动和优化
流片前ECO与流片后ECO
第11章 OpenSparcT1-FPU布局布线实践
EDA为Encounter
8个步骤:
1、准备后布局布线数据:门级网表、IO定义文件、SDC约束文件
2、芯片布局
3、电源网络实现
4、自动放置标准单元
5、时钟树综合
6、布线
7、芯片版图完整性实现
8、布局布线数据输出
软件操作
11.3:建立环境、导入相应的数据文件
11.4:布局布线实现:芯片布局、电源网络实现、自动放置标准单元并优化、时钟树综合、布线、芯片版图完整性实现(布线后填充单元:标准填充单元和IOpad填充电源)、布局布线数据输出(def数据、寄生参数、网表数据、gds数据)
第12章 电压降分析实践
cadence 的Ecounter power system (EPS)
电压降分析以保证工作在稳定的供电环境下
1、准备电压降分析数据:门级网表、时序约束、寄生参数、物理信息文件
2、设置几单元网格库(功耗计算的基础)
3、功耗计算(静态、动态)
4、电压降分析
软件操作
导入数据、设置,设置电源网格、功耗计算(生产后缀文件.rpt)、电压降分析(参看电压降分布结果)
第13章 静态时序分析技术(STA)
分析调试并确认一个门级系统设计时序性能的比较彻底的方法:建立时间和保持时间的需求。
静态时序分析优缺点
静态时序分析基本知识:
CMOS逻辑门的时序参数,
5中时序模型:synopsys工艺库模型、快速时序模型等
互连线模型、时序单元相关约束、始终特性、时序弧、PVT、串扰噪声、时序约束的相关命令与语句如何来定义一个时钟、
设置IO演示约束、模拟外部输入驱动信息与负载信息,相应的命令
静态时序分析的基本方法:通过分析结果找到关键的违反时序路径并进行优化
时序图、时序分析策略、时序计算的方法、时序路径的分析方法、
第14章 静态时序分析实战
ETS
流程:
1、数据准备(门级网表、时序约束文件和时序库文件)
2、建立时间分析,分析其中4种时序路径
3、保持时间分析:4种
4、时序设计规则分析
5、时序违反修复
软件操作
导入数据,定义静态时序分析模式,图形化分析、保持时间分析(4种类型的时序路径)
具体软件实践有待后续文章