VHDL, fine processi
Salve, sto facendo un progettino con l'ausilio di VHDL.
In particolare nel testbench necessito di generare un clock,l'ho faccio così:
Il problema è che non mi termina mai .
Dunque quando vado a generare il file da controllare con GTKwave mediante:
Il terminale non smette mai di lavorare,sono costretto a bloccare tutto con
ctrl+c.
Una volta terminato se lo apro con gtkwave il file è integro, però
tutto ciò mi pare poco elegante.
Credo che il problema sia proprio del processo che genera il clock,infatti
non terminando mai, il compilatore non termina mai!
Uso: GHDL,e GTKwave sotto linux.
Come risolvereste il problema?
Magari con un while?
EDIT:
ho tappezzato così, modificando il processo:
e alla fine delle operazioni di test ho inserito:
Resto comunque in ascolto per soluzioni migliori..
e buone feste
Grazie ciao
In particolare nel testbench necessito di generare un clock,l'ho faccio così:
- Codice: Seleziona tutto
clock_gen : process is
begin
clocks <= '0' ;
wait for 15 ns;
clocks <= '1';
wait for 15 ns;
end process clock_gen;
Il problema è che non mi termina mai .
Dunque quando vado a generare il file da controllare con GTKwave mediante:
- Codice: Seleziona tutto
ghdl -r riconoscitore_tb --vcd=prova.vcd
Il terminale non smette mai di lavorare,sono costretto a bloccare tutto con
ctrl+c.
Una volta terminato se lo apro con gtkwave il file è integro, però
tutto ciò mi pare poco elegante.
Credo che il problema sia proprio del processo che genera il clock,infatti
non terminando mai, il compilatore non termina mai!
Uso: GHDL,e GTKwave sotto linux.
Come risolvereste il problema?
Magari con un while?
EDIT:
ho tappezzato così, modificando il processo:
- Codice: Seleziona tutto
clock_gen : process is
begin
WHILE end_sim = '0' LOOP
clocks <= '0' ;
wait for 15 ns;
clocks <= '1';
wait for 15 ns;
END LOOP;
wait;
end process clock_gen;
e alla fine delle operazioni di test ho inserito:
- Codice: Seleziona tutto
end_sim <='1';
wait;
Resto comunque in ascolto per soluzioni migliori..
e buone feste Grazie ciao