当前位置:首页 > 工业技术
CPLD/FPGA设计与应用高级教程
CPLD/FPGA设计与应用高级教程

CPLD/FPGA设计与应用高级教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:郭利文,邓月明编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2011
  • ISBN:9787512402461
  • 页数:308 页
图书介绍:本书结合目前主要CPLD/FPGA产品以及最流行的设计理念,系统详细地介绍了CPLD/FPGA的硬件结构,硬件描述语言和验证语言的基础应用以及高级应用,详细介绍了怎样使用Verilog HDL语言进行有限状态机设计和testbench设计,以及如何使用Modelsim进行功能仿真和时序仿真,简要地介绍了验证方法学的基本概念以及验证语言的比较,并且就CPLD/FPGA的系统应用进行了详细的探讨,包括DSP设计、嵌入式处理器设计、HardCopy设计、嵌入式虚拟逻辑分析仪的使用以及如何进行CPLD/FPGA板级设计。
上一篇:光纤通信下一篇:计算机应用基础
《CPLD/FPGA设计与应用高级教程》目录

第1章 概述 1

1.1 数字电路基础及发展演变 1

1.2 CPLD/FPGA的介绍 2

1.3 设计语言及其方法的介绍 3

1.4 硬件语言与软件语言的区别 4

1.5 设计与验证流程 5

1.6 CPLD/FPGA的前景与展望 6

1.7 本章小结 9

1.8 思考与练习 9

第2章 CPLD/FPGA硬件结构 10

2.1 PLD的分类 10

2.2 乘积项结构的基本原理 12

2.3 查找表结构的基本原理 14

2.4 传统CPLD的基本结构 14

2.5 传统FPGA的基本结构 18

2.6 最新CPLD的基本结构 21

2.7 最新FPGA的基本结构 25

2.8 CPLD与FPGA的选择 27

2.9 CPLD/FPGA的配置 27

2.10 本章小结 28

2.11 思考与练习 30

第3章 Verilog HDL语法基础 31

3.1 Verilog HDL的特点 31

3.2 Verilog HDL的描述方式 32

3.3 模块和端口 32

3.4 注释 34

3.5 常量、变量与逻辑值 34

3.6 操作符 35

3.7 操作数 38

3.8 参数指令 38

3.9 编译指令 38

3.10 系统任务和系统函数 39

3.11 实例1:串并转换程序设计 41

3.12 本章小结 43

3.13 思考与练习 43

第4章 Verilog的描述与参数化设计 45

4.1 数据流描述 45

4.1.1 数据流 46

4.1.2 连续赋值语句 46

4.1.3 延时 48

4.2 行为级描述 48

4.2.1 initial赋值语句 48

4.2.2 always赋值语句 49

4.2.3 时序控制 51

4.2.4 语句块 54

4.2.5 过程赋值语句 55

4.2.6 过程性连续赋值语句 60

4.3 结构化描述 60

4.3.1 实例化门 61

4.3.2 实例化其他模块 61

4.4 高级编程语句 63

4.4.1 if...else语句 63

4.4.2 case、casex、casez语句 65

4.4.3 for语句 69

4.4.4 while语句 69

4.4.5 forever语句 71

4.4.6 repeat语句 71

4.5 参数化设计 72

4.6 混合描述 75

4.7 实例2:I2C Slave控制器的设计 77

4.7.1 I2C总线简介 77

4.7.2 I2C Slave可综合代码设计 77

4.8 本章小结 87

4.9 思考与练习 87

第5章 有限状态机设计 89

5.1 有限状态机的基本概念 89

5.1.1 Moore型状态机 90

5.1.2 Mealy型状态机 90

5.1.3 状态机的描述 90

5.2 状态机描述的基本语法 91

5.3 状态编码 93

5.3.1 二进制码(Binary码) 93

5.3.2 格雷码(Gray码) 93

5.3.3 独热码(one-hot码) 94

5.3.4 二—十进制码(BCD码) 95

5.4 状态初始化 96

5.5 Full Case与Parallel Case 97

5.6 状态机的描述 100

5.6.1 一段式状态机 100

5.6.2 两段式状态机 103

5.6.3 三段式状态机 105

5.6.4 小结 108

5.7 实例3:PCI Slave接口设计 109

5.7.1 PCI协议简介 109

5.7.2 PCI Slave可综合代码设计 112

5.8 本章小结 119

5.9 思考与练习 119

第6章 约束与延时分析 120

6.1 约束的目的 120

6.2 引脚约束及电气标准设定 121

6.2.1 引脚约束文件 121

6.2.2 代码注释约束 122

6.3 时序约束的基本概念 124

6.3.1 路径 125

6.3.2 时序约束参数 128

6.4 时序约束的本质 130

6.5 静态延时分析 131

6.6 统计静态延时分析 132

6.7 动态延时分析 133

6.8 实例4:建立时间和保持时间违例分析 133

6.9 时序违例及解决方式 134

6.10 实例5:四角测试中的时序分析 135

6.11 实例6:LPC Slave接口设计 136

6.11.1 LPC协议简介 136

6.11.2 LPC Slave可综合性代码设计 139

6.11.3 LPC协议约束设置 144

6.12 本章小结 144

6.13 思考与练习 144

第7章 RTL设计原则及技巧 146

7.1 RTL设计的主要原则 146

7.1.1 硬件原则 146

7.1.2 面积与速度原则 147

7.1.3 系统原则 147

7.1.4 同步原则 148

7.2 RTL设计的主要技巧 148

7.2.1 乒乓操作 148

7.2.2 流水线操作 149

7.2.3 资源共享操作 150

7.2.4 逻辑复用操作 153

7.2.5 串并转换操作 153

7.2.6 异步时钟域数据同步化操作 153

7.2.7 复位操作 154

7.3 组合逻辑设计 157

7.3.1 锁存器 157

7.3.2 组合逻辑反馈环路 161

7.3.3 脉冲产生电路 162

7.4 时序逻辑设计 162

7.4.1 门控时钟 162

7.4.2 异步计数器 162

7.4.3 次级时钟的产生 163

7.4.4 亚稳态 163

7.4.5 实例7:Tco引起的亚稳态分析 163

7.5 代码风格 165

7.6 实例8:信号消抖时的亚稳态及解决方案 165

7.6.1 信号消抖基本介绍 165

7.6.2 基于CPLD/FPGA的信号消抖设计 168

7.7 本章小结 170

7.8 思考与练习 170

第8章 仿真与Testbench设计 171

8.1 仿真概述 171

8.1.1 周期驱动 171

8.1.2 事件驱动 172

8.1.3 混合语言仿真 172

8.2 仿真器的选择 173

8.3 Modelsim简介与仿真 173

8.3.1 Modelsim简介 173

8.3.2 功能仿真 174

8.3.3 时序仿真 180

8.4 Testbench设计 182

8.4.1 时钟 182

8.4.2 值序列 184

8.4.3 复位 186

8.4.4 任务 187

8.4.5 函数 188

8.4.6 事件 188

8.4.7 并行激励 189

8.4.8 系统任务和系统函数 189

8.5 Testbench结构化 189

8.6 实例9:基于Modelsim的I2C SlaveTestbench设计 191

8.7 实例10:基于Modelsim的LPC Slave接口仿真设计 195

8.8 实例11:基于Modelsim的信号消抖程序仿真设计 201

8.9 本章小结 203

8.10 思考与练习 203

第9章 CPLD/FPGA的验证方法学 204

9.1 验证与仿真 204

9.2 验证与测试 205

9.3 验证的期望 205

9.4 验证的语言 206

9.4.1 e语言 207

9.4.2 SystemVerilog 207

9.4.3 SystemC 207

9.4.4 验证语言的分类 208

9.5 断言 208

9.6 验证的分类 208

9.6.1 形式验证 209

9.6.2 功能验证 210

9.7 代码覆盖 211

9.8 验证工具 212

9.9 验证计划 212

9.10 DFT 213

9.11 版本控制 214

9.12 实例12:基于FSM的SVA断言验证设计 214

9.12.1 SVA简介 214

9.12.2 基于FSM的SVA断言设计 215

9.13 本章小结 221

9.14 思考与练习 221

第10章 CPLD/FPGA的高级应用 222

10.1 基于DSP的FPG设计 222

10.1.1 DSP的发展及解决方案 224

10.1.2 基于DSP的FPGA设计 225

10.1.3 实例13:基于DDS的正弦波信号发生器的设计 229

10.2 基于嵌入式处理器的FPGA设计 232

10.2.1 硬核、固核与软核 233

10.2.2 基于嵌入式处理器的FPGA设计流程 234

10.2.3 基于嵌入式处理器的FPGA设计应用 235

10.3 典型的SOPC运用:Nios Ⅱ简介及应用 237

10.3.1 Nios Ⅱ简介 237

10.3.2 实例14:基于Nios Ⅱ软核处理器PWM控制器设计 242

10.4 基于HardCopy技术的FPGA设计 248

10.4.1 HardCopy简介 248

10.4.2 基于HardCopy技术的FPGA设计流程 249

10.5 嵌入式逻辑分析仪 250

10.6 本章小结 252

10.7 思考与练习 252

第11章 CPLD/FPGA系统设计 254

11.1 常用电平标准及其接口设计 254

11.1.1 常用电平标准 254

11.1.2 接口设计 256

11.1.3 接口设计的抗干扰措施 256

11.1.4 OC/OD门 257

11.1.5 三态门 257

11.2 信号完整性概述 258

11.2.1 信号完整性的基本原则 259

11.2.2 传输线的基本理论 259

11.2.3 反射与阻抗匹配 261

11.2.4 串扰 263

11.2.5 EMI 264

11.2.6 芯片封装 264

11.2.7 信号完整性的工具 265

11.3 高速设计与SERDES 265

11.3.1 高速设计的基本原则和注意事项 265

11.3.2 SerDes 266

11.4 电源完整性概述 268

11.4.1 电源噪声 268

11.4.2 PCB PDS设计技巧与挑战 268

11.4.3 电源完整性的基本原则和注意事项 278

11.4.4 实例15:采用Altera PDN工具的电源耦合电容设计 279

11.5 功耗与热设计 284

11.5.1 功耗设计 284

11.5.2 热设计 286

11.6 PCB设计与CPLD/FPGA系统设计 288

11.7 实例16:基于μC/OS-Ⅱ的FPGA系统设计 292

11.7.1 μC/OS-Ⅱ简介 292

11.7.2 系统设计要求简介 292

11.7.3 设计思路及步骤 292

11.8 本章小结 305

11.9 思考与练习 305

参考文献 307

相关图书
作者其它书籍
返回顶部