XILINX FPGA高速接口开发 PCIe、SATA、Nand Flash、DDR3、SRIO、AD/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中断. 基于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金手指板卡上演示验证. 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控制器多次在实际项目中使用,被证明稳定可靠。 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协议 高速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上演示验证. 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化或乒乓化操作,多次在实际项目中使用,被证明稳定可靠。
|