随着业界硬件互联结构趋势由并行总线模式向高速串行模式转变,硬盘接口已由ATA并行总线信号模式过渡到SATA串行模式。近年来,XILINX公司高端FPGA器件内集成了高速串行收发器GTP,其内部还集成了为实现SATA协议所定义的OOB信号,8B10B编码等规范所需电路部件。本人最近在研发使用FPGA控制多块磁盘的高带宽磁盘阵系统,目前已使用XILINX VIRTEX5 LXT系列FPGA实现对单块SATA磁盘的读写控制,形成独立的IP。通过在网上搜索,发现有为数不多国外公司发布了SATA控制器IP,国内也有几个朋友发布了相关的论文或成果说明,但是这些文档资料里对各自SATA控制器的接口定义,测试结果的描述都显得较为简略,因此本人特此撰文,把自己所作的一些工作成果呈现出来,与业内的朋友做一些交流,也希望能为对此技术感兴趣的朋友提供一些参考。本文重点放在所实现的IP核的设计理念、接口定义、使用流程定义,IP核测试方法以及使用该IP核对两款硬盘测试的结果上,对于SATA协议本身的内容以及XILINX GTP组件特性等方面的技术知识本文不作专门论述。