一.数据准备
1.库文件:
- milkyway参考库(ref文件)
- 标准单元库(.db)
- 寄生参数库(.tlup、.itf)
- 工艺库文件techfile(.tf)
2.非库文件:
- 环境启动配置文件 .synopsys_dc.setup
- Verilog网表文件:该文件是我们输入的设计文件,由DC或其他综合软件综合后输出的门级网表形式的Verilog(.v)文件
- 时序约束文件( .sdc):时序约束文件也是由DC进行综合输出的.sdc格式的文件,其中包含对设计的时序约束条件
二.布局规划floorplanning
相关论文:
- A Deep-learning-based Statistical Timing Prediction Method for Sub-16nm Technologies
负责定义芯片的物理结构和各个模块(或宏块)的大致位置。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定下来了。其中会设置设计约束:时序约束;面积约束;功耗约束。
整体的流程大致如下:
1. 定义核心区域和外围区域
2. 确定 IP (Intellectual Property) Blocks 的位置
3. 初步 Power Planning:电源网格;电源环(Power Rings);电源铺垫(Power Pads)
4. I/O Planning
5. 设置设计约束
6. 优化和调整
7. 预布线和资源分配:根据初步的 floorplan 进行全局布线的预览,以便对资源(如金属层)进行初步分配。这些任务可能会有多次迭代和调整,特别是在更后续的设计阶段(如布局和布线)提供反馈后。
三.布局Placement
相关论文:
- Critical Paths Prediction under Multiple Corners Based on BiLSTM Network
它紧跟在Floorplanning阶段之后。在这一阶段,设计的所有逻辑元件(例如标准单元、触发器、门等)和预定义的IP块(例如硬宏)被物理地放置在芯片的核心区域内。具体来说,包含三个主要内容:
- 全局布局:进行粗略的布局优化。
- 详细布局:进一步优化每个标准单元和宏单元的位置。
- 优化:针对时序、功耗等进行局部优化。
对于每一个内容,又有很多细分工作,比方说:需要读取和解析逻辑网表;读取和应用设计约束;验证(设计规则检查DRC和电气规则检查ERC)
四.时钟树综合Clock Tree Synthesis (CTS)
生成一个有效的时钟分布网络,这个网络负责将时钟信号从一个或多个时钟源(Clock Source)传送到芯片内所有需要时钟的元件(如触发器和存储器元件)。
五.布线Routing
它负责实现逻辑元件之间的物理连接。Routing通常紧跟在Placement和Clock Tree Synthesis(CTS)阶段之后。主要的内容为:
- 全局布线:确定大致的连线路径。
- 详细布线:在全局布线指导下,进行精确的连线。
- 修复布线冲突:解决任何布线冲突或溢出。
对于每一个内容,也会有很多细分的工作,其实这些工作和上面多有类似,比方说:读取设计、读取布线约束和规则、读取电气约束和规则、验证(设计规则和电气规则检查)等。
六.布线后优化Post-Route Optimization
这个阶段是为了改进已经完成布线的设计,以满足或优化各种性能指标和规则约束。同时,Post-Routing是一个迭代和多角度的过程,通常涉及到多种工具和技术。在Post-Route Optimization(布线后优化)阶段,一般来说,主要布线任务已经完成。这个阶段主要集中在对现有布线进行各种优化,以改善电气性能、时序、功耗和满足其他设计要求。这包括可能的局部布线调整、添加或移除缓冲器、驱动器调整、电源和地网的微调等。主要的内容为:
- 时序优化:使用更精确的寄存器到寄存器路径信息来解决任何布线后的时序问题。
- 功耗优化:通过门级重组或调整Vth(阈值电压)来降低功耗。
详细一点的工作包括:电气优化、时序优化、规则检查和修正等。
七.Physical Verification(物理验证)
它负责确保设计满足所有工艺和功能规格,为下一步的制造做好准备。以下是物理验证阶段的一些具体内容:
- DRC(Design Rule Check):使用工艺规则文件来验证设计,确保没有违反任何制程规则。
- LVS(Layout vs. Schematic):确保物理布局与逻辑一致。
- ERC(Electrical Rule Check):检查电流路径、电源连通性等。
- 天线效应检查:运用专用的检查工具来识别和解决可能的天线效应。
八.Sign-Off Checks
Sign-off Checks 是一个关键的阶段,它标志着设计即将完成,并准备进入制造阶段。具体内容为:
- 时序Sign-off: 使用工艺库的最终版本和高精度模型来执行最终的时序分析。
- 功耗Sign-off: 全芯片功耗分析
更细分的内容有:电源完整性、信号完整性、物理验证(设计规则、电气、布局与原理图对比)、可靠性等等检查。
STA所处的阶段
1. RTL阶段STA(早期时序分析)
-
目的:
-
在RTL设计阶段进行初步时序分析,识别潜在的关键路径和时序问题。
-
帮助设计者在早期阶段优化架构,避免后期出现难以修复的时序问题。
-
2. 布局阶段STA(Placement STA)
-
目的:
-
在布局阶段(Placement),确定标准单元和宏单元的位置后,进行时序分析。
-
确保布局后的电路满足时序约束,并优化关键路径。
-
3. 布线阶段STA
是将门级网表转换为物理版图的过程。布线阶段的STA用于验证实际布线后的电路是否满足时序要求。
-
目的:
-
确保布线后的电路在给定时钟频率下能正常工作。
-
识别并修复布线引入的时序问题。
-
4. 时钟树综合后STA(Post-CTS STA)
-
目的:
-
在时钟树综合(CTS, Clock Tree Synthesis)完成后,分析时钟路径的时序。
-
确保时钟信号到达所有寄存器的延迟满足要求(时钟偏斜和延迟在可接受范围内)。
-
5. 物理验证阶段STA
-
目的:
-
在物理验证(如DRC、LVS)完成后,进行最终的时序验证。
-
确保物理实现后的电路满足时序要求。
-
6. 签核阶段STA(Sign-off STA)
-
目的:
-
在设计的最后阶段(Sign-off),进行全面的时序验证,确保电路满足所有时序要求。
-
这是设计流程中的最终检查,通常用于流片(Tape-out)前的验证。
-
10万+

被折叠的 条评论
为什么被折叠?



