Aggiornato il 30/07/2007
Uno
dei giochi più frequenti nell’epoca dei dinosauri dell’elettronica era chiedere
di progettare un divisore non multiplo di due con duty cicle
del 50%. La cosa era ancora umana se se la divisone era
per un fattore pari ma diventava ardua per numeri dispari.
In
questo caso infatti i fronti non erano più congruenti e occorreva commutare sia su uno che
sull’altro dei fronti del clock.
In
genere venivano fuori arrosti incredibili.
Qui
un divisore per cinque a duty 50% da me scritto in Verilog:
è carino ed è un buon esempio per prendere conoscenza di qualche trucchetto di
progettazione firmware.
Non
è ovviamente un esempio di purezza: basti pensare allo stadio finale, pilotato
da uno xor e libero di partire come vuole.
Se
occorre essere sincroni tra il clock e il fronte dell’uscita l’unica è mettere
un reset, più o meno automatico, ma lo vedo superfluo.
E’,
e deve essere, solo un esercizio.
Questo
è il risultato assieme alla net interna trig, scorretta ma funzionale.
Paolo Lavacchini