Generazione di Impulsi Digitali Antonio Affinito
Dove troviamo i segnali digitali? Alcuni esempi: Centralina Auto Monitor LCD Computer Cellulare etc
Dove troviamo i segnali digitali? Il generico moderno sistema elettronico: Communications Communications Electromagnetics Digital HW Software Analog HW Hydraulics Mechanics Communications
Dove troviamo i segnali digitali? Il moderno sistema elettronico Elaborazione Digitale SENSORE ELABORATORE ATTUATORE AMP ~ A / D ELABORAZIONE DIGITALE D / A ~ AMP
Cos è un segnale digitale? È un segnale che può avere due soli stati possibili, rappresentati da una grandezza elettrica (di solito la tensione), che può assumere due valori differenti corrispondenti ai due stati: stato ALTO (livello logico 1) stato BASSO (livello logico 0)
Livelli logici I livelli logici sono definiti da valori di tensione rappresentativi dei due stati:
Famiglie logiche differenti I livelli di tensione variano a seconda della tecnologia usata: Esempi di livelli (ingresso/uscita) per diverse famiglie logiche
Famiglie logiche differenti Stato attuale del ciclo di vita delle diverse famiglie logiche:
Famiglie logiche differenti Famiglie logiche usate a seconda della scala d integrazione: SSI - Small Scale Integration [< 10 transistor per chip] MSI - Medium Scale Integration [10I100 transistor per chip] Bipolar (TTL) o CMOS LSI - Large Scale of Integration [100I10 000 transistor per chip] VLSI - Very Large Scale Integration [10 000I100 000 transistor per chip] ULSI - Ultra Large Scale Integration [100 000I100 000 000 transistor per chip] CMOS o NMOS
Segnali digitali Tipologie Segnale digitale periodico Segnale di Clock segnale periodico, generalmente un'onda quadra, utilizzato per sincronizzare il funzionamento dei dispositivi elettronici digitali. Può essere generato da vari tipi di circuiti. Es: multivibratore astabile, oscillatore ad anello, oscillatore a quarzo (alta stabilità). Segnale digitale aperiodico Segnale impulsivo
Segnali impulsivi digitali Caratteristiche Impulsi Ideali: Impulsi Reali:
Segnali impulsivi digitali Caratteristiche Larghezza impulso (t W ) [sec] Duty Cycle: DUTY = (t w / T) 100 [%]
Segnali impulsivi digitali Caratteristiche Tempo di Progazione (t P ) di una Porta Logica (es. NOT) t P = (t PHL + t PLH ) / 2 Esempio: tempo di propagazione di un Invertitore CMOS caricato da un altro invertitore t P CG VDD 2K ( VDD VT 2 )
Segnali impulsivi digitali Diagrammi di Timing Esempio di Diagramma di Timing
Segnali impulsivi digitali Diagrammi di Timing I Diagrammi di Timing possono essere acquisiti ed osservati tramite Logic Analyzer
Segnali impulsivi digitali Esempi di applicazione Trasmissione Dati Trasmissione Seriale e Parallela
Segnali impulsivi digitali Esempi di applicazione Trasmissione Seriale Clock sincronizzato con un segnale impulsivo digitale (sequenza di bit)
Segnali impulsivi digitali Esempi di applicazione Modulazioni Segnale Digitale (Modulante) Modulazione d Ampiezza Modulazione di Frequenza Modulazione di Fase
Generazione di segnali impulsivi digitali Circuiti tradizionali Nei circuiti tradizionali si utilizzano: Interruttori / Relè Componenti passivi Transistor / Porte Logiche
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali La durata dell impulso generato (d) è pari al Tempo di Propagazione della porta NOT. Per aumentare la larghezza dell impulso generato, si inseriscono N porte NOT uguali in serie (con N = numero dispari) t W = N t P-NOT
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Esempio di ritardo di propagazione totale di una cascata di invertitori (per semplicità si sono assunti tempi di transizione nulli)
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali A B C D F
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali A S B F A B S S' S' F Come nell esempio precedente, la durata dell impulso generato (F) è pari al Tempo di Propagazione della porta NOT. Per aumentare la larghezza dell impulso generato, si inseriscono N porte NOT uguali in serie (con N = numero dispari) t W = N t P-NOT
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali + open switch A B C D close switch initially undefined open switch Quando lo switch è aperto, si ottiene in uscita un segnale periodico impulsivo con duty cycle pari al 50%. La durata dell impulso è: t W = 2 t P-NOT + t P-NOR
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Filp Flop S-R
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Filp Flop J-K d Filp Flop D d
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Contatori (Filp Flop in cascata) d Esempio di contatore binario asincrono a 4 bit
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Combinando opportunamente le uscite con porte OR ed AND si possono ottenere impulsi di durate diverse.
Generazione di segnali impulsivi digitali Esempi di circuiti tradizionali Pulsed Filp Flop Dal fronte in discesa del CLK il nodo Z è posto a VDD; Dal fronte in salita del CLK il nodo W è posto a massa da N2 (che conduce), di conseguenza anche N1 conduce e pone a massa il nodo Z. Prestazioni migliori rispetto ai Flip Flop tradizionali.
Programmable Logic Device Tutti i circuiti tradizionali per la generazione di impulsi digitali si possono rendere più performanti e/o modulari utilizzando circuiti che fanno uso di compomenti programmabili: PLD (Programmable Logic Device)
Programmable Logic Device Un PLD è un circuito integrato programmabile. A differenza di una porta logica che implementa una funzione logica predefinita e non modificabile, il PLD non è configurato al momento della fabbricazione e per svolgere una determinata funzione logica e dev essere programmato prima di poterlo utilizzare in un circuito.
Programmable Logic Device PLD (Programmable Logic Devices) SPLD (Simple PLD) PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Generic Array Logic) Programmabili in fabbrica. CPLD (Complex PLD) FPGA (Field-programmable Gate Array) Programmabili in fabbrica e/o nel circuito (appena connesso all alimentazione)
Programmable Logic Device PLD: Logic Capacity
Programmable Logic Device PAL e PLA: struttura Le uscite sono somme di prodotti degli ingressi Simbologia connessioni interne: INn IN3 IN2 IN1 INn IN3 IN2 IN1 OUT1 OUTm Programmable Array Logic (PAL) OUTm OUT3 OUT2 OUT1 Programmable Logic Array (PLA)
Programmable Logic Device PAL: esempio Le uscite sono somme di prodotti degli ingressi A B C A B C + A B C A B + A B C
Programmable Logic Device CPLD: struttura È costituita da più PLD Block collegati con interconnessioni programmabili I/O Block PLD Block PLD Block I/O Block Interconnection Matrix I/O Block PLD Block PLD Block I/O Block
Programmable Logic Device CPLD: struttura PLD Block A B C Ogni PLD Block del CPLD è costituito da una PAL che ha ogni uscita connessa ad un Flip Flop che può essere bypassato se la funzione dev essere combinatoria invece che sequenziale. Select Enable f 1 Flip-flop D Q MUX Clock AND plane
Programmable Logic Device FPGA: struttura Logic block Interconnection switches Logic Block programmabili che implementano logiche combinatorie o sequenziali I/O Interconnection Switch programmabili per connettere ingressi/uscite ai Logic Block I/O I/O I/O Block lungo il perimetro per programmare (I/O) le interconnessioni esterne I/O
Programmable Logic Device FPGA: struttura Logic Block Ogni Logic Block della FPGA è costituito da una Look-Up Tables (LUT) che ha l uscita connessa ad un Flip Flop che può essere bypassato se la funzione dev essere combinatoria invece che sequenziale. Select Out A B C D LUT D Q Clock
Programmable Logic Device FPGA: struttura Look-Up Tables (LUT) Tabella di verità LUT Ogni LUT può essere usata per implementare ogni tipo di funzione combinatoria sui suoi N ingressi A B C D LUT Z A B Z C D
Programmable Logic Device FPGA: interconnessioni programmabili Il compilatore trova automaticamente la migliore (più breve) interconnessione a seconda del codice implementato LE LE LE Switch Matrix Switch Matrix LE LE LE
Programmable Logic Device FPGA: struttura switch matrix I 6 pass-transistor programmati effettuano l interconnessione Prima della programmazione Dopo la programmazione
Programmable Logic Device Progettare usando FPGA Tipico flusso dei CAD per FPGA: Il progetto delle funzioni logiche contenute in un FPGA viene effettuato tramite opportuni ambienti di sviluppo: software CAD (Computer-Aided Drafting) appositamente realizzati dalle case produttrici dei dispositivi FPGA (es. ALTERA: MaxPlus, Quartus).
Programmable Logic Device FPGA: inizio del progetto (Design Entry) Lo sviluppo può essere effettuato per via: TESTUALE tramite l uso di linguaggi di programmazione (es. Verilog, VHDL) GRAFICA tramite disegno dello schema elettrico
Programmable Logic Device FPGA: simulazioni Prima della programmazione del componente (downloading), tramite i CAD si effettuano simulazioni delle funzioni logiche sviluppate per assicurarsi del corretto funzionamento:
Programmable Logic Device FPGA: downloading La programmazione del FPGA viene effettuata tramite un apposita circuteria connessa al PC attraverso la porta usb/parallela
Programmable Logic Device