Funkcje logiczne –układy kombinacyjne · 2017. 11. 4. · 04.11.2017 TCiM Wydział EAIiI Katedra...

30
Część 2 Funkcje logiczne – układy kombinacyjne Zapis funkcji logicznych – układ funkcjonalnie pełny Arytmetyka Bool’a – najważniejsze aksjomaty i tożsamości Minimalizacja funkcji logicznych Układy kombinacyjne – realizacja funkcji logicznych w układach cyfrowych 04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 1

Transcript of Funkcje logiczne –układy kombinacyjne · 2017. 11. 4. · 04.11.2017 TCiM Wydział EAIiI Katedra...

  • Część 2

    Funkcje logiczne – układy kombinacyjne

    Zapis funkcji logicznych – układ funkcjonalnie pełny

    Arytmetyka Bool’a – najważniejsze aksjomaty i tożsamości

    Minimalizacja funkcji logicznych

    Układy kombinacyjne – realizacja funkcji logicznych w układach cyfrowych

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 1

  • Układ cyfrowy

    • Podstawowe informacje

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 2

    Układ

    cyfrowy

    x1

    x2

    xn

    y1

    y2

    ym

    X = (x1, ... , xn) – sygnały wejściowe (wektor)

    Y = (y1, ... , yn) – sygnały wyjściowe (wektor)

    10,B – jednowymiarowy zbiór Boole’a (boolowski)

    𝒙𝒊 ∈ 𝑩

    𝒊=𝟏,𝟐,…,𝒏

    𝒚𝒊 ∈ 𝑩

    𝒋=𝟏,𝟐,…,𝒎

  • Układ cyfrowy

    • Podstawowe informacje

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 3

    {X} – zbiór wartości (stanów) sygnału wejściowego

    Zmienna boolowska 1-no wymiarowa – zmienna przyjmująca wartości (stany) ze zbioru Boole’a B

    nBXX

    mBYY {Y} – zbiór wartości (stanów) sygnału wyjściowego

    Sygnały X, Y przyjmują różne wartości w dyskretnych chwilach tWtedy można stosować oznaczenia Xt , Yt

    Wyróżnia się dwa przypadki:

    Yt = f(Xt) – układ kombinacyjny

    Yt = f(Xt, Xt-t1, Xt-t2 ... ) – układ sekwencyjny

    𝒕 ∈ 𝒕 = 𝒕𝟏, 𝒕𝟐,…

  • Układy kombinacyjne

    • Podstawy - Opis

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 4

    Układ kombinacyjny opisuje się określając funkcję f przekształcającą zbiór stanów wejściowych w zbiór stanów wyjściowych tj.

    Y = f(X), gdzie X{X}, Y{Y}

    YX:f

    mffff ,...,, 21

    BX:fi yi = fi(X), gdzie X{X}, yiB

    Funkcję fi nazywamy funkcją przełączającą bo przyjmuje tylko 2 wartości 0 lub 1 ( można te stany interpretować jako stany załączenia/wyłączenia, stany zwarcia/rozwarcia styków, lub jako prawda/fałsz. Funkcje przełączającą nazywa się także często funkcją logiczną lub funkcją boolowską.

  • Układy kombinacyjne

    • Algebra Boole’a

    Funkcje logiczne – funkcje Boole’owskie mogą być określone przy pomocy:

    • tablicy prawdy (tablicy funkcyjnej),

    • formuły boolowskiej – zapis kanoniczny i dziesiętny,

    • tabeli Karnaugh’a

    • lub w formie graficznej (przy pomocy odpowiednich symboli graficznych).

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 5

    W algebrze Boole’a zdefiniowane są operacje:

    – sumy i iloczynu jako operacje dwuargumentowe,– negacji jako operacji jednoargumentowej,– stałe 0,1 jako operacje zero argumentowe.

    Algebra Boole’a (zerojedynkowa)

    10,,,,,B Np. w matematycefunkcja y=2

  • Układy kombinacyjne

    • SUMA

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 6

    Symbole operatora sumy dwuargumentowej:np

    or,,

    21 xxy 21 xxy 21 xorxy

    Tablica prawdy:

    x1,x2

    00 0

    01 1

    10 1

    11 1

    21 xxy

  • Układy kombinacyjne

    • ILOCZYN

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 7

    Symbole operatora sumy dwuargumentowej:np

    Tablica prawdy:

    and,,&,

    21 xxy 21 xxy

    21 xandxy 21 x&xy

    21xxy

    x1, x2

    00 0

    01 0

    10 0

    11 1

    21xxy

  • Układy kombinacyjne

    • NEGACJA

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 8

    Symbole operatora negacji: not,~,

    np. x~y xy )x(noty

    xx

    0 1

    1 0

  • Układy kombinacyjne

    • Prawa algebry Boole’a – aksjomaty i tożsamości

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 9

    (idempotentność)

    (rozdzielność)

    (łączność)

    (przemienność)

    xxx xxx

    1221 xxxx 1221 xxxx

    321321 xxxxxx 321321 xxxxxx

    3121321 xxxxxxx

    3121321 xxxxxxx

  • Układy kombinacyjne

    • Prawa algebry Boole’a – aksjomaty i tożsamości

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 10

    1211 xxxx 1211 xxxx (pochłanianie)

    xx 0 xx 1 operacje ze stałą

    1 xx 0xx operacja z negacją

    xx operacje podwójnej negacji

    2121 xxxx 2121 xxxx (prawa de Morgana)

  • Układy kombinacyjne

    • Prawa algebry Boole’a – aksjomaty i tożsamości

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 11

    Operacje na stałych:

    10 01 111

    111 11001 01001

  • Układy kombinacyjne

    • Prawa algebry Boole’a – aksjomaty i tożsamości

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 12

    Operacje na stałych:

    10 01 111

    111 11001 01001

  • Układy kombinacyjne

    • Symbole graficzne funkcji Boole’a – bramki logiczne

    • System funkcjonalnie pełny • AND

    • OR

    • NOT

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 13

  • Układy kombinacyjne

    • Bramka – funkcja Exclusive OR – alternatywa rozłączna, wykluczająca

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 14

    y = x1 x2= 2121 xxxx

    21 xxy x1, x2

    00 0

    01 1

    10 1

    11 0

  • Układy kombinacyjne

    • Zapis form/funkcji boolowskich • Forma boolowska i tabela prawdy

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 15

    Liczba Argumenty𝒙 𝒚 𝒛

    𝒙 ∙ 𝒚 𝒛 ∙ ഥ𝒙 𝒇 (𝒙, 𝒚, 𝒛)

    0 0 0 0 0

    1 0 0 1 1 1

    2 0 1 0 0

    3 0 1 1 1 1

    4 1 0 0 0

    5 1 0 1 0

    6 1 1 0 1 1

    7 1 1 1 1 1

    𝑓 𝑥, 𝑦, 𝑧 = 𝑥𝑦 + 𝑧 ҧ𝑥

    Przykład funkcji:

  • Układy kombinacyjne

    • Zapis form/funkcji boolowskich • Korzystając z tabeli prawdy udowodnić tożsamość:

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 16

    Argumenty𝒙 𝒚

    ഥ𝒙 + 𝒚 𝒙(ഥ𝒙 + 𝒚) 𝒙 ∙ 𝒚

    0 0 1 0 0

    0 1 1 0 0

    1 0 0 0 0

    1 1 1 1 1

    𝑥 ҧ𝑥 + 𝑦 = 𝑥𝑦

    Te dwie kolumny są sobie równe cbdu.

    UWAGA:Zrobić jeszcze przykład - udowodnienie jednej z reguł pochłaniania

  • Układy kombinacyjne

    • Zapis form/funkcji boolowskich • W oparciu o znajomość tablicy prawdy

    można sformułować dwie podstawowe formuły:

    • Dla skrócenia zapisu tych form – stosuje się też powszechnie postaci dziesiętne form sumacyjnych i iloczynowych

    • Kanoniczna forma (postać) sumacyjna – dysjunkcja: • Na podstawie wierszy tabeli prawdy gdzie funkcja przyjmuje wartość 1 – prawda;

    • 𝑓 𝑥, 𝑦, 𝑧 = ҧ𝑥 ത𝑦𝑧 + ҧ𝑥𝑦𝑧 + 𝑥𝑦 ҧ𝑧 + 𝑥𝑦𝑧

    • Kanoniczna forma (postać) iloczynowa – koniunkcja:• Na podstawie wierszy tabeli prawdy gdzie funkcja przyjmuje wartość 0 – fałsz;

    • 𝑓 𝑥, 𝑦, 𝑧 = 𝑥 + 𝑦 + 𝑧 𝑥 + ത𝑦 + 𝑧 ҧ𝑥 + 𝑦 + ҧ𝑧

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 17

    =∪ (1,3,6,7)

    =∩ (0,2,4,5)

    Dla poprzedniego przykładu funkcji:

  • Układy kombinacyjne

    • Zapis form/funkcji boolowskich • Kanoniczną postać sumacyjną funkcji uzyskuje się tworząc

    sumę iloczynów pełnych odpowiadających kombinacjomargumentów we wszystkich punktach, w których funkcjaprzyjmuje wartość jeden.

    • Kanoniczną postać iloczynową funkcji uzyskuje się tworząciloczyn sum pełnych odpowiadających kombinacjomargumentów we wszystkich punktach, w których funkcjaprzyjmuje wartość zero.

    • Minimalizacja funkcji/form boolowskich • W praktycznej realizacji funkcji logicznych, w szczególności w formie cyfrowych układów

    kombinacyjnych, dąży się do tego aby minimalna forma sumacyjna (iloczynowa): >>> zawierała minimalną liczbę iloczynów (sum), >>> żaden z iloczynów (żadna z sum) nie mógł być zastąpiony przez inny o mniejszej liczbie literałów.

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 18

  • Układy kombinacyjne

    • Podstawowe metody minimalizacji układów jednowyjściowych: • Tablica Karnaugha,

    • Metoda Quine’a – Mc Cluskey’a

    • Tablica Karnaugha – prezentacja tablicy prawdy funkcji boolowskiej/logicznej w specyficznej, uporządkowanej formie

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 19

    Tablica dla funkcji 3 argumentowej

    x2,x3

    x1

    00 01 11 10

    0

    1

    KOD Gray’a !!! >>> WAŻNE !!!

  • Układy kombinacyjne

    • Minimalizacja funkcji boolowskich/logicznych z tablicami Karnaugh’a

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 20

    Tablica dla funkcji 4 argumentowej

    WAŻNE!!! Warto spojrzeć na kolejne komórki tablicy jak na macierz z przypisanymi spółrzędnymikolejnymi numerami …

    POLECAM… Dobre wyjaśnienie tablic Karanugh’ai metody minimalizacji z ich wykorzystaniem na kanale ElektroPrzewodnik YOUTUBE:

    x3,x4

    x1,x2

    00 01 11 10

    00

    01

    11

    10

    0 1 23

    4 5 67

    8 9 1011

    12 13 1415

    https://www.youtube.com/watch?v=ns4GHC-KdwI

    https://www.youtube.com/watch?v=ns4GHC-KdwI

  • Układy kombinacyjne

    • Minimalizacja funkcji boolowskich/logicznych z tablicami Karnaugh’a

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 21

    Tablica dla funkcji 5 argumentowej >>> przeanalizować współrzędne komórek – odbicia, symetrie …

    x3,x4,x

    5

    x1,x2

    000 001 011 010 110 111 101 100

    00

    01

    11

    10

  • Układy kombinacyjne

    • Minimalizacja funkcji boolowskich/logicznych z tablicami Karnaugh’a• Algorytm – zasady:

    • W tablicy zaznaczmy grupy 1 -ek lub 0 -er – sąsiadujących ze sobą w wierszach lub kolumnach

    • Staramy się objąć w jednej grupie jak największą liczbę elementów – 1 lub 0

    • Elementy grup 1 lub 0 – mogą być pokrywane grupami wielokrotnie, jeśli to prowadzi dopowiększenia poszczególnych grup

    • Liczba elementów w grupie – musi być kolejną potęgą liczby 2 – zatem: 2,4,8,16 … (nie może być 6 !!!)

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 22

  • Układy kombinacyjne

    • Minimalizacja funkcji boolowskich/logicznych z tablicami Karnaugh’a• Przykład – funkcja z trzema argumentami (z wcześniejszego przykładu):

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 23

    Dla poprzedniego przykładu funkcji:

    y, z

    x

    00 01 11 10

    0 0 1 1 0

    1 0 0 1 1

    𝑓 𝑥, 𝑦, 𝑧 = 𝑥𝑦 + 𝑧 ҧ𝑥Liczba Argumenty𝒙 𝒚 𝒛

    𝒇 (𝒙, 𝒚, 𝒛)

    0 0 0 0 0

    1 0 0 1 1

    2 0 1 0 0

    3 0 1 1 1

    4 1 0 0 0

    5 1 0 1 0

    6 1 1 0 1

    7 1 1 1 1

    W tym wypadku grupa żółta – nie potrzebna !!!

    𝑓𝑚𝑖𝑛1 𝑥, 𝑦, 𝑧 = ҧ𝑥𝑧 + 𝑥𝑦

    𝑓𝑚𝑖𝑛0 𝑥, 𝑦, 𝑧 = ( ҧ𝑥 + 𝑦) 𝑥 + 𝑧

    Funkcja minimalna: - przez jedynki

    - przez zera

  • Układy kombinacyjne

    • Minimalizacja funkcji boolowskich/logicznych z tablicami Karnaugh’a• Przykład – funkcja z czterema argumentami:

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 24

    𝑓𝑚𝑖𝑛1 𝑎, 𝑏, 𝑐, 𝑑 = 𝑎 ҧ𝑐 + 𝑎𝑑 + ത𝑏 ҧ𝑐 + ത𝑎 ത𝑏 ҧ𝑑

    𝑓𝑚𝑖𝑛0 𝑎, 𝑏, 𝑐, 𝑑 = (𝑎 + ത𝑏) 𝑎 + ҧ𝑐 + ҧ𝑑 ത𝑎 + ҧ𝑐 + 𝑑

    c, d

    a, b

    00 01 11 10

    00 1 1 0 1

    01 0 0 0 0

    11 1 1 1 0

    10 1 1 1 0

    𝑓 𝑎, 𝑏, 𝑐, 𝑑 =∩ (3,4,5,6,7,10,14)

  • Układy kombinacyjne

    • Synteza układów kombinacyjnych – realizacja na bramkach logicznych

    • System funkcjonalnie pełny • AND

    • OR

    • NOT

    • Jednak … • Układy realizuje się

    w praktyce na bramkach NAND lub NOR…

    • A współcześnie – na matrycach bramek PLA i FPGA…

    • Dlaczego… ???

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 25

  • Układy kombinacyjne

    • Synteza układów kombinacyjnych – realizacja na bramkach logicznych • Bramka NAND – najmniej tranzystorów !!! PLA – Programable Logic Array

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 26

  • Układy kombinacyjne

    • Synteza układów kombinacyjnych – realizacja na bramkach logicznych • FPGA – Field-Programmable Gate Array

    • Dla projektanta ma funkcjonalność taką samą jak specjalizowany układ scalony, jednak może być wielokrotnie programowany bez demontażu, po jego wytworzeniu i zainstalowaniu w urządzeniu docelowym

    • Bezpośrednio programowalne macierze bramek są zazwyczaj wolniejsze od odpowiadających im specjalizowanychukładów scalonych i pobierają więcej mocy. Mają natomiast wiele innych zalet takich jak krótszy czas projektowania, niższe koszty produkcji (dla małych serii)

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 27

  • Układy kombinacyjne

    • Synteza układów kombinacyjnych – realizacja na bramkach logicznych • Bramki AND, OR, NOT - realizacja na NAND-ach i na NOR-ach

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 28

    POKAZAĆ… Symulacja w Digital Works …

    Wyjaśnić – na tablicy – dlaczego OR za pomocą NAND – prawa de Morgana >>> NAND z zaprzeczeniem sygnałów wejściowych

  • Układy kombinacyjne

    • Synteza układów kombinacyjnych – realizacja na bramkach logicznych

    • Tu skorzystać z materiału – notatek odręcznych – plik PDF z notatkami …

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 29

    POKAZAĆ… Przykłady, wyjaśnienia – plik PDF

    KLIKNIJ!!!

    PDF-notatki-synt-ukl-kombinac.pdfPDF-notatki-synt-ukl-kombinac.pdf

  • Koniec Części 2

    Kontynuacja materiałów wykładowych

    w pliku cz-3

    04.11.2017 TCiM Wydział EAIiIB Katedra EiASPE 30