Progetto Rete Sincrona Circuito avente quattro segnali di ingresso (X3, X2, X1, X0) e un segnale di uscita (Z), tutti sincroni. In ogni intervallo di clock la rete riceve in ingresso una cifra decimale codificata in BCD (X3 rappresenta il bit più significativo, X0 il bit meno significativo). L’uscita della rete nel generico n-esimo intervallo di clock (Zn) dipende dalle ultime tre cifre applicate in ingresso (Nn, Nn-1, Nn-2). In particolare Zn=1 se una soltanto o tutte e tre le cifre sono prime. In caso contrario Zn=0. I segnali entrano all’interno di una rete combinatoria, essa ha il compito di restituire in output un segnale P che vale 1 se la cifra appena ricevuta è prima. Al Clock successivo P verrà salvato all’interno di uno shift register. P1 e P2 sono quindi i due segnali che indicano se le due cifre precedenti erano prime. Se quindi soltanto una o tutte e tre le cifre sono prime il circuito restituisce 1. XO X1 X2 RC P SHIFT REGISTER X2 X3 P1 Rete che controlla che tra le ultime 3 cifre BCD ricevute soltanto una o tutte sono prime. P2 Z RC - Sintesi segnale P Tra le cifre possibili in ingresso abbiamo che 2(0010 ), 3(0011),5(0101),7(0111) sono prime. In quel caso l’uscita di RC sarà 1. X3X2 X1X0 00 01 11 10 00 0 0 - 0 01 0 1 - 0 11 1 1 - - 10 1 0 - - P = !X2X1 + X2X0 Il registro è stato aggiunto in quanto altrimenti il segnale P0 sarebbe arrivato troppo velocemente allo shift registrer causando dei problemi. Schematico Rete combinatoria per la sintesi del segnale P (Restituisce 1 se la cifra BCD in ingresso era prima ) . Rete che controlla che tra le ultime 3 cifre BCD ricevute solo 1 o tutte sono prime. VHDL – Test Bench Reset per portare la rete ad uno stato iniziale asincrono. Simulazione Behavioral Il segnale Z diventa 1 in quanto tra le ultime 3 cifre soltanto 1 è prima (2) Il segnale Z è 0 in quanto tra le precedenti tre cifre o nessuna o due sono prime. Il segnale Z diventa 1 in quanto le precedenti 3 cifre erano prime ( 5,7,5) Simulazione Post-Route Possiamo notare che il comportamento della rete rimane invariato. Il ritardo del segnale Z è dovuto al ritardo dei componenti della rete.