分享
 
 
 

基于FPGA的SOPC嵌入式系统设计与典型实例

王朝百科·作者佚名  2010-05-30
窄屏简体版  字體: |||超大  

图书信息作者:王刚,张潋[1]编著

出 版 社:电子工业出版社

出版时间: 2009-1-1

页数:504页

开本: 16开

ISBN 9787121079184

分类: 图书 >> 计算机/电子设计>>FPGA

定价:¥65.00元(含光盘1张)

宣传语实例丰富 即学即用

内 容 简 介基于FPGA的SOPC设计技术是当前电子系统设计领域最前沿的技术之一。全书通过核心技术与典型实例的形式,全面系统、深入浅出地介绍了基于FPGA的嵌入式SOPC系统设计技术与应用实例。全书共分14章,第1~3章简要介绍了FPGA硬件结构知识、Verilog HDL编程基础、FPGA常用开发工具,引导读者入门;第4~7章重点对嵌入式SOPC系统设计技术进行了细致阐述,内容包括:SOPC硬件系统开发、SOPC软件系统开发、Avalon总线规范、Nios II外围设备及其编程;第8~14章通过7个典型实例,对基于FPGA的嵌入式SOPC系统设计过程进行实际演练,具体包括:七段数码管时钟显示实例、串口通信DMA传输实例、LED灯控PWM IP核的设计实例、通用TFT-LCD控制器及PS2鼠标设计实例、对对碰游戏设计实例、GPS信息接收系统设计实例以及基于Nios II的I2C总线传输应用设计。经过这些例子的学习,读者设计的能力将迅速提升,产生质的飞跃。

本书语言通俗,结构清晰,基础知识和大量工程实例结合,实践性强。不但详细介绍了基于FPGA的嵌入式SOPC系统设计的构架与软硬件编程,同时提供了应用设计思路与方案,对实例的所有程序代码做了详细注释,利于读者理解和巩固知识点。

本书配有光盘一张,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。本书适合计算机、自动化、电子及硬件等相关专业的大学生,以及从事FPGA开发的科研人员使用。

丛书说明工程技术的电子化、集成化和系统化促进了电子工程技术的发展,同时也促进了电子工程技术在社会各行业中的广泛应用,从近年的人才招聘市场来看,电子工程师的人才需求更是一路走高。

电子工程师如此紧俏,除需求不断走高,人才供不应求外,另一重要原因则是电子工程师的门槛相对而言比较高,这个高门槛则来自于工程师的“经验”和“实践”!

因此,为了满足读者学习和工作需要,解决各种工作中的专业问题,我们紧紧围绕“经验”和“实践”,精心策划组织了此套丛书。

1.丛书范围

现代电子科学技术的一个特点是多学科交叉,因此,工程师应当了解、掌握2门以上的相关学科,知识既精深又广博是优秀的工程师成长为某领域专家的重要标志。本丛书内容涉及软件开发、研发电子以及嵌入式项目开发等,包括单片机、USB接口、ARM、CPLD/FPGA、DSP、移动通信系统等。

2.读者对象

本套书面向各领域的初、中级用户。具体为高校计算机、电子信息、通信工程、自动化控制专业在校大学生,以及从事电子开发和应用行业的科研人员。

3.内容组织形式

本套书紧紧围绕“经验”和“实践”,首先介绍一些相关的基础知识,然后根据不同的模块或应用领域,分篇安排应用程序实例的精讲。基础知识用来为一些初级读者打下一定的知识功底;基础好一点的读者则可以跳过这一部分,直接进入实例的学习。

4.实例特色

在应用实例的安排上,着重突出“应用”和“实用”两个基本原则,安排具有代表性、技术领先性,以及应用广泛的典型实例,让读者学习借鉴。这些实例是从作者多年程序开发项目中挑选出的,也是经验的归纳与总结。

在应用实例的讲解上,既介绍了设计原理、基本步骤和流程,也穿插了一些经验、技巧与注意事项。特别在程序设计思路上,在决定项目开发的质量和成功与否的细节上,尽可能地用简洁的语言来清晰阐述大众易于理解的概念和思想;同时,程序代码部分做了很详细的中文注释,有利于读者举一反三,快速应用和提高。

5.光盘内容

本套书的光盘中包含了丰富的实例原图文件和程序源代码,读者稍加修改便可应用于自己的工作中或者完成自己的课题(毕业设计),物超所值。读者使用之前,最好先将光盘内容全部复制到电脑硬盘中,以便于以后可以直接调用,而不需要反复使用光盘,提高操作速度和学习效率。

6.学习指南

对于有一定基础的读者,建议直接从实例部分入手,边看边上机练习,这样印象会比较深,效果更好。基础差一点的读者请先详细学习书中基础部分的理论知识,然后再进行应用实例的学习。在学习中,尽量做到反复理解和演练,以达到融会贯通、举一反三的功效;特别希望尽量和自己的工作设计联系起来,以达到“即学即会,学以致用”的最大化境界。

本套书主要偏重于实用性,具有很强的工程实践指导性。期望读者在学习中顺利、如意!

光盘说明

1.光盘的内容说明

该光盘包括7个实例文件夹,内容是实例的硬件原理图和程序源代码(如下图所示)。

2.光盘的使用说明

在用户已安装好软件并有开发板作为支持的前提下,使用实例工程的具体方法为:

(1)拷贝某一实例工程到磁盘目录下,由于所有实例均在D盘根目录下进行设计,所以建议用户将其也放置到D:目录下进行使用,避免不必要的问题,解压缩工程文件夹。

(2)点击文件夹中的.qpf文件,打开工程,在Quartus II中即可以看到整个工程中包含的文件。

(3)建议用户首先对工程进行编译,特别是当用户的软件版本与工程创建使用的版本(7.0版本)不相符合时,首先需要对工程重新编译才可使用。

(4)编译过程中,如果用户使用的开发板不是DE1,请对照相应的开发板手册配置好引脚约束,避免适配的问题。并确定其开发板支持实例工程欲达到的接口(比如如果用户使用的开发板本身不支持PS2接口,那么在对实例4进行鼠标使用的时候就自然得不到成功的结果了)。

(5)编译过程如果报错,请用户尝试删除工程目录下的db文件夹,该文件夹的内容是在笔者机器上编译时所保存的临时数据文件,可能会导致不兼容的问题,删除后重新编译即可解决问题。

(6)编译结束后,打开Nios II IDE(建议7.0版本),打开实例工程中的NiosII程序代码。

(7)编译并运行,即可看到最终的结果。 在此过程中如果软件报错,请在Nios II IDE中重新建立工程,并导入所有的软件文件(注意创建工程时需要指定正确的硬件描述文件.ptf),重新编译运行。

3.软硬件要求

本书实例工程均在Quartus II 7.0和Nios II IDE 7.0版本软件环境下进行设计,并使用Altera DE1开发板通过测试验证。用户使用实例之前应安装相应的软件(建议7.0版本以上),而且应该有相应的硬件开发板(建议使用DE1)作为支持,特别地对于某些实例,还需要配备其他的硬件资源作为支持(比如LCD液晶屏、PS2鼠标、GPS模块等)。否则,只能对工程代码进行参考。

前 言

基于FPGA的电子系统设计技术是21世纪电子应用工程师必备的基本技能之一,而基于FPGA 的SOPC设计技术是当前电子系统设计领域最前沿的技术之一。Altera公司、Xilinx公司、Lattis公司、QuickLogic公司等全球最重要的FPGA及EDA公司都分别推出SOPC系统解决方案。SOC设计技术将是21世纪的技术发展趋势,是现在高校和社会嵌入式培训班必需的内容和亮点。

SOPC设计具体包括以32位Nios II为核心的嵌入式系统的硬件配置、硬件设计、硬件仿真、软件设计以及软件调试等。SOPC系统设计的基本软件工具包括:

 Quartus II:用于完成Nios II系统的综合、硬件优化、适配、编程下载以及硬件系统调试等;

 SOPC Builder:是Altera Nios II嵌入式处理器开发软件包,用于实现Nios II系统的配置、生成;

 ModelSim:用于对SOPC生成的Nios II系统的HDL描述进行系统功能仿真;

 Nios II IDE:用于进行软件开发、调试以及向目标开发板进行Flash下载。

目前市场上同类的SOPC书比较少,而且清一色地介绍编程语言和基础原理,对设计技术细节和实际工程案例涉及甚微,与SOPC设计技术现在的蓬勃发展与大量应用远远不符。本书的出版正可以填补这种空白。本书将以实用和应用为基本原则,根据作者多年积累的开发经验,通过讲练结合、循序渐进的形式来讲解,便于读者牢固深入学习,快速入门与提高。

本书内容

章 内容简介 页 码

第1~3章 简要介绍了FPGA硬件结构知识、Verilog HDL编程基础、FPGA常用开发工具,引导读者入门;已经具备了FPGA基础的读者,可以跳过这几章,直接进入后面章节的学习 2~122

第4~7章 重点对嵌入式SOPC系统设计技术进行了细致阐述,内容包括:SOPC硬件系统开发、SOPC软件系统开发、Avalon总线规范、 Nios II外围设备及其编程。为了便于读者理解,将结合一定的基础示例来阐述 124~310

续表

章 内容简介 页 码

第8~14章 安排了7个典型实例,对基于FPGA的嵌入式SOPC系统设计过程进行实际演练。具体包括:七段数码管时钟显示实例、串口通信DMA传输实例、LED灯控PWM IP核的设计实例、通用TFT-LCD控制器及PS2鼠标设计实例、对对碰游戏设计实例、GPS信息接收系统设计实例以及基于NiosⅡ的I2C总线传输的应用设计。经过这些例子的学习,读者设计的能力将迅速提升,产生质的飞跃 312~489

本书特点

(1)本书语言通俗,结构清晰,内容系统全面,从零开始,循序渐进,方便读者快速上手,快学易懂;FPGA基础知识、SOPC专业技术和大量工程实例紧密结合,实践性强。

(2)本书7个实例典型实用,类型丰富,代表性强,有利于读者学习后举一反三,实现从入门到精通。

(3)详细介绍了基于FPGA的嵌入式SOPC系统设计的构架与软硬件编程,同时提供了深入的应用设计思路与方案,对实例的所有程序代码都做了详细注释,利于读者理解和巩固知识点。

本书配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。本书适合计算机、自动化、电子及硬件等相关专业的大学生,以及从事FPGA开发的工程师和科研人员使用。

本书主要由王刚、张潋编写。另外参加编写的人还有:唐清善、邱宝良、周克足、刘斌、李亚捷、李永怀、李宁宇、刘伟捷、黄小欢、严剑忠、黄小宽、李彦超、付军鹏、张广安、贾素龙、王艳波、金平、徐春林、谢正义、郑贞平、张小红等。他们在资料收集、整理和技术支持方面做了大量的工作,在此一并向他们表示感谢!

由于时间仓促,再加之作者的水平有限,书中难免存在一些不足之处,欢迎广大读者批评和指正,联系方式:jsj@phei.com.cn。

目 录第一篇 FPGA基础

第1章 FPGA硬件结构知识 2

1.1 CPLD/FPGA概述 2

1.1.1 CPLD/FPGA的特点 2

1.1.2 CPLD/FPGA的发展方向 4

1.1.3 CPLD/FPGA的应用领域 4

1.2 FPGA体系结构 5

1.2.1 FPGA基本结构 5

1.2.2 FPGA的结构特点 8

1.2.3 FPGA的编程工艺 9

1.3 FPGA常用芯片与选用 9

1.3.1 FPGA常用芯片 10

1.3.2 FPGA器件的选用 12

1.4 本章小结 14

第2章 Verilog HDL语言编程基础 15

2.1 Verilog HDL语言特点 15

2.2 Verilog HDL程序的基本结构 20

2.2.1 模块 20

2.2.2 模块调用 28

2.3 程序格式 29

2.4 注释与间隔符 30

2.5 数值 30

2.6 字符串 32

2.7 标识符 33

2.8 系统任务和函数 34

2.9 编译指令 39

2.10 数据类型 47

2.10.1 线网(Net)和变量(Variable) 47

2.10.2 标量(Scalar)与矢量(Vector) 49

2.10.3 线网(Net)数据类型 50

2.10.4 变量(Variable)数据类型 55

2.10.5 数组(Array)类型 56

2.10.6 参数 58

2.10.7 名字空间 61

2.11 表达式 61

2.11.1 操作符 62

2.11.2 操作数 72

2.11.3 延迟表达式 75

2.11.4 表达式的位宽 76

2.11.5 有符号表达式 78

2.12 本章小结 79

第3章 FPGA常用开发工具 80

3.1 硬件开发工具Quartus II 80

3.1.1 Quartus II简介 80

3.1.2 Quartus II设计流程 81

3.1.3 Quartus II设计方法 84

3.1.4 Quartus II功能详解 85

3.1.5 时序约束与分析 93

3.1.6 设计优化 99

3.1.7 SignalTap II 107

3.2 ModelSim开发工具 111

3.2.1 ModelSim简介 111

3.2.2 基本仿真步骤 111

3.2.3 ModelSim各界面介绍 114

3.2.4 ModelSim调试功能 118

3.3 本章小结 122

第二篇 SOPC入门

第4章 SOPC硬件系统开发 124

4.1 SOPC系统特点与开发流程 124

4.2 SOPC Builder硬件开发环境介绍 125

4.2.1 SOPC Builder功能 125

4.2.2 SOPC Builder组成 126

4.2.3 SOPC Builder中包含的组件 131

4.3 使用SOPC Builder创建Nios II系统模块 132

4.3.1 创建Quartus II工程 132

4.3.2 启动并配置SOPC Builder 135

4.3.3 添加CPU及外设IP模块 136

4.3.4 生成Nios II系统 142

4.4 集成Nios II系统到Quartus II工程 144

4.4.1 创建包含Nios II系统的Quartus II顶层模块 144

4.4.2 FPGA引脚分配及其他设置 149

4.4.3 Quartus II工程的编译并下载 152

4.5 本章小结 155

第5章 SOPC软件系统开发 156

5.1 Nios II处理器结构 156

5.1.1 Nios II处理器概述 157

5.1.2 编程模型 160

5.1.3 JTAG调试模块 166

5.2 Nios II指令系统介绍 168

5.2.1 Nios II处理器的指令集 168

5.2.2 Nios II定制指令介绍 171

5.2.3 定制指令实现方式 177

5.2.4 定制指令设计实例——前导0检测器 179

5.3 Nios II IDE集成开发环境 182

5.3.1 Nios II IDE简介 182

5.3.2 HAL系统库 185

5.3.3 RTOS和TCP/IP协议栈 190

5.4 使用Nios II IDE建立应用程序 190

5.4.1 创建C/C++工程 190

5.4.2 配置工程的系统属性 194

5.4.3 编译及运行工程 196

5.4.4 调试模式 198

5.5 使用Flash Programmer下载 199

5.5.1 定制目标板 200

5.5.2 Flash Programmer配置及下载 203

5.6 本章小结 205

第6章 Avalon总线规范 206

6.1 Avalon总线概述 206

6.1.1 Avalon总线的特点 206

6.1.2 术语和概念 207

6.2 Avalon总线信号 208

6.2.1 Avalon信号类型列表 208

6.2.2 Avalon信号时序 211

6.2.3 Avalon总线传输特性 212

6.3 Avalon从端口传输 212

6.3.1 Avalon从端口信号介绍 212

6.3.2 Avalon从端口读传输 214

6.3.3 Avalon从端口写传输 218

6.4 Avalon主端口传输 222

6.4.1 Avalon主端口模块介绍 222

6.4.2 Avalon主端口读传输 222

6.4.3 Avalon主端口写传输 224

6.5 Avalon流水线传输模式 225

6.5.1 具有固定延迟的从端口流水线读传输 226

6.5.2 具有可变延迟的从端口流水线读传输 227

6.5.3 主端口流水线读传输 228

6.6 Avalon流传输模式 230

6.6.1 流模式从端口传输 230

6.6.2 流模式主端口传输 233

6.7 Avalon三态传输 234

6.7.1 三态从端口传输 235

6.7.2 三态主端口传输 239

6.8 Avalon突发传输 240

6.8.1 主端口突发传输 241

6.8.2 从端口突发传输 243

6.9 与传输无关的信号 246

6.9.1 中断请求信号 246

6.9.2 复位控制信号 247

6.10 Avalon总线地址对齐方式 247

6.10.1 本地地址对齐 248

6.10.2 动态地址对齐 248

6.11 本章小结 249

第7章 Nios II外围设备及其编程 250

7.1 并行输入/输出(PIO) 250

7.1.1 功能描述 250

7.1.2 配置选项 251

7.1.3 寄存器描述与中断 253

7.1.4 软件编程模型 254

7.2 通用异步收发器(UART) 255

7.2.1 功能描述 255

7.2.2 配置选项 256

7.2.3 寄存器描述与中断 260

7.2.4 软件编程模型 264

7.3 定时器(Timer) 267

7.3.1 功能描述 267

7.3.2 配置选项 268

7.3.3 寄存器描述与中断 270

7.3.4 软件编程模型 271

7.4 JTAG UART 273

7.4.1 功能描述 274

7.4.2 配置选项 275

7.4.3 寄存器描述与中断 277

7.4.4 软件编程模型 279

7.5 SDRAM控制器 282

7.5.1 功能描述 282

7.5.2 配置选项 284

7.5.3 SDRAM控制器配置实例 287

7.5.4 软件编程模型 288

7.6 CFI控制器 289

7.6.1 功能描述 289

7.6.2 配置选项 290

7.6.3 软件编程模型 291

7.7 EPCS设备控制器 292

7.7.1 功能描述 292

7.7.2 配置选项 294

7.7.3 软件编程模型 294

7.8 DMA控制器 295

7.8.1 功能描述 295

7.8.2 配置选项 296

7.8.3 寄存器描述与中断 298

7.8.4 软件编程模型 300

7.9 系统ID 301

7.9.1 功能描述 301

7.9.2 配置选项 301

7.9.3 软件编程模型 302

7.10 SPI 302

7.10.1 功能描述 302

7.10.2 配置选项 306

7.10.3 寄存器描述 308

7.10.4 软件编程模型 310

7.11 本章小结 310

第三篇 应用实战

第8章 基于FPGA的SOPC系统开发实例1——七段数码管时钟显示实例 312

8.1 实例内容说明 312

8.2 设计思路分析 313

8.3 硬件设计 314

8.4 软件设计与程序代码 321

8.5 实例小结 325

第9章 基于FPGA的 SOPC系统开发实例2——串口通信DMA传输实例 327

9.1 实例内容说明 327

9.2 设计思路分析 327

9.3 硬件设计 328

9.4 软件设计与程序代码 338

9.4.1 Nios II HAL中与DMA

9.4.1 设计相关的API函数 338

9.4.2 软件部分的设计 339

9.5 实例小结 343

第10章 基于FPGA的SOPC系统开发实例3——LED灯控PWM IP核设计 344

10.1 实例内容说明 344

10.2 设计思路分析 344

10.3 硬件设计 345

10.4 软件设计与程序代码 359

10.5 实例小结 363

第11章 基于FPGA的SOPC系统开发实例4——通用TFT-LCD控制器及PS2鼠标设计实例 364

11.1 实例内容说明 364

11.2 设计思路分析 365

11.3 硬件设计 369

11.4 软件设计与程序代码 393

11.5 实例小结 402

第12章 基于FPGA的SOPC系统开发实例5——对对碰游戏 403

12.1 实例内容说明 403

12.2 设计思路分析 404

12.3 硬件设计 406

12.4 软件设计与程序代码 413

12.5 实例小结 433

第13章 基于FPGA的SOPC系统开发实例6——GPS信息接收系统的设计 434

13.1 实例内容说明 434

13.2 设计思路分析 434

13.3 硬件设计 442

13.4 软件设计与程序代码 451

13.5 实例小结 468

第14章 基于FPGA的SOPC系统开发实例7——基于NiosⅡ的I2C总线传输应用设计 469

14.1 实例内容说明 469

14.2 设计思路分析 469

14.3 I2C总线介绍 470

14.3.1 I2C总线特点 470

14.3.2 I2C总线工作原理 470

14.4 AT24C02芯片介绍 471

14.4.1 AT24C02概述 471

14.4.2 AT24C02读写时序 472

14.5 SOPC系统的创建 473

14.6 软件设计与程序代码 484

14.7 实例小结 489

附录A Nios II HAL中与PIO设计相关的API函数 490

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有