|
SATA主機控制器
SATA Host控制器
SATA Host Controller
基于FPGA的SATA主機控制器
基于FPGA的SATA Host控制器
本人在北京工作7年以上,非常熟悉Spartan-6, Virtex-5/Virtex-6/7 Series FPGA,從事FPGA外圍接口設計,非常熟悉SATA協議,設計調試了多個基于SATA接口的固態大容量存儲設備.
基于FPGA的SATA主機控制器特性如下:
1. 支持SATA 1(1.5Gbps)、SATA 2(3Gbps)以及SATA 3(6Gbps)
2. 符合SATA Rev 3.0規范
3. 實現Phy Layer(物理層)協議,包括OOB等
4. 實現Link Layer(鏈路層)協議,包括8B/10B編解碼,擾碼,CRC,流量控制,成幀/解幀,通信握手序列等
5. 實現Transport Layer(傳輸層)協議,包括FIS構造和解析,錯誤重傳機制等
6. 實現Command Layer(命令層)協議,包括Software Reset協議,PIO Data-In協議,PIO Data-Out協議,DMA-In協議,DMA-Out協議等
7. 實現Application Layer(應用層)協議,包括設備自檢,執行IDENTIFY DEVICE command(獲取設備參數),DMA控制器
8. 實現SATA設備帶電熱插拔
9. 利用多個SATA Host Controller,可以組成RAID陣列控制器
基于FPGA的SATA主機控制器接口特性如下:
1. 支持1.5Gbps, 3Gbps, 6Gbps線速率
2. 提供FIFO數據流接口,支持扁平式地址訪問(只需提供首扇區地址和總扇區長度,控制器內置DMA控制器實現連續的扇區地址管理訪問),實現大流量數據的讀寫
3. 提供雙端口RAM接口,支持單個扇區地址訪問,實現512-byte字節數據的讀寫
4. 提供雙端口RAM接口,支持1~16個扇區地址訪問,實現最多8192-byte字節數據的讀寫
5. 提供SATA Host寄存器接口,包括狀態和錯誤寄存器輸出
6. 提供設備自檢狀態輸出、設備參數輸出(設備最大可用扇區數等)
本人已經在多個SSD(英特爾,三星,美光,OCZ等)上測試驗證,控制器性能如下:
1. SATA 2接口,連續寫速度大于230MB/s,連續讀速度大于250MB/s.
2. SATA 3接口,連續寫速度大于520MB/s,連續讀速度大于540MB/s.
如有SATA相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
Serial RapidIO接口DMA數據傳輸
本人在北京工作7年以上,從事FPGA外圍接口設計,非常熟悉Serial RapidIO協議,設計調試了多個基于Serial RapidIO接口的DSP和PowerPC信號處理卡.
本人非常熟悉Spartan-6, Virtex-5/Virtex-6/7 Series FPGA Serial RapidIO Block Endpoint模塊,基于該模塊設計了Serial RapidIO Endpoint Master DMA.
1. Master DMA位于FPGA內部,FPGA執行DMA操作,主要包括兩大功能DMA Write(FPGA-->DSP/PowerPC內存)和DMA Read(DSP/PowerPC內存-->FPGA).
2. Serial RapidIO 1x,5Gbps/lane:DMA Write(FPGA-->DSP/PowerPC內存)的速度可達450MB/s;DMA Read(DSP/PowerPC內存-->FPGA)的速度可達440MB/s.
3. Serial RapidIO 4x,5Gbps/lane:DMA Write(FPGA-->DSP/PowerPC內存)的速度可達1780MB/s;DMA Read(DSP/PowerPC內存-->FPGA)的速度可達1740MB/s.
4. FPGA內部的Master DMA也包含與DMA傳輸相關的控制狀態寄存器和中斷寄存器.
Serial RapidIO接口特性如下:
1. 支持1.25Gbps, 2.5Gbps, 3.125Gbps, 5Gbps, 6.25Gbps線速率
2. 自適應鏈路寬度,支持Serial RapidIO x4/x2/x1
3. 支持Master DMA Write(SWRITE)、Master DMA Read(NREAD)、Doorbell、Message、寄存器讀寫(NWRITE/NWRITE_R/NREAD)、RAM讀寫(NWRITE/NWRITE_R/NREAD)
4. 支持Master DMA Write和Master DMA Read全雙工數據傳輸
本人已經在多個基于DSP和PowerPC信號處理板上調試驗證了Serial RapidIO Endpoint Master DMA功能.
1. Master DMA Write數據傳輸功能,數據傳輸流方向:光纖/RocketIO GTP/GTX--> DDR2/DDR3內存 --> Serial RapidIO Master DMA Write --> DSP/PowerPC內存.
2. Master DMA Read數據傳輸功能,數據傳輸流方向:DSP/PowerPC內存 --> Serial RapidIO Master DMA Read --> DDR2/DDR3內存 --> 光纖/RocketIO GTP/GTX接口.
3. 寄存器訪問:軟件訪問FPGA內部與DMA傳輸相關的寄存器.
4. FPGA發出Doorbell中斷.
如有Serial RapidIO相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
基于PCI Express的數據采集卡
PCIe數據采集卡
PCI Express數據采集卡
本人在北京工作6年以上,從事FPGA外圍接口設計,非常熟悉PCI Express協議,設計調試了多個基于PCI Express接口的數據采集卡.
本人非常熟悉Spartan-6, Virtex-5/Virtex-6/7 Series FPGA PCI Express Block Endpoint模塊,基于該模塊設計了PCI Express Endpoint Master DMA.
1. Master DMA位于FPGA內部,FPGA執行DMA操作,主要包括兩大功能DMA Write(FPGA-->內存)和DMA Read(內存-->FPGA).
2. 1x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達214MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達209MB/s.
3. 4x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達860MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達840MB/s.
4. 8x PCI Express Gen 1 DMA Write(FPGA-->內存)的速度可達1690MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達1640MB/s.
5. 4x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達1680MB/s;4x PCI Express DMA Read(內存-->FPGA)的速度可達1620MB/s.
6. 8x PCI Express Gen 2 DMA Write(FPGA-->內存)的速度可達3440MB/s;8x PCI Express DMA Read(內存-->FPGA)的速度可達3380MB/s.
7. FPGA內部的Master DMA也包含與DMA傳輸相關的控制狀態寄存器和中斷寄存器.
8. PCI Express驅動采用WinDriver,采用Legacy PCI或MSI中斷方式,用戶應用軟件通過WinDriver的API函數訪問PCI Express寄存器文件.
PCI Express接口特性如下:
1. 自適應鏈路速率,支持Gen 1、2.5Gbps/Lane(Spartan-6, Virtex-5 FPGA)和Gen 2、5.0Gbps/Lane(Virtex-6/7 Series FPGA)
2. 自適應鏈路寬度,支持PCI Express x8/x4/x2/x1
3. 支持Master DMA Write、Master DMA Read、MSI/傳統PCI中斷、寄存器讀寫、RAM讀寫
4. 支持Master DMA Write和Master DMA Read全雙工數據傳輸
5. PCI Express驅動支持Windows 32/64位、Linux等操作系統,如Windriver
6. 即插即用,支持熱插拔
本人已經在Xilinx評估板SP605,ML555,ML505,ML605和KC705,以及自制的PCIe金手指板卡上調試驗證了PCI Express Endpoint Master DMA功能.
1. Master DMA Write數據傳輸功能,數據傳輸流方向:光纖/RocketIO GTP/GTX--> DDR2/DDR3內存 --> PCI Express Master DMA Write --> PC內存 --> PC硬盤.
2. Master DMA Read數據傳輸功能,數據傳輸流方向:PC硬盤 --> PC內存 --> PCI Express Master DMA Read --> DDR2/DDR3內存 --> 光纖/RocketIO GTP/GTX接口.
3. 寄存器訪問:軟件訪問FPGA內部與DMA傳輸相關的寄存器.
4. FPGA發出Legacy PCI或MSI中斷.
5. 用戶應用程序,采用Visual C/C++編寫,適用于Windows 32/64位,如XP,Win2003/2008 32/64,Win7 32/64
本人可以提供FPGA源代碼,PCI Express驅動、用戶應用程序源代碼以及相關設計、測試文檔.同時還可以在Xilinx評估板SP605,ML555,ML505,ML605和KC705,以及自制的PCIe金手指板卡上演示驗證.
如有PCI Express相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
NAND FLASH Controller IP Core
標準NAND FLASH Controller
標準NAND FLASH控制器
我是一位在職者(北京),專業從事FPGA接口設計,有較多的空余時間,對FPGA有比較豐富的項目經驗(6年)。
熟練使用Xilinx/Altera FPGA,熟悉NAND FLASH接口時序。
自行編寫標準NAND FLASH Controller/控制器,可以以源代碼(VHDL/Verilog HDL語言)或網表形式(提供使用手冊)提供,功能包括:
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:RS碼1080字節糾正24-bit;或RS碼540字節糾正8-bit;或漢明碼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接口開發相關方面的技術合作,可隨時聯系我。
聯系方式:neteasy163z@163.com
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/控制器,可以以源代碼或網表形式(提供使用手冊)提供,功能包括:
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:RS碼1080字節糾正24-bit;或RS碼540字節糾正8-bit;或漢明碼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接口開發相關方面的技術合作,可隨時聯系我。
聯系方式:neteasy163z@163.com
高速LVDS數據傳輸方案和協議
基于FPGA的高速LVDS數據傳輸
高速AD/DA接口
本人在北京工作6年,從事FPGA外圍接口設計,非常熟悉高速LVDS數據傳輸,8B/10B編碼等,設計調試了多個FPGA與FPGA以及FPGA與專用芯片(比如AD/DA)之間的高速LVDS數據傳輸.
本人非常熟悉AD/DA接口,包括高速并行AD、串行AD,高速并行DA,比如ADS5474,E2V,LTC2175,E2V高速AD,Intersil ISLA214P50,AD9129,AD9142A等,基于FPGA設計高速并行/串行AD/DA接口:時鐘對齊、根據幀同步實現串轉并數據對齊.
本人非常熟悉Virtex-5/Virtex-6/7 Series FPGA的內置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上演示驗證.
如有高速LVDS數據傳輸相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
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年)。
熟練使用Altera Stratix/Arria Series FPGA, Virtex-5/Spartan-6/Virtex-6/7 Series FPGA MIG的DDR/DDR2/DDR3 Controller,支持DDR2 800以及DDR3 1600,將DDR2/DDR3 Controller進行FIFO化或MIMO化或MPC化或乒乓化操作,多次在實際項目中使用,被證明穩定可靠。
熟練使用Altera Stratix Series FPGA, Altera Arria Series FPGA, Virtex-5/Spartan-6/Virtex-6/7 Series 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化或MIMO化或MPC化或乒乓化操作,多次在實際項目中使用,被證明穩定可靠。
如有SDR/DDR/DDR2/DDR3 SDRAM接口開發相關方面的技術合作,可隨時聯系我。
聯系方式:neteasy163z@163.com
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
寄存器讀寫:NWRITE,NREAD等協議
DMA讀寫:SWRITE,NREAD等協議
中斷接口:DOORBELL協議
如有基于RocketIO高速串行接口設計相關方面的技術合作,可隨時聯系我。
聯系方式:neteasy163z@163.com
基于PCI的數據采集卡
PCI數據采集卡
本人在北京工作6年以上,從事FPGA外圍接口設計,非常熟悉PCI協議,設計調試了多個基于PCI接口的數據采集卡.
本人非常熟悉Virtex-2/Virtex-2 Pro/Virtex-5/Spartan-6/Spartan-3 FPGA PCI Block模塊,基于該模塊設計了PCI Master DMA.
1. Master DMA位于FPGA內部,FPGA執行DMA操作,主要包括兩大功能DMA Write(FPGA-->內存)和DMA Read(內存-->FPGA).
2. 32-bit 33MHz PCI DMA Write(FPGA-->內存)的速度可達130MB/s;32-bit 33MHz PCI DMA Read(內存-->FPGA)的速度可達100MB/s.
3. 64-bit 66MHz PCI DMA Write(FPGA-->內存)的速度可達520MB/s;64-bit 66MHz PCI DMA Read(內存-->FPGA)的速度可達420MB/s.
4. FPGA內部的Master DMA也包含與DMA傳輸相關的控制狀態寄存器和中斷寄存器.
5. PCI Express驅動采用WinDriver,采用Legacy PCI中斷方式,用戶應用軟件通過WinDriver的API函數訪問PCI Express寄存器文件.
PCI 接口特性如下:
1. 支持32-bit 33MHz PCI接口
2. 支持64-bit 66MHz PCI接口
3. 支持Master DMA Write、Master DMA Read、傳統PCI中斷、寄存器讀寫、RAM讀寫
4. PCI驅動支持Windows、Linux等操作系統,如Windriver
5. 即插即用,支持熱插拔
本人已經在Xilinx評估板ML555,以及自制的PCI金手指板卡上調試驗證了PCI Master DMA功能.
1. Master DMA Write數據傳輸功能,數據傳輸流方向:光纖/RocketIO GTP--> DDR2內存 --> PCI Master DMA Write --> PC內存 --> PC硬盤.
2. Master DMA Read數據傳輸功能,數據傳輸流方向:PC硬盤 --> PC內存 --> PCI Master DMA Read --> DDR2內存 --> 光纖/RocketIO GTP接口.
3. 寄存器訪問:軟件訪問FPGA內部與DMA傳輸相關的寄存器.
4. FPGA發出Legacy PCI中斷.
5. 用戶應用程序,采用Visual C/C++編寫.
本人可以提供FPGA源代碼,PCI驅動、用戶應用程序源代碼以及相關設計、測試文檔.同時還可以在Xilinx評估板ML555,以及自制的PCI金手指板卡上演示驗證.
如有PCI Express相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
使用ADV202/ADV212實現圖像壓縮
本人在北京工作6年以上,專業從事FPGA外圍接口設計,非常熟悉JPEG2000,使用ADV202/ADV212進行圖像壓縮.
非常熟悉ADV202/ADV212圖像處理芯片,基于該芯片實現JPEG2000圖像壓縮.
1. 采用ADV212 HIPI模式壓縮靜態圖像,DMA通道0輸入原始圖像數據,DMA通道1輸出壓縮后數據.
2. 在ADV212 HIPI模式下成功裝載固件(Firmware),正確初始化ADV212.
3. 支持灰度圖像和彩色圖像輸入,比如CCD,紅外,超光譜,可見近紅外,短波紅外,長波紅外等.
4. 在Irreversible(不可逆)壓縮模式下,單個ADV202/ADV212的圖像最大輸入速率為45MSPS;在Reversible(可逆)壓縮模式下,單個ADV202/ADV212的圖像最大輸入速率為40MSPS.
5. 圖像精度可配:8-bit, 10-bit, 12-bit, 14-bit, 16-bit.
6. 采用小波變換算法(Wavelet Kernal), 支持5/3和9/7小波變換,支持有損和無損壓縮.
7. 圖像壓縮比可調.8:1壓縮比下,峰值信噪比PSNR大于38dB.
8. 輸入圖像分辨率或圖像尺寸可調.
9. 使用kdu軟件進行解壓.
如有ADV202/ADV212相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
|
|