J
Jimmy
Guest
Hi, all,
From the incoming data flow, I will collect a fixed number of data (say 88
samples, each with 8-bit width). I want to use RAM to buffer the incoming
data, and after the RAM is filled up with 88 samples, I will output all
these 88 samples simultaneously to
another buffer to perform further operation. If I don't use RAM, it will be
synthesized as D Flip-flop for the incoming data buffer, which is quite
resource cosuming. So I want to instantiate as or refer to distributed RAM
or Block RAM (using xilinx virtex 2).
But the available RAM seems working this way, one data in and one data out.
port(
RB_CLK8x : in STD_LOGIC;
RB_WREn : in STD_LOGIC;
RB_RDEn : in STD_LOGIC;
RB_WRAddr : in STD_LOGIC_VECTOR(7 downto 0);
RB_RDAddr : in STD_LOGIC_VECTOR(6 downto 0);
RB_DataIn : in STD_LOGIC_VECTOR(7 downto 0);
RB_Dout: out STD_LOGIC_VECTOR(7 downto 0)
);
so how can I input data one by one, and output them in parallel way?
Any comments or suggestion will be heartly appreciated.
regards,
freedragon
From the incoming data flow, I will collect a fixed number of data (say 88
samples, each with 8-bit width). I want to use RAM to buffer the incoming
data, and after the RAM is filled up with 88 samples, I will output all
these 88 samples simultaneously to
another buffer to perform further operation. If I don't use RAM, it will be
synthesized as D Flip-flop for the incoming data buffer, which is quite
resource cosuming. So I want to instantiate as or refer to distributed RAM
or Block RAM (using xilinx virtex 2).
But the available RAM seems working this way, one data in and one data out.
port(
RB_CLK8x : in STD_LOGIC;
RB_WREn : in STD_LOGIC;
RB_RDEn : in STD_LOGIC;
RB_WRAddr : in STD_LOGIC_VECTOR(7 downto 0);
RB_RDAddr : in STD_LOGIC_VECTOR(6 downto 0);
RB_DataIn : in STD_LOGIC_VECTOR(7 downto 0);
RB_Dout: out STD_LOGIC_VECTOR(7 downto 0)
);
so how can I input data one by one, and output them in parallel way?
Any comments or suggestion will be heartly appreciated.
regards,
freedragon