《FPGA嵌入式系统设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:孟宪元,钱伟康编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121050315
  • 页数:467 页
图书介绍:本书基于全球最大的可编程器件生产厂商美国Xilinx公司的系列FPGA产品,系统介绍了最新FPGA的内部结构、设计流程和ISE8.1i开发工具;全面介绍了FPGA实现嵌入式系统的基本原理和利用FPGA实现嵌入式系统的设计方法。在详细介绍硬件描述语言VHDL的基础上,如何利用VHDL语言设计数字系统,通过综合在FPGA上实现所设计系统的功能;利用可执行技术条件基于模型的设计方法,对设计的DSP系统进行建模、仿真和优化,以及通过代码生成,自动转换到硬件实现的过程;利用嵌入式处理器软核构造和裁剪嵌入式系统的设计方法,在单个FPGA芯片上利用软、硬件协同设计的方法,合理地配置资源,实现多处理器的嵌入式系统。

第1章 FPGA实现嵌入式系统概述 1

1.1 嵌入式系统概述 1

1.1.1 嵌入式系统的组成 1

1.1.2 嵌入式片上系统 3

1.2 FPGA嵌入式系统的特性 6

1.2.1 FPGA的基本特性 6

1.2.2 FPGA实现嵌入式系统的优势 8

1.2.3 FPGA DSP嵌入式系统 9

1.2.4 FPGA微处理器嵌入式系统 12

第2章 嵌入式系统设计 17

2.1 数字系统的抽象表示 17

2.2 系统设计的方法 21

2.3 基于模型的系统设计方法 24

2.4 IP核 27

2.5 电子系统级——ESL设计 32

2.6 AccelDSP软件工具 35

第3章 VHDL及编程技巧 37

3.1 VHDL简介 37

3.1.1 关于VHDL 37

3.1.2 VHDL代码的可综合性 38

3.1.3 用VHDL语言设计的流程 40

3.1.4 设计样例 41

3.2 VHDL代码基本结构 41

3.2.1 用户定义及库声明 42

3.2.2 实体(ENTITY)描述 44

3.2.3 结构体(构造体ARCHITECTURE)描述 45

3.2.4 基本对象、数据类型及运算符 47

3.2.5 并行语句结构 52

3.2.6 顺序语句结构 56

3.2.7 子程序及其引用 63

3.2.8 包集合与库 65

3.2.9 元器件配置 66

3.2.10 电路设计实例 69

3.3 VHDL编码风格 82

3.3.1 用VHDL语言设计时提高硬件综合效率的主要策略 83

3.3.2 优化系统速度的VHDL语言设计策略 84

3.3.3 面积优化的VHDL语言设计策略 87

3.3.4 提高设计性能的编程技巧 90

3.4 VHDL设计例程参考 94

第4章 FPGA的功能块硬核 95

4.1 系统设计的同步时钟 96

4.1.1 同步设计基本原理 96

4.1.2 SoC中的PLL 100

4.2 FPGA时钟电路 105

4.2.1 Xesium全局时钟 105

4.2.2 数字时钟管理(DCM) 108

4.2.3 相位匹配时钟分频器(PMCD) 114

4.2.4 ChipSync源同步 116

4.2.5 RocketIO高速串行接口 121

4.3 系统设计的逻辑资源 125

4.3.1 逻辑资源的组成结构 125

4.3.2 查找表(LUT)的逻辑功能 128

4.3.3 存储元件 130

4.4 系统芯片的存储器 130

4.4.1 片内RAM 130

4.4.2 分布RAM 132

4.4.3 块RAM 132

4.4.4 片外存储器接口 144

4.5 输入/输出模块 145

4.5.1 输入/输出接口标准 145

4.5.2 数字控制阻抗(Digitally Control Impendance,DCI) 149

4.5.3 输入/输出数据寄存器 153

4.5.4 数据的SERDES 159

第5章 数字系统设计流程(Xilinx ISE8.1i简明教程) 165

5.1 ISE Foundation软件简介 165

5.1.1 Xilinx ISE8.1i软件特性 166

5.1.2 ISE8.1i软件的安装和使用环境 167

5.1.3 FPGA设计流程 175

5.2 用VHDL语言设计输入 177

5.2.1 创建一个新工程 178

5.2.2 创建一个VHDL代码的计数器源文件 181

5.2.3 利用计数器模板向导生成VHDL源代码设计 182

5.3 设计综合 183

5.3.1 查看综合报告 184

5.3.2 查看综合后的RTL视图 185

5.3.3 综合工具高级选项 186

5.4 设计仿真 188

5.4.1 功能仿真(Behavioral Simulation) 188

5.4.2 时序仿真(Post Route Simulation,布局、布线后仿真) 192

5.5 设计实现 193

5.5.1 转换(Translate)、映射(Map)和布局、布线(Place&Route) 193

5.5.2 设计实现的运行步骤 194

5.6 CPLD/FPGA编程 195

5.6.1 JTAG编程 196

5.6.2 Xilinx-FPGA串、并行主/从模式编程 201

5.7 ISE8.1i高级设计技巧 212

5.7.1 布局、布线器(Floorplanner) 212

5.7.2 约束编辑器(USER Constraints Editor) 215

5.7.3 FPGA编辑器(FPGA Editor) 225

5.7.4 片内逻辑分析仪工具——ChipScopeTM Pro 8.1i的使用 231

第6章 FPGA DSP嵌入式系统 241

6.1 DSP的一般特性 241

6.2 FPGA实现DSP 243

6.3 FPGA的DSP硬件资源 246

6.3.1 逻辑资源的DSP特性 246

6.3.2 乘法器专用模块 248

6.3.3 DSP专用模块 249

6.4 FPGA实现DSP的结构变换 253

6.4.1 迭代限界(Iteration bound) 253

6.4.2 重新定时(Retiming) 255

6.4.3 流水线 258

6.4.4 并行处理 261

6.5 FPGA实现DSP的算法变换 262

6.5.1 “分布算法” 262

6.5.2 CORDIC算法变换 265

6.5.3 CIC(Cascaded Integrator Comb)滤波器 269

6.6 FPGA的DSP应用 271

6.6.1 MAC引擎的FIR滤波器 271

6.6.2 完全并行的滤波器结构 274

6.6.3 转置FIR滤波器 275

6.6.4 抽取滤波器和插值滤波器 277

6.6.5 多相滤波器 278

第7章 FPGA DSP嵌入式系统设计 284

7.1 设计流程概述 284

7.2 FPGA设计DSP技术 288

7.2.1 浮点数与定点数的表示与转换 288

7.2.2 采样周期的设置 291

7.3 System Generator的基本模块 292

7.3.1 Svstem Generator模块 292

7.3.2 Black Box模块 293

7.3.3 ModelSim模块 295

7.3.4 Gateway In模块和Gateway Out模块 296

7.3.5 Concat模块、Convert模块、Reinterpret模块和Slice模块 296

7.3.6 模块通用属性 298

7.4 设计FIR滤波器 299

7.4.1 产生FIR滤波器的系数 299

7.4.2 输入FIR滤波器系数 301

7.4.3 在Simulink中仿真FIR滤波器 302

7.4.4 完成FIR滤波器设计 304

7.4.5 实现FIR滤波器 304

7.4.6 利用资源估计器估计设计 305

7.4.7 执行硬件在环路中的校验 305

7.4.8 连接演示板,通过Simulink仿真FIR设计 306

7.5 利用协同仿真校验MAC FIR滤波器 307

7.5.1 产生MAC FIR核 307

7.5.2 编写Black Box模块封装文件 310

7.5.3 为HDL协同仿真完成MAC FIR的设计 312

7.5.4 连接Black Box图标 314

7.5.5 执行HDL协同仿真 315

7.5.6 执行硬件在环路校验 316

7.5.7 连接演示板,通过Simulink仿真MAC FIR设计 317

7.6 设计MAC FIR滤波器 318

7.6.1 分析系数 319

7.6.2 添加控制逻辑并对它参数化 320

7.6.3 添加双口RAM 322

7.6.4 在数据端口添加填充位和去填充位 324

7.6.5 完成MAC FIR设计 326

7.6.6 用各种信源测试设计 328

7.6.7 实现MAC FIR设计 330

7.6.8 执行硬件在环路校验 331

第8章 FPGA嵌入式处理器 337

8.1 MicroBlaze微处理器软核 337

8.1.1 MicroBlaze嵌入软核 337

8.1.2 流水线结构 341

8.1.3 存储器结构 342

8.1.4 指令Cache和数据Cache 342

8.2 嵌入式系统开发包——EDK 344

8.2.1 EDK(Embedded Development Kit) 344

8.2.2 XPS(Xilinx Platform Studio) 345

8.2.3 基本系统构造(BSB)向导 347

8.3 微处理器系统硬件设计 349

8.3.1 硬件设计环境 349

8.3.2 存储器组合 350

8.3.3 总线结构 350

8.3.4 IP核 351

8.3.5 硬件设计结果 354

8.3.6 硬件设计实现 356

8.4 嵌入式处理器软件设计 357

8.4.1 GNU工具 358

8.4.2 器件驱动 359

8.4.3 中断 361

8.4.4 库 361

8.5 MicroBlaze诊断环境 362

8.5.1 GNU Debugger-GDB工具 362

8.5.2 Xilinx Microprocessor Debugger,XMD 364

8.6 XPS软件开发包(SDK) 366

第9章 FPGA嵌入式微处理器设计 371

9.1 设计流程概述 371

9.2 EDK软件安装 372

9.3 FPGA嵌入式处理器硬件设计 373

9.3.1 硬件设计——利用基本系统构造框架 373

9.3.2 硬件设计——利用Add/Edit Cores 383

9.3.3 硬件设计——添加定制的IP 389

9.4 FPGA嵌入式处理器软件设计 401

9.4.1 软件设计——编写基本应用软件 401

9.4.2 软件设计——编写高级应用软件 412

9.4.3 软件开发包SDK 422

9.5 MicroBlaze FIR协处理器设计 431

9.5.1 产生FSL IP核 432

9.5.2 开发FSL IP核 437

9.5.3 输入FSL IP核 441

9.5.4 MicroBlaze FIR协处理器 447

附录A sysytem.mhs文件 460

参考文献 466