第1章 绪论 1
1.1电子设计自动化(EDA) 1
1.2VLSI设计流程 4
1.3VLSI设计模式 8
1.4版图层和设计规则 13
1.5物理设计优化 15
1.6算法和复杂性 16
1.7图论术语 19
1.8EDA常用术语 22
第1章参考文献 25
第2章 网表和系统划分 26
2.1介绍 26
2.2术语 27
2.3优化目标 28
2.4划分算法 28
2.4.1Kernighan-Lin(KL)算法 29
2.4.2扩展的KL算法 33
2.4.3Fiduccia-Mattheyses(FM)算法 33
2.5多级划分框架 41
2.5.1结群 42
2.5.2多级划分 42
2.6基于多FPGA的系统划分 43
第2章练习 45
第2章参考文献 47
第3章 芯片规划 48
3.1布图规划介绍 49
3.2布图规划的优化目标 50
3.3术语 51
3.4布图的表示 54
3.4.1从布图到一个约束图对 54
3.4.2从布图到一个序列对 55
3.4.3从序列对到一个布图 56
3.5布图规划算法 60
3.5.1布图尺寸变化 60
3.5.2群生长 65
3.5.3模拟退火 70
3.5.4集成布图规划算法 73
3.6引脚分配 74
3.7电源和地线布线 78
3.7.1电源和地线网分布设计 78
3.7.2平面布线 79
3.7.3网格布线 80
第3章练习 82
第3章参考文献 83
第4章 全局和详细布局 85
4.1介绍 85
4.2优化目标 86
4.3全局布局 93
4.3.1最小割布局 93
4.3.2解析布局 99
4.3.3模拟退火 107
4.3.4现代布局算法 110
4.4合法化和详细布局 112
第4章练习 114
第4章参考文献 115
第5章 总体布线 118
5.1介绍 118
5.2术语和定义 120
5.3优化目标 122
5.4布线区域的表示 125
5.5总体布线流程 126
5.6单网布线 127
5.6.1直线布线 127
5.6.2连通图中的总体布线 132
5.6.3用Dijkstra算法找最短路径 136
5.6.4用A*搜索算法找最短路径 141
5.7全网表布线 142
5.7.1整数线性规划布线 142
5.7.2拆线重布(RRR) 146
5.8现代总体布线 148
5.8.1模式布线 149
5.8.2协商拥塞布线 149
第5章练习 151
第5章参考文献 152
第6章 详细布线 154
6.1术语 154
6.2水平和垂直约束图 157
6.2.1水平约束图 157
6.2.2垂直约束图 158
6.3通道布线算法 160
6.3.1左边算法 160
6.3.2狗腿算法 162
6.4开关盒布线 164
6.4.1术语 165
6.4.2开关盒布线算法 165
6.5单元上布线算法 167
6.5.1单元上布线方法 168
6.5.2单元上布线算法 169
6.6详细布线的现代挑战 169
第6章练习 171
第6章参考文献 173
第7章 特殊布线 174
7.1区域布线简介 174
7.2区域布线中的线网顺序 176
7.3非曼哈顿布线 178
7.3.1八向斯坦纳树 178
7.3.2八向迷宫搜索 180
7.4时钟网络的基本概念 181
7.4.1术语 181
7.4.2时钟树布线问题的提出 184
7.5现代时钟树综合 186
7.5.1构建全局零偏移时钟树 186
7.5.2含扰动时钟树缓冲插入 195
第7章练习 196
第7章参考文献 199
第8章 时序收敛 201
8.1介绍 201
8.2时序分析和性能约束 203
8.2.1静态时序分析 204
8.2.2使用零松弛法进行延迟预算 209
8.3时序驱动布局 213
8.3.1基于线网的技术 214
8.3.2在线性规划的布局中使用STA 217
8.4时序驱动布线 218
8.4.1有界半径有界代价算法 219
8.4.2Prim-Dijkstra算法的折中 220
8.4.3源-汇延迟的最小化 221
8.5物理综合 223
8.5.1改变门大小 223
8.5.2缓冲插入 224
8.5.3网表重构 225
8.6性能驱动设计流程 228
8.7结论 236
第8章练习 238
第8章参考文献 240
附录 243
附录A 章节习题的答案 243
第2章:网表和系统划分 243
第3章:芯片规划 245
第4章:全局和详细布局 248
第5章:总体布线 250
第6章:详细布线 254
第7章:特殊布线 258
第8章:时序收敛 266
附录B CMOS单元版图举例 269