Misure e Sistemi Microelettronici (MSM) Sistemi Prof. Stefano Bertazzoni I semestre II emisemestre dal 24-11-08 al 29-01-09 Lunedì ore 13.30 15.45 Giovedì ore 14.00 16.15 Aula 4 NE Aula 2 NE Ricevimento studenti: lunedì ore 16.30-18.00 Contatto: bertazzoni@ing.uniroma2.it Informazioni e documentazione: http://www.uniroma2.it/didatticaweb
Richiami di elettronica digitale Circuiti programmabili PLA PL FPGA Organizzazione Verifica intermedia Lunedì 22-12-2008 Sistemi a microprocessore Architetture Set di istruzioni ST7 Verifiche finali Scritto Orale 1-2
Funzioni Logiche Elementari NOT AN OR XOR 1-3
Tabelle di Look-up (LUT) In alternativa, la generica funzione logica può essere realizzata utilizzando memorie elettroniche (RAM, ROM, EEPROM, FLASH ) parto direttamente dalla tabella della verità. Una funzione logica ad n variabili fa corrispondere ad ognuna delle 2 n combinazioni degli ingressi un valore per l uscita: può essere implementata con una memoria 2 n x1, con gli indirizzi corrispondenti alle combinazioni degli ingressi. uesta soluzione è utilizzata per esempio nelle FPGA 1-4
Componenti Usati nei Circuiti Logici I circuiti logici che considereremo nel corso sono realizzati con transistori MOS che possono essere schematizzati come interruttori aperti o chiusi, con resistenze, effettive o equivalenti, e capacità. I simboli relativi sono i seguenti: MOSFET G S G S G G S S R C P N 1-5
Circuiti Logici Elementari I circuiti logici si basano sulla realizzazione di inverter, o, meglio, di blocchi circuitali che, in funzione degli ingressi, colleghino l uscita all alimentazione (pull-up, o PUN, Pull Up Network) o a terra (pulldown, o PN, Pull own Network). Possono essere usate diverse tecnologie: la più usata attualmente è la CMOS. L inverter di base esegue la funzione negazione, cioè OUT = IN PULL UP IN OUT IN OUT IN OUT IN OUT PULL OWN 1-6
Altri Circuiti Logici Elementari always @ (A or B) if(a==1 && B==1) OUT = 0; else OUT = 1; always @ (A or B) if(a==1 B==1) OUT = 0; else OUT = 1; OUT A OUT A B B NAN NOR 1-7
Transmission Gate A B EN EN A B
Buffer Tristate OE always @ (OUT or OE or INOUT) IN = INOUT; if(oe==1) INOUT = ~OUT; else INOUT = Z; OUT INOUT IN
Buffer Tristate OE OUT INOUT always @ (OUT or OE or INOUT) IN = INOUT; if(oe==1) INOUT = ~OUT; else INOUT = Z; IN
Sistemi Sequenziali CLK Tsetup always @ (posedge CLK or CLR or SET) if(set==1) <= 1; if(clr==1) <= 0; else <= ; SET CLR 1-11
Flip Flop CLK Master Slave 1-12
Macchina a Stati IN Logic Logic OUT CLK 1-13
IN SET Shift Register NA A-NB B-NC C-N SET SET SET OUT CLR CLR CLR CLR CLK always @ (posedge CLK or CLR or SET) if(set==1) <= 1; if(clr==1) <= 0; else A <= IN; B <= A; C <= B; OUT <= C; 1-14
Contatore always @ (posedge CLK or CLR or SET) if(set==1) <= 1; if(clr==1) <= 0; else Counter <= Counter +1; + 1 Counter CLK 1-15
Contatore con Enable always @ (posedge CLK or CLR or SET) if(set==1) <= 1; if(clr==1) <= 0; else if(en==1) Counter <= Counter +1; else Counter <= Counter; + 1 Counter EN CLK 1-16