beginner_EDA
Full Member level 4
Hi,
I have a video stream:
SAV :- Start of Active video
EAV :- End of Active video
Valid :- Valid video stream indicator
din(7 downto 0) :- Video Stream
Stream_Ready :- From component where stream is going.
I put a block RAM IP (xilinx) as buffer in between as follows:
and observe douta but nothing is coming out. Although all input I observe is correct.
How to read from RAM? Am i doing some mistakes here?
I have a video stream:
SAV :- Start of Active video
EAV :- End of Active video
Valid :- Valid video stream indicator
din(7 downto 0) :- Video Stream
Stream_Ready :- From component where stream is going.
I put a block RAM IP (xilinx) as buffer in between as follows:
Code VHDL - [expand] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 process (inter_clk,sys_rst) begin if sys_rst = '1' then dina <= (others=>'0'); elsif rising_edge(inter_clk) then if Stream_Ready= '1' and Valid = '1' then Valid1 <= Valid; SAV1 <= SAV; EAV1 <= EAV; dina <= din(7 downto 0); addra <= addra + 1; else Valid1 <= '0'; SAV <= '0'; EAV <= '0'; dina <= (others=>'0'); addra <= (others=>'0'); end if; end if; end process; stream_ram_inst : stream_ram PORT MAP ( clka => inter_clk, ena => '1', wea => Valid1, addra => addra, dina => dina, douta => douta );
and observe douta but nothing is coming out. Although all input I observe is correct.
How to read from RAM? Am i doing some mistakes here?