[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