Skip to content

Segnali, tecnologie di implementazione e booleani

  • circuiti combinatori: blocchi di base per fare operazioni semplici. Dato un input danno sempre lo stesso output:
    • multiplexer;
    • encoders, decoders;
    • aritmetica;
    • semplificazione della logica;
  • circuiti sequenziali: circuiti che hanno una memoria interna:
    • macchine a stati;
    • sintesi;
    • metodo RTL, consente di gestire la complessità di un circuito;
  • laboratorio:
    • linguaggi ad alto livello;
    • VHDL;
    • simulazione;
    • sintesi e implementazione;
    • dispositivi FPGA;

Vantaggi:

  • segnale proporzionale alla grandezza che si vuole rappresentare;
  • semplice e intuitivo;
  • un segnale porta tutte le informazioni;

Svantaggi:

  • il rumore si somma al segnale e ne altera la rappresentazione;
  • il segnale va mantenuto entro certi limiti;

Vantaggi:

  • si può modificare la soglia in modo da ridurre l’influenza del rumore;

Svantaggi:

  • può assumere solo 2 livelli (viene definita una soglia a metà tra i due valori: se il segnale è sotto la soglia vale 0, se è sopra vale 1);
  • precisione limitata.
  • per rappresentare una grandezza con più precisione si usano più segnali, in generale dati nn segnali, si avranno 2n2^n livelli.

Il numero di segnali necessari cresce logaritmicamente (in base 2), quindi tutto sommato il loro numero non aumenta così rapidamente.

Nei circuiti digitali si preferisce sempre il minor numero di segnali che garantisca la precisione desiderata, per realizzare circuiti più piccoli, efficienti ed economici.

Tecnologie di implementazione di circuiti digitali

Section titled “Tecnologie di implementazione di circuiti digitali”
  • full custom: si usano direttamente i transistori per implementare il circuito.
    • si ha il massimo controllo e quindi offre le massime prestazioni;
    • alti costi;
  • standard cell / ASIC: si usano celle da una decina di transistori che hanno funzioni logiche di base già predefinite.
    • alte prestazioni;
    • alti costi (5-10 milioni € per mm2\mathrm{mm}^2 per le tecnologie più moderne);
  • programmable logic / FPGA: circuiti digitali programmabili. I diversi componenti possono essere connessi tra loro in modo arbitrario.
    • prestazioni medio/alte;
    • costi medi;
  • embedded software: si implementa la logica come software e la si fa eseguire da un processore generico.
    • prestazioni basse;
    • costi bassi;
  • Dominio: contiene solo 2 elementi: B={0,1}B = \{0, 1\}
  • f(x1,,xn):BnBf(x_1, \ldots, x_n): B^n \to B: funzione scalare di nn variabili booleane.
  • f(x1,,xn):BnBmf(x_1, \ldots, x_n): B^n \to B^m: mm funzioni indipendenti di nn variabili ciascuna.
  • AND(x,y):B2B\text{AND}(x, y): B^2 \to B
    • Indicato come xyx \cdot y oppure xyxy.
    • Il risultato vale 1 se e solo se entrambe le variabili hanno valore 1.
  • OR(x,y):B2B\text{OR}(x, y): B^2 \to B
    • Indicato come x+yx + y.
    • Il risultato vale 1 se e solo se almeno una delle 2 variabili vale 1.
  • NOT(x):BB\text{NOT}(x): B \to B
    • Indicato come x\overline{x}, xx' oppure  x~x.
    • Il risultato vale 1 se xx vale 0, altrimenti 0.

Altri operatori:

  • Confronto f(x,y):B2Bf(x, y): B^2 \to B: vale 1 se x=yx = y;
  • Confronto multiplo f(x,y,z):B3Bf(x, y, z): B^3 \to B: vale 1 se x=yzx = y \neq z;
  • NAND(x,y)=(xy)\text{NAND}(x, y) = (x y)';
  • NOR(x,y)=(x+y)\text{NOR}(x, y) = (x + y)';
  • EXOR(x,y)=xy+xy\text{EXOR}(x, y) = x y' + x' y;
  • EXNOR(x,y)=xy+xy\text{EXNOR}(x, y) = x' y' + x y;