AN 635: Implementing SATA and SAS Protocols in Altera Devices

Similar documents
Quartus Prime 软件下载和安装快速入门指南 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel FPGA, Arria, Cyclone, Enpirion, MAX, Megacore, N

FPGA GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM

Logitech Wireless Combo MK45 English

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

Optical Transport Networks for 100G Implementation in FPGAs

Chapter #

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD

Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

Achieving One TeraFLOPS with 28-nm FPGAs

AN617: Stratix IV GX器件的RapidIO动态 数据速率重配置参考设计

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

Support All Industrial Ethernet Standards on Your Next "Drive" Design White Paper

发行说明, 版

1. 請 先 檢 查 包 裝 內 容 物 AC750 多 模 式 無 線 分 享 器 安 裝 指 南 安 裝 指 南 CD 光 碟 BR-6208AC 電 源 供 應 器 網 路 線 2. 將 設 備 接 上 電 源, 即 可 使 用 智 慧 型 無 線 裝 置 進 行 設 定 A. 接 上 電 源

Panaboard Overlayer help

FPGAs in Next Generation Wireless Networks WPChinese

PCI Express

Microsoft PowerPoint - STU_EC_Ch08.ppt

CSA SONET/SDH GR 253-CORE ITU-T G.703 ANSI T Ethernet IEEE Std ANSI X Fibre Channel Optical Fibre Channel Electrical U

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

LH_Series_Rev2014.pdf

untitled

untitled

邏輯分析儀的概念與原理-展示版

1 VLBI VLBI 2 32 MHz 2 Gbps X J VLBI [3] CDAS IVS [4,5] CDAS MHz, 16 MHz, 8 MHz, 4 MHz, 2 MHz [6] CDAS VLBI CDAS 2 CDAS CDAS 5 2

1.ai

IBM 全 球 企 业 咨 询 服 务 部 中 国 五 矿 筑 起 人 力 资 源 信 息 大 厦 2 回 顾 篇 慎 选 巧 选 软 件 平 台 由 于 五 矿 集 团 下 属 的 很 多 公 司 是 最 近 几 年 才 加 盟 的 新 成 员 企 业, 这 些 公 司 所 应 用 的 人 力 资

PCM-3386用户手册.doc

P4i45GL_GV-R50-CN.p65

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot

RAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )

Bus Hound 5

Xear 3D USB CH-IN-2 SPKs 2 6 :

Outline Speech Signals Processing Dual-Tone Multifrequency Signal Detection 云南大学滇池学院课程 : 数字信号处理 Applications of Digital Signal Processing 2

PTS7_Manual.PDF

K301Q-D VRT中英文说明书141009

Xilinx Alliance Program Certified GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM

Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation


untitled

1377_SNAP_Selection_Guide.fm

GH1220 Hall Switch

EMC® VNX® Series VNX8000™ Block 安装指南

WFC40810

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

SL2511 SR Plus 操作手冊_單面.doc

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

V6800/V6600 3D

AMP NETCONNECT

CANVIO_AEROCAST_CS_EN.indd

時脈樹設計原則

穨control.PDF

775i65PE_BIOS_CN.p65

Microsoft Word - LR1122B-B.doc

audiogram3 Owners Manual

目 錄 使 用 者 介 面... 3 檔 案 頁 籤... 3 配 置... 4 狀 態 列... 4 功 能 區... 5 說 明... 5 文 件... 7 修 訂 雲 形... 7 標 註... 8 文 字... 9 幾 何 中 心 點 的 物 件 鎖 點 等 角 製 圖 格 線.

2/80 2

WVT new


els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

KDC-U5049 KDC-U4049 Made for ipod, and Made for iphone mean that an electronic accessory has been designed to connect specifically to ipod, or iphone,

Microsoft PowerPoint - ATF2015.ppt [相容模式]

P4VM800_BIOS_CN.p65

P4Dual-915GL_BIOS_CN.p65

画像処理に新しい価値を提供するUSB3.0カメラ(国際画像機器展2014)

Intel® Cyclone® 10 GX收发器PHY用户指南

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

52C

同步网络中的高性能线卡时钟解决方案

untitled

...1 What?...2 Why?...3 How? ( ) IEEE / 23

DCR (Max.) CKST uH/M 0.1±20% CKST uH/M 0.22±20% CKST uH/M 0.47±20% CKST uH/M 0

Guide to Install SATA Hard Disks

EE Lecture 11 (Wireless Communications Systems)

RS-232C [11-13] 1 1 (PLC) (HMI) Visual Basic (PLC) 402

TX-NR3030_BAS_Cs_ indd

沒有投影片標題

AL-MX200 Series

Microsoft Word - Delta Controller ASCII_RTU_SC

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

Table of Contents A. Product Outline.. 3 B. Features.. 4 C. Block Diagram... 5 D. Pin Assignments. 6 E. Physical Specifications... 7 F. DC Characteris

Epson

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

B _02_ch.indd

HKG_ICSS_FTO_sogobrilingual_100_19Feb2016_31837_tnc

IEC 传输帧格式

逢 甲 大 學

P4V88+_BIOS_CN.p65

a b c d e f g C2 C1 2

84

SDS 1.3

PPTVIEW

AI-AUTO-011 Saflex® Advanced PVB - Color Interlayer (Chinese)

國家圖書館典藏電子全文

Electrical and Optical Clock Data Recovery Solutions - Data Sheet

BC04 Module_antenna__ doc

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

Transcription:

实现 Altera 器件中的 SATA 与 SAS 协议 AN-635-1.0 应用笔记 本应用笔记介绍了如何通过 Arria II HardCopy IV 和 Stratix IV 器件中的 Altera 收发器来实现串行高级技术附件 (SATA) 与串列 SCSI(SAS) 协议 通过使用 FPGA 逻辑来连接本文档所介绍的收发器配置, 使您能够创建专有的 SATA 与 SAS 接口设计 本应用笔记涵盖以下几方面内容 : SATA 和 SAS 协议概述 第 1 页 SATA 与 SAS 协议的收发器支持 第 2 页 SATA 和 SAS 的收发器配置 第 4 页 设置收发器来对应 SATA 和 SAS 的应用 第 4 页 重配置收发器以实现 SATA 和 SAS 速度协商 第 8 页 使用 ALTGX_RECONFIG 控制器重配置 SATA 和 SAS 数据速率 第 10 页 SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 第 12 页 包含速度协商的时序收敛 第 16 页 SATA 和 SAS 协议概述 SATA 和 SAS 是台式机 服务器以及其它应用中的主机与外设之间的串行连接协议 这两个协议在数据速率与信号要求方面类似, 但所针对的应用略有不同 SATA 是由并行 ATA 接口演变而来, 通过设计和开发用作互联的并行 ATA 接口, 使桌面电脑 服务器和企业系统中的主机系统能够与硬盘驱动器以及光储存驱动器等外设相连接 SATA 系统工作在半双工模式下 一次只能在一个方向进行通信 SATA 的物理数据速率为 1.5 Gbps 3.0 Gbps 和 6.0 Gbps SAS 协议主要用作服务器系统中的磁盘驱动器与主机控制器之间的互联 SAS 支持更多的特性 大容量 易扩展性 增强的安全性, 并且向后兼容 SATA 系统 SAS 协议被设计工作在全双工模式 同时从驱动器发送和接收数据 该协议对长达 8 m 电缆的连接提供了支持, 并支持扩展器的应用, 使多个 SAS 驱动器能够连接到同一主机端口 SAS 的物理数据速率为 3.0 Gbps 和 6.0 Gbps 101 Innovation Drive San Jose, CA 95134 www.altera.com 2011 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX are Reg. U.S. Pat. & Tm. Off. and/or trademarks of Altera Corporation in the U.S. and other countries. All other trademarks and service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its semiconductor products to current specifications in accordance with Altera s standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services. Altera 公司 2011 年 1 月 Subscribe

2 SATA 与 SAS 协议的收发器支持 SATA 与 SAS 协议的收发器支持 Altera 收发器支持 SATA 和 SAS 标准 标准的每一个版本主要解决单数据链路的速度问题 表 1 列出了 Altera 收发器 FPGA 和 HardCopy 的 ASIC SATA 与 SAS 支持 表 1. SATA 和 SAS 支持 Device SATA 1.0 (1.5 Gbps) 本应用笔记对推荐的收发器配置作了介绍, 以实现 SATA 和 SAS 协议, 从而满足 PHY 要求 Arria II HardCopy IV 和 Stratix IV 器件均符合 SATA 和 SAS PHY 要求 由 Altera 收发器本身支持 通过采用 8B/10B 模块 接收信号检测 发送器电路空闲以及动态重配置功能, 您可以轻松地实现协议编码 带外信令以及速度协商 下面部分对符合 SATA 和 SAS 规范的 Altera 收发器硬件合规作了介绍 : SATA 与 SAS 的带外信令 第 2 页 SATA 和 SAS 的自动速度协商 第 3 页 扩频输入时钟跟踪 第 3 页 SATA SATA 2.0 (3.0 Gbps) SATA 3.0 (6.0 Gbps) SAS 1.0 (3.0 Gbps) SAS SAS 2.0 (6.0 Gbps) Stratix IV v v v v v Arria II GX v v v (1) v v (1) Arria II GZ v v v (2) v v (2) HardCopy IV GX v v v v v 表 1 注释 : (1) 仅被 Arria II GX 器件的 I3 速度等级支持 (2) 仅被 Arria II GZ 器件 (EP2AGZ225 EP2AGZ300 和 EP2AGZ350) 的 C3 和 I3 速度等级支持 SATA 与 SAS 的带外信令 SATA 与 SAS 协议均支持带外信令方案 带外信令用于下面的功能 : 在主机与驱动器之间建立通信, 以识别出系统中所使用的驱动器类型 识别出主机和驱动器的最大操作数据速率 带外信号是一个三电平信号, 包含一个闲置和突发信号 带外信令在接收接口无效或处于低功耗状态模式的情况下, 用于对指定的操作发出信号 带外信号包含 COMRESET COMINIT/COMWAKE 和 COMSAS 通过发送器电路空闲和接收器信号检测功能, 您可以使用 Altera 器件来生成并检测带外序列 在生成突发信号间的空闲信号期间, 您可以根据带外信号规范来例化发送器上的 tx_forceelecidle 端口, 以发送一个的空闲期间信号 tx_forceelecidle 信号用于将发送缓冲器处于三态 要使能这一特定信号, 需要开启 ALTGX megafunction 的 Ports/Calibration 页面上的 Create 'tx_forceelecidle' input port 欲了解详细信息, 请参考第 6 页 使用 ALTGX MegaWizard 插件管理器进行收发器配置 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

SATA 与 SAS 协议的收发器支持 3 通过使用接收信号检测功能, 您能够检测带外序列期间每一个 COMRESET COMINIT/COMWAKE 和 COMSAS 信号是否存在 这些信号的阈值电平根据 SATA 和 SAS 使用模式的不同会有所不同 SATA(Gen1 1.5 Gbps Gen2 3.0 Gbps 和 Gen3 6.0 Gbps) 和 SAS(Gen1 3.0 Gbps 和 Gen2 6.0 Gbps) 的 i, m 和 x 变量 要在 ALTGX 宏功能中例化这一端口, 需要开启 Ports/Calibration 设置页面上的 Create 'rx_signaldetect' port to indicate data input signal detection 欲了解详细信息, 请参考第 6 页 使用 ALTGX MegaWizard 插件管理器进行收发器配置 在 ALTGX 宏功能中有两个信号检测阈值电平可供选择 您可以根据 SATA 和 SAS 使用模式来选择指定的信号检测阈值 请使用下面的信号检测阈值设置 : Gen1i/m, Gen2i/m, Gen3i 信号检测阈值 = 2 Gen1x, Gen2x 信号检测阈值 = 6 欲了解关于 SATA 和 SAS 使用模式 ( 例如 :i m 和 x 变量 ) 的详细信息, 请参考相关的协议规范 1 您可以使用 Quartus II 9.1 以及更新版本对接收器输入 rx_signaldetect 阈值进行设置 SATA 和 SAS 的自动速度协商 SATA 和 SAS 速度协商发生在主机与器件之间, 确定主机与器件所能支持的最大数据速率 该协商是 SATA 与 SAS 规范中的一个 PHY 要求 自动速度协商进程从链路上的两个节点发出一个稳定的码型流 此进程通过观测带外信令码型来改变数据速率并协商出一个通用速度 Altera 收发器动态重配置功能使您能够重配置成一个不同的数据速率在速度协商期间, 要对此应用选择一个合适的重配置方法, 请参考第 8 页 重配置收发器以实现 SATA 和 SAS 速度协商 和第 12 页 SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 ( 推荐的复位流程 ) 扩频输入时钟跟踪 扩频时钟 (SSC) 被需要来减少电磁干扰 (EMI) 的排放 Altera 收发器不能在内部生成扩频时钟 对于扩频时钟的生成, 一定要使用一个带有 SSC 生成的外部时钟源 然而,Altera 接收器 CDR PLL 是被设计来接收带有调制频率的扩频输入 通常情况下,CDR PLL 就能够跟踪 SSC, 当你将 CDR PLL 配置成中等或者高带宽设置, 并且频率在输入抖动容限规范以内 f 要了解关于输入抖动容限规范的详细信息, 请参考下面的文档 : Stratix IV 器件手册中的 DC and Switching Characteristics for Stratix IV Devices 章节 HardCopy IV 器件手册的 DC and Switching Characteristics of HardCopy IV Devices 章节 Arria II 器件手册中的 Device Datasheet for Arria II Devices 章节 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

4 SATA 和 SAS 的收发器配置 SATA 和 SAS 的收发器配置 图 1 显示了使用基本功能模式在 SATA 和 SAS 协议中运行的收发器配置 图 1. SATA 配置的收发器数据通路 8-, 16-, or 32-bit Interface (1) 10- or 20-bit Interface FPGA Fabric Transmitter Channel PCS Transmitter Channel PMA TX Phase Compensation FIFO Byte Serializer 8B/10B Encoder Serializer tx_dataout tx_coreclk PCIe Hard IP PIPE Interface (2) (2) wrclk tx_clkout rdclk wrclk rdclk /2 Receiver Channel PCS Low-Speed Parallel Clock from Clock Divider 10- or 20-bit Interface Local Clock Divider High-Speed Serial Clock Receiver Channel PMA (3) tx_coreclk (2) (2) RX Phase Compensation FIFO Byte Ordering Byte Deserializer /2 8B/10B Decoder Rate Match FIFO Deskew FIFO Parallel Recovered Clock Word Aligner Deserializer CDR rx_datain 图 1 注释 : (1) 32-bit 接口仅在 Stratix IV HardCopy IV GX 和 Arria II GZ 器件中被支持 (2) 这些时钟会根据 SATA 和 SAS 的数据速率以及 SERDES 因子 ( 单宽和双宽模式 ) 运行在 37.5 MHz 75 MHz 或者 150 MHz 欲了解详细信息, 请参考第 6 页 选择 SATA 和 SAS 所支持的通道宽度设置 (3) 高速串行时钟会根据 SATA 和 SAS 的数据速率运行在 750 MHz(1.5 Gbps) 1500 MHz(3 Gbps) 和 3000 MHz(6 Gbps) 设置收发器来对应 SATA 和 SAS 的应用 接下来的部分介绍了如何对 SATA 和 SAS 的应用来设置收发器 : 将推荐的 PLL 配置用于 SATA 和 SAS 第 5 页 选择输入参考时钟 第 5 页 选择 SATA 和 SAS 所支持的通道宽度设置 第 6 页 使用 ALTGX MegaWizard 插件管理器进行收发器配置 第 6 页 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

设置收发器来对应 SATA 和 SAS 的应用 5 将推荐的 PLL 配置用于 SATA 和 SAS 您必须选择最合适的 PLL 配置设置, 让 SATA 和 SAS 能够在 1.5 Gbps 3.0 Gbps 和 6.0 Gbps 的数据速率下运行 表 2 列出了用于 SATA 和 SAS 协议的所推荐的 PLL 配置 表 2. 用于 SATA 和 SAS 协议的所推荐的 PLL 配置 协议数据速率 基准数据速率 (Mbps) (1) 有效数据速率 (Mbps) (2) TX PLL 带宽 CDR PLL 带宽 SATA 1.0 SATA 2.0/SAS 1.0 6000 (3) 3000 1500 6000 (3) 3000 1500 3000 SATA 3.0/SAS 2.0 6000 (3) 6000 (3) 表 2 注释 : 自动 中或高 (1) 基准数据速率是发送 PLL VCO 的输出端上的频率 欲了解更多关于此设置的使用信息, 请参考第 6 页 使用 ALTGX MegaWizard 插件管理器进行收发器配置 (2) 有效数据速率是通道本地分频器后面通道上的串行数据速率 欲了解更多关于此设置的使用信息, 请参考第 6 页 使用 ALTGX MegaWizard 插件管理器进行收发器配置 (3) 6000 Mbps 的有效数据速率仅在 Stratix IV HardCopy IV Arria II GX( I3 速度等级 ) 和 Arria II GZ( I3 和 C3 速度等级 ) 器件中被支持 选择输入参考时钟 如果您采用 Arria II HardCopy IV 和 Stratix IV GX/GT( 不包括 Stratix IV GX 230 ES) 器件来创建你的设计, 那么 Altera 建议您对所有支持的数据速率均使用一个 150 MHz 的输入参考时钟 然而, 对于使用 Stratix IV GX 230 ES 的设计, 当选择输入参考时钟时需要遵循表 3 中所列出的限定 对于发送以及接收 PLL,Stratix IV GX 230 ES 器件具有受限的输入参考时钟频率设置 如果选择使用了受限的 M 计数器设置的输入参考时钟频率和数据速率, 那么 Quartus II 编译器会因为出现错误而停摆 表 3. Stratix IV GX 230 ES 器件的受限的输入参考时钟 230 ES 不支持的器件基准数据速率 (1) M=16 M=20 3000 Mbps 93.75 MHz 75 MHz Stratix IV GX 230 ES 6000 Mbps 187.5 MHz 150 MHz 表 3 注释 : (1) 准数据速率是 PLL VCO 的输出端上的频率 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

6 设置收发器来对应 SATA 和 SAS 的应用 选择 SATA 和 SAS 所支持的通道宽度设置 表 4 列出了 Arria II HardCopy IV 和 Stratix IV 所支持的线路速率 通道宽度和接口时钟速率设置 对您的收发器配置选择最合适的设置 表 4. 所支持的线路速率 通道宽度和接口时钟速率设置 协议 线路速率 (Mbps) SATA 1.0 1500 SATA 2.0/SAS 1.0 3000 SATA 3.0/SAS 2.0 6000 通道宽度 (bits) (1) 接口时钟速率 (MHz) Stratix IV 和 HardCopy IV Arria II 8 150 150 16 75 75 32 37.5 37.5 (2) 16 150 150 32 75 75 (2) 16 300 300 (3) 32 150 150 (2) 图 5 注释 : (1) 8-16- 和 32- bit 通道宽度仅被 8B/10B 模块支持 16- bit 通道宽度被双宽度模式或字节串化器 / 解串器 (SERDES) 模块支持 32- bit 通道宽度被双宽度模式以及字节 SERDES 模块支持 (2) 仅适用于 Arria II GZ 器件的 I3 和 C3 速度等级 (3) 仅适用于 Arria II GX( I3 速度等级 ) 和 Arria II GZ( I3 和 C3 速度等级 ) 使用 ALTGX MegaWizard 插件管理器进行收发器配置 浏览 MegaWizard Plug-In Manager 并指定必要的选项和设置 表 5 列出了用于配置收发器通道以运行在 SATA 和 SAS 的指定值 表 5. 指定的 ALTGX Megafunction 选项用于 SATA 和 SAS 中收发器通道的操作 (1/3) 选项 设置 Which megafunction would you like to customize? ( 您想定制哪个宏功能? ) 展开 I/O 并选择 ALTGX Which protocol will you be using?( 您将使用哪个协议? ) 选择 Basic 根据您的设计来选择 Receiver and What is the operation mode?( 操作模式是什么? ) Transmitter Transmitter Only 或者 Receiver Only What is the number of channels?( 通道数是多少? ) 选择 1 What is the channel width?( 通道宽度是多少? ) 选择通道宽度 (1) What is the effective data rate?( 有效数据速率是多少? ) 输入所需的通道线路速率 (2) What is the input clock frequency?( 输入时钟频率是多少? ) 选择 150.0 MHz The base data rate is( 基准数据速率是 ) 输入基准数据速率 (2) What is the Tx PLL bandwidth mode?(tx PLL 带宽模式是什么? ) What is Rx CDR bandwidth mode?(rx CDR 带宽模式是什么?) 选择 Auto 选择 High 或者 Medium 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

设置收发器来对应 SATA 和 SAS 的应用 7 表 5. 指定的 ALTGX Megafunction 选项用于 SATA 和 SAS 中收发器通道的操作 (2/3) Create 'gxb_powerdown' port to powerdown the Transceiver block( 创建 'gxb_powerdown' 端口对收发器模块断电 ) Create 'rx_analogreset' port for the analog portion of the receiver( 创建 'rx_analogreset' 端口用于接收器的类比部分 ) Create 'rx_digitalreset' port for the digital portion of the receiver( 创建 'rx_digitalreset' 端口用于接收器的数字位部分 ) Create 'tx_digitalreset' port for the digital portion of the transmitter( 创建 'tx_digitalreset' 端口用于发送器的数字位部分 ) Create 'rx_locktorefclk' port to lock the Rx CDR to the reference clock( 创建 'rx_locktorefclk' 端口将 Rx CDR 锁定到参考时钟 ) Create 'rx_locktodata' port to lock the Rx CDR to the received data( 创建 'rx_locktodata' 端口将 Rx CDR 锁定到已接收的数据 ) Create 'rx_signaldetect' port to indicate data input signal detection (3)( 创建 'rx_signaldetect' 端口以指示数据输入信号检测 ) Create 'tx_forceelecidle' input port (4)( 创建 'tx_forceelecidle' 输入端口 ) What is the signal detect threshold?( 信号检测阈值是多少? ) TX Analog 页面上的设置 Analog control(vod, Pre- emphasis, Manual Equalization and EyeQ)( 模拟控制 (VOD 预加重 手动均衡和 EyeQ)) Enable Channel and Transmitter PLL reconfiguration( 使能通道和发送器 PLL 重配置 ) Enable 8b10b decoder/encoder( 使能 8b10b 解码器 / 编码器 ) Create 'rx_ctrldetect' to indicate 8b10b decoder has detected a control code (5)( 创建 'rx_ctrldetect' 来指示 8b10b 已经检测到控制代码 ) Word Aligner 选项组 选项 What is the word alignment pattern length?( 字对齐码型长度是多少? ) 此选项是可选的 选择下面的值 : Gen1i/m Gen2i/m 和 Gen3i 2 Gen1x 和 Gen2x 6 根据 SATA 和 SAS 规范来设置 VOD 您可以参考相关的器件文档资料以获得详细的信息 您可以使用模拟控制的动态重配置来改变发送器 VOD 开启, 在速度协商期间能够切换通道数据速率 开启使用 rx_signaldetect 端口 选择 Use manual word alignment mode 指定 10 设置 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

8 重配置收发器以实现 SATA 和 SAS 速度协商 表 5. 指定的 ALTGX Megafunction 选项用于 SATA 和 SAS 中收发器通道的操作 (3/3) What is the word alignment pattern?( 字对齐码型是什么? ) 表 5 注释 : 选项 设置 输入 0101111100 (10- bit K28.5 对齐码型 ) 字对齐检测这一码型的两个差异 (1) 根据第 6 页表 4 来设置通道宽度 (2) 如果通道对速度协商的性能有所要求, 那么就要设置最高的线路速率用于器件 通过使用动态重配置功能, 支持较低的线路速率的协商 例如, 如果您想让通道运行在 1500 Mbps, 并计划将其重配置成 6000 Mbps, 那么就要将基准数据速率设置成 6000 Mbps, 并将有效数据速率设置成 1500 Mbps (3) 您可以使用此端口来检测带外信令以及接收缓冲器上数据是否存在 (4) 此端口在带外信令流程期间在共模电压上发送空闲信号 欲了解关于实现带外信令的详细信息, 请参考第 2 页 SATA 与 SAS 的带外信令 (5) 若开启了 Enable 8b10b decoder/encoder 选项, 则可使用此选项 1 SATA 和 SAS 规范要求 +350/ 5350 ppm 的时钟补偿 物理编码子层 (PCS) 中的硬编码的速率匹配 FIFO 只能对发送器与接收器时钟之间的差异提供最多 ±300 ppm 的补偿 通过使用单宽度模式中接收器 PCS 的 8- bit 字和控制位输出以及双宽度模式中接收器 PCS 的 16- bit 字和 2- bit 控制输出, 能够实现 FPGA 架构中的速率匹配 c 对于 ALTGX 宏功能中的接收器数据通路, 如果还没有在 Rate match/byte order 页面中禁用数据速率匹配器操作, 那么您应该将其禁用以实现配置 此外, 也应该禁用 Byte Ordering Block( 如果还没有被禁用 ) 由于字节排序出现在时钟补偿之后 ( 速率匹配器 ), 因此需要在 FPGA 架构中实现字节排序 重配置收发器以实现 SATA 和 SAS 速度协商 当主机和器件建立通信以识别器件的最大操作数据速率时, 您可以使用动态重配置功能来对 SATA 和 SAS 收发器通道进行重配置, 以实现速度协商 接下来的部分对通过设置重配置控制器来实现速度协商的步骤作了介绍 您可以通过使用 ALTGX_RECONFIG MegaWizard Plug- In Manager 来满足这一要求 自动速度协商期间 SATA 与 SAS 重配置的步骤 在 SATA 与 SAS 数据速率之间执行动态重配置之前, 一定要先生成存储器初始化文件 (.mif) 请执行下面的步骤 : 1. 开启 Generate GXB Reconfig MIF 选项 : a. 在 Assignments 菜单中, 点击 Settings b. 在 Category 列表中, 点击 Fitter Settings 然后, 在 Fitter Settings 下点击 More Settings c. 在 More Fitter Settings 窗口中的 Name 框中, 选择 Generate GXB Reconfig MIF 然后在 Setting 框中, 选择 On 2. 对 SATA Gen1(1.5 Gbps) 配置创建一个 ALTGX 实例 编译设计, 创建一个.mif 文件, 命名为 SATA_MIF_Gen1.mif 3. 对 SATA Gen2 (3 Gbps) 配置创建一个 ALTGX 实例 编译设计, 创建一个.mif 文件, 命名为 SATA_MIF_Gen2.mif 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

重配置收发器以实现 SATA 和 SAS 速度协商 9 4..mif 文件准备好后, 您可以通过采用下面部分所介绍的其中一个方法, 根据 ALTGX_RECONFIG MegaWizard Plug- in Manager 设计流程来对器件进行配置 使用 ALTGX_RECONFIG MegaWizard Plug- in Manager 的设计流程 您可以在速度协商期间使用这一方法对 SATA 与 SAS 通道进行重配置 下面的实例使用了在 SATA 中配置的 Stratix IV GX 器件 相同的设置可以应用到 Arria II 和 HardCopy IV 器件, 实现所支持的相同数据速率 浏览 MegaWizard Plug-In Manager, 指定必要的选项和设置 表 6 列出了对收发器重配置控制器进行例化的指定值 表 6. 例化收发器重配置控制器的指定的 ALTGX_RECONFIG Megafunction 选项 选项 Which megafunction would you like to customize( 您想定制哪个宏功能? ) What is the number of channels controlled by the reconfig controller?( 由重配置控制器控制的通道数是多少? ) What are the features to be reconfigured by the reconfig controller?( 由重配置控制器重配置的功能是什么? ) Analog controls 页面上的设置 Use 'reconfig_address_en'( 使用 'reconfig_address_en') Use 'reset_reconfig_address'( 使用 'reset_reconfig_address') Use 'reconfig_address' port to input address from MIF in reduced MIF reconfiguration( 使用 'reconfig_address' 端口来输入简化 MIF 重配置中 MIF 的地址 ) Enable self recovery( 使能自恢复 ) (1) Use 'rate_switch_out' port to read out the current data rate division( 使用 'rate_switch_out' 端口读出当前的数据速率分频 ) Use 'rx_tx_duplex_sel' port to enable RX only, TX only or duplex reconfiguration( 使用 'rx_tx_duplex_sel' 端口使能 RX only,tx only 或者双工配置 ) 表 5 注释 : 设置 展开 I/O, 选择 ALTGX_RECONFIG 指定通道数 开启下面的选项 : 要动态重配置发送器 VOD 预加重和接收器均衡, 需要开启 Analog controls 要在 SATA 数据速率范围内仅重配置发送器数据通路数据速率, 需要开启 Data rate division in TX 要在 SATA 数据速率范围内重配置 TX 和 RX CDR PLL, 需要开启 Channel and TX PLL select/reconfig 这也使您能够重配置例如通道数据宽度的通道参数 选择需要控制的模拟参数, 或者使用默认设置 开启, 分别对发送和接收通道进行重配置 (1) Quartus II 软件能够从已经超时和将错误端口驱动为高电平的未完成的操作中恢复 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

10 使用 ALTGX_RECONFIG 控制器重配置 SATA 和 SAS 数据速率 f 关于端口列表的详细信息, 请参考 Stratix IV 器件手册的 Dynamic Reconfiguration in Stratix IV Devices 章节,HardCopy IV 器件手册的 HardCopy IV GX Dynamic Reconfiguration 章节和 AN558: 实现 Arria II 器件中的动态重配置 使用 ALTGX_RECONFIG 控制器重配置 SATA 和 SAS 数据速率 您可以使用下面其中的一个方法来对您的发送及接收通道实现 SATA 和 SAS 规范所要求的 54.6 μs 快速重配置时间 54.6 μs 时序要求包括配置时间, 复位和重锁定的流程 Altera 建议采用下面的配置方法, 以满足 54.6 μs 时序要求 使用 Data Rate Division in TX 模式对发送通道进行重配置 此方法使用 Data Rate Division in TX 模式, 并仅对通道分频器设置有影响 此模式支持发送器本地分频器设置的动态重配置为 1 2 或 4 根据本地分频器设置来对发送通道数据速率进行重配置 例如,SATA Gen1 Gen2 和 Gen3 数据速率是 2 或 4 的倍数 您可以使用 Data Rate Division in TX 模式对数据速率进行重配置 将基准数据速率设置成器件所支持的最高 SATA 线路速率 ( 在此实例中为 6.0 Gbps), 并将 TX 本地分频器设置成下面其中的一个数据速率分频值 : 将发送器重配置成 Gen1 数据速率, 将数据速率分频设置成 4 将发送器重配置成 Gen2 数据速率, 将数据速率分频设置成 2 将发送器重配置成 Gen3 数据速率, 将数据速率分频设置成 1 f 欲了解关于 Data Rate Division in TX 模式的详细信息, 请参考 Stratix IV 器件手册的 Dynamic Reconfiguration in Stratix IV Devices 章节,HardCopy IV 器件手册的 HardCopy IV GX Dynamic Reconfiguration 章节和 AN558: 实现 Arria II 器件中的动态重配置 使用简化的.mif 文件重配置模式对接收通道进行重配置 此方法使用 reduced.mif reconfiguration( 简化的.mif 文件重配置 ) 模式, 仅影响到接收通道已改变的设置 使用这一方法仅更新对收发器通道修改后的设置, 这将显著地减少重配置时间 要选择需要重配置的接收通道, 则需要使能 rx_tx_duplex_sel 端口并设置其 2'b01 值 您可以将 50 MHz 的重配置时钟频率用于这一操作 1 reduced.mif reconfiguration 模式被 Quartus II 9.1 以及更新版本支持, 并用于 Arria II GX HardCopy IV 和 Stratix IV 器件 如何对 SATA 和 SAS 执行简化的.mif 重配置 这一部分介绍了使用 reduced.mif reconfiguration 模式来对 SATA 和 SAS 执行速度协商的方法 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

使用 ALTGX_RECONFIG 控制器重配置 SATA 和 SAS 数据速率 11 这一模式仅适用于基于.mif 文件的收发器重配置模式 此模式是一个可选的特性, 实现了更快的重配置和更短的仿真时间 如果只对收发器通道进行次要的变更, 那么可以使用此模式, 因为这只涉及到.mif 文件中几个字的变化 在下面的实例中, 假设两个.mif 文件之间唯一的差异是字地址 32 您可以使用 altgx_diffmifgen.exe 可执行命令来生成一个新的.mif 文件, 而不是加载整个.mif 文件 这个新的.mif 文件仅包含修改过的字 ( 字地址 32) 如图 2 所示, 与 16 bit 宽的普通.mif 文件相比, 新的.mif 文件为 22 bit 宽 除了 16 bit 的数据, 还有 6 bit 的地址 : <addr 6 bits> <data 16 bits> 图 2. 一个显示 6 Bit 的地址和 16 Bit 的数据的简化.mif 文件的实例 <data 16 bits> <addr 6 bits> 在生成简化的.mif 文件之前, 需要配置 ALTGX_RECONFIG MegaWizard Plug- In Manager 的 Channel and TX PLL Reconfiguration 页面中的选项 : 开启 reconfig_address 端口, 输入.mif 文件中的地址位 将 reconfig_data[15:0] 端口连接到新的.mif 文件中字的 16 个最低有效位 (LSB) 将 reconfig_address[5:0] 端口连接到新的.mif 文件中字的 6 个最高有效位 (MSB) 请按照下面的步骤生成简化的.mif 文件 : 1. 找到包含 altgx_diffmifgen.exe 可执行命令的 Quartus II 安装文件夹 ( 例如, C:\altera\10.1\quartus\bin), 并记下目录的路径 2. 打开命令提示符, 跳转到工程目录下的 reconfig_mif 文件夹 reconfig_mif 文件夹包含之前生成的.mif 文件 SATA_MIF_Gen2.mif 和 SATA_MIF_Gen3.mif 文件 然后输入下面的命令 : <path to Quartus II bin folder>\altgx_diffmifgen.exe SATA_MIF_Gen2.mif SATA_MIF_Gen3.mif r 图 3. 在工程目录中生成简化的.mif 文件的实例 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

12 SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 altgx_diffmifgen.exe 可执行命令从输入文件 (SATA_MIF_Gen2.mif 和 SATA_MIF_Gen3.mif) 中生成了两个.mif 文件 : to_sata_mif_gen2.mif 使用此文件将收发器重配置成 Gen2 数据速率 to_sata_mif_gen3.mif 使用此文件将收发器重配置成 Gen3 数据速率 1 您可以使用所介绍的方法来对发送器和双工通道执行简化的.mif 文件重配置 利用 rx_tx_duplex_sel 端口来选择适合您的应用的发送器 接收器或者双工 f 欲了解关于通道和 TX PLL 重配置.mif 文件的生成和基于.mif 文件的设计流程的详细信息, 请参考 Stratix IV 器件手册的 Stratix IV Dynamic Reconfiguration 章节, HardCopy IV 器件手册的 HardCopy IV GX Dynamic Reconfiguration 章节和 AN558: 实现 Arria II 器件中的动态重配置 SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 为了确保 SATA 和 SAS 应用中收发器的正确操作, 需要根据此部分对以下情形所建议的复位流程来对端口进行例化以及对复位信号进行控制 : 链路初始化期间 热插拔过程中 动态重配置进程完成后 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 13 通过复位流程来初始化 SATA 和 SAS 通道 图 4 显示了上电后控制复位控制器信号的推荐的复位流程 用于 non- bonded 配置模式带有手动锁定模式下配置的接收器 CDR 图 4. 在手动锁定模式下初始化 SATA 和 SAS 链路的复位流程 Reset Signals pll_powerdown 1 2 1 µs tx_digitalreset 4 rx_analogreset rx_digitalreset 6 9 CDR Control Signals rx_locktorefclk 8 4 µs rx_locktodata 8 Output Status Signals busy pll_locked 3 5 Two parallel clock cycles 7 rx_signaldetect (1) 1 µs 图 4 注释 : (1) 当 RX 缓冲器接收到突发和空闲模式下发出的带外 (OOB) 信号时, rx_signaldetect 信号会触发 OOB 发出信号后, 连续的数据被发送到接收缓冲器, 同时 rx_signaldetect 信号处于高 表明正在接收有效数据 如图 4 所示, 执行下面的复位步骤 : 1. 上电后, 置位 pll_powerdown 信号至少 1 μs( 标记 1 和 2) 这期间要保持 tx_digitalreset rx_analogreset rx_digitalreset 和 rx_locktorefclk 信号处于置位状态, 并保持 rx_locktodata 信号处于置低状态 2. 置低 pll_powerdown 信号后, 发送器 PLL 开始锁定到发送器输入参考时钟 3. pll_locked 信号变高后 ( 标记 3), 置低 tx_digitalreset 信号 对于接收器操作, busy 信号要被置低, 在置低 rx_analogreset 信号以前 接收器 CDR 开始锁定到接收器输入参考时钟 4. 当第一个 rx_signaldetect 信号变高时, 开始对其监控 rx_signaltdetect 信号一变高 ( 标记 7) 表明在接收缓冲器上是有效数据 等待至少 1 μs, 然后置低 rx_locktorefclk 信号, 并置位 rx_locktodata 信号 此时, 接收器 CDR 进入 lock-to-data 模式, 并开始锁定已接收的数据 5. 置位 rx_locktodata 信号后, 置低 rx_digitalreset 信号至少 4 μs( 标记 8 和 9) 此时, 接收器便可以进行数据传输 热插拔情况下的复位流程 热插拔期间, 您能够监控信号检测状态信号 (rx_signaldetect), 此信号表明了链路状态 ), 当数据被重新引入 SATA 和 SAS 接收器链路中时, 能够执行正确的复位流程 Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

14 SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 图 5 显示了当您的接收器 CDR 被配置成手动锁定模式时, 使用 rx_signaldetect 信号来控制复位流程的推荐时序图 图 5. 手动锁定模式中热插拔之后的复位流程 Hot-Plugged Reset Signals rx_digitalreset 3 CDR Control Signals rx_locktorefclk 2 4 µs rx_locktodata 2 Output Status Signals rx_signaldetect (1) 1 1 µs 图 5 注释 : (1) 当 RX 缓冲器接收到突发和空闲模式下发出的带外 (OOB) 信号时, rx_signaldetect 信号会触发 OOB 发出信号后, 连续的数据被发送到接收缓冲器中, 并且 rx_signaldetect 信号变高 表明正在接收有效数据 如图 5 所示, 执行这些复位步骤 : 1. 要处理一个热插拔复位, 需要监控 rx_signaldetect 状态信号, 并等待此信号变高 ( 标记 1), 表明在接收器上接收到了连续的有效数据 2. rx_signaldetect 信号一变高, 等待至少 1 μs, 然后置低 rx_locktorefclk 信号, 并置位 rx_locktodata 信号 CDR 从 lock-to-reference 模式切换到 lock-to-data 模式 3. 置位 rx_locktodata 信号 ( 标记 2) 后等待 4 μs, 然后置低 rx_digitalreset 信号 ( 标记 3) 接收器开始接收有效数据 动态重配置进程后的复位流程 这一部分介绍了用于 SATA 和 SAS 通道的推荐的复位流程, 通道的动态重配置后, 以支持不同的数据速率 根据 SATA 和 SAS 发送器或接收器的重配置方法, 按照下面其中的一个建议来应用相应的复位流程 图 6. 动态重配置后的复位流程 Data Rate Division in TX 模式 Reset and Control Signals tx_digitalreset 1 4 rate_switch_ctrl[1:0] write_all New value 1 Ouput Status Signals busy 2 3 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月

SATA 和 SAS 的复位流程在初始化期间 热插拔过程中和动态重配置之后 15 如图 6 所示, 如果您使用 Data Rate Division in TX 模式来对发送通道进行重配置, 请按照下面的复位步骤来实现推荐的复位流程 : 1. 上电并使发送器正常运行后, 在相应的寄存器中 ( 此实例中的 rate_switch_ctrl[1:0]) 写入所需的数据速率的新值, 紧接着置位 write_all 信号 ( 标记 1) 来开始动态重配置 2. 置位 tx_digitalreset 信号 3. write_all 信号一被置位, 动态重配置控制器就开始执行它的操作 这是由 busy 信号的置位表明的 ( 标记 2) 4. 动态重配置完成后, busy 信号被置低 ( 标记 3) 5. 最后, tx_digitalreset 被置低以继续发送器操作 ( 标记 4) 图 7 显示了基于带有手动锁定模式中配置的 CDR 的接收通道的时序图 图 7. 重配置后的复位流程 简化的.mif 文件重配置模式 Reset Signals Reset sequence after reduced.mif reconfiguration 4 Valid RX data from this point onwards rx_digitalreset rx_analogreset 1 CDR Control Signals rx_locktorefclk 3 rx_locktodata 3 Output Status Signals 1 channel_reconfig_done rx_pll_locked Reconfig_T (1) 2 T1 10 µs T2 1 µs 图 7 注释 : (1) 重配置的持续时间 (Reconfig_T) 会根据正在使用的器件的不同而有所不同 如图 7 所示, 如果使用 reduced.mif reconfiguration 模式来重配置接收通道, 那么需要执行下面的步骤 : 1. channel_reconfig_done 信号拉高后 ( 表明了简化的.mif 文件重配置进程的完成 ), 拉低 rx_analogreset 信号 2. 监控 rx_pll_locked 信号 一旦变高, 等待 10 μs, 然后置低 rx_locktorefclk 信号并置位 rx_locktodata 信号 将 CDR 从 LTR 模式切换到 LTD 模式 3. 等待 1 μs, 然后置低 rx_digitalreset 信号 接收器开始接收有效数据 1 对于重锁定和复位方案 ( 如果您使用简化的.mif 重配置模式 ), 需要将接收器 CDR PLL 设置成 Medium BW( 默认 ) 或者 High BW 1 整个的重配置 重锁定和复位的持续时间 ( 包括 Reconfig_T,CDR 锁定到数据的持续时间, 以及复位流程的持续时间 ) 必须保持在 54.6 μs 以内 要确保所有重配置模式中的总时间要保持在这一限定内 通常来讲,Reconfig_T 应该小于 20 μs Altera 公司 2011 年 1 月 实现 Altera 器件中的 SATA 与 SAS 协议

16 包含速度协商的时序收敛 包含速度协商的时序收敛 如果您要将收发器连接到您的设计中, 特别是在您的 SATA 和 SAS 设计中执行速度协商时, 时序收敛是至关重要和必要的 如前面章节所介绍的, 您能够使用 ALTGX_RECONFIG 控制器对 SATA 和 SAS 中的收发器通道进行重配置, 从而实现 1.5 3 和 6 Gbps 之间的动态切换 Quartus II 中的布线器尝试着对架构进行布局以及布线, 从而根据所指定的约束来满足数据速率 如果您想在这三个数据速率之间对收发器进行切换, 那么对收发器内核接口上的所有时钟速率和数据通路进行定义是至关重要的 您可以使用 TimeQuest 时序分析器来创建时序约束, 使所有运行在 1.5 3 和 6 Gbps 数据速率的设计都能满足时序要求 您必须执行多个时钟约束以确保设计中所有可重配置的数据速率符合时序要求 对于动态重配置控制器进行切换的所有数据速率, 此合规实现了最佳的逻辑布局, 同时又不会造成时序违规 f 欲了解关于设计实现与优化的详细信息, 请参考 Quartus II Handbook Version 11.0 中的 Area and Timing Optimization 章节 文档修订历史 表 7 列出了本文档的修订历史 表 7. 文档修订历史日期 版本 修订内容 2011 年 6 月 1.0 首次发布 实现 Altera 器件中的 SATA 与 SAS 协议 Altera 公司 2011 年 1 月