Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

BluespecのAWSteria_Infraを調べる(その5)

はじめに

の続き、

今日は、HW側(Bluespec)の回路の中を調べていきます。

トップテストベンチ

トップテストベンチは、Platform_Sim/HW/Top_HW_Side.bsv です。この中で、ここで、AWSteria_HW をインスタンスしています。

   // The top-level of the AWSteria design
   AWSteria_HW_IFC #(AXI4_Slave_IFC #(16, 64, 512, 0),
             AXI4_Lite_Slave_IFC #(32, 32, 0),
             AXI4_Master_IFC #(16, 64, 512, 0))
   awsteria_hw<- mkAWSteria_HW (clkdiv1.slowClock,
                clkdiv2.slowClock,
                clkdiv3.slowClock,
                clkdiv4.slowClock,
                clkdiv5.slowClock);

AWSteria_HW

AWSteria_HW は、ここにあります。構造は下記のようになっているようです。

// ================================================================
// This package contains a sample AWSteria_Infra app,
// i.e., a mkAWSteria_HW module with AWSteria_HW_IFC interface.

// This specific application contains
// - a 2xN AXI4 fabric, where N = 1,2,3,4 (64b addrs, 512b data):
// - an AXI4-Lite-to-AXI4 adapter

// The schematic is:
//
//   +==AWSteria_HW================================================+
//   |                                           +=AXI4-Fabric=+   |
// AXI4_S----------------------------------------+             +-AXI4_M to DDR A
//   |                                           |             |   |
//   |                                           |             +-AXI4_M to DDR B
//   |                                           |     2xN     |   |
//   |                                           |             +-AXI4_M to DDR C
//   |                                           |             |   |
//   |                                       +-AXI4_S          +-AXI4_M to DDR D
//   |                                       |   +=============+   |
//   |                        +=Adapter=+    |                     |
// AXI4L_S-----------------AXI4L_S    AXI4_M-+                     |
//   |                        +=========+                          |
//   |                                                             |
//   +=============================================================+

上記の図から外部とは、

  • AXI4_S
  • AXI4L_S

の2つのスレーブインターフェースがあります。

下図は、全体の図です。右上のAppのところが上記の回路に相当します。図とちょっと違うのは、DDRへのポートが4ポートになっていることですかね。

HDL Simulationでは、AWSteria_Infraの部分が下記のような構成になっています。

おわりに

AWSteria_Infra の回路部分はSlaveデバイスで、DDR Memoryが4ポート接続されている感じになっています。