UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria...

27
UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dell’Informazione Curriculum Elettronica Relatore: Professore Boscolo Antonio Laureanda: Giovanna Bernardi

Transcript of UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria...

Page 1: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

UNIVERSITÀ DEGLI STUDI DI TRIESTEFacoltà di Ingegneria

 Corso di Laurea Triennale in Ingegneria dell’Informazione

Curriculum Elettronica

Relatore:Professore Boscolo Antonio

 Laureanda:

Giovanna Bernardi  

Page 2: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

L’HARDWARE DEL MICROCONTROLLORE: VISIONE STORICA

E REALIZZAZIONE TRAMITE SSI DI UN MICROCONTROLLORE A 8 BIT

Page 3: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

INTRODUZIONE E MOTIVAZIONI

Al giorno d’oggi i microcontrollori sono onnipresenti.

È un dispositivo elettronico facile da utilizzare: è sufficiente la conoscenza di un opportuno linguaggio di programmazione di alto livello e della relazione che intercorre tra l’ingresso e l’uscita del sistema.

Tuttavia il microcontrollore esiste: ha un’architettura, qualcuno prima di noi ha lavorato e studiato molto per la sua realizzazione e tutt’ora i microcontrollori vengono prodotti e le loro caratteristiche vengono continuamente ottimizzate.

Page 4: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

Ho ritenuto quindi opportuno comprendere:

• le motivazioni che hanno portato alla loro nascita• la loro evoluzione nel tempo• la loro architettura

Obiettivo: realizzare un semplice microcontrollore a 8 bits per acquisire le conoscenze necessarie alla futura realizzazione di un sistema più complesso.

Modello di riferimento: il SAP (Simple-As-Possible), microcontrollore a 8 bits con architettura Von Neumann realizzato il logica TTL grazie ai componenti della famiglia 74XX.

Implementazione: in mancanza dei componenti SSI fisici, ho utilizzato la tecnologia FPGA.

Page 5: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

ARCHITETTURA

Page 6: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

Il microcontrollore è caratterizzato dal seguente set di istruzioni:

• LDA (0000): è l’operazione “load the accumulator”.

• ADD (0001): è l’operazione di somma.

• SUB (0010): è l’operazione di sottrazione.

• OUT (0011): è l’istruzione che ordina di trasferire il contenuto dell’accumulatore all’output register per poter visualizzare poi il risultato sul display di led.

• HLT (0100): è l’operazione di “halt” che ordina al microcomputer di terminare qualsiasi elaborazione sui dati.

Page 7: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

FETCH E EXECUTION CYCLEUn componente fondamentale dell’unità di controllo è il ring counter il quale produce un output T=T 6 T 5 T 4 T 3 T 2 T 1.

Page 8: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

PROGRAM COUNTER

Page 9: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

MAR E MULTIPLEXER

Page 10: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

RAM

Page 11: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

INSTRUCTION REGISTER

Page 12: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

ACCUMULATORE

Page 13: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

ADDER/SUBTRACTER

Page 14: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

ADDER/SUBTRACTER

Page 15: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

REGISTRO B

Page 16: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

OUTPUT REGISTER

Page 17: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

INSTRUCTION DECODER

Page 18: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

RING COUNTER

Page 19: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

CONTROL MATRIX

I segnali LDA, ADD, SUB e OUT prodotti dall’instruction decoder, guidano la matrice di controllo insieme ai segnali generati dal ring counter.

MACRO STATE CON ATTIVI

T1 5E3H Ep, Lm_negato

T2 BE3H CP

T3 263H Ce_negato, Li_negato

LDA T4 1A3H Lm_negato, Ei_negato

T5 2C3H Ce_negato, La

T6 3E3H None

ADD T4 1A3H Lm_negato, Ei_negato

T5 2E1H Ce_negato, Lb_negato

T6 3C7H La_negato, Eu

SUB T4 1A3H Lm_negato, Ei_negato

T5 2E1H Ce_negato, Lb_negato

T6 3CFH La_negato, Eu, Su

OUT T4 3F2H Ea, Lo_negato

T5 3E3H None

T6 3E3H None

Page 20: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

CONTROL MATRIX

Page 21: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

CLOCK E RESET

Page 22: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.
Page 23: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

IL PROGRAMMA

È fondamentale memorizzare il programma prima dei dati all’interno della memoria.Programma: 95+2-1+2

INDIRIZZO CONTENUTO

OH LDA 6H

1H ADD 7H

2H SUB 8H

3H ADD 9H

4H OUT

5H HLT

6H 5FH

7H 2H

8H 1H

9H 2H

Page 24: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

COMPILAZIONE

ERRORE: il bus W non può portare più di 8 bit nello stesso momento.

MODIFICA 1: poiché sia il program counter che l’instruction register devono inviare bits al MAR, ho sfruttato un multiplexer che selezioni il registro opportuno ed il invii il contenuto corretto al MAR. Il multiplexer seleziona il registro corretto tramite il bit di selezione posto pari a Ep.

Page 25: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

MODIFICA 2: l’accumulatore riceve le parole inviate dall’adder/subtracter e dalla RAM, pertanto ho utilizzato un ulteriore multiplexer che selezioni opportunamente la RAM o l’adder/subtracter in base alle necessità grazie al bit di controllo Ce.

MODIFICA 3: ho creato infine un bus indipendente per la connessione tra accumulatore e registro di output.

Page 26: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

CONCLUSIONI

• Progettazione attraverso schematici (*.bdf) non consente di effettuare simulazioni RTL ( Register Tranfer Level), l'unica simulazione permessa è la Gate Level Simulation, la simulazione post-sintesi, che però è dipendente dal dispositivo impiegato.

• L’attività di system validation ha permesso di verificare che i singoli componenti sintetizzati all’interno dell’FPGA rispondono adeguatamente agli input, tuttavia il sistema nel suo complesso richiede ancora un’operazione di debuging.

• Il fatto che il sistema nel complesso risponde in modo anomalo potrebbe esser dovuto al fatto che i componenti sintetizzati all'interno dell'FPGA presentano dei tempi di setup e hold differenti da quelli associati agli IC reali.

Page 27: UNIVERSITÀ DEGLI STUDI DI TRIESTE Facoltà di Ingegneria Corso di Laurea Triennale in Ingegneria dellInformazione Curriculum Elettronica Relatore: Professore.

CONCLUSIONI

• Queste leggere differenze nei tempi potrebbero creare problemi di sincronizzazione e metter in discussione la corretta attività del microcontrollore.

• L’attività di debuging pertanto consiste nel risolvere problematiche legate alla tecnologia FPGA, per me nuova, e non all’hardware del microcontrollore. La risoluzione di queste quindi si discosta dal mio intento di realizzare il sistema fisicamente, appena sarà possibile reperire tutti i componenti SSI necessari.