文档库 最新最全的文档下载
当前位置:文档库 › 在Xilinx FPGA 上快速实现JESD204B

在Xilinx FPGA 上快速实现JESD204B

在Xilinx FPGA 上快速实现JESD204B
在Xilinx FPGA 上快速实现JESD204B

在Xilinx FPGA上快速实现JESD204B 作者:Haijiao Fan

简介

JESD204是一种连接数据转换器(ADC和DAC)和逻辑器件的高速串行接口,该标准的B修订版支持高达12.5 Gbps串行数据速率,并可确保JESD204链路具有可重复的确定性延迟。随着转换器的速度和分辨率不断提升,JESD204B接口在ADI高速转换器和集成RF收发器中也变得更为常见。此外,FPGA和ASIC中灵活的串行器/解串器(SERDES)设计正逐步取代连接转换器的传统并行LVDS/CMOS接口,并用来实现JESD204B物理层。本文介绍如何快速在Xilinx?FPGA上实现JESD204B接口,并为FPGA设计人员提供部分应用和调试建议。

JESD204B协议实现概述

JESD204B规范定义了实现该协议数据流的四个关键层,如图1所示。传输层完成样本和未加扰的帧数据之间的映射和解映射。可选的加扰层可用来加扰/解扰8位字,以扩散频谱尖峰来降低EMI。数据链路层处理链路的同步、建立与保持,并对加扰后的数据进行8B10B编码或译码。物理层负责以比特速率发送和接收编码后的字符。

图1. JESD204B标准的关键层级

不同的JESD204B IP供应商可能以不同的方式实现这些层级。图2和图3显示ADI如何实现JESD204B的发送和接收协议。

图2. JESD204B发送器实现

图3. JESD204B接收器实现

模拟对话,49-02,2015年2月https://www.wendangku.net/doc/4c183114.html,/zh/analogdialogue1

传输层实现和特定的转换器配置及其样本与帧之间的映射方式强相关,因此大部分FPGA供应商将其排除在各自的JESD204 IP之外。此外,FPGA集成了高度可配置、高集成度的SERDES收发器,这些SERDES收发器可用来支持所有类型的串行协议,包括PCIe、SATA、SRIO、CPRI和JESD204B。因此,一个实现链路层的逻辑核和实现物理层的可配置SERDES便构成了JESD204B链路的基础。图4和图5显示Xilinx FPGA上的JESD204B发送器和接收器框图。发送器/接收器通道实现加扰和链路层;8B/10B编码器/解码器和物理层在GTP/GTX/GTH Gbit收发器中实现。

图4. 使用Xilinx FPGA实现JESD204B发送器

图5. 使用Xilinx FPGA实现JESD204B 接收器

2模拟对话,49-02,2015年2月

采用Xilinx FPGA的JESD204B设计示例

最新的Xilinx JESD204 IP核通过Vivado?设计套件以黑盒子加密交付。Xilinx还提供使用高级eXtensible 接口(AXI)的Verilog设计示例,但该示例项目对大部分应用而言是过设计的,因为用户通常采用自己的配置接口,无需针对JESD204B逻辑集成一个额外的AXI。图6显示的是一个JESD204简化设计,旨在帮助FPGA用户理解JESD204结构,并让他们快速着手设计自己的JESD204 FPGA项目。

图6. JESD204B设计示例

Vivado产生的JESD204逻辑IP核,即经过加密的RTL摸块相当于图4和图5中的发送和接收模块,其加密接口定义可在Xilinx 示例设计文件中找到。然后,可将经过加密的RTL模块嵌套入JESD204B用户顶层。来自加密RTL模块的控制、配置、状态和JESD数据接口直接通过嵌套层连接到用户逻辑和GTX/GTH收发器。GTX/GTH符号对齐配置经优化和更新,使收发器工作更为稳定。

给SERDES收发器的GTX/GTH参考时钟应采用专用引脚,对用于FPGA逻辑的全局时钟设计必须仔细的考虑,包括内部PLL、并行接口时钟、JESD204逻辑核以及用户逻辑时钟。此外,必须确保给JESD204B逻辑核(子类1)的SYSREF输入被准确采到,以确保JESD204链路的确定性延迟。

若要获得可靠的JESD链路初始化性能,GTX/GTH收发器和JESD204核的复位序列十分关键;因此,JESD204核应处于复位状态,直到GTX/GTH收发器的内部PLL锁定,且GTX/GTH复位完成。

F2S模块实现JESD204的传输层,该模块根据特定JESD204B配置将样本映射至帧,或从帧解映射至样本。然后根据特定的应用去处理样本数据。采用辅助模块监测JESD204逻辑和物理层(PHY)状态,供系统调试。Xilinx SERDES收发器的符号对齐

在SERDES接收器中,串行数据必须与符号边界对齐,才能用作并行数据。为了对齐数据,可让发送器发送一个可供识别的序列,通常称为“逗号”。接收器搜索输入串行数据流中的逗号,一旦找到便将其移到符号边界。这样可让接收到的并行字与发送的并行字相匹配。逗号通常用K码表示,它是8B/10B表中用作控制符的一些特殊字符。对于JESD204B应用,发送器发送K = K28.5符号流,以便进行码组同步(CGS)。因此,FPGA可采用K28.5作为逗号,来对齐符号边界,而用户可以指定逗号匹配是由极性为正的逗号或是由极性为负的逗号所组成,或由两者共同组成。JESD204B针对GTX/GTH逗号检测的默认设置允许利用正极性逗号或负极性逗号来对齐。

某些应用中,默认逗号设置可能导致符号的重新对齐,或者对齐至错误的符号边界。这可能会导致大量的8B/10B解码错误,并使JESD204B链路断链。而正极性逗号加上负极性逗号使用会更稳定,可以使逗号对齐模块连续搜索两个逗号,并仅当收到的数据为正极性逗号(或负极性)后跟一个负极性逗号(或正极性逗号)且中间无额外位时才认为检测到逗号。当线路速率较高或系统噪声过多时,这样做有助于保持符号边界和链路稳定性。FPGA上的JESD204项目设计考虑因素

来自JESD204接收器输出到发送器的同步、低电平有效SYNC 信号用于表示同步状态。正常工作时,链路重新初始化将导致样本数据混乱,因此必须实时监测链路状态。具体而言,SYNC上的连续低电平表示接收器在接收到的数据流中无法识别出至少四个连续K28.5符号。如果发生这种情况,请检查发送器/接收器SERDES配置,或确保发送器正在发送K28.5。SYNC上的连续高电平表示链路已建立,且保持稳定。若SYNC从高电平变为低电平然后返回高电平,则必须记录低电平状态的持续时间。如果持续时间长于5个帧加9个字节,则表示接收器检测到了较大的错误,并将发送请求以重新初始化JESD204链路。如果持续时间等于两个帧时钟,则表示接收器检测到了较小的错误,但不会触发链路重新初始化。这个功能可极大地简化系统调试,并为进一步的链路监测提供便利。因此,用户应当在设计中包含这个功能。

8B/10B解码错误可能导致JESD204B链路重新初始化,但这并非是唯一的原因;因此,用户在设计时应能够对各通道的解码错误进行计数,从而确定链路重新同步的原因。此外,可通过8B/10B解码错误状态实时确定SERDES链路质量。

模拟对话,49-02,2015年2月3

伪随机位序列(PRBS)提供了一个测量高速链路中信号质量和抖动容差的有用资源。大部分FPGA中的SERDES收发器都内置了PRBS发生器和检查器,无需额外的FPGA资源。因此,不要忘了实例化此功能,在评估比特误码率(BER)或眼图时会使用到这个功能。

SERDES收发器中通常会使用一个缓冲器,来改变内部时钟域。如果发送器和接收器的时钟设计不佳或者时钟数据恢复模块(CDR)设置错误,那么就会导致缓冲器上溢或下溢。此时可能会发生某些链路错误,因此有必要监测缓冲器状态。缓冲器上溢或下溢的中断记录对于系统调试而言是很有用的,所以同样应当监测用户逻辑中不允许发生下溢或上溢的其它内部缓冲器的状态。

结论

本文讨论了如何在Xilinx FPGA上快速实现JESD204模块,实现方法同样可用于其它FPGA。首先,应了解FPGA供应商提供的JESD204逻辑核和收发器的功能以及接口,然后将其实例化并与您的逻辑整合。其次,从全局角度出发设计FPGA时钟树,和整个工程的复位顺序。然后,仔细定义JESD204逻辑核、用户逻辑和收发器之间的接口。最后,加入必要的调试资源。遵循这些步骤有助于您快速、成功地设计JESD204接口。

参考文献

JESD204B应用指南

JESD204数据转换器串行接口JEDEC标准

高速模数转换器

高速数模转换器集成式收发器、发射机和接收机

联盟计划和FPGA参考设计

解密JESD204B高速数据转换器转FPGA接口

Ian Beavers,“JESD204B转换器内确定性延迟解密”Electronic Design,2014年2月25日。

Ian Beavers,“原型开发系统:JESD204B转换器和FPGA”Electronic Design,2014年1月23日。

Ian Beavers和Jeffrey Ugalde,“设计JESD204B转换器系统,实现低BER(第一部分)”EDN,2014年10月22日。

Ian Beavers和Jeffrey Ugalde,“设计JESD204B转换器系统,实现低BER(第二部分)”EDN,2014年10月28日。

Jonathan Harris,“了解JESD204B规范中的层级:从高速ADC 的角度出发(第一部分)”EDN,2014年9月24日。

Jonathan Harris,“了解JESD204B规范中的层级:从高速ADC 的角度出发(第二部分)”EDN,2014年10月2日。

Del Jones,“JESD204B子类(第一部分):JESD204B子类简介与确定性延迟”EDN,2014年6月18日。

Del Jones,“JESD204B子类(第二部分):子类1与子类2的系统考虑因素”EDN,2014年6月25日。

Haijiao Fan [haijiao.fan@https://www.wendangku.net/doc/4c183114.html,]是ADI中国北京公司的应用工程师,从事JESD204协议评估和集成RF收发器应用与支持工作。他曾就读于中国西北工业大学,并分别于2003年和2006年获得电子工程学士和电子工程硕士学位。2012年

7月

加入ADI公司,此前Haijiao拥有超过6年的FPGA和系统工程师工作经验。

Haijiao Fan

4模拟对话,49-02,2015年2月

Xilinx FPGA 引脚功能详细介绍

XilinxFPGA引脚功能详细介绍 注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank号 2.IO_LXXY_ZZZ_# 多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AW AKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE 是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash的输出使能信号 FWE_B:O,BPI flash 的写使用信号 LDC:O,BPI模式配置期间为低电平 HDC:O,BPI模式配置期间为高电平 CSO_B:O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2:O,在PCI设计中,以LogiCORE IP方式使用。 DOUT_BUSY:O,在SelectMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT 提供配置数据流。 RDWR_B_VREF:I,在SelectMAP模式下,这是一个低电平有效的写使能信号;配置完成后,如果需要,RDWR_B可以在BANK2中做为Vref。 HSW APEN:I,在配置之后和配置过程中,低电平使用上拉。 INIT_B:双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC 状态。 SCPn:I,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性。 CMPMOSI,CMPMISO,CMPCLK:N/A,保留。 M0,M1:I,配置模式选择。M0=并口(0)或者串口(1),M1=主机(0)或者从机(1)。 CCLK:I/O,配置时钟,主模式下输出,从模式下输入。 USERCCLK:I,主模式下,可行用户配置时钟。 GCLK:I,这些引脚连接到全局时钟缓存器,在不需要时钟的时候,这些引脚可以作为常规用户引脚。 VREF_#:N/A,这些是输入临界电压引脚。当外部的临界电压不必要时,他可以作为

xilinxFPGASelectIO模块

5.1.6 SelectIO模块 Virtex-6每个I/O片(I/O Tile)包含两个IOB、两个ILOGIC、两个OLOGIC 和两个IODELAY,如图5-24 所示。 图5-24 I/O 片结构图 本小节就以下几个方面介绍Virtex-6 的SelectIO 资源。 (1) SelectIO 的电气特性。 (2) SelectIO 的逻辑资源——ILOGIC 资源和OLOGIC 资源。 (3) SelectIO 的高级逻辑资源——ISERDES 资源、OSERDES 资源和Bitslip。 一、SelectIO IO 的电气特性 所有的Virtex-6 FPGA 有高性能的可配置SelectIO 驱动器与接收器,支持非常广泛的接口标准。强大的功能SelectIO 包括输出强度和斜率的可编程控制以及使用数控阻抗(DCI)的片上终端。

IOB 包含输入、输出和三态SelectIO 驱动器。支持单端I/O 标准(LVCMOS、 HSTL、SSTL)和差分I/O 标准(LVDS、HT、LVPECL、BLVDS、差分HSTL 和SSTL)。 注意:差分输入和VREF 相关输入由VCCAUX 供电。 IOB、引脚及部逻辑的连接如图5-25 所示。 图5-25 IOB、引脚及部逻辑连接图 IOB 直接连接ILOGIC/OLOGIC 对,该逻辑对包含输入和输出逻辑资源,可实现数据和三态控制。ILOGIC和OLOGIC可分别配置为ISERDES和OSERDES。Xilinx软件库提供了大量与I/O相关的原语,在例化这些原语时,可以指定I/O 标准。与单端I/O相关的原语包括IBUF(输入缓冲器)、IBUFG(时钟输入缓冲器)、OBUF(输出缓冲器)、OBUFT(三态输出缓冲器)和IOBUF(输入/输出缓冲器)。与差分I/O相关的原语包括IBUFDS(输入缓冲器)、IBUFGDS (时钟输入缓冲器)、OBUFDS(输出缓冲器)、OBUFTDS(三态输出缓冲器)、IOBUFDS(输入/输出缓冲器)、IBUFDS_DIFF_OUT(输入缓冲器)和IOBUFDS_DIFF_OUT(输入/输出缓冲器)。 二、SelectIO的逻辑资源 SelectIO的逻辑资源主要是指ILOGIC和OLOGIC资源,它们完成了FPGA引脚到部逻辑的连接功能,包括组合输入/输出、三态输出控制、寄存器输入/输出、寄存器三态输出控制、DDR输入/输出、DDR输出三态控制、IODELAYE1高分辨率可调整延迟单元及其控制模块。 下面简要介绍ILOGIC和OLOGIC功能。

Xilinx_FPGA中文教程

Spartan-3E Starter Kit Board User Guide

Chapter 1: Introduction and Overview Chapter 2: Switches, Buttons, and Knob Chapter 3: Clock Sources Chapter 4: FPGA Configuration Options Chapter 5: Character LCD Screen Chapter 6: VGA Display Port Chapter 7: RS-232 Serial Ports Chapter 8: PS/2 Mouse/Keyboard Port Chapter 9: Digital to Analog Converter (DAC) Chapter 10: Analog Capture Circuit Chapter 11: Intel StrataFlash Parallel NOR Flash PROM Chapter 12: SPI Serial Flash Chapter 13: DDR SDRAM Chapter 14: 10/100 Ethernet Physical Layer Interface Chapter 15: Expansion Connectors Chapter 16: XC2C64A CoolRunner-II CPLD Chapter 17: DS2432 1-Wire SHA-1 EEPROM

Chapter 1:Introduction and Overview Spartan-3E 入门实验板使设计人员能够即时利用Spartan-3E 系列的完整平台性能。 设备支持设备支持::Spartan-3E 、CoolRunner-II 关键特性关键特性::Xilinx 器件: Spartan-3E (50万门,XC3S500E-4FG320C), CoolRunner?-II (XC2C64A-5VQ44C)与Platform Flash (XCF04S-VO20C) 时钟时钟::50 MHz 晶体时钟振荡器 存储器: 128 Mbit 并行Flash, 16 Mbit SPI Flash, 64 MByte DDR SDRAM 连接器与接口: 以太网10/100 Phy, JTAG USB 下载,两个9管脚RS-232串行端口, PS/2类型鼠标/键盘端口, 带按钮的旋转编码器, 四个滑动开关,八个单独的LED 输出, 四个瞬时接触按钮, 100管脚hirose 扩展连接端口与三个6管脚扩展连接器 显示器: VGA 显示端口,16 字符- 2 线式 LCD 电源电源::Linear Technologies 电源供电,TPS75003三路电源管理IC 市场: 消费类, 电信/数据通信, 服务器, 存储器 应用: 可支持32位的RISC 处理器,可以采用Xilinx 的MicroBlaze 以及PicoBlaze 嵌入式开发系统;支持DDR 接口的应用;支持基于Ethernet 网络的应用;支持大容量I/O 扩展的应用。 Choose the Starter Kit Board for Your Needs Spartan-3E FPGA Features and Embedded Processing Functions Spartan3-E FPGA 入门实验板具有Spartan3-E FPGA 系列突出独特的特点和为嵌入式处理发展与应用提供了很大的方便。该板的特点如下: Spartan3-E 特有的特征:并行NOR Flash 配置;通过并行NOR Flash PROM 实现FPGA 的多种配置方式 嵌入式系统:MicroBlaze? 32-bit 嵌入RISC 处理器;PicoBlaze? 8-bit 嵌入控制器;DDR 存储器接口 Learning Xilinx FPGA, CPLD, and ISE Development Software Basics Spartan3-E FPGA 入门实验板比其他的入门实验板先进、复杂。它是学习FPGA 或CPLD 设计和怎样运用ISE 软件的基础。 Advanced Spartan-3 Generation Development Boards 入门实验板示范了MicroBlaze? 32-bit 嵌入式处理器和EDK 的基本运用。其更先进的地方

Xilinx-FPGA配置的一些细节

Xilinx FPGA配置的一些细节 2010年07月03日星期六 14:26 0 参考资料 (1) Xilinx: Development System Reference Guide. dev.pdf, v10.1 在Xilinx的doc目录下有。 (2) Xilinx: Virtex FPGA Series Configuration and Readback. XAPP138 (v2.8) March 11, 2005 在Xilinx网站上有,链接 (3)Xilinx: Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAP Mode.XAPP502 (v1.5) December 3, 2007 在Xilinx网站上有,链接 注:此外xapp139和xapp151也是和配置相关的。 (4)Xilinx: Virtex-4 Configuration Guide. UG071 (v1.5) January 12, 2007 (5) Tell me about the .BIT . 链接: 1 Xilinx配置过程 主要讲一下Startup Sequence。 Startup Sequence由8个状态组成. 除了7是固定的之外,其它几个的顺序是用户可设置的,而且Wait for DCM和DCI是可选的。 其中默认顺序如下: 这些在ISE生成bit文件时通过属性页设定。 这几个状态的具体含义如下: Release_DONE : DONE信号变高 GWE : 使能CLB和IOB,FPGA的RAMs和FFs可以改变状态 GTS : 激活用户IO,之前都是高阻。

xilinxfpga引脚功能详细介绍

注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank 号 2.IO_LXXY_ZZZ_# 多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash的输出使能信号 FWE_B:O,BPI flash 的写使用信号 LDC:O,BPI模式配置期间为低电平 HDC:O,BPI模式配置期间为高电平 CSO_B:O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2:O,在PCI设计中,以LogiCORE IP方式使用。

xilinx fpga开发实用教程——fpga结构

1.2.1 FPGA工作原理与简介 如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。 由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。 根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。 查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有 4位地址线的的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入 RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 下面给出一个4与门电路的例子来说明LUT实现逻辑功能的原理。 例1-1:给出一个使用LUT实现4输入与门电路的真值表。 表1-1 4输入与门的真值表 从中可以看到,LUT具有和逻辑电路相同的功能。实际上,LUT具有更快的执行速度和更大的规模。 由于基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可

简谈Altera和Xilinx的FPGA区别

简谈Altera和Xilinx的FPGA区别 大家好,又到了每日学习的时间了,最近有很多人再问我学习FPGA到底是选择Altera的还是xilinx的呢,于是我就苦口婆心的说了一大堆,中心思想大概就是,学习FPGA一定要学习FPGA的设计思想以及设计原理,不要纠结于单一的实验平台或者操作软件,因为你想在这个行业越走越高的话,广度和深度都是要有所了解的,初期学习的时候尤其注重动手,选择一款操作平台以及操作软件是为了让你更好的去动手做,而不是让你在这款软件或者实验平台去做文章,因为不懂原理的话,换个环境你同样是什么都不明白。尤其是现在的科技公司产品更新升级换代还比较快,要学会去掌握最核心的知识点才是王道。下面,就我自己接触,咱们就来简单聊聊Altera和Xilinx的FPGA 区别,欢迎大家一起交流,三人行,必有我师,共同学习,共同进步。对于Altera和Xilinx 的FPGA,本人认为可以分为两个方面去比较一下,基本逻辑资源和内部基本架构。从目前企业中做开发使用的广泛性来说,Xilinx占得比重确实是大一些,但是从其他方面来说,比如价格,相对而言Altera的便宜些。对于两者的特点,Xilinx的短线资源非常丰富,这样在实现的时候,布线的成功率很高,尤其是逻辑做得比较满的时候。而Altera的FPGA 的短线资源经常不够用,经常要占用LE来充当布线资源,这也是为什么Altera的FPGA 可以便宜的原因,资源少些当然便宜,但是如果你是高手,也能把他的性能发挥得很好。另外就是关于块RAM,Xilinx的双口RAM是真的,Altera的没有双口RAM,如果你要实现真正的双口RAM,只能用两块RAM来背靠背地实现,这样你的RAM资源就少了一半,如果你的应用对片内双口RAM的需求很重要,用Altera的就划不来。下面咱们就从我刚才说的基本逻辑资源和内部基本架构这两个方面来聊聊。 1.基本逻辑资源基本的逻辑资源我建议大家可以去看看两家的芯片做个比较,今天时间有限就不给各位详谈了,通过比较你会发现我上面说的还是有点道理的。 2.内部基本架构从1985年Xilinx公司推出第一片FPGA到现在,FPGA的使用已经有近30年的历史了。目前主流市场的FPGA主要还是Xilinx和Altera两大系列,下面分别来介绍下它们各自的基本结构组成。 Xilinx的FPGA主要由以下单元结构组成:可配置

Xilinx_FPGA下载烧写教程

Step1 学习下载配置Xilinx 之FPGA 配合Mars-EDA 的Spartan2 核心板,用图文方式向大家详细讲述如何下载配置Xilinx 的FPGA。 FPGA 下载模式说明 S1 为 FPGA 下载模式选择跳线,M0,M1,M2 默认状态为通过 4.7K 电阻上拉到 3.3V,当用跳线帽短接 S1 的PIN3 和PIN6 将置 M0 为0,同理,短接 PIN2 和PIN5,PIN3 和PIN4 将置 M1,M2 为0。M0,M1,M2 的电平和 FPGA 下载之间的关系参见下图:(Boundary-scan mode)是调试最常用的 JTAG 模式。当采用板载 PROM 时,采用的跳线模式是 Master Serial Mode –短路 PIN1 和PIN6,PIN2 和PIN5 J2 为Slave Serial Mode 的接口。下载模式跳线 S1 短接PIN1 和PIN6,PIN2 和PIN5 即可。 J3 为 JTAG Mode 的接口。下载模式跳线短接 PIN1 和 PIN6 即可。

S2 跳线说明 1.通过 JTAG 方式烧录 FPGA:短接 PIN1 和PIN3。 2.通过 JTAG 方式烧录 PROM:短接 PIN3 和PIN5,PIN2 和PIN4. 3.通过菊花链下载 FPGA 和烧录 PROM:短接 PIN3 和PIN5,PIN4 和PIN6. 下面我们利用 Spartan2 核心板介绍一下通过 JTAG 菊花链方式下载 FPGA 和烧录 PROM. 硬件跳线选择: 1.跳线 S1: 此时要求 M0 M1 M2 = 100, 设置 FPGA 的下载方式为 Boundary-scan mode, 此时将 M1 和M2 的跳线安上。 跳线 S2 : 通过菊花链下载 FPGA 和烧录 PROM:短接 PIN3 和 PIN5,PIN4 和 PIN6. 2.将 Xilinx 下载线和核心板上 JTAG mode 接口 J3 相连,连接到计算机并口。核心板上电。

XilinxFPGA引脚功能详细介绍

Xilinx FPGA 引脚功能详细介绍注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO 引脚 XX 代表某个Bank 内唯一的一对引脚,Y=[P|N] 代表对上升沿还是下降沿敏感,#代表bank 号2. IO_LXXY_ZZZ_# 多功能引脚 ZZZ 代表在用户IO 的基本上添加一个或多个以下功能。 Dn:I/O (在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP 读反馈期间,如果RDWR_B=1 ,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 DO_DIN_MISO_MISO1 : I,在并口模式(SelectMAP/BPI )下,D0 是数据的最低位,在Bit-serial 模式下,DIN 是信号数据的输入;在SPI 模式下,MISO 是主输入或者从输出;在SPI*2 或者SPI*4 模式下,MISO1 是SPI 总线的第二位。 D1_MISO2,D2_MISO3 : I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2 和MISO3 是SPI 总线的MSBs。 An:O,A[25:0] 为BPI 模式的地址位。配置完成后,变为用户I/O 口。 AWAKE : O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE 是一个多功能引脚。除非SUSPEND 模式被使能,AWAKE 被用作用户I/O。 MOSI_CSI_B_MISOO : I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下, CSI_B 是一个低电平有效的片选信号;在SPI*2 或者SPI*4 的模式下,MISO0 是SPI 总线 的第一位数据。 FCS_B:O,BPI flash 的片选信号。 FOE_B:O,BPI flash 的输出使能信号 FWE_B :O,BPI flash 的写使用信号 LDC :O,BPI 模式配置期间为低电平 HDC:O,BPI 模式配置期间为高电平 CSO_B: O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1/2,TRDY1/2 : O,在PCI 设计中,以LogiCORE IP 方式使用。 DOUT_BUSY :O,在SelectMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT 提供配置数据流。 RDWR_B_VREF : I,在SelectMAP模式下,这是一个低电平有效的写使能信号;配置完成后,如果需要,RDWR_E可以在BANK2中做为Vref。 HSWAPEN : I,在配置之后和配置过程中,低电平使用上拉。 INIT_B :双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC 状态。 SCPn:I,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性。 CMPMOSI , CMPMISO , CMPCLK : N/A,保留。 M0 , M1 : I,配置模式选择。M0=并口(0)或者串口(1), M仁主机(0)或者从机(1 )。 CCLK : I/O,配置时钟,主模式下输出,从模式下输入。 USERCCLK : I,主模式下,可行用户配置时钟。 GCLK : I,这些引脚连接到全局时钟缓存器,在不需要时钟的时候,这些引脚可以作为常规用户引脚。 VREF_# : N/A,这些是输入临界电压引脚。当外部的临界电压不必要时,他可以作为 普通引脚。当做作bank 内参考电压时,所有的VRef 都必须被接上。 3. 多功能内存控制引脚 M#DQn :I/O , bank#内存控制数据线D[15:0] M#LDQS : I/O , bank#内存控制器低数据选通脚

XilinxFPGA引脚功能详细介绍

X i l i n x F P G A引脚功能 详细介绍 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

XilinxFPGA引脚功能详细介绍注:技术交流用,希望对大家有所帮助。 IO_LXXY_#用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P|N]代表对上升沿还是下降沿敏感,#代表bank号 2.IO_LXXY_ZZZ_#多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O(在readback期间),在selectMAP或者BPI模式下,D[15:0]配置为数据口。在从SelectMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1:I,在并口模式(SelectMAP/BPI)下,D0是数据的最低位,在Bit-serial模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3:I,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBs。 An:O,A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O口。 AWAKE:O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0:I/O,在SPI模式下,主输出或者从输入;在SelectMAP模式下,CSI_B是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISO0是SPI总线的第一位数据。 FCS_B:O,BPIflash的片选信号。

我与赛灵思FPGA的故事” ZYNQ-7000使用总结(1)——概述

"30年---我与赛灵思FPGA的故事”: ZYNQ-7000使用总结(1)——概述 2015-01-21 15:07 3496人阅读评论(0) 举报分类: FPGA(15) 由allan于星期四, 06/19/2014 - 17:03 发表 因为马上要离职的原因,需要将一些东西整理一下做交接。就将Xilinx ZYNQ-7000的使用经验做一下总结,希望对刚接触的人有一点帮助。需要说明的是,在接触到ZYNQ-7000之前,我并没有做过FPGA的设计,这一部分的基础可以说是零。而这一年的工作重心也并不是FPGA设计,所以这一系列文章的重点是工具的使用,以及ZYNQ-7000的设计流程,而不是具体如何设计。该系列文章的硬件平台是:ZC702(XC7Z020-1CLG484CES )。所用软件包括:PlanAhead、Xilinx Platform Studio、Xilinx Software Development Kit,版本均为14.4。串口工具为Tera Term。 ZYNQ-7000是Xilinx推出的一款全可编程片上系统(All Programmable SoC),该芯片集成了ARM Cortex A9双核与FPGA,所以ZYNQ是一款SoPC芯片。其架构如下图:

图中的Processing System(一般简称为PS)即为处理器(ARM Cortex A9 MPCore) 部分,里面资源非常的丰富,具体可参看Xilinx官方文档。Programmable Logic(一般简称为PL)即可编程部分(FPGA),该部分的资源随SoC芯片级别高低不同而不同,最低的是Artix-7(Zynq-7010和Zynq-7020),最高的是Kintex-7(Zynq-7030和Zynq-7045)。当然,后续可能SoC中的FPGA会使用更高的Virtex系列,这个就不得而知了。 PS和PL的关系:

XilinxFPGA引脚功能详细介绍.docx

XilinX FPGA 引脚功能详细介绍注:技术交流用,希望对大家有所帮助。 IO_LXXY_# 用户IO引脚 XX代表某个Bank内唯一的一对引脚,Y=[P∣N]代表对上升沿还是下降沿敏感,#代表bank 号 2. IO_LXXY_ZZZ_# 多功能引脚 ZZZ代表在用户IO的基本上添加一个或多个以下功能。 Dn:I/O (在readback期间),在SeleCtMAP或者BPI模式下,D[15:0]配置为数据口。在从SeIeCtMAP读反馈期间,如果RDWR_B=1,则这些引脚变成输出口。配置完成后,这些引脚又作为普通用户引脚。 D0_DIN_MISO_MISO1 : I ,在并口模式(SeIeCtMAP/BPI )下,D0 是数据的最低位,在Bit-SeriaI模式下,DIN是信号数据的输入;在SPI模式下,MISO是主输入或者从输出;在SPI*2或者SPI*4模式下,MISO1是SPI总线的第二位。 D1_MISO2,D2_MISO3 : I ,在并口模式下,D1和D2是数据总线的低位;在SPI*4模式下,MISO2和MISO3是SPI总线的MSBS。 An : O, A[25:0]为BPI模式的地址位。配置完成后,变为用户I/O 口。 AWAKE : O,电源保存挂起模式的状态输出引脚。SUSPEND是一个专用引脚,AWAKE 是一个多功能引脚。除非SUSPEND模式被使能,AWAKE被用作用户I/O。 MOSI_CSI_B_MISO0 : I/O ,在SPI模式下,主输出或者从输入;在SeIeCtMAP模式下,CSI_B 是一个低电平有效的片选信号;在SPI*2或者SPI*4的模式下,MISOo是SPI总线 的第一位数据。 FCS_B: O, BPI flash 的片选信号。 FOE_B : O, BPI flash的输出使能信号 FWE_B : O, BPI flash的写使用信号 LDC : O,BPI模式配置期间为低电平 HDC : O,BPI模式配置期间为高电平 CSO_B: O,在并口模式下,工具链片选信号。在SPI模式下,为SPI flsah片选信号。 IRDY1∕2,TRDY1∕2 : O,在PCI 设计中,以LOgiCORE IP 方式使用。 DOUT_BUSY :O,在SeIeCtMAP模式下,BUSY表示设备状态;在位串口模式下,DOUT 提供配置数据流。 RDWR_B_VREF : I ,在SeIeCtMAP模式下,这是一个低电平有效的写使能信号;配置完成后,如果需要,RDWR_E可以在BANK2中做为Vref。 HSWAPEN : I ,在配置之后和配置过程中,低电平使用上拉。 INIT_B :双向,开漏,低电平表示配置内存已经被清理;保持低电平,配置被延迟;在配置过程中,低电平表示配置数据错误已经发生;配置完成后,可以用来指示POST_CRC 状态。 SCPn: I ,挂起控制引脚SCP[7:0],用于挂起多引脚唤醒特性。 CMPMOSI , CMPMISO , CMPCLK : N/A ,保留。 M0 , M1 : I,配置模式选择。M0=并口(0)或者串口(1), M仁主机(0)或者从机(1 )。 CCLK : I/O ,配置时钟,主模式下输出,从模式下输入。 USERCCLK : I ,主模式下,可行用户配置时钟。 GCLK : I ,这些引脚连接到全局时钟缓存器,在不需要时钟的时候,这些引脚可以作为常规用户引脚。 VREF_# : N/A ,这些是输入临界电压引脚。当外部的临界电压不必要时,他可以作为 普通引脚。当做作bank内参考电压时,所有的VRef都必须被接上。

相关文档