Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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

description

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. - PowerPoint PPT Presentation

Transcript of Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

Page 1: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

L’HARDWARE DEL MICROCONTROLLORE: VISIONE STORICA

E REALIZZAZIONE TRAMITE SSI DI UN MICROCONTROLLORE A 8 BIT

Page 3: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

ARCHITETTURA

Page 6: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

PROGRAM COUNTER

Page 9: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

MAR E MULTIPLEXER

Page 10: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

RAM

Page 11: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

INSTRUCTION REGISTER

Page 12: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

ACCUMULATORE

Page 13: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

ADDER/SUBTRACTER

Page 14: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

ADDER/SUBTRACTER

Page 15: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

REGISTRO B

Page 16: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

OUTPUT REGISTER

Page 17: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

INSTRUCTION DECODER

Page 18: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

RING COUNTER

Page 19: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

CONTROL MATRIX

Page 21: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

CLOCK E RESET

Page 22: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi
Page 23: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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: Relatore : Professore Boscolo Antonio Laureanda: Giovanna Bernardi

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.