AR# 53505

Vivado 2012.x - Vivado 合成 - 非同期リセット出力レジスタに対してブロック RAM が推論されるか

説明

Vivado 合成で、非同期リセット出力レジスタに対してブロック RAM は推論されますか。

ソリューション


非同期リセットが出力レジスタに使用されている場合、Vivado 合成ではブロック RAM は推論されません。次に例を示します。

module test # (
parameter data_w = 32,
addr_w = 9
)
(
input rst_n,
input wrclk,
input rdclk,
input [addr_w-1:0] wraddr,
input [addr_w-1:0] rdaddr,
input [data_w-1:0] data,
input wren,
output reg [data_w-1:0] dout
);
reg [data_w-1:0] mem [(1<<addr_w)-1:0];
reg [data_w-1:0] wrdata_r;
reg [addr_w-1:0] wraddr_r,rdaddr_r;
reg wren_r;


always @ (posedge wrclk)
begin
if(wren)
mem[wraddr] <= data;
end
always @ (posedge rdclk or negedge rst_n)
begin
if(~rst_n)
begin
begin
rdaddr_r <= 0;
dout <= 0;
end
end
else
begin
rdaddr_r <= rdaddr;
dout <= mem[rdaddr_r];
end
end

endmodule

出力レジスタに非同期リセットがある場合、Vivado 合成では現在のところ LUTRAM が推論され、ブロック RAM は推論されません。
AR# 53505
日付 12/14/2012
ステータス アクティブ
種類 既知の問題
ツール