Analisi di circuiti combinatori

In fase di sviluppo Stesura preliminare In fase di sviluppo

Analizzare un circuito significa descrivere il funzionamento di un insieme di porte logiche partendo da uno schema già realizzato. L'obbiettivo è arrivare ad una descrizione sintetica in lingua italiana del funzionamento (per esempio: questo circuito somma due numeri binari) oppure alla tabella di verità.

Il procedimento:

Esempio 1

Descriviamo il funzionamento del seguente circuito combinatorio:

Porta XOR

Questo circuito ha due ingressi A e B. Esisto 22 combinazioni degli ingressi: 0 0, 0 1, 1 0 e 1 1.

Passo 1

Analizziamo la prima combinazione A = 0 e B = 0 scrivendo direttamente sullo schema le uscite delle varie porte logiche cominciando da quelle di sinistra:

1 - Possiamo trovare immediatamente le uscite delle due porte NOT in quanto conosciamo i loro ingressi

2 - Passiamo poi alle uscite delle due porte AND, delle quali ora conosciamo tutti gli ingressi

3 - Infine possiamo trovare l'uscita Q della porta OR in quanto abbiamo trovato tutti i suoi ingressi

Passo 2

Analizziamo la seconda combinazione A = 0 e B = 1 ripercorrendo lo stesso percorso del passo 1. Di seguito quello che dobbiamo ottenere:

Passi 3 e 4

Identici come procedimento i successivi due passi, lasciati come esercizio.

I risultati in breve

Per raccogliere i risultati intermedi e finali dei passi precedenti possiamo indicare tutti i nodi intermedi con una lettera e creare una tabella come la seguente:

Circuito per una porta XOR

A B C D E F Q
0 0 1 1 0 0 0
0 1 1 0 1 0 1
1 0 0 1 0 1 1
1 1 0 0 0 0 0

Un altro percorso è quello di descrivere il circuito scrivendo l'espressione booleana corrispondente al circuito:

Circuito per una porta XOR

Q = (A · B) + (A · B)

VHDL

Descriviamo infine il circuito in VHDL, a partire dall'espressione booleana:

library IEEE;
use IEEE.std_logic_1164.all;

entity CIRCUITO-COMBINATORIO is
port (
A : in std_logic;
B : in std_logic;
Q : out std_logic);
end entity CIRCUITO-COMBINATORIO;

architecture RTL of CIRCUITO-COMBINATORIO is
begin
Q <= (A and not B) or (not A and B);
end architecture RTL;

Conclusione

Una possibile descrizione sintetica: l'uscita Q vale 1 quando i due ingressi A e B sono diversi.

In alternativa: abbiamo realizzato una porta logica già nota! Quale?

Esercizio 2

Analizziamo il funzionamento del seguente circuito:

Per l'analisi di questo circuito serve una tabella con 23 = 8 righe. Per scrivere velocemente tutte le otto combinazioni degli ingressi A, B e C sono possibili due tecniche:

L'ordine delle righe non ha particolare importanza, anche se è utile per evitare confusione, dimenticanze o righe duplicate

Nella tabella seguente sono indicate con le lettere D, E, F le tre uscire delle porte AND. La prima riga è pre-compilata, le altre sono lasciate come esercizio.

A B C D E F Q
0 0 0 0 0 0 0
0 0 1        
0 1 0        
0 1 1        
1 0 0        
1 0 1        
1 1 0        
1 1 1        

Che funzione ha questa rete combinatoria?

Quale è l'espressione booleana che descrive la rete?

Note

  1. Contrariamente a quanto potrebbe suggerire l'intuito, un ingresso non collegato NON è zero (e neppure uno)
  2. Esistono componenti speciali che permettono questo tipo di collegamento
  3. Traccia per chi è curioso: quanto vale Q? Dipenda da cosa valeva Q "prima"; questo valore viene negato, poi ancora negato ed infine negato per la terza volta e quindi cambia, ed il giro ricomincia...


Pagina creata nel giugno 2020.
Ultima modifica: 6 ottobre 2021


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima