《EDA技术实用教程 VHDL版 第6版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:潘松,黄继业编著
  • 出 版 社:科学出版社
  • 出版年份:2018
  • ISBN:9787030579096
  • 页数:384 页
图书介绍:全书包括EDA的基本知识、常用EDA工具的使用方法和目标器件的结构原理、以向导形式和实例为主的方法介绍的多种不同的设计输入方法、对VHDL的设计优化以及基于EDA技术的典型设计项目。各章都安排了习题和针对性较强的实验与设计。书中列举的大部分VHDL设计实例和实验示例实现的EDA工具平台是QuartusII,硬件平台是Cyclone4系列FPGA,并在EDA实验系统上通过了硬件测试。

第1章 EDA技术概述 1

1.1 EDA技术及其发展 1

1.2 EDA技术实现目标 3

1.3 硬件描述语言 4

1.4 HDL综合 6

1.5 自顶向下的设计技术 8

1.6 EDA技术的优势 10

1.7 EDA设计流程 11

1.7.1 设计输入(原理图/HDL文本编辑) 12

1.7.2 综合 13

1.7.3 适配 13

1.7.4 时序仿真与功能仿真、静态时序分析 14

1.7.5 编程下载 15

1.7.6 硬件测试 15

1.8 ASIC及其设计流程 15

1.8.1 ASIC设计简介 15

1.8.2 ASIC设计一般流程简述 17

1.9 常用EDA工具 18

1.9.1 设计输入编辑器 18

1.9.2 HDL综合器 19

1.9.3 仿真器与时序分析器 20

1.9.4 适配器 21

1.9.5 下载器 21

1.10 Quartus概述 21

1.11 IP核 23

1.12 EDA技术发展趋势管窥 24

习题 26

第2章 FPGA与CPLD的结构原理 27

2.1 PLD概述 27

2.1.1 PLD的发展历程 27

2.1.2 PLD分类 28

2.2 简单PLD结构原理 29

2.2.1 逻辑元件符号表示 29

2.2.2 PROM结构原理 30

2.2.3 PLA结构原理 32

2.2.4 PAL结构原理 32

2.2.5 GAL结构原理 34

2.3 CPLD的结构原理 36

2.4 FPGA的结构原理 39

2.4.1 查找表逻辑结构 39

2.4.2 Cyclone 4E/10LP系列器件的结构 39

2.4.3 Cyclone 10GX系列器件的结构 44

2.4.4 内嵌Flash的FPGA器件 44

2.5 硬件测试 44

2.5.1 内部逻辑测试 44

2.5.2 JTAG边界扫描 45

2.6 PLD产品概述 46

2.6.1 Intel(原Altera)公司的PLD器件 46

2.6.2 Lattice公司的PLD器件 49

2.6.3 Xilinx公司的PLD器件 49

2.6.4 MicroSemi(原Actel)公司的PLD器件 50

2.6.5 Intel的FPGA配置方式与配置器件 50

2.6.6 国产FPGA器件 50

2.7 CPLD/FPGA的编程与配置 51

2.7.1 CPLD在系统编程 52

2.7.2 FPGA配置方式 52

2.7.3 FPGA专用配置器件 53

2.7.4 使用单片机配置FPGA 54

习题 55

第3章 组合电路的VHDL设计 56

3.1 多路选择器的VHDL描述 56

3.2 半加器的VHDL描述 60

3.3 4选1多路选择器的VHDL描述 64

3.3.1 基于CASE语句的4选1多路选择器表述 65

3.3.2 CASE语句 66

3.3.3 IEEE库预定义标准逻辑位与矢量 68

3.3.4 其他预定义标准数据类型 68

3.3.5 信号定义和数据对象 70

3.3.6 并置操作符& 70

3.3.7 4选1多路选择器的VHDL不同描述方式 71

3.4 全加器及其VHDL表述 72

3.4.1 全加器设计及例化语句应用 73

3.4.2 VHDL例化语句 74

3.4.3 8位加法器设计及算术操作符应用 76

3.5 乘法器的VHDL表述 77

3.5.1 统计位矢中含‘1’个数的电路模块设计 78

3.5.2 FOR LOOP循环语句用法 79

3.5.3 移位相加型乘法器的VHDL表述方法 80

3.5.4 GENERIC参数定义语句 80

3.5.5 整数数据类型 81

3.5.6 省略赋值操作符 82

3.5.7 移位操作符 83

3.5.8 各类运算操作对数据类型的要求 84

3.5.9 数据类型转换函数 87

3.5.10 GENERIC参数传递映射语句 91

习题 92

第4章 时序仿真与硬件实现 95

4.1 VHDL程序输入和编译 95

4.1.1 编辑和输入设计文件 95

4.1.2 创建工程 96

4.1.3 全程编译前约束项目设置 98

4.1.4 全程综合与编译 99

4.1.5 RTL图观察器应用 101

4.2 仿真测试 101

4.3 引脚锁定与硬件测试 103

4.3.1 引脚锁定 104

4.3.2 编译文件下载 105

4.3.3 JTAG间接编程模式 106

4.3.4 USB-Blaster驱动程序安装方法 108

4.4 电路原理图设计流程 108

4.5 HDL版本设置及Analysis & Synthesis功能 111

4.6 利用属性表述实现引脚锁定 111

4.7 keep属性应用 112

4.8 SignalProbe使用方法 113

习题 115

实验与设计 116

4-1 多路选择器设计实验 116

4-2 8位加法器设计实验 116

4-3 8位硬件乘法器设计实验 116

4-4 十六进制7段数码显示译码器设计 117

第5章 时序电路的VHDL设计 119

5.1 基本时序元件的VHDL表述 119

5.1.1 D触发器的VHDL表述 119

5.1.2 含异步复位和时钟使能的D触发器的VHDL表述 122

5.1.3 含同步复位控制的D触发器的VHDL表述 123

5.1.4 基本锁存器的VHDL表述 124

5.1.5 含清0控制的锁存器的VHDL表述 126

5.1.6 VHDL实现时序电路的不同表述 127

5.1.7 双边沿触发时序电路设计讨论 128

5.2 计数器的VHDL设计 129

5.2.1 4位二进制加法计数器设计 129

5.2.2 计数器更常用的VHDL表达方式 130

5.2.3 实用计数器的VHDL设计 131

5.3 移位寄存器的VHDL设计 135

5.4 属性描述与定义语句 136

5.5 时序电路硬件设计与仿真示例 139

5.5.1 编辑电路、创建工程和仿真测试 139

5.5.2 FPGA硬件测试 139

5.6 SignalTap II的使用方法 140

5.7 编辑SignalTap II的触发信号 145

习题 146

实验与设计 147

5-1 高速硬件除法器设计 147

5-2 移位相加型8位硬件乘法器设计 147

5-3 半整数与奇数分频器设计 148

5-4 不同类型的移位寄存器设计实验 150

5-5 计数器设计实验 150

5-6 串行静态显示控制电路设计 151

5-7 VGA彩条信号显示控制电路设计 152

5-8 基于VHDL代码的频率计设计 156

第6章 宏功能模块应用及相关语法 157

6.1 计数器LPM模块调用示例 157

6.1.1 计数器模块文本的调用 157

6.1.2 LPM计数器代码与参数传递语句 158

6.1.3 创建工程与仿真测试 160

6.2 利用属性控制乘法器的构建 161

6.3 LPM随机存储器的设置和调用 162

6.3.1 存储器初始化文件 162

6.3.2 LPM RAM的设置和调用 164

6.3.3 仿真测试RAM宏模块 166

6.3.4 VHDL的存储器描述及相关属性 166

6.3.5 数据类型定义语句 167

6.3.6 存储器配置文件属性定义和结构设置 171

6.4 LPM ROM的定制和使用示例 172

6.4.1 简易正弦信号发生器设计 173

6.4.2 正弦信号发生器硬件实现和测试 174

6.5 在系统存储器数据读写编辑器应用 175

6.6 LPM嵌入式锁相环调用 177

6.6.1 建立嵌入式锁相环元件 177

6.6.2 测试锁相环 180

6.7 In-System Sources and Probes Editor使用方法 180

6.8 NCO核数控振荡器使用方法 182

6.9 FIR核使用方法 185

6.10 DDS实现原理与应用 186

6.10.1 DDS原理 186

6.10.2 DDS信号发生器设计示例 188

习题 189

实验与设计 190

6-1 查表式硬件运算器设计 190

6-2 正弦信号发生器设计 190

6-3 DDS正弦信号发生器设计 190

6-4 简易数据采集系统设计 191

6-5 移相信号发生器设计 191

6-6 VGA简单图像显示控制模块设计 192

第7章 MCU与FPGA片上系统开发 194

7.1 FPGA扩展MCU开发技术 194

7.1.1 FPGA扩展方案及其系统设计技术 195

7.1.2 基于单片机IP软核的SOC设计方案 198

7.2 基于单片机核的FPGA片上系统设计 200

实验与设计 204

7-1 脉宽/占空比/等精度频率多功能测试仪设计 204

第8章 VHDL深入 210

8.1 数据对象 210

8.1.1 常数 210

8.1.2 变量 211

8.1.3 信号 212

8.1.4 进程中的信号赋值与变量赋值 213

8.2 含高阻输出的电路设计 218

8.2.1 三态门设计 219

8.2.2 双向端口的设计方法 219

8.2.3 三态总线电路设计 221

8.3 顺序语句归纳 223

8.3.1 进程语句格式 223

8.3.2 进程结构组成 223

8.3.3 进程要点 224

8.4 并行赋值语句讨论 225

8.5 IF语句概述 226

8.6 仿真延时 228

8.6.1 固有延时 228

8.6.2 传输延时 229

8.6.3 仿真δ 229

8.7 VHDL的描述风格 230

8.7.1 RTL描述 230

8.7.2 行为描述 231

8.7.3 数据流描述 231

8.7.4 结构描述 232

8.8 VHDL Test Bench仿真 232

8.8.1 VHDL仿真流程 233

8.8.2 VHDL Test Bench仿真 235

8.8.3 VHDL Test Bench仿真实例 237

习题 242

实验与设计 242

8-1 4×4阵列键盘键信号检测电路设计 242

8-2 乐曲硬件演奏电路设计 243

8-3 PS2键盘控制模型电子琴电路设计 246

8-4 直流电机综合测控系统设计 248

8-5 AM幅度调制信号发生器设计 250

8-6 在ModelSim上对VHDL Test Bench进行仿真 252

第9章 VHDL设计优化 253

9.1 资源优化 253

9.1.1 资源共享 253

9.1.2 逻辑优化 255

9.1.3 串行化 256

9.2 速度优化 257

9.2.1 流水线设计 258

9.2.2 寄存器配平 260

9.2.3 关键路径法 261

9.2.4 乒乓操作法 261

9.2.5 加法树法 262

习题 262

实验与设计 264

9-1 采用流水线技术设计高速数字相关器 264

9-2 线性反馈移位寄存器设计 265

9-3 SPWM脉宽调制控制系统设计 265

9-4 数字彩色液晶显示控制电路设计 268

第10章 VHDL有限状态机设计 269

10.1 VHDL状态机的一般形式 269

10.1.1 状态机的特点与优势 269

10.1.2 状态机的一般结构 270

10.1.3 状态机设计初始约束与表述 274

10.2 Moore型有限状态机的设计 274

10.2.1 多进程结构状态机 275

10.2.2 序列检测器之状态机设计 279

10.3 Mealy型有限状态机的设计 280

10.4 状态编码 284

10.4.1 直接输出型编码 284

10.4.2 顺序编码 286

10.4.3 一位热码状态编码 286

10.4.4 状态编码设置 287

10.5 安全状态机设计 288

10.5.1 程序直接导引法 289

10.5.2 状态编码监测法 289

10.5.3 借助EDA优化控制工具生成安全状态机 290

10.6 硬件数字技术排除毛刺 290

10.6.1 延时方式 291

10.6.2 逻辑方式去毛刺 292

10.6.3 定时方式去毛刺 293

习题 294

实验与设计 294

10-1 序列检测器设计 294

10-2 0809采样控制电路实现与硬件验证 295

10-3 数据采集模块设计 296

10-4 五功能智能逻辑笔设计 297

10-5 通用异步收发器UART设计 298

10-6 硬件消抖动电路设计 300

第11章 16位CPU创新设计 301

11.1 KX9016的结构与特色 301

11.2 KX9016基本硬件系统设计 304

11.2.1 单步节拍发生模块 304

11.2.2 运算器 304

11.2.3 比较器 305

11.2.4 基本寄存器与寄存器阵列组 306

11.2.5 移位器 310

11.2.6 程序与数据存储器 311

11.3 KX9016v 1指令系统设计 311

11.3.1 指令格式 312

11.3.2 指令操作码 313

11.3.3 汇编程序设计实例 314

11.3.4 KX9016vl控制器设计 315

11.3.5 指令设计实例详解 320

11.4 KX9016的时序仿真与硬件测试 321

11.4.1 仿真与指令执行波形时序分析 321

11.4.2 CPU工作情况的硬件测试 323

11.5 KX9016应用程序设计实例和系统优化 325

11.5.1 乘法算法及其硬件实现 325

11.5.2 除法算法及其硬件实现 326

11.5.3 KX9016v 1的硬件系统优化 327

习题 329

实验与设计 329

11-1 16位CPU验证性设计综合实验 329

11-2 新指令设计及程序测试实验 329

11-3 16位CPU的优化设计与创新 330

11-4 CPU创新设计竞赛 331

第12章 VHDL知识拾遗 333

12.1 VHDL库 333

12.1.1 库的种类 333

12.1.2 库的用法 334

12.2 VHDL程序包 336

12.3 VHDL文字规则补充说明 338

12.3.1 数字 338

12.3.2 字符串 339

12.3.3 标识符及其表述规则 340

12.3.4 下标名 340

12.4 子程序 341

12.4.1 函数 341

12.4.2 重载函数 343

12.4.3 决断函数 346

12.4.4 过程 346

12.4.5 重载过程 348

12.5 数据类型 349

12.6 VHDL操作符补充说明 351

12.6.1 逻辑操作符 351

12.6.2 关系操作符 352

12.6.3 算术操作符 352

12.7 VHDL基本语句补充说明 354

12.7.1 NEXT语句 354

12.7.2 EXIT语句 355

12.7.3 WAIT语句 356

12.7.4 子程序调用语句 358

12.7.5 RETURN语句 361

12.8 VHDL并行语句补充说明 362

12.8.1 并行信号赋值语句 362

12.8.2 块语句 362

12.8.3 并行过程调用语句 364

12.8.4 生成语句 365

12.8.5 REPORT语句 367

12.8.6 断言语句 368

习题 370

附录 EDA开发系统及相关软硬件 371

参考文献 384