《数字系统自动设计实用教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:刘明业主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2004
  • ISBN:7040146118
  • 页数:369 页
图书介绍:本书主要讨论应用计算机设计数字系统(计算机/ASIC)的有关理论和算法。全书共分十一章。第一章数字系统自动设计基础,讨论设计描述的层次、高级综合的内容及其综合目标的体系结构模型等问题。第二、三、四章详述了VHDL语言语法规则,及其编译方法与模拟技术。第五、六章讨论自动综合理论与时序逻辑综合的基本问题。第七、八章讨论数据流综合中的操作调度与资源分配问题的有关理论与算法。第九章工艺映射技术,主要讨论基于规则的多层次多目标工艺映射及面向FPGA的工艺实现。第十章逻辑图自动生成技术,讨论由VHDL语言结构描述或连线表自动生成逻辑图的划分、布局及布线等问题。第十一章设计举例,阐明VHDL描述所应遵循的规则和描述方式。本书的撰写以作者们所研发的Talent高层次自动设计系统为背景,较全面而深入的介绍了EDA技术的理论和实践。编写中力求做到循序渐进,深入浅出。本教材的读者对象是高等学校计算机软、硬件专业,以及信息处理、自动控制、电子工程和通信技术等专业的高年级本科生和研究生。也可供从事EDA工具研发和ASIC设计的教师和技术人员参考。

第一章 数字系统自动设计基础 1

1.1 计算机自动设计和层次式描述 1

1.2 高级综合的基本问题 4

1.3 综合目标的体系结构模型 9

1.3.1 设计风格(styles)与目标的体系结构 9

1.3.2 组合逻辑模型 10

1.3.3 有限状态机模型 12

1.3.4 带有数据通道的有限状态机模型 13

1.3.5 系统的体系结构模型 13

1.3.6 综合中的工程问题 15

1.4 高级综合的全过程 17

1.5 行为级综合及混合级模拟系统Talent 19

复习思考题 20

2.2 设计实体 22

2.1 VHDL语言的意义 22

第二章 VHDL语言导论 22

2.3 VHDL语言的数据结构 23

2.3.1 VHDL语言标识符 24

2.3.2 VHDL语言基本数据类型 24

2.3.3 VHDL语言复合数据类型 26

2.3.4 VHDL语言存取类型及文件类型 27

2.3.5 VHDL语言子类型 27

2.3.6 VHDL语言预定义类型 28

2.3.7 VHDL语言对象 28

2.3.8 VHDL语言属性 30

2.3.9 VHDL语言操作符和表达式 31

2.4 实体说明 33

2.5 结构体 35

2.6 并发语句 35

2.6.1 元件例示语句 35

2.6.2 块语句 37

2.6.3 并发信号赋值语句 38

2.6.4 进程语句 39

2.6.5 生成语句 40

2.6.6 并发断言的语句 41

2.6.7 并发过程调用语句 41

2.7 顺序语句 42

2.7.1 wait语句 42

2.7.2 变量赋值语句 42

2.7.3 顺序信号赋值语句 43

2.7.4 if语句 43

2.7.5 case语句 44

2.7.6 loop语句 45

2.7.7 next、exit语句 46

2.7.8 顺序断言语句 46

2.8 VHDL语言的信号赋值延迟 47

2.8.1 信号赋值的延迟性 47

2.7.9 过程调用语句 47

2.7.10 return、null、report语句 47

2.8.2 传输延迟和惯性延迟 48

2.8.3 delta延迟 49

2.9 VHDL语言的属性 51

2.9.1 VHDL语言的重要预定义属性 51

2.9.2 自定义属性及应用 52

2.10 VHDL语言的子程序 53

2.10.1 过程子程序 54

2.10.2 函数子程序 55

2.10.3 子程序重载 56

2.11 分辨函数与分辨信号 57

2.12 类属 58

2.13.1 VHDL语言的包 59

2.13 VHDL语言的包和库 59

2.13.2 VHDL语言的库 64

2.14 元件与设计实体的组装 65

2.15 VHDL语言设计描述方法 66

2.15.1 VHDL语言设计描述的一般方法 66

2.15.2 测试台描述的一般方法 70

复习思考题 72

第三章 VHDL语言编译方法 76

3.1 引言 76

3.2 VHDL编译器的实现原理 76

3.2.1 词法分析器的设计与实现 76

3.2.2 语法分析模块的设计与实现 78

3.3 VHDL特有语法现象编译原理 78

3.3.1 语法产生式冲突的解决方案 78

3.3.2 重载分辨的解决方案 79

3.3.3 库的管理 81

3.3.4 静态层次的确立 83

3.4 VHDL编译器实例——Talent中的编译子系统 84

3.4.1 软件内部结构与功能 84

3.4.2 系统流程 85

3.4.3 类的派生关系 85

3.4.4 符号表管理模块的设计与实现 86

3.4.5 主要数据结构之间的关系 88

3.4.6 与主界面编译信息的交互 89

3.5 一个VHDL语言源描述的编译示例 91

3.6 编译结果的中间表示CDFG/DFG 93

复习思考题 96

4.1.1 电路级模拟 97

4.1.2 逻辑级模拟 97

第四章 模拟技术 97

4.1 不同抽象层次模拟的目的及意义 97

4.1.3 寄存器传输级模拟 98

4.1.4 系统级模拟与系统性能评估 98

4.2 模拟模型与模拟算法 99

4.2.1 VHDL模拟模型的建立 99

4.2.2 逻辑模拟算法 102

4.3 VHDL语言的模拟特性 104

4.3.1 VHDL中硬件相关结构 104

4.3.2 并发性分析 105

4.3.3 混合级描述及混合级模拟分析 106

4.4 硬件描述语言VHDL的模拟模型 106

4.5 模拟器的数据结构 108

4.5.2 事件表 109

4.5.3 驱动源结构 109

4.5.1 事务(事件) 109

4.5.4 信号结构 110

4.5.5 进程结构 110

4.5.6 语句的结构 110

4.5.7 当前活动信号表 111

4.5.8 当前活动进程表 111

4.5.9 挂起进程队列 111

4.6 模拟器的组成及实现 111

4.7 Talent模拟器的调试与波形观察 115

4.8 模拟新技术 118

4.8.1 事件驱动算法的改进 118

4.8.2 基于时钟周期的算法 120

4.8.3 编译型模拟实现技术 121

4.9 模拟举例 123

复习思考题 124

5.1 自动逻辑综合的内容及方法 125

第五章 自动逻辑综合 125

5.1.1 工艺和设计风格 126

5.1.2 优化准则 126

5.1.3 综合策略 126

5.1.4 与高级综合的接口及库映射 126

5.2 表示逻辑函数的多维体列阵 127

5.2.1 逻辑函数的定义 127

5.2.2 多维体概念的建立 129

5.2.3 多维体的图形表示 130

5.2.4 函数的初始覆盖 132

5.3 多维体复形及质蕴涵项 132

5.3.1 多维体复形的定义 132

5.3.2 函数的质蕴涵项 134

5.4 多维体之间的蕴涵关系 134

5.4.1 蕴涵算符?及函数阵列的吸收 134

5.4.2 多维体蕴涵的0维体 136

5.4.3 由0维体构成多维体 137

5.5 多维体的并集和交集 139

5.5.1 并集运算 139

5.5.2 交集运算 140

5.6 多维体的相容运算 142

5.7 多维体的锐积运算 143

5.7.1 锐积运算的定义 144

5.7.2 多维体集合的锐积运算 145

5.8 两级逻辑网络综合的某些问题 147

5.8.1 函数复形的覆盖及最小覆盖 147

5.8.2 两级逻辑网络的造价函数 148

5.8.3 质蕴涵项与最小造价覆盖、无冗余覆盖 149

5.8.4 两级逻辑网络的实现方式 149

5.9.2 改进的Quine-McCluskey方法 152

5.9 质蕴涵项的计算 152

5.9.1 Quine-McCluskey方法 152

5.10 求解覆盖问题的精选法 155

5.10.1 选取极值项 156

5.10.2 按权优选 157

5.10.3 分支与回溯的实现 159

5.11 寻求接近最小覆盖的参数选择法 161

5.11.1 基本参数的定义 162

5.11.2 参数选择法 163

5.11.3 化简多输出函数的参数选择法 167

5.11.4 算法评价 173

复习思考题 173

第六章 时序逻辑自动综合 176

6.1 时序逻辑综合的基本概念 176

6.2 实现有限状态机自动综合的几个问题 177

6.3 控制流综合 178

复习思考题 188

第七章 操作调度 189

7.1 数据流综合的调度与分配 189

7.2 调度问题的定义和优化目标 189

7.3 时间约束下的调度算法 193

7.4 强制定向的启发式调度方法 197

7.5 迭代求精法 201

7.6 造价约束下的调度问题 203

7.7 表调度方法 204

7.8 静态表调度方法 207

7.9 操作调度条件的扩充 208

7.9.1 可变延迟的功能单元 208

7.9.2 多功能单元 209

7.9.4 循环结构 210

7.9.3 行为描述中的条件结构 210

复习思考题 213

第八章 硬件资源分配 215

8.1 分配问题 215

8.2 分配任务及其实现过程 216

8.2.1 分配的基本任务 216

8.2.2 相关性和分配中的顺序 217

8.3 贪婪构造法 218

8.4 团划分方法 219

8.5 左边沿算法 223

8.6 重复改进法 224

复习思考题 225

9.1 工艺映射概述 227

9.1.1 引言 227

第九章 工艺映射技术 227

9.1.2 工艺映射的处理时机 228

9.1.3 工艺映射算法 229

9.1.4 面向FPGA的工艺映射技术 232

9.2 基于规则的多层次多目标工艺映射 234

9.2.1 高级综合中的工艺映射 234

9.2.2 基于知识(规则)的工艺映射 236

9.2.3 结合算法的工艺映射 243

9.2.4 多目标、多层次工艺映射策略 245

9.2.5 工艺映射中的各种库 247

9.2.6 工艺映射生成的各种文件 248

9.3 基于规则面向FPGA的工艺映射 252

9.3.1 面向FPGA工艺映射的原因 252

9.3.2 Talent系统与FPGA开发系统的接口 253

9.3.3 面向FPGA工艺映射的过程 253

9.4 工艺映射实例分析 254

9.3.4 库的设计 254

复习思考题 257

第十章 逻辑图自动生成技术 259

10.1 逻辑图自动生成系统概述 259

10.2 逻辑图的自动划分 262

10.2.1 划分问题的数学描述 262

10.2.2 划分算法的研究 263

10.3 逻辑图的自动布局 272

10.3.1 布局的目标函数 272

10.3.2 典型布局算法 273

10.3.3 Talent系统中逻辑图自动布局策略 274

10.4 逻辑图自动布线技术 280

10.4.1 经典算法回顾 280

10.4.2 Talent系统逻辑图自动布线技术 283

10.5.1 图形的输出 293

10.5 逻辑图的输出及图形管理 293

10.5.2 逻辑图的图形管理 294

复习思考题 298

第十一章 VHDL语言设计操作 299

11.1 模拟测试平台的描述及操作 299

11.2 高级综合及其结果的模拟验证 312

11.3 工艺映射 315

11.4 逻辑图自动生成 315

11.5 设计举例 317

复习思考题 326

附录 327

附录A VHDL语言词法元素 327

附录B VHDL语言词汇表 335

附录C 本书专用EDA词汇表 352

附录D 部分小规模集成电路国家标准与国外流行表示对照 368

参考文献 369