图书目录

第1章概论1

1.1电子设计自动化技术发展的回顾1

1.2数字系统自动设计的流程3

1.3从EDA的角度观察VLSI5

1.3.1VLSI的分类6

1.3.2芯片布图模式7

1.3.3可编程逻辑器件10

1.4EDA的主要领域15

1.4.1硬件描述语言15

1.4.2模拟验证20

1.4.3综合技术21

1.4.4数字系统形式验证22

1.4.5测试诊断22

1.4.6版图设计23

1.4.7数据库24

1.5集成电路快速发展对设计自动化的挑战与机遇25

本章小结27

习题27

参考文献28

第2章硬件描述语言30

2.1硬件描述30

2.1.1电路模型的描述30

2.1.2硬件描述语言33

2.2VHDL的基本结构35

2.2.1VHDL模块模型35

2.2.2对象及其数据类型37

2.2.3表达式47

2.2.4子程序——过程与函数52

2.2.5程序包与设计库56

2.3VHDL层次化结构模型60

2.3.1实体声明60

2.3.2元件例化62

2.3.3配置指定64

2.4VHDL的顺序行为描述70

2.4.1进程71

2.4.2顺序信号赋值语句74

2.4.3变量赋值语句75

2.4.4条件控制语句76

2.4.5循环控制语句77

2.4.6顺序断言语句79

2.4.7顺序过程调用80

2.4.8返回语句81

2.4.9空语句81

目录数字系统设计自动化2.5VHDL的并行行为描述82

2.5.1并行信号赋值语句82

2.5.2并行断言语句85

2.5.3并行过程调用语句86

2.5.4决断信号86

2.6VHDL行为模型的执行过程89

2.6.1事项处理与事件89

2.6.2信号赋值中的延迟处理90

2.6.3模拟时钟与模拟周期94

2.6.4实例95

2.7VHDL的复合并行语句98

2.7.1block语句98

2.7.2生成语句100

2.8大型电路设计举例102

2.8.1交通灯控制器102

2.8.2用有限自动机描述系统行为103

2.9Verilog语言简介109

2.9.1Verilog基本组成109

2.9.2Verilog结构描述111

2.9.3对象类型与常数112

2.9.4基本行为模型——进程112

2.9.5持续赋值与过程赋值114

2.9.6控制语句115

2.9.7任务与函数116

2.9.8顺序语句块和并行语句块118

2.9.9混合描述举例120

本章小结123

习题124

参考文献133

第3章模拟验证135

3.1模拟验证概述135

3.1.1验证在设计过程中的作用135

3.1.2模拟系统的基本组成137

3.2逻辑模拟139

3.2.1逻辑模拟内部电路模型139

3.2.2事件驱动模拟算法144

3.2.3三值模拟与竞争冒险检测154

3.3VHDL模拟157

3.3.1VHDL模拟系统的组成157

3.3.2VHDL内部模型160

3.3.3VHDL模拟算法164

3.4硬件验证语言169

3.4.1硬件验证语言出现的背景169

3.4.2用硬件验证语言实现模拟验证的方法170

3.4.3Jeda语言的运行机制173

3.4.4Jeda语法特点175

3.4.5Jeda验证实例179

本章小结188

习题189

参考文献192

第4章逻辑综合193

4.1逻辑综合的内容和方法193

4.2布尔函数的立方体表示法197

4.3立方体运算199

4.3.1基本概念199

4.3.2相交和包含判断的具体实现207

4.3.3锐积运算209

4.3.4星积运算216

4.4多输出函数与单输出函数的阵列变换218

4.4.1单输出函数的表示形式219

4.4.2阵列合并220

4.4.3阵列分离220

4.5单输出函数质立方体的计算221

4.5.1锐积求质立方体221

4.5.2迭代星积求质立方体221

4.5.3广义星积法求质立方体223

4.6单输出函数的自动综合226

4.6.1选拔法求最小化覆盖227

4.6.2收缩算法求无冗余覆盖231

4.7多输出函数的自动综合232

4.7.1收缩算法求无冗余覆盖232

4.7.2选拔法求最小化覆盖235

4.8组合逻辑电路的变换237

4.8.1多级逻辑电路转化为二级逻辑电路237

4.8.2二级逻辑电路转化为多级逻辑电路240

4.9时序逻辑电路的自动综合244

4.9.1时序电路的数学模型245

4.9.2完全规定时序机状态最小化246

4.9.3不完全规定时序机的状态化简250

4.9.4时序机的状态分配255

本章小结257

习题258

参考文献263

第5章高层次综合265

5.1高层次综合概述265

5.1.1高层次综合的概念265

5.1.2高层次综合的优点266

5.2高层次综合的内容267

5.2.1编译与转换267

5.2.2调度与分配272

5.2.3控制器综合273

5.2.4结果生成与反编译274

5.2.5高层次综合中的设计空间搜索276

5.3调度技术276

5.3.1调度的基本问题276

5.3.2调度算法的分类279

5.3.3ASAP调度算法与ALAP调度算法281

5.3.4列表调度算法285

5.3.5调度中控制结构的处理287

5.3.6调度中的功能单元库297

5.4分配技术299

5.4.1分配的基本问题299

5.4.2分配算法301

5.5高层次综合中的优化技术309

5.5.1具有分支控制结构时操作的移动309

5.5.2控制数据流图的结构变换311

本章小结316

习题317

参考文献322

第6章形式验证325

6.1形式验证概述325

6.1.1形式验证的意义325

6.1.2形式验证的基本方法327

6.2定理证明330

6.2.1形式逻辑330

6.2.2高阶逻辑定理证明系统HOL334

6.2.3用HOL验证硬件电路338

6.3模型检验340

6.3.1模型检验概述340

6.3.2系统建模: Kripke结构342

6.3.3性质表示: 时态逻辑344

6.3.4显式模型检验348

6.4符号模型检验352

6.4.1时态逻辑的固定点特性353

6.4.2布尔函数的表示方法——二叉判别图356

6.4.3用BDD隐式表示有限状态机360

6.4.4CTL符号模型检验363

6.5定界模型检验365

6.5.1可满足性问题365

6.5.2时态逻辑的定界语义368

6.5.3定界模型检验问题到SAT问题的转化369

6.6组合电路的等价性检验372

6.7时序电路的等价性检验375

6.7.1基于显式状态遍历的等价性检验376

6.7.2基于BDD隐式状态遍历的等价性检验377

本章小结379

习题381

参考文献384

第7章测试与可测性设计386

7.1测试的概念386

7.1.1测试与故障诊断386

7.1.2故障模型387

7.1.3测试集388

7.1.4等价故障390

7.2路径敏化法测试码生成394

7.2.1单路径敏化法395

7.2.2D算法397

7.2.3路径敏化算法的改进405

7.3布尔差分法409

7.4多故障的测试码生成415

7.4.1多故障模型的D算法415

7.4.2高阶布尔差分法416

7.5时序电路的测试码生成419

7.5.1时序电路的迭代展开419

7.5.2扩展D算法421

7.6故障模拟424

7.6.1并行故障模拟424

7.6.2演绎故障模拟425

7.6.3同时故障模拟427

7.7可测性设计428

7.7.1可测性分析428

7.7.2设置观察点和控制点434

7.7.3组合电路的可测性电路结构435

7.7.4扫描方式电路设计438

7.7.5内建自测试设计440

本章小结442

习题443

参考文献446

第8章面向深亚微米工艺的EDA技术448

8.1深亚微米工艺对集成电路设计的影响448

8.2综合与布图结合448

8.2.1布图过程中减小时延的措施449

8.2.2综合过程中减小时延的措施450

8.2.3布局后再局部逻辑重构的综合系统450

8.2.4可替换线算法451

8.2.5基于图匹配的等价逻辑块替换算法455

8.3面向SOC的设计技术458

8.3.1系统描述459

8.3.2软硬件划分461

8.3.3软硬件协同设计与验证463

8.3.4基于平台的软硬件协同设计与验证464

本章小结466

习题466

参考文献467

第9章用EDA工具设计集成电路468

9.1MAX+plus Ⅱ的使用方法469

9.1.1安装MAX+plus Ⅱ469

9.1.2设计流程471

9.1.3设计的原理图描述473

9.1.4设计的VHDL描述478

9.1.5编译482

9.1.6模拟485

9.1.7时序分析器488

9.1.8对目标器件编程489

9.1.9引脚分配490

9.1.10报告文件496

9.2设计实例和设计技巧497

9.2.1VHDL可综合子集497

9.2.2运算符重载498

9.2.3寄存器的行为描述500

9.2.4组合逻辑与时序逻辑502

9.2.5有限状态机的状态编码504

9.2.6交通灯控制器505

本章小结510

习题510

参考文献526

附录AVHDL预定义环境527

A.1VHDL保留字527

A.2属性528

A.2.1类型和子类型的属性528

A.2.2数组的属性530

A.2.3其值为信号的属性532

A.2.4其值与信号有关的属性532

A.2.5其值与实体有关的属性534

A.3程序包536

A.3.1标准程序包STANDARD536

A.3.2文本输入输出程序包TEXTIO544

A.3.3IEEE多值逻辑系统标准包std_logic_1164546

A.3.4std_logic_unsigned549

A.3.5std_logic_signed551

附录B英汉名词对照表553