Prova A

Esercizio 1 (15 punti). Si supponga di avere a disposizione n registri PIPO a k bit , e di voler costruire una rete di interconnessione che consenta ad ogni registro di trasferire il proprio contenuto su ogni altro registro. Ad ogni passo, può essere selezionato un solo registro sorgente, ma fino ad n registri destinazione.

Disegnare lo schema a blocchi dell’architettura della rete, completa dei segnali di controllo necessari. Si disegni invece lo schema circuitale dettagliato per il caso n=3 e k=2.

 

Esercizio 2 (15 punti). Si progetti un circuito che emette in uscita un "1" quando la sequenza dei bit ricevuti contiene un numero di "1" dispari, ed uno "0" altrimenti. Si segua la metodologia di sintesi di circuiti vista a lezione. Si utilizzino esclusivamente porte di tipo nand per la parte combinatoria, e FF JK per la parte di memoria.

Schemi di soluzione:

Prova A

Il circuito può essere realizzato mediante un multiplexer che seleziona il registro sorgente, ed una n-upla che seleziona i registri destinazione. La figura mostra uno schema a blocchi del caso generale. Occorrono é log2(n)ù bit per il controllo del MPX, mentre sono necessari n bit per specificare e selezionare gli m (0<=m<=n) registri destinazione. Il bit i-esimo "alto" consente all’informazione presente in uscita al MPX di essere memorizzata sul registro Ri, agendo sull’input di scrittura sul registro (ad esempio, Read_i=0 blocca l’input di clock del registro Ri). Se gli n bit sono tutti "0" non avviene alcun trasferimento. Osservate che il MPX è un circuito combinatorio, dunque, i segnali di controllo dovranno mantenere una configurazione corrispondente alla connessione selezionata per il tempo necessario a memorizzare l’informazione sul registro (o i registri) destinazione.

Notate che qui, per semplificare, trascuriamo problemi di fan-out per n "grande", problemi peraltro non discussi nel corso del primo semestre.

Notate anche che, in realtà, sono necessari k multiplexers, controolati dagli stessi segnali di controllo. Il multiplexer i-esimo (i=1..k) avrà come ingresso (i,j) il bit di uscita i-esimo del registro j (j=1,..n).

ERRORE frequente riscontrato nella correzione del compito: molti studenti hanno utilizzato demultiplexers a valle dei multiplexers. Un DMPX convoglia un segnale di ingresso su uno fra n segnali di uscita. In questo caso, si richiedeva viceversa che il contenuto di un registro fosse copiato su m registri, con m compreso fra zero ed n. Dunque, l’uscita del MPX (ovvero, della batteria di k MPX) va riportata in ingresso a tutti i registri. Saranno i valori dei segnali di abilitazione alla lettura in_Ri a determinare quali sono i registri destinazione, in ogni specifica esecuzione dell’operazione.

 

Esercizio 2.

In figura à mostrato l’automa di Moore.

le espressioni booleane per J,K e l’uscita y sono:

Osservate tuttavia che l’automa in figura ha lo stesso comportamento di un FF di tipo toggle. Dunque, basta realizzare il circuito con un JK connesso in modo da simulare un Toggle (J=not(K))