Come implementare un half adder
Introduzione
Si sente sempre più parlare di bit e di codice binario, questo perché l'elettronica si sta evolvendo e ormai la maggior parte dei dispositivi elettronici è digitale, ovvero tratta sequenze di bit.
Il caso più lampante è il computer, che possiede al suo interno milioni di dispositivi detti porte logiche che eseguono operazioni con i bit. Tra le operazioni elementari che un computer è in grado di fare c'è la somma, questa viene fatta nell'ALU (Aritmethic Logic Unit) la quale è a sua volta formata da diversi dispositivi. Tra questi c'è l'half adder, che è il dispositivo che si occupa della somma.
Ma come lavora questo dispositivo? Da cosa è costituito? Come si implementa? Cerchiamo allora di dare una risposta a queste domande. Vediamo nel dettaglio come implementare un half adder.
Occorrente
- Tool per la progettazione
Conoscere half adder e full adder
Generalmente quando si parla di half adder non si può non parlare anche di full adder. Sono entrambi dei sommatori con la differenza che il primo presenta due ingressi (i bit da sommare) mentre il secondo ne presenta tre (oltre ai due bit da sommare c'è anche un eventuale riporto scaturito da somme precedenti).
Il numero di ingressi determina il numero di porte logiche da utilizzare. Inoltre il numero di porte logiche è determinato anche dalla tecnologia che si vuole utilizzare per l'implementazione, ovvero dai tipo di transistor utilizzati per la realizzazione delle porte logiche.
Fondamentalmente esistono due tipi di tecnologia (dette famiglie logiche), quella dei transistor bjt (di cui fanno parte le porte TTL) e quella dei CMOS.
Delle due, quella che ricopre il 99% del mercato è la CMOS, in quanto presenta prestazioni nettamente migliori dell'altra.
Conoscere la tecnologia da adottare
La logica CMOS (Complementary Metal-Oxide-Semiconductor) utilizza dei MOSFET, questi presentano delle dimensioni che stanno andando via via diminuendo. Quando si parla di dimensioni per questi dispositivi, si fa riferimento alla lunghezza di canale (ad oggi siamo arrivati ai 90nm, ma si punta a ridurla ulteriormente nei prossimi anni). La maggior parte degli half adder è costituita con tecnologia CMOS da 90nm.
Tali MOSFET vanno a costituire le porte logiche presenti nell'half adder. Per un half adder in particolare le porte utilizzate sono due: una XOR e una AND. In realtà una vera realizzazione tramite tecnologia CMOS richiede altre due porte logiche, in particolare due NOT, in quanto è possibile creare solo porte negate. Si creeranno quindi una XNOR e una NAND, ognuna delle quali sarà poi seguita da una porta NOT che negherà il suo ingresso (in un caso l'uscita della XNOR e nell'altro l'uscita della NAND) restituendo una XOR e una AND.
Implementare il circuito
Si otterranno quindi due uscite, una per ogni porta NOT. In particolare l'uscita XOR darà il risultato della somma S, mentre l'uscita AND fornirà un eventuale riporto C (Carry).
Bisogna inoltre ricordare che un tipo di half adder così implementato è un sommatore ad un bit, ovvero riesce ad eseguire la somma di un singolo bit per volta, e non di un'intera sequenza.
Quando si realizzano circuiti digitali di tale importanza si usa un'implementazione puramente integrata (quindi non con componenti discreti). Si esegue quindi un layout, ovvero un progetto dell'half adder. Esistono diversi tool molto utili che permettono di scegliere la tecnologia e l'orientazione dei componenti nello spazio. Per eseguire alla perfezione questi passi occorre tuttavia una profonda conoscenza delle tecnologie e dei processi di fabbricazione dei dispositivi. A tal fine bisogna rispettare delle regole (dette design rules), tali regole sono solitamente verificabili tramite il tool stesso con l'apposito comando DRC. Un esempio di layout di half adder è riportato al seguente link.
Guarda il video
Consigli
- Un tool utile per il layout è Microwind