《基于NiosⅡ内核的FPGA电路系统设计EDA应用技术》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赫建国,倪德克,郑燕编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121106477
  • 页数:274 页
图书介绍:本书完整地介绍了NiosⅡ内核在FPGA电路设计中所面临的技术问题。本书第一部分介绍FPGA芯片、VHDL语言、Quartus开发平台的使用方法和SOPC Builder工具的使用方法。第二部分通过一系列实验介绍应用系统设计所需要的基本模块的使用方法,这样可以把一个高的台阶变成若干低的台阶,同时从一开始就让读者接触实际的电路配置和软件编程。第三部分通过几个设计实例,介绍基于NiosⅡ内核的FPGA电路系统的具体设计过程,这部分按照设计报告格式撰写,为读者提供报告撰写的示例。

第1章 引言 1

1.1 数字集成电路的分类 2

1.1.1 标准逻辑器件 2

1.1.2 微处理器 2

1.1.3 可编程逻辑器件 3

1.2 NiosⅡ软核处理器 3

1.2.1 NiosⅡ软核处理器系统简介 4

1.2.2 可配置软核处理器的优点 5

第2章 现场可编程门阵列器件 6

2.1 可编程逻辑器件概述 7

2.2 可编程逻辑器件的发展历程 7

2.2.1 简单PLD的基本结构 8

2.2.2 FPGA的基本结构 12

2.3 Altera公司CycloneⅡ器件的工作原理 14

2.4 CycloneⅡ系列器件的主要技术指标 19

2.5 小结 22

第3章 QuartusⅡ开发软件的使用&. 23

3.1 简介 24

3.2 创建工程 25

3.3 设计输入 29

3.3.1 建立文本设计文件 30

3.3.2 建立图形设计文件 31

3.3.3 层次化设计 33

3.4 设计的编译 35

3.5 设计的仿真验证 37

3.5.1 创建仿真波形文件 37

3.5.2 设计仿真 39

3.6 引脚分配 41

3.7 器件配置 42

3.8 小结 44

第4章 VHDL语言基础 45

4.1 VHDL的历史 46

4.2 VHDL的程序结构 46

4.2.1 VHDL程序的基本结构 47

4.2.2 实体 47

4.2.3 结构体 49

4.2.4 包集 50

4.2.5 库 50

4.3 VHDL的语言元素 52

4.3.1 标识符 52

4.3.2 对象类别与定义 52

4.3.3 数据类型 54

4.3.4 运算符 56

4.4 并行语句 58

4.4.1 并行信号赋值语句 59

4.4.2 进程语句 61

4.5 顺序语句 62

4.5.1 顺序信号赋值语句 62

4.5.2 条件(IF)语句 62

4.5.3 选择(CASE)语句 66

4.5.4 循环(LOOP)语句 68

4.5.5 空操作(NULL)语句 69

4.6 小结 69

第5章 NiosⅡ软核处理器系统的开发过程 71

5.1 概述 72

5.2 配置NiosⅡ软核处理器系统 73

5.2.1 创建NiosⅡ软核处理器系统 74

5.2.2 配置NiosⅡ软核处理器系统 75

5.3 产生NiosⅡ软核处理器系统 79

5.3.1 产生NiosⅡ软核处理器系统模块 79

5.3.2 NiosⅡ软核处理器系统的产生 80

5.4 创建NiosⅡIDE环境下的应用工程 81

5.4.1 NiosⅡIDE工程创建 81

5.4.2 C语言源文件的编辑 83

5.4.3 C语言源文件的编译 85

5.5 C语言源程序的调试 86

5.5.1 在目标电路板上运行程序 86

5.5.2 在目标电路板上调试程序 88

5.5.3 配置目标FPGA器件 89

5.6 小结 90

第6章 NiosⅡ软核处理器——程序运行时间的测量 91

6.1 NiosⅡ软核处理器的结构 92

6.2 NiosⅡ软核处理器 94

6.2.1 “Core NiosⅡ”选项卡 94

6.2.2 “Caches and Memory Interfaces”选项卡 96

6.2.3 “Advanced Features”选项卡 98

6.2.4 “JTAG Debug Module选项卡 98

6.2.5 “Custom Instructions”选项卡 100

6.3 程序运行时间的测量 101

6.3.1 程序运行时间的测量方法 102

6.3.2 NiosⅡ软核处理器对程序运行时间的影响 103

6.4 浮点专用指令的使用 105

6.4.1 浮点专用指令的添加 105

6.4.2 浮点专用指令测试程序 106

6.4.3 浮点专用指令测试结果 108

6.5 小结 109

第7章 8段数码管显示电路——并行输入/输出(PIO)内核的使用 110

7.1 8段数码管 111

7.2 并行输入/输出(PIO)内核 112

7.2.1 并行输入/输出(PIO)内核的寄存器 113

7.2.2 并行输入/输出(PIO)内核的配置 113

7.2.3 C语言编程 114

7.3 1位数码管的显示实验 115

7.3.1 产生数码管的显示控制电路 115

7.3.2 数码管显示控制程序 116

7.3.3 目标芯片的配置 119

7.4 多位数码管显示实验 119

7.4.1 多位数码管显示控制电路 119

7.4.2 4位数码管显示驱动函数 121

7.4.3 4位数据的分离 121

7.5 小结 123

第8章 按键电路——中断的应用 124

8.1 按键电路 125

8.2 并行输入/输出(PIO)内核的中断 126

8.2.1 并行输入/输出(PIO)内核涉及中断的相关寄存器 126

8.2.2 并行输入/输出(PIO)内核中断的配置 127

8.2.3 C语言编程 130

8.3 NiosⅡ处理器的中断 132

8.3.1 异常 132

8.3.2 C语言编程 133

8.4 1位按键电路的实验 134

8.4.1 产生按键的控制电路 134

8.4.2 1位按键控制程序 135

8.4.3 数据类型 137

8.4.4 alt_main()和main()的区别 138

8.5 4位按键电路的实验 138

8.5.1 4位按键控制电路 138

8.5.2 4位按键控制程序 139

8.6 小结 142

第9章 Flash的编程——EPCS控制器、CFI控制器的使用 144

9.1 EPCS控制器 145

9.1.1 EPCS控制器概述 145

9.1.2 EPCS控制器配置 146

9.2 CFI控制器 147

9.2.1 CFI控制器概述 147

9.2.2 CFI控制器配置选项 148

9.2.3 CFI控制器C语言编程 149

9.3 Flash的编程实例 150

9.3.1 硬件系统的SOPC设计——从EPCS引导程序方式 150

9.3.2 系统软件设计——从EPCS引导程序方式 152

9.3.3 从CFI_FLASH引导程序方式 154

9.4 小结 155

第10章 时钟信号的产生与测量——定时器(Interval Timer)内核的使用 157

10.1 定时器内核 158

10.1.1 定时器内核的组成 158

10.1.2 定时器内核的寄存器 158

10.1.3 定时器(Interval Timer)内核的配置 160

10.1.4 C语言编程 161

10.2 时钟信号产生实验 162

10.2.1 时钟信号产生电路 162

10.2.2 时钟信号产生电路控制程序 164

10.3 定时器(Interval Timer)内核的中断实验 165

10.4 信号的周期测量 167

10.4.1 信号周期测量电路 167

10.4.2 周期测量控制程序 169

10.5 “看门狗”电路实验 170

10.5.1 “看门狗”电路 170

10.5.2 “看门狗”电路控制程序 172

10.6 小结 173

第11章 LCD12864液晶模块的驱动设计——SDRAM控制器内核的使用 175

11.1 LCD12864液晶模块简介 176

11.2 SDRAM控制器内核 179

11.2.1 概述 179

11.2.2 SDRAM控制器内核的配置选项 181

11.2.3 时钟、PLL和时序 184

11.2.4 SDRAM内核的C语言编程 186

11.3 LCD12864模块的驱动实例 187

11.3.1 LCD12864模块接口电路 187

11.3.2 硬件系统的SOPC设计 189

11.3.3 系统软件设计 192

11.4 小结 204

第12章 JTAG UART通信——JTAG UART内核的使用 205

12.1 JTAG UART内核 206

12.1.1 JTAG UART内核概述 206

12.1.2 JTAG UART内核配置选项 208

12.1.3 JTAG UART内核的C语言编程 210

12.2 JTAG UART通信实例 210

12.2.1 硬件系统的SOPC设计 210

12.2.2 系统软件设计 212

12.3 小结 215

第13章 SD卡读写控制设计——SPI内核的使用 216

13.1 SD卡简介 217

13.2 SPI内核 219

13.2.1 SPI内核综述 219

13.2.2 SPI内核配置选项 221

13.2.3 SPI的C语言编程 223

13.3 SD卡读写实例 224

13.3.1 SD卡与FPGA接口电路 224

13.3.2 硬件系统的SOPC设计 224

13.3.3 系统软件设计 227

13.4 小结 236

第14章 数字信号频率测量电路的设计 237

14.1 频率测量原理和电路设计要求 238

14.2 频率测量电路的系统设计 238

14.3 频率测量电路的单元电路设计 240

14.3.1 计数器电路 240

14.3.2 计数器控制电路 242

14.3.3 NiosⅡ软核处理器系统 245

14.4 频率测量电路的系统调试 248

14.4.1 系统集成 248

14.4.2 测试方案和使用仪器 250

14.4.3 测量数据及数据分析 250

14.5 设计总结 251

第15章 信号频谱分析电路的设计 252

15.1 频谱的概念 253

15.2 离散傅里叶变换 253

15.3 信号频谱分析电路的系统设计 255

15.4 信号频谱分析电路的单元电路设计 256

15.4.1 频谱分析模块 256

15.4.2 采样速率控制电路 264

15.5 信号频谱分析电路的系统调试 268

15.5.1 系统集成 268

15.5.2 信号频谱分析程序框图 270

15.5.3 系统测量和数据分析 271

15.6 设计总结 272

参考文献 274