打印
[FPGA]

XILINX FPGA接口开发手册

[复制链接]
3641|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
XILINX FPGA高速接口开发
PCIeSATANand FlashDDR3SRIOAD/DA/SERDES
SATA3.0 Host Controller IP
SATA3.0 Host IP不仅实现了SATA协议的PHY(物理层)、Link(链路层)和TRN(传输层),并且实现了CMD(命令层)和APP(应用层),支持1.5、3和6Gbps传输速率,和SATA规范完全兼容。
SATA3.0 Host IP给用户使用SATA存储设备提供一种高效且易于使用的接口。无需用户干预,SATA3.0 Host IP自动完成连接、诊断、识别以及初始化SATA存储设备,输出SATA设备的Identify Data Structure。SATA3.0 Host IP内置DMA控制器,用户不但可以通过IO接口访问SATA存储设备,还可以使用DMA接口高效读写SATA存储设备。
SATA3.0 Host IP不局限连接SATA存储设备的个数,即连接SATA存储设备的数量是可编程的。
内核特性:
1.    与SATA 1.5Gbps、3.0Gbps以及6.0Gbps业界规范完全兼容
2.    AXI-Lite或应用寄存器(ARI)接口,同时支持IO(包括PIO和Trim)和DMA操作
3.    IO数据接口采用RAM设计,DMA数据接口采用AXI-Stream或FIFO设计
4.    支持SerDes接口,并且SerDes接口个数可编程(即可连接的SATA存储设备的数量是可编程的,数量取决于FPGA的GT个数)
5.    支持SATA存储设备带电热插拔
6.    支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Kintex Ultrascale,Kintex Ultrascale+,Virtex Ultrascale,Virtex Ultrascale+
7.    易于集成的同步、可综合Verilog设计
8.    通过完全验证的SATA3.0 IP
对外接口:
1.    AXI-Lite或应用寄存器(ARI)接口
2.    AXI-Stream或FIFO流式数据总线
3.    RAM块式数据总线

性能指标:
1.    SATA 3.0 Core:连续写入速度大于530MB/s,连续读取速度大于550MB/s
2.    SATA 2.0 Core:连续写入速度大于240MB/s,连续读取速度大于250MB/s s
1通道(连接1个SATA存储设备)SATA3.0 IP资源使用(XC7K325为例):
1.    LUTs:3850,FFs:4630,BRAM:16,GT:1
4通道(连接4个SATA存储设备)SATA3.0 IP资源使用(XC7K325为例):
1.    LUTs:15363,FFs:18468,BRAM:64,GT:4
8通道(连接8个SATA存储设备)SATA3.0 IP资源使用(XC7K325为例):
1.    LUTs:30763,FFs:37011,BRAM:128,GT:8
可交付资料:
1.    详细的用户手册
2.    Design File:Post-synthesis EDIF netlist or RTL Source
3.    Timing and layout constraints,Test or Design Example Project
4.    技术支持:邮件,电话,现场,培训服务
联系方式:
SATA3.0 Host IP Block Diagram
基于PCIe DMA的多通道数据采集和回放IP
在主机端PCIe驱动的控制和调度下,数据采集与回放IP Core可以同时完成对多个通道数据的采集以及回放驱动工作,既可采用行缓存机制(无需帧缓存,无需DDR),也可采用帧缓存机制(需要DDR),使用PCIe接口和主机进行数据的传输,设备端内嵌多通道DMA引擎完成多个通道数据的H2C(Host to Card)和C2H(Card to Host)传输,支持MSI中断机制,完全释放主机/CPU/GPU采集&回放的密集任务量,特别适用于高速AD/DA采集和回放、多通道视频采集和显示等的应用。
内核特性:
9.    多种PCIe驱动:
a)     兼容视频设备内核驱动V4L2,支持MMAP,USERPTR和DMABUF
b)     Xilinx XDMA驱动,Windows和Linux版本
c)     自研驱动,Windows和Linux版本
10.  每个通道的采集和回放DMA地址队列深度大于32
11.  多通道DMA引擎,支持连续式DMA(CDMA)和链式DMA(SGDMA)
12.  支持MSI中断机制,传统的寄存器读写
13.  支持H2C(Host to Card)和C2H(Card to Host)的全双工数据传输
14.  自适应PCIe链路速率:PCIe 1.0,PCIe2.0,PCIe 3.0和PCIe 4.0和宽度:PCIe x1,PCIe x2,PCIex4,PCIe x8,PCIe x16
15.  支持Xilinx器件:Spartan-6,Virtex-5,Virtex-6,Artix-7,Kintex-7,Virtex-7,Kintex Ultrascale,Virtex Ultrascale
对外接口:
4.    多个标准的FIFO接口或AXI4-Stream数据总线
5.    扩展的RAM接口,支持BAR1映射空间

性能指标:
3.    PCIe 2.0 x4:DMA Read(C2H)速率大于1750MB/s,DMA Write(H2C)速率大于1710MB/s
4.    PCIe 2.0 x8:DMA Read(C2H)速率大于3590MB/s,DMA Write(H2C)速率大于3500MB/s
5.    PCIe 3.0 x8:DMA Read(C2H)速率大于7050MB/s,DMA Write(H2C)速率大于7000MB/s
6.    支持8路1080p视频的采集和显示
7.    支持8路4K视频的采集和显示
资源使用:
1通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):
2.    LUTs:9343,FFs:14043,BRAM:10,PCIe:1
1通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
1.    LUTs:11265,FFs:19089,BRAM:48,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x4):
2.    LUTs:14803,FFs:20712,BRAM:75,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x4):
2.    LUTs:19055,FFs:27529,BRAM:94,PCIe:1
8通道CDMA资源使用(XC7K325为例,PCIe 2.0 x8):
1.    LUTs:20235,FFs:29327,BRAM:55,PCIe:1
8通道SGDMA资源使用(XC7K325为例,PCIe 2.0 x8):
1.    LUTs:26432,FFs:38087,BRAM:55,PCIe:1
8通道CDMA资源使用(XCKU060为例,PCIe 3.0 x8):
1.    LUTs:18747,FFs:36805,BRAM:78,PCIe:1
8通道SGDMA资源使用(XCKU060为例,PCIe 3.0 x8):
1.    LUTs:25886,FFs:51406,BRAM:78,PCIe:1
可交付资料:
5.    详细的用户手册
6.    Design File:Post-synthesis EDIF netlist or RTL Source
7.    Timing and layout constraints,Test or Design Example Project
8.    技术支持:邮件,电话,现场,培训服务
联系方式:
数据采集与回放IP BlockDiagram
数据采集与回放系统结构框图

系统结构描述:
数据源模块产生采集数据,以FIFO接口输出到S2MM模块
S2MM模块负责把采集到的数据传输到DMA模块。
DMA模块负责把采集数据搬移到用户的采集缓冲区,或把用户回放缓冲区的数据搬移到MM2S模块。
MM2S模块负责数据回放输出。
数据校验模块接收MM2S输出的数据,进行回放数据的接收和校验。
Register Files模块用来配置以及控制S2MM和M2SS模块,并且返回这些模块的状态。
S2MM和M2SS的中断请求发送到Interrupt模块,发出MSI中断。
PCIe Gen3 Integrated Endpoint Block实现PCIe协议规范,支持Gen3,8-lane endpoint配置
PCIe驱动采用WDF框架来开发,支持win7/win10操作系统,或者Linux操作系统。用户应用程序访问采集缓冲区可以获得采集数据,或者把回放数据传输到回放缓冲区进行回放。
Serial RapidIO接口DMA数据传输
熟悉Spartan-6, Virtex-5/Virtex-6/7 Series FPGA Serial RapidIO BlockEndpoint模块,基于该模块设计了Serial RapidIO Endpoint Master DMA.
1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能DMAWrite(FPGA-->DSP/PowerPC内存)和DMA Read(DSP/PowerPC内存-->FPGA).
2. Serial RapidIO 1x,5Gbps/lane:DMAWrite(FPGA-->DSP/PowerPC内存)的速度可达450MB/s;DMA Read(DSP/PowerPC内存-->FPGA)的速度可达440MB/s.
3. Serial RapidIO 4x,5Gbps/lane:DMAWrite(FPGA-->DSP/PowerPC内存)的速度可达1780MB/s;DMA Read(DSP/PowerPC内存-->FPGA)的速度可达1740MB/s.
4. FPGA内部的MasterDMA也包含与DMA传输相关的控制状态寄存器和中断寄存器.
Serial RapidIO接口特性如下:
1. 支持1.25Gbps,2.5Gbps, 3.125Gbps, 5Gbps, 6.25Gbps线速率
2. 自适应链路宽度,支持Serial RapidIO x4/x2/x1
3. 支持MasterDMA Write(SWRITE)、Master DMA Read(NREAD)、Doorbell、Message、寄存器读写(NWRITE/NWRITE_R/NREAD)、RAM读写(NWRITE/NWRITE_R/NREAD)
4. 支持MasterDMA Write和Master DMA Read全双工数据传输
已经在多个基于DSP和PowerPC信号处理板上调试验证了Serial RapidIO Endpoint Master DMA功能.
1. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP/GTX--> DDR2/DDR3内存 --> Serial RapidIO Master DMAWrite --> DSP/PowerPC内存.
2. Master DMA Read数据传输功能,数据传输流方向:DSP/PowerPC内存--> Serial RapidIO Master DMA Read --> DDR2/DDR3内存--> 光纤/RocketIO GTP/GTX接口.
3. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器.
4. FPGA发出Doorbell中断.
联系方式:neteasy163z@163.com
基于PCI Express的数据采集卡
PCIe数据采集卡
PCI Express数据采集卡
非常熟悉PCI Express协议,设计调试了多个基于PCI Express接口的数据采集卡.
非常熟悉Spartan-6, Virtex-5/Virtex-6/Virtex-7/7Series/UltraScale Kintex FPGA PCI Express Block Endpoint模块,基于该模块设计了PCI Express Endpoint Master DMA.
PCI Express接口特性如下:
1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6,Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7Series FPGA)和Gen 3、8.0Gbps/Lane(Virtex-7/UltraScaleKintex FPGA)
2. 自适应链路宽度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write和Master DMA Read全双工数据传输
4. 支持8通道DMA引擎
5. 用户数据接口支持AXI4-MM、AXI4-Stream或FIFO
6. 用户寄存器接口支持AXI4-Lite或RAM接口
7. PCI Express驱动支持Windows 32/64位、Linux等操作系统,如Windriver,linux pcie driver
8. 即插即用,支持热插拔
PCI Express性能如下:
1. 1x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达225MB/s;1x PCI Express DMA Read(内存-->FPGA)的速度可达220MB/s.
2. 4x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达905MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达890MB/s.
3. 8x PCI Express Gen 1 DMA Write(FPGA-->内存)的速度可达1800MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达1760MB/s.
4. 4x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达1810MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达1780MB/s.
5. 8x PCI Express Gen 2 DMA Write(FPGA-->内存)的速度可达3660MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达3630MB/s.
6. 4x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达3705MB/s;4x PCI Express DMA Read(内存-->FPGA)的速度可达3650MB/s.
7. 8x PCI Express Gen 3 DMA Write(FPGA-->内存)的速度可达7050MB/s;8x PCI Express DMA Read(内存-->FPGA)的速度可达7010MB/s.
已经在Xilinx评估板SP605,ML555,ML505,ML605,KC705,VC709和KCU105,以及自制的PCIe金手指板卡上调试验证了PCI ExpressEndpoint Master DMA功能.
1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能DMAWrite(FPGA-->内存)和DMA Read(内存-->FPGA).
2. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP/GTX/AD--> DDR2/DDR3/DDR4内存 --> PCI Express Master DMA Write --> PC内存 --> PC硬盘.
3. Master DMA Read数据传输功能,数据传输流方向:PC硬盘 --> PC内存 --> PCI Express Master DMA Read --> DDR2/DDR3/DDR4内存 --> 光纤/RocketIO GTP/GTX接口/DA.
4. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器.
5. FPGA发出Legacy PCI或MSI中断.
6. Windows操作系统驱动采用WinDriver和WDK,Linux操作系统自己编写相应的驱动程序
6. 用户应用程序,采用Visual C/C++,Visual Studio编写,适用于Windows 32/64位,如XP,Win2003/2008 32/64,Win7 32/64,Win10 32/64;同时还具备Linux版本的应用程序和驱动
可以提供FPGA源代码,PCI Express驱动、用户应用程序源代码以及相关设计、测试文档.同时还可以在Xilinx评估板SP605,ML555,ML505,ML605,KC705,VC709和KCU105,以及自制的PCIe金手指板卡上演示验证.
联系方式:neteasy163z@163.com
NAND FLASH Controller IP Core
标准NAND FLASH Controller
标准NAND FLASH控制器
熟练使用Xilinx/Altera FPGA,熟悉NANDFLASH接口时序。
自行编写标准NAND FLASH Controller/控制器,可以以源代码(VHDL/Verilog HDL语言)或网表形式(提供使用手册)提供,功能包括:
1. 支持异步接口的SLC和MLCNand Flash
2. 最高支持时序模式5(TimingMode 5)
3. 兼容ONFI命令集:Reset、ReadID/ONFI Signature、Read Unique ID、Read Parameter Page、SetFeature、Get Feature、Read Status、Erase、ProgramPage、Read Page、Program Page Cache、Read Page Cache
4. 支持上电自动坏块检测
5. 支持坏块表动态更新
6. 支持坏块管理(BBM);坏块管理使能和禁止
7. 支持ECC:RS码1080字节纠正24-bit;或RS码540字节纠正8-bit;或汉明码256Byte纠正1-bit,检错2-bit;ECC使能和禁止
8. 内置DMA数据传输引擎
9. 支持各个设备厂商(Micron、Samsung、Hynix、Toshiba、ST-Micro和其他厂商)的NandFlash
NAND FLASH Controller自动进行坏块管理以及ECC纠错,坏块表可存储于FPGA内部RAM块。
NAND FLASH控制器的用户接口友好,基本上都是DPRAM或FIFO接口,状态信号是I/O接口,易于使用。
此NAND FLASH控制器可以适应各种各样的NAND FLASH芯片型号。
此NAND FLASH控制器多次在实际项目中使用,被证明稳定可靠。
联系方式:neteasy163z@163.com
RocketIO高速串行接口
熟练使用Virtex-5/Virtex-6/7 Series/UltrascaleFPGA,非常熟悉RocketIO GTP/GTX协议,Aurora协议,SerialRapidIO协议。
已经在Virtex-5/Virtex-6/7 Series/UltrascaleFPGA上调试通过基于RocketIO GTP/GTX/GTY/GTH协议的数据流收发,基于Aurora Framing和Streaming的数据流收发,基于SerialRapidIO协议的SWRITE数据流收发,并且已经应用于实际项目中
基于RocketIO GTP/GTX/GTY/GTH协议
数据流接收处理:RocketIO GTP/GTX/GTY/GTHRXN/RXP --> RocketIO GTP/GTX --> 接收数据处理(判别SOF和EOF,协议桢处理,剔除IDLE符号)-->FIFO接口输出
数据流发送处理:FIFO接口输入--> 发送数据处理(增加SOF和EOF,协议桢产生,插入IDLE符号或时钟校正序列)--> RocketIO GTP/GTX --> RocketIO GTP/GTX TXN/TXP
基于Aurora Framing和Streaming协议
数据流接收处理:RocketIO GTP/GTX/GTY/GTHRXN/RXP --> RocketIO GTP/GTX --> Aurora Core --> 接收数据处理(根据LocalLinkRX Port 判别SOF和EOF,剔除IDLE符号)--> FIFO接口输出
数据流发送处理:FIFO接口输入--> 发送数据处理(将数据通过LocalLink TX Port输入Aurora Core)-->Aurora Core --> RocketIO GTP/GTX --> RocketIO GTP/GTX/GTY/GTH TXN/TXP
基于Serial RapidIO协议
数据流接收处理:RocketIO GTP/GTX/GTY/GTHRXN/RXP --> RocketIO GTP/GTX/GTY/GTH --> Serial RapidIO Core --> 接收SWRITE数据帧处理(根据SerialRapidIO SWRITE格式解析数据帧)--> FIFO接口输出
数据流发送处理:FIFO接口输入--> 发送数据处理(将数据根据Serial RapidIO SWRITE格式打包输入Serial RapidIO Core)-->Serial RapidIO Core --> RocketIO GTP/GTX --> RocketIO GTP/GTX/GTY/GTHTXN/TXP
寄存器读写:NWRITE,NREAD等协议
DMA读写:SWRITE,NREAD等协议
中断接口:DOORBELL协议
联系方式:neteasy163z@163.com
高速LVDS数据传输方案和协议
基于FPGA的高速LVDS数据传输
高速AD/DA接口
JESD204B标准接口
非常熟悉高速LVDS数据传输,8B/10B编码等,设计调试了多个FPGA与FPGA以及FPGA与专用芯片(比如AD/DA)之间的高速LVDS数据传输.
本人非常熟悉AD/DA接口,JESD204B标准接口,包括高速并行AD、串行AD,高速并行DA,比如ADS5474,E2V,LTC2175,E2V高速AD,Intersil ISLA214P50,AD9129,AD9142A,ADS54J60,AD9164等,基于FPGA设计高速并行/串行AD/DA接口:时钟对齐、根据帧同步实现串转并数据对齐.
本人非常熟悉Virtex-5/Virtex-6/7 SeriesFPGA的内置SERDES模块,包括ISERDES,OSERDES,IODELAY,IDELAYCTRL等部件,基于该模块设计了一种高速LVDS数据收发方案和协议:
1. 1路LVDS数据的时钟频率是500MHz(Virtex-5)或600MHz(Virtex-6)或700MHz(Kintex-7),双沿数据传输;1路LVDS数据的传输速率为1Gbps(Virtex-5)或1.2Gbps(Virtex-6)或1.4Gbps(Kintex-7),16路LVDS数据的传输速率为16Gbps(Virtex-5)或19.2Gbps(Virtex-6)或22.4Gbps(Kintex-7)
2. 高速LVDS数据发送:训练序列产生,数据成帧,8B/10B编码,数据并行转串行,随路时钟产生等
3. 高速LVDS数据接收:接收时钟检测(检测接收时钟的存在),接收时钟对齐(对接收时钟进行移相),数据串行转并行,接收数据字节序对齐(Comma码对齐),接收数据Los-of-Sync状态机,8B/10B解码,解数据帧等
已经在Xilinx评估板ML555/ML605/KC705上调试验证了16路高速LVDS数据收发方案和协议.
1. 1对LVDS随路时钟+16对LVDS发送数据,时钟频率是500MHz(Virtex-5)或600MHz(Virtex-6)或700MHz(KiNtex-7),双沿数据传输;数据传输速率为16Gbps(Virtex-5)或19.2Gbps(Virtex-6)或22.4Gbps(Kintex-7).
2. 1对LVDS接收时钟+16对LVDS接收数据.
可以提供FPGA源代码.同时还可以在Xilinx评估板ML555/ML605/KC705上演示验证.
联系方式:neteasy163z@163.com
SDR/DDR/DDR2/DDR3/DDR4 控制器
SDR/DDR/DDR2/DDR3/DDR4Controller
DDR3 SDRAM 控制器
DDR3 SDRAM Controller
DDR4 SDRAM 控制器
DDR4 SDRAM Controller
熟练使用Altera Stratix/Arria Series FPGA,Virtex-5/Spartan-6/Virtex-6/7 Series FPGA MIG的DDR/DDR2/DDR3 Controller,支持DDR2800,DDR3 1600,DDR4 2400,将DDR2/DDR3 Controller/DDR4 Controller进行FIFO化或MIMO化或MPC化或乒乓化操作,多次在实际项目中使用,被证明稳定可靠。
熟练使用Altera Stratix Series FPGA, AlteraArria Series FPGA, Virtex-5/Spartan-6/Virtex-6/7 Series  FPGA,熟悉SDRSDRAM接口时序,熟悉DDR SDRAM/DDR2 SDRAM/DDR3 SDRAM接口时序。
自行编写符合SDR SDRAM接口时序的SDRSDRAM控制器,支持全页突发模式,SDR
SDRAM控制器的CS宽度、Bank宽度、Row宽度、Column宽度、以及ACTiming参数(比如刷新时间、激活时间等)都是可编程的,突发数据长度可变,SDR SDRAM控制器已经解决翻页问题。
SDR SDRAM控制器以源代码(VerilogHDL)形式提供,既可用于Altera FPGA,也可用于Xilinx FPGA,用户访问接口符合Avalon-MMSlave Burst Interface规范,控制器经过严格验证,多次在实际项目中使用,被证明稳定可靠。
SDR SDRAM控制器的最高时钟频率是166MHz。将SDR Controller进行FIFO化或MIMO化或MPC化或乒乓化操作,多次在实际项目中使用,被证明稳定可靠。
联系方式:neteasy163z@163.com

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

29

帖子

1

粉丝