現代的計算機追求的是更快的速度、更高的數據完整性和靈活性。無論從物理性能,還是從電氣性能來看,現今的并行總線都已出現了某些局限,無法提供更高的數據傳輸率。而SATA以其傳輸速率快、支持熱插拔、可靠的數據傳輸等特點,得到各行業越來越多的支持。 目前市場上的SATA IP CORE都是面向IC設計的,不利于在FPGA上集成,因此,本文在Xilinx公司的Virtex5系列FPGA上實現SATAⅡ協議,對SATA技術的推廣、國內邏輯IP核的發展都有一定的意義。 本文將SATAⅡ協議的FPGA實現劃分成物理層、鏈路層、傳輸層和應用層四個模塊。提出了物理層串行收/發器設計以及物理鏈路初始化方案。分析了鏈路層模塊結構,給出了作為SATAⅡ鏈路層核心的狀態機的設計。為滿足SATAⅡ協議3.0Gbps的速率,采用擴大數據處理位寬的方法,設計完成了鏈路層的16b/20b編碼模塊,同時為提高數據傳輸可靠性和信號的穩定性,分別實現了鏈路層CRC校驗模塊和并行擾碼模塊。在描述協議傳輸層的模塊結構的基礎上,給出了作為傳輸層核心的狀態機的設計,并以DMA DATA OUT命令的操作為例介紹了FIS在傳輸層中的處理過程。完成了命令層協議狀態機的設計,并實現了SATAⅡ新增功能NCQ技術,從而使得數據傳輸更加有效。最后為使本設計應用更加廣泛,設計了基于AHB總線的用戶接口。 本設計采用Verilog HDL語言對需要實現的電路進行描述,并使用Modelsim軟件仿真。仿真結果表明,本文設計的邏輯電路可靠穩定,與SATAⅡ協議定義功能一致。
標簽:
FPGA
SATA
協議研究
上傳時間:
2013-06-16
上傳用戶:cccole0605