商品详情
- 商品名称:Xilinx FPGA开发实用教程(第2版)(配光盘)(Xilinx公司中国区大学计划经理作序,累计发行15000多册,繁体中文版台湾地区发行
- 商品编号
:17570575316
- 店铺:
- 重量:0.000千克
- 上架时间:2020-08-25 09:05:54
- ISBN编号
:9787302286431
- 书名
:Xilinx FPGA开发实用教程(附光盘第2版)/EDA工程技术丛书,Xilinx FPGA开发实用教程(附光盘第2版)/EDA工程技术丛书
- 作者
:徐文波,,田耘编著
- 出版社名称
:清华大学出版社
- 定价
:54.50元
- 是否是套装
:否
更多参数>>

《Xilinx FPGA开发实用教程(第2版)》系统地论述了Xilinx FPGA开发方法、开发工具、实际案例及开发技巧,内容涵盖Xilinx器件概述、VerilogHDL开发基础与进阶、Xilinx FPGA电路原理与系统设计、基于ISEFoundation的逻辑设计、时序分析、逻辑开发专题、基于EDK的嵌入式系统设计、基于SystemGenerator的DSP系统设计、数字信号处理专题以及SERDES技术专题共10章。各章均以实战开发为目的,结合*新版本的软硬件特征,覆盖了FPGA的各主要应用领域。附赠光盘中给出了书中所有实例的源码和相关的工程文件,便于读者快速动手实践。书中融汇了作者多年的工程开发经验,希望能够极力帮助读者提高工程开发能力。

基本信息
| 商品名称: | Xilinx FPGA开发实用教程(第2版)(配光盘)(Xilinx公司中国区大学计划经理作序,累计发行15000多册,繁体中文版台湾地区发行 | 开本: | 16开 |
| 作者: | 徐文波, 田耘编著 | 定价: | 54.50 |
| ISBN号: | 9787302286431 | 出版时间: | 2012-07-01 |
| 出版社: | 清华大学出版社 | 印刷时间: | 2012-07-01 |
| 版次: | 5 | 印次: | 1 |
1.2.3软核、硬核及固核
1.2.4Xilinx主流FPGA
1.3Xilinx软件工具
1.3.1ISE Foundation软件
1.3.2EDK开发工具
1.3.3System Generator DSP工具
1.3.4ChipScope Pro
1.3.5PlanAhead
1.4本书案例验证平台--S6 CARD开发板
1.4.1S6 CARD开发板的组成与功能
1.4.2S6 CARD板卡引脚约束说明
本章小结
第2章Verilog HDL开发基础与进阶
2.1Verilog HDL语言
2.1.1Verilog HDL语言的历史
2.1.2Verilog HDL的主要功能
2.1.3Verilog HDL和VHDL的区别
2.1.4Verilog HDL设计方法
2.2Verilog HDL基本程序结构
2.3Verilog HDL语言的数据类型和运算符
2.3.1标志符
2.3.2数据类型
2.3.3模块端口
2.3.4常量集合
2.3.5运算符和表达式
2.4Verilog HDL语言的描述语句
2.4.1结构描述形式
2.4.2数据流描述形式
2.4.3行为描述形式
2.4.4混合设计模式
2.5Verilog HDL建模与调试技巧
2.5.1双向端口的使用和仿真
2.5.2阻塞赋值与非阻塞赋值
2.5.3输入值不确定的组合逻辑电路
2.5.4数学运算中的扩位与截位操作
2.5.5利用块RAM来实现数据延迟
2.5.6测试向量的生成
2.6Verilog HDL常用程序示例
2.6.1数字电路中基本单元的FPGA实现
2.6.2基本时序处理模块
2.7Xilinx器件原语的使用
本章小结
第3章Xilinx FPGA电路原理与系统设计
3.1FPGA配置电路
3.1.1Xilinx FPGA配置电路
3.1.2Xilinx FPGA常用的配置引脚
3.1.3Xilinx FPGA配置电路分类
3.2JTAG电路的原理与设计
3.2.1JTAG电路的工作原理
3.2.2Xilinx JTAG下载线
3.3FPGA的常用配置电路
3.3.1主串模式--*常用的FPGA配置模式
3.3.2SPI串行Flash配置模式
3.3.3从串配置模式
3.3.4主字节宽度并行配置模式
3.3.5JTAG配置模式
3.3.6System ACE配置方案
3.4iMPACT软件使用
3.4.1iMPACT软件
3.4.2iMPACT中的JTAG配置操作
3.4.3iMPACT中的Xilinx PROM配置操作
3.4.4iMPACT中的SPI Flash配置操作
3.4.5FPGA配置失败的常见问题
3.5从配置PROM中读取用户数据
3.5.1从PROM中引导数据
3.5.2硬件电路设计方法
3.5.3软件操作流程
本章小结
第4章基于ISE Foundation的逻辑设计
4.1ISE套件
4.1.1ISE的特点
4.1.2ISE的功能
4.1.3ISE的安装
4.1.4ISE的用户界面
4.2基于ISE的设计输入
4.2.1新建工程
4.2.2代码输入
4.2.3代码模板的使用
4.2.4Xilinx IP Core的原理与应用
4.3ISE基本操作
4.3.1基于Xilinx XST的综合
4.3.2基于ISim的仿真
4.3.3基于ISE的实现
4.3.4基于目标和策略的设计方法
4.3.5基于SmartGuide的设计方法
4.3.6比特文件的生成
4.3.7基于IMPACT的芯片配置
4.3.8功耗分析以及XPower的使用
4.4约束
4.4.1约束文件
4.4.2UCF文件的语法说明
4.4.3引脚和区域约束语法
4.4.4时序约束语法
4.5调试利器--ChipScope Pro
4.5.1ChipScope Pro工作原理
4.5.2ChipScope Pro操作流程
4.5.3ChipScope Pro开发实例
4.6ISE与第三方EDA软件
4.6.1ModelSim软件的使用
4.6.2ModelSim和ISE的联合开发流程
4.6.3MATLAB软件的使用
4.6.4ISE与MATLAB的联合使用
4.6.5MATLAB、ModelSim和ISE联合开发实例
本章小结
第5章时序分析
5.1时序分析的作用和原理
5.1.1时序分析的作用
5.1.2静态时序分析原理
5.1.3时序分析的基础知识
5.2Xilinx FPGA中的时钟资源
5.2.1全局时钟资源
5.2.2第二全局时钟资源
5.3ISE时序分析器
5.3.1时序分析器的特点
5.3.2时序分析器的文件类型
5.3.3时序分析器的调用与用户界面
5.3.4提高时序性能的手段
本章小结
第6章逻辑开发专题
6.1Verilog HDL设计进阶
6.1.1面向硬件的程序设计思维
6.1.2“面积”和“速度”的转换原则
6.1.3同步电路的设计原则
6.2Xilinx FPGA芯片底层单元的使用
6.2.1Xilinx全局时钟网络的使用
6.2.2CMT时钟管理模块的使用
6.2.3Xilinx内嵌块存储器的使用
6.2.4硬核乘加器的使用
6.3代码风格
6.3.1代码风格的含义
6.3.2代码书写风格
6.3.3通用设计代码风格
6.3.4Xilinx专用设计代码风格
6.4UART接口开发实例
6.4.1串口接口与RS?232协议
6.4.2串口通信控制器的Verilog HDL实现
6.4.3RS?232设计板级调试
本章小结
第7章基于EDK的嵌入式系统设计
7.1可配置嵌入式系统(EDK)
7.1.1基于FPGA的可编程嵌入式开发系统
7.1.2Xilinx公司的解决方案
7.2Xilinx嵌入式开发系统组成
7.2.1片内微处理器软核MicroBlaze
7.2.2PLB总线系统结构
7.2.3IP核以及设备驱动
7.3EDK软件
7.3.1EDK设计的实现流程
7.3.2EDK的文件管理架构
7.4XPS软件典型操作
7.4.1XPS的启动
7.4.2利用BSB创建新工程
7.4.3XPS的用户界面
7.4.4XPS的目录结构与硬件平台
7.4.5在XPS加入IP Core
7.4.6XPS工程的综合与实现
7.5SDK软件典型操作
7.5.1SDK的用户界面
7.5.2SDK的典型操作
7.5.3IP外设的API函数查阅和使用方法
7.5.4GPIO外设开发实例
7.5.5其他外设开发实例
本章小结
第8章基于System Generator的DSP系统设计
8.1System Generator的特点与安装
8.1.1System Generator的主要特点
8.1.2System Generator的安装和配置
8.2System Generator的使用基础
8.2.1System Generator开发流程
8.2.2Simulink的应用
8.3基于System Generator的DSP系统设计
8.3.1System Generator的应用
8.3.2System Generator中的信号类型
8.3.3自动代码生成
8.3.4编译MATLAB设计生成FPGA代码
8.3.5子系统的建立与ISE调用
8.4基于System Generator的硬件协仿真
8.4.1硬件协仿真平台的特点与平台安装
8.4.2硬件协仿真的基本操作
8.4.3共享存储器的操作
8.5System Generator的高级应用
8.5.1导入外部的HDL程序模块
8.5.2设计在线调试
8.5.3系统中的多时钟设计
8.5.4FPGA设计的高级技巧
本章小结
第9章数字信号处理专题
9.1数字信号
9.1.1数字信号的产生
9.1.2采样定理
9.1.3数字系统的主要性能指标
9.1.4A/D转换的字长效应
9.2常用DSP IP Core及其应用
9.2.1DDS模块IP Core的应用
9.2.2FFT算法IP Core的应用
9.2.3Cordic算法IP Core的应用
9.2.4FIR滤波器IP Core的应用
9.3多速率滤波器的FPGA实现
9.3.1多速率信号处理的意义
9.3.2多速率信号滤波器的基本操作
9.3.3CIC滤波器的FPGA实现
9.3.4HB滤波器的FPGA实现
本章小结
第10章SERDES技术专题
10.1高速数据连接功能
10.1.1高速数据传输
10.1.2Xilinx公司高速连接功能的解决方案
10.2实现吉比特高速串行I/O的相关技术
10.2.1吉比特高速串行I/O的特点和应用
10.2.2吉比特串行I/O系统的组成
10.2.3吉比特串行I/O的设计要点
10.3Rocket I/O收发器原理与开发
10.3.1Rocket I/O硬核组成与工作原理
10.3.2GTP硬核组成与工作原理
10.3.3GTP Wizard开发实例
10.4PCI?Express G1端点接口设计
10.4.1PCI Express G1技术
10.4.2Xilinx PCI Express G1端点模块
10.4.3PCI Express G1端点接口实例解读
本章小结
参考文献

第3章Xilinx FPGA电路原理与系统设计
FPGA器件基于SRAM结构来实现可编程特性,具有集成度高、逻辑功能强等特点,但掉电后编程信息立即丢失,芯片在每次加电时,都必须重新下载设计文件所生成的配置数据。正是这一特性使得用FPGA来实现数字系统时,不但能减小电路板的面积、缩短开发周期、提高系统运行的可靠性,而且还可无限次重复擦写,能够完成数字系统的在线重配置,易于设备功能的更改和升级。因此,如何快速、高效地将配置数据写入目标器件,并且保证其在掉电后再次上电能自动可靠地恢复配置,就成为整个系统的关键所在。目前,配置FPGA的方式有多种,可以通过JTAG口配置(一般用在调试过程),可以通过PROM、Flash来配置,也可以通过CPU或者CPLD进行配置。本章主要介绍Xilinx FPGA常用配置电路的原理以及相应的软件操作。3.1FPGA配置电路FPGA配置电路可看成用户设计和硬件电路之间的连接纽带。随着制造工艺的发展和应用范围的扩展,FPGA配置电路呈现多元化发展,*终目的都是在一定的外部条件下,准确、快速地实现FPGA系统配置。只有正确地理解了配置电路,才能在实际开发中选择*优的解决方案。本节主要从宏观上介绍FPGA配置电路的组成、工作流程以及不同方式之间的差异。3.1.1Xilinx FPGA配置电路FPGA芯片是基于SRAM工艺的,不具备非易失特性,因此断电后将丢失内部逻辑配置。在每次上电后,都需要从外部非易失存储器中导入配置比特流。硬件配置是FPGA开发的*关键的一步,只有将HDL代码下载到FPGA芯片中,才能进而调试并*终实现相应的功能。完成FPGA配置,必须要有类似于单片机仿真器的下载电缆才能完成,典型的FPGA配置系统如图3-1所示。
图3-1FPGA配置系统组成
在FPGA配置系统中,编程软件由FPGA提供商提供,设计人员要掌握其操作方法; 下载电缆是固定的JTAG电路,只要将其连接在PC上以及目标板上即可; 只有目标板上的配置电路需要设计人员设计。其中,JTAG链路是器件编程的关键传输枢纽。因此JTAG链路的工作原理、FPGA的各种配置电路以及编程软件的操作是本章的重点内容。将配置数据从PC上加载到Xilinx FPGA芯片中的整个配置过程,可分为以下步骤。 1. 初始化通上电后,如果FPGA满足以下条件: Bank2的I/O输出驱动电压Vcc0_2大于1V; 器件内部的供电电压Vccint为2.5V,器件便会自动进行初始化。在系统上电的情况下,通过对PROG引脚置低电平,便可以对FPGA进行重新配置。初始化过程完成后,DONE信号将会变低。2. 清空配置存储器在完成初始化过程后,器件会将INIT信号置低电平,同时开始清空配置存储器。在清空完配置存储器后,INIT信号将会重新被置为高电平。用户可以通过将PROG或INIT信号(INIT为双向信号)置为低电平,从而达到延长清空配置存储器的时间,以确保存储器被清空。3. 加载配置数据配置存储器的清空完成后,器件对配置模式脚M[2:0]/M[1:0]进行采样,以确定用何种方式来加载配置数据。4. CRC错误检查器件在加载配置数据的同时,会根据一定的算法产生一个CRC值,这个值将会和配置文件中内置的CRC值进行比较,如果两者不一致,则说明加载发生错误,INIT引脚将会被置低电平,加载过程被中断。此时若要进行重新配置,只需将PROG置为低电平即可。5. START-UPSTART-UP阶段是FPGA由配置状态过渡到用户状态的过程。在START-UP完成后,FPGA便可实现用户编程的功能。在START-UP阶段中,FPGA会进行以下操作: (1) 将DONE信号置高电平,若DONE信号没有置高,则说明数据加载过程失败; (2) 在配置过程中,器件的所有I/O引脚均为三态,此时,全局三态信号GTS置低电平,这些I/O脚将会从三态切换到用户设置的状态; (3) 全局复位信号GSR置低电平,所有触发器进入工作状态; (4) 全局写允许信号GWE置低电平,所有内部RAM有效。整个过程需要8个时钟周期C0~C7。在默认的情况下,这些操作都和配置时钟CCLK同步。在DONE信号置高电平之前,GTS、GSR、GWE都保持高电平。如果选用JTAG配置电路,则所有操作都和JTAG电路的TCK保持同步。3.1.2Xilinx FPGA常用的配置引脚对于FPGA芯片而言,无论何种配置方式,都必须通过FPGA相应的引脚把设计加载到FPGA芯片中。和配置有关的引脚可以分为专用引脚和复用引脚两类,前者只能用于FPGA配置,而后者在配置过程结束后,还可当作普通I/O使用。专用的配置引脚有: 配置模式脚M[2:0]或者M[1:0]; 配置时钟CCLK; 配置逻辑异步复位PROG; 启动控制DONE及边界扫描TDI、TDO、TMS、TCK。非专用配置引脚有: Din、D0: D7、CS、WRITE、BUSY、INIT。当然,部分专用配置引脚在配置结束后也可作为普通引脚使用。例如,在Spartan-3A系列FPGA中,3个FPGA引脚M2、M1和M0用于选择配置模式,其配置说明如表3-1所示,M[2:0]的值在INIT_B输出变高后才有效。在FPGA配置完成后,M[2:0]可以作为普通I/O使用。
表3-1Spartan-3A配置模式选择以及特性
主串模式SPI模式BPI模式从并模式从串模式JTAG
模式配置引脚M[2:0]<0:0:0><0:0:1><0:0:0>=UP<0:0:0>=DOWN<0:0:0><0:0:0><0:0:0>数据宽度单比特单比特字节宽度字节宽度单比特单比特
配置数据存储器类型Xilinx系列PROM标准SPI串行FLASHXilinx系列PROM或并行NOR FLASH外部CPU、MCU或Xilinx并行PROM外部CPU、MCU
配置时钟源FPGA提供FPGA提供FPGA提供CCLK引脚上的外部时钟TCK信号
配置所需引脚数813462180配置菊花链中的FPGA从串从串从并从并从串JTAG
是否需要额外配置主机否否否使用Xilinx并行PROM不需要,否则需要外部主机否
在Spartan-6系列FPGA中,配置模式引脚为M[1:0]的形式,只有M1和M0两个引脚。其基本原理和Spartan-3A系列FPGA中的M[2:0]完全一致,只是在具体选择内容上不同,如表3-2所示。
表3-2Spartan-6配置模式选择以及特性
配置模式M[1:0]总线宽度CCLK方向
主Serial/SPI011, 2, 4输出主SelectMAP/BPI008, 16输出JTAGxx1输入(TCK)从SelectMAP108, 16输入从Serial111输入
3.1.3Xilinx FPGA配置电路分类FPGA配置方式灵活多样,根据FPGA芯片是否能够主动加载配置数据分为主模式、从模式以及JTAG模式。典型的主模式都是加载片外非易失(断电不丢数据)性存储器中的配置比特流,读取配置数据所需的时钟信号(称为CCLK,通过FPGA芯片的CCLK引脚发出)由FPGA内部产生,且FPGA控制整个配置过程。从模式需要外部的主智能终端(如处理器、微控制器或者DSP等)将数据下载到FPGA中,写入数据的时钟(仍然通过CCLK引脚进入FPGA)由外围器件产生,其*的优点就是FPGA的配置数据可以放在系统的任何存储部位,包括Flash、硬盘、网络,甚至在其余处理器的运行代码中。JTAG模式为调试模式,可将PC中的比特文件流下载到FPGA中,断电即丢失。此外,目前Xilinx还有基于Internet的、成熟的可重构逻辑技术System ACE解决方案。1. 主模式在主模式下,FPGA上电后,自动将配置数据从相应的外存储器读入到SRAM中,实现内部结构映射; 主模式根据比特流的位宽又可以分为: 串行模式(单比特流)和并行模式(字节宽度比特流)两大类。例如,主串行模式、主SPI Flash串行模式、内部主SPI Flash串行模式、主BPI并行模式以及主并行模式,如图3-2所示。2. 从模式在从模式下,FPGA作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。从模式也根据比特流的位宽不同分为串、并模式两类,具体包括从串行模式、JTAG模式和从并行模式3大类,其概要说明如图3-3所示。
图3-2常用主模式下载方式示意图
图3-3常用的从模式下载方式示意图
3. JTAG模式在JTAG模式中,PC和FPGA通信的时钟为JTAG接口的TCLK,数据直接从TDI进入FPGA,完成相应功能的配置。目前,主流的FPGA芯片都支持各类常用的主、从配置模式以及JTAG,以减少配置电路失配性对整体系统的影响。在主配置模式中,FPGA自己产生时钟,并从外部存储器中加载配置数据,其位宽可以为单比特或者字节; 在从模式中,外部的处理器通过同步串行接口,按照比特或字节宽度将配置数据送入FPGA芯片。此外,多片FPGA可以通过JTAG菊花链的形式共享同一块外部存储器,同样一片/多片FPGA也可以从多片外部存储器中读取配置数据以及用户自定义数据。
3.2JTAG电路的原理与设计3.2.1JTAG电路的工作原理1. JTAG电路简介
JTAG(Joint Test Action Group)即联合测试行动小组。目前,JTAG已成为一种国际标准测试协议,主要用于各类芯片的内部测试。现在大多数高级器件(包括FPGA、MCU、DSP以及CPU等)都支持JTAG协议。标准的JTAG接口是4线接口: TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入和数据输出信号线。JTAG电路的功能模块如图3-4所示。
图3-4JTAG电路的内部结构示意图
JTAG*初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)端口,通过专用的JTAG测试工具对内部节点进行测试。此外,JTAG协议允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。此外,JTAG接口还常用于实现ISP(In-System Programmable,在线编程),对Flash等器件进行编程。JTAG在线编程的特征也改变了传统生产流程,将以前先对芯片进行预编程再装到板上的工艺简化为: 先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。2. JTAG边界扫描电路边界扫描测试(Boundary Sean Test,BST)一般采用4线接口(在5线接口中,有一条为主复位信号),也可以通过PC的RS-232接口就能模拟BST的功能。BST标准接口是用来对电路板进行测试的,可在器件正常工作时捕获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或从器件核心逻辑信号中捕获数据,和预期的结果进行比较,根据比较结果给出扫描状态,以提示用户电路设计是否正确。典型边界扫描测试电路的结构如图3-5所示。
图3-5JTAG链扫描结构示意图
边界扫描测试提供了一个串行扫描路径,遵守IEEE规范的器件之间的引脚连接情况。IEEE 1149.1标准所规定的BST结构为: 当器件工作在JTAG BST模式时,使用4个专用的I/O引脚和一个可选引脚TRST作为JTAG引脚。这4个专用I/O引脚为TDI 、TDO、 TMS 和TCK。所有JTAG引脚的核心功能如表3-3所示。3. JTAG电路时序JTAG电路的时序如图3-6所示,所有基于JTAG的操作都必须同步于JTAG时钟信号TCK。在TCK的上升沿读取或输出有效数据,有严格的建立、保持时间要求,且JTAG电路追求稳定性,因此一般情况下JTAG的时钟不会太高。
表3-3JTAG引脚说明
引脚名名称功 能 描 述
TDI测试数据输入引脚JTAG指令和测试编程数据的输入引脚,数据在TCK信号的上升沿时刻读入TDO测试数据输出引脚 JTAG指令和测试编程数据的串行输出引脚,数据在TCK信号的下降沿时刻读出; 如果数据没有输出,则处于三态TMS测试模式选择引脚 该数据引脚是控制信号,它决定了TAP控制器的转换; TMS信号必须在TCK上升沿之前建立,在用户状态下TMS信号应是高电平TCK测试时钟输入引脚 JTAG链路的时钟信号,直接输入到边界扫描电路; 所有操作都在其上升沿或下降沿时刻发生TRST测试复位输入引脚 用于异步初始化或复位JTAG边界扫描电路,低电平有效
图3-6JTAG电路的时序关系示意图
4. FPGA芯片中JTAG扫描电路的工作流程JTAG边界扫描测试由测试访问端口的控制器管理,只要FPGA上电后电压正确,且JTAG链路完整,则JTAG电路可立即正常工作,清空JTAG配置寄存器等待外界响应,整体流程如图3-7所示。
图3-7JTAG边界扫描流程示意图
TMS、TRST 和TCK引脚管理TAP控制器的操作,TDI和TDO为数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个控制信号决定。在4线接口标准中,利用TDI、TDO、TCK、TMS 4个信号,它们合成为TAP测试处理端口(Test Access Port); 测试复位信号(TRST,一般以低电平有效)一般作为可选的第5个端口信号。3.2.2Xilinx JTAG下载线下载线一端以JTAG的方式和FPGA/PROM芯片相连,另一端则通过USB/并口和计算机相连,为设计人员提供了由PC配置FPGA/PROM芯片的数据链路。本节介绍目前常用的Xilinx下载线,以及简易下载线的制作方法。
1. Xilinx下载线介绍根据下载线和PC连接方式的不同,可以将其分为USB下载线和并口下载线两大类。USB下载线速度快,稳定度高,当然价格也比较昂贵,目前Xilinx公司提供的USB下载线分为USB Ⅰ和USB Ⅱ。并口下载线根据下载速度的不同,可分为Parallel Cable Ⅳ(简称为PC4)和Parallel Cable Ⅲ两类(简称为PC3): PC4可适用于Xilinx公司所有芯片,速度比PC3快8倍,价格大约为USB Ⅰ下载线的1/3; PC3采用简单的EPP模式,透传式实现,成本低廉,但下载速度缓慢,且不具备配置电压自适应的功能,已经不能用于Xilinx公司新型FPGA的开发,存在一定的应用局限性。无论哪种下载线,在FPGA端都具有标准的4根JTAG接口、电源引脚以及地(VCC、GND、TCK、TMS、TDI和TDO),共6个信号端口,也被称为JTAG连接器。也有一种常见的10脚JTAG连接器,其中多了1个GND信号以及3根悬空信号(NC)。在实际工程中,有一条性能稳定的下载线,不仅能避免配置错误(如利用PC3并口下载线配置Spartan-6、Virtex-6等容量较大的芯片时失败概率非常高),还能提高配置的成功率和时间(在实际中,完整正确的配置电路也不能保证每次配置都成功)。下面对Xilinx各种下载线的特点和性能进行简要总结,如表3-4所示,供读者参考。
表3-4Xilinx下载线性能的简要总结
USB下载线Parallel Cable Ⅳ下载线Parallel Cable Ⅲ下载线
器件编号HW-USB-GHW-PC4HW-PC3
连接目标USB 1.1或USB 2.0接口PC并口(DB25)PC并口(DB25)
支持的I/O电压1.5V、1.8V、2.5V、3.3V、5V1.5V、1.8V、2.5V、3.3V、5V3.3V、5V工作电压需求USB总线供电总线供电或使用外部电源总线供电
硬件配置模式支持Xilinx全系列配置模式支持Xilinx全系列配置模式支持Xilinx全系列配置模式
支持的操作系统Windows 2000/XP/Vista/7
Red Hat Enterprise Linux Workstation 3.0&4.0
SUSE Linux 9&10
支持的芯片所有的Xilinx FPGA、CPLD、PROM
目标*时钟速率24Mb/s5Mb/s是否支持在系统编程支持支持支持
2. PC3并行下载的电路原理图首先对PC的打印接口进行简单介绍。PC上的打印接口共有25根连线(一般也称为DB25),如图3-8所示。其中18~25都是地线,因此实际共有17根线,分成3类: 8根数据线,可进行数据输出; 5根状态线,作为输入; 4根控制线,作为输出。这3组线分别由打印口的3个寄存控制器控制,即数据口、状态口和控制口。只要对这3个寄存器读或写,就可以输入或输出数据。并口下载线主要完成PC并口和FPGA芯片JTAG接口之间的数据适配。Xilinx公司PC3并口下载电缆的原理图是公开的,结构简单,成本低廉,有兴趣的读者完全可以自己动手制作,在电子市场上则一般需要数十元。下载电缆的接口电路比较简单,简易连接关系见图3-8,制作时间非常短,半天时间即可。接口电路只完成了电平转换和简单的译码工作,不涉及信号时序的改变。其中74HC125为Philips公司生产的4输入三态驱动器,用来增强信号强度; LED用来给出下载信息指示。详细的元件清单如表3-5所示。下载线的供电由电路板供电,即由JTAG连接器的VCC提供,因此和电路板的距离不能太长,一般为20cm左右; 和并口连接端可以适当延长,但也不应当超过1m,一般选择50cm左右,否则容易发生下载错误。此外,肖特基二极管应选取低压降的管子,以保证下载线正常工作。

本书系统地论述了Xilinx FPGA开发方法、开发工具、实际案例及开发技巧,内容涵盖Xilinx器件概述、VerilogHDL开发基础与进阶、Xilinx FPGA电路原理与系统设计、基于ISEFoundation的逻辑设计、时序分析、逻辑开发专题、基于EDK的嵌入式系统设计、基于SystemGenerator的DSP系统设计、数字信号处理专题以及SERDES技术专题共10章。各章均以实战开发为目的,结合*新版本的软硬件特征,覆盖了FPGA的各主要应用领域。配套光盘中包含了书中所有的实例代码,便于读者快速动手实践。书中融汇了作者多年的工程开发经验,希望能够极力帮助读者提高工程开发能力。
本书适合作为电子信息工程、通信工程、自动化、计算机科学与技术等相关专业的高年级本科生及研究生的教学用书,也可以作为从事FPGA设计工作的工程师的参考图书。

......

徐文波:京邮电大学信号与信息处理专业博士,现执教于北京邮电大学信息与通信工程学院,长期从事信号处理理论及实际开发的教学与研究工作,发表多篇相关学术论文。
田耘:北京邮电大学信号与信息处理专业硕士学位,长期从事信号处理领域中的FPGA技术开发,资深FPGA技术专家,著有多部FPGA相关技术图书。
评论晒单