[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Odp: [oc] vhdl question



Hello

> start <= '1' when read='1' and addr(7 downto 0)="11111111" 
else '0';
> 
> Now what happens here is that read goes high only for one 
clock cycle and hence so does start. How can I make start stay 
high for 2 or more clock cycles and then go low ? 

There are some solves, one of them is:
use FF and OR input and output.

Example:
-----------------------------------------------
start <= '1' when read='1' and addr(7 downto 0)="11111111" 
else '0';

P1: process(CLK)
    begin
       if (CLK'event and CLK = '1') then
           start_1 <= start;
       end if;
    end process;

-- here is 2 clks wide signal:

   start_2 <= start OR start_1;

-------------------------------------------------
If You want wider, use more FFs and OR all outputs and input.

Jerzy Gbur


--
"Everything is simple until it'll be comprehensible" - furia

---------------------------------------------------
Szukasz wyjazdu wakacyjnego? Sprawdź nasze oferty!
Nowy serwis w WP http://oferty.wp.pl/wakacje.html



--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml