内容简介
第1章 集成电路发展与数字集成电路概论
1.1 集成电路的回顾
1.1.1 数字集成电路溯源
1.1.2 电子设计发展阶段
1.1.3 计算机在集成电路设计发展阶段的作用
1.1.4 人才、工具和库
1.2 纳米时代的数字集成电路设计策略
1.2.1 数字集成电路设计的要求
1.2.2 核高基助力集成电路芯片设计
1.2.3 设计自动化
1.3 数字集成电路的设计方法
1.3.1 自顶向下设计流程
1.3.2 自底向上设计流程
1.3.3 正向设计和逆向设计
1.3.4 著名公司推荐的设计流程
1.4 数字集成电路设计的学习方法
1.4.1 选用合适的EDA工具
1.4.2 了解和适应集成电路设计产业
1.5 数字集成电路设计的项目管理
1.5.1 可靠性设计
1.5.2 代码版本管理SVN
1.5.3 代码质量nLint
第2章 数字集成电路设计基础
2.1 数字集成电路的基本电路
2.1.1 数字集成电路分类与特点
2.1.2 各类数字集成电路的性能指标
2.1.3 CMOS基本门电路的分类与扩展
2.2 典型的组合逻辑电路设计
2.2.1 实现不带“非”的组合逻辑
2.2.2 半加器和同或电路设计
2.2.3 加法器电路设计
2.2.4 算术逻辑运算模块
2.2.5 译码器和编码器
2.2.6 传输门逻辑电路
2.2.7 多路选择器
2.3 典型的时序逻辑电路
2.3.1 时序逻辑电路基础
2.3.2 双稳态电路
2.3.3 CMOS触发器
2.3.4 同步时序电路和异步时序电路
2.3.5 预充-求值的动态CMOS电路
2.3.6 多米诺CMOS电路
2.3.7 时钟CMOS电路
2.4 微处理器的设计
2.4.1 微处理器设计与专用集成电路设计
2.4.2 微处理器设计的发展
2.4.3 简单微处理器的设计
2.4.4 系统级的微处理器设计方法
2.4.5 可配置处理器对设计方法学的新要求
第3章 硬件描述语言VHDL
3.1 VHDL简介
3.1.1 VHDL的特点
3.1.2 VHDL的新发展
3.2 VHDL程序的基本结构
3.2.1 VHDL程序的基本单元与构成
3.2.2 包、配置和库
3.2.3 微处理器的设计实例
3.3 VHDL的基本数据类型和操作符
3.3.1 数的类型和数的字面值
3.3.2 对象和分类
3.3.3 数据类型
3.3.4 运算操作符
3.4 VHDL结构体的描述方式
3.4.1 顺序描述语句
3.4.2 并发描述语句
3.5 Active_VHDL上机准备
3.5.1 Active_VHDL的安装与启动
3.5.2 EditPlus安装使用
3.5.3 熟悉Active_VHDL的集成环境
3.5.4 Active_VHDL自带范例的调试流程
3.5.5 VHDL激励信号
3.5.6 Active_VHDL中测试基准自动生成流程
3.5.7 半加器的波形分析
3.6 基本逻辑电路的VHDL实现
3.6.1 组合逻辑电路设计
3.6.2 时序逻辑电路设计
3.7 Active_VHDL上机实践
3.7.1 VHDL数字电路的文本描述、编译与仿真上机实验
3.7.2 交通灯控制器
3.7.3 基于CPLD实现交通灯控制器
3.8 交通灯控制器开发实例
3.8.1 设计规范和步骤
3.8.2 设计描述
3.8.3 VHDL描述
3.8.4 验证方案
3.8.5 把TLC和TLC_Test配置在一起
3.8.6 预定义数据类型BIT
3.8.7 用新的数据类型改写成TLC的电路描述
3.8.8 其他综合调试工作
第4章 硬件描述语言Verilog HDL
4.1 Verilog HDL和VHDL的比较
4.2 Verilog HDL简介
4.2.1 Verilog HDL的特点
4.2.2 Verilog HDL模块组成单元
4.2.3 Verilog-2001标准加入的内容
4.3 Verilog HDL的词法
4.3.1 空白符和注释
4.3.2 常数
4.3.3 字符串
4.3.4 关键词
4.3.5 标识符
4.3.6 操作符
4.3.7 数据类型
4.4 VerilogHDL的语句
4.4.1 声明类语句
4.4.2 赋值语句
4.4.3 条件语句
4.4.4 循环语句
4.4.5 语句的顺序执行与并行执行
4.5 不同抽象级别的Verilog HDL模型
4.5.1 Verilog HDL的门级描述
4.5.2 Verilog HDL的行为级描述
4.5.3 用结构描述实现更大的电路系统
4.6 浮点处理单元的Verilog HDL设计
4.6.1 浮点处理单元简介
4.6.2 功能模块的分析
4.6.3 FPU内部四级流水线的实现
第5章 数字集成电路的前端设计
5.1 高层次建模
5.1.1 SystemC简介
5.1.2 芯片快速成型实现流程
5.1.3 RSA运算的SystemC实现
5.1.4 64位MIPS流水线系统级建模
5.2 前端设计常用软件介绍
5.2.1 工具软件版本配套问题
5.2.2 事务级模型TLM
5.2.3 QuartusⅡ
5.2.4 ModelSim
5.2.5 Synplify
5.2.6 MATLAB、Debussy与ModelSim协同仿真
5.3 8位RISC微处理器的前端设计
5.3.1 8位RISC微处理器
5.3.2 8位RISC微处理器的结构
5.3.3 8位RISC微处理器的前端设计
5.4 VFP-A及其寄存器的前端设计
5.4.1 VFP-A设计及验证
5.4.2 寄存器详细设计
5.4.3 寄存器堆
5.5 ALU的前端设计
5.5.1 ALU简介
5.5.2 ALU内部模块
5.5.3 ALU接口信号
5.5.4 ALU指令列表
5.5.5 ALU的实现
第6章 数字集成电路的FPGA设计
6.1 FPGA简介
6.1.1 面向20nm的FPGA
6.1.2 FPGA和ASIC设计的区别
6.1.3 FPGA与CPLD的区别
6.2 PCB板级系统项目分析
6.2.1 印刷电路板简介
6.2.2 PCB设计软件Protel
6.2.3 PCB的项目管理
6.2.4 高速PCB设计规则
6.3 入门级开发板的设计实例
6.3.1 MAX7000S开发板的设计
6.3.2 下载和配置方式
6.3.3 X2S200开发板的设计简介
6.3.4 EP3C16E144开发板设计
6.4 Virtex开发板的设计
6.4.1 Virtex FPGA开发板简介
6.4.2 Virtex开发板调试流程
6.5 Virtex-6双子星开发板的设计
6.5.1 双子星PCB级的设计
6.5.2 PCB的信号完整性考虑
6.5.3 互联接口的设计
6.5.4 双子星布线及算法
第7章 数字集成电路的后端设计
7.1 自底向上的后端设计流程
7.1.1 常用的数字集成电路后端设计流程
7.1.2 数字集成电路后端设计的内容
7.2 库器件仿真与建库
7.2.1 建库及库信息
7.2.2 CMOS基本器件设计
7.2.3 电路仿真
7.3 版图设计基础
7.3.1 版图设计方法简介
7.3.2 版图设计规则
7.4 版图生成、验证
7.4.1 DataPath设计
7.4.2 版图输入流程
7.4.3 MUX2的版图编辑步骤
7.4.4 Diva流程
7.4.5 Dracula流程
7.4.6 参数提取反标
7.4.7 门级时序分析
7.4.8 晶体管级时序分析
7.5 TannerResearch Tools组成与功能
7.5.1 安装并熟悉L-edit pro
7.5.2 安装DOS版L-edit 5.0
7.5.3 版图编辑实践
7.5.4 读CMOSLIB.TDB的方法
7.5.5 L-edit模块介绍
7.5.6 L-edit主菜单使用导引
7.5.7 DRC文件实例
第8章 数字集成电路的可靠性设计
8.1 可靠性设计的要求
8.1.1 可靠性简介
8.1.2 可靠性设计原则及实施规范
8.1.3 数字集成电路的可靠性指标
8.1.4 数字集成电路可靠性设计的基本内容
8.1.5 可靠性设计技术
8.1.6 降额标准
8.1.7 信号完整性
8.2 空间辐照环境下的FPGA可靠性设计技术
8.2.1 单粒子效应
8.2.2 Xilinx的三模冗余
8.2.3 抗辐射加固SRAM设计
8.3 测试向量的生成
8.3.1 测试的基本概念
8.3.2 故障仿真
8.3.3 测试生成的过程
8.3.4 测试流程
8.4 可测试性设计
8.4.1 可测试性设计初步
8.4.2 可测试性设计与结构测试
8.4.3 软硬件系统可测试性设计
8.4.4 包含嵌入式模块的可测试性设计
8.5 数字集成电路的测试与物理仿真
8.5.1 物理仿真的方法
8.5.2 芯片的FPGA物理仿真方法
8.5.3 混合的物理仿真
附录
附录1 Synopsys推荐设计流程
附录2 VHDL上机作业模板
附录3 可靠性设计分析流程示例
参考文献