内容简介
第1章 ASIC设计方法学
1.1 传统的设计流程
1.1.1 规范和RTL编码
1.1.2 动态仿真
1.1.3 约束、综合和扫描插入
1.1.4 形式验证
1.1.5 使用PrimeTime进行静态时序分析
1.1.6 布局、布线和验证
1.1.7 工程改变命令
1.2 Physical Compiler流程
1.2.1 物理综合
1.3 小结
第2章 入门指南静态时序分析与综合
2.1 设计示例
2.2 初始设置
2.3 传统流程
2.3.1 布图前的步骤
2.3.2 布图后步骤
2.4 Physical Compiler流程
2.5 小结
第3章 基本概念
3.1 Synopsys产品
3.2 综合环境
3.2.1 启动文件
3.2.2 系统库变量
3.3 对象、变量和属性
3.3.1 设计对象
3.3.2 变量
3.3.3 属性
3.4 找寻设计对象
3.5 Synopsys格式
3.6 数据组织
3.7 设计输入
3.8 编译指令
3.8.1 HDL编译器指令
3.8.2 VHDL编译器指令
3.9 小结
第4章 Synopsys工艺库
4.1 工艺库
4.1.1 逻辑库
4.1.2 物理库
4.2 逻辑库基础
4.2.1 库类
4.2.2 库级属性
4.2.3 环境描述
4.2.4 单元描述
4.3 延时计算
4.3.1 延时模型
4.3.2 延时计算问题
4.4 何谓好库?
4.5 小结
第5章 划分和编码风格
5.1 综合划分
5.2 何谓RTL?
5.2.1 软件与硬件
5.3 通用指导方针
5.3.1 工艺无关
5.3.2 时钟相关逻辑
5.3.3 顶层没有粘合逻辑
5.3.4 模块名与文件名一致
5.3.5 压焊块同核心逻辑相分离
5.3.6 最小化不必要的层次
5.3.7 寄存所有输出
5.3.8 FSM综合指导
5.4 逻辑推断
5.4.1 不完全敏感信号表
5.4.2 存储元件推断
5.4.3 多路选择器推断
5.4.4 三态推断
5.5 顺序相关
5.5.1 Verilog中阻塞与非阻塞赋值
5.5.2 VHDL中的信号与变量
5.6 小结
第6章 设计约束
6.1 环境与约束
6.1.1 设计环境
6.1.2 设计约束
6.2 高级约束
6.3 时钟问题
6.3.1 布图前
6.3.2 布图后
6.3.3 生成的时钟
6.4 综合实例
6.5 小结
第7章 优化设计
7.1 设计空间探索
7.2 总的负松弛
7.3 编译策略
7.3.1 自顶向下层次化编译
7.3.2 时间预算编译
7.3.3 Compile-Characterize-Write-Script-Recompile
7.3.4 设计预算
7.4 多个实例解析
7.5 优化技巧
7.5.1 编译设计
7.5.2 展平和构造
7.5.3 消除层次
7.5.4 优化时钟网络
7.5.5 面积优化
7.6 小结
第8章 可测性设计
8.1 DFT类型
8.1.1 存储器和逻辑BIST
8.1.2 边界扫描DFT
8.2 扫描插入
8.2.1 移位周期和捕获周期
8.2.2 RTL检查
8.2.3 使设计可扫描
8.2.4 现有扫描
8.2.5 扫描链排序
8.2.6 测试图案生成
8.2.7 综合实例
8.3 DFT指导方针
8.3.1 三态总线竞争
8.3.2 锁存器
8.3.3 门控复位或预置
8.3.4 门控时钟或生成时钟
8.3.5 使用单时钟沿
8.3.6 多时钟域
8.3.7 排序扫描链以最小化时钟扭斜
8.3.8 因存储单元而不可扫描的逻辑
8.4 小结
第9章 LINKS TO LAYOUT和布图后优化——包括时钟树插入
9.1 为布图生成网表
9.1.1 唯一化
9.1.2 为布图修改网表
9.1.3 移除未连接的端口
9.1.4 可见的端口名
9.1.5 Verilog特殊语句
9.1.6 无意的时钟或复位门控
9.1.7 未解析的引用
9.2 布图
9.2.1 布图规划
9.2.2 时钟插入
9.2.3 时钟树到Design Compiler的转移
9.2.4 布线
9.2.5 提取
9.3 布图后优化
9.3.1 反标注和自定义连线负载
9.3.2 在位优化
9.3.3 基于位置的优化
9.3.4 修正保持时间违例
9.4 小结
第10章 物理综合
10.1 初始化设置
10.1.1 重要变量
10.2 作业模式
10.2.1 RTL到布局后的门
10.2.2 门到布局后的门
10.3 其他PhyC命令
10.4 Physical Compiler问题
10.5 后端流程
10.6 小结
第11章 SDF生成——为动态时序仿真
11.1 SDF文件
11.2 SDF文件生成
11.2.1 生成布图前SDF文件
11.2.2 生成布图后SDF文件
11.2.3 时序检查相关问题
11.2.4 虚假延迟计算问题
11.2.5 组合
11.3 小结
第12章 PRIMETIME基础
12.1 导言
12.1.1 调用PT
12.1.2 PrimeTime环境
12.13 自动命令转换
12.2 Tcl基础
12.2.1 命令置换
12.2.2 列表
12.2.3 流控制和循环
12.3 PrimeTime命令
12.3.1 设计输入
12.3.2 时钟规范
12.3.3 时序分析命令
12.3.4 其他各种命令
12.4 小结
第13章 静态时序分析——使用PrimeTime
13.1 为何要进行静态时序分析?
13.1.1 分析什么?
13.2 时序例外
13.2.1 多周期路径
13.2.2 虚假路径
13.3 禁止时序弧
13.3.1 分别禁止时序弧
13.3.2 情况分析
13.4 环境与约束
13.4.1 工作条件——困难的选择
13.5 布图前
13.5.1 布图前时钟规范
13.5.2 时序分析
13.6 布图后
13.6.1 反标注什么
13.6.2 布图后时钟规范
13.6.3 时序分析
13.7 分析报告
13.7.1 布局前建立时间分析报告
13.7.2 布图前保持时间分析报告
13.7.3 布图后建立时间分析报告
13.7.4 布图后保持时间分析报告
13.8 高级分析
13.8.1 详细的时序报告
13.8.2 单元交换
13.8.3 瓶颈分析
13.8.4 门控时钟检查
13.9 小结
附录A 使用Physical Compiler的一个新的时序闭合方法
附录B Makefile实例