このサンプル デザインには、100 MHz の SPI クロックを使用して QSPI (リニア モード) 最大実効スループットを達成する方法が示されています。
注記: サンプル デザインはアンサーに添付されており、またアンサーの本文には Zynq-7000 で特定の機能をテストするための技術情報が記載されています。
コードの抜粋、スナップショット、図、またはザイリンクス ツールの特定バージョンでインプリメントされたデザインなどが含まれています。
これらのヒントを今後のザイリンクス ツール リリースにアップデートして、サンプル デザインを必要に応じて修正することも可能です。
これらのサンプル デザインに対するサポートには制限があります。
インプリメンテーションの詳細 | |||
---|---|---|---|
デザイン タイプ | PS のみ | ||
ソフトウェア タイプ | スタンドアロン | ||
CPU | シングル CPU @ 720 MHz | ||
PS 機能 | SPI クロック @ 100 MHz の QSPI (リニア モード) | ||
PL コア | -- | ||
ボード/ツール | ZC702 (qspi ループバックをイネーブルにするため MIO[8] n.c. になるよう変更) | ||
ザイリンクス ツール バージョン | EDK 14.1 | ||
その他の詳細 | -- | ||
提供されているファイル | |||
xdmaps_example_w_intr_14_2.c | コードの抜粋 | ||
ブロック図 | |||
概要
100 MHz の SPI クロックで、リニア モードの最大実効スループットを達成するため、DMA コントローラーが使用されています。
DMA は非常に柔軟性があり、リニア QSPI から DDR へのデータ伝送のため、数行のマイクロコードを実行することができます。
次は、LQSPI から DDR へ 256 KB を移動するミクロコードの例です。
DMAMOV CCR, SB16 SS32 DB16 DS32
DMAMOV SAR, 0xFC000000
DMAMOV DAR, 0x00300000
DMALP 256
DMALP 256
DMALD
DMAST
DMALPEND
DMALPEND
DMAEND
QSPI はリニア モードで動作するように設定されています (シングル SPI フラッシュ メモリ、高速読み出しクワッド I/O (LQSPI_CFG = 0x82FF04EB )) 。
SPI 基準クロック: 200 MHz
SPI クロック: 100 MHz (DIV2 あり)
CPU は 720 MHz、DDR は 533 MHz で実行されます。
伝送時間は、CP15 パフォーマンス モニター レジスタでの経過カウンターをカウントすることで計算されます。
詳細手順
注記: 14.2 でテストされたサンプルも添付されています。
「伝送時間」の計算は含まれていませんが、QSPI からデータを読み出すための DMA 使用方法が示されています。
結果
次は 1.0 シリコンの結果です。
100 MHZ (DIV2) での読み出しモード | 平均 PL330 DDR への伝送時間 (MB/秒) | % バンド幅 Vs. 理論 50 MB/秒 |
QUAD OUTPUT - FAST READ (0x6B) | ~ 31 | ~ 62% |
QUAD IO - FAST READ (0xEB) | ~ 36 | ~ 72% |
タイトル | サイズ | ファイルタイプ |
---|---|---|
xdmaps_example_w_intr_14_2.c | 12 KB | C |
xdmaps_example_no_intr.zip | 7 KB | ZIP |
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
51779 | Zynq-7000 SoC - サンプル デザインおよびテクニカル ヒント | N/A | N/A |
Answer Number | アンサータイトル | 問題の発生したバージョン | 修正バージョン |
---|---|---|---|
50991 | Zynq-7000 SoC - コンフィギュレーションでサポートされているフラッシュ デバイス | N/A | N/A |
AR# 46880 | |
---|---|
日付 | 05/18/2018 |
ステータス | アクティブ |
種類 | 一般 |
デバイス | |
ツール | |
Boards & Kits |