UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 10073

3.4 FPGA Express - RAM または ROM を HDL でインスタンシエーションおよび初期化する方法

説明

キーワード : Synopsys, FPGA Express, instanitate, RAM, ROM, initialize, VHDL, Verilog, インスタンシエート, 初期化

重要度 : 標準

概要 :
Synopsys の FPGA Express を使用して RAM または ROM をインスタンシエーションおよび初期化する方法。

RAM および ROM プリミティブのスペックについては、次のサイトを参照してください。

http://toolbox.xilinx.com/docsan/3_1ij/

注 : FPGA Express 3.4 でテストした結果です。

ソリューション

1

Verilog の例 (RAM) :

module RAM_EXAMPLE (O, A0, A1, A2, A3, D, WE);
output O;
input A0, A1, A2, A3, D, WE;

RAM16X1 U1 (.O(O), .A0(A0), .A1(A1), .A2(A2), .A3(A3), .D(D), .WE(WE));
//synopsys attribute INIT "ABAC"

endmodule

//Verlog Example of ROM

module ROM_EXAMPLE (O, A0, A1, A2, A3);
output O;
input A0, A1, A2, A3;

ROM16X1 U1 (.O(O), .A0(A0), .A1(A1), .A2(A2), .A3(A3));
//synopsys attribute INIT "10A7"

endmodule

2

VHDL の例 (RAM) :

library IEEE;
use IEEE.std_logic_1164.all;

entity DRAM is
port ( RAM_DATA, WRITE_EN, RAM0_IN, RAM1_IN, RAM2_IN, RAM3_IN: in STD_LOGIC;
RAM_OUT: out STD_LOGIC
);
end DRAM;

architecture XILINX of DRAM is

-- Distributed RAM
component RAM16X1
port ( D : in std_ulogic;
WE : in std_ulogic;
A0 : in std_ulogic;
A1 : in std_ulogic;
A2 : in std_ulogic;
A3 : in std_ulogic;
O : out std_ulogic);
end component;

attribute INIT: string;
attribute INIT of RAM_EXAMPLE: label is "ABAC";

begin
RAM_EXAMPLE : RAM16X1 port map (
O => RAM_OUT,
WE => WRITE_EN,
D => RAM_DATA,
A0 => RAM0_IN,
A1 => RAM1_IN,
A2 => RAM2_IN,
A3 => RAM3_IN
);

end XILINX;

-- VHDL Example for ROM
library IEEE;
use IEEE.std_logic_1164.all;

entity DROM is
port ( ROM0_IN, ROM1_IN, ROM2_IN, ROM3_IN: in STD_LOGIC;
ROM_OUT: out STD_LOGIC
);
end DROM;

architecture XILINX of DROM is

-- Distributed ROM
component ROM16X1
port (A0 : in std_ulogic;
A1 : in std_ulogic;
A2 : in std_ulogic;
A3 : in std_ulogic;
O : out std_ulogic
);
end component;

attribute INIT: string;
attribute INIT of ROM_EXAMPLE: label is "10A7";

begin
ROM_EXAMPLE : ROM16X1 port map(
O => ROM_OUT,
A0 => ROM0_IN,
A1 => ROM1_IN,
A2 => ROM2_IN,
A3 => ROM3_IN
);


end XILINX;
AR# 10073
日付 08/11/2003
ステータス アーカイブ
種類 一般
このページをブックマークに追加