Qui sono riportati diversi metodi di generazione del clock, e questo é fondamentale soprattutto per la simulazione di circuiti sequenziale il cosiddetto Testbench.
In moltissimi circuiti, il clock solitamente e' a frequenza fissa, pero potrebbe anche capitare un clock a frequenza variabile per un motivo o per un altro. La generazione del clock passa generalmente attraverso un process senza Sensitivity List cosicché non essendoci segnali che lo riattiva, si esegue in forma di un loop infinito.
1. Uso del process con la "wait for".
process_clk1: process
In moltissimi circuiti, il clock solitamente e' a frequenza fissa, pero potrebbe anche capitare un clock a frequenza variabile per un motivo o per un altro. La generazione del clock passa generalmente attraverso un process senza Sensitivity List cosicché non essendoci segnali che lo riattiva, si esegue in forma di un loop infinito.
A/ Frequenza fissa
1. Uso del process con la "wait for".
process_clk1: process
begin
clk<=0;
wait for periodo/2;
clk<=1;
wait for periodo/2;
end process process_clk1;
2. Process con la "after"
process_clk2: process
begin
clk<=0 after periodo/2
clk<=1 after periodo/2;
end process process_clk2;
3. Assegnazione concorrente
clk<=not clk after periodo/2;
3 uso del loop infinito.
generic (N: integer :=range);
for i in 0 to N loop
clk<='0', '1' after periodo/2;
end loop
B/ Frequenza variabile
Nessun commento:
Posta un commento