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