4-01 全体のブロック図

 前章でパイプライン化したVHDLを本章では「ZYBO」というDigilent(ディジレント)社が提供するFPGAボード(写真4-01)に実装します。



  写真4-01 189ドルで買えるSoC FPGAボード、ZYBO



■従来のFPGAを進化させたSoCに実装する

 図4-01にその全体像を示します。ZYBOには「
Zynq」というXilinx(ザイリンクス)社が提供するSoC FPGAデバイス(*1)が搭載されています。

(*1)従来のFPGAに加えてARM Cortex-A9という高速プロセッサを2個内蔵したデバイス。Linuxのような本格的なOSをのせ、マウス、キーボード、ディスプレイを繋いで使用することが多い。


●PS部に高速なARMプロセッサ

 Zynqというデバイスは図4-01(a)のように「
PS(Processor System)部」と「PL(Program Logic)部」に分かれています。
 PS部にはARM Cortex-A9という高速プロセッサが2個あり、それぞれ650MHzで動作するので「
Xillinux(ジーリナックス)」というXillybus(ジリーバス)社の提供するOSをのせ、ユーザーはマウス、キーボード、ディスプレイを繋いでパソコンのように操作します。


●PL部に多数のロジック、乗算器、RAM

 PL部は従来のFPGAと同じように
LUT(Look Up Table、ロジックが一塊になったようなもの)が多数あり、ユーザーはそれらを自由に配線して使用できます。また、DSP(Digital Signal Processor、高速の乗算器などを含む回路)が80個、BRAM(Block RAM)が240kByteあり、それらも自由に使用できます。


  図4-01 全体の構成を示すブロック図

●デバイスドライバはあらかじめ用意してある

 図4-01(b)に示すように、PS部はxillybus_mem_8というXillybus社が提供するデバイスドライバを介してPL部にあるレジスタと通信します。
 PL部にはディープラーニングの回路があり、推論結果をレジスタに出力します。またLED(4個)にも推論結果が出力されます。


● 8枚の画像データをパイプラインで繰り返し処理する

 図4-01(c)はディープラーニング回路のブロック図です。画像データはあらかじめPL部のROM(初期値付きRAM)に8枚ぶん埋め込まれており、その後のブロックで繰り返し推論されます。1層目から3層目まではパイプライン化されており、各層が
並列動作します。


目次へ戻る