5cm ZYNQ基板を作る。
短期開発の土台として、5cm角のZynq基板を作る
現在、5cm角のZynq基板を設計しています。
まだ完成した基板ではありません。現在はKiCad上でDDR3を含めた配線を進めている段階です。
では、なぜわざわざZynqの基板を自分で作っているのか。
一番大きな理由は、電子回路開発をもっと短期間で行えるようにしたいからです。

イメージ図です。開発中の製品とは異なります。
FPGA基板を「開発の土台」にする
電子回路を新しく作ろうとすると、意外に時間がかかります。
CPU、メモリ、通信インターフェース、電源、コネクタなどを選び、それらを回路図にして基板を設計する必要があります。
さらに基板が完成した後には、組み込みソフトウェアの開発も必要になります。
そこで考えたのが、
ある程度完成した小型FPGA基板を、さまざまな装置の共通プラットフォームとして使えないか
ということでした。
FPGAには、内部回路を後から変更できるという大きな特徴があります。
UARTが必要ならUARTを入れる。
PWMが必要ならPWMを作る。
高速なデジタルI/Oが必要なら、それもFPGA内部で作る。
専用ICを追加しなくても、かなりの機能をFPGA側で実現できます。
この柔軟性を利用すれば、基板を案件ごとにゼロから作るのではなく、共通の基板をベースにして短期間で装置を作れるのではないか、と考えています。
なぜZynqなのか
FPGAだけでも多くのことはできますが、実際の装置ではCPUが欲しくなる場面も多くあります。
ネットワーク通信、USB、ファイル処理、設定画面、画像処理の制御などは、CPUで処理した方が作りやすいこともあります。
ZynqにはARMプロセッサとFPGAが一つのデバイスに入っています。
そのため、
- ソフトウェアで処理した方がよい部分はARM
- 高速処理や専用I/OはFPGA
という役割分担ができます。
特に画像処理では、この構成は面白いと思っています。
CPUが画像を扱いながら、必要な部分だけFPGAで高速処理する、といった構成が可能です。
なぜ5cm角なのか
今回の基板では、サイズを5cm角にしています。
これは単純に「小さい基板を作りたい」というだけではありません。
小型の共通基板にしておけば、その周囲に必要な回路だけを追加するという設計ができます。
例えば、
Zynq基板+センサー基板
Zynq基板+モーター制御基板
Zynq基板+カメラインターフェース
といった使い方です。
すべてを一枚の大型基板に入れるのではなく、処理の中心になる部分を小さな共通基板として持つという考え方です。
今回はDDR3も載せる
Zynqを本格的に使う場合、DDRメモリが必要になります。
今回の基板ではDDR3Lを搭載し、32bit幅でZynqのPS側に接続する設計にしています。
ここが現在、一番時間を使っているところでもあります。
DDRでは単純につながっていればよいわけではなく、DQS、DQ、アドレス、コマンドなどの配線長や配線方法を考える必要があります。
特にZynqの場合、DDR用のピン位置は固定されています。
FPGAの通常I/Oのように自由にピンを入れ替えられないため、実際に配線してみるとかなりパズル的です。
今回の設計では6層基板で、DDRのデータ信号はできるだけ中間ビアを使わずに配線しています。
DQSとDQの配線長も揃えながら進めています。
こうした部分は、完成後の製品紹介だけではなかなか見えないところなので、設計途中の内容もブログで紹介していこうと思っています。
基板を作ること自体が目的ではない
今回の5cm Zynq基板で試したいのは、単に小さなZynqボードを作ることではありません。
目標は、
電子回路をもっと速く作れる仕組みを作ること
です。
FPGAの柔軟性、小型基板、短納期の基板製造、そして生成AIによるソフトウェアやHDL開発。
これらを組み合わせると、これまで数か月かかっていた試作開発を、もっと短くできる可能性があります。
今回のZynq 5cm基板は、そのための一つの実験でもあります。
まだDDR配線をしている段階なので、ちゃんと動くかどうかはこれからです。
うまくいったところだけでなく、設計で悩んだところや失敗したところも含めて、これから少しずつ書いていこうと思います。
只今、開発中の基板です。
FPGAインフォメーションのページはこちらからどうぞ
お問い合わせは、こちらからです。
