moerjielovecookie

Sawen_Blog

一个普通工科牲的博客网站
x
github
follow
email

ZYNQ

ZYNQ 体系结构#

Zynq の全体アーキテクチャは、PS(プロセッサシステム)と PL(プログラマブルロジック)の 2 つの部分で構成されています。この 2 つの部分の電源回路は相互に独立しているため、PS と PL は個別に使用でき、使用されていない部分は電源を切って消費電力を低減できます。しかし、Zynq の最も価値のあるモードは、2 つの構成要素を組み合わせて使用することです。

PS(プロセッサシステム)#

プロセッサシステムの基盤として、すべてのチップにはデュアルコアの ARM Cortex-A9 チップが含まれています。これはハードプロセッサであり、チップ上に特化して最適化されたシリコン素子です。

「ハード」プロセッサの他に、MicroBlaze のような「ソフト」プロセッサという別の選択肢もあり、これは PL 側のユニットで構成されており、PL 側の IP と同等です。対照的に、「ハード」プロセッサは比較的高い性能を得ることができ、「ソフト」プロセッサの数と正確な実装は柔軟です。

特筆すべきは、Zynq の PL 側に 1 つまたは複数の MicroBlaze ソフトプロセッサを割り当て、ハードコアと協調して動作させることができる点です。例えば、ソフトコアに特定の低レベル機能とシステム間の調整を担当させ、要求が高くないタスクをハードコアから切り離して全体の性能を向上させることができます。

b5KAyTow21a3NXv.png

Zynq の PS 側には ARM プロセッサだけでなく、一連の関連する処理リソースが含まれており、アプリケーションプロセッサユニット(Application Processing Unit、APU)を構成しています。さらに、拡張周辺機器インターフェース、キャッシュメモリ、メモリインターフェース、相互接続インターフェース、クロック発生回路もあります。

U2hAxkw1QgKJD7t.png

PL(プログラマブルロジック)#

Zynq のロジック部分は、Artix7 および Kintex7 の FPGA コンポーネントに基づいています。

ロジック部分#

yNq72JCTcwIVxbX.png

  • 構成可能ロジックブロック(CLB)—— CLB はロジックユニットの小規模で一般的なグループで、PL 内に 2 次元アレイとして配置され、プログラム可能な相互接続によって他の類似のリソースに接続されます。各 CLB 内には 2 つのロジックスライスが含まれ、スイッチマトリックスに隣接しています。
  • スライス(Slice)—— CLB 内のサブユニットで、組み合わせおよび時系列ロジック回路を実現するためのリソースがあります。

EaAknYzH7fUXWRl.png

  • ルックアップテーブル(Lookup Table、LUT)—— 柔軟なリソースで、以下を実現できます。

    1. 最大 6 つの入力を持つ論理関数
    2. 小さな読み取り専用メモリ(ROM)
    3. 小さなランダムアクセスメモリ(RAM)
    4. シフトレジスタ

    LUT は必要に応じて組み合わせて、より大きな論理関数、メモリ、またはシフトレジスタを形成できます。

  • フリップフロップ(Flip-flop、FF)—— 1 ビットのレジスタを実現するための時系列回路で、リセット機能を備えています。その一つの用途はラッチの実現です。

  • スイッチマトリックス(Switch Matrix)—— 各 CLB の隣にはスイッチマトリックスがあり、CLB 内のユニットを接続するための柔軟な配線機能を実現したり、CLB を PL 内の他のリソースと接続したりします。

  • キャリー論理(Carry Logic)—— 算術回路は隣接するスライス間で信号を伝達する必要があり、これがキャリー論理によって実現されます。

  • 入出力ブロック(IOB)—— IOB は PL ロジックリソース間の接続を実現し、外部回路に接続するための物理デバイス「パッド」を提供します。各 IOB は 1 ビットの入力または出力信号を処理でき、IOB は通常チップの周辺に位置します。

特殊リソース:DSP48E1 と BRAM#

これら 2 つのリソースは列に沿ってロジックアレイに統合され、ロジック部分に埋め込まれており、互いに近接しています。これは、密な計算とメモリ内のデータストレージがしばしば密接に関連する演算であるためです。

4rAX3bdykQPplz1.png

BRAM#

Zynq-7000 の BRAM は、他の Xilinx 7 シリーズ FPGA の BRAM と同じで、RAM、ROM、FIFO を実現でき、エラーチェック符号もサポートしています。

各 BRAM には最大 36KB の情報を保存でき、36KB の RAM または 2 つの独立した 18KB の RAM として構成できます。また、より小さなユニットを含むように「再構成」することもでき、または組み合わせてより大きな容量の RAM を構成することもできます。

BRAM を使用することで、チップ内部の最適化された専用ストレージユニット内に、非常に小さな物理スペースで大量のデータを保存できます。別の方法としては、分散 RAM(Distributed RAM)があり、DRAM はロジック部分の LUT を使用して構築されます。BRAM と同等のサイズのメモリを構成するには、大量の LUT が必要であり、実現結果は急増するロジックと配線遅延によって時系列性能が制限される影響を受けます。一方、DRAM を使用して小さなメモリを実現することには利点があり、リソースの利用率が高く、レイアウトがより柔軟です。BRAM は通常、チップがサポートする最高のクロック周波数で動作します。

DSP48E1#

ロジック部分の LUT は任意の長さの算術演算を実現するために使用できますが、長いワード長の算術回路はロジックスライス内で大きなスペースを占有するため、そのレイアウトと配線はクロック周波数が最適でない結果をもたらします。したがって、LUT を使用して短いワード長の演算を行うのが最善です。

DSP48E1 は、長いワード長の信号の高速算術演算を実現するために特別に設計されたロジックスライスであり、専用のシリコンリソースで、ロジックユニット内部には加算器 / 減算器、乗算器、後加算器 / 減算器が含まれています。

vCgbeN8i9Xtq7Eo.png

後加算器はロジックユニットとしても使用でき、その場合は論理演算を行い、すべての基本的なブール演算をサポートします。

より大きなワード長の演算が必要な場合は、複数の DSP を組み合わせて拡張することができます。

汎用入出力#

Zynq の汎用入出力機能は、SelectIO リソースと呼ばれ、50 個の IOB のグループで構成されており、各 IOB には外部世界と接続するためのパッドがあります。

I/O グループは高性能(High Performance、HP)または高範囲(High Range、HR)に分かれています。HP インターフェースの電圧は最大 1.8V で、通常はメモリや他のチップとの高速インターフェースとして使用されます。HR インターフェースは 3.3V の電圧を許可し、さまざまな IO 標準の接続に適しています。両方のインターフェースは、単端信号と差動信号をサポートしています。

各 IOB には IOSERDES リソースも含まれており、並列およびシリアルのプログラム可能な変換を行うことができ、データビット幅は 2~8 ビットです。

通信インターフェース#

Zynq 内部には、ロジック部分に埋め込まれた GTX トランシーバーと高速通信インターフェースブロックがあります。

その他のプログラマブルロジック拡張インターフェース#

  • ADC—— XADC、独立した 12 ビット ADC が 2 つあり、各サンプリングレートは 1Msps です。
  • クロック —— PL は PS から 4 つの独立したクロック入力を受け取り、さらに PS とは無関係なクロックを生成および配布できます。
  • JTAG デバッグインターフェース

PS と PL の間のインターフェース#

前述のように、Zynq の性能は、PS と PL の 2 つの構成要素の特性だけでなく、両者を協調させて完全で統合されたシステムを形成する能力にも依存しています。この中で重要な役割を果たすのは、一連の高度にカスタマイズされた AXI 相互接続とインターフェースであり、これを使用して 2 つの部分間に橋を形成します。さらに、PS と PL の間には他のタイプの接続、特に EMIO があります。

AXI#

高度に拡張可能なインターフェース(Advanced eXtensible Interface)。現在のバージョンは第 4 世代 AXI4 です。

AXI4#

ストレージマッピング接続に使用され、最高の性能をサポートし、最大 256 個のデータワードのバースト転送を介してアドレスを指定します。

AXI4-Lite#

簡略化された接続で、各転送で 1 つのデータのみをサポートします。AXI4Lite もストレージマッピングであり、各転送で 1 つのアドレスと単一のデータを扱います。

AXI4-Stream#

高速ストリーミングデータ用で、任意のサイズのデータのバルク転送をサポートします。アドレスメカニズムはなく、ソースと宛先間の直接データストリームに適しています。

EMIO インターフェース#

EMIO は 2 つのドメイン間の転送に関与し、一連の単純なワイヤ接続によって実現されます。

s318l2SCX6zYIqE.png

EBAZ4205 マイニングボード資料まとめ#

拡張版#

ebaz4205 拡張ボード - 立創オープンハードウェアプラットフォーム (oshwhub.com)

開発ボード補完#

ゼロから始める ZYNQ 学習(EBAZ4205 マイニングカードに基づく)(1)-CSDN ブログ

回路図関連#

マイニングボード回路図

Elrori/EBAZ4205: EBAZ4205 BOARD (github.com)

PCB

EBAZ4205-master.zip

bookmark

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。