基于Altera FPGA/CPLD的电子系统设计及工程实践(EDA技术实用丛书)
分類: 图书,计算机与互联网,硬件/嵌入式开发,微机/cpu,
品牌: 刘延飞
基本信息·出版社:人民邮电出版社
·页码:405 页
·出版日期:2009年09月
·ISBN:7115209987/9787115209986
·条形码:9787115209986
·包装版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:EDA技术实用丛书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《基于Altera FPGA/CPLD的电子系统设计及工程实践》以Altera公司的FPGA/CPLD芯片为主,详细介绍了AlteraFPGA/CPLD特点、AlteraQuartusII8.1软件开发环境和VHDL语言,并以FPGA常用设计模块、电子设计大赛应用、机器人控制及单片机接口、视频控制接口等设计为例,由浅入深地详述了如何应用FPGA/CPLD进行电子设计,同时介绍了基于FPGA的SoPC系统设计和FPGA在DSP中的系统设计与调试。书中的源程序已经过实例验证,读者可以直接应用于自己的设计。
《基于Altera FPGA/CPLD的电子系统设计及工程实践》是作者根据自己多年的教学、科研(特别是指导电子设计大赛和机器人大赛)工作实践经验,同时参照国内外FPGA/CPLD应用设计成果,从实用角度出发编写的。《基于Altera FPGA/CPLD的电子系统设计及工程实践》的特点是所编内容新颖、全面,力求通俗易懂,是一本具有实用性、启发性、信息性的综合工具书。
《基于Altera FPGA/CPLD的电子系统设计及工程实践》适合FPGA初学者和自学者学习参考,对有一定经验的电子工程技术人员也有实用参考价值。《基于Altera FPGA/CPLD的电子系统设计及工程实践》也可作为高校电子、通信、计算机、信息等相关专业的教学参考用书。
编辑推荐因此《基于Altera FPGA/CPLD的电子系统设计及工程实践》既可作为广大工程师学习Altera FPGA/CPLD的参考书,也可作为培训机构的培训教材或高校相关专业的教科书。
近年来,全国大学生电子设计大赛在中国蓬勃开展,受到广大大学生的喜爱。越来越多的学生选用Altera产品参赛并取得优异的成绩。
目录
第1章 可编程逻辑器件 1
1.1 可编程逻辑器件的发展历程 1
1.2 Altera CPLD/FPGA 3
1.2.1 MAX系列 3
1.2.2 Cyclone器件系列——低成本的FPGA 4
1.2.3 Arria系列——高性价比FPGA 11
1.2.4 Stratix系列——高端FPGA 12
第2章 Quartus II 8.1软件应用基础 15
2.1 Quartus II概述 15
2.2 Quartus II特性 16
2.2.1 Quartus II 7.2软件特性 16
2.2.2 Quartus II 8.0的特点 17
2.2.3 Quartus II 8.0订购版和网络版软件的区别 18
2.2.4 Quartus II 8.1的特点 20
2.3 Quartus II 8.1软件系统的安装和运行 21
2.3.1 Quartus II 8.1软件系统配置 21
2.3.2 安装过程 22
2.3.3 启动运行和许可文件安装 26
2.4 Quartus II 8.1软件系统的用户界面 28
2.4.1 标题栏 29
2.4.2 菜单栏 29
2.4.3 工具栏 33
2.4.4 工程导航器 33
2.4.5 状态显示窗口 33
2.4.6 消息显示窗口 33
2.4.7 工程工作区 33
2.5 Quartus II软件设计流程及方法 34
2.5.1 设计流程 34
2.5.2 设计方法和设计规划 37
第3章 VHDL编程基础 39
3.1 VHDL语言基本要素 39
3.1.1 文字规则 39
3.1.2 数据对象与数据类型 42
3.1.3 运算操作符与表达式 57
3.2 VHDL语言的基本结构 61
3.2.1 基本结构 61
3.2.2 实体 62
3.2.3 结构体 64
3.2.4 库和程序包 65
3.3 VHDL语言的基本语句 68
3.3.1 顺序语句 68
3.3.2 并行语句 80
3.3.3 属性定义与描述 92
3.4 VHDL语言的描述风格 95
3.4.1 行为描述风格 95
3.4.2 数据流描述风格 97
3.4.3 结构描述风格 98
3.4.4 混合描述风格 99
第4章 Quartus II工程设计 101
4.1 基于原理图的工程设计 101
4.2 基于VHDL语言的文本工程设计 121
4.3 基于状态机的工程设计 133
4.4 基于LPM宏功能模块的工程设计 141
4.5 基于混合模式的工程设计 152
第5章 FPGA工程经典模块实战 161
5.1 分频器的设计 161
5.1.1 二进制分频器设计 161
5.1.2 偶数次分频器设计 163
5.1.3 奇数次分频器设计 164
5.1.4 占空比可调的分频器设计 167
5.1.5 小数分频器设计 169
5.2 序列检测器的设计 171
5.2.1 设计原理 171
5.2.2 VHDL源程序 171
5.2.3 元件符号及端口说明 173
5.2.4 时序仿真结果 173
5.3 交通控制器的设计 178
5.3.1 设计原理 178
5.3.2 VHDL源程序 179
5.3.3 元件符号及端口说明 180
5.3.4 功能仿真结果 180
5.4 十进制计数器的设计 181
5.4.1 设计原理 181
5.4.2 VHDL源程序 181
5.4.3 元件符号及端口说明 182
5.4.4 时序仿真结果 182
5.5 LED分位译码电路的设计 184
5.5.1 设计原理 184
5.5.2 VHDL源程序 184
5.5.3 元件符号及端口说明 186
5.5.4 时序仿真图 186
5.6 同步整形电路的设计 187
5.6.1 设计原理 187
5.6.2 VHDL源程序 188
5.6.3 元件符号及端口说明 189
5.6.4 时序仿真图 189
第6章 基于FPGA的单片机外围电路设计实例 192
6.1 去抖动电路的设计 192
6.1.1 设计原理 192
6.1.2 状态转换图 192
6.1.3 去抖动电路的VHDL源程序 193
6.1.4 元件符号及端口说明 194
6.1.5 时序仿真结果 194
6.2 4×4矩阵键盘的设计 195
6.2.1 设计原理 196
6.2.2 VHDL源程序 197
6.2.3 元件符号及端口说明 199
6.2.4 时序仿真图 199
6.3 并行ADC0809控制模块的设计 199
6.3.1 设计原理 200
6.3.2 ADC0809控制模块的VHDL源程序 201
6.3.3 元件符号及端口说明 203
6.3.4 时序仿真结果 204
6.4 串行DA TLC5615控制模块设计 204
6.4.1 设计原理 205
6.4.2 VHDL源程序 206
6.4.3 元件符号及端口说明 209
6.4.4 时序仿真图 209
6.5 UART控制器的设计 210
6.5.1 UART实现原理 210
6.5.2 UART各模块实现 211
6.6 步进电机控制模块的设计 217
6.6.1 设计原理 217
6.6.2 控制换相顺序 217
6.6.3 控制步进电机的转向 217
6.6.4 控制步进电机的速度 217
6.6.5 设计方框图 218
6.6.6 VHDL源程序 218
6.6.7 元件符号及端口说明 219
6.6.8 时序仿真结果 220
6.7 4位简单微处理器的设计 220
6.7.1 设计原理 220
6.7.2 各模块设计 222
第7章 电子设计大赛实例——基于DDS的正弦信号发生器 229
7.1 DDS工作原理 229
7.2 DDS基本结构 231
7.3 DDS设计思路 231
7.4 DDS正弦波发生器设计 232
7.5 图解DDS实现过程 233
7.5.1 创建工程 233
7.5.2 新建VHDL源文件 236
7.5.3 编写VHDL源程序 237
7.5.4 工程编译 237
7.5.5 ROM定制 239
7.5.6 对设计进行仿真 245
7.5.7 引脚锁定和下载 248
7.6 总结提高 249
7.6.1 LPM 249
7.6.2 存储器设计中应注意的问题 250
第8章 基于FPGA的视频监视系统设计 252
8.1 系统分析和模块划分 252
8.2 I2C控制模块 254
8.2.1 I2C总线时序描述 254
8.2.2 I2C模块设计 256
8.2.3 I2C模块仿真结果 258
8.3 异步FIFO模块 258
8.3.1 FIFO概述 258
8.3.2 异步FIFO模块设计 259
8.3.3 仿真结果说明 262
8.4 SDRAM控制模块 263
8.4.1 SDRAM概述 263
8.4.2 SDRAM控制器总体设计 264
8.4.3 SDRAM系统控制接口子模块设计 265
8.4.4 CMD命令解析和命令响应子模块 268
8.4.5 数据通路子模块 276
8.4.6 SDRAM控制器顶层模块 277
8.4.7 仿真结果 284
8.5 VGA显示控制模块 285
8.5.1 VGA概述 285
8.5.2 VGA的时序 285
8.5.3 VGA控制模块设计 286
8.5.4 时序仿真 288
8.6 系统小结 288
第9章 RoboCup大赛实践——轮系码盘反馈系统设计 289
9.1 足球机器人比赛概述 289
9.1.1 RoboCup联合会 289
9.1.2 FIRA联合会 289
9.1.3 机器人总体结构 290
9.1.4 中型机器人技术要求 291
9.2 轮系码盘工作特点 293
9.3 光电码盘工作原理 294
9.4 码盘抗抖电路设计 296
9.4.1 抖动原因 296
9.4.2 抗抖计数硬件设计 296
9.4.3 抗抖电路工作分析 297
9.5 鉴相模块设计 298
9.6 测速模块设计 299
9.6.1 测速工作原理 299
9.6.2 测速模块设计实现 301
第10章 Nios快速体验——直接用FPGA实现32位CPU 304
10.1 什么是SoPC和Nios 304
10.1.1 SoPC技术 304
10.1.2 什么是Nios软核 305
10.2 所需软件的安装与配置 306
10.2.1 支持软件说明 307
10.2.2 Nios II IDE安装说明 308
10.3 先用为快——设计一个可调试的Nios最小系统 311
10.3.1 新建一个工程 311
10.3.2 系统管脚分配 313
10.3.3 定制一个简单的32位处理器 314
10.3.4 在工程中使用Nios最小系统 321
10.3.5 选择C/C++语言编写Nios II应用程序 322
10.3.6 编译整个项目 324
10.3.7 下载与测试 325
10.4 Nios联机调试技巧 326
10.5 SoPC Builder设置详解 328
10.5.1 SoPC Builder主界面说明 328
10.5.2 CPU设置 329
10.5.3 On-Chip Memory配置 329
10.5.4 Flash Memory配置 330
10.5.5 基本I/O配置 330
10.5.6 UART串行通信接口配置 331
10.5.7 Interval Timer配置 332
10.5.8 Avalon三态总线配置 332
10.5.9 Nios系统地址分配配置 333
10.6 Nios系统的开发流程 334
10.7 跟我实践 335
第11章 DSP Builder设计应用 337
11.1 DSP Builder及其使用方法介绍 337
11.1.1 概述 337
11.1.2 设计流程 338
11.1.3 DSP Builder的安装与使用 340
11.2 DSP Builder设计入门 342
11.2.1 建立调幅模块电路模型 342
11.2.2 Simulink仿真电路模型 355
11.2.3 编译以及配置下载 356
11.2.4 利用ModelSim进行RTL级仿真 365
11.2.5 在Quartus II工程文件中应用设计模型 369
11.3 FIR滤波器设计与实现 371
11.3.1 FIR数字滤波器概述 371
11.3.2 FIR数字滤波器设计方法 372
11.3.3 FIR数字滤波器的DSP Builder设计 372
11.3.4 FIR数字滤波器的编译以及ModelSim仿真 376
第12章 经典第三方工具介绍与实践 378
12.1 经典综合工具——Synplify Pro 378
12.1.1 Synplify Pro 8.1介绍 378
12.1.2 Synplify Pro 8.1安装 379
12.1.3 使用方法1——Synplify Pro 8.1调用Quartus II 383
12.1.4 使用方法2——Quartus II调用Synplify Pro 8.1 387
12.1.5 综合实践举例 389
12.2 经典仿真工具——ModelSim 392
12.2.1 ModelSim介绍 392
12.2.2 ModelSim软件安装 394
12.2.3 ModelSim使用举例 399
参考文献 404
……[看更多目录]
序言Altera公司自1983年发明世界上第一个可编程逻辑器件以来,一直站在可编程逻辑技术创新发展的前沿,并于2008年正式推出全球首批40nm FPGA产品——Stratix IV GX,确立了其在全球FPGA技术领域的领导地位。
Altera将可编程逻辑器件、软件工具、IP和技术服务结合在一起,为广大的用户提供高价值的可编程解决方案。与昂贵的高风险ASIC开发和不灵活的ASSP以及数字信号处理器相比,该方案能够迅速将产品推向市场,具有明显的优势。因此,在通信、工业控制、汽车电子、广播、医疗设备、消费类电子、计算机和存储、军事和航空航天、测试和测量技术等领域,该方案获得了越来越多的应用。广大工程师对该方案非常青睐,并迫切希望掌握该方案。各地有关Altera产品和技术的培训班也应运而生,如雨后春笋般相继推出,为推广和普及Altera可编程解决方案起了很大的作用。
本书作者不仅具有深厚的可编程逻辑理论知识,而且使用Altera产品多年,具有丰富的实践经验。本书内容阐述得系统透彻,图文并茂,语言方面深入浅出,通俗易懂,并讲解了大量应用实例和设计案例。因此本书既可作为广大工程师学习Altera FPGA/CPLD的参考书,也可作为培训机构的培训教材或高校相关专业的教科书。
近年来,全国大学生电子设计大赛在中国蓬勃开展,受到广大大学生的喜爱。越来越多的学生选用Altera产品参赛并取得优异的成绩。
Altera每年也在中国举办亚洲创新大赛,报名参赛队数量呈几何级数增长。通过竞赛,同学们不仅在校期间就掌握了应用Altera.可编程解决方案完成项目设计的能力,也为就业打下了扎实的基础,并引起业界的高度重视。
本书作者指导学生参加电子设计大赛多年,积累了丰富的经验,并把心得、实例融入到本书。因此,本书也是一本难得的指导学生参加电子设计大赛的培训教材。
再次感谢本书作者的辛勤劳动,他们的成果为广大的工程师和学生掌握Altera.可编程解决方案提供了一条捷径!
文摘插图:
1.信号监测器模块
信号监测器用于对RS.232的输入信号进行实时监测,一但发现新的数据,立即通知UART内核。
2.移位寄存器模块
移位寄存器的作用是存储输入或者输出的数据。当uART接收RS·232输入时,移位寄存器在波特率模式下采集RS-232输入信号,并且保存结果;当UART进行RS-232输出时,UART内核首先将数据加载到移位寄存器内,再使移位寄存器在波特率模式下将数据输出到RS.232输出端口上。
3.波特率发生器模块
由于RS.232传输必定是工作在某种波特率下,比如9600,为了便于和。RS-232总线进行同步,必须产生符合。RS.232传输波特率的时钟,这就是波特率发生器的功能。
4.奇偶校验器模块
奇偶校验器模块的功能是根据奇偶校验的设置和输入数据计算出相应的奇偶校验位,它是通过纯组合逻辑实现的。
5.总线选择模块
总线选择模块用于选择奇偶校验的输入是数据发送还是数据接收总线。在接收数据时,总线选择模块将数据接收连接到奇偶校验器的输入端,来检查已接受数据的奇偶校验位是否正确;而在发送数据时,总线选择模块将数据发送总线连接到奇偶校验器的输入端,UART内核模块能够获取并且保存待发送序列所需的奇偶校验位。
6.计数器模块
计数器模块的功能是记录串行数据发送或者接收的数目,在计数到某数值时通知UART内核模块。
7.UART内核模块
UART内核模块是整个设计的核心。在数据接收的时候,UART内核负责控制波特率发生器和移位寄存器,使得移位寄存器在波特率时钟的驱动下同步地接收并且保持RS一232接收端口上的串行数据。在数据发送时,UART内核模块首先根据待发送的数据和奇偶校验位的设置产生完整的发送序列(包括起始位、数据位、奇偶校验位和停止位),之后控制移位寄存器将序列加载到移位寄存器的内部寄存器里,最后再控制波特率发生器驱动移位寄存器数据串行输出。