FPGA開発ボード / SoM / カスタム設計 / IP統合
info@profpga.net +86 18621324348
ホーム/ブログ/応用実践/実践 ZYNQ 中国国産置換:Xilinx ZYNQ から PBC7Z020G/021G へ移植して何が変わるか
応用実践

実践 ZYNQ 中国国産置換:Xilinx ZYNQ から PBC7Z020G/021G へ移植して何が変わるか

2026-10-22 推定読了時間:11分 Duyuan Electronics 研究開発チーム

元の設計は Xilinx Zynq-7000(XC7Z020)で ARM ソフト + FPGA リアルロジックの異種方式を組み、今や国産化が必要になった。チップを差し替えればプロジェクト全体を書き直しになるのか、局所修正で済むのか。本稿は XC7Z020 互換の国産 HWD7Z020 を載せた PBC7Z020G/021G への移植を PS ソフト・PL ロジック・ブート/BSP の 3 層に分解し、実際の変更量・流用できる部分・リスク点を整理する。

1. なぜ移行するのか:XC7Z020 から国産 HWD7Z020 へ

ZYNQ の価値は、1 チップにデュアルコア ARM Cortex-A9(PS、システムソフト・ネットワーク・ファイルシステムを実行)とプログラマブルロジック(PL、並列収録・プロトコル加速・リアルタイム IO を担当)を同居させられる点にある。XC7Z020 設計を国産化する目的は、まったく別のアーキテクチャに変えることではなく、命令セット・ペリフェラル・Vivado フローがドロップイン互換の国産品を選ぶことだ。PBC7Z020G は HWD7Z020-1PBGA400、PBC7Z021G は HWD7Z020-1CLG484 を搭載。いずれも国産産業グレード、デュアル A9@800MHz + FPGA 異種構成、Vivado にネイティブ互換で追加パッチ不要、定格 -55~125°C の超ワイド温度。

移行前にプロジェクトを 3 層に分け、それぞれ見積もる:

1. PS ソフト:A9 上で動くベアメタル、FreeRTOS タスク、Linux アプリとドライバ。

2. PL ロジック:Vivado で書く RTL、IP コア、制約、ピン配置。FPGA ファブリック上で動く。

3. ブートと BSP:ブートイメージ、QSPI/eMMC/SD ブート設定、デバイスツリー、ボードサポートパッケージ。

2. PS ソフト移植:BSP の再利用が最も多い

1. ベアメタルと FreeRTOS:プロジェクトはほぼ変わらない

ベアメタルと FreeRTOS のプロジェクトは BSP 経由で A9 のペリフェラル(UART、GPIO、タイマ、割り込みコントローラ)を呼ぶ。HWD7Z020 の PS レジスタレイアウトは XC7Z020 互換なので SDK/BSP ドライバは再利用でき、アプリ層コードの書き直しは不要。変更は国産デバイスライブラリで BSP を再生成し、再コンパイルし、割り込み番号とクロック設定を確認する程度。工数は月ではなく日単位で測れる。

2. Linux:デバイスツリー、U-Boot、カーネルの局所調整

Linux 設計では PS 側の変更がベアメタルより多いが、ゼロからではない:

  • デバイスツリー(DTS):PS ペリフェラルノードと PL 接続ノードを XC7Z020 ツリーから国産ボードのコネクタへマップし直す。DDR3 容量/幅、eMMC/QSPI パーティション、イーサネット/USB ノードを新ボード用に埋める。
  • U-Boot とカーネル:XC7Z020 互換の config をベースに削り込み、bootargs、コンソールボーレート、rootfs マウントを調整。カスタムドライバを国産デバイス上で再コンパイルし回帰試験。
  • アプリ層:ユーザサービス、ネットワークプログラム、業務アルゴリズムはチップ非依存でそのまま移行。

まずボード設定から DDR3 帯域を見積もる:PBC7Z020G/021G は DDR3 1GB、32-bit バス、1066Mbps。バイト帯域 = 4B × 1066MT/s ≈ 4.26 GB/s。通常の組み込み制御と軽い画像転送には十分で、帯域のためにプラットフォームを替える必要はない。

3. PL ロジック移植:リソース確認後に制約を再計画

PL リソース比較(XC7Z020 クラス vs HWD7Z020 / PBC7Z021G)

リソース XC7Z020 クラス PBC7Z021G(HWD7Z020-1CLG484) 移植の判断
ロジックセル 約 85K 85K 同クラス、設計に収まる
LUT 約 53.2K 53,200 同クラス
フリップフロップ 約 106K 106,400 同クラス
DSP 乗算器 220 220 同クラス
Block RAM 4.9 Mb 4.9 Mb 同クラス
利用可能 PL IO — 198(+48 LVDS ペア、100 電圧設定可能 IO) 新コネクタで再計画

元の RTL 挙動記述、純組合せ/順序回路、ほとんどの IP コア(BRAM、FIFO、PLL/MMCM、AXI 相互接続)は互換フローでそのまま合成でき、書き直しは要らない。

制約、IP、ピン再マッピング

パッケージが PBGA400(020G、35×42mm の小型)から 1CLG484(021G、60×60mm)へ変わると、物理ピンと露出 IO が変わるため、XDC 制約ファイルを新ボードのコネクタに合わせて再割り当てする必要がある。電源ツリー、DDR3 配線、クロック水晶(021G は 33.33MHz PS 水晶 + 50MHz PL 水晶)も新ボードに合わせて確認する。IP がベンダー固有のハードブロック(特定トランシーバ、セキュリティモジュール)を使っている場合は、国産デバイスに等価 IP があるか確認し、なければ汎用 RTL へ置き換える。

4. ブートチェーンと着弾チェックリスト

ブートモードとブートイメージ

PBC7Z021G は 6 ピン JTAG を備え、DIP スイッチで JTAG / QSPI / SD カードブートを選択可能。PBC7Z020G は 2×120 ピン Panasonic コネクタと 5V 給電。次のチェックリストで移植を着弾させる:

1. PS ソフト:BSP 再生成、再コンパイル、ベアメタル/FreeRTOS の回帰試験。Linux はデバイスツリー、U-Boot bootargs、カーネル config を更新。

2. PL ロジック:元プロジェクトを合成し、新パッケージ用に XDC 制約を書き直し、IP 互換性とタイミングクロージャを確認。

3. ブート設定:ブートモードを確定(JTAG デバッグ → QSPI/SD 量産)、boot.bin(FSBL、ビットストリーム、デバイスツリー)と rootfs を構築。

4. ワイド温度と信頼性:国産ボードは -55~125°C(020G/021G)。目標環境で熱サイクル試験と長時間通電試験を行い、電源マージンを確認。

選定:サイズと IO で 020G / 021G / ピュア FPGA 拡張を選ぶ

  • 超小型置換(PBC7Z020G、¥799):35×42×5.5mm、2×120 ピン。スペースが厳しく中程度ロジックの組み込み小型化・置換ノード向け。
  • フル露出量産(PBC7Z021G、¥999):60×60mm、4×80 ピン、198 PL IO と 48 LVDS ペア、PS/PL リソースを完全露出。工学量産や外部 IO を多く必要とする設計向け。
  • ピュア FPGA 大リソース拡張(PBC7K325G、¥1,999):PL 側に高速トランシーバや大ロジックが必要なら(16 GTX レーン@12.5Gb/s、2GB DDR3、326K ロジックセル)、国産 Kintex-7 SoM が受け皿となり ZYNQ 方式を補完する。

ZYNQ の国産置換は作り直しではない。PS ソフトとアプリ層が最も再利用でき、実際に触るのは新パッケージ向け PL 制約の再計画と、デバイスツリー・ブートイメージの更新だ。PS・PL・ブートの 3 層に分けて各層を見積もれば、互換フローの中でプロジェクトは局所調整で済み、リスクは IP 互換性とワイド温度回帰に集中する。移植は計画通りに着弾する。

China ReplacementEmbeddedFPGAHWD7Z020ZYNQ
Duyuan Electronics · オリジナル技術記事

関連製品

‹ 前の記事

10G/25G 光バックホール:GTX/GTH ライトレートと UDP オフロードの設計

記事で問題が解決しませんでしたか?

具体的なご要望をお知らせいただければ、個別の技術サポートを提供します。

お問い合わせ · +86 18621324348