現(xiàn)代的計算機追求的是更快的速度、更高的數(shù)據(jù)完整性和靈活性。無論從物理性能,還是從電氣性能來看,現(xiàn)今的并行總線都已出現(xiàn)了某些局限,無法提供更高的數(shù)據(jù)傳輸率。而sATA以其傳輸速率快、支持熱插拔、可靠的數(shù)據(jù)傳輸?shù)忍攸c,得到各行業(yè)越來越多的支持。 目前市場上的sATA IP CORE都是面向IC設計的,不利于在FPGA上集成,因此,本文在Xilinx公司的Virtex5系列FPGA上實現(xiàn)sATAⅡ協(xié)議,對sATA技術的推廣、國內邏輯IP核的發(fā)展都有一定的意義。 本文將sATAⅡ協(xié)議的FPGA實現(xiàn)劃分成物理層、鏈路層、傳輸層和應用層四個模塊。提出了物理層串行收/發(fā)器設計以及物理鏈路初始化方案。分析了鏈路層模塊結構,給出了作為sATAⅡ鏈路層核心的狀態(tài)機的設計。為滿足sATAⅡ協(xié)議3.0Gbps的速率,采用擴大數(shù)據(jù)處理位寬的方法,設計完成了鏈路層的16b/20b編碼模塊,同時為提高數(shù)據(jù)傳輸可靠性和信號的穩(wěn)定性,分別實現(xiàn)了鏈路層CRC校驗模塊和并行擾碼模塊。在描述協(xié)議傳輸層的模塊結構的基礎上,給出了作為傳輸層核心的狀態(tài)機的設計,并以DMA DATA OUT命令的操作為例介紹了FIS在傳輸層中的處理過程。完成了命令層協(xié)議狀態(tài)機的設計,并實現(xiàn)了sATAⅡ新增功能NCQ技術,從而使得數(shù)據(jù)傳輸更加有效。最后為使本設計應用更加廣泛,設計了基于AHB總線的用戶接口。 本設計采用Verilog HDL語言對需要實現(xiàn)的電路進行描述,并使用Modelsim軟件仿真。仿真結果表明,本文設計的邏輯電路可靠穩(wěn)定,與sATAⅡ協(xié)議定義功能一致。
并行總線PATA從設計至今已快20年歷史,如今它的缺陷已經(jīng)嚴重阻礙了系統(tǒng)性能的進一步提高,已被串行ATA(Serial ATA)即sATA總線所取代。sATA作為新一代磁盤接口總線,采用點對點方式進行數(shù)據(jù)傳輸,內置數(shù)據(jù)/命令校驗單元,支持熱插拔,具有150MB/s(sATA1.0)或300MB/s(sATA2.0)的傳輸速度。目前sATA已在存儲領域廣泛應用,但國內尚無獨立研發(fā)的面向FPGA的sATAIP CORE,在這樣的條件下設計面向FPGA應用的sATA IP CORE具有重要的意義。 本論文對協(xié)議進行了詳細的分析,建立了sATA IP CORE的層次結構,將設備端sATA IP CORE劃分成應用層、傳輸層、鏈路層和物理層;介紹了實現(xiàn)該IPCORE所選擇的開發(fā)工具、開發(fā)語言和所選用的芯片;在此基礎上著重闡述協(xié)議IP CORE的設計,并對各個部分的設計予以分別闡述,并編碼實現(xiàn);最后進行綜合和測試。 采用FPGA集成硬核RocketIo MGT(RocketIo Multi-Gigabit Transceiver)實現(xiàn)了1.5Gbps的串行傳輸鏈路;設計滿足協(xié)議需求、適合FPGA設計的并行結構,實現(xiàn)了多狀態(tài)機的協(xié)同工作:在高速設計中,使用了流水線方法進行并行設計,以提高速度,考慮到系統(tǒng)不同部分復雜度的不同,設計采用部分流水線結構;采用在線邏輯分析儀Chipscope pro與sATA總線分析儀進行片上調試與測試,使得調試工作方便快捷、測試數(shù)據(jù)準確;嚴格按照sATA1.0a協(xié)議實現(xiàn)了sATA設備端IP CORE的設計。 最終測試數(shù)據(jù)表明,本論文設計的基于FPGA的sATA IP CORE滿足協(xié)議需求。設計中的sATA IP CORE具有使用方便、集成度高、成本低等優(yōu)點,在固態(tài)電子硬盤SSD(Solid-State Disk)開發(fā)中應用本設計,將使開發(fā)變得方便快捷,更能夠適應市場需求。