FC2カウンター FPGAの部屋 Virtex5, Virtex4, Spartan3Eのインプリメント結果2(分散RAM)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Virtex5, Virtex4, Spartan3Eのインプリメント結果2(分散RAM)

Virtex5, Virtex4, Spartan3Eのインプリメント結果でMAPログの比較を行った。今度はFPGA Editorで見た分散RAM(LUTを使った小規模のRAM)とロジックとして使用したLUT(LookUp Table)、それにIOBを比べてみようと思う。
まずは分散RAMから見ていこう。これはDDR SDRAMコントローラのaddr_fifo.vのFIFOに使用している分散RAMを見ていこう。
まずはSpartan3Eの分散RAMを下に示す。
Spa3E_FPGA_Editor_out_sig0_070318.png

これは、このISEのVerilogファイルプロジェクトにあるaddr_fifo.vの中の分散RAMだ。RAM16X1DがDual Portの分散RAMである。それをwrite pointer, read pointerをつけて、16深度のFIFOとして使用している。16深度なので4本の読み出しアドレスと4本の書き込みアドレスを持っている。下にVerilogファイルでの分散RAMのインスタンシエーションコードを示す。

    generate
    genvar i;
        for (i=USER_INPUT_ADDRESS_WIDTH-1; i>=0; i=i-1) begin: ADDR_RAM
            RAM16X1D #(
                .INIT(16'h0000) // Initial contents of RAM
            ) RAM16_INST (
                .DPO(out_sig[i]),
                .SPO(),
                .A0(wp[0]),
                .A1(wp[1]),
                .A2(wp[2]),
                .A3(wp[3]),
                .D(din[i]),
                .DPRA0(rp[0]),
                .DPRA1(rp[1]),
                .DPRA2(rp[2]),
                .DPRA3(rp[3]),
                .WCLK(clk),
                .WE(we)
            );
        end
    endgenerate


上図のスライス内部構造を見ると上の4本が書き込みアドレス(wp)で、下のまとまっている4本が読み出しアドレス(rp)だ。真ん中のGLOBAL_LOGIC0は入力データだ。アドレスは0固定のため、いつも0が入っている。下から2番目がCLK、一番下がWrite Enableである。右側に出ているのは出力だ。分散RAMを実装できるのはSLICEMのようだ。スライスにはSLICEMとロジックとROMにしか使用できないSLICELがあるようだ。
スライスには2つの分散RAMエレメントがあるが、アドレスが使用されているので2つとも使用してしまうようだ。

次はVirtex4の分散RAMを見てみよう。
V4_FPGA_Editor_out_sig0_070318.png

使用していないD-FFの前のマルチプレクサが違っているみたいだが、分散RAM部分は同じようだ。1SLICE=2LUTsも変化がない。

次にVirtex5だ。
V5_FPGA_Editor_out_sig0_070318.png

かなりSLICEの中の論理が増えているようだ。1SLICEの中にLUTとFFのペアが4組ある。上の図は分散RAMを実装しているのでSLICEMだ。LUTにアドレスが6本あるので、4本使用していて、2本はGNDに接続されている。Virtex5で分散RAMを実装する際には64深度にしたほうが使い切れて良いだろう。
  1. 2007年03月20日 20:21 |
  2. Virtex5のお勉強
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/443-f0380dbb
この記事にトラックバックする(FC2ブログユーザー)