Microsoft Word - dg_sata_ip_refdesign_host_jp.doc

Similar documents
Microsoft Word - dg_sata_ip_data_sheet_7series_jp.doc

untitled

Microsoft Word - dg_sataahciip_refdesign_jp.doc

Microsoft Word - dg_sata_achi_ip_data_sheet_jp.doc

Microsoft PowerPoint - DG_ETセミナ資料.ppt

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

SerialATA ATA Embedded Clocking 8B10B coding 2 pair Hot Plug ATA ATA (150MB/s ) 10 roadmap 2004/2/17 SATA Overview Page 2

Microsoft Word - PCI-X_PCIeバスのデータ転送-ver1.0.docx

Microsoft Word - dg_sata_ip_appnote1_jp.doc

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

FMC 対応 USB3.0-IP デモ基板取扱い説明書 [ Ver2.0J] AB07-USB3FMC(2.5V 版 )/AB07-USB3FMC-1.8VIF(1.8V 版 ) はじめにこの度は FMC 対応 USB3.0-IP デモ基板 [ 型番 :AB07-USB3FMC(2.5V 版 ) /

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

CommCheckerManual_Ver.1.0_.doc

MODBUS ユーザーズマニュアル 페이지 1 / 23

スライド 1

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

GTR Board

PowerPoint プレゼンテーション

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

スライド 1

出 アーキテクチャ 誰が 出 装置を制御するのか 1

PowerTyper マイクロコードダウンロード手順

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

IrDA型赤外線タグ仕様

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

PLCシリアル通信 MODBUS通信 データ送信/受信プログラム例

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

MW100 Modbusプロトコルによるデータ通信の設定について

本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告無く変更することがあります 1. 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは堅くお断りいたします 2. 本資料に掲載される応用回路 プログラム 使用方法等はあくまでも参考情報で

TFTP serverの実装

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

アナログ・接点変換器

ICS_Japan アプリケーションノート ISO メッセージ送受信基礎編 Rev File Name: アプリケーションノート _ISO15765_2_ メッセージ送受信 _ 基礎編 _A00.docx Intrepid Control Systems, Inc. アプリ

CONTEC DIOプロバイダ ユーザーズガイド

McAfee SaaS Protection 統合ガイド Microsoft Office 365 と Exchange Online の保護

Microsoft PowerPoint - NVMe-PRES-AJ.ppt

オートビュー

Microsoft Word - アプリケーションノート_Vehicle-SpyEEVBデモガイド編_A02.docx

評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません 2. 本評価

PowerPoint プレゼンテーション

(Microsoft Word - DDR\203\215\203W\203A\203i\215\\\220\254-ver0619.doc)

リファレンスアプリケーション RefApp7

スライド 1

スイッチ ファブリック

Microsoft Word - SUA007

Microsoft Word - CAN Monitor の使い方.doc

セキュアVMの アーキテクチャ概要

X.25 PVC 設定

Singapore Contec Pte Ltd. Opening Ceremony

履歴 修正日 内容 2011/01/18 第 1 版制定 2012/10/ 版 内容 Bee Beans Technologies 社から配布されているネットワーク プロセッサ (SiTCP) のライブラリ使用方法を解説した文書です SiTCP の概要や各信号意味などは別文書 SiTCP

ServerView RAID Manager VMware vSphere ESXi 6 インストールガイド

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

Microsoft Word - SOY_Manual10.docx

(Microsoft PowerPoint - E6x5C SDXC Demo Seminar [\214\335\212\267\203\202\201[\203h])

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

PowerPoint Presentation

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

取扱説明書[SH-06D]

ヤマハDante機器と他社AES67機器の接続ガイド

MS5145 USB シリアル エミュレーション モードの設定

UMB-CP2114 User's Manual

Microsoft PowerPoint - about_stack_ ppt [互換モード]

ワゴ・新製品インフォメーション

Microsoft Word - RefApp7インストールガイド.doc

オートビュー

C言語コントローラユニット クイックスタートガイド

Nios II Flash Programmer ユーザ・ガイド

F コマンド

Slide 1

LabVIEW RTのインストールと設定

Xilinx XAPP645 Virtex-II Pro デバイス アプリケーション ノート『シングル エラー訂正およびダブル エラー 検出』

PowerPoint Presentation

動作環境 対応 LAN DISK ( 設定復元に対応 ) HDL-H シリーズ HDL-X シリーズ HDL-AA シリーズ HDL-XV シリーズ (HDL-XVLP シリーズを含む ) HDL-XV/2D シリーズ HDL-XR シリーズ HDL-XR/2D シリーズ HDL-XR2U シリーズ

取扱説明書[SH-12C]

スライド 1

目次 1 I2Cとは 13 結線写真 2 センサの多くがI2Cに対応 14 WHO_AM_I 3 マイコンでのI2C通信例 15 I2C読込みプログラム 4 とは 16 I2C読込みスクリプト概要① 5 タイミングパラメータ 17 I2C読込みスクリプト概要② 6 書込み 18 センサ読込みプログラ

FTP_RW_ProgramDescription_jp_V100

Microsoft Word - xfinderマニュアル.docx

USB 2.0 OTGコントローラ、ハード・プロセッサ・システム(HPS)のテクニカル・リファレンス・マニュアル(TRM)

DDR2 SDRAM をフレームバッファに使用した CMOS カメラ表示回路の実装

PNopenseminar_2011_開発stack

外出先でもインターネット環境があればデジタルノード局の運用ができる WIRES-X ポータブルデジタルノード機能 ポータブルデジタルノード機能によって 旅行先の宿泊施設 空港 車両 Wi-Fi アクセスポイントなどからワイヤーズエックスのノード局やルームへの接続が可能となり 従来の HRI-200

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

(Microsoft Word - \214\264\215e B_\217\221\202\253\215\236\202\335\225\224.docx)

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

AN 611:3G-SDI レベルB とデュアル・リンクHD-SDI(SMPTE372)リファレンス・デザインのマッピング

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

計算機アーキテクチャ

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Merging と AES67 ディバイスの設定

MINI2440マニュアル

データ収集用 NIM/CAMAC モジュールマニュアル 2006/5/23 目次 クレート コントローラ CC/ NIM ADC 1821 (Seiko EG&G)...3 ADC インターフェイス U デッドタイム

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2016/06/23 R03 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controll

Microsoft Word PXシリーズプリンタドライバインストール説明書(Win8・10-32・64bit)

Transcription:

SATA-IP ホスト向けリファレンス デザイン説明書 Rev1.4 2009/06/05 このドキュメントは Xilinx 製 ML506/505 評価ボードで動作する SATA-IP ホスト向けのリファレンス デザインに関して説明したものです 1. SATA についてシリアル ATA (SATA) は従来のパラレル ATA(PATA) に替わる革新的なストレージ インターフェイスです また 最新の SATA インターフェイスにおける転送速度は SATA-I 規格の 1.5Gbps から SATA-II 規格の 3.0Gbps に高速化されています SATA プロトコルによる通信システム全体としては 図 1 に示すように アプリケーション レイヤ トランスポート レイヤ リンク レイヤ 物理 (PHY) レイヤ の 4 レイヤにより実装されるアーキテクチャとなります Commands and applications Application layer4 Commands and applications Serial digital transport control Serial digital link control Serial physical interface plant Transport layer3 Link layer2 Physical layer1 Serial digital transport control Serial digital link control Serial physical interface plant Host Layer 図 1: SATA のレイヤ構造 Device Layer アプリケーション レイヤはコマンド ブロック レジスタの制御を含む ATA コマンドの実行を担当します トランスポート レイヤではパケットや FIS(Frame Information Structure) と呼ばれるフレームによってホスト ~ デバイス間で転送される制御情報やデータを管理します リンク レイヤにおいては 生成されたフレームをもとにバイトごとの 8b/10b エンコード / デコードの実行や 10 ビットのデータ ストリームが受信側で正しくデコードされるよう制御キャラクタの挿入を行います PHY( 物理 ) レイヤは シリアル データとして外部信号線上に流れるエンコード情報を送受信します 本リファレンス デザインでは ホスト側において SATA-IP を含めた全 SATA 通信レイヤの具体的な実装方法例を紹介します この評価システムは 外付けの SATA-II ハードディスクを使って構築されます SATA-IP コアは Virtex-5 デバイスの GTP トランシーバと組み合わせて動作し 本リファレンス デザインは Xilinx 製 ML506/505 評価ボード上で実装されます より詳細については以下で説明します 2009/06/05 Page 1

2. 動作環境本リファレンス デザインは図 2 に示される以下の環境で動作します Xilinx 製 ML506/505 評価ボード (ML505 で動作するためにはデバイスを変更しての再コンパイルが必要な場合があります ) ISE 10.1.03 / EDK 10.1.03 SATA-II ハードディスク (ML506/505 ボードの J40 で SATA ケーブル接続します ) シリアル (RS232C) ターミナル (ML506/505 ボードの P3 で RS232C ケーブルと接続します ) ターミナルの設定は ボーレート =115,200 / データ =8bit / Non-Parity / Stop ビット =1bit としてください (PC 上の ) シリアル ターミナル ISE 10.1.03 EDK 10.1.03 (P3) (J40) ML506/505 SATA ケーブル SATA ハードディスク 図 2: リファレンス デザインの動作環境 本リファレンス デザインの具体的な操作手順につきましては SATA_IP ホスト デモ手順書 を参照してください また リファレンス デザインの SATA-IP コアは動作制限があり 1 時間経過後にデータ転送を停止します 2009/06/05 Page 2

3. ハードウエアの説明 Virtex5 FPGA 上で実装される SATA IP ホストデザイン下図 3 のブロック接続図に示される通り SATA-IP コアはトランスポート レイヤの一部を含みますがほとんどがリンク レイヤで構成されます 従って PHY( 物理 ) レイヤとトランスポート レイヤはユーザ自身で用意しなくてはなりません 本リファレンス デザインは Xilinx 製 ML506/505 評価ボードを対象として トランスポート レイヤと PHY レイヤの実装例を解説したものです Control Host Processor TX FIFO RX FIFO TX Packet RX Packet FIS I/F SATA IP Core CRC Descrambler Scrambler 20 bit PHY I/F Virtex-5 LXT/SXT/FXT GTP OOB Control Transport Layer Link Layer PHY Layer 図 3: リンク レイヤとトランスポート /PHY レイヤのブロック接続図 PHY レイヤ Virtex-5 LXT/SXT には GTP ブロック内に高速シリアル通信回路が内蔵されており SATA の PHY レイヤはこの GTP ブロックで実装されます PHY レイヤは OOB(Out-of-Band) 回路と 20 ビット幅でリンク レイヤと通信するインターフェイスが含まれます 本リファレンス デザインは Xilinx のウェブサイトからダウンロードできるアプリケーション ノート (XAPP870) をもとに編集されたため PHY レイヤは Virtex5 の GTP リソースに最適化されております なお SATA の特性情報については同じく Xilinx のウェブサイトより特性評価レポート (RPT087) がダウンロードできます ユーザ基板を新規に設計する場合 基板での高速シリアル特性を維持するため UG196(Virtex-5 FPGA RocketIO GTP Transceiver User Guide) に記載のデザインガイドラインを遵守する必要があります リファレンス デザインにおいて PHY レイヤ回路のソースコードは oob_control.v モジュールおよび speed_neg_control.v のインスタンスを含む sata2phy_ml505.v 内に記載されています 2009/06/05 Page 3

この sata2phy_ml505.v は 自動ネゴシエーション機能 SATA-II 固定 SATA-I 固定 の 3 つの動作モードから選択できるよう設計されています 動作モードは sata2phy_ml505.v の 30~32 行目の 3 つの `define 文のうち どれか 1 行を有効とし他の 2 行を // によるコメントアウトとすることで選択できます リファレンス デザインのデフォルトは下図 4 に示すように自動ネゴシエーション機能を有効としています 図 4: sata2phy_ml505.v での PHY モード設定方法 自動ネゴシエーション機能を有効とした場合 J40 の SATA コネクタには SATA-I あるいは SATA-II のどちらの HDD も接続可能ですが SATA-I 固定あるいは SATA-II 固定とした場合は接続可能な HDD が限定されます Virtex5 デバイスでは 1 個の GTP_tile 内に 1 個の共有 PLL と 2 個の GTP チャネルを格納します 自動ネゴシエーション機能を使う場合 ネゴシエーション中に発行される PLL リセット信号が他方の GTP チャネルに影響を与えるため GTP_tile 内では 1 つの GTP しか SATA チャネルとして使うことができません 従って例えば ML-506/505 ボードでは 同一の GTP_tile にアサインされた J40 と J41 の SATA チャネルを両方とも使うデザインにおいては 自動ネゴシエーション機能は使えません 一方 SATA-I 固定あるいは SATA-II 固定の場合 共有 PLL へのリセットは発行されないため同一 GTP_tile 内の 2 個の GTP とも SATA チャネルとして使うことが可能です このため 固定モードを活用することで 多数の SATA チャネルを必要とする RAID アプリケーションにも有効です さらに SATA-I あるいは SATA-II 固定モードの場合 PHY デザイン中で消費する DCM 数が 1 個で済むため DCM が 2 個必要な自動速度ネゴシエーションより DCM リソースを節約できる利点があります ( 注意 ) PHY パラメータの変更はリファレンス デザインのハードウエアを変更して再コンパイルする必要があるため 製品版でのみ可能です トランスポート レイヤトランスポート レイヤの構造はハードウエアのアーキテクチャやユーザのアプリケーションに依存するため ユーザ自身で設計する必要があります 本リファレンス デザインにおいては トランスポート レイヤに MicroBlaze で動作させるために NPI インターフェイスを使っています 一般的な SATA コントローラと同様に 本リファレンス デザインもメインメモリ上に FIS データを作成し DMA によってリンク レイヤと通信します 本リファレンス デザインにおいてトランスポート レイヤのソースコードは SATA-IP コアと PHY レイヤのインスタンスを含む npi_sata.vhd 内に記載されています 2009/06/05 Page 4

RAID アプリケーションに柔軟に対応できる MPMC インターフェイス本リファレンス デザインは MicroBlaze をホストプロセッサとして使っており メインメモリのコントローラとして MPMC(Multi-port memory controller) を使います MPMC は最大 8 チャネルまでのメモリアクセス ポートをサポートし それぞれのポートは PowerPC や MicroBlaze と接続するための PLB(Processor Local Bus) か あるいはユーザロジックと接続するための NPI (Native Port Interface) に設定できます MicroBlaze, PLB, NPI, MPMC 等の詳細に関しては Xilinx の技術ドキュメントを参照してください 本リファレンス デザインにおいては SATA-IP は MPMC の NPI ポートとダイレクトに接続し メインメモリ間と DMA 転送を実行します 本デザインは EDK (Embedded Development Kit) ツール上での周辺 IP コアとして設計されています 従って EDK 上の NPI ポート数の設定を変更するだけで簡単に SATA チャネル数を増減できるため 容易に RAID システムが構築できます ただし評価版においてはハードウエアのデザインは変更できないため EDK 上でのソフトウエア (MicroBlaze のファームウエア ) のみ編集が可能です RAID システムなど複数の SATA チャネルを設計するためには 製品版のご購入が必要となります 図 5: リファレンス デザインのブロック図 2009/06/05 Page 5

メモリコントローラ ~IP コア間の接続回路 SATA-IP コアのインターフェイス信号定義を表 1 に示します トランスポート レイヤとのインターフェイス信号は大きくは送信系と受信系の 2 グループに分かれます データ送信時および受信時のトランスポート信号波形をそれぞれ図 6 と図 7 に示します 図 8 はロジック接続のブロック図です 表 2 は MicroBlaze からみたレジスタ マッピングです MicroBlaze 上のソフトウエアは DMA を使いメインメモリ上の FIS データを SATA-IP のリンク レイヤに送信あるいはリンク レイヤからのデータをメインメモリ上に受信します リンク レイヤからのデータ受信時は FIS のヘッダ情報をチェックしデータ FIS だけは別に指定したアドレスに転送するようになっています また 送信時もデータ FIS のヘッダをデータパケットに自動的に追加して送信します このメカニズムにより ユーザ回路はヘッダ情報を意識せずに送受信データを管理できます 信号名 方向 説明 共通インターフェイス信号 trn_reset In コアのロジックをリセットするリセット信号 正論理 trn_link_up Out コアと SATA-PHY との通信が確立されると本トランザクション リンク アップ信号がアサートされる trn_clk In コアに対して供給するホストとのトランザクション インターフェイス信号 (trn_xxx) 用のクロック信号 コア外部にて GCLK によるグローバル クロック バッファの挿入が必要 trn_clk の周波数は core_clk と同じかそれ以上とする必要がある core_clk In IP コアの動作クロック (SATA-I の場合 37.5MHz で SATA-II の場合 75.0MHz) 本 core_clk は PHY レイヤ内で生成されたものを使う dev_host_n In コアが SATA Host と SATA Device のどちらとして使われるかを指定する SATA Host の場合 0 とし SATA Device の場合 1 とする 信号名方向説明 送信トランザクション インターフェイス信号 trn_tsof_n In Transmit Start-Of-Frame (SOF): 送信 SATA FIS パケットの開始信号 負論理 trn_teof_n In Transmit End-Of-Frame (EOF): 送信 SATA FIS パケットの終了信号 負論理 trn_td[31:0] In Transmit Data: 送信 FIS パケットの 32 ビット データ信号 trn_tsrc_rdy_n In Transmit Source Ready: Host は trn_td[31:0] に有効な送信データを用意し本信号を Low とすることで転送を要求する 負論理 trn_tdst_rdy_n Out Transmit Destination Ready: コアは Host から送られる送信データを trn_td[31:0] で受け取ることができる状態を示す信号 負論理 trn_tsrc_rdy_n は本信号がネゲートされてから4trn_clk 期間以内にネゲートする必要がある すなわち IP コアは本信号をネゲートしてから 4DWORD 分までの送信データ (trn_td[31:0]) を受け取ることが可能 trn_tsrc_dsc_n In Transmit Source Abort: Host は現在の SATA FIS パケット送信を中断したことを示す 負論理 SOF から EOF までの期間内であれば Host は本信号をいつアサートしても良い Host が本信号をアサートした場合 コアは現在の転送を中断するために SYNC プリミティブを送信する trn_tdst_dsc_n Out Transmit Destination Abort: コアは現在の SATA FIS パケットを中断していることを示す 負論理 物理的なリンクがリセット状態となった場合にアサートされる 表 1: SATA IP コアのインターフェイス信号 2009/06/05 Page 6

信号名 方向 説明受信トランザクション インターフェイス信号 trn_rsof_n Out Receive Start-Of-Frame (SOF): 受信 SATA FIS パケットの開始信号 負論理 trn_reof_n Out Receive End-Of-Frame (EOF): 受信 SATA FIS パケットの終了信号 負論理 trn_rd[31:0] Out Receive Data: 受信 FIS パケットの 32 ビット データ信号 trn_rsrc_rdy_n Out Receive Source Ready: コアが有効な受信データを trn_rd[31:0] に出力されている状態を示す 負論理 trn_rdst_rdy_n In Receive Destination Ready: Host が trn_rd[31:0] で受信データを受け取ることができる状態を示す信号 負論理 trn_rsrc_rdy_n は本信号がネゲートされてから 4trn_clk 期間以内にコアによってネゲートされる 従って Host は本信号をネゲートして以降にコアから送られてくる最大 4DWORD 分の受信データ (trn_rd[31:0]) を受け取ることが可能な回路を実装しなくてはならない trn_rsrc_dsc_n Out Receive Source Abort: コアは現在の SATA FIS パケットを中断したことを示す 負論理 SOF から EOF までの期間内であればいつでもアサートされる可能性がある trn_rdst_dsc_n In Receive Destination Abort: Host は現在の SATA FIS パケット受信を中断したことを示す 負論理 Host が本信号をアサートした場合 コアは現在の転送を中断するために SYNC プリミティブを送信する 信号名方向説明 Virtex5 GTP の SATA PHY インターフェイス信号 PHYRESET In コアに対する PHY のリセット信号 正論理 PHYCLK In Virtex5 GTP の SATA-PHY と通信する 16 ビット データのリファレンスクロック 1. SATA-I の場合 75MHz 1. SATA-II の場合 150MHz Virtex5 GTP の SATAI/II PHY との通信には送信 (TX) と受信 (RX) では単一のクロックを共通して使うことができる その理由として TX/RX データは実転送速度とリファレンス クロック周波数の誤差を吸収するために GTP 内部に設けられている elastic バッファが使えるためである 本クロックは Virtex5 内部 DCM によって生成する必要があり SATA 速度ネゴシエーション ロジックにより動作周波数が選択される TXDATA[15:0] Out コアから GTP に対して出力される 16 ビットの送信データ TXDATAK[1:0] Out 送信データのデータ / 制御信号の認識シンボルとして使われる 2 ビット信号 この信号が 0 の場合はデー タを 1の場合は制御バイトが TXDATA[15:0] 上に出力されていることを示す RXDATA[15:0] In GTP からコアに出力される 16 ビットの受信データ RXDATAK[1:0] In 受信データのデータ / 制御信号の認識シンボルとして使われる 2 ビット信号 この信号が 0 の場合はデー タを 1の場合は制御バイトが TXDATA[15:0] 上に出力されていることを示す RXDATAVALID In RXDATA[15:0] と RXDATAK[1:0] 上のデータや認識シンボルが有効であることを示す LINKUP In SATA リンクの通信が確立されていることを示す 正論理 PLLLOCK In GTP 用の DCM がロックできていることを示す 正論理 表 1: SATA IP コアのインターフェイス信号 ( 続き ) 2009/06/05 Page 7

1 コアがデータ受信可能となったら Low アサートする 3 コアがデータ受信できない状態となったときネゲートされる 4trn_tdst_rdy_n がネゲートされるのに合わせてユーザがネゲートする 6trn_teof_n がアサートされるとコアはネゲートする 赤文字 : SATA-IP 出力信号 青文字 : SATA-IP 入力信号 2 trn_tsrc_rdy_n と trn_tsof_n の両方が Low になったとき最初のデータ先頭が実行される 5trn_tsrc_rdy_n と trn_teof_n の両方が Low になると最終データが転送される 7 コアが全データを受信したらコアからエラーコードが送信される 図 6: 送信トランザクションの信号波形 1 ユーザ ロジックがデータ受信可能となったら Low アサートする 3 ユーザが trn_rdst_rdy_n をネゲートするのにあわせてネゲートされる 4trn_rdst_rdy_n が再びアサートされるとアサートする 赤文字 : SATA-IP 出力信号青文字 : SATA-IP 入力信号 2trn_rsrc_rdy_n と trn_rsof_n の両方が Low になったとき最初のデータ転送が実行される 5trn_rsrc_rdy_n と trn_reof_n の両方が Low になると最終データが転送される 図 7: 受信トランザクションの信号波形 6 ユーザが全データを受信した後 IP コアからエラーコードが転送される 2009/06/05 Page 8

図 8: ロジック接続のブロック図 2009/06/05 Page 9

アドレス レジスタ名 Rd/Wr ( sata_host.c でのラベル名 ) BA+0x00 Rd BA+0x04 Rd BA+0x08 Rd BA+0x0C Rd ステータス レジスタ (STATUS) エラー コード レジスタ (ERROR_CODE) 割り込みクリア レジスタ (INT_CLEAR) 受信ワード数レジスタ (RX_COUNT) BA+0x00 送信データ格納アドレス Wr (TX_ADDR) BA+0x04 受信データ格納アドレス 1 Wr (RX_ADDR) BA+0x08 コントロール レジスタ Wr (CONTROL) BA+0x0C 受信データ格納アドレス 2 Wr (RX2_ADDR) (BA : ベース アドレス ) 説明 (Bit ならびはリトル エンディアンで表記 ) [8]MPMC 準備完了 [7:4]OOB 状態データ [3]GTP PLL がロック [1]Gen2 でリンク [0]SATA IP コアがリンク SATA IP のエラーコード 送信完了および受信完了時にセットされる CRC エラーや FIS エラーはここで判別できる 空読みすると割り込みが解除される 受信したワード数 クリアするまで全ての FIS データの受信数が積算される 送信するデータを格納している先頭のアドレスを指定する 受信したデータのうち データ FIS 以外のものが格納されるアドレス 1つ受信するたびに+100h アドレスが進む [31]SATA リセット [30] 送信要求 [29] データ FIS を送る [15:0] 送信データワード数 本レジスタの書き込みで RX_COUNT レジスタがリセットされる データ FIS を受信したときに格納される先頭アドレス 表 2: MicroBlaze 側からのレジスタ マップ 2009/06/05 Page 10

4. ソフトウエアの説明 FIS を介した SATA デバイスへのアクセス SATA によるホストとデバイス間の通信は FIS(Frame Information Structure) データ構造によって実行されます ホストデザインの MicroBlaze はメインメモリ上に FIS データを構築し バス マスタとなる DMA によってデバイスに転送されます また デバイスからの FIS データも同じように DMA によってメインメモリに転送されます 従って MicroBlaze は以下の手順で SATA デバイスへのアクセスを実行します (1) FIS データ ストラクチャを作成します 最初の FIS コマンドは RegH2D FIS とする必要があります (2) FIS データを転送します (3) デバイスからの FIS データ受信を待ちます (4) 受信した FIS データを読み取り 解析します (5) 必要に応じて追加の FIS データの送受信を行います プロトコルによって送信する FIS の数や受信する FIS の数は異なってきますが おおむねこのような流れになります. リファレンス デザインのソフトウエア本リファレンス デザインのソフトウエアは一般的な 3 コマンドを実装しており それは IDENTIFY DEVICE, DMA READ EXT,DMA WRITE EXT となります デバイスとして接続する HDD は 48 ビット LBA(LogicalBlock Address) かつ SATA-II 対応のものを使う必要があります デバイスがパワー ON したとき, デバイスは必ず Register Device to Host FIS を最初に送ります 従って ホストは最初のコマンドを発行する前にデバイスからの RegD2H FIS を待つ必要があります 2009/06/05 Page 11

IDENTIFY DEVICE 表 3 は SATA デバイスからデバイス情報を取得するための IDENTIFY COMMAND の FIS 構造です コマンドは ECh で あとはデバイス番号を設定するだけで実行できます SATA の場合 デバイス番号は通常 0 になります なお,Device レジスタの 5 ビットと 7 ビットは obsolete( 廃止 ) ビットですが 慣例では常に 1 にセットするようですのでここは A0h を設定します また C ビットを 1 にします コマンドを送信する場合はこれを必ずセットしますが 以後のコマンドも同様です これらの値を Register Host to Device FIS に格納してリンク レイヤに送信します するとデバイスから PIO SetupFIS が送られてきたあとに Data FIS が送られてきます この中にデバイスの情報が格納されています デバイス情報の詳細については ATA 規格書 (http://www.t13.org/ から入手可能 ) を参照してください 本リファレンス デザインではデバイス型番 48 ビット LBA の対応情報 ディスク容量を表示します 表 3: IDENTIFY COMMAND の FIS 構造 2009/06/05 Page 12

DMA READ EXT 表 4 は SATA デバイスからデータを読み出す DMA READ EXT 命令の FIS 構造です データ転送は大きく分けて PIO と DMA がありますが SATA にとっては若干 FIS の手順が違うだけで どちらもそれほど変わりません 実は PIO 転送を使っても DMA と変わらないくらいの速度が出ますが, リードに関しては DMAREAD の方が手順が簡単なので こちらを使います. コマンドは 25h Device レジスタ 6 ビットの LBA ビットを 1 にし あとは LBA アドレスと読み出したいセクタ数を Register Host to Device FIS に格納して送信します するとデバイスから Data FIS が要求したデータ分だけ送られてきた後 Register Device to Host FIS が送られてきて完了です. 表 4: DMA READ EXT の FIS 構造 DMA WRITE EXT 表 5 は SATA デバイスへデータを書き込む DMA WRITE EXT 命令の FIS 構造です コマンドは 35h LBA ビットや LBA アドレス セクタ数の設定は DMA READ EXT と同じです その後 デバイスから DMA Activate FIS が返ってきます それを受けてホストは最初の Data FIS を送信します これを繰り返しデータをすべて送信し終わったら デバイスから Register- Device to Host FIS が送られてきて完了です 表 5: DMA WRITE EXT の FIS 構造 2009/06/05 Page 13

リファレンス デザインの動作について本リファレンス デザインのソフトウエアのソースコードは sata_host.c 内に格納されています ただし本デザインはエラーチェックや異常発生時のリカバリなどの処理は含まれていません 従ってユーザが開発するソフトウエアにおいては デバイスから Register- Device to Host FIS が送られたときにステータスやエラーをチェックし 必要な処理を追加する必要があります 図 9 に本リファレンス デザインを動作したときの PC 上のシリアル ターミナル画面サンプルを示します IDENTIFY DEVICE コマンド実行結果 WRITE DMA EXT コマンド実行結果 図 9: 動作実行時のシリアル ターミナル画面サンプル 5. 改版履歴 リビジョン 日付 内容 1.0 2008/10/08 評価版の記載を含めた第 1 版のリリース 1.1 2008/11/10 SATA の紹介を追加 1.2 2008/11/14 AutoNegotiation 機能のサポート追加 1.3 2008/12/12 dev_host_n 信号の追加とテストアプリケーションメニューの更新 1.31 2009/04/18 trn_reset の論理を正論理 (Active High) に修正 1.4 2009/06/05 trn_clk の周波数が core_clk 以上とする必要がある制約の記述を追加 Copyright: 2008 Design Gateway Co,Ltd. 2009/06/05 Page 14