電源の供給方法
TE0808は単一電源で動作する
本来、ZYNQ UltraScale+は非常に多くの種類の電源が必要なのですが、TE0808では外部から最低1種類の3.3V電源を与えるだけで、内部でいろいろな電源を作り出すようにできています。
TE0808の電源ツリーは下の図のようになっています。
電源入力の種類
TE0808の電源入力には、DCDCIN、PL_DCIN、LP_DCDC、GT_DCDCの4つの大きな電源と、PS_BATTとPLL_3V3のオプション的な電源があります。
電源投入の順序
本来、ZYNQ UltraScale+の電源供給は全部同時ではなく、順番に立ち上げていかなければなりませんが、TE0808ではこれらのレギュレータのPG(Power Good)とEN(Enable)信号を巧みに使って、それぞれのレギュレータが順番に電源ONするようになっています。
そのためユーザが電源レールの立ち上がり順序を気にする必要はありません。
電源の種類
DCDCINはフルパワードメイン(高速なCPU:APU)に使われ、LP_DCDCはローパワードメイン(リアルタイムプロセッサ:RPU)に、PL_DCINはPL(FPGAのロジック)に、GT_DCDCはMGT(ギガビットトランシーバ)に使われます。
各電源入力の入力可能電圧範囲は
- PL_DCIN・・・2.5~6V (絶対最大定格7V)
- DCDCIN・・・3.1~6V (絶対最大定格7V)
- LP_DCDC・・・2.5~3.6V (絶対最大定格4V)
- GT_DCDC・・・2.5~6V (絶対最大定格7V)
- PS_BATT・・・1.2~1.5V (絶対最大定格2V)
- PLL_3V3・・・3.14~3.47V (絶対最大定格3.8V)
となっています。
バッテリとPLL用電源、LP_DCDCは絶対最大定格が低いので要注意です。
いろいろな電源入力が用意されているのは消費電力を削減したりノイズの影響を分離するためのものですが、特にこだわりがなければ、PS_BATT以外はすべて3.3Vに接続すればOKです。
電源出力端子がある
ZYNQ UltraScale+のI/Oは基本的には1.8Vで動かす前提となっています。一部のI/Oは3.3Vに対応していますが、外部の回路とのインタフェースは1.8Vに合わせたほうが何かと良くなります。
このため、I/O用に1.8Vが必要になってくるのですが、TE0808はボード上で生成されてピンから出力されています。具体的には、PSとPL用の1.8Vがコネクタから出力されていて、PS_1V8とPL_1V8が便利に使えます。
PSとPLで分けている理由は、個別に電源をON/OFFするためだと思われます。すなわち、CPUだけ動かしてFPGAは寝かせているような場合、PLの1.8VはOFFしているので、PSの1.8Vだけが使用できるようになっているという具合です。
PS_1V8は、PSのモード設定用抵抗のプルアップなどに活用できます。PL_1V8はPLのBankのVCCIO用に活用できます。
このほかにDDR用のDDR_1V2や、PLL用のSI_PLL_1V8がありますが、有効的な利用方法はあまり思いつきません。
純正ベースボードTEBT0808の電源供給方法
Trenz社のベースボードTEBT0808の回路図を見てみると、PL_DCIN、LP_DCDC、DCDCIN、GT_DCDCはすべて同一の3.3Vの電源にそのままつながっています。
特にこだわりがなければユーザが作るベースボード上で区別することなくそのままつなげばよいでしょう。
PS_BATTは、1.8Vのラインからダイオード(SDMG0340LC)を通じて供給しています。
ダイオードの順電圧降下を期待しているのだと思いますがZYNQのPS_BATTの消費電流がゼロならば電圧降下しないので、結局のところ1.8Vくらいが加わってしまいますが、絶対最大定格はクリアしているのでよいのでしょう。
PLL_3V3は、3.3Vのラインから1uHのコイルでフィルタして供給しています。
まとめ
以上のことをまとめると、TE080xへの電源供給は下の図のようにすればよいことがわかります。
- TE0808への電源供給は上の図のオレンジで囲んだ部分に3.3Vを供給します。
- VCCOは、ボード上で生成されるPL_1V8を使用して供給します。
- PS_BATTは、PS_1V8をダイオードを通して供給します。
- PLL_3V3は3.3Vラインからコイルを通して供給します。
3.3Vが使用可能なバンクはVCCO47とVCCO48のみですが、Trenz社ベースボードのTEBF0808でもTEBT0808のどちらも1.8Vで使用するようになっていました。