高速串行接口数据流向

时间:2022-03-14 17:52:09

NAND FLASH Controller IP Core
标准NAND FLASH Controller
标准NAND FLASH控制器
 
我是一位在职者(北京),专业从事FPGA接口设计,有较多的空余时间,对FPGA有比较丰富的项目经验(6年)。
熟练使用Xilinx/Altera FPGA,熟悉NAND FLASH接口时序。
 
自行编写标准NAND FLASH Controller/控制器,可以以源代码(VHDL语言)或网表形式(提供使用手册)提供,功能包括:
1. 支持异步接口的SLC和MLC Nand Flash
2. 最高支持时序模式5(Timing Mode 5)
3. 兼容ONFI命令集:Reset、Read ID/ONFI Signature、Read Unique ID、Read Parameter Page、Set Feature、Get Feature、Read Status、Erase、Program Page、Read Page、Program Page Cache、Read Page Cache
4. 支持上电自动坏块检测
5. 支持坏块表动态更新
6. 支持坏块管理(BBM);坏块管理使能和禁止
7. 支持ECC:256 Byte纠正1-bit,检错2-bit;ECC使能和禁止
8. 内置DMA数据传输引擎
9. 支持各个设备厂商(Micron、Samsung、Hynix、Toshiba、ST-Micro和其他厂商)的Nand Flash
 
NAND FLASH Controller自动进行坏块管理以及ECC纠错,坏块表可存储于FPGA内部RAM块。
 
NAND FLASH控制器的用户接口友好,基本上都是DPRAM或FIFO接口,状态信号是I/O接口,易于使用。
 
此NAND FLASH控制器可以适应各种各样的NAND FLASH芯片型号。
 
此NAND FLASH控制器多次在实际项目中使用,被证明稳定可靠。
 
如有NAND FLASH接口开发相关方面的技术合作,可随时联系我。

 

 
 
 
基于PCI Express的数据采集卡
PCIE数据采集卡
PCI Express数据采集卡
 
本人在北京工作6年以上,从事FPGA外围接口设计,非常熟悉PCI Express协议,设计调试了多个基于PCI Express接口的数据采集卡.
 
本人非常熟悉Virtex-5/Virtex-6 FPGA PCI Express Block Endpoint模块,基于该模块设计了PCI 
Express Endpoint Master DMA.
 
1. Master DMA位于FPGA内部,FPGA执行DMA操作,主要包括两大功能MA Write(FPGA-->内存)和DMA 
Read(内存-->FPGA).
2. 4x PCI Express DMA Write(FPGA-->内存)的速度可达860MB/s;4x PCI Express DMA 
Read(内存-->FPGA)的速度可达840MB/s.
3. 8x PCI Express DMA Write(FPGA-->内存)的速度可达1640MB/s;8x PCI Express DMA 
Read(内存-->FPGA)的速度可达1590MB/s.
4. FPGA内部的Master DMA也包含与DMA传输相关的控制状态寄存器和中断寄存器.
5. PCI Express驱动采用WinDriver,采用Legacy 
PCI或MSI中断方式,用户应用软件通过WinDriver的API函数访问PCI Express寄存器文件.
 
PCI Express接口特性如下:
1. 自适应链路速率,支持Gen 1、2.5Gbps/Lane(Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6 
FPGA)
2. 自适应链路宽度,支持PCI Express x8/x4/x1
3. 支持Master DMA Write、Master DMA Read、MSI/传统PCI中断、寄存器读写、RAM读  写
4. 支持Master DMA Write和Master DMA Read全双工数据传输
5. PCI Express驱动支持Windows、Linux等操作系统,如Windriver
6. 即插即用,支持热插拔
 
本人已经在Xilinx评估板ML555和ML605,以及自制的 PCIE金手指板卡上调试验证了PCI Express Endpoint Master 
DMA功能.
1. Master DMA Write数据传输功能,数据传输流方向:光纤/RocketIO GTP--> DDR2/DDR3内存 --> PCI 
Express Master DMA Write --> PC内存 --> PC硬盘.
2. Master DMA Read数据传输功能,数据传输流方向:PC硬盘 --> PC内存 --> PCI Express Master DMA 
Read --> DDR2/DDR3内存 --> 光纤/RocketIO GTP接口.
3. 寄存器访问:软件访问FPGA内部与DMA传输相关的寄存器.
4. FPGA发出Legacy PCI或MSI中断.
5. 用户应用程序,采用Visual C/C++编写.
 
本人可以提供FPGA源代码,PCI 
Express驱动、用户应用程序源代码以及相关设计、测试文档.同时还可以在Xilinx评估板ML555和ML605,以及自制的PCIE金手指板卡上演示验证.

如有PCI Express相关方面的技术合作,可联系我。

 
 
 

 
NAND FLASH Controller IP Core
Super-High-Speed NAND FLASH Array Controller
超高速NAND FLASH阵列控制器
 
我是一位在职者(北京),专业从事FPGA接口设计,有较多的空余时间,对FPGA有比较丰富的项目经验(6年)。
熟练使用Xilinx/Altera FPGA,熟悉NAND FLASH接口时序。
 
自行编写NAND FLASH Controller/控制器,可以以源代码(VHDL语言)或网表形式(提供使用手册)提供,功能包括:
1. NAND Flash物理接口时序:支持PAGE READ、PROGRAM PAGE、BLOCK ERASE、RESET、READ ID、READ 
STATUS、Set/Get Feature等命令集和相关时序
2. Nand Flash阵列的流水线管理:流水线化PROGRAM PAGE,使Nand Flash阵列的存储速度最大化;流水线管理NAND 
FLASH阵列的PAGE READ、BLOCK ERASE、RESET、READ ID等操作
3. Nand Flash阵列的坏块检测:检测NAND FLASH的原始出厂坏块
4. Nand Flash阵列的坏块管理:在Nand Flash阵列的PROGRAM PAGE和PAGE READ过程中,剔除NAND 
FLASH的坏块,产生有效的块地址
5. Nand Flash阵列的ECC:256 byte数据生成3 byte ECC编码,使用3 byte ECC编码能够纠正256 
byte数据中的1个bit错误,检测2个bit以上的错误
 
NAND FLASH Controller自动进行坏块管理以及ECC纠错,坏块表可存储于FPGA内部RAM块或片外SRAM。
 
NAND FLASH控制器的用户接口友好,基本上都是DPRAM或FIFO接口,状态信号是I/O接口,易于使用。
 
此NAND FLASH控制器既可以适应简单的单片NAND FLASH应用,也可以适应NAND FLASH阵列应用,并且可以适应各种各样的NAND 
FLASH芯片型号。
 
8x8(8行8列:8个片选,64位数据总线) NAND FLASH阵列的存储速度可达380MB/S。
 
FPGA内部可以嵌入多个NAND FLASH控制器,每个控制器的存储速度可达380MB/S。如果嵌入4个NAND 
FLASH控制器,那么存储速度可达1520MB/S。
 
此NAND FLASH控制器多次在实际项目中使用,被证明稳定可靠。
 
如有NAND FLASH接口开发相关方面的技术合作,可随时联系我。


 
 
 
高速LVDS数据传输方案和协议
基于FPGA的高速LVDS数据传输
 
本人在北京工作6年,从事FPGA外围接口设计,非常熟悉高速LVDS数据传输,8B/10B编码等,设计调试了多个FPGA与FPGA以及FPGA与专用芯片(比如AD/DA)之间的高速LVDS数据传输.
 
本人非常熟悉Virtex-5/Virtex-6 
FPGA的内置SERDES模块,包括ISERDES,OSERDES,IODELAY,IDELAYCTRL等部件,基于该模块设计了一种高速LVDS数据收发方案和协议:
1. 
1路LVDS数据的时钟频率是500MHz(Virtex-5)或600MHz(Virtex-6),双沿数据传输;1路LVDS数据的传输速率为1Gbps(Virtex-5)或1.2Gbps(Virtex-6),16路LVDS数据的传输速率为16Gbps(Virtex-5)或19.2Gbps(Virtex-6)
2. 高速LVDS数据发送:训练序列产生,数据成帧,8B/10B编码,数据并行转串行,随路时钟产生等
3. 
高速LVDS数据接收:接收时钟检测(检测接收时钟的存在),接收时钟对齐(对接收时钟进行移相),数据串行转并行,接收数据字节序对齐(Comma码对齐),接收数据Los-of-Sync状态机,8B/10B解码,解数据帧等
 
本人已经在Xilinx评估板ML555/ML605上调试验证了16路高速LVDS数据收发方案和协议.
1. 
1对LVDS随路时钟+16对LVDS发送数据,时钟频率是500MHz(Virtex-5)或600MHz(Virtex-6),,双沿数据传输;数据传输速率为16Gbps(Virtex-5)或19.2Gbps(Virtex-6).
2. 1对LVDS接收时钟+16对LVDS接收数据.

本人可以提供FPGA源代码.同时还可以在Xilinx评估板ML555/ML605上演示验证.
 
如有高速LVDS数据传输相关方面的技术合作,可联系我。

 
 
 
 
 
 
SDR/DDR/DDR2/DDR3 控制器
SDR/DDR/DDR2/DDR3 Controller
SDR SDRAM 控制器
SDR SDRAM Controller
DDR SDRAM 控制器
DDR SDRAM Controller
DDR2 SDRAM 控制器
DDR2 SDRAM Controller
DDR3 SDRAM 控制器
DDR3 SDRAM Controller
 
我是一位在职者(北京),专业从事FPGA设计,有较多的空余时间,对FPGA有比较丰富的项目经验(6年)。
 
熟练使用Virtex-5/Spartan-6/Virtex-6 FPGA,熟悉SDR SDRAM接口时序,熟悉DDR SDRAM/DDR2 
SDRAM/DDR3 SDRAM接口时序。
 
自行编写符合SDR SDRAM接口时序的SDR SDRAM控制器,支持全页突发模式,SDR 
SDRAM控制器的CS宽度、Bank宽度、Row宽度、Column宽度、以及AC 
Timing参数(比如刷新时间、激活时间等)都是可编程的,突发数据长度可变,SDR SDRAM控制器已经解决翻页问题。
SDR SDRAM控制器以源代码(Verilog HDL)形式提供,既可用于Altera FPGA,也可用于Xilinx 
FPGA,用户访问接口符合Avalon-MM Slave Burst Interface规范,控制器经过严格验证,多次在实际项目中使用,被证明稳定可靠。
SDR SDRAM控制器的最高时钟频率是166MHz。将SDR
Controller进行FIFO化或乒乓化操作,多次在实际项目中使用,被证明稳定可靠。
 
熟练使用Virtex-5/Spartan-6/Virtex-6 FPGA MIG的DDR/DDR2/DDR3 Controller,将DDR2/DDR3 
Controller进行FIFO化或乒乓化操作,多次在实际项目中使用,被证明稳定可靠。
 
如有SDR/DDR/DDR2/DDR3 SDRAM接口开发相关方面的技术合作,可随时联系我。
 

 

 


RocketIO高速串行接口


本人在北京工作6年以上,从事FPGA外围接口设计,熟练使用Virtex-5/Virtex-6 FPGA,非常熟悉RocketIO GTP/GTX协议,Aurora协议,Serial RapidIO协议。
本人已经在Virtex-5/Virtex-6 FPGA上调试通过基于RocketIO GTP/GTX协议的数据流收发,基于Aurora Framing和Streaming的数据流收发,基于Serial RapidIO协议的SWRITE数据流收发,并且已经应用于实际项目中
 
基于RocketIO GTP/GTX协议  
数据流接收处理:RocketIO GTP/GTX RXN/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 RXN/RXP --> RocketIO GTP/GTX --> Aurora Core --> 接收数据处理(根据LocalLink RX Port 判别SOF和EOF,剔除IDLE符号)--> FIFO接口输出
数据流发送处理:FIFO接口输入 --> 发送数据处理(将数据通过LocalLink TX Port输入Aurora Core)--> Aurora Core --> RocketIO GTP/GTX --> RocketIO GTP/GTX TXN/TXP
 
基于Serial RapidIO协议
数据流接收处理:RocketIO GTP/GTX RXN/RXP --> RocketIO GTP/GTX --> Serial RapidIO Core --> 接收SWRITE数据帧处理(根据Serial RapidIO SWRITE格式解析数据帧)--> FIFO接口输出
数据流发送处理:FIFO接口输入 --> 发送数据处理(将数据根据Serial RapidIO SWRITE格式打包输入Serial RapidIO Core)--> Serial RapidIO Core --> RocketIO GTP/GTX --> RocketIO GTP/GTX TXN/TXP
 
如有基于RocketIO高速串行接口设计相关方面的技术合作,可随时联系我。

此帖出自 FPGA/CPLD论坛