《EDA原理及VHDL实现 从晶体管、门电路到Xilinx Vivado的数字系统设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:何宾编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:7302446408
  • 页数:461 页
图书介绍:

第1章 数字逻辑基础 1

1.1 数字逻辑的发展史 1

1.2 开关系统 4

1.2.1 0和1的概念 5

1.2.2 开关系统的优势 5

1.2.3 晶体管作为开关 6

1.2.4 半导体物理器件 7

1.2.5 半导体逻辑电路 9

1.2.6 逻辑电路符号描述 12

1.3 半导体数字集成电路 16

1.3.1 集成电路的发展 16

1.3.2 集成电路构成 16

1.3.3 集成电路版图 17

1.4 基本逻辑门电路分析 19

1.4.1 基本逻辑门电路的描述 19

1.4.2 逻辑门电路的传输特性 23

1.4.3 基本逻辑门集成电路 28

1.4.4 不同工艺逻辑门的连接 29

1.5 逻辑代数理论 31

1.5.1 逻辑代数中运算关系 31

1.5.2 逻辑函数表达式 33

1.6 逻辑表达式的化简 36

1.6.1 使用运算律化简逻辑表达式 37

1.6.2 使用卡诺图化简逻辑表达式 40

1.6.3 不完全指定逻辑功能的化简 43

1.6.4 输入变量的卡诺图表示 45

1.7 毛刺产生及消除 51

1.8 数字码制表示和转换 53

1.8.1 数字码制表示 53

1.8.2 数字码制转换 55

1.9 组合逻辑电路 57

1.9.1 编码器 58

1.9.2 译码器 59

1.9.3 码转换器 62

1.9.4 数据选择器 63

1.9.5 数据比较器 65

1.9.6 加法器 67

1.9.7 减法器 70

1.9.8 加法器/减法器 74

1.9.9 乘法器 76

1.10 时序逻辑电路 77

1.10 .1 时序逻辑电路类型 78

1.10 .2 时序逻辑电路特点 78

1.10 .3 基本SR锁存器 80

1.10 .4 同步SR锁存器 80

1.10 .5 D锁存器 81

1.10 .6 D触发器 82

1.10 .7 其他触发器 84

1.10 .8 普通寄存器 88

1.10 .9 移位寄存器 88

1.10 .10 存储器 89

1.11 有限自动状态机 89

1.11 .1 有限自动状态机原理 90

1.11 .2 状态图表示及实现 91

1.11 .3 三位计数器 93

第2章 可编程逻辑器件工艺和结构 96

2.1 可编程逻辑器件的发展历史 96

2.2 可编程逻辑器件工艺 97

2.3 简单可编程逻辑器件结构 100

2.3.1 PROM原理及结构 100

2.3.2 PAL原理及结构 100

2.3.3 PLA原理及结构 100

2.4 CPLD原理及结构 102

2.4.1 功能块 102

2.4.2 宏单元 103

2.4.3 快速连接矩阵 104

2.4.4 输入输出块 104

2.5 FPGA原理及结构 105

2.5.1 查找表结构及功能 106

2.5.2 可配置的逻辑块 107

2.5.3 时钟资源 108

2.5.4 时钟管理模块 111

2.5.5 块存储器资源 113

2.5.6 互联资源 115

2.5.7 专用的DSP模块 116

2.5.8 输入和输出块 117

2.5.9 吉比特收发器 118

2.5.10 PCI-E模块 119

2.5.11 XADC模块 120

2.6 CPLD和FPGA比较 121

2.7 Xilinx可编程逻辑器件 122

2.7.1 Xilinx CPLD芯片介绍 122

2.7.2 Xilinx FPGA芯片介绍 123

2.7.3 Xilinx PROM芯片介绍 124

第3章 Vivado集成开发环境IP核设计流程 128

3.1 IP的基本概念 128

3.1.1 IP核来源 129

3.1.2 IP核的提供方式 129

3.1.3 IP核优化 130

3.2 Vivado工具设计流程 131

3.3 Vivado IP数字系统的设计与实现 133

3.3.1 建立新的设计工程 133

3.3.2 修改工程设置属性 135

3.3.3 创建块设计 136

3.3.4 生成设计输出文件 140

3.4 XDC文件原理及添加方法 140

3.4.1 XDC的特性 140

3.4.2 约束文件的使用方法 141

3.4.3 约束顺序 141

3.4.4 XDC约束命令 142

3.4.5 添加XDC文件 143

3.5 查看综合后的结果 145

3.6 查看实现后的结果 146

3.7 生成和下载比特流文件 147

3.7.1 生成比特流文件 147

3.7.2 下载比特流文件 147

3.8 生成和下载PROM文件 149

第4章 V ivado集成开发环境V HDL设计流程 152

4.1 创建新的设计工程 152

4.2 修改工程属性 155

4.3 创建并添加一个新的设计文件 155

4.4 RTL详细描述和分析 158

4.4.1 详细描述的原理 158

4.4.2 详细描述的过程 159

4.5 设计综合和分析 161

4.5.1 综合过程的关键问题 161

4.5.2 执行设计综合 161

4.5.3 综合报告的查看 164

4.6 设计行为级仿真 165

4.7 创建实现约束文件XDC 168

4.7.1 实现约束的原理 168

4.7.2 I/O规划器功能 168

4.7.3 实现约束过程 169

4.8 设计实现和分析 172

4.8.1 设计实现原理 172

4.8.2 设计实现及分析 173

4.9 设计时序仿真 175

4.10 生成并下载比特流文件 176

4.10 .1 生成比特流文件 176

4.10 .2 下载比特流文件到FPGA 176

4.11 生成并烧写PROM文件 178

第5章 VHDL语言规范 181

5.1 VHDL程序结构和配置 181

5.1.1 VHDL程序结构框架 181

5.1.2 VHDL实体 182

5.1.3 VHDL结构体 185

5.1.4 配置声明 186

5.2 VHDL语言描述风格 190

5.2.1 行为描述 190

5.2.2 数据流描述 190

5.2.3 结构化描述 191

5.3 VHDL语言要素 192

5.3.1 字符集 192

5.3.2 语言要素、分隔符和分界符 193

5.3.3 标识符 194

5.3.4 抽象文字 195

5.3.5 字符文字 196

5.3.6 字符串文字 196

5.3.7 比特字符串文字 196

5.3.8 注释 197

5.3.9 保留字 197

5.3.10 允许的字符替换 198

5.4 VHDL设计资源共享 198

5.4.1 库的声明和调用 198

5.4.2 子程序和函数声明 199

5.4.3 函数体和子程序体 202

5.4.4 子程序和函数重载 203

5.4.5 解析函数 205

5.4.6 包声明 206

5.4.7 包体 207

5.5 VHDL类型 208

5.5.1 标量类型 208

5.5.2 复合类型 211

5.5.3 访问类型 213

5.5.4 文件类型 213

5.5.5 保护类型 215

5.6 V HDL声明 217

5.6.1 类型声明 218

5.6.2 子类型声明 218

5.6.3 对象 218

5.6.4 属性声明 225

5.6.5 元件声明 225

5.6.6 组模板声明 226

5.6.7 组声明 226

5.7 VHDL说明 227

5.7.1 属性说明 227

5.7.2 配置说明 229

5.7.3 断开说明 231

5.8 VHDL名字 231

5.8.1 简单名字 231

5.8.2 选择名字 231

5.8.3 索引名字 232

5.8.4 切片名字 233

5.8.5 属性名字 233

5.9 V HDL表达式 235

5.9.1 VHDL操作符 235

5.9.2 V HDL操作数 239

5.10 VHDL顺序描述语句 245

5.10 .1 wait语句 245

5.10 .2 断言和报告语句 246

5.10 .3 信号分配语句 248

5.10 .4 变量分配语句 250

5.10 .5 子程序调用语句 251

5.10 .6 if语句 251

5.10 .7 case语句 252

5.10 .8 loop语句 254

5.10 .9 next语句 255

5.10 .10 exit语句 256

5.10 .11 return语句 256

5.10 .12 null语句 257

5.11 VHDL并发描述语句 257

5.11 .1 块语句 257

5.11 .2 进程描述语句 259

5.11 .3 并行过程调用语句 261

5.11 .4 并行断言语句 262

5.11 .5 并行信号分配语句 262

5.11 .6 元件例化语句 264

5.11 .7 生成语句 265

第6章 基本数字逻辑单元的VHDL描述 268

6.1 组合逻辑电路的VHDL描述 268

6.1.1 逻辑门的VHDL描述 268

6.1.2 编码器的VHDL描述 269

6.1.3 译码器的VHDL描述 269

6.1.4 多路选择器的VHDL描述 271

6.1.5 数字比较器的VHDL描述 272

6.1.6 总线缓冲器的VHDL描述 273

6.2 数据运算操作的VHDL描述 274

6.2.1 加法操作的VHDL描述 275

6.2.2 减法操作的VHDL描述 275

6.2.3 乘法操作的VHDL描述 276

6.2.4 除法操作的VHDL描述 276

6.2.5 算术逻辑单元的V HDL描述 277

6.3 时序逻辑电路的VHDL描述 279

6.3.1 触发器和锁存器的VHDL描述 279

6.3.2 计数器的VHDL描述 283

6.3.3 移位寄存器的V H DL描述 286

6.3.4 脉冲宽度调制PWM的VHDL描述 291

6.4 存储器的VHDL描述 294

6.4.1 ROM的VHDL描述 294

6.4.2 RAM的VHDL描述 295

6.5 有限自动状态机的VHDL描述 296

6.5.1 FSM设计原理 296

6.5.2 FSM的分类及描述 298

第7章 VHDL数字系统设计和实现 306

7.1 设计所用外设的原理 306

7.1.1 LED灯驱动原理 306

7.1.2 开关驱动原理 306

7.1.3 七段数码管驱动原理 307

7.1.4 VGA显示器原理 311

7.1.5 通用异步接收发送器原理 314

7.2 系统设计原理 316

7.3 创建新的设计工程 317

7.4 VHDL数字系统设计流程 318

7.4.1 设计分频时钟模块2 318

7.4.2 设计和仿真计数器模块 319

7.4.3 设计顶层模块 323

7.4.4 设计和例化分频时钟模块1 330

7.4.5 设计七段数码管模块 333

7.4.6 设计和例化分频时钟模块3 341

7.4.7 设计和例化通用异步收发器模块 344

7.4.8 设计和例化分频时钟模块4 350

7.4.9 设计和例化VGA控制器模块 354

第8章 创建和封装用户IP设计和实现 363

8.1 Vivado定制IP流程导论 363

8.2 封装用户定义IP核设计流程 364

8.2.1 创建新的封装IP设计工程 364

8.2.2 添加VHDL设计源文件 364

8.2.3 设置定制IP的库名和目录 366

8.2.4 封装定制IP的实现 367

8.3 调用用户自定义IP实现流程 370

8.3.1 创建新的调用IP工程 370

8.3.2 设置包含调用IP的路径 371

8.3.3 创建基于IP的系统 372

8.4 系统行为级仿真 373

8.5 系统设计综合 376

8.6 系统实现和验证 377

第9章 Vivado调试工具原理及实现 379

9.1 设计调试原理和方法 379

9.2 FIFO IP的生成和调用 381

9.2.1 创建新的工程 381

9.2.2 添加FIFO IP核 381

9.2.3 添加顶层设计文件 383

9.2.4 添加XDC文件 386

9.3 网表插入调试探测流程方法及实现 388

9.3.1 网表插入调试探测流程的方法 388

9.3.2 网表插入调试探测流程的实现 389

9.4 使用添加VHDL属性调试探测流程 395

9.5 使用V HDL例化调试核调试探测流程 396

第10章 数字系统高级设计方法 402

10.1 数字系统设计目标 402

10.2 时序基本概念 403

10.2.1 基本术语 403

10.2.2 时序路径 403

10.2.3 建立和保持松弛 404

10.2.4 去除和恢复检查 406

10.3 逻辑复制和复用 406

10.3.1 逻辑复制 406

10.3.2 逻辑复用 407

10.4 并行和流水线 409

10.4.1 并行设计 410

10.4.2 流水线设计 411

10.5 同步和异步单元处理 413

10.5.1 同步单元处理 413

10.5.2 异步单元处理 416

10.6 逻辑结构处理 418

10.6.1 逻辑结构设计方法 418

10.6.2 if和case语句的使用 419

第11章 数模混合系统设计 423

11.1 模数转换器原理 423

11.1.1 模数转换器的参数 423

11.1.2 模数转换器的类型 424

11.2 数模转换器原理 427

11.2.1 数模转换器的参数 427

11.2.2 数模转换器的类型 428

11.3 基于XADC的信号采集和处理原理及实现 429

11.3.1 XADC模块原理 429

11.3.2 XADC原语 431

11.3.3 1602模块原理 434

11.3.4 信号采集、处理和显示的实现 439

11.4 基于DAC的信号发生器的设计原理及实现 451

11.4.1 D/A转换器工作原理 451

11.4.2 函数信号产生原理 453

11.4.3 设计实现 454