Q, BRAM initializing using INIT_0X

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi

I have consulted the following link to initialize BRAM.
http://www.fpga-faq.org/FAQ_PaAD%ges/0031_How_to_initialize_BloAD%ck_RAM.htm

and it works fine for one BRAM module.

Problem is when I use 2 RAMB4_S4 components (each address 9 to 0, data
3 to 0), thus totally 1024 addresses and 8 bit data width.

Goal to initialize as follows

address 0 : X"08"  -- opcode
address 1 : X"71"
address 2 : X"34"
address 3 : X"95"

I am trying but MODELSIM simulation is showing unsatisfactory result so
far .....
Could experienced one give comment for this?


--------------------------------------------------------------------
.2E%..
-- RAMB4_S4 declared ONCE as below
component RAMB4_S4
generic (
  INIT_00 : BIT_VECTOR :3D%
X"0000000000000000000000000000000000000000000000000000000000000000";
   INIT_01 : BIT_VECTOR :3D%
X"0000000000000000000000000000000000000000000000000000000000000000";
   INIT_02 : BIT_VECTOR :3D%
X"0000000000000000000000000000000000000000000000000000000000000000";
   INIT_03 : BIT_VECTOR :3D%
X"0000000000000000000000000000000000000000000000000000000000000000"
        )

.2E%..
-- 2 components of RAMB4_S4 are instantiated TWICE as below
RAM0: RAMB4_S4
generic map(
    INIT_00 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000",
    INIT_01 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000",
    INIT_02 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000",
 INIT_03 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000"
        )
port map(WE3D%>we, EN3D%>en, RST3D%>rst, CLK3D%>clk, ADDR3D%>addr, DI3D%>di=
(3
downto 0), DO3D%>do(3 downto 0));

RAM1: RAMB4_S4
generic map(
   INIT_00 3D%>
X"0100000000000000000000000000000000000000000000000000000000000000",
INIT_01 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000",
   INIT_02 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000",
INIT_03 3D%>
X"0000000000000000000000000000000000000000000000000000000000000000"
        )
port map(WE3D%>we, EN3D%>en, RST3D%>rst, CLK3D%>clk, ADDR3D%>addr, DI3D%>di=
(7
downto 4), DO3D%>do(7 downto 4));


Re: Q, BRAM initializing using INIT_0X
hi

it is working when the setting is the following.....:)



------------------------------AD%------------------------------AD%--------

.2E%..
-- RAMB4_S4 declared ONCE as below
component RAMB4_S4
generic (
  INIT_00 : BIT_VECTOR :3D%
X"0000000000000000000000000000AD%000000000000000000000000000000AD%000000";

.
.
.
.
-- 2 components of RAMB4_S4 are instantiated TWICE as below
RAM0: RAMB4_S4
generic map(
    INIT_00 3D%>
X"0000000000000000000000000000AD%000000000000000000000000000000AD%003048",

.
.
.
RAM1: RAMB4_S4
generic map(
   INIT_00 3D%>
X"0100000000000000000000000000AD%000000000000000000000000000000AD%009751",


Site Timeline