sdramコントローラ・サブシステムの機能cv_54008-1.1 8‒2...

24
cv_54008-1.1 © 2012 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as trademarks or 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. Cyclone V デバイス・ハンドブック Volume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル 2012 年 11 月 Subscribe ISO 9001:2008 Registered 8. SDRAM コントローラ・サブシステム 雌実詩質寺竺止紫支質斯旨至痔θHPSχ昨 SDRAM 思執詞竺実鹿質支字斯旨至痔朔腰 ARM ® Cortex™-A9 爾使屍竺寺竺止紫支質蒔誌紫詞θMPUχ支字斯旨至痔ぁ昨弸使 SDRAMLevel 3θL3χ使執祉思資屍詞腰採皿索 FPGA 児仕字式紫屍匙昨亦òɚ作仔屍 止旨燦蛬盗裁擦際甑SDRAM 思執詞竺実鹿朔腰FPGA 児仕字式紫屍採皿索 HPS 昨戻削 使執祉児史実旨燦蛬盗裁擦際甑使執祉児史実旨朔腰Advanced Microcontroller Bus ArchitectureθAMBA ® χAdvanced eXtensible InterfaceθAXI™χ採皿索 Avalon ® Memory-MappedθAvalon-MMχ昨詞鹿執孜屍斯辞執燦溜砕評参腰罪参晒昨思爾執詩燦 SDRAM 削碕榊崎鎮勉作思爾執詩削廸蜃裁腰SDRAM 仔屍止旨昨ゆ出燦っX裁擦際甑 SDRAM コントローラ・サブシステムの機能 SDRAM 思執詞竺実鹿質支字斯旨至痔朔通託昨㎏1燦蛬盗裁崎哉擦際甑 私字識質視実祉質鴫実詞 2θDDR2χ腰DDR3腰採皿索徹⒅ホ鴈本 DDR2 θLPDDR2χSDRAM 昨支治実詞 蒔実孜実削皿傘思執児伺子自鴫実斯辞執歳療1作祉使璽執市質歯鹿磁実祉 鏘彳 4 Gb 邊G燵昨歯実肢 2 肴昨糸紫寺昨敏艙 24 似紫詞濮採皿索 40 似紫詞濮昨3淋ゲ三ワ塡思実詩θECCχ 81616+ECC3232+ECC 昨蒔実孜実削皿傘思執児伺子自鴫実斯辞執歳療1 作磁示式濮 思爾執詩質式士実私式執市θ菱ジ札飼執屍昨っXχ 視実祉質式士実私式執市θ奭濁輪昨詞鹿執孜屍斯辞執χ 屍竺実枝質時実施質仔屍止旨擦冴朔阯鍔士実寺執質時実施質仔屍止旨昨鷺阪 晒栽昨冴薩昨腰蒔実孜実削皿傘思執児伺子自鴫実斯辞執歳療1作治実詞斎碕 昨飼執屍質治式斯実 3檮被菱燵採皿索b檮被菱燵昨旨師施自実式執市昨辿跏削檮際傘腰蒔実孜実 削皿傘思執児伺子自鴫実斯辞執歳療1作被菱燵支治実詞 Avalon-MM 採皿索 AXI 燦砺ぁ裁冴鏘彳 6 曇昨治実詞採皿索鏘彳 256 似紫詞濮昨 視実祉濮昨韈µ作 FPGA 児仕字式紫屍質使執祉児史実旨質思執児伺子自鴫実 斯辞執 止識児質式児鴫紫斯自腰歯実斯而識質仔鴫使質止識児質式児鴫紫斯自 θPASRχ腰歯宍実質私司執腰採皿索 LPDDR2 視伺実寺質歯宍実質私司執燦支 治実詞際傘⒅ホ鴈本っX November 2012 cv_54008-1.1

Upload: others

Post on 09-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

cv_54008-1.1

© 2012 Altera Corporation. All rights reserved. ALTERA, ARRIare trademarks of Altera Corporation and registered in the U.Strademarks or service marks are the property of their respectivsemiconductor products to current specifications in accordanceservices at any time without notice. Altera assumes no responsdescribed herein except as expressly agreed to in writing by Alon any published information and before placing orders for pr

Cyclone V デバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテ2012 年 11 月

November 2012cv_54008-1.1

8. SDRAMコントローラ・サブシステム

ハード・プロセッサ・システム(HPS)の SDRAM コントローラ・サブシステムは、

ARM® Cortex™-A9 マイクロプロセッサ・ユニット(MPU)サブシステム用の外部

SDRAM、Level 3(L3)インタコネクト、および FPGA ファブリックへの効率的なアク

セスを提供します。SDRAM コントローラは、FPGA ファブリックおよび HPS の間に

インタフェースを提供します。インタフェースは、Advanced Microcontroller Bus Architecture(AMBA®)Advanced eXtensible Interface(AXI™)および Avalon® Memory-Mapped(Avalon-MM)のトランザクションを受け入れ、それらのコマンドを

SDRAM にとって適切なコマンドに変換し、SDRAM アクセスの詳細を管理します。

SDRAMコントローラ・サブシステムの機能SDRAM コントローラ・サブシステムは以下の機能を提供しています。

■ ダブル・データ・レート 2(DDR2)、DDR3、および低消費電力 DDR2(LPDDR2)SDRAM のサポート

■ ユーザーによるコンフィギュレーションが可能なタイミング・パラメータ

■ 最大 4 Gb 集積度のパーツ

■ 2 つのチップの選択

■ 24 ビット幅および 40 ビット幅の統合誤り訂正コード(ECC)

■ 8、16、16+ECC、32、32+ECC のユーザーによるコンフィギュレーションが可能

なメモリ幅

■ コマンド・リオーダリング(先読みバンクの管理)

■ データ・リオーダリング(順不同のトランザクション)

■ クローズ・ページ・アクセスまたは条件オープン・ページ・アクセスのどち

らかのための、ユーザーによるコンフィギュレーションが可能なポートごと

のバンク・ポリシー

■ 絶対優先度および相対優先度のスケジューリングの両方に対する、ユーザー

によるコンフィギュレーションが可能な優先度サポート

■ Avalon-MM および AXI を使用した最大 6 個のポートおよび最大 256 ビット幅の

データ幅の柔軟な FPGA ファブリック・インタフェース・コンフィギュレー

ション

■ セルフ・リフレッシュ、パーシャル・アレイ・セルフ・リフレッシュ

(PASR)、パワー・ダウン、および LPDDR2 ディープ・パワー・ダウンをサ

ポートする消費電力管理

A, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos . Patent and Trademark Office and in other countries. All other words and logos identified as e holders as described at www.altera.com/common/legal.html. Altera warrants performance of its with Altera's standard warranty, but reserves the right to make changes to any products and ibility or liability arising out of the application or use of any information, product, or service tera. Altera customers are advised to obtain the latest version of device specifications before relying oducts or services.

クニカル・リファレンス・マニュアル

Subscribe

ISO 9001:2008 Registered

Page 2: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒2 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムのブロック図およびシステム統合

SDRAMコントローラ・サブシステムのブロック図およびシステム統合SDRAM コントローラ・サブシステムは、MPU サブシステム、L3 インタコネクトの

メイン・スイッチ、および FPGA ファブリックに接続します。メモリ・インタフェー

スは、SDRAM コントローラ、物理層(PHY)、コントロール・レジスタとステータ

ス・レジスタ(CSR)、およびそれらに関連するインタフェースから構成されていま

す。

図 8–1 に、SDRAM コントローラ・サブシステムの上位レベルのブロック図を示しま

す。

SDRAMコントローラSDRAM コントローラは、高性能のデータ・アクセスおよびランタイム・プログラム

機能を提供しています。コントローラは、ロウ衝突を低減してバス・ターンアラウ

ンド時間を短縮するために、リード・トランザクションおよびライト・トランザク

ションをグループ化することでデータをリオーダします。これにより、効率的なト

ラフィック・パターンおよびレイテンシ削減が可能となります。

SDRAM コントローラは、マルチポート・フロント・エンド(MPFE)およびシング

ル・ポート・コントローラから構成されています。MPFE は、シングル・ポート・コ

ントローラへの複数の独立したインタフェースを提供します。シングル・ポート・

コントローラは、各外部メモリ・デバイスと通信してそれらを管理します。詳しく

は、8–5 ページの「メモリ・コントローラのアーキテクチャ」 を参照してください。

図8‒1. SDRAM コントローラ・サブシステムの上位レベルのブロック図

32-Bit AXI

AlteraPHY

Interface

Register Slave Interface

DDRPHY

SDRAM Controller

SDRAM Controller Subsystem

64-Bit AXI

Single-PortController

Multi-PortFront End

FPGAFabric

AXI orAvalon-MM

HPSI/O

Pins

MPUSubsystem

L3Interconnect

FPGA-to-HPSSDRAM Interface

32- to 256-Bit

ExternalMemory

L4 Peripheral Bus (osc1_clk)

Control & Status Registers

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 3: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒3SDRAM コントローラ・サブシステムのブロック図およびシステム統合

DDR PHYDDR PHY は、メモリ・コントローラおよびメモリ・デバイスの間に、リードおよび

ライトのメモリ動作を実行する物理層インタフェースを提供します。DDR PHY には、

データフロー・コンポーネント、コントロール・コンポーネント、および SDRAM イ

ンタフェースのタイミング用のキャリブレーションを処理するキャリブレーション・

ロジックがあります。

SDRAMコントローラ・サブシステムのインタフェース以下の項では、SDRAM コントロール・サブシステムのインタフェースについて説明

します。

MPU サブシステム・インタフェースSDRAM コントローラは、専用 64 ビット AXI インタフェースを使用して MPU サブシ

ステムに接続されており、mpu_l2_ram_clkクロック・ドメイン上で動作します。

L3 インタコネクト・インタフェースSDRAM コントローラは専用 32 ビット AXI インタフェースを使用して L3 インタコネ

クトに接続されており、l3_main_clkクロック・ドメイン上で動作します。

CSR インタフェースCSR インタフェースは Level 4(L4)バスに接続されており、l4_sp_clkクロック・ド

メイン上で動作します。MPU サブシステムは、例えばメモリ・タイミング・パラ

メータ値を設定して、またはメモリを低消費電力の状態にして、コントローラおよ

び PHY をコンフィギュレーションするために CSR インタフェースを使用します。ま

た、SCR インタフェースは、コントローラおよび PHY のステータス・レジスタへの

アクセスを提供します。

FPGA-to-HPS SDRAMインタフェースFPGA-to-HPS SDRAM インタフェースは、HPS の SDRAM コントローラ・サブシステム

にアクセスする FPGA ファブリックに実装されたマスタを提供します。インタフェー

スには 3 つのポート・タイプがあり、以下の AXI または Avalon-MM のインタフェー

スを構築するために使用されます。

■ コマンド・ポート — リード・コマンドおよびライト・コマンドを発行し、ライト

確認応答の受信用に使用されます。

■ 64 ビットのリード・データ・ポート — メモリ・リードから返されるデータを受信

します。

■ 64 ビットのライト・データ・ポート — ライト・データを送信します。

FPGA-to-HPS SDRAM インタフェースは 6 個のコマンド・ポートをサポートし、最大 6本の Avalon-MM インタフェースまたは最大 3 本の AXI インタフェースを可能にしま

す。各コマンド・ポートは、AXI 用のリード・コマンド・ポートまたはライト・コマ

ンド・ポートのどちらか一方を実装するために使用できて、あるいは Avalon-MM イ

ンタフェースの一部として使用できます。AXI インタフェースおよび Avalon-MM イン

タフェースは、32 ビット、64 ビット、128 ビット、および 256 ビットのデータをサ

ポートするためにコンフィギュレーション可能です。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 4: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒4 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムのブロック図およびシステム統合

表 8–1 に、FPGA に接続されている FPGA-to-HPS SDRAM コントローラ・インタフェー

ス・ポートを示します。

FPGA-to-HPS SDRAM コントローラ・インタフェースは、以下の特性を備えてコン

フィギュレーションできます。

■ ファブリック・ロジックの必要性に応じて、ファブリックに提供するポート数の

規定範囲内で、Avalon-MM インタフェースおよび AXI インタフェースを混在させ

一致させることが可能です。

■ FPGA-to-HPS SDRAMインタフェースの各Avalon-MMインタフェースまたは AXIイン

タフェースは、独立のクロック・ドメイン上で動作します。

■ FPGA-to-HPS SDRAM インタフェースは、FPGA のコンフィギュレーション中にコン

フィギュレーションされます。

表 8–2 に、ポートのタイプおよびデータ幅に基づいて、異なるバス・プロトコルを

コンフィギュレーションする上で必要なポート数を示します。

表8‒1. FPGA-to-HPS SDRAM コントローラ・インタフェース・ポートのタイプ

ポート・タイプ 数

コマンド 6

64 ビット・リード・データ 4

64 ビット・ライト・データ 4

表8‒2. FPGA-to-HPS SDRAM ポートの使用

バス ・プロトコル コマンド リード・データ ライト・データ

32 ビットまたは 64 ビット AXI 2 (1) 1 1

128 ビット AXI 2 (1) 2 (2) 2 (2)

256 ビット AXI 2 (1) 4 (2) 4 (2)

32 ビットまたは 64 ビット Avalon-MM 1 1 1

128 ビット Avalon-MM 1 2 2

256 ビット Avalon-MM 1 4 4

32 ビットまたは 64 ビット Avalon-MM 書き込み専用

1 0 1

128 ビット Avalon-MM 書き込み専用 1 0 2

256 ビット Avalon-MM 書き込み専用 1 0 4

32 ビットまたは 64 ビット Avalon-MM 読み出し専用

1 1 0

128 ビット Avalon-MM 読み出し専用 1 2 0

256 ビット Avalon-MM 読み出し専用 1 4 0

表 8–2 の注:

(1) AXI プロトコルはリード・コマンドおよびライト・コマンドの同時発行を可能にするため、AXI インタフェースを構成する上で 2 つの SDRAM コントロール・ポートが必要になります。

(2) データ・ポートの本来のサイズが 64 ビットであるため、AXI インタフェースを構成する上で余分なリード・ポートおよびライト・ポートが必要になります。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 5: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒5メモリ・コントローラのアーキテクチャ

メモリ・コントローラのアーキテクチャSDRAM コントローラは、MPFE、シングル・ポート・コントローラ、および CSR へ

のインタフェースから構成されています。

図 8–2 に、SDRAM コントローラ・サブシステムの SDRAM コントローラ部分のブ

ロック図を示します。

MPFEMPFE は、コンフィギュレーションされたインタフェースから保留中のトランザク

ションをスケジューリングして、スケジュールされたメモリ・トランザクションを

シングル・ポート・コントローラに送信します。MPFE は、個別のポートに関連した

すべての機能を取り扱います。

MPFE は、次の 3 つの主要なサブ・ブロックから構成されています。

図8‒2. SDRAM コントローラのブロック図

10Command

FIFOBuffers

SDRAM Controller

Multi-Port Front End Single-Port Controller

Command

Write Data

FIFOPOPLogic

Scheduler

WR Acknowledge

CommandGenerator

TimerBankPool

Arbiter

ECCGeneration

&Checking

Rank Timer

AlteraPHY

Interface

Write DataBuffer

Control & Status Register Interface

Read Data

Reorder Buffer

6DataFIFO

Buffers

6DataFIFO

Buffers

6 Write Acknowledge Queues

FPGAFabric

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 6: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒6 第 8 章: SDRAMコントローラ・サブシステムメモリ・コントローラのアーキテクチャ

コマンド・ブロックコマンド・ブロックは、FPGA ファブリックと HPS からのリード・トランザクション

およびライト・トランザクションを受け取ります。コマンド FIFO バッファがフルの

場合、コマンド・ブロックは Ready 信号をデアサートすることでバックプレッシャ

をかけます。それぞれの保留中のトランザクションのために、コマンド・ブロック

はそのトランザクションの進行上で必要となる次の SDRAM バーストを計算します。

コマンド・ブロックは、ユーザー提供のコンフィギュレーション、使用可能なライ

ト・データ、および割り当てられていないリード・データ空間に基づいて、保留中

の SDRAM バースト・コマンドをスケジュールします。

ライト・データ・ブロックライト・データ・ブロックは、シングル・ポート・コントローラにデータを送信し

ます。ライト・データ・ブロックは、ライト・データ FIFO バッファおよびクロック

境界クロッシングをライト・データ用に維持します。ライト・データ・ブロックは、

コマンド・ブロックが次の SDRAM ライト・バーストの適性を計算できるようにする

ために、各トランザクションの保留中の書き込みデータの量をコマンド・ブロック

に通知します。

リード・データ・ブロックリード・データ・ブロックは、シングル・ポート・コントローラからデータを受信

します。ポートの状態に応じて、リード・データ・ブロックは内部バッファのデー

タをバッファするか、またはデータを直接クロック境界クロッシング FIFO バッファ

に渡します。リード・データ・ブロックは、Avalon-MM ポート用の順不同のデータを

リオーダします。

リード FIFO バッファがオーバーフローしないようにするため、リード・データ・ブ

ロックは、コマンド・ブロックがリード・トランザクション・ディスパッチをペー

スできるように使用可能なバッファ領域をコマンド・ブロックに通知します。

シングル・ポート・コントローラシングル・ポート・ロジックは、以下の動作をします。

■ 保留中 SDRAM バーストのキュー

■ 次の送信に最も効率的なバーストの選択

■ SDRAM パイプラインのフル状態の維持

■ すべての SDRAM タイミング・パラメータが満たされていることの確認

SDRAM のシングル・ページのためにシングル・ポート・ロジックに渡されるトラン

ザクションは、順番に実行されることが保証されていますが、トランザクションは

ページ間でリオーダされることがあります。各 SDRAM バーストのリードまたはライ

トは、適切なアルテラの PHY インタフェース(AFI)コマンドに変換され、そのトラ

ンザクション用に適切なロウでバンクを開き(必要な場合)、リード・コマンドまた

はライト・コマンドを実行し、バンクをプリチャージします(必要な場合)。

シングル・ポート・ロジックは、コマンド・リオーダリング(リード・コマンドま

たはライト・コマンドの実行を可能にする上でどのバンクを適切な状態にするか確

認するためにコマンド・シーケンス上で先読みします)およびデータ・リオーダリ

ング(マルチポート・ロジックから受信したオーダとは異なるオーダでデータ・ト

ランザクションが実行される場合であっても、データ・トランザクションがディス

パッチされるようにします)を実装します。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 7: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒7メモリ・コントローラのアーキテクチャ

コマンド・ジェネレータコマンド・ジェネレータは、MPFE および内部 ECC ロジックからコマンドを受け取

り、それらのコマンドをタイマ・バンク・プールに提供します。

タイマ・バンク・プールタイマ・バンク・プールは、アービタと共にデータ・リオーダリングをイネーブル

するパラレル・キューです。タイマ・バンク・プールは、受信リクエストをトラッ

クしてすべてのタイミング要件が満たされることを確認し、ライト・データ・バッ

ファからのライト・データ準備の確認の受信でリクエストをアービタに渡します。

アービタアービタは、メモリ・デバイスに渡されるリクエストのオーダを決定します。アー

ビタがシングル・リクエストを受信する場合、リクエストはすぐに渡されます。複

数のリクエストを受信する場合、アービタはアービトレーション・ルールを使用し

てメモリ・デバイスに渡されるリクエストのオーダを決定します。

ランク・タイマランク・タイマは以下の機能を実行します。

■ ランクに特有のタイミング情報の維持

■ 指定されたタイミング・ウィンドウ内で 4 つのみアクティブになることの確認

■ read-to-write および write-to-read のバス・ターンアラウンド・タイムの管理

■ バンク同士の間での time-to-activate 遅延の管理

ライト・データ・バッファライト・データ・バッファは、MPFE からライト・データを受信し、ライト・リクエ

ストの承認の上でそのデータを PHY に渡します。

ECC ブロックECC ブロックは、シングル・ビット・エラーを検出・訂正できてダブル・ビット・

エラーを検出できるエンコーダおよびデコーダ・コレクタから構成されています。

ECC ブロックは、シングル・ビット・エラーを訂正できて、データ送信中のノイズ

や機能障害によってもたらされるダブル・ビット・エラーを検出できます。

AFI インタフェースAFI インタフェースは、コントローラおよび PHY の間の通信を提供します。

CSR インタフェースCSR インタフェースは、L4 バスからアクセス可能です。このインタフェースによっ

て、HPS MPU および FPGA ファブリックでのコードの実行で SDRAM コントローラを

コンフィギュレーションしてモニタできるようにします。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 8: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒8 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムの機能の説明

SDRAMコントローラ・サブシステムの機能の説明この項では、SDRAM コントローラ・サブシステムの機能を説明します。

MPFE の動作この項では、MPFE の動作を説明します。

動作のオーダリング与えられたポートに到着する同一 SDRAM ページへのリクエストは、受信した順序で

動作します。異なるポートに到着するリクエストは、最初のトランザクションが 2番目の到着の前に既に完了している場合を除いて、サービスの順序は保証されませ

ん。

動作のオーダリングはポート内で定義されて実行されますが、ポート間では定義・

実行されません。シングル・ポート上で受信される重複したアドレスでのすべての

トランザクションは、順番に実行されます。異なるポートで受信されるトランザク

ションには、最初のトランザクションが完了した後に 2 番目のトランザクションが

与えられない限り、順序の保証はありません。

Avalon-MM は書き込み確認をサポートしていません。ポートが Avalon-MM をサポー

トするようにコンフィギュレーションされている場合、書き込み動作が完了してい

ることを確認するために前回書き込まれた位置から読み出す必要があります。ポー

トが AXI をサポートするようにコンフィギュレーションされている場合、ポートに

アクセスするマスタは、書き込みが確認されてすぐに同じアドレスに対して安全に

読み出し動作を発行することができます。書き込みレイテンシを Low に維持するた

めに、トランザクション・オーダが保証されてすぐに書き込みが確認されます。つ

まり、任意のポートで書き込み動作として受信する同一アドレスへの動作は、書き

込み動作の後に実行されます。

トラフィックのレイテンシ全体が可能な限り Low であることを確認するために、シ

ングル・ポート・ロジックは順不同のリード・データをマルチ・ポート・ロジック

に返すことがあります。マルチ・ポート・ロジックは、トランザクションが順不同

で返される場合にリオーダします。トラフィック・リオーダリングの大部分は、

ポートとポート内のみでオーダされるトランザクションの間になります。ポート間

でリオーダされてもポート内ではリオーダされないトラフィックについては、リ

オーダリングされる必要がありません。不要なリオーダリングを排除することで平

均レイテンシを低減します。

マルチポートのスケジューリングマルチポートのスケジューリングは、リクエストの絶対優先度およびポートの重要

度という 2 つの要素によって制御されます。

絶対優先度の評価により、高優先度のトラフィックを伝播するポートが低優先度の

トラフィックを伝播するポートに先立って使用されます。スケジューラは、大きな

値ほど高い優先度で示される 8 つの優先度レベル(0 ~ 7)を認識します。例えば、

優先度 7 のトランザクションは優先度 6 以下のトランザクションよりも前にスケ

ジュールされます。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 9: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒9SDRAM コントローラ・サブシステムの機能の説明

複数のポートが同じ絶対優先度を持っているトラフィックを伝播する場合、ポート

の重要度に基づいて相対優先度が決定されます。ポートの重要度は 5 ビットの値(0~ 31)で、ポートの過去・現在のサービスを訂正する DWRR(Deficit-Weighted Round Robin)アルゴリズムによって決定されます。各ポートには、ユーザーによるコン

フィギュレーションが可能な重要度を加算し使用済みトラフィックを減算して、毎

サイクル更新される関連重要度があります。最重要度のポートは最も適性があるも

のとみなされます。

高優先度トラフィックが迅速に使用されて、長いバーストも短いバーストもポート

間で効率的にインタリーブされるようにするために、シングル SDRAM バーストより

も長い受信トランザクションは、個別に調停された各バーストを使用して SDRAMバーストのシリーズとしてスケジュールされます。

より高い優先度のポートが帯域幅を独占しているときに低優先度のポートが大規模

に稼動しないようにするため、ポートがスケジュールされた優先度に一致する場合

のみコントローラの DWRR の重要度が更新されます。そのため、優先度 7 のポート

が 2 個と優先度 4 のポートが 1 個の計 3 個のポートがアクセスされる場合、優先度 7の両方のポートの重要度は更新されますが、優先度 4 のポートは変更されずに保持

されます。

マルチポートのスケジューリングは、FPGA ファブリックに接続されているすべての

ポート間および HPS 内部で実行されて、次のトランザクションが決定されます。長

いトランザクションが他のトランザクションをロックしないようにするため、また

は高優先度のポートを大幅に増やすレイテンシの原因にならないようにするため、

調停は SDRAM バーストごとに実行されます。

調停は、絶対優先度および相対優先度の両方をサポートしています。絶対優先度は、

1 個のマスタが常に他よりも上または下の優先度であることが必要なアプリケーショ

ンのためのものです。相対優先度は、同一優先度のポート間でのスケジュールを制

御するプログラム可能な重要度フィールドを通してサポートされています。

スケジューラは作業を保存します。書き込み動作は、SDRAM バーストが既に受信さ

れている場合にとって十分なデータがあるときのみにスケジュールできます。読み

出し動作は、リード・バッファによってポートが大規模に占有されておらず効率的

な内部メモリがフリーである場合のみにスケジュールできます。

マルチポート・スケジューリングのコンフィギュレーションは、トラックがフロー

状態のときに更新されます。ポートの優先度および重要度はどちらもポートでの割

り込みトラフィックを使用せずに更新できます。更新された時点からメモリ・ク

ロックの 10 サイクル以内におけるスケジューリング決定で更新が使用されるため、

優先度は必要なとき頻繁に更新できます。

リード・データの処理MPFE にはすべてのポートで共有されるリード・バッファが含まれています。返され

たデータを受信する上でポートが使用可能な場合、リード・バッファがバイパスさ

れます。リード・トランザクションがメモリ・インタフェース幅の 2 倍以下のサイ

ズである場合、バッファ RAM はバイパスできません。

SDRAMバーストのスケジューリングSDRAM バーストのスケジューリングは、同一のロウ / バンク組み合わせにアクセス

する、オープン・ページ・アクセスとして知られるアドレスを認識します。ページ

への動作はシングル・ポート・コントローラに受信される順に保存されます。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 10: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒10 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムの機能の説明

SDRAM 動作の選択は 2 ステージのプロセスです。まず、保留中の各トランザクショ

ンは実行に適切になるまでそのタイマを待つ必要があります。次に、トランザク

ションは実行に適切な他のトランザクションに対して調停します。

以下のルールによってトランザクションの調停が制御されます。

■ 高優先度の動作は低優先度の動作よりも優先される。

■ 複数の動作が調停される場合、読み出し動作は書き込み動作よりも優先される。

■ 上記のルールを適用してもまだ複数の動作が存在する場合、最も古い動作が最初

に保存される。

バンクがアイドル状態で高優先度トランザクションのチップ選択、ロウ、またはア

ドレスのカラム・フィールドが既にシングル・ポート・コントローラにあるアドレ

スに一致しない場合、SDRAM バースト・スケジューラの高優先度のトランザクショ

ンはそのバンクのトランザクションをすぐに上回ります。バンクがアイドル状態で

はない場合、そのバンクへの他の動作は高優先度の動作が終了するまで譲ります。

チップ選択、ロウ、およびカラム・フィールドがこれまでのトランザクションと一

致する場合、高優先度のトランザクションは最初に到達しているトランザクション

が完了するまで譲ります。

クロッキングMPFE の FPGA ファブリック・ポートはさまざまな周波数でクロックできます。同期

化は、MPFE のクロック・ドメイン・クロッシング・ロジックによって保存されま

す。コマンド・ポートはさまざまなクロック・ドメイン上で動作できますが、与え

られたコマンド・ポートに関連付けられているデータ・ポートはコマンド・ポート

と同じクロックである必要があります。例えば、Avalon-MM インタフェースを構築す

るためのリード・ポートおよびライト・ポートとペアになっているコマンド・ポー

トは、それに関連付けられているデータ・ポートと同じクロック周波数で動作する

必要があります。

シングル・ポート・コントローラの動作この項では、シングル・ポート・コントローラの動作について説明します。

SDRAMインタフェースSDRAM インタフェースは最大 40 ビット幅であり、8 ビット、16 ビット、16 ビット

+ECC、32 ビット、および 32 ビット +ECC のコンフィギュレーションに対応できま

す。SDRAM インタフェースは、LPDDR2、DDR2、および DDR3 のメモリ・プロトコ

ルをサポートしています。

コマンドおよびデータのリオーダリングSDRAM コントローラの中心は、コマンドおよびデータのオーダリング・エンジンで

す。コマンド・リオーダリングによって、現在のトランザクションが終了する前に

以降のトランザクション用のバンクをオープンにできます。データ・リオーダリン

グによって、新規のオーダが SDRAM 帯域幅の改善された使用率を可能にする場合、

トランザクションが受信されたのとは異なるオーダでトランザクションを処理でき

るようになります。同じアドレスに影響する動作がデータ・インテグリティを維持

するようにするために、同じバンクおよびロウへの動作が実行されます。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 11: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒11SDRAM コントローラ・サブシステムの機能の説明

図 8–3 に、ライト / リード / ライト / リードのコマンド・シーケンスが順番に実行さ

れる場合と、同じコマンド・シーケンスがデータ・リオーダリングを使用して実行

される場合の、相対的なタイミングを示します。データ・リオーダリングは、バス・

ターンアラウンド・タイミング遅延またはバンク・リアサインメントなしで、書き

込み動作および読み出し動作をバーストで起こせるようにします。

SDRAM コントローラは、保留中のすべてのロウ・コマンドおよびカラム・コマンド

をクロック・サイクル毎にスケジュールします。

バンク・ポリシー同じバンクとロウの組み合わせをアクティブにする上で今後のアクセスに遅延が起

きないようにするために、SDRAM コントローラのバンク・ポリシーによって、動作

が終了した後にトランザクションのバンクをオープン状態に保つように要求できる

ようになります。コントローラは、同時に 8 つのバンクをオープン状態にできるた

め、バンク・ソースが他の動作で必要になった場合にオープン状態のバンクがク

ローズされることがあります。

SDRAM バースト・トランザクションがスケジュールされる場合、オープン・バン

ク・ソースはダイナミックに割り当てられます。バンク割り当ては、受信トランザ

クションが複数の SDRAM バーストをスパンする場合にはコントローラによって、あ

るいは拡張コマンド・インタフェースによって自動的に要求されます。バンクの再

割り当てが必要な場合、最近最も使用されているオープン・バンクが置換として使

用されます。

保留中の次のコマンドがバンクを要求しないとコントローラが判断すると、保留中

の動作に応じてバンクはオープンかクローズの状態を維持します。タイマ・バンク・

プールにある同じロウ・アドレスに対する保留中の動作によってバンクをクローズ

するように要求されると、バンクはオープン状態を維持します。バンクは同じでロ

ウ・アドレスは異なる保留中の動作によってバンクをオープンのままにするように

要求されると、プリチャージ動作が起きます。

書き込みの接続2 番目のバーストの開始アドレスが最初のバーストの終了アドレスよりも 1 大きく、

それによってバースト長が 11 ビットのバースト長カウンタをオーバーフローしない

ポート上で、SDRAM コントローラは、連続したバーストから書き込み動作を接続し

ます。新しいバス・コマンドを受信する前に前回のコマンドが動作を終了する場合、

書き込みの接続は起きません。

図8‒3. データ・リオーダリングの影響

CommandAddress

WRB0R0

RDB1R0

WRB0R0

RDB1R0

CommandAddress

WRB0R0

RDB1R0

RDB1R0

WRB0R0

Data Reordering Off

Data Reordering On

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 12: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒12 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムの機能の説明

バースト長のサポートコントローラは、2、4、8、16 のバースト長、8、16、32 ビットの非 ECC 動作用の

データ幅、ECC がイネーブルされているとき 24、40 動作の幅をサポートします。

表 8–3 に、各バースト長での SDRAM のタイプを示します。

幅のマッチングSDRAM コントローラは、データ幅の変換を自動的に実行します。

ECCシングル・ポート・コントローラは、コントローラによって計算されるメモリ ECCをサポートしています。コントローラ ECC は、標準 Hamming ロジックを使用してシ

ングル・ビット・エラーおを検出・訂正し、ダブル・ビット・エラーを検出します。

コントローラ ECC は、16 ビット幅および 32 ビット幅に使用可能で、それぞれ追加

のメモリ 8 ビットを必要とするため、結果として実際にはそれぞれ 24 ビットおよび

40 ビットのメモリ幅となります。

コントローラ ECC は以下の機能を提供します。

■ バイト書き込み — メモリ・コントローラは、リード・モディファイ・ライト動作

を実行して、ワードのビットのサブセットが書き込まれているときに ECC データ

が有効の状態を維持するようにします。ワード全体(しかしフル・バースト未

満)が書き込まれていて DM ピンが接続されている場合、読み出しは必要なく、

そのワードのみが更新されます。コントローラ ECC がディセーブル状態の場合、

バイト書き込みが性能に影響することはありません。

■ ECC ライト・バック — 読み出し動作が訂正可能なエラーを検出する場合、メモリ

位置がリード・モディファイ・ライト動作用にスケジュールされてシングル・

ビット・エラーを訂正します。ECC ライト・バックは、ctrlcfgレジスタの

cfg_enable_ecc_code_overwritesフィールドを通してイネーブル / ディセーブル

されます。

■ ECC エラーの確認 — メモリ・コントローラはシングル・ビット・エラーおよびダ

ブル・ビット・エラー用の割り込みを提供します。割り込みおよびエラーのス

テータスは以下のようにステータス・レジスタに保存されます。

■ dramstsレジスタは割り込みステータスを保存します。

■ dramintrレジスタは割り込みマスクを保存します。

■ sbecountレジスタはシングル・ビット・エラー・カウントを保存します。

■ dbecountレジスタはダブル・ビット・エラー・カウントを保存します。

■ erraddrレジスタは最も最近のエラーのアドレスを保存します。

表8‒3. SDRAM のバースト長

バースト長 SDRAM 4 LPDDR2、DDR28 DDR2、DDR3、LPDDR216 LPDDR2

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 13: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒13SDRAM コントローラ・サブシステムの機能の説明

バイト書き込みECC がイネーブルされている状態でのバイト書き込みは、リード・モディファイ・

ライトとして実行されます。標準的な動作は、タイマ・バンク・プールのエントリ 1つのみを使用します。サブワード書き込みがイネーブルされたコントロール ECC で

は 2 つのエントリを使用します。最初の動作は読み出しで、2 番目の動作は書き込み

です。これら 2 つの動作は、読み出しが返されるまで書き込みが実行されないよう

にするためにアドレス依存性と共にタイマ・バンク・プールに送信されます。この

アプローチにより、同じアドレスに対する(同じポートからの)以降の動作は、書

き込み動作の後でロウ・リスト上でオーダされるために、書き込み動作の後に実行

されます。

ワード全体(しかしフル・バースト未満)が書き込まれている場合、読み出しは必

要なく、そのワードのみが更新されます。

ECC ライト・バックコントローラ ECC がイネーブルされて読み出し動作の結果が訂正可能 ECC エラーで

ある場合、ライト・バックがイネーブルされていればにコントローラはメモリの位

置を訂正します。訂正によって新規のリード・モディファイ・ライトがスケジュー

ルされます。新規の読み出しは、位置変更の書き込み動作が上書きされないような

位置で実行されます。実際の ECC の訂正動作は、リード・モディファイ・ライト動

作として実行されます。

ECC エラーのユーザー確認以下の手法で ECC エラーを確認します。

MPU サブシステムでは、割り込み信号が確認を提供し、ECC エラーの情報はステー

タス・レジスタに保存されます。

f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の Cortex-A9 Microprocessor Unit SubSystem の章を参照してください。

インタリーブのオプションコントローラは、アドレスをインタリーブする以下のオプションをサポートしてい

ます。

■ ノン・インタリーブ

■ チップ・セレクト・インタリーブなしのバンク・インタリーブ

■ チップ・セレクト・インタリーブありのバンク・インタリーブ

すべてのインタリーブ例は 512 Mb x 16 DDR3 チップを使用し、バイト・アドレスと

して表示されます。より小さいアドレス・フィールドの RAM では、フィールドの

オーダは同じままですが幅が変化する可能性があります。

ノン・インタリーブRAM マッピングはノン・インタリーブです。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 14: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒14 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムの機能の説明

図 8–4 に、ノン・インタリーブのアドレス・デコーディングを示します。

チップ・セレクト・インタリーブなしのバンク・インタリーブチップ・セレクト・インタリーブなしのバンク・インタリーブは、ノン・インタ

リーブ・アドレス・マッピングからロウおよびバンクをスワップします。このイン

タリーブによって、より小規模なデータ構造がチップ内のすべてのバンクに分散で

きるようになります。

図 8–5 に、チップ・セレクト・インタリーブなしのバンク・インタリーブのアドレ

ス・デコーディングを示します。

チップ・セレクト・インタリーブありのバンク・インタリーブチップ・セレクト・インタリーブありのバンク・インタリーブは、ロウ・アドレス

に続いてチップ・セレクト、そしてバンク、最後にカラム・アドレスをトップに移

動します。このインタリーブによって、より小規模なデータ構造が複数のバンクお

よびチップに分散できるようになります(メモリのブロックへのマルチスレッド・

アクセス用に計 16 のバンクへのアクセスを与える)。チップ間でスイッチするとメ

モリのタイミングが劣化します。

図8‒4. ノン・インタリーブのアドレス・デコーディング

図8‒5. チップ・セレクト・インタリーブなしのバンク・インタリーブのアドレス・デコーディング

Address Decoding (512 Mb x 16 DDR3 DRAM)

Controller

DDR 3512 x16

DDR 3512 x 16

Address Nomenclature C =Column R= Row B =Bank S= Chip Select

0481216202428

DDR 3512 x16

DDR 3512 x 16

C(9 :0 )R(15 :0 )B (2 :0 )S

0481216202428

C(9:0)R(15:0) B(2:0)S

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 15: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒15SDRAM コントローラ・サブシステムの機能の説明

図 8–6 に、チップ・セレクト・インタリーブありのバンク・インタリーブのアドレ

ス・デコーディングを示します。

AXI 排他的動作のサポートシングル・ポート・コントローラは AXI 排他的動作をサポートしています。コント

ローラは、最大 16 個の保留中書き込みを保存できてすべてのマスタ間で共有される

テーブルを実装します。テーブル・エントリは排他的な読み出しに割り当てられて、

任意のマスタによる同一アドレスへの成功した書き込みではテーブル・エントリが

割り当て解除されます。

テーブルに存在しない排他的な書き込み動作は、動作の確認として排他的な失敗を

返します。排他的な読み出しが実行されるときにテーブルがフルの状態だと、テー

ブルはランダム・エントリと置換します。

1 AXI 排他的動作を使用する場合、Avalon-MM インタフェースから同じ位置にアクセス

すると予期せぬ結果が生じてしまう可能性があります。

メモリ保護シングル・ポート・コントローラには、システム中のすべてのマスタからメモリを

保護する基本をソフトウェアがコンフィギュレーションできるようにするためのア

ドレス保護があります。システムが AXI マスタと排他的にデザインされている場合、

TrustZone® がサポートされます。Avalon-MM を使用するポートは、ポート・レベルで

の保護をコンフィギュレーションできます。

f TrustZone® について詳しくは、ARM のウェブサイト(www.arm.com)を参照してくだ

さい。

メモリ保護は、メモリの物理アドレスに基づいています。メモリの範囲へのアクセ

スを許可 / 禁止したり、メモリの範囲へのセキュア・アクセスを許可したりするルー

ルを設定できます(あるいはそれらの組み合わせも可能)。

セキュア領域およびノン・セキュア領域は、開始アドレスおよび終了アドレス用と

して 1 MB 境界を持っている開始 / 終了アドレスが含まれているルールによって指定

されます。ポートのデフォルトをオーバーライドしてすべてのトランザクションを

許可 / 禁止することができます。

図8‒6. チップ・セレクト・インタリーブありのバンク・インタリーブのアドレス・デコーディング

0481216202428

C(9:0)R(15:0) B(2:0)S

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 16: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒16 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラ・サブシステムの機能の説明

メモリ保護テーブルは CSR インタフェースを通してアドレス指定される内部テーブ

ルであり、メモリ・アクセスを許可 / 禁止するルールが含まれています。メモリ・ア

クセスを制御するための 20 のルールの最大値までコンフィギュレーションできま

す。表 8–4 に、各ルールに指定できるフィールドを示します。

ポートは許可または失敗のどちらか一方のデフォルト・アクセス・ステータスを

持っており、許可・失敗の反対の値を持っているルールがデフォルトをオーバーラ

イドできます。システムは、メモリ保護テーブルのすべてのルールに対して各トラ

ンザクションを評価します。デフォルトでアクセスを許可するポートで受信される

トランザクションは、失敗ビットがトランザクションに一致している場合のみ失敗

します。逆に、デフォルトでアクセスを回避するポートは、ルールによってトラン

ザクションを渡せる場合のみアクセスが許可されます。

排他的なトランザクションは、読み出し動作のみにおいてセキュリティのチェック

がオンになります。バリッド・リードが内部の排他的なテーブルでマークされる場

合のみ書き込み動作が起きます。その結果、排他的な読み出しに続いて書き込みを

実行するマスタは、排他的な読み出しが成功した場合のみメモリに書き込みできま

す。

表8‒4. メモリ保護テーブルのルールのためのフィールド

フィールド 幅 説明

Valid 1 ルールをアクティブにするには 1 に設定します。ルールを非アクティブにするには 0 に設定します。

Port Mask (1) 10

各ポートを表す以下のようなビットを使用して、適用するルールに対してポートを指定します。ビット 0 ~ 5 は FPGAファブリックのポート 0 ~ 5 に対応、ビット 6 は AXI L3 スイッチ・リードに対応しており、ビット 7 は CPU リード、ビット 8 は L3 スイッチ・ライト、そしてビット 9 は CPUライトです。

TID_low (1) 12

このルールが適用される下位転送 ID です。受信トランザクションがこの値以上の場合、それらのトランザクションは一致します。その値未満の TID を持っているポートは、より低いビットおよびトップにパディングされたゼロにシフトした TID を持ちます。

TID_high (1) 12このルールが適用される上位転送 ID です。受信トランザクションがこの値以下の場合、それらのトランザクションは一致します。

Address_low 12 1 MB ブロックを指す下位アドレスです。受信アドレスがこの値以上の場合、それらのアドレスは一致します。

Address_high 12 アドレスの上限です。受信アドレスがこの値以下の場合、それらのアドレスは一致します。

Protection 2

値 00 は保護ビットが設定されないことを表し、01 は保護ビットが設定されます。既知の値に AXI 保護を設定しないシステムでは、どちらか一方の値をプログラムする必要があります。

Fail/allow 1 この値を 1 に設定すると動作が失敗または成功に強制されます。

表 8–4 の注:

(1) TID およびポート・マスクが冗長である可能性もありますが、テーブル内の両者を含めてルールの圧縮を可能にします。ポートに接続されているマスタが連続した TID を持っている場合、ルールに必要な数の点において、ポート・ベースのルールは TID ベースのルールよりも効率的であることがあります。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 17: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒17SDRAM コントローラ・サブシステムの機能の説明

TrustZone 用のコンフィギュレーションの例TrustZone のコンフィギュレーションでは、メモリは、セキュア・マスタによってア

クセス可能なメモリの範囲、およびノンセキュア・マスタによってアクセス可能な

メモリの範囲に分割されます。これらの 2 つのメモリのアドレス範囲は互いに重複

することがあります。

この例は、以下のメモリ・コンフィギュレーションを実装しています。

■ 合計 2 GB の RAM サイズ

■ 0 ~ 512 MB の専用セキュア・エリア

■ 513 ~ 576 MB の共有エリア

■ 577 ~ 2048 MB の専用ノンセキュア・エリア

この例では、各ポートはすべてのアクセスを禁止するデフォルトにコンフィギュ

レーションされています。表 8–5 に、メモリ保護テーブルにプログラムされている 2つのルールを示します。

ポート・マスク値、TID Low、および TID High は、すべてのポートおよびポート内部

へのすべての転送に適用されます。各アクセス・リクエストはメモリ保護テーブル

で評価され、トランザクションを正常に完了させることにルールが一致しない限り、

アクセス・リクエストは失敗します。

表 8–6 に、トランザクションのサンプル・セットの結果を示します。

メモリ・ブロック間でいかなる重複も起こしたくない場合、表 8–5 の 2 つのルール

のアドレス範囲を相互排他的に指定することができます。目的の TrustZone コンフィ

ギュレーションによっては、保護スペースまたは非保護スペースの複数のブロック

を生成するために、メモリ保護テーブルにルールを追加することができます。

表8‒5. コンフィギュレーション例でのメモリ保護テーブルのルール

ルール # ポート・マスク TID Low

TID High

Address Low

Address High ポート 失敗 / 許可

1 0’b1111111111 0 4095 0 576 b01 許可

2 0’b1111111111 0 4095 512 2047 b00 許可

表8‒6. トランザクションのサンプル・セットの結果

動作 ソース アドレス ポート 結果 注記

読み出し CPU 4096 1 許可 ルール 1 に一致します。

書き込み CPU 536、870、912(512 MB)

1 許可 ルール 1 に一致します。

書き込み L3 付属マスタ605、028、350(577 MB)

1 失敗ルール 1 に一致せず(アドレス・フィールドの範囲外)、ルール 2 に一致しません(保護ビットが正しくない)。

読み出し L3 付属マスタ 4096 0 失敗ルール 1 に一致せず(誤ったポート値)、ルール 2 に一致しません(アドレス範囲内ではない)。

書き込み CPU 536、870、912(512 MB)

0 許可 ルール 2 に一致します。

書き込み L3 付属マスタ605、028、350(577 MB)

0 許可 ルール 2 に一致します。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 18: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒18 第 8 章: SDRAMコントローラ・サブシステムSDRAMの消費電力管理

SDRAMの消費電力管理SDRAM コントローラ・サブシステムは、SDRAM 内の以下の節電機能をサポートして

います。

■ パーシャル・アレイ・セルフ・リフレッシュ(PASR)

■ パワーダウン

■ LPDDR2 用のディープ・パワーダウン

節電モードは、ユーザー・コマンドのため、または非アクティブのどちらか一方の

ために初期化します。

節電モードは、適切なコントロール・レジスタへの書き込みによって初期化されま

す。このモードで SDRAM バースト・スケジューリングのバンク管理ロジックは強制

的にすべてのバンクをクローズし、パワーダウン・コマンドを発行します。指定し

たクロック・サイクル間で SDRAM バースト・スケジューリング・キューが空状態の

ときにコントローラがパワーダウンをイネーブルするようにプログラムすることが

できます。アクティブ SDRAM コマンドを受信すると SDAM は自動的に復活します。

他のパワーダウン・モードは、ユーザー制御下でのみ実行されます。

DDR PHYDDR PHY は、メモリ・コントローラおよび外部メモリ・デバイスをスピードが要求

されるパスで接続します。

DDR PHY は以下の機能を実装します。

■ キャリブレーション —DDR PHY は、コントローラおよび SDRAM チップ間でメモ

リ・タイミングを同期させる JEDEC 特有のステップをサポートしています。キャ

リブレーション・アルゴリズムはソフトウェアに実装されています。

■ メモリ・デバイスの初期化 —DDR PHY はモード・レジスタ書き込み動作を実行し

てデバイスを初期化します。DDR PHY は、ディープ・パワーダウン後に再初期化

を処理します。

■ シングル・データ・レートをダブル・データ・レートに変換します。

クロックすべてのクロックは、ddr_dqs_clkメモリ・クロックとは非同期であると仮定されま

す。すべてのトランザクションはメモリ・クロック・ドメインに同期されます。

表 8–7 に、SDRAM コントローラ・サブシステム・クロック・ドメインを示します。

表8‒7. SDRAM コントローラ・サブシステム・クロック・ドメイン(その1)

クロック名 説明ddr_dq_clk PHY 用のクロック

ddr_dqs_clk MPFE、シングル・ポート・コントローラ、CSR アクセス、および PHY 用のクロック

ddr_2x_dqs_clk PHY 用のクロック

l4_sp_clk CSR インタフェース用のクロック

mpu_l2_ram_clk MPU インタフェース用のクロック

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 19: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒19リセット

クロックの関係という点において、FPGA ファブリックは、構成されているポート用

のライト・データ・ポート、リード・データ・ポート、およびコマンド・ポートに

適切なクロックを接続します。

f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の Clock Manager の章を参照して

ください。

リセットSDRAM コントローラ・サブシステムは、メモリ内容を保存するかしないか定かでは

ないフル・リセット(コールド・リセット)およびウォーム・リセットをサポート

しています。メモリ内容を保存するために、リセット・マネージャは、ウォーム・

リセットを発行する前にシングル・ポート・コントローラがセルフ・リフレッシュ・

モードに SDRAM を付けることを要求できます。メモリ内容が保存されると、PHY お

よびメモリ・タイミング・ロジックはリセットされませんが、コントローラの他の

事柄はリセットされます。

f 詳しくは、Cyclone V デバイス・ハンドブック Volume 3 の Reset Manager の章を参照して

ください。

初期化SDRAM コントローラ・サブシステムには、DRAM タイプ、DRAM タイミング・パラ

メータおよびポートの相対優先度を含むコントローラの動作を制御する CSR があり

ます。また、メモリ・コントローラおよび FPGA ファブリックの間にポートをコン

フィギュレーションする FPGA ファブリックに応じた小規模の一連のビットもありま

す。これらのビットは、Qsys の HPS GUI を使用して実装をコンフィギュレーション

するためにあります。

CSR は、レジスタへのアクセスを提供する専用スレーブ・インタフェースを使用し

てコンフィギュレーションされます。この領域は、SDRAM 動作、MPFE スケジュー

ラ・コンフィギュレーション、および PHY キャリブレーションのすべてを制御しま

す。

FPGA ファブリック・インタフェース・コンフィギュレーションは、FPGA ファブ

リック内部でプログラムされ、これらのレジスタ・ビットの値はソフトウェアに

よって読み出されます。FPGA-to-HPS SDRAM インタフェースがどのようにコンフィ

ギュレーションされたか踏まえることなくポートをコンフィギュレーションするこ

とができます。

l3_main_clk L3 インタフェース用のクロック

f2h_sdram_clk[5:0] FPGA ファブリックへの FPGA-to-HPS SDRAM ポート用に使用される 6 個の独立したクロック

表8‒7. SDRAM コントローラ・サブシステム・クロック・ドメイン(その2)

クロック名 説明

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 20: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒20 第 8 章: SDRAMコントローラ・サブシステム初期化

プロトコルの詳細

Avalon-MM 双方向ポートAvalon-MM 双方向ポートは、読み出し動作および書き込み動作をディスパッチするた

めに使用される標準的な Avalon-MM ポートです。コンフィギュレーションされる各

Avalon-MM 双方向ポートは、表 8–8 に示す信号から構成されています。

リード・インタフェースおよびライト・インタフェースは同じサイズにコンフィ

ギュレーションされます。バイト・イネーブル・サイズはデータ・バス・サイズと

スケーリングします。

f Avalon-MM プロトコルについて詳しくは、 Avalon Interface Specifications を参照してくだ

さい。

Avalon-MM ライト・ポートAvalon-MM ライト・ポートは、書き込み動作をディスパッチすることのみに使用され

る標準的な Avalon-MM ポートです。コンフィギュレーションされる各 Avalon-MM ラ

イト・ポートは、表 8–9 に示す信号から構成されています。

表8‒8. Avalon-MM 双方向ポートの信号

信号名 ビット 入力 /出力 機能

clk 1 入力Avalon-MM インタフェース用のクロックです。

read 1 入力 リード・トランザクションを表します。

write 1 入力 ライト・トランザクションを表します。

address 32 入力 トランザクションのアドレスです。

readdata 32、64、128、または 256 出力 リード・データ返信です。

readdatavalid 1 出力リード・データ返信用のバリッド・サイクル・フラグです。

writedata 32、64、128、または 256 入力

トランザクション用のライト・データです。

byteenable

4(32 ビット・データ)、8(64ビット・データ)、16(128ビット・データ)、32(256ビット・データ)

入力各ライト・バイト用のバイト・イネーブルです。

waitrequest 1 出力トランザクションを完了するためには追加サイクルが必要であることを表します。

burstcount 11 入力 トランザクションのバースト長です。

表8‒9. Avalon-MM ライト・ポートの信号(その1)

信号名 ビット 入力 / 出力 機能reset 1 入力 リセットです。

clk 1 入力 クロックです。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 21: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒21初期化

f Avalon-MM プロトコルについて詳しくは、 Avalon Interface Specifications を参照してくだ

さい。

Avalon-MM リード・ポートAvalon-MM リード・ポートは、読み出し動作をディスパッチすることのみに使用され

る標準的な Avalon-MM ポートです。コンフィギュレーションされる各 Avalon-MMリード・ポートは、表 8–10 に示す信号から構成されています。

f Avalon-MM プロトコルについて詳しくは、 Avalon Interface Specifications を参照してくだ

さい。

write 1 入力 ライト・トランザクションを表します。

address 32 入力 トランザクションのアドレスです。

writedata 32、64、128、または 256 入力

トランザクション用のライト・データです。

byteenable

4(32 ビット・データ、8(64ビット・データ)、16(128 ビット・データ)、32(256ビット・データ)

入力各ライト・バイト用のバイト・イネーブルです。

waitrequest 1 出力トランザクションを完了するためには追加サイクルが必要であることを表します。

burstcount 11 入力 トランザクションのバースト長です。

表8‒9. Avalon-MM ライト・ポートの信号(その2)

信号名 ビット 入力 / 出力 機能

表8‒10. Avalon-MMリード・ポートの信号

信号名 ビット 入力 / 出力 機能

reset 1 入力 リセットです。

clk 1 入力 クロックです。

read 1 入力リード・トランザクションを表します。

address 32 入力 トランザクションのアドレスです。

readdata 32、64、128、または 256 出力 リード・データ返信です。

readdatavalid 1 出力リード・データ返信用のバリッド・サイクル・フラグです。

waitrequest 1 出力

トランザクションを完了するためには追加サイクルが必要であることを表します。リード・コマンドを受け取るのに遅延が必要な場合、読み出し動作で必要になります。

burstcount 11 入力 トランザクションのバースト長です。

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 22: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒22 第 8 章: SDRAMコントローラ・サブシステム初期化

AXI ポートAXI ポートは AXI-3 インタフェースを使用します。

f AXI-3 インタフェースについて詳しくは、ARM のウェブサイト(www.arm.com)の

AMBA Open Specifications を参照してください。

f 高性能 II コントローラ(HPC II)の AXI インタフェース・ポートについて詳しくは、

External Memory Interface Handbook の Functional Description—HPC II Controller の章を参照

してください。

コンフィギュレーションされる各 Avalon-MM リード・ポートは、表 8–11 に示す信号

から構成されています。各 AXI インタフェース信号は、クロックやリセットを含む

すべての信号について他のインタフェースから独立しています。

表8‒11. AXI ポートの信号(その1)

信号名 ビット 入力 / 出力 機能

ARESETn 1 入力 リセットです。

ACLK 1 入力 クロックです。

ライト・アドレス・チャネル信号AWID 4 入力 ライト識別タグです。

AWADDR 32 入力 ライト・アドレスです。

AWLEN 4 入力 ライト・バースト長です。

AWSIZE 3 入力 転送サイズの幅です。

AWBURST 2 入力 バースト・タイプです。

AWREADY 1 出力ライト・コマンドの準備が整っていることを表します。

AWVALID 1 入力バリッド・ライト・コマンドを表します。

ライト・データ・チャネル信号WID 4 入力 ライト・データ転送 ID です。

WDATA 32、64、128 または 256 入力 ライト・データです。

WSTRB 4、8、16、32 入力

バイト・ベースのライト・データ・ストローブです。各ビット幅は 8 ビット幅の転送に対応し、32 ビット幅は 256ビット幅に対応します。

WLAST 1 入力 バースト内で最後の転送です。

WVALID 1 入力ライト・データ + ストローブが有効であることを表します。

WREADY 1 出力ライト・データおよびストローブの準備が整っていることを表します。

ライト応答チャネル信号BID 4 出力 ライト応答転送 ID です。

BRESP 2 出力 ライト応答ステータスです。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 23: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

第 8 章: SDRAM コントローラ・サブシステム 8‒23SDRAM コントローラ・サブシステム・プログラミング・モデルの初期化

SDRAMコントローラ・サブシステム・プログラミング・モデルの初期化

初期化SDRAM コントローラは、CSR インタフェースを使用してコンフィギュレーション・

レジスタのソフトウェア・プログラミングを通してコンフィギュレーションされま

す。SDRAM コントローラの初期化には、それぞれ異なるコントロールを持った 2 つ

の個別の領域があります。

タイミング・パラメータSDRAM コントローラは、ランタイム時にコンフィギュレーション可能なタイミン

グ・パラメータ一式をサポートしています。

BVALID 1 出力 ライト応答バリッド信号です。

BREADY 1 入力 ライト応答レディ信号です。

リード・アドレス・チャネル信号ARID 4 入力 リード識別タグです。

ARADDR 32 入力 リード・アドレスです。

ARLEN 4 入力 リード・バースト長です。

ARSIZE 3 入力 転送サイズの幅です。

ARBURST 2 入力 バースト・タイプです。

ARREADY 1 出力リード・コマンドの準備が整っていることを表します。

ARVALID 1 入力バリッド・リード・コマンドを表します。

リード・データ・チャネル信号RID 4 出力 リード・データ転送 ID です。

RDATA 32、64、128 または 256 出力 リード・データです。

RRESP 2 出力 リード応答ステータスです。

RLAST 1 出力 バースト内で最後の転送です。

RVALID 1 出力リード・データが有効であることを表します。

RREADY 1 入力リード・データ・チャネル・レディ信号です。

表8‒11. AXI ポートの信号(その2)

信号名 ビット 入力 / 出力 機能

2012 年 11 月 Altera Corporation Cyclone Vデバイス・ハンドブックVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル

Page 24: SDRAMコントローラ・サブシステムの機能cv_54008-1.1 8‒2 第8章:SDRAMコントローラ・サブシステム SDRAMコントローラ・サブシステムのブロック図およびシステム統合

8‒24 第 8 章: SDRAMコントローラ・サブシステムSDRAMコントローラのアドレス・マップおよびレジスタの定義

SDRAMコントローラのアドレス・マップおよびレジスタの定義f アドレス・マップは、このハンドブックの volume に付属の hps.html ファイルにあり

ます。ファイルを開くにはリンクをクリックします。

モジュールの説明およびベース・アドレスを見るには、スクロールして以下のモ

ジュール・インスタンスのリンクをクリックします。

■ sdr

そしてレジスタおよびフィールドの説明を見るには、スクロールしてレジスタ名を

クリックします。レジスタのアドレスは、各モジュール・インスタンスのベース・

アドレスに相対的なオフセットです。

f すべてのモジュールのベース・アドレスは、Cyclone V デバイス・ハンドブックVolume 3 の Introduction to the Hard Processor System の章にも示されています。

改訂履歴表 8–12 に、本資料の改訂履歴を示します。

表8‒12. 改訂履歴

日付 バージョン 変更内容

2012 年 11 月 1.1 アドレス・マップおよびレジスタの定義に関する項の追加。

2012 年 1 月 1.0 初版。

Cyclone Vデバイス・ハンドブック 2012年 11 月 Altera CorporationVolume 3:ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル