1 / 73

Struttura generale del decoder Tipicamente n input, m=2 n outputs 2-to-4, 3-to-8, 4-to-16, etc.

Decoder. Circuito che converte un codice di input a nbit in un codice di output a m bit. Struttura generale del decoder Tipicamente n input, m=2 n outputs 2-to-4, 3-to-8, 4-to-16, etc. Decoder binari. Circuito da-n-a-2n

ailani
Download Presentation

Struttura generale del decoder Tipicamente n input, m=2 n outputs 2-to-4, 3-to-8, 4-to-16, etc.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Decoder Circuito che converte un codice di input a nbit in un codice di output a m bit. • Struttura generale del decoder • Tipicamente n input, m=2n outputs • 2-to-4, 3-to-8, 4-to-16, etc.

  2. Decoder binari Circuito da-n-a-2n Codice 1-fra-m:contiene m bit con un solo bit asserito ad ogni istante Decoder da-2-a-4: Si noti la notazione “x” (don’t care)

  3. Diagramma logico del decoder da-2-a-4 con enable

  4. Decoder da-2-a-4 in logica negativa • Buffer di input (meno carico) • gate NAND (più veloci)

  5. y0 = a’b’c’ 3-to-8 Line Decoder y1 = a’b’c y2 = a’bc’ a y3 = a’bc b y4 = ab’c’ c y5 = ab’c y6 = abc’ y7 = abc Decoder da-3-a-8

  6. DEG0 3-to-8 Line Decoder DEG45 DEG135 a DEG90 b DEG315 c DEG270 DEG180 DEG225 Decoder da-3-a-8 con codice di input Gray Il codice di input non rappresenta necessariamente gli interi da 0 a 2n-1. Supponiamo che il codice di input sia il codice Gray di un disco di codifica meccanica con otto posizioni. Posizione del disco I2 I1 I0 output del decoder binario 0o 0 0 0 Y0 45o 0 0 1 Y1 90o 0 1 1 Y3 135o 0 1 0 Y2 180o 1 1 0 Y6 225o 1 1 1 Y7 270o 1 0 1 Y5 315o 1 0 0 Y4

  7. Decoder da-3-a-8 74x138

  8. Decoder da-2-a-4 controllato da un contatore a 2 bit

  9. Applicazioni dei decoder • Memoria dei microprocessori • Selezione di diversi banchi di memoria • Sistemi di input/output di microprocessori • Selezione di diversi dispositivi • Decodifica di istruzioni di microprocessori • Abilitazione di diverse unità funzionali • Chips di memoria • Abilitazione di diverse righe di memoria a seconda dell’indirizzo • Moltissime altre applicazioni

  10. Decoder in verilog

  11. multiplexing Multiplexing nella forma più semplice: un tasto (switch) meccanico capace di selezionare fra diverse sorgenti Sorgenti: 4 microfoni che inviano a una stazione remota di ascolto della polizia segrenta Una volta al mese un agente segreto agisce sul tasto per ascoltare uno dei microfoni

  12. Sistema multiplexato Sistema telefonico Sistema di periferiche collegate a un computer

  13.  gate AND IN pass/block’ OUT Multiplexer 2-to-1 Multiplexing: hardware Sono necessari due elementi: 1. circuito passa/blocca analogo al tasto chiuso/aperto 2. circuito di decodifica che chiuderà solo uno degli elementi passa/blocca per volta pass/block’ segnale-in segnale-out 0 0 0 0 1 0 1 0 0 1 1 1 pass/block

  14. Il MUX più semplice:

  15. Mux a quattro input Circuito che fa “collega” uno dei quattro input all’ouput out a seconda del valore delle due linee di selezione SEL[1..0]

  16. Circuiti passa/blocca Decoder da-2-a-4 IN0 EN0 OR dei segnali IN1 EN1 Z IN2 EN2 IN3 EN3 Mux a quattro input

  17. Progetto 2  Esempio di utilizzo di multiplexer e decoder

  18. seven-seg-decoder

  19. FPGA seven-seg-decoder Dalla FPGA escono solo 7 linee di controllo dei led comuni ai 4 array E’ necessario interporre unMUXfra i 4 seven-seg-decoder e le linee di uscita

  20. una cifra diversa

  21. 1 I0 0 F(R,S,T) I1 T I2 T F(R,S,T) = R’S’•1 + RT•(S+S’) I3 00 01 11 10 = R’S’•1 + R’S•0 + RS•T + RS’•T R S Un mux a quattro input può implementare qualunque funzione a tre variabili Esempio: implementiamo la funzione F(R, S, T) = R’S’ + RT Z A B Functions of how many input variables can be implemented by an 8-t0-1 MUX? Utilizzare un 8-to-1 MUX per implementare la funzione: F(X,Y,Z,T) = XY’ + Z’T

  22. Implementazione “tradizionale” Come implementare la funzione logica con un mux?

  23. EN1=1 EN0=0 out0 out1 Tristate Consideriamo una serie di dispositivi collegati a una CPU tramite una linea comune (bus) La CPU può abilitare uno dei dispositivi per volta che accede al bus trasmettendo dati EN1 EN0 EN0=1 out0 out0 out1 C P U out2 out3 EN2 EN3 MUX a quattro input?

  24. IN1 EN1 IN2 EN2 NO! IN3 EN3 Come facciamo a fare MUX? Problema: è impossibile mettere in OR OUT0, ..., OUT3 IN0 EN0 output sul bus?

  25. Le uscite del gate logici che abbiamo studiato finora non possono essere collegate assieme I gate si “sparano” uno contro l’altro

  26. Come facciamo a fare MUX? Andrebbe bene un sistema tale che se un dispositivo non è abilitato è come se non fosse fisicamente collegato al bus EN1=1 EN0=0 out0 out1 EN A OUT EN1 EN0=1 out0 out1 C P U out2 out3 EN2 EN3 Hi-Z: alta impedenza  linea scollegata  buffer tristate:

  27. EN3 EN0 EN1 EN2 data0 data1 data2 data3 Mux con buffers tristate periferica out0 out1 output sul bus? out2 SI! out3 data## dati che la periferica ## trasmette se richiesto (EN## asserito dalla CPU)

  28. Tristate party line col 74x138

  29. Considerazioni sulla temporizzazione Per impedire conflitti, dovrebbero andare nello stato Hi-Z più velocemente di quanto impiegano per andare nello stato Hi-Z (tpLZ e tpHZ dovrebbero essere minori di tpZL tpZH)

  30. Per sicurezza, la logica di controllo dovrebbe garantire un tempo morto sulla party line durante il quale nessuno pilota la linea.

  31. Esempio motivante: l’unità logico-aritmetica (ALU) Parte importante del percorso dei dati nell’architettura di una CPU Come tutto l’hardware, può essere disegnata usando un linguaggio di programmazione orientato all’hardware (HDL) Utile esempio perchè può essere facilmente decomposta operand1 alu_result ALU operand2 ALU operation opcode

  32. Esempio motivante: l’unità logico-aritmetica (ALU) • Insieme di operazioni: operand1 alu_result ALU • Logic • AND • OR • XOR • NOT operand2 ALU operation opcode • Arithmetic • add • subtract • multiply • negate

  33. arithmetic operation Arith_result Modulo aritmetico operand1 operand0 Alu_result MUX Modulo logico Logic_result logic operation 2 1 Struttura della ALU opcode selection

More Related