基于FPGA的嵌入式系统设计

基于FPGA的嵌入式系统设计
作 者: 徐欣
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 嵌入式计算机
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《基于FPGA的嵌入式系统设计》作者简介

内容简介

随着可编程逻辑技术的不断进步和创新,FPGA在嵌入式系统中发挥着越来越重要的作用,已被广泛应用于通信、航天、医疗、工控等领域。本书从嵌入式系统设计的角度出发,基于全球最大的可编程逻辑器件生产厂商Xilinx公司的系列FPGA产品,系统、全面地介绍了Xilinx公司最新系列FPGA的内部结构、设计流程和开发工具;详细介绍了IP资源复用理念和IP Core的开发方法;重点介绍了RISC处理器内核、DSP算法在FPGA中的实现原理和开发流程,向嵌入式设计工程师推荐一种基于可编程片上系统(SOPC)的嵌入式系统设计新理念。在随书附赠的光盘中,收录了Xilinx公司设计工具:ISE WebPACK和MXE 5.8c,文中设计、分析、仿真或综合时涉及的相关文件和工具,以及附录中所有实验教程的完整工程目录、源代码和使用说明,利于读者在阅读本书的过程中提高实际应用能力。本书立足于工程实践,结合作者多年嵌入式系统和可编程逻辑器件的开发和教学经验,选用成熟的火龙刀系列FPGA评估系统作为例程实验平台。对于各类从事嵌入式系统设计的科研人员和应用技术工程师,本书是一本不可多得的针对可编程片上系统(SOPC)设计原理和开发的参考书。本书比较适合作为Xilinx产品开发应用方面的专业教材,也可作为有志于从事专用数字电路设计的高等院校高年级本科生和研究生的参考书。

图书目录

前言

第1章 Xilinx现场可编程逻辑器件综述

1. 1 可编程逻辑器件的基本特征

1. 2 SOPC成为FPGA的发展趋势

1. 2. 1 Actel公司的VariCore内核和ProASIC Plus FPGA

1. 2. 2 Altera公司的Excalibur嵌入式处理器方案和Stratix器件

1. 2. 3 Atmel公司的FPSLIC系列产品

1. 2. 4 Lattice公司的FPSC和ORCA FPGA

1. 2. 5 QuickLogic公司的QuickMIPS

1. 2. 6 Xilinx公司的Virtex-II Pro FPGA

1. 2. 7 总结

1. 3 可编程逻辑器件的基本开发流程

1. 4 Xilinx可编程逻辑器件产品选型

1. 4. 1 Virtex系列FPGA

1. 4. 2 Spartan系列FPGA

1. 4. 3 扩展温度范围汽车IQ产品

1. 4. 4 军品及宇航级产品

1. 4. 5 配置存储器解决方案

1. 5 Xilinx创新平台FPGA架构ASMBL

1. 6 Xilinx可编程逻辑器件网络资源

1. 7 小结

第2章 Virtex TM系列高端Platform FPGA

2. 1 Virtex-II系列Platform FPGA产品

2. 1. 1 概述与订购信息

2. 1. 2 结构与功能描述

2. 2 Virtex-II Pro/Pro X系列Platform FPGA产品

2. 2. 1 概述与订购信息

2. 2. 2 结构与功能描述

2. 3 小结

第3章 Spartan TM系列高性价比FPGA产品

3. 1 Spartan-II系列FPGA产品

3. 1. 1 概述与订购信息

3. 1. 2 结构与功能描述

3. 2 Spartan-IIE系列FPGA产品

3. 2. 1 概述与订购信息

3. 2. 2 结构与功能描述

3. 3 Spartan-III系列FPGA产品

3. 3. 1 概述与订购信息

3. 3. 2 结构与功能描述

3. 4 小结

第4章 基于FPGA的嵌入式系统概述

4. 1 嵌入式系统概述

4. 1. 1 嵌入式系统的定义

4. 1. 2 嵌入式系统的基本特征

4. 1. 3 嵌入式系统的基本组成

4. 1. 4 嵌入式处理器的分类

4. 1. 5 实时多任务操作系统RTOS

4. 2 FPGA在嵌入式系统中的地位和作用

4. 2. 1 在FPGA中实现RISC处理器内核

4. 2. 2 在FPGA中实现高速DSP算法

4. 2. 3 在FPGA中嵌入式ASIC模块

4. 2. 4 在FPGA中实现数字IP Core

4. 3 基于FPGA的嵌入式系统设计方法

4. 3. 1 可编程片上系统设计框架

4. 3. 2 微处理器内核开发工具EDK

4. 3. 3 DSP算法硬件实现工具System Generator

4. 4 火龙刀系列FPGA评估系统设计

4. 4. 1 火龙刀I代Spartan-II评估系统

4. 4. 2 火龙刀II代Spartan-IIE评估系统

4. 5 小结

第5章 VHDL & Verilog HDL简明教程

5. 1 数字系统的表示方法和硬件描述语言

5. 2 VHDL语言

5. 2. 1 VHDL语言的基本结构

5. 2. 2 结构体的子结构描述

5. 2. 3 标识符 Identifier

5. 2. 4 数据对象 Data Object

5. 2. 5 数据类型

5. 2. 6 属性

5. 2. 7 运算符

5. 2. 8 VHDL的语句和结构体

5. 2. 9 用VHDL设计基本的逻辑电路

5. 3 Verilog HDL语言

5. 3. 1 Verilog HDL语言的发展及其特点

5. 3. 2 Verilog HDL的结构

5. 3. 3 空白符和注释

5. 3. 4 标识符

5. 3. 5 常量的数据类型

5. 3. 6 变量常用的数据类型

5. 3. 7 运算符

5. 3. 8 语句

5. 3. 9 块语句

5. 3. 10 编译预处理

5. 3. 11 基本逻辑电路的设计

5. 4 小结

第6章 使用C/C 开发FPGA介绍

6. 1 为什么要使用C/C 开发FPGA

6. 1. 1 传统的设计流程

6. 1. 2 SystemC及其系统设计流程

6. 1. 3 Handel-C及其开发FPGA的设计流程

6. 2 如何对SystemC进行功能仿真

6. 3 使用Visual C 和ModelSim来进行仿真

6. 3. 1 设计准备

6. 3. 2 编译生产SystemC的库文件

6. 3. 3 新建SystemC工程

6. 3. 4 为设计添加源文件

6. 3. 5 为工程添加systemc. lib文件

6. 3. 6 编译执行

6. 3. 7 使用ModelSim转换波形格式

6. 3. 8 使用ModelSim查看波形

6. 4 使用Borland C 和SystemC_Win进行功能仿真

6. 4. 1 设计准备

6. 4. 2 打开一个设计

6. 4. 3 编译. 执行

6. 5 小结

第7章 Xilinx ISE 6. 1i简明教程

7. 1 设计准备

7. 1. 1 ISE 6. 1i软件的安装

7. 1. 2 ISE软件的运行及ModelSim的配置

7. 2 用VHDL语言设计输入

7. 2. 1 创建一个新工程

7. 2. 2 创建一个计数器源文件

7. 2. 3 利用计数器模板向导生成设计

7. 3 仿真

7. 3. 1 创建Testbench波形源文件

7. 3. 2 设置输入仿真波形

7. 3. 3 生成预期输出响应

7. 3. 4 调用ModelSim进行仿真简介

7. 3. 5 调用ModelSim进行行为仿真 Simulate Behavioral Model

7. 3. 6 转换后仿真 Simulate Post-Translate VHDL Model

7. 3. 7 调用ModelSim进行映射后仿真 Simulate Post-Map VHDL Model

7. 3. 8 布局布线后的仿真 Simulate Post-Place&Route VHDL Model

7. 3. 9 使用ModelSim 5. 7SE对设计进行仿真

7. 4 用原理图设计输入

7. 4. 1 将创建的VHDL模块生成一个原理图符号

7. 4. 2 创建一个顶层原理图 Top-Level Schematic

7. 4. 3 例化VHDL模块 Instantiating VHDL Module

7. 4. 4 添加原理图连线 Wiring the Schematic

7. 4. 5 为连线添加网络名

7. 4. 6 为总线添加网络名

7. 4. 7 添加输入/输出引脚标记 I/O Markers

7. 4. 8 查看原理图生成的VHDL文件

7. 4. 9 查看综合后的RTL级电路图

7. 5 对顶层文件进行仿真

7. 6 设计实现

7. 7 用EDIF设计输入

7. 7. 1 设计输入

7. 7. 2 设计实现

7. 8 用Verilog HDL设计输入

7. 9 下载配置

7. 10 小结

第8章 使用ModelSim进行设计仿真

8. 1 ModelSim的License及其加密方法

8. 2 菜单和工具栏介绍

8. 2. 1 标题栏

8. 2. 2 菜单栏

8. 2. 3 工具栏

8. 2. 4 状态栏

8. 3 使用图形界面对设计进行仿真

8. 3. 1 创建新工程

8. 3. 2 为工程添加源文件

8. 3. 3 编译

8. 3. 4 装载设计

8. 3. 5 查看仿真波形窗口

8. 3. 6 设置信号驱动

8. 3. 7 开始仿真

8. 3. 8 仿真结果分析

8. 4 使用命令行方式对设计进行仿真

8. 5 TestBench及其在仿真中的应用

8. 5. 1 TestBench概述

8. 5. 2 使用TestBench对设计进行仿真

8. 6 TEXTIO在仿真中的应用

8. 7 ModelSim的配置

8. 8 ModelSim中常用的几个命令

8. 9 小结

第9章 基干Synplify/Synplify Pro的FPGA高级综合设计

9. 1 Synplify/Synplify Pro简介

9. 2 以一个例子来熟悉基本操作

9. 2. 1 新建一个工程

9. 2. 2 为工程添加设计文件

9. 2. 3 编译. 综合

9. 2. 4 查看综合后的RTL视图

9. 2. 5 查看技术视图

9. 2. 6 添加约束文件

9. 2. 7 查看综合报告

9. 2. 8 修改约束文件

9. 2. 9 在Synplify/Synplify Pro中调用ISE

9. 3 在ISE 6. 1中调用Synplify Pro

9. 3. 1 对ISE进行设置

9. 3. 2 以一个例子来说明

9. 4 使用ISE 6. 1自带的综合工具XST对设计进行综合

9. 5 小结

第10章 FPGA设计技巧--ISE高级设计工具

10. 1 Floorplanner概述

10. 2 使用Floorplanner手动布局逻辑块

10. 2. 1 新建ISE工程

10. 2. 2 为工程添加源文件

10. 2. 3 综合设计

10. 2. 4 查看综合后的RTL视图

10. 2. 5 进入Floorplanner

10. 2. 6 使用Floorplanner进行资源分配

10. 2. 7 为设计添加约束文件

10. 2. 8 查看布局布线结果

10. 2. 9 总结

10. 3 使用FPGA Editor进行手动布局布线

10. 3. 1 打开工程

10. 3. 2 进入FPGA Editor

10. 3. 3 导入设计

10. 3. 4 自动布线

10. 3. 5 手动布线

10. 3. 6 规则检查

10. 3. 7 查看布局结果

10. 3. 8 总结

10. 4 使用XPower分析设计的功耗

10. 4. 1 打开工程

10. 4. 2 新建仿真波形文件

10. 4. 3 仿真生成VCD文件

10. 4. 4 进行功耗分析

10. 4. 5 查看电池使用时间

10. 4. 6 参数设置

10. 5 小结

第11章 片内逻辑分析仪工具--ChipScope Pro

11. 1 ChipScope Pro概述

11. 2 使用ChipScope Pro内核生成器

11. 2. 1 使用ISE 6. 1建立一个新工程

11. 2. 2 打开ChipScope Pro Core Generator

11. 2. 3 产生ICON核

11. 2. 4 产生ILA内核

11. 2. 5 在VHDL设计流程中使用内核

11. 3 使用ChipScope Pro内核插入器

11. 3. 1 使用ISE 6. 1新建工程

11. 3. 2 Core Inserter参数设置

11. 3. 3 使用Xilinx ISE将插入的核整个实现流程

11. 4 使用ChipScope Pro分析器

11. 4. 1 启动边界扫描链

11. 4. 2 配置目标器件

11. 4. 3 设置触发条件

11. 4. 4 运行并观察波形

11. 5 小结

第12章 基于Internet的可重构逻辑技术及应用

12. 1 系统高级配置环境简介

12. 2 System ACE的实现

12. 2. 1 System ACE CF

12. 2. 2 System ACE MPM

12. 2. 3 System ACE SC

12. 3 基于嵌入式处理器的配置技术

12. 4 基于Internet的可重构逻辑实现

12. 4. 1 IRL的基本组成

12. 4. 2 基于8位单片机的IRL实现

12. 4. 3 基于32位微处理器的IRL实现

12. 4. 4 比较与应用

12. 5 PAVE

12. 6 小结

第13章 IP资源复用与IP Core开发

13. 1 IP资源复用理念与IP Core概述

13. 1. 1 IP资源概述

13. 1. 2 IP技术的形成

13. 1. 3 IP开发的现状

13. 1. 4 IP的发展面临的挑战

13. 1. 5 IP Core设计

13. 2 HDL编码风格与编码指导

13. 2. 1 编写代码前的准备工作

13. 2. 2 HDL编码风格

13. 2. 3 HDL编码指导

13. 2. 4 Verilog编码指导原则

13. 2. 5 VHDL编码指导原则

13. 2. 6 了解适合综合工具的代码风格

13. 3 Xilinx IP Core打包工具 IP Capture

13. 3. 1 IP Capture工具概述

13. 3. 2 IP Capture用户界面

13. 3. 3 IP Capture输出文件

13. 4 Xilinx IP Core生成工具 Core Generator

13. 4. 1 CORE Generator综述

13. 4. 2 IP核生成器用户界面

13. 4. 3 使用CORE Generator生成IP核的方法

13. 5 Xilinx IP Core更新工具 Updates Installer

13. 5. 1 Updates Installer概述

13. 5. 2 安装包的定义

13. 5. 3 设置用户计算机环境

13. 5. 4 代理设置

13. 5. 5 浏览器的路径

13. 5. 6 用户注册

13. 5. 7 IP升级包所需的输入

13. 5. 8 使用GUI安装IP Core

13. 5. 9 安装所选择的封装包

13. 5. 10 运行Get Models

13. 6 基于IP Core的设计实例

13. 6. 1 实例概述

13. 6. 2 IIR数字滤波器的运算结构

13. 6. 3 数字滤波器参数设计

13. 6. 4 IIR滤波器的硬件设计

13. 7 小结

第14章 PicoBlaze处理器IP Core开发与应用

14. 1 PicoBlaze处理器概述

14. 2 基于Virtex-II系列器件应用的PicoBlaze处理器

14. 2. 1 PicoBlaze处理器功能及结构分析

14. 2. 2 PicoBlaze的特性设置

14. 2. 3 PicoBlaze指令集

14. 2. 4 PicoBlaze处理器的控制信号

14. 2. 5 PicoBlaze汇编程序

14. 2. 6 程序语法

14. 2. 7 程序指令约束

14. 2. 8 汇编程序中的指令

14. 2. 9 与KCPSM代码兼容性

14. 2. 10 中断处理

14. 2. 11 CALL/RETURN堆栈

14. 2. 12 对于比较操作的一些提示

14. 3 基于Virtex-E和Spartan-II/IIE系列器件应用的PicoBlaze处理器

14. 3. 1 PicoBlaze处理器功能及结构分析

14. 3. 2 PicoBlaze的特性设置

14. 3. 3 PicoBlaze指令集

14. 3. 4 PicoBlaze处理器的控制信号

14. 3. 5 PicoBlaze汇编程序

14. 3. 6 程序语法

14. 3. 7 程序指令

14. 3. 8 汇编程序中的指令

14. 3. 9 与KCPSM2代码兼容性

14. 3. 10 中断处理

14. 3. 11 CALL/RETURN堆栈

14. 3. 12 PicoBlaze Macro的应用

14. 3. 13 对于应用的一些小提示

14. 4 基于CPLD系列器件应用的PicoBlaze处理器

14. 4. 1 PicoBlaze处理器功能及结构分析

14. 4. 2 PicoBlaze的特性设置

14. 4. 3 PicoBlaze指令集

14. 4. 4 PicoBlaze汇编程序

14. 4. 5 程序语法

14. 4. 6 汇编程序中的指令

14. 4. 7 PicoBlaze Macro的应用

14. 5 小结

第15章 Xilinx SOPC集成开发环境EDK

15. 1 EDK概述

15. 1. 1 系统要求

15. 1. 2 软硬件平台支持

15. 1. 3 集成IP Core支持

15. 2 系统描述文件

15. 2. 1 MHS文件

15. 2. 2 MSS文件

15. 2. 3 MVS文件

15. 3 EDK开发流程

15. 3. 1 XPS介绍

15. 3. 2 EDK设计流程实例

15. 3. 3 几种软硬件模式的说明

15. 3. 4 几个需要用户修改的文件说明

15. 4 小结

第16章 DSP开发工具System Generator

16. 1 System Generator概述

16. 1. 1 系统需求

16. 1. 2 软件安装

16. 1. 3 利用System Generator进行系统级建模

16. 2 Xilinx Blockset介绍

16. 2. 1 Xilinx模块定义

16. 2. 2 在Simulink模型中引用Xilinx模块

16. 2. 3 模块参数设置

16. 3 Xilinx Blockset库中的模块介绍

16. 3. 1 基本单元 Basic Elements

16. 3. 2 DSP模块

16. 3. 3 数学运算模块

16. 3. 4 存储器模块

16. 3. 5 通信模块

16. 3. 6 数据类型模块

16. 4 System Generator工程设计流程及实现

16. 4. 1 利用辅助工具学习System Generator

16. 4. 2 设计实现

16. 4. 3 基于EDIF的设计流程

16. 4. 4 设计仿真

16. 4. 5 约束文件

16. 4. 6 设计实例

16. 5 小结

附录 实验指导

实验1 数码管显示时钟

实验2 音频信号发生器

实验3 彩条信号显示

实验4 从SRAM中读取数据并显示

实验5 液晶模块显示字符串

实验6 EDK设计MicroBlaze定时器中断

实验7 System Generator使用

实验8 串行通信实验

实验9 虚拟信号发生器与示波器实验

参考文献