2021 PŘ 02

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

20.09.

2021

Základy číslicových systémů


2. PŘEDNÁŠKA

20/09/21 Ing. Iva Petříková, Ph.D. 2

Minimalizace Booleovských funkcí 1/2

 ÚDNF nebo ÚKNF není jediné možné vyjádření realizace


logické funkce.
MINIMALIZACE BOOLEOVSKÝCH FUNKCÍ  Při minimalizaci lze nalézt výraz, který má nejmenší četnost
Algebraická minimalizace vyskytujících se proměnných. Nejčastěji hledáme:
Minimalizace pomocí Karnaughovy mapy – minimální disjunktivní (součtový) tvar,
Pravidla minimalizace pro disjunktivní (součtový) tvar – minimální konjunktivní (součinový) tvar.
Pravidla pro konjunktivní (součinový) tvar  Dílčí součiny a součty nemusí po minimalizaci Booleovské
funkce obsahovat všechny proměnné funkce.

20/09/21 Ing. Iva Petříková, Ph.D. 3 20/09/21 Ing. Iva Petříková, Ph.D. 4

Minimalizace Booleovských funkcí 2/2 Algebraická minimalizace

 Minimálnost lze definovat z více hledisek.  Metoda vychází z aplikace axiomů a teorémů Booleovy
– Počet operací ovlivňuje algebry na zápis logické funkce ve formě ÚDNF nebo ÚKNF.
• počet prvků součástkové základny pro realizaci,
• složitost zapojení,
 Úroveň konečného zjednodušení je dána především
• finanční náročnost realizace. zkušenostmi a intuicí.
– Počet prvků  Vhodná pro menší počet proměnných (maximálně 4
• má vliv na spolehlivost obvodu proměnné).
• ovlivňuje celkovou dobu průchodu signálu obvodem.
 Nejčastější způsoby minimalizace:
– algebraická minimalizace,
– minimalizace pomocí Karnaughovy mapy,
– minimalizační metody pomocí počítačových algoritmů (Mc-Cluskey,
Espresso).

20/09/21 Ing. Iva Petříková, Ph.D. 5 20/09/21 Ing. Iva Petříková, Ph.D. 6

1
20.09.2021

Př. 2.1 Algebraicky minimalizujte funkci


zadanou pravdivostní tabulkou
Minimalizace pomocí K. mapy

𝑛 𝑥2 𝑥1 𝑥0 𝑓𝟏  V disjunktivním tvaru:  Princip spočívá v grafickém sloučení sousedních čtverečků a


– Buď jejich popsání pomocí vstupních proměnných.
0 0 0 0 0
𝑓1 𝑥2 , 𝑥1 , 𝑥0
1 0 0 I I = 𝑚1 + 𝑚3 + 𝑚4 + 𝑚5 + 𝑚6 =
= 𝑥2 ∙ 𝑥0 + 𝑥2 ∙ 𝑥1 + 𝑥2 ∙ 𝑥0 • Ukázka z příkladu 2.2 (podrobněji dále):
2 0 I 0 0
3 0 I I I – Anebo f1 x1 x2
4 I 0 0 I 𝑓1 𝑥2 , 𝑥1 , 𝑥0
= 𝑚1 + 𝑚3 + 𝑚4 + 𝑚5 + 𝑚6 =
5 I 0 I I = 𝑥2 ∙ 𝑥0 + 𝑥1 ∙ 𝑥0 + 𝑥2 ∙ 𝑥0
0 0 1 1
x0
6 I I 0 I 1 1 0 1
7 I I I 0  V konjunktivním tvaru
𝑓1 𝑥2 , 𝑥1 , 𝑥0 = 𝑀0 ∙ 𝑀2 ∙ 𝑀7 =
𝑓1 𝑥2 , 𝑥1 , 𝑥0 = 𝑥2 ∙ 𝑥0 + 𝑥2 ∙ 𝑥1 + 𝑥2 ∙ 𝑥0 = 𝑥2 ∙ 𝑥0 + 𝑥1 ∙ 𝑥0 + 𝑥2 ∙ 𝑥0
= 𝑥2 + 𝑥0 ∙ (𝑥2 + 𝑥1 + 𝑥0 )

20/09/21 Ing. Iva Petříková, Ph.D. 7 20/09/21 Ing. Iva Petříková, Ph.D. 8

Pravidla minimalizace pro disjunktivní (součtový) tvar Pravidla pro konjunktivní (součinový) tvar

 V mapě vytváříme co největší smyčky, které pokryjí čtverečky,  V mapě vytváříme co největší smyčky, které pokryjí čtverečky,
v nichž funkce nabývá hodnotu log 1 v nichž funkce nabývá hodnotu log 0.
» Do smyčky lze použít i buňky s hodnotou X. » Do smyčky lze použít i buňky s hodnotou X.
» Smyčka může obsahovat jen 2𝑖 čtverečků. » Smyčka může obsahovat jen 2𝑖 čtverečků.

 Počet smyček musí být minimální a musí pokrýt všechny log 1.  Počet smyček musí být minimální a musí pokrýt všechny log 0.
 Z každé smyčky vyjádříme součiny, kde proměnná s hodnotou  Z každé smyčky vyjádříme součty, kde proměnná s hodnotou
𝟏 se uvede jako přímá, proměnná s hodnotou 𝟎 jako 𝟎 se uvede jako přímá, proměnná s hodnotou 𝟏 jako
negovaná. negovaná.
» Jednotlivé součiny obsahují jen proměnné (přímé nebo negované), které » Jednotlivé součty obsahují jen proměnné (přímé nebo negované), které
nemění v dané smyčce svou hodnotu. nemění v dané smyčce svou hodnotu.
» Princip - na každé dva sousední čtverečky Karnaughovy mapy aplikujeme » Princip - na každé dva sousední čtverečky Karnaughovy mapy aplikujeme
zákon spojení 𝑥1 ∙ 𝑥0 + 𝑥1 ∙ 𝑥0 = 𝑥0 zákon spojení 𝑥1 + 𝑥0 ∙ 𝑥1 + 𝑥0 = 𝑥0

20/09/21 Ing. Iva Petříková, Ph.D. 9 20/09/21 Ing. Iva Petříková, Ph.D. 10

Př. 2.2 Pomocí K. mapy minimalizujte


funkci zadanou tabulkou 1/2 Př. 2.2 Pomocí K. mapy minimalizujte
funkci zadanou tabulkou 2/2

𝑛 𝑥2 𝑥1 𝑥0 𝑓𝟏  V disjunktivním tvaru: 𝑛 𝑥2 𝑥1 𝑥0 𝑓𝟏  V konjunktivním tvaru:


0 0 0 0 0 𝑓1
• Buď 𝑥1 𝑥2 0 0 0 0 0
𝑓1 𝑥2 , 𝑥1 , 𝑥0 𝑓1 𝑥1 𝑥2
1 0 0 I I = 𝑥2 ∙ 𝑥0 + 𝑥2 ∙ 𝑥1 + 𝑥2 ∙ 𝑥0 00 02 16 14 1 0 0 I I
2 0 I 0 0 𝑥0 2 0 I 0 0 00 02 16 14
11 13 07 15 𝑥0
3 0 I I I 3 0 I I I 11 13 07 15
• Anebo
4 I 0 0 I 4 I 0 0 I
𝑓1 𝑥1 𝑥2
5 I 0 I I 5 I 0 I I
𝑓1 𝑥2 , 𝑥1 , 𝑥0 𝑓1 𝑥2 , 𝑥1, 𝑥0 = 𝑥2 + 𝑥0 ∙ (𝑥2 + 𝑥1 + 𝑥0)
6 I I 0 I = 𝑥2 ∙ 𝑥0 + 𝑥1 ∙ 𝑥0 + 𝑥2 ∙ 𝑥0 0 0 1 1 6 I I 0 I
7 I I I 0 𝑥0 7 I I I 0
1 1 0 1

20/09/21 Ing. Iva Petříková, Ph.D. 11 20/09/21 Ing. Iva Petříková, Ph.D. 12

2
20.09.2021

Př. 2.3 Minimalizujte zadanou funkci


v součtovém tvaru Př. 2.4 Minimalizujte v součtovém i
v součinovém tvaru.

 Je zadaná funkce  Jsou zadané funkce


𝑦2 = 𝑓2 𝑥3 , 𝑥2 , 𝑥1 , 𝑥0 = σ 𝑚 0,1,2,3,6,13,14
a) 𝑦3 = 𝑓3 𝑥3 , 𝑥2 , 𝑥1 , 𝑥0 = ς 𝑀 3,6,7,10,11 ∙ ς 𝐷 1,5,9,13,15
 Pro minimalizaci použijte pro srovnání Karnaughovy mapy
b) 𝑦4 = 𝑓4 𝑥3 , 𝑥2 , 𝑥1 , 𝑥0 = σ 𝑚 0,3,5,7,10 + σ 𝑑 4,8,11,12,13,14,15
s následujícím kódováním:
𝑦 𝑥 𝑥22 1 𝑦 𝑥 𝑥1 2 0  Vzhledem k počtu proměnných budeme minimalizovat
pomocí Karnaughovy mapy.
𝑥0 𝑥2
𝑥3 𝑥3

20/09/21 Ing. Iva Petříková, Ph.D. 13 20/09/21 Ing. Iva Petříková, Ph.D. 14

Př. 2.4 a)
Př. 2.4 b)

 TABULE  TABULE

𝑦3 𝑥1 𝑥2 𝑦4 𝑥1 𝑥2

𝑥0 𝑥0
𝑥3 𝑥3

20/09/21 Ing. Iva Petříková, Ph.D. 15 20/09/21 Ing. Iva Petříková, Ph.D. 16

Logická funkce a logický kombinační obvod

Logická funkce Logický kombinační obvod


REALIZACE LKO - ÚVOD  Dvouhodnotová funkce  Obvod, jehož výstupní
s dvouhodnotovými proměnné závisí pouze
Logická funkce proměnnými. na logických hodnotách
Logický kombinační obvod (LKO) vstupních proměnných.
 Popisuje chování logického
Logický člen, hradlo
obvodu  Má m výstupních a n
𝑥 … vstupní proměnné vstupních proměnných;
𝑦 … výstupní proměnná platí 𝑦𝑖 = 𝑓𝑖 𝑥𝑛−1 , ⋯ , 𝑥0
kde i = 1, 2, 3, …, m

20/09/21 Ing. Iva Petříková, Ph.D. 17 20/09/21 Ing. Iva Petříková, Ph.D. 18

3
20.09.2021

Logický člen Hradlo

 Základní stavební prvek  Logický člen je možno  Fyzická součástka


logických obvodů, který sestavit především (např. integrovaný obvod)
realizuje logickou funkci. z tranzistorů, dále pak
 Má jeden či více vstupů a z diod, rezistorů či dalších
jediný výstup. pasivních součástek.
 Hodnota na výstupu Obr. - funkce NOR, negovaný
logický součet realizovaný
logického členu je funkcí pomocí tranzistoru a odporů
hodnot vstupních
𝑦 = 𝑓 𝑥𝑛−1 , ⋯ , 𝑥0
Obrázek – zdroj:
http://commons.wikimedia.org/wiki/File:7400.jpg

20/09/21 Ing. Iva Petříková, Ph.D. 19 20/09/21 Ing. Iva Petříková, Ph.D. 20

Základní logické členy - značení

 Existují dva způsoby značení


logických členů
ZÁKLADNÍ LOGICKÉ ČLENY 1 – obdélníkové (čtvercové)
značky (IEC, DIN).
Realizace základních logických funkcí – značky složené z křivek
s jednou vstupní proměnnou (ANSI),
NULOVÁNÍ, IDENTITA, NEGACE, NASTAVENÍ (oba definované ANSI/IEEE
Std 91-1984 a jeho dodatkem
ANSI/IEEE Std 91a-1991).

 Obrázek – zdroj:
http://en.wikibooks.org/wiki/P
ractical_Electronics/Logic_sym
bols

20/09/21 Ing. Iva Petříková, Ph.D. 21 20/09/21 Ing. Iva Petříková, Ph.D. 22

Funkce n proměnných – opak. přednáška 1 (25) Nulování

 Pro n proměnných existuje 2 2   Nulová funkce, konstanta


n
𝒙 𝒇 𝟎 𝒇 𝟏 𝒇𝟐 𝒇 𝟑 𝑥 f0 f1 f2 f3
různých booleovských funkcí.  Realizace – opakovač, repeater,
0 0 0 I I 0 𝟎 0 I I
– Pro 1 proměnnou existují 4 různé funkce, na vstupu log 0
pro 2 proměnné 16 různých funkcí atd. I 0 I 0 I I 𝟎 I 0 I
 Zápis funkce 𝑦0 = 𝑓0 𝑥
Algebraický výraz 𝑦0 = 0
𝑥1 x0 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 Log 0
𝑦0
0 0 0 0 0 0 0 0 0 0 I I I I I I I I
GND
𝑦0
0 I 0 0 0 0 I I I I 0 0 0 0 I I I I Log 0 𝑦0
0
I 0 0 0 I I 0 0 I I 0 0 I I 0 0 I I 𝑥
0 𝑦0
I I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I Log 0
20/09/21 Ing. Iva Petříková, Ph.D. 23 20/09/21 Ing. Iva Petříková, Ph.D. 24

4
20.09.2021

Logická identita Logická negace 1/3

 ID – vrací stejnou hodnotu jako měl vstup 𝑥 𝑓 0 𝒇𝟏 𝑓 2 𝑓 3  NOT (komplement) - funkce vrací opačnou 𝑥 𝑓0 𝑓1 𝒇𝟐 𝑓3
 Realizace – opakovač, repeater hodnotu, než je vstup
0 0 𝟎 I I 0 0 0 𝐈 I
 Realizace – hradlo NOT, Invertor
I 0 𝐈 0 I I 0 I 𝟎 I
 Zápis funkce 𝑦1 = 𝑓1 𝑥  Zápis funkce 𝑦2 = 𝑓2 𝑥
Algebraický výraz 𝑦1 = 𝑥 Booleova logika 𝑦2 = 𝑥 V jazyku C neexistuje typ pro uložení logických
hodnot. Logické hodnoty jsou realizovány celými
Výroková logika 𝑦2 = ¬𝑥 čísly a platí, že hodnota 0 znamená NEPRAVDA
(false) a jakákoli jiná hodnota PRAVDA (true).
𝑥 𝑦1 Jazyk C 𝑦2 = ! 𝑥
𝑦1 𝑦2
𝑥 𝑦1 𝑥 𝑦2
0 1
𝑥 𝑥
1 𝑥 𝑦1 0 𝑥 𝑦2

20/09/21 Ing. Iva Petříková, Ph.D. 25 20/09/21 Ing. Iva Petříková, Ph.D. 26

Logická negace 2/3 Logická negace 3/3

 Další možné zápisy: 𝑥 𝑓 0 𝑓 1 𝒇𝟐 𝑓 3  Zápisy v jazyku C s podmíněným příkazem if-else: 𝑥 𝑓 0 𝑓 1 𝒇𝟐 𝑓 3


Notation Vocalization 0 0 0 𝐈 I If (výraz) příkaz1; else příkaz 2; 0 0 0 𝐈 I
¬p not p
I 0 I 𝟎 I If (x==0) y2=1; else y2=0; I 0 I 𝟎 I
−p not p
If (!x) y2=1; else y2=0;
~p not p
– Pokud je hodnota proměnné Logické operace se používají hlavně
Np en p funkce log 0, pak hodnota funkce je
log 1, v opačném případě při vykonávání podmíněných příkazů.
p prime, p je hodnota funkce log 0. Podmíněný příkaz sestavíme buď tak, že

complement se proměnné y přiřadí stejná logická
p p bar, bar p If (x==1) y2=0; else y2=1; hodnota jako je hodnota výrazu
!p bang p
If (x) y2=0; else y2=1; v podmínce, nebo opačná hodnota
výrazu v podmínce.
– Pokud je hodnota proměnné
(tab. - zdroj: funkce log 1, pak hodnota funkce je Výraz (!x), který je vyhodnocen jako
log 0, v opačném případě
http://en.wikipedia.org/wiki/Negation ) je hodnota funkce log 1. pravda, jednoznačně znamená, že x=0.

20/09/21 Ing. Iva Petříková, Ph.D. 27 20/09/21 Ing. Iva Petříková, Ph.D. 28

Nastavení Operátory v jazyku C

 Jednotková funkce, konstanta. 𝑥 𝑓0 𝑓1 𝒇𝟐 𝒇𝟑 Logické operátory Bitové operátory – PŘEDNÁŠKA 6


 Realizace – invertor, na vstupu log 0 0 0 0 I 𝐈 ! NOT ~ bitový NOT
negace jednotkový doplněk
I 0 I 0 𝐈
 Zápis funkce 𝑦3 = 𝑓3 𝑥 && AND & bitový AND
logický součin logický součin bit po bitu
Algebraický výraz 𝑦3 = 1
|| OR | bitový OR
Log 1 logický součet logický součet bit po bitu
𝑦3
+5 V
𝑦3  Logické operátory spojují logické ^ bitový XOR
výrazy. nonekvivalence
Log 0 𝑦3  Hodnota 0 v logických výrazech
1 << bitový posun vlevo
𝑥 znamená NEPRAVDA, nenulová
PRAVDA. >> bitový posun vpravo
1 𝑦3
Log 0
20/09/21 Ing. Iva Petříková, Ph.D. 29 20/09/21 Ing. Iva Petříková, Ph.D. 30

5
20.09.2021

Operátory v jazyku C Použité zdroje

Relační operátory  ZDRÁLEK, Jaroslav, CHMELÍKOVÁ, Zdeňka. 2017. Číslicové


 Výsledkem logických a relačních
systémy 1.
operací je logická hodnota  DIVIŠ, Zdeněk, CHMELÍKOVÁ, Zdeňka a ZDRÁLEK, Jaroslav.
PRAVDA nebo NEPRAVDA,
což jazyk C vyhodnocuje jako
2008. Logické obvody. Ostrava : VŠB - Technická univerzita
1 (PRAVDA) nebo 0 (NEPRAVDA). Ostrava, 2008. str. 152. Skripta. ISBN 978-80-248-1724-8.
 Přispěvatelé Wikipedie, Logický člen [online], Wikipedie:
 Booleovské výrazy jsou používány
v podmínkách příkazů pro větvení
Otevřená encyklopedie, c2019, Datum poslední revize
programu. O tom, která z větví se 28. 08. 2019, 10:22 UTC, [citováno 19. 09. 2019]
bude provádět, rozhoduje <https://cs.wikipedia.org/w/index.php?title=Logick%C3%BD_
pravdivostní hodnota podmínky.
%C4%8Dlen&oldid=17594807>

20/09/21 Ing. Iva Petříková, Ph.D. 31 20/09/21 Ing. Iva Petříková, Ph.D. 32

Děkuji za pozornost

Ing. Iva Petříková, Ph.D.

+420 597 325 840


Iva.petrikova@vsb.cz

www.vsb.cz

20/09/21 Ing. Iva Petříková, Ph.D. 33

You might also like