《FPGA现代数字系统设计及应用》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:张德学,张小军,郭华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302388562
  • 页数:211 页
图书介绍:本书系统介绍现代基于FPGA的数字系统设计流程、Verilog语言、Modelsim仿真、Verdi调试、QuartusII使用、TimeQuest时序分析、第三方综合工具Synplify Pro的使用、Verilog高级讨论、低功耗设计方法、基于nios2的SOPC系统设计与软件开发,最后示范了采用开源OR1200处理器构建SoC系统过程。

第1章 现代数字系统设计简介 1

1.1 现代数字系统设计流程 1

1.2 FPGA/CPLD原理 2

1.2.1 乘积项技术原理 2

1.2.2 CPLD原理 2

1.2.3 查找表技术原理 4

1.2.4 FPGA原理 5

1.2.5 FPGA与CPLD简要比较 7

1.3 商用FPGA/CPLD器件简介 7

第2章 Verilog标准与基本语法 9

2.1 Verilog HDL发展历史 9

2.2 Verilog IEEE Standard 1364-1995标准基本语法 10

2.2.1 标识符 10

2.2.2 注释 11

2.2.3 四值逻辑 12

2.2.4 数字表达 12

2.2.5 字符串 12

2.2.6 数据类型 13

2.2.7 内建基本门 14

2.2.8 连续赋值assign语句 14

2.2.9 过程赋值initial和always语句 14

2.2.10 运算 15

2.2.11 if语句 19

2.2.12 case、casex和easez语句 19

2.2.13 循环控制语句 20

2.2.14 编译指示语句 21

2.2.15 时延 22

2.2.16 系统任务 22

2.2.17 function与task 25

2.2.18 参数 31

2.3 Verilog IEEE Standard 1364更新标准重要特性简介 32

2.3.1 敏感列表 32

2.3.2 多维数组 32

2.4 Verilog建模 33

2.4.1 可综合与不可综合语法 34

2.4.2 层次化和模块化设计方法 35

2.5 Verilog代码书写 36

2.5.1 Verilog代码编写推荐工具 36

2.5.2 Verilog模块基本结构 37

2.5.3 实例化方法 37

2.5.4 层次命名 38

2.6 简单Testbench设计 38

2.6.1 组合电路Testbench基本结构 39

2.6.2 时序电路Testbench基本结构 39

2.6.3 文本界面的Testbench 39

2.7 Verilog实例 40

2.7.1 Lab1:门级电路设计与仿真 40

2.7.2 Lab2:简单时序电路设计与仿真 43

2.7.3 Lab3:文本界面的Testbench 44

2.7.4 Lab4:3-8译码器 47

2.7.5 Lab5:全加器 47

2.7.6 Lab6:计数器 48

2.8 Verilog常见问题 49

2.8.1 数字仿真器基本原理 49

2.8.2 阻塞赋值与非阻塞赋值 50

2.8.3 $display、$strobe和$monitor比较 53

2.8.4 #0延时 54

2.8.5 竞争条件 55

2.8.6 仿真与综合对部分语法的不同理解 57

2.8.7 双向端口的仿真 59

2.8.8 组合逻辑回环 60

2.8.9 timescale问题 60

第3章 Modelsim仿真 62

3.1 仿真简介 62

3.2 Modelsim简介 63

3.3 Modelsim使用方式 63

3.3.1 命令行方式 64

3.3.2 脚本方式 64

3.3.3 qverilog单步执行方式 66

3.4 系统任务 66

3.5 VCD输出 66

3.6 SDF标注 67

3.7 测试覆盖率 68

第4章 Verdi使用 73

4.1 Verdi简介 73

4.2 Modelsim与Verdi联合调试流程 73

4.3 FSDB格式波形导出 74

4.4 Verdi使用实例 74

第5章 QuartusⅡ使用 76

5.1 QuartusⅡ简介 76

5.2 FPGA开发流程 76

5.2.1 流程简介 77

5.2.2 创建项目 81

5.2.3 设置约束 82

5.2.4 综合适配 83

5.2.5 下载验证 83

5.3 功能仿真与时序仿真 84

第6章 TimeQuest时序分析 87

6.1 时序简介 87

6.2 动态时序分析与静态时序分析 87

6.3 基本时序分析模型 87

6.4 SDC简介 89

6.5 时序约束与时序分析技术 90

6.5.1 时钟约束 90

6.5.2 输入延时 92

6.5.3 输出延时 92

6.5.4 组合逻辑延时 92

6.6 TimeQuest工具简介 92

6.7 TimeQuest使用 93

6.7.1 TimeQuest使用流程 93

6.7.2 TimeQuest使用举例 94

6.8 时序例外的约束与分析 98

6.8.1 false path 98

6.8.2 multicycle path多周期路径 98

6.8.3 set_max_delay和set_min_delay 101

第7章 Synplify Pro使用 102

7.1 Synplify工具简介 102

7.2 QuartusⅡ与Synplify Pro联合使用流程 103

7.2.1 Synplify Pro与Qua rtusⅡ独立运行 103

7.2.2 QuartusⅡ中调用Synplify Pro 106

7.2.3 Synplify Pro中调用QuartusⅡ 107

第8章 Verilog高级设计 110

8.1 编码风格 110

8.1.1 避免生成多余latch 110

8.1.2 资源共享 111

8.1.3 避免同时使用时钟双沿 113

8.2 编码风格检查 113

8.3 自检测Testbench设计 115

8.4 FSM设计 118

8.4.1 FSM分类 118

8.4.2 两段式FSM设计 119

8.4.3 三段式FSM设计 120

8.4.4 FSM状态编码 121

8.5 多时钟域设计 122

8.5.1 亚稳态 122

8.5.2 2DFF同步器 123

8.5.3 Open-Loop与Closed-Loop同步器 124

8.5.4 多个控制信号的同步电路设计 126

8.5.5 数据信号的同步电路设计 129

8.6 复位信号处理 132

8.7 PLI/VPI编程 132

8.7.1 仿真器扩展接口发展历史 132

8.7.2 VPI简介 133

8.7.3 注册systf 133

8.7.4 VPI实例1:系统任务hello 134

8.7.5 回调callbacks 135

8.7.6 VPI实例2:系统函数random 136

8.7.7 object存取方法 140

8.7.8 VPI实例3:显示所有nets 141

第9章 低功耗设计 145

9.1 功耗来源 145

9.2 基于FPGA的功耗估算 145

9.3 低功耗设计方法 146

9.3.1 门控时钟 147

9.3.2 操作数隔离 147

9.4 工具选项 148

第10章 SOPC系统 150

10.1 SOPC概念 150

10.2 SOPC Builder简介 150

10.3 Avalon总线 151

10.4 NiosⅡ处理器简介 151

10.5 SOPC开发流程 153

10.6 SOPC最小系统硬件开发 153

10.7 NiosⅡ软件开发 155

10.7.1 NiosⅡ软件开发简介 155

10.7.2 NiosⅡIDE使用流程:LED实例 155

10.8 基于NiosⅡ的SOPC系统上μCLinux移植 159

10.8.1 硬件设计 159

10.8.2 软件开发环境 161

10.8.3 NiosⅡ交叉开发工具链的构建 162

10.8.4 硬件信息传递 163

10.8.5 内核与应用程序配置 164

10.8.6 系统测试 166

10.8.7 网络应用 168

10.9 Avalon总线IP核的开发 168

10.9.1 Avalon总线功能模型 168

10.9.2 Avalon总线IP核开发基本框架 170

10.9.3 Avalon总线IP核仿真 170

10.9.4 Avalon总线IP核集成 171

10.9.5 Avalon总线IP核测试 173

10.10 u-boot移植与使用 174

10.10.1 u-boot移植 174

10.10.2 u-boot使用 176

第11章 综合设计:基于OR1200的SoC系统构建 182

11.1 Wishbone总线 182

11.2 构建基于OR1200的最小SoC系统 185

11.2.1 系统硬件框图 185

11.2.2 部件简介 186

11.2.3 系统构建 189

11.2.4 or32交叉开发工具链 195

11.2.5 软件开发 197

11.2.6 系统软硬件联合仿真 201

11.3 基于Wishbone总线的IP核开发 201

11.3.1 Wishbone总线功能模型 201

11.3.2 Wishbone总线IP核开发基本框架 202

11.3.3 Wishbone总线IP核仿真 203

11.3.4 Wishbone总线IP核集成 204

11.3.5 Wishbone总线IP核测试 204

11.4 构建基于OR1200的实用SoC系统 205

11.4.1 系统硬件框图 205

11.4.2 uart16550 206

11.4.3 flash控制器 207

11.4.4 sdram控制器 207

11.4.5 u-boot移植 207

11.4.6 dm9000a网络接口 207

11.4.7 Linux移植 208

附录 rtl_to_gate工具 210

参考文献 211