[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