25/03/16

Generare un clock a frequenza fissa o variabile in VHDL

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.

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