LABORATORIUM ELEKTRONIKI UKŁADY KOMBINACYJNE



Podobne dokumenty
Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Układy kombinacyjne. cz.2

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Temat 7. Dekodery, enkodery

Tranzystor JFET i MOSFET zas. działania

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

WSTĘP DO ELEKTRONIKI

Kombinacyjne bloki funkcjonalne

Układy kombinacyjne 1

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

LEKCJA. TEMAT: Funktory logiczne.

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

POLITECHNIKA POZNAŃSKA

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Arytmetyka liczb binarnych

Elektronika (konspekt)

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ

Kombinacyjne bloki funkcjonalne - wykład 3

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Podstawowe układy cyfrowe

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Państwowa Wyższa Szkoła Zawodowa

Architektura komputerów Wykład 2

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Cyfrowe bramki logiczne 2012

3.2. PODSTAWOWE WIADOMOŚCI TEORETYCZNE

Ćwiczenie 25 Temat: Interfejs między bramkami logicznymi i kombinacyjne układy logiczne. Układ z bramkami NOR. Cel ćwiczenia

1259 (10) = 1 * * * * 100 = 1 * * * *1

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Ćw. 1: Systemy zapisu liczb, minimalizacja funkcji logicznych, konwertery kodów, wyświetlacze.

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Cyfrowe układy scalone c.d. funkcje

Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych

UKŁADY CYFROWE. Układ kombinacyjny

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

Układy Logiczne i Cyfrowe

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

Technika cyfrowa Układy arytmetyczne

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

dwójkę liczącą Licznikiem Podział liczników:

Synteza układów kombinacyjnych

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

Temat 5. Podstawowe bloki funkcjonalne

1. Operacje logiczne A B A OR B

Krótkie przypomnienie

Ćwiczenie 29 Temat: Układy koderów i dekoderów. Cel ćwiczenia

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Układy logiczne układy cyfrowe

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Technika cyfrowa i mikroprocesorowa. Zaliczenie na ocenę. Zaliczenie na ocenę

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Ćw. 7: Układy sekwencyjne

Krótkie przypomnienie

1.1. Pozycyjne systemy liczbowe

Metoda Karnaugh. B A BC A

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

Arytmetyka stałopozycyjna

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Automatyzacja i robotyzacja procesów produkcyjnych

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Technika cyfrowa Synteza układów kombinacyjnych

Naturalny kod binarny (NKB)

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Laboratorium podstaw elektroniki

UKŁADY MIKROPROGRAMOWALNE

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Badanie elektronicznych układów cyfrowych 312[02].O2.02

Technika cyfrowa Synteza układów kombinacyjnych (I)

Mikrooperacje. Mikrooperacje arytmetyczne

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Podstawy Informatyki Elementarne podzespoły komputera

Dodawanie liczb dwójkowych. Sumator.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Katedra Sterowania i InŜynierii Systemów Laboratorium elektrotechniki i elektroniki. Badanie podstawowych bramek logicznych. 2.2 Bramka AND.

Zapis liczb binarnych ze znakiem

Arytmetyka binarna - wykład 6

UKŁADY KOMBINACYJNE (BRAMKI: AND, OR, NAND, NOR, NOT)

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Technologie Informacyjne

PRZEWODNIK PO PRZEDMIOCIE

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Transkrypt:

LORTORIUM ELEKTRONIKI UKŁDY KOMINCYJNE ndrzej Malinowski

1. Układy kombinacyjne 1.1 Cel ćwiczenia 3 1.2 Podział kombinacyjnych układów funkcjonalnych 3 1.3 Układy komutacyjne 3 1.3.1 Układy zmiany kodów (konwertery kodów) 3 1.3.2 Multipleksery 7 1.3.3 Demultipleksery 10 1.4 Wybrane układy arytmetyczne 11 1.4.1 Sumatory 11 1.4 2 Subtraktory 14 1.5 Zagadnienia kontrolne 16 1.6 Literatura 16 2

1.1 Cel ćwiczenia. Celem ćwiczenia jest zapoznanie się z zasadami realizacji, własnościami i sposobami wykorzystania wybranych kombinacyjnych cyfrowych układów funkcjonalnych. adany model laboratoryjny umożliwia: realizacje funkcji przełączających zaimplementowanych w układach MSI za pomocą bramek wykonanych w SSI, poznanie zasad działania układów zrealizowanych w MSI poprzez statyczne ich testowanie, zapoznanie się z możliwościami wykorzystanie układów komutacyjnych w charakterze uniwersalnych cyfrowych układów kombinacyjnych. Przedmiotem zainteresowania były już podstawowe układy kombinacyjne, (funktory logiczne) przy pomocy których możliwe było zrealizowanie dowolnych funkcji logicznych. W praktyce, niektóre z funkcji boolowskich ze względu na powszechne zastosowania w urządzeniach cyfrowych zostało implementowane w układach scalonych średniej skali integracji (MSI). Tak więc kombinacyjny blok funkcjonalny składa się z pewnej liczby połączonych ze sobą elementarnych bramek logicznych i realizuje jedną lub więcej funkcji logicznych zależnie od stanu wejść sterujących. Taki sposób, podejścia polegający na eliminacji żmudnego łączenia elementarnych bramek wykonanych w technice SSI ułatwił budowę urządzeń cyfrowych i pozwolił na ich miniaturyzację. Nazwa bloku funkcjonalnego wynika z podstawowych operacji przez niego realizowanych. 1.2 Podział kombinacyjnych układów funkcjonalnych. Kombinacyjne układy (bloki) funkcjonalne można podzielić na: Układy komutacyjne: Multipleksery (selektory danych ), Demultipleksery ( selektory danych ), Układy zamiany kodów, inaczej przetworniki (konwertery) kodów. Układy arytmetyczne: Sumatory, Subtraktory, Komparatory, Inne 1.3 Układy komutacyjne. 1.3.1 Układy zamiany kodów (konwertery) kodów. Układy, w których kod pierścieniowy ( 1 z n ) jest kodem wyjściowym nazywamy dekoderami, a gdy jest kodem wejściowym nazywamy enkoderami ( koderami ). Pozostałe układy nazywają się transkoderami. Transkodery są często zaliczane do grupy dekoderów. Klasyfikacja i przynależność do danej grupy ulega zmianie i pojęcie dekodera staje się szersze. Takim przykładem jest układ zamieniający NK na kod wskaźnika siedmiosegmentowego. Pomimo tego, że kodem wyjściowym nie jest kod 1 z n to układ ten jest zazwyczaj nazywany dekoderem, a nie transkoderem. 1.3.1.1 Dekodery (deszyfratory) Dekodery są powszechnie stosowanymi układami realizującymi zamianę dowolnego kodu dwójkowego na kod pierścieniowy 1 z n. Oznacza to, że dekoder zamienia wielobitowe cyfrowe słowa wejściowe w wyjściowe słowa cyfrowe wyrażone w kodzie pierścieniowym. Istotne znaczenie mają dekodery służące do konwersji słów zapisanych w naturalnym kodzie dwójkowym o określonej długości słowa kodowego N na kod 1 z n. Dekodery o N liniach N wejściowych i n = 2 liniach wyjściowych nazywa się dekoderami pełnymi. W takich dekoderach każdej kombinacji słowa wejściowego jednoznacznie odpowiada jedna z kombinacji wyjściowego kodu pierścieniowego, wyróżniony stan 1 (bądź 0) na jednym z wyjść, inny dla każdej kombinacji stanów na wejściach. W dekoderach, w których liczba kombinacji słów wyjściowych jest mniejsza niż liczba kombinacja słów wejściowych nie wszystkie kombinacje wejściowe mają swoje odpowiedniki w zbiorze słów wyjściowych. Stan taki powoduje niejednoznaczność i z tego powodu traktuje się je jako nadmiarowe lub zabronione, a dekodery nazywa się dekoderami niepełnymi. 3

Tworzenie struktury logicznej dekodera pełnego przedstawimy na przykładzie dekodera zamieniającego słowa dwu bitowe w kodzie naturalnym na słowa czterobitowe w kodzie 1 z 4. Warto zauważyć, ( a wynika to przedstawionej powyżej własności dekodera pełnego), że stan logiczny każdego wyjścia dekodera jednoznacznie jest określony przez pełny iloczyn kanonicznego zapisu funkcji logicznej. Tabelę prawdy dekodera przedstawiono na rys. 1, a utworzoną na jej podstawie realizację sieci logicznej dekodera na rys. 2. Wejście dekodera Słowo dwubitowe w kodzie NK Wyjście dekodera Słowo binarne w kodzie 1 z n Y3 Y2 Y1 Y0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 rys. 1 Tabela prawdy dekodera. Wyjścia dekodera Y ponumerowane są od 0 3 ( n-1 ). Korzystając z tabeli prawdy otrzymujemy następujące wyjściowe funkcje przełączające: Y 3 = Y 2 = Y1 = Y 0 =, Z przedstawionej tabeli prawdy wynika, że tylko to wyjście dekodera jest w stanie wysokim którego numer odpowiada liczbie dwójkowej słowa wejściowego. Y0 Y1 Y2 Y3 Słowo wyjściowe w kodzie 1 z n Słowo wejściowe w NK Wejścia dekodera Wyjścia dekodera rys. 2 Dekoder realizujący konwersje dwubitowego NK na kod 1 z 4. Zgodnie z przedstawioną klasyfikacją układów zasadne jest w tym miejscu rozszerzenie zagadnienia dekodowania słów binarnych (za pomocą tzw. dekoderów sterujących), które związane jest z wyprowadzeniem wyniku dekodowania w postaci zobrazowania. Do wyprowadzenia wyniku dekodowania w postaci zobrazowania powszechnie wykorzystuje się wskaźniki zbudowane z odpowiednio ustawionych diod led. Zazwyczaj mają one budowę segmentową i umożliwiają wyświetlenie 10 cyfr i pewnej ilości znaków. Ze zrozumiałych względów realizowane są jako jedno lub wielopozycyjne. Zanim zostanie przedstawiony problem dekodowania zajmiemy się sposobem realizacji wskaźnika. by zorganizować wyświetlenie np. różnych cyfr wystarczy odpowiednio ułożyć i połączyć diody led, a sposób ich sterowania pozostawić transkoderowi. Takie rozwiązanie przedstawiono na rys. 3. Ustalono takie jak na rysunku oznaczenia literowe poszczególnych segmentów wskaźnika (utworzonych zazwyczaj przez dwie diody). Ze względu na ilość segmentów wskaźnik nazywa się siedmiosegmentowym. 4

a f b g e c d rys 3. Wskaźnik segmentowy. Diody led tak jak inne diody mają dwa wyprowadzenia (-anoda, K-katoda), zatem ich sterowanie można zrealizować na dwa sposoby. Łącząc anody otrzymujemy wskaźnik ze wspólną anodą, druga realizacja polega na połączeniu katod (wskaźnik ze wspólną katodą). Wspólne połączenia zasila się z jednego bieguna źródła, pozostałe łączy z drugim biegunem transkoder. Do sterowanie wskaźników ze wspólną anodą stosuje się transkodery, w których poziomem aktywnym na wyjściu jest poziom niski (L), a w drugim przypadku wysoki. Ponieważ najczęściej stosowanym kodem do przedstawiania liczb dziesiętnych jest kod CD to dla tego przypadku w tabeli rys. 4 przedstawiono (dla wybranych cyfr) w jaki sposób transkoder dokonuje konwersji kodu na kod wskaźnika segmentowego. Mianowicie dekoder przetwarza kod CD na kod wskaźnika powodując świecenie odpowiednich segmentów. Cyfra Zapis binarny Kod wskaźnika C a b c d e f g 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 2 0 1 0 1 1 0 1 1 0 1 3 0 1 1 1 1 1 1 0 0 1 4 1 0 0 0 1 1 0 0 1 1 5 1 0 1 1 0 1 1 0 1 1 rys. 4 Tabela prawdy. Tabela może posłużyć do zapisu odpowiednich funkcji przełączających. Ponieważ realizacja tych funkcji z wykorzystaniem elementarnych funktorów w technologii SSI jest dość kłopotliwa, to transkodery (sterowniki wyświetlaczy) wykonuje się w postaci układów scalonych średniej skali integracji. 1.3.1.2 Enkodery (kodery). a) Kodery zwykłe. Knkodery są to układy do konwersji binarnych słów wejściowych podanych w kodzie 1 z n ( 1 zn ) na wyjściowe słowa binarne w innym kodzie dwójkowym. Zazwyczaj słowa wyjściowe występują w naturalnym kodzie dwójkowym. W dalszej części zajmiemy się tego typu konwersją. Na wyjściach enkodera pojawiają się słowa binarne o wartościach liczb dziesiętnych odpowiadających pozycjom wyróżnionego stanu 1 ( 0 ) na wejściach enkodera, a zatem liczby te jednocześnie wskazują numer wyróżnionej linii wejściowych enkodera, czy też wyróżnionej pozycji w zakodowanym słowie wejściowym. Przedstawione własności są wystarczające do przedstawienia tabeli stanów enkodera rys. 5. 5

Wejścia enkodera, jednocześnie wagi pozycji Wyjścia enkodera kodu 3 2 1 0 0 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 rys. 5 Tabela stanów enkodera. Z tabeli stanów wynika, że na wyjściu jest stan wysoki kiedy na wejściu 1 enkodera jest stan wysoki lub kiedy stan wysoki jest na wejściu trzecim. Stan wysoki na wyjściu występuje wtedy kiedy na wejściu drugim jest stan wysoki lub kiedy stan wysoki jest na wejściu trzecim. Implementacje funkcji realizowanych przez enkoder przedstawiono na rys. 6. Słowo wyjściowe w NK b) Kodery priorytetowe. 3 2 Słowo wejściowe w kodzie 1 z n ( Kod 1 z 4 ) 1 0 rys. 6 Schemat logiczny enkodera. Kodery priorytetowe zajmują się również konwersją binarnych słów wejściowych podanych w kodzie pierścieniowym na wyjściowe słowa binarne w innym kodzie. Zasadnicza różnica pomiędzy koderami priorytetowymi, a zwykłymi polega na większej funkcjonalności tych pierwszych. Mianowicie w przypadku koderów prostych niedopuszczalne jest wyróżnienie kilku wejść jednocześnie (np. wystąpienie kilku jedynek, bądź kilku zer w zależności od tego czy wykorzystywany jest kod pierścieniowy zwykły, czy zanegowany) z powodu możliwości powstawania niejednoznaczności podczas konwersji kodów. Kodery priorytetowe są tak zaprojektowane, że sytuacja opisana powyżej jest dopuszczalna i jest jednoznacznie interpretowana przez układ. Koder priorytetowy (dzięki ustalonym priorytetom wejść) rozstrzyga które, z wielu wyróżnionych wejść zostanie zakodowane. Zatem z wielu wyróżnionych wejść tylko jedno jest znaczące i oznacza to, że ma największy priorytet. Uzyskanie takich własności wiąże się bezpośrednio ze wzrostem złożoności układu. Na rys. 7 przedstawiono tablicę stanów kodera priorytetowego w którym kodami wejściowymi i wyjściowymi są kody zanegowane odpowiednio pierścieniowy i NK. 6

Wejścia Wyjścia 0 1 2 3 4 5 6 7 C X X X X X X X 0 0 0 0 X X X X X X 0 1 0 0 1 X X X X X 0 1 1 0 1 0 X X X X 0 1 1 1 0 1 1 X X X 0 1 1 1 1 1 0 0 X X 0 1 1 1 1 1 1 0 1 X 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1.3.2 Multipleksery. rys. 7 Tablica stanów kodera priorytetowego (X dowolny stan logiczny). Multipleksery są to układy służące do przesyłania danych binarnych na swoje wyjście z wybranego wejścia danych. Numer wejścia danych ustala n bitowy adres w NK na wejściach adresowych. Wejścia danych nazywają się wejściami informacyjnymi. Na rys. 8 przedstawiono symbol graficzny i schemat logiczny 4 - bitowego multipleksera. Sygnał doprowadzony do wejścia adresowego ma wagę 2 1, do wejścia wagę 2 0 itd. W instrukcji zastosowano konsekwentnie identyczny zapis symboli i kolejność ich ustawienia, taki sam jak w pierwszym ćwiczeniu dotyczącym układów komutacyjnych. Podobnie jak w większości układów funkcjonalnych występuje tu ścisły związek, w naszym przypadku pomiędzy liczbą wejść adresowych i liczbą wejść danych. Liczbę wejść informacyjnych określa zależność N = 2 n, gdzie n jest liczbą wejść adresowych. Warto zauważyć, że istotną część multipleksera stanowi układ dekodera omawianego w p.1.3.1.1. Modyfikacja układ dekodera z rys. 2 polega na zastosowaniu bramek trzywejściowych i sumowaniu sygnałów z wyjść dekodera. Trzecie wejścia bramek wykorzystane są jako wejścia danych. Dekoder zapewnia transmisję danych z odpowiedniego wejścia. Wprowadzone zmiany zaznaczono liniami pogrubionymi. Y0 D 0 Y1 D 1 D 0 Y D 1 D 2 D 3 Y D 2 Y2 Wyjście multiplekser D 3 Y3 Wejścia danych a) b) Wejścia adresowe rys. 8 Symbol graficzny a) i schemat logiczny b) multipleksera. Tabelę prawdy multipleksera przedstawiono na rys. 9. W tabeli dla większej przejrzystości w uproszczony sposób przedstawiono wartości funkcji logicznych Y0 Y3 i Y. Zastosowany zapis nie zmienia własności funkcji przełączających i dla kolejnych słów adresowych pokazuje, z którego wejścia dane są przesyłane na wyjście. 7

Wejścia adresowe Wyjścia Słowo dwubitowe w kodzie NK Y0 Y1 Y2 Y3 Y 0 0 1 D 0 0 D1 0 D2 0 D3 D 0 0 1 0 D 0 1 D1 0 D2 0 D3 D 1 1 0 0 D 0 0 D1 1 D2 0 D3 D 2 1 1 0 D 0 0 D1 0 D2 1 D3 D 3 rys. 9 Tabela stanów multipleksera. Funkcje przełączającą multipleksera opisuje wyrażenie logiczne: Y = D0 + D1 + D2 + D3 Typowe zastosowania multiplekserów polegają na wykorzystaniu ich do zamiany postaci informacji z równoległej na szeregową ( tzw. multipleksowe systemy przesyłania danych ), tzn. wyboru jednego z wielu źródeł danych wejściowych i przesyłania danych z wybranego wejścia na wyjście. Inne zastosowania to realizacji prostych układów kombinacyjnych ( realizacja prostych układów kombinacyjnych to nic innego jak wykorzystanie multipleksera jako uniwersalnego układu kombinacyjnego ). Multiplekser realizuje funkcje sumy iloczynów z linii danych i wejść adresowych. To spostrzeżenie sugeruje możliwość wykorzystania go do realizacji prostych układów kombinacyjnych. Realizacja układu kombinacyjnego polega na wykorzystaniu wejść adresowych jako wejść zmiennych logicznych. Zmienne logiczne adresują go zgodnie z tabelą prawdy, a wartość funkcji logicznej możemy ustalić poprzez ustalenie odpowiedniego poziomu logicznego na wejściu danych. W tym momencie warto przypomnieć sobie o tym, że funkcje opisaną w tabeli prawdy można zapisać np. w postaci sumy wszystkich iloczynów elementarnych, dla których funkcja przyjmuje wartość jeden ( tzw. kanoniczna postać sumacyjna KPS ). Sumę iloczynów otrzymujemy na podstawie tabeli prawdy, biorąc pod uwagę tylko te wiersze, dla których wartości funkcji są równe 1 i przypisując wartościom 1 w tym wierszu zmienne nie zanegowane, a wartościom 0 negacje zmiennych. W dalszej części wykorzystamy przedstawiony powyżej multiplekser do realizacji funkcji logicznej przedstawionej w tabeli prawdy rys. 10. Wejście danych D 0 D 3 Y 1 0 0 1 1 0 1 1 1 1 0 0 0 D 0 D 1 D 2 D 3 Y 1 1 0 0 0 rys. 10 Tabela prawdy realizowanej funkcji. (, ) = ( 0, 1) = + f Ponieważ zmienne logiczne adresują wejścia multipleksera zgodnie z tabelą prawdy, to do wejść informacyjnych o numerach 0 i 1 należy podłączyć wysoki poziom logiczny ( 1 ), a do pozostałych niski poziom logiczny. Rozpatrywana realizacja układu kombinacyjnego dotyczyła funkcji dwóch zmiennych i zastosowany był multiplekser z dwubitowym wejściem adresowym. Multipleksery można również wykorzystać do realizacji funkcji o większej liczbie argumentów niż ilość wejść adresowych. Rozpatrzymy sposób realizacji funkcji trzech zmiennych 8

( C ) f,, rys. 11 z wykorzystaniem multipleksera z dwoma wejściami adresowymi. Przyjmiemy, że wejściami adresowymi są wejścia C i. Lp dres C Y 0 0 0 0 0 0 D 1 0 0 0 1 0 2 0 1 0 1 1 D 3 1 0 1 1 1 4 1 0 0 1 2 D 5 2 1 0 1 0 6 1 1 0 0 3 D 7 3 1 1 1 1 rys.11 Tabela prawdy funkcji trzech zmiennych. Zauważamy, że w kolejnych wierszach ( pary wierszy ) tablicy adres jest taki sam, a ponadto w zakresie wyróżnionych dwóch wierszy tablicy wartość funkcji jest albo stała 1, albo stała 0, albo przyjmuje wartości takie jak zmienna albo, takie jak zanegowana zmienna. Sygnał wyjściowy multipleksera jest zatem funkcją tej zmiennej. Przy tak dobranym adresowaniu do wejść informacyjnych należy doprowadzić jeden z następujących stanów: Stałą 0, jeżeli f(c,,0) = f(c,,1) = 0 do wejścia D 0 Stałą 1, jeżeli f(c,,0) = f(c,,1) = 1 do wejścia D 1 Wartość zmiennej, jeżeli f(c,,) = do wejścia D 3 Wartość zmiennej jeżeli f(c,,) = do wejścia D 2 Na rys. 12 przedstawiono schemat logiczny układu realizującego zadaną funkcje trzech zmiennych z wykorzystaniem multipleksera o dwóch wejściach adresowych. D 0 D 1 D 2 0 1 Y D 3 D 3 C rys. 12 Realizacja funkcji trzech zmiennych. Przedstawiony sposób wykorzystania multiplekser o mniejszej ilości wejść adresowych niż ilość argumentów realizowanej funkcji logicznej ma swoje uzasadnienie. Oczywiste jest, że prościej byłoby wykorzystać do tego celu multiplekser z odpowiednią ilością wejść adresowych. Podczas realizacji, którą rozpatrywaliśmy zastosowaliśmy (to jest najgorszy przypadek) tylko jeden negator. Takie rozwiązanie jest bardziej ekonomiczne niż z wykorzystaniem multipleksera o trzech wejściach adresowych. Postępując podobnie można realizować funkcje logiczne o liczbie wejść adresowych jeszcze mniejszej. Okazuje się jednak, że takie rozwiązania mogą wymagać użycia większej ilości różnych bramek, co czyni ten sposób nieopłacalnym. 1.3.3 Demultipleksery. Demultipleksery służą do przesyłania na jedno z wyjść układu sygnału doprowadzonego do jego wejścia. W demultiplekserach wybór wyjścia na które jest przekazywany sygnał wejściowy jest realizowany za pośrednictwem wejść adresowych. Podobnie jak w multiplekserach funkcje adresowania ( teraz adresowanie dotyczy wyjść, a nie wejść ) wyjść realizuje układ dekodera. Na rys. 13 przedstawiono przykład demultipleksera 4 bitowego. Podobnie jak dla multipleksera schemat 9

logiczny demultipleksera powstanie poprzez modyfikacje układu dekodera z p.1.3.1.1 polegającą na zastosowaniu bramek trzywejściowych i wspólnym wprowadzeniu danych na trzecie ich wejścia. Wprowadzone zmiany zaznaczono liniami pogrubionymi. D Wejście danych Y0 Y1 Wejście danych D Y 0 Y 1 Y Y2 Y 2 Y 3 Y3 Wejścia adresowe (wyjść) a) b) Wejścia adresowe (wyjść) Wyjścia danych rys. 13 Demultiplekser czterobitowy a) symbol graficzny, b) schemat logiczny. Układ ten jest prawie identyczny jak przedstawiony w p.1.3.1.1 podczas rozpatrywania dekodera. Prawie oznacza tylko to, że tu są zastosowane bramki trójwejściowe. Jeżeli na wejście D podamy wysoki poziom logiczny, a na wejścia adresowe będą podawane słowa w NK to układ posłuży do konwersji NK na kod 1 z n. W zastosowaniu przedstawionego rozwiązania intencja polega na przesyłaniu danych z wejścia informacyjnego na jedną z linii wyjściowych. Ustalając odpowiednie poziomy logiczne na wejściach adresowych możemy wybrać jedną z dostępnych bramek przez którą sygnał z wejścia danych zostanie przekazany na jedno z wyjść Y0 Y3. Własności demultipleksera opisać można następującym układem wyrażeń logicznych: Y0 = D Y1= D Y2 = D Y3 = D Wejścia adresowe Wyjścia demultipleksera Słowo dwubitowe w kodzie NK Y3 Y2 Y1 Y0 0 0 D 0 D 0 D 0 D 1 0 1 D 0 D 0 D 1 D 0 1 0 D 0 D 1 D 0 D 0 1 1 D 1 D 0 D 0 D 0 rys. 14 Tabela prawdy demultipleksera. Z tabeli prawdy rys. 14 wynika, że transmisja sygnału z wejścia danych na wyjście możliwa jest poprzez bramki, na których pozostałe wejścia podane są wysokie poziomy logiczne. Na wyjściach innych bramek występuje poziom logiczny 0. Powracając do znanego już dekodera transmisja odbywa się poprzez te bramki, które w zastosowaniu konwersji kodów realizowały poziom logiczny jeden na odpowiedniej pozycji kodu 1 z n. Nie powinny już nikogo dziwić sprawy nazewnictwa układów podawanych w katalogach, niekiedy stosuje się podwójne nazwy np. dekoder/demultiplekser, a wynika to z prostego faktu, że układy te ze swojej natury mogą realizować obie funkcje. Wiemy już jakie są podstawowe zastosowania omawianej struktury. Warto zwrócić 10

uwagę na fakt, że demultiplekser na wyjściach informacyjnych daje pojedyncze składniki kanonicznej postać sumy zmiennych adresowych. Zatem, można go wykorzystać do realizacji funkcji logicznych (przełączających ) poprzez sumowanie odpowiednich składników. Tak więc i w przypadku demultipleksera ( podobnie jak to było z multiplekserem ) można go wykorzystać w charakterze uniwersalnego układu kombinacyjnego. Rozpatrzymy sposób realizacji funkcji dwóch zmiennych przedstawionej za pomocą tabeli prawdy rys. 15: Y 0 0 1 0 1 1 1 0 0 1 1 0 rys. 15 Tabela prawdy realizowanej funkcji. Realizacja funkcji sprowadza się do zsumowania sygnałów logicznych z dwóch wyjść układu rys. 16. Y = Y1+ Y 0 Wejście danych D=1 Y 0 Y 1 Y 2 Y=f(,) Y 3 rgumenty funkcji rys. 16 Realizacja funkcji dwóch zmiennych. Omówione rozwiązanie demultipleksera przedstawia ideę jego realizacji. Należy jednak pamiętać o tym, że praktyczne realizacje struktury wewnętrznej dotyczące wyboru zastosowanych bramek mogą różnić się od podanej w opracowaniu. Nie powinno to dziwić albowiem zapoznaliśmy się już.z tzw. systemami funkcjonalnie pełnymi. Inne różnice polegają na zastosowaniu dodatkowych wejść np. zezwalających (strobujących), czy też zastosowania negacji sygnałów wyjściowych/wejściowych bądź sterujących. Podane uwagi dotyczą również innych układów funkcjonalnych. 1.4 Wybrane układy arytmetyczne. 1.4.1 Sumatory. Sumatory należą do grupy układów arytmetycznych i przeznaczone są do dodawania liczb zapisanych w postaci dwójkowej. Wszystkie podstawowe operacje arytmetyczne: dodawanie, odejmowanie, mnożenie i dzielenie można przeprowadzić (wykorzystując odpowiednie algorytmy) za pomocą podstawowego działania, którym jest dodawanie. Z ww. powodów sumator ma wyjątkowe znaczenie w technice cyfrowej. a) Półsumator Dodawanie liczb dwójkowych realizowane jest w tylu krokach ile cyfr mają liczby dodawane. Dodawanie rozpoczynamy od cyfr występujących na najmniej znaczącej pozycji liczb. Najprostszy przypadek dodawania to dodawanie jednobitowych liczb dwójkowych. Takie dodawanie można zrealizować za pomocą tzw. półsumatora. Schemat blokowy i własności półsumatora ( tabela prawdy) wynikające z zasad dodawania w systemie dwójkowym przedstawiono w tabeli rys. 17. 11

C S S=+, C - przeniesienie Wejścia Wyjścia S C 0 0 0 o 0 1 1 0 1 0 1 0 1 1 0 1 rys. 17 Schemat blokowy i tabela prawdy półsumatora. Półsumator dodaje do siebie jednobitowe liczby dwójkowe (cyfry dwójkowe i ), a wynik dodawania występuje w postaci dwóch bitów. Na wyjście sumy (S) wyprowadzany jest młodszy bit wyniku, a na wyjście przeniesienia (C) starszy bit wyniku. Wykorzystując zamieszczoną powyżej tabelę prawdy można otrzymać następujące funkcje przełączające dla wyjść półsumatora: S = + = C = Implementację tych funkcji zrealizowaną za pomocą podstawowych funktorów przedstawiono na rys.18. S rys. 18 Półsumator. b) Jednobitowy sumator pełny. W przypadku dodawania liczb dwójkowych o większej ilości bitów na wszystkich pozostałych pozycjach (poza pierwszą) dodaje się trzy bity, dwa wynikają z pozycji bitów, a trzeci jest przeniesieniem z niższej pozycji. Sumator realizujący takie dodawanie nazywa się jednobitowym sumatorem pełnym. Schemat blokowy i własności sumatora pełnego (jego tabelę prawdy) przedstawiono na rys. 19. Wejścia Wyjścia i i C C i S i C i-1 S i = i i C i-1, C i-1 przeniesienie z pozycji mniej znaczącej i i C i-1 S i C i 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 rys. 19 Schemat blokowy i tabela prawdy sumatora pełnego. Jednobitowy sumator pełny można otrzymać z połączenia dwóch półsumatorów. Sposób realizacji takiego sumatora przedstawiono na rys. 20. 12

i i i i Półsumator C i-1 ( ) i i C i 1 Półsumator C i = + ( ) i i Ci 1 i i S i = i i Ci 1 rys. 20 Sposób realizacji jednobitowego sumatora pełnego. Postać funkcji logicznych realizujących takie samo przełączanie może być różna. I tak dla sumatora pełnego prawdziwe są następujące funkcje przełączające: S i = i i C i 1 C i = i i + C i 1 Ci = i i + Ci 1 i ( i + i ) ( ) Dla przeniesienia w nawiasie występuje różnica w zapisie. Różnica ta nie wywołuje zmiany wartości całego wyrażenia. Druga zależność na przeniesienie stosuje funkcje EX-OR, wykorzystaną już do wyznaczania sumy i z tego powodu dla uproszczenia realizacji sumatora można ją wykorzystać do wyznaczenia przeniesienia. Ostatecznie implementacja układowa tych funkcji ma postać przedstawioną na rys. 21., C i-1 i i S i i C i rys. 21 Jednobitowy sumator pełny. Jednobitowy sumator pełny stanowi podstawową komórkę sumatora wielobitowego. W celu dodawania liczb wielobitowych elementarne sumatory łączy się tworząc kaskadę z szeregowo połączonymi wejściami i wyjściami przeniesień. Podstawowa wada takiego rozwiązania polega na ustalaniu się wyniku sumowania z opóźnieniem wynikającym z transmisji przeniesień. Z ww. powodu eliminuje się opóźnienia przez zastosowanie sieci logicznych wytwarzających przeniesienia równoległe. 1.4.2 Subtraktory. Subtraktory są układami arytmetycznymi realizującymi odejmowanie liczb zapisanych w postaci dwójkowej. 13

a) Półsubtraktor. Półsubtraktor jest układem służącym do odejmowania jednobitowych liczb dwójkowych. Schemat blokowy i własności półsubtraktora wynikające z zasad odejmowania liczb binarnych przedstawiono w tabeli rys. 22. Podane zasady, (podobnie jak to było w przypadku sumatora) wyznaczają tabelę prawdy półsubtraktora. Tabele wykorzystuje się do utworzenia tablic Karnaugha i zapisania funkcji opisujących różnicę R i pożyczkę C. W tabeli użyto taki sam symbol dla pożyczki jaki zastosowano dla przeniesienia podczas omawiania sumatorów. Wejścia Wyjścia C R C 0 0 0 0 0 1 1 1 R R=-, C - pożyczka 1 0 1 0 1 1 0 0 rys. 22 Schemat blokowy i tabela prawdy półsubtraktora. Funkcje opisujące różnicę i pożyczkę mają postać: R = C = Implementację tych funkcji zrealizowaną za pomocą podstawowych funktorów przedstawiono na rys. 23. R C b) Subtraktor. rys. 23 Półsubtraktor. Subtraktor jest układem realizującym odejmowanie dwu liczb binarnych o większej ilości bitów. Tablicę prawdy pełnego subtraktora przedstawiono na rys. 24. i i C i-1 R i C i 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 rys. 24 Tabela prawdy pełnego subtraktora. Tabela prawdy stanowi podstawę do wyznaczenia odpowiednich funkcji ooleowskich. Podobnie jak w przypadku sumatora oznaczenie i lokalizuje aktualny bit, R wynik odejmowania, a C zarezerwowano dla pożyczek z odpowiednich bitów. Jeżeli to uwzględnimy to schemat blokowy subtraktora jest podobny jak dla sumatora, a realizowane funkcje mają postać: 14

R i = i i C i 1 Ci = i i + Ci 1 Ci = i i + Ci 1 i ( i + i ) ( ) Można porównać przedstawione zależności dla sumatora i subtraktora. Z porównania wynika, że za pomocą sumatora i inwerterów można zrealizować subtraktor. Pamiętając o własnościach sumy modulo 2 można zrealizować układ, który w zależności od stanu logicznego (0/1) na połączonych wejściach bramek EX OR będzie realizował funkcje jednobitowego pełnego sumatora bądź subtraktora. Takie rozwiązanie przedstawiono na rys. 25. i i i 1/0 C i C i-1 S i /R i rys. 25 Jednobitowy sumator(0), jednobitowy subtraktor (1). W zastosowaniach praktycznych nie realizuje się subtraktorów wielobitowych wykorzystujących omówione powyżej rozwiązanie. Podstawowym układem arytmetycznym jest sumator i dla zrealizowania odejmowania wystarczy przedstawić liczby w kodzie uzupełnieniowym (np. do dwóch). Przedstawienie liczb w kodzie uzupełnieniowym prowadzi do zastąpienia odejmowania dodawaniem liczb przeciwnych. Z tego powodu do budowy wielobitowych układów odejmujących wykorzystuje się układy scalonych sumatorów wzbogacone o dodatkowe elementy układów wejściowych i dodanie do wyniku logicznej jedynki. Taki sposób pozwala wykorzystać jeden układ cyfrowy do realizacji dwóch operacji matematycznych dodawania i odejmowania. Na rys. 26 przedstawiono sposób wykorzystania sumatora do realizacji dodawania i odejmowania liczb czterobitowych. 0 1 2 C 0 3 3 0 1 2 1/0 0 3 0 3 Czterobitowy sumator C 3 S 0 S 1 S 2 S 3 rys. 26 Czterobitowy sumator/subtraktor. Na wejścia i podawane są bity sumowanych lub odejmowanych liczb (+, ). Jeżeli wejście C 0 znajduje się w stanie niskim (zero logiczne) to przez bramki EX OR bity 0 3 przenoszone są bez zmian. Układ realizuje dodawanie. Dla stanu wysokiego na tym wejściu bramki EX OR dokonują inwersji bitów 0 3 i jednocześnie do wyniku zostaje dodana jedynka. Dodanie jedynki w połączeniu z inwersją bitów daje liczbę przeciwną w kodzie uzupełnień do dwóch. Sumator realizuje dodawanie liczby przeciwnej. Takie dodawanie jest równoważne odejmowaniu. 15

1.5 Zagadnienia kontrolne. 1. Zapisać funkcje przełączającą podaną w tabeli prawdy w postaci KPS. 2. Zapisać funkcję przełączająca podaną w skróconym zapisie ( 2,3, 4). 3. Narysuj symbole graficzne multipleksera (demultiplekser) i określ przeznaczenia wejść i wyjść układu. 4. Określ związki pomiędzy liczbą wejść adresowych i liczbą wejść (wyjść) danych multipleksera (demultipleksera). 5. Omów rolę wejść adresowych i wejścia strobującego w multiplekserze (demultiplekserze). 6. Podaj jakie funkcje realizują kodery i dekodery zwykłe. 7. Przedstaw cyfrę 7 w NK i w kodach 1 z N i 1 zn. 8. W jaki sposób możliwa jest realizacji funkcji logicznych przy pomocy multiplekserów i demultiplekserów? 9. Dlaczego demultiplekser jest jednocześnie dekoderem sygnału cyfrowego? 10. Co rozumiemy pod pojęciem układu funkcjonalnego? 11. Jakie układy zaliczamy do grupy komutancyjnych układów funkcjonalnych? 12. Jakie funkcje realizuje dekoder w układzie multipleksera i demultipleksera? 13. Co rozumiemy pod pojęciem funkcji przełączającej? 14. Co rozumiemy pod pojęciem enkodera? 15. Dlaczego kodery realizowane są głównie jako priorytetowe.? 16. Narysuj schemat logiczny multipleksera dwuwejściowego. 17. Narysuj schemat logiczny demultipleksera dwuwyjściowego. 18. Jakie znasz sposoby zapisu funkcji logicznych? 19. Co rozumiemy pod pojęciem układu kombinacyjnego? 20. Dodaj dwie liczby binarne. 21. Odejmij dwie liczby binarne. 22. Na czym polega zapis liczby w kodzie uzupełnień do 2? 23. Dlaczego sumator jest uważany za podstawowy układ arytmetyczny? 24. Narysuj schemat logiczny półsumatora. 25. Narysuj schemat logiczny półsubtraktora. 1.6 Literatura. 1.. Filipkowski Układy analogowe i cyfrowe WNT 2. J. Tyszer i inni Technika cyfrowa TC 3. W. Sasal Układy scalone WKŁ 4. J. Pieńkos, J.Turczyński Układy scalone TTL w systemach cyfrowych WKŁ 5. W. Głocki Układy cyfrowe WSIP 16