# Logische basispoorten
## Inleiding

In dit onderdeel zullen de meest voorkomende basis logische poorten (dit zijn blokken die een logische functie realiseren waarvan de uitgang enkel afhangt van de ingang) aanraken. In dit onderdeel zal enkel gebruik gemaakt worden van de positieve logica, dus waar een logische 1 voorgesteld zal worden door een 1 en een logische 0 zal voorgesteld worden door een 0 (alternatieven zijn hoog/laag, waar/vals, ...). Elke logische poort zal op vijf verschillende manieren geïllustreerd worden:
* Via een waarheidstabel die ingangen mapt op uitgang
* Via het IEC (International Electrotechnical Commission) symbool
* Via het ANSI symbool (welke het meest frequent gebruik wordt in Amerikaanse databladen)
* Via het DIN (Deutsche Institut für Normung) symbool
* Via diens logische functie.
Alle poorten zullen in hun eenvoudigste mogelijke vorm geïllustreerd worden, zo zijn bvb EN poorten met meerdere ingangen mogelijk maar twee ingangen volstaat om het principe te illusteren. De ingangen zullen A en B (indien aanwezig) heten, de uitgang Q

## Buffer

De buffer geeft op de uitgang wat op de ingang aanwezig is.

### Logische vergelijking

$Q=A$

## NIET-poort (NOT)

De NIET-poort is de inverse functie van de buffer.

### Logische vergelijking

$Q={\overline {A}}$

## EN-poort (AND)

De EN-poort geeft enkel 1 als alle ingangen 1 zijn; in andere gevallen is de uitgang 0

### Logische vergelijking

$Q=A\cdot B$

## NEN-poort (NAND)

De NEN-poort geeft enkel 1 indien minstens één ingang 0 is, dit is de inverse van de EN-poort.

### Logische vergelijking:

$Q={\overline {A\cdot B}}$

## OF-poort (OR)

De OF-poort geeft enkel 1 indien minstens één ingang 1 is.

### Logische vergelijking:

$Q=A+B$

## NOF-poort (NOR)

De NOF-poort geeft enkel 1 indien geen enkele ingang 1 is. Dit is de inverse van de OF-poort.

### Logische vergelijking:

$Q={\overline {A+B}}$

## Exclusieve OF-poort (EXOR)

De exclusieve OF-poort (EXOF) geeft 1 indien exact één ingang 1 is. Noot: Bemerk dat wanneer men in de dagelijkse omgang het woord of gebruikt dit typisch in deze exclusieve context gebruikt wordt. In een restaurant kan men kiezen uit schotel nummer 1 OF schotel nummer 2 voor een bepaald bedrag. Indien men dan de logische of zou gebruiken zal de eigenaar dit niet appreciëren.

### Logische vergelijking:

$Q=A\oplus B$

## Exclusieve NOF-poort (EXNOR)

De exclusieve NOF-poort (EXNOF) geeft 1 indien beide ingangen gelijk zijn aan elkaar. Dit is het inverse gedrag van de exclusieve OF-poort.

### Logische vergelijking:

$Q={\overline {A\oplus B}}$

## NAND logica

Praktisch gezien kan men bij het bekijken van bovenstaande waarheidstabellen concluderen dat een aantal poorten overbodig zijn. Zo kan men bijvoorbeeld stellen dat XNOR perfect kan uitgedrukt worden in functie van NIET-, OF- en EN-poorten: ${\overline {A\oplus B}}=A\cdot B+{\overline {A}}\cdot {\overline {B}}$ De hierboven gebruikte vorm heet de disjunctieve normaalvorm, maar hierover later meer. Nu is het zo dat men in een productieproces bij voorkeur maar één type poort gaat gebruiken. Zo kan men aantonen dat men elke logische functie kan bekomen louter door gebruik te maken van NEN- en NOF-poorten. Zo is de NIET poort niets anders dan een NEN-poort waarvan de ingangen met elkaar verbonden zijn. Vervolgens kan men zo makkelijk een EN en een OF poort maken:
Hetzelfde is mogelijk met louter NOF-poorten:

## Productterm

Gegeven een logische functie van n veranderlijken (A tem N) dan is een productterm een willekeurige combinatie van een aantal logische veranderlijken (al dan niet gecomplementeerd) gecombineerd met een logische EN-functie. Voorbeelden zijn: $ABC,EF{\overline {G}},{\overline {I}}$.

## Somterm

Gegeven een logische functie van n veranderlijken (A tem N) dan is een somterm een willekeurige combinatie van een aantal logische veranderlijken (al dan niet gecomplementeerd) gecombineerd met een logische OF-functie. Voorbeelden zijn: $A+B+C,E+F+{\overline {G}},{\overline {I}}$.

## Standaardproduct

Een standaardproduct is een productterm waarin elke logische veranderlijke voorkomt. In geval van een functie met vier logische veranderlijken zijn volgende uitdrukkingen voorbeelden van standaardproducten: $ABCD,{\overline {A}}B{\overline {C}}D,{\overline {A}}{\overline {B}}{\overline {C}}{\overline {D}}$. Een logische functie van n veranderlijken heeft dus een standaardproduct dat uit n factoren bestaat.

## Disjunctieve normaalvorm

Een disjunctieve normaalvorm (Disjunctive Normal Form of DNF) van een logische functie is deze logische functie herschreven als een somterm van standaardproducten waarvoor deze logische functie waar is. Deze kan makkelijk geconstrueerd worden vertrekkende van de waarheidstabel, zo werd eerder reeds geïllustreerd wat de disjunctieve normaalvorm was van de XNOF-poort. Een disjunctieve normaalvorm kan zo maximaal uit 2$^n$ termen bevatten van standaardproducten die op hun beurt uit n factoren bestaan.

### Praktische toepassing in PALs

PAL (Programmable Array Logic) zijn een familie halfgeleiders die toestaan om een willekeurige logische functie te programmeren, hiervoor bestaan verscheidene technologieën waarvan PROM (Programmable Read Only Memory) er één van is. Een simpele voorstelling van een PROM chip is te zien in volgend schema:
Links bevinden zich twee ingangen (de redenering laat zich makkelijk uitbreiden naar n ingangen en m logische functies), van deze ingangen worden net als hun inverse via een zekering verbonden met een EN-poort (elke EN poort heeft $2n$ ingangen). Door zekeringen te vernietigen (tijdens het programmeren) kunnen zo standaardproducten geprogrammeerd worden, de uitgangen van de EN-poorten worden verbonden met een OF poort met meerdere ingangen, het aantal EN-poorten (en dus ook het aantal ingangen van de OF-poort) bepaalt het aantal standaardproducten welke een 1 als resultaat kunnen hebben. Het is duidelijk dat dit een directe toepassing is van de disjunctieve normaalvorm.
In GALs (Generic Array Logic) kunnen meerdere logische functies tegelijk gerealiseerd worden, daar deze uit een configureerbare EN- en een configureerbare OF-matrix bestaan. Alhoewel er ook PALs bestaan die deze functionaliteit voorzien.