本书主要讲述如何将硬件描述语言应用到各个抽象级别的数字电路设计中。
这一过程分为两个步骤:
1) 用硬件描述语言建模;
2) 将模型综合成ASIC逻辑电路或者FPGA。
在讲述此过程时使用了VHDL,即VHSIC硬件描述语言(VHSIC Hardware Description Language)。该语言在1983年由美国国防部(DOD)发起创建,由IEEE进一步发展并在1987年作为“IEEE标准1076”发布。从那以后,该语言进一步得以改进并在1993年推出了一个更新的标准。从此,VHDL成为硬件描述语言的业界标准。从作者的观点来看,在所有的硬件描述语言中,它具有最容易为人所理解的模型结构,因此本书选择了VHDL语言作为基本语言。
VHDL 设计:表示和综合(原书第2版)
·目录
第1章结构化设计概念
1.1抽象层次
1.2文本表示与图形表示
1.3行为描述的种类
1.4设计过程
1.5结构设计的分解
1.6数字设计空间
习题
第2章设计工具
2.1CAD工具分类
2.1.1编辑器
2.1.2仿真程序
2.1.3检查程序和分析程序
2.1.4优化程序和综合程序
2.1.5CAD系统
2.2原理图编辑器
2.3仿真程序
2.3.1仿真周期
2.3.2仿真程序组织
2.3.3语言调度机制
2.3.4仿真效率
2.4仿真系统
2.5仿真辅助工具
2.5.1模型准备
2.5.2模型测试向量的产生
2.5.3模型调试
2.5.4解释结果
2.6仿真的应用
2.7综合工具
习题
第3章VHDL的基本特征
3.1VHDL语言的基本结构
3.1.1设计实体
3.1.2结构体(构架)
3.1.3模型测试
3.1.4块语句
3.1.5进程
3.2词法描述
3.2.1字符集
3.2.2词法元素
3.2.3分界符
3.2.4标识符
3.2.5注释
3.2.6字符文字
3.2.7字符串文字
3.2.8位串文字
3.2.9抽象文字
3.2.10十进制文字
3.2.11基数文字
3.3VHDL源文件
3.4数据类型
3.4.1数据类型分类
3.4.2标量数据类型
3.4.3复合数据类型
3.4.4存取类型
3.4.5文件类型
3.4.6类型标记
3.5数据对象
3.5.1对象的分类
3.5.2数据对象的声明
3.6语句
3.6.1赋值语句
3.6.2操作符和表达式
3.6.3顺序控制语句
3.6.4结构体声明和并发语句
3.6.5子程序
3.7VHDL的高级特征
3.7.1重载
3.7.2包
3.7.3可见性
3.7.4库
3.7.5配置
3.7.6文件I/O
3.8VHDL的形式特征
3.9VHDL93
3.9.1词汇字符集
3.9.2语法变化
3.9.3进程和信号定时及新的信号属性
3.9.4新操作符
3.9.5结构化模型的改进
3.9.6共享变量
3.9.7改进的报告能力
3.9.8通用编程特征
3.9.9文件I/O
3.9.10组
3.9.11位串文字的扩展
3.9.12对标准包的增加与修改
3.10小结
习题
第4章基本的VHDL建模方法
4.1用VHDL为延时建模
4.1.1传播延时
4.1.2延时和并发
4.1.3VHDL中的顺序语句和并发语句
4.1.4VHDL仿真程序中时间延时的实现
4.1.5信号传播的惯性延时和传输延时
4.2VHDL调度算法
4.2.1波形更新
4.2.2副作用
4.3组合逻辑和时序逻辑的建模
4.4逻辑基本部件
4.4.1组合逻辑基本部件
4.4.2时序逻辑基本部件
4.4.3模型测试:测试程序开发
习题
第5章算法级设计
5.1行为域的一般算法模型
5.1.1进程模型图
5.1.2并行到串行转换器的算法模型
5.1.3带定时的算法模型
5.1.4定时检查
5.2系统互连的表示
5.2.1综合性算法建模实例
5.3系统算法建模
5.3.1多值逻辑系统
5.3.2综合性的系统实例
5.3.3时分多路复用
习题
第6章寄存器级设计
6.1从算法到数据流描述的转换
6.2定时分析
6.3控制单元设计
6.3.1控制单元的类型
6.4终极RISC机
6.4.1单条URISC指令
6.4.2URISC的体系结构
6.4.3URISC的控制
6.4.4URISC系统
6.4.5在寄存器级的URISC设计
6.4.6URISC处理器的微码控制器
6.4.7URISC处理器的硬连线控制器
习题
第7章门级和ASIC库建模
7.1精确门级建模
7.1.1不对称定时
7.1.2负载敏感延时建模
7.1.3ASIC单元延时建模
7.1.4延时的反向标注
7.1.5VITAL:库元素的VHDL模型的
生成标准
7.2检错
7.3门级建模的多值逻辑
7.3.1MOS设计的附加值
7.3.2通用的状态/强度模型
7.3.3区间逻辑
7.3.4Vantage系统
7.3.5多值门级模型
7.3.6精确延时建模
7.4门级模型的配置声明
7.4.1缺省配置
7.4.2配置和组件库
7.5对竞争和险态建模
7.6延时控制的方法
习题
第8章基于HDL的设计技术
8.1组合逻辑电路的设计
8.1.1算法级的组合逻辑设计
8.1.2行为域的组合逻辑数据流模型设计
8.1.3门级结构域组合逻辑电路的综合
8.1.4组合逻辑电路的设计活动小结
8.2时序逻辑电路的设计
8.2.1Moore型或Mealy型的选择
8.2.2状态表的建立
8.2.3创建状态图
8.2.4转换表
8.2.5创建状态机的VHDL模型
8.2.6VHDL状态机模型的综合
8.3微程序控制单元的设计
8.3.1控制器和器件的接口
8.3.2硬连线和微程序控制单元的比较
8.3.3基本微程序控制单元
8.3.4BMCU的算法级模型
8.3.5状态机微程序控制器的设计
8.3.6微程序控制单元的普遍性和局限性
8.3.7其他的状态选择方法
8.3.8其他分支方法
习题
第9章ASIC及ASIC设计过程
9.1什么是ASIC
9.2ASIC电路技术
9.3ASIC的类型
9.3.1可编程逻辑器件
9.3.2现场可编程门阵列
9.3.3门阵列
9.3.4标准单元
9.3.5全定制芯片
9.3.6ASIC和FPGA的相对成本
9.4ASIC设计过程
9.4.1标准单元ASIC综合
9.4.2综合后仿真
9.5FPGA综合
9.5.1FPGA示例
9.5.2与ASIC设计的比较
习题
第10章综合建模
10.1行为模型的产生过程
10.1.1初始行为模型的创建
10.1.2应用域工具
10.1.3语言域建模
10.1.4建模及模型效率
10.1.5应用域和语言域建模的比较
10.2仿真和综合的语义
10.2.1模型中的延时
10.2.2数据类型
10.3为时序行为建模
10.4为组合电路综合建模
10.4.1运算电路的综合
10.4.2层次算术电路:
BCD到二进制的转换器
10.4.3层次电路的综合
10.5指定锁存及无关项
10.6三态电路
10.7共享资源
10.8展开与结构化
10.9建模风格对电路复杂性的影响
10.9.1选择单独构件的影响
10.9.2通用建模方法的影响
习题
第11章VHDL与自顶向下设计
方法的结合
11.1自顶向下设计方法学
11.2Sobel边缘检测算法
11.3系统需求级
11.3.1书面规格说明
11.3.2需求库
11.4系统定义级
11.4.1可执行规格说明
11.4.2可执行规格说明的测试包的产生
11.5结构设计
11.5.1系统级分解
11.5.2层次分解
11.5.3为层次结构模型产生测试包
的方法
11.6寄存器传输级详细设计
11.6.1寄存器传输级设计
11.6.2使用不同数据类型的组件
仿真结构模型
11.6.3寄存器传输级测试包的产生
11.7门级详细设计
11.7.1水平过滤器的门级设计
11.7.2门级电路的优化
11.7.3门级测试
11.7.4反向标注的方法
习题
第12章设计自动化的综合算法
12.1算法性综合的优点
12.2算法性综合的任务
12.2.1VHDL描述到内部格式的编译
12.2.2调度
12.2.3分配
12.2.4调度和分配的交互
12.2.5Gantt图和利用率
12.2.6从分配图创建FSMVHDL
12.3调度方法
12.3.1转换调度
12.3.2迭代/构造调度
12.3.3ASAP调度
12.3.4ALAP调度
12.3.5列表调度
12.3.6自由调度
12.4分配方法
12.4.1贪心分配法
12.4.2穷举搜索分配
12.4.3左边界算法
12.4.4分配功能部件及互连路径
12.4.5分配过程的分析
12.4.6近似最小簇划分算法
12.4.7利益制导簇划分算法
12.5高层综合的发展动态
12.6VHDL结构的自动综合
12.6.1包含选择的构件
12.6.2case语句对多路器的映射
12.6.3if...then...else语句对多路器的映射
12.6.4带下标向量引用对多路器的映射
12.6.5循环结构
12.6.6函数和过程
习题
参考文献
附带光盘简介