AR# 39549

MIG Virtex-6 DDR2/DDR3 - 読み出しおよび書き込み FIFO の深さ

説明

このコアの読み出しおよび書き込み FIFO の深さはいくつですか。ストリーミング デザインを作成していて、深さがどれぐらいなのかを確認する必要があります。

ソリューション

データの格納には、FIFO ではなく RAM32M が RTL によりインスタンシエートされます。RTL を確認すると、この RAM の深さは 32 ビットですが、アドレス指定には 5 ビットのうち 4 ビットしか使用されていません。RAM がインスタンシエートされている部分を見ると、RAM (ADDRB など) へのアドレス ラインが 4 ビット長であることが確認できるので、深さは 16 ビットです。

Example_design\rtl\ui\ui_wr_data.v

行 397-435

// Instantiate pointer RAM. Made up of RAM32M in single write, two read // port mode, 2 bit wide mode.
input [3:0] ram_init_addr;
output wire [3:0] wr_data_buf_addr;
localparam PNTR_RAM_CNT = 2;
generate begin : pointer_ram
wire pointer_we = new_rd_data || ~ram_init_done_r;
wire [3:0] pointer_wr_data = ram_init_done_r
? wr_data_addr_r
: ram_init_addr;
wire [3:0] pointer_wr_addr = ram_init_done_r
? rd_data_indx_r
: ram_init_addr;
genvar i;
for (i=0; i<PNTR_RAM_CNT; i=i+1) begin : rams
RAM32M
#(.INIT_A(64'h0000000000000000),
.INIT_B(64'h0000000000000000),
.INIT_C(64'h0000000000000000),
.INIT_D(64'h0000000000000000)
) RAM32M0 (
.DOA(),
.DOB(wr_data_buf_addr[i*2+:2]),
.DOC(wr_data_pntr[i*2+:2]),
.DOD(),
.DIA(2'b0),
.DIB(pointer_wr_data[i*2+:2]),
.DIC(pointer_wr_data[i*2+:2]),
.DID(2'b0),
.ADDRA(5'b0),
.ADDRB({1'b0, data_buf_addr_cnt_r}),
.ADDRC({1'b0, wr_data_indx_r}),
.ADDRD({1'b0, pointer_wr_addr}),
.WE(pointer_we),
.WCLK(clk)
);
end // block : rams
end // block: pointer_ram
endgenerate

改訂履歴
12/24/2010 - 初期リリース

アンサー レコード リファレンス

関連アンサー レコード

AR# 39549
日付 03/05/2013
ステータス アクティブ
種類 一般
デバイス 詳細 概略
IP