注重体验与质量的电子书资源下载网站
分类于: 互联网 人工智能
简介
综合与时序分析的设计约束: Synopsys设计约束(SDC)实用指南 豆 0.0分
资源最后更新于 2020-11-21 02:44:48
作者:[美]斯里达尔·甘加达兰(Sridhar Gangadharan)
译者:韩德强
出版社:机械工业出版社
出版日期:2018-01
ISBN:9787111588948
文件格式: pdf
简介· · · · · ·
本书为集成电路时序约束设计的指南,指导读者通过指定的时序要求,充分发挥IC设计的性能。本书内容包括受时序约束的关键环节的设计流程、综合时序分析、静态时序分析和布局布线等。本书首先详细讲解时序要求的概念,然后详细解释如何将其应用于设计流程中的特定阶段,后通过实践介绍在Synopsys约束设计下(SDC)业界领先约束的格式。
目录
译者序
推荐序
前言
致谢一
致谢二
[0第0]1章 绪论 1
1.1 ASIC设计流程 1
1.2 FPGA设计流程 4
1.3 ASIC和FPGA设计流程中的时序约束 6
1.4 纳米级设计中的时序约束问题 6
1.5 小结 7
[0第0]2章 综合的基础[0知0]识 8
2.1 综合的解释 8
2.2 时序约束在综合中的作用 8
2.2.1 [0优0]化 9
2.2.2 输入重排序 9
2.2.3 输入缓冲 10
2.2.4 输出缓冲 11
2.3 综合中面临的普遍问题 11
2.3.1 设计划分 11
2.3.2 更新约束 12
2.3.3 多时钟设计 12
2.4 小结 12
[0第0]3章 时序分析与约束 14
3.1 静态时序分析 14
3.2 时序约束在STA中的作用 15
3.2.1 约束作为声明 16
3.2.2 约束作为断言 16
3.2.3 约束作为指令 16
3.2.4 约束作为异常 17
3.2.5 约束的角色变化 17
3.3 STA中的常见问题 18
3.3.1 无功能检查 18
3.3.2 无声明检查 18
3.3.3 要求正确 18
3.3.4 约束中的常见错误 19
3.3.5 好约束的特征 20
3.4 延迟计算与STA 21
3.5 时序路径 21
3.5.1 起点和终点 22
3.5.2 打断路径 23
3.5.3 功能路径与时序路径 23
3.5.4 时钟路径与数据路径 23
3.6 建立与保持 24
3.6.1 建立分析 24
3.6.2 保持分析 24
3.6.3 其他分析 25
3.7 裕度 25
3.8 片上变化 26
3.9 小结 27
[0第0]4章 通过Tcl扩展SDC 28
4.1 时序约束的历[0史0] 28
4.2 Tcl基础[0知0]识 29
4.2.1 Tcl变量 29
4.2.2 Tcl列表 30
4.2.3 Tcl表达式与运算符 31
4.2.4 Tcl的控制流语句 31
4.2.5 其他Tcl命令 33
4.3 SDC综述 33
4.3.1 时序约束 34
4.3.2 面积与功率约束 34
4.3.3 设计规则约束 34
4.3.4 接口约束 34
4.3.5 特定模式和配置约束 34
4.3.6 设计约束异常 35
4.3.7 其他命令 35
4.4 SDC中的设计查询 35
4.5 SDC作为标准 36
4.6 小结 36
[0第0]5章 时钟 37
5.1 时钟周期和频率 37
5.2 时钟沿和占空比 38
5.3 creat_clock 39
5.3.1 定义时钟周期 39
5.3.2 标识时钟源 39
5.3.3 命[0名0]时钟 40
5.3.4 指定占空比 40
5.3.5 同源多时钟 41
5.3.6 注释时钟 42
5.4 虚拟时钟 42
5.5 其他时钟特征 43
5.6 时钟规格的重要性 43
5.7 小结 44
[0第0]6章 生成时钟 45
6.1 时钟分频器 45
6.2 时钟乘[0法0]器 46
6.3 时钟门控 46
6.4 create_generated_clock 47
6.4.1 定义生成时钟的对象 47
6.4.2 定义生成时钟的源 48
6.4.3 时钟命[0名0] 48
6.4.4 设定生成时钟的特性 48
6.4.5 时钟沿位移 51
6.4.6 多个同源时钟 52
6.4.7 使能组合电路路径 53
6.5 生成时钟相关的注意事项 54
6.6 小结 54
[0第0]7章 时钟组 55
7.1 建立和保持时序检查 55
7.1.1 高速至低速时钟 56
7.1.2 低速至高速时钟 57
7.1.3 多个时钟于不同周期内同步 57
7.1.4 异步时钟 58
7.2 逻辑和物理[0独0]立时钟 58
7.3 串扰 59
7.4 set_clock_group 60
7.5 时钟组相关的注意事项 62
7.6 小结 62
[0第0]8章 其他时钟特性 63
8.1 过渡时间 63
8.2 set_clock_transition 64
8.3 偏斜和抖动 65
8.4 set_clock_uncertainty 65
8.4.1 内部时钟不确定度 66
8.4.2 交互时钟不确定度 66
8.5 时钟延迟 67
8.6 set_clock_latency 68
8.7 时钟路径的单边性 70
8.8 set_clock_sense 71
8.9 理想网络 72
8.10 小结 73
[0第0]9章 端口延迟 74
9.1 输入有效 74
9.1.1 小和[0大0]有效时间 75
9.1.2 多时钟 75
9.1.3 理解输入信号的到达时间 76
9.2 输出要求 77
9.2.1 小和[0大0]要求时间 78
9.2.2 多个参考事件 78
9.2.3 理解输出要求时间 79
9.3 set_input_delay 79
9.3.1 时钟规格 79
9.3.2 -level_sensitive 80
9.3.3 rise/f[0all0] 限定符 80
9.3.4 min/max限定符 81
9.3.5 -add_delay 81
9.3.6 时钟延迟 82
9.3.7 完成输入延迟约束 83
9.4 set_output_delay 83
9.4.1 时钟规格 83
9.4.2 -level_sensitive 83
9.4.3 rise/f[0all0]限定符 84
9.4.4 min/max限定符 84
9.4.5 -add_delay 84
9.4.6 时钟延迟 84
9.4.7 完成输出延迟约束 84
9.5 输入延迟和输出延迟之间的关系 84
9.6 时序分析实例 85
9.6.1 输入延迟:[0大0]输入延迟 86
9.6.2 输入延迟:小输入延迟 87
9.6.3 输出延迟:[0大0]输出延迟 87
9.6.4 输出延迟:小输出延迟 88
9.7 负延迟 89
9.8 小结 90
[0第0]10章 完整的端口约束 91
10.1 驱动能力 91
10.2 驱动单元 93
10.3 输入过渡 97
10.4 扇出数 98
10.5 扇出负载 98
10.6 负载 99
10.6.1 净电容 99
10.6.2 调整引脚负载 99
10.6.3 负载类型 100
10.6.4 负载和扇出负载 100
10.6.5 输入负载 101
10.7 小结 101
[0第0]11章 虚假路径 102
11.1 简介 102
11.2 set_false_path 102
11.3 路径规格 103
11.4 过渡过程规格 105
11.5 建立/保持规格 107
11.6 虚假路径的类型 107
11.6.1 组合电路的虚假路径 108
11.6.2 时序电路的虚假路径 108
11.6.3 动态激活的虚假路径 108
11.6.4 时序的虚假路径 109
11.6.5 基于总线协议的虚假路径 110
11.6.6 虚拟时钟和真实时钟之间的虚假路径 110
11.7 set_disable_timing 112
11.8 虚假路径的问题 112
11.9 小结 113
[0第0]12章 多周期路径 114
12.1 多周期路径的SDC命令 114
12.2 路径和过渡过程规格 115
12.3 建立/保持规格 115
12.4 位移量 116
12.5 多周期规格实例 119
12.5.1 基于FSM的数据传输 119
12.5.2 源同步接口 119
12.5.3 复位 121
12.5.4 异步时钟 121
12.5.5 [0大0]数据路径宏 122
12.5.6 多模式 122
12.6 小结 122
[0第0]13章 组合电路路径 123
13.1 set_max_delay 123
13.2 set_min_delay 124
13.3 输入/输出延时 124
13.3.1 用无关时钟约束 124
13.3.2 用虚拟时钟约束 125
13.3.3 用相关时钟约束 125
13.4 小/[0大0]延迟与输入/输出延迟的对比 126
13.5 直通 127
13.6 点到点异常 129
13.7 路径阻断 130
13.8 小结 131
[0第0]14章 模式分析 132
14.1 使用模式 132
14.2 多模式 132
14.3 单模式与合并模式的对比 133
14.4 设置模式 134
14.5 其他约束 136
14.6 模式分析挑战 136
14.6.1 时序终止迭代 136
14.6.2 时序路径丢失 137
14.7 冲突模式 137
14.8 模式[0名0]称 138
14.9 小结 139
[0第0]15章 约束管理 140
15.1 自[0顶0]向下的方[0法0] 140
15.2 自底向上的方[0法0] 140
15.3 自[0顶0]向下和自底向上相结合的设计方[0法0] 143
15.4 多模式合并 145
15.4.1 选择悲观时钟 147
15.4.2 时钟互斥 147
15.4.3 部分专用时钟 148
15.4.4 合并功能和测试模式 149
15.4.5 合并同一时钟的I / O延迟 150
15.4.6 使用不同的时钟合并I / O延迟 151
15.5 管理约束的挑战 151
15.6 小结 153
[0第0]16章 其他SDC命令 154
16.1 工作条件 154
16.1.1 多分析条件 155
16.1.2 set_operating_conditions 156
16.1.3 降额 157
16.2 单位 158
16.3 层次分离器 158
16.3.1 set_hierarchy_separator 159
16.3.2 -hsc 159
16.4 设计范围 160
16.5 导线载荷模型 161
16.5.1 导线载荷小尺寸 162
16.5.2 导线载荷模式 162
16.5.3 导线载荷选择组 163
16.6 面积约束 163
16.7 功率约束 164
16.7.1 电压岛 164
16.7.2 电平移位器 165
16.7.3 功率目标 165
16.8 小结 166
[0第0]17章 XDC:Xilinx对SDC的扩展 167
17.1 时钟 167
17.1.1 主时钟和虚拟时钟 167
17.1.2 生成时钟 168
17.1.3 查询时钟 169
17.1.4 时钟组 170
17.1.5 传播时钟和延迟 171
17.1.6 时钟不确定度 172
17.2 时序异常 173
17.3 布局约束 173
17.4 在Xilinx Tcl Shell中集成SDC 174
17.5 小结 174
参考文献 175
推荐序
前言
致谢一
致谢二
[0第0]1章 绪论 1
1.1 ASIC设计流程 1
1.2 FPGA设计流程 4
1.3 ASIC和FPGA设计流程中的时序约束 6
1.4 纳米级设计中的时序约束问题 6
1.5 小结 7
[0第0]2章 综合的基础[0知0]识 8
2.1 综合的解释 8
2.2 时序约束在综合中的作用 8
2.2.1 [0优0]化 9
2.2.2 输入重排序 9
2.2.3 输入缓冲 10
2.2.4 输出缓冲 11
2.3 综合中面临的普遍问题 11
2.3.1 设计划分 11
2.3.2 更新约束 12
2.3.3 多时钟设计 12
2.4 小结 12
[0第0]3章 时序分析与约束 14
3.1 静态时序分析 14
3.2 时序约束在STA中的作用 15
3.2.1 约束作为声明 16
3.2.2 约束作为断言 16
3.2.3 约束作为指令 16
3.2.4 约束作为异常 17
3.2.5 约束的角色变化 17
3.3 STA中的常见问题 18
3.3.1 无功能检查 18
3.3.2 无声明检查 18
3.3.3 要求正确 18
3.3.4 约束中的常见错误 19
3.3.5 好约束的特征 20
3.4 延迟计算与STA 21
3.5 时序路径 21
3.5.1 起点和终点 22
3.5.2 打断路径 23
3.5.3 功能路径与时序路径 23
3.5.4 时钟路径与数据路径 23
3.6 建立与保持 24
3.6.1 建立分析 24
3.6.2 保持分析 24
3.6.3 其他分析 25
3.7 裕度 25
3.8 片上变化 26
3.9 小结 27
[0第0]4章 通过Tcl扩展SDC 28
4.1 时序约束的历[0史0] 28
4.2 Tcl基础[0知0]识 29
4.2.1 Tcl变量 29
4.2.2 Tcl列表 30
4.2.3 Tcl表达式与运算符 31
4.2.4 Tcl的控制流语句 31
4.2.5 其他Tcl命令 33
4.3 SDC综述 33
4.3.1 时序约束 34
4.3.2 面积与功率约束 34
4.3.3 设计规则约束 34
4.3.4 接口约束 34
4.3.5 特定模式和配置约束 34
4.3.6 设计约束异常 35
4.3.7 其他命令 35
4.4 SDC中的设计查询 35
4.5 SDC作为标准 36
4.6 小结 36
[0第0]5章 时钟 37
5.1 时钟周期和频率 37
5.2 时钟沿和占空比 38
5.3 creat_clock 39
5.3.1 定义时钟周期 39
5.3.2 标识时钟源 39
5.3.3 命[0名0]时钟 40
5.3.4 指定占空比 40
5.3.5 同源多时钟 41
5.3.6 注释时钟 42
5.4 虚拟时钟 42
5.5 其他时钟特征 43
5.6 时钟规格的重要性 43
5.7 小结 44
[0第0]6章 生成时钟 45
6.1 时钟分频器 45
6.2 时钟乘[0法0]器 46
6.3 时钟门控 46
6.4 create_generated_clock 47
6.4.1 定义生成时钟的对象 47
6.4.2 定义生成时钟的源 48
6.4.3 时钟命[0名0] 48
6.4.4 设定生成时钟的特性 48
6.4.5 时钟沿位移 51
6.4.6 多个同源时钟 52
6.4.7 使能组合电路路径 53
6.5 生成时钟相关的注意事项 54
6.6 小结 54
[0第0]7章 时钟组 55
7.1 建立和保持时序检查 55
7.1.1 高速至低速时钟 56
7.1.2 低速至高速时钟 57
7.1.3 多个时钟于不同周期内同步 57
7.1.4 异步时钟 58
7.2 逻辑和物理[0独0]立时钟 58
7.3 串扰 59
7.4 set_clock_group 60
7.5 时钟组相关的注意事项 62
7.6 小结 62
[0第0]8章 其他时钟特性 63
8.1 过渡时间 63
8.2 set_clock_transition 64
8.3 偏斜和抖动 65
8.4 set_clock_uncertainty 65
8.4.1 内部时钟不确定度 66
8.4.2 交互时钟不确定度 66
8.5 时钟延迟 67
8.6 set_clock_latency 68
8.7 时钟路径的单边性 70
8.8 set_clock_sense 71
8.9 理想网络 72
8.10 小结 73
[0第0]9章 端口延迟 74
9.1 输入有效 74
9.1.1 小和[0大0]有效时间 75
9.1.2 多时钟 75
9.1.3 理解输入信号的到达时间 76
9.2 输出要求 77
9.2.1 小和[0大0]要求时间 78
9.2.2 多个参考事件 78
9.2.3 理解输出要求时间 79
9.3 set_input_delay 79
9.3.1 时钟规格 79
9.3.2 -level_sensitive 80
9.3.3 rise/f[0all0] 限定符 80
9.3.4 min/max限定符 81
9.3.5 -add_delay 81
9.3.6 时钟延迟 82
9.3.7 完成输入延迟约束 83
9.4 set_output_delay 83
9.4.1 时钟规格 83
9.4.2 -level_sensitive 83
9.4.3 rise/f[0all0]限定符 84
9.4.4 min/max限定符 84
9.4.5 -add_delay 84
9.4.6 时钟延迟 84
9.4.7 完成输出延迟约束 84
9.5 输入延迟和输出延迟之间的关系 84
9.6 时序分析实例 85
9.6.1 输入延迟:[0大0]输入延迟 86
9.6.2 输入延迟:小输入延迟 87
9.6.3 输出延迟:[0大0]输出延迟 87
9.6.4 输出延迟:小输出延迟 88
9.7 负延迟 89
9.8 小结 90
[0第0]10章 完整的端口约束 91
10.1 驱动能力 91
10.2 驱动单元 93
10.3 输入过渡 97
10.4 扇出数 98
10.5 扇出负载 98
10.6 负载 99
10.6.1 净电容 99
10.6.2 调整引脚负载 99
10.6.3 负载类型 100
10.6.4 负载和扇出负载 100
10.6.5 输入负载 101
10.7 小结 101
[0第0]11章 虚假路径 102
11.1 简介 102
11.2 set_false_path 102
11.3 路径规格 103
11.4 过渡过程规格 105
11.5 建立/保持规格 107
11.6 虚假路径的类型 107
11.6.1 组合电路的虚假路径 108
11.6.2 时序电路的虚假路径 108
11.6.3 动态激活的虚假路径 108
11.6.4 时序的虚假路径 109
11.6.5 基于总线协议的虚假路径 110
11.6.6 虚拟时钟和真实时钟之间的虚假路径 110
11.7 set_disable_timing 112
11.8 虚假路径的问题 112
11.9 小结 113
[0第0]12章 多周期路径 114
12.1 多周期路径的SDC命令 114
12.2 路径和过渡过程规格 115
12.3 建立/保持规格 115
12.4 位移量 116
12.5 多周期规格实例 119
12.5.1 基于FSM的数据传输 119
12.5.2 源同步接口 119
12.5.3 复位 121
12.5.4 异步时钟 121
12.5.5 [0大0]数据路径宏 122
12.5.6 多模式 122
12.6 小结 122
[0第0]13章 组合电路路径 123
13.1 set_max_delay 123
13.2 set_min_delay 124
13.3 输入/输出延时 124
13.3.1 用无关时钟约束 124
13.3.2 用虚拟时钟约束 125
13.3.3 用相关时钟约束 125
13.4 小/[0大0]延迟与输入/输出延迟的对比 126
13.5 直通 127
13.6 点到点异常 129
13.7 路径阻断 130
13.8 小结 131
[0第0]14章 模式分析 132
14.1 使用模式 132
14.2 多模式 132
14.3 单模式与合并模式的对比 133
14.4 设置模式 134
14.5 其他约束 136
14.6 模式分析挑战 136
14.6.1 时序终止迭代 136
14.6.2 时序路径丢失 137
14.7 冲突模式 137
14.8 模式[0名0]称 138
14.9 小结 139
[0第0]15章 约束管理 140
15.1 自[0顶0]向下的方[0法0] 140
15.2 自底向上的方[0法0] 140
15.3 自[0顶0]向下和自底向上相结合的设计方[0法0] 143
15.4 多模式合并 145
15.4.1 选择悲观时钟 147
15.4.2 时钟互斥 147
15.4.3 部分专用时钟 148
15.4.4 合并功能和测试模式 149
15.4.5 合并同一时钟的I / O延迟 150
15.4.6 使用不同的时钟合并I / O延迟 151
15.5 管理约束的挑战 151
15.6 小结 153
[0第0]16章 其他SDC命令 154
16.1 工作条件 154
16.1.1 多分析条件 155
16.1.2 set_operating_conditions 156
16.1.3 降额 157
16.2 单位 158
16.3 层次分离器 158
16.3.1 set_hierarchy_separator 159
16.3.2 -hsc 159
16.4 设计范围 160
16.5 导线载荷模型 161
16.5.1 导线载荷小尺寸 162
16.5.2 导线载荷模式 162
16.5.3 导线载荷选择组 163
16.6 面积约束 163
16.7 功率约束 164
16.7.1 电压岛 164
16.7.2 电平移位器 165
16.7.3 功率目标 165
16.8 小结 166
[0第0]17章 XDC:Xilinx对SDC的扩展 167
17.1 时钟 167
17.1.1 主时钟和虚拟时钟 167
17.1.2 生成时钟 168
17.1.3 查询时钟 169
17.1.4 时钟组 170
17.1.5 传播时钟和延迟 171
17.1.6 时钟不确定度 172
17.2 时序异常 173
17.3 布局约束 173
17.4 在Xilinx Tcl Shell中集成SDC 174
17.5 小结 174
参考文献 175