Ripple Clock : Quartus 4.1

P

Patrick

Hi everybody,

I have a little problem with the synthesis of this process under Quartus...
Quartus say that this clock (clk_baud) may have ripple...
Perhaps it's due to the Not function ?

It's just a divide per 2 from the "clk_gene" clock

GEN_CLOCK_BAUD : process (clk_gene,init)
begin
if init = '1' then
ck_baud <= '0';
elsif (clk_gene'event and clk_gene='1') then
ck_baud <= not ck_baud;
end if;
end process GEN_CLOCK_BAUD;
clk_baud <= ck_baud;
 
M

MikeTreseler

Quartus say that this clock (clk_baud) may have ripple...

Looks OK to me if
clk_baud is an entity out port,
clk_gene is your system clock, and
ck_baud is an architecture signal.

But consider the version proposed below.

_______________
architecture proposed of divby2 is
begin
GEN_CLOCK_BAUD : process (clk_gene, init) is
variable clk_baud_v : std_ulogic;
begin
if init = '1' then
clk_baud_v := '0';
elsif rising_edge(clk_gene) then
clk_baud_v := not clk_baud_v;
end if;
clk_baud <= clk_baud_v;
end process GEN_CLOCK_BAUD;
end architecture proposed;
-- Mike Treseler
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top