Digitalteknik syntes Arne Linde 2012

Relevanta dokument
Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Quine McCluskys algoritm

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

Digitalteknik F2. Digitalteknik F2 bild 1

Mintermer. SP-form med tre mintermer. William Sandqvist

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1204 Digital Design

Tenta i Digitalteknik

VHDL 1. Programmerbara kretsar

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Digital Design IE1204

Digital elektronik CL0090

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Digitalteknik syntes. Digitalteknik syntes Arne Linde 2012

Tenta i Digitalteknik

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Tentamen i IE1204/5 Digital Design Torsdag 29/

DESIGN AV SEKVENTIELL LOGIK

Tentamen i IE1204/5 Digital Design måndagen den 15/

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

VHDL och laborationer i digitalteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

2.1 Disjunktiv och konjunktiv normalform

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Angående buffer. clk clear >=1 =9?

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Konstruktionsmetodik för sekvenskretsar

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Konstruktion av digitala system - VHDL

IE1204/IE1205 Digital Design

Tenta i Digitalteknik

Digital Design IE1204

Tenta i Digitalteknik

L15 Introduktion modern digital design

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Digital elektronik CL0090

Omtentamen IE Digital Design Måndag 14/

EDA Digital och Datorteknik 2009/2010

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS v 2.1

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Tentamen i IE Digital Design Fredag 21/

Styrteknik: Grundläggande logiska funktioner D2:1

IE1204/5 Digital Design typtenta

Tenta i Digitalteknik

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

EDA Digital och Datorteknik 2010/2011

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

Omtentamen med lösningar IE Digital Design Måndag 14/

Sanningstabell. En logisk funktion kan också beskrivas genom en sanningstabell (truth table) 1 står för sann (true) 0 står för falsk (false)

IE1204/5 Digital Design typtenta

Digital- och datorteknik

Simulering med ModelSim En kort introduktion

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

DIGITALTEKNIK. Laboration D172

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Digital- och datorteknik

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

Tentamen med lösningar i IE Digital Design Fredag 21/

ÅBO AKADEMI LOGIKSTYRNING. Hannu Toivonen Jari Böling. Augusti Biskopsgatan 8 FIN Åbo Finland

VHDL2. Sekvensnätsexemplet

Grundläggande Datorteknik Digital- och datorteknik

Tenta i Digitalteknik

Digital elektronik CL0090

Tentamen i EDA320 Digitalteknik för D2

Strukturell VHDL. Grundläggande kunskaper om. och TESTBÄDD. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Lars Wållberg ver 1.

Tentamen i Digital Design

Facit till övningsuppgifter Kapitel 4 Kombinatoriska nät Rita in funktionen i ett Karnaughdiagram och minimera

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

DESIGN AV KOMBINATORISK LOGIK

Tentamen IE Digital Design Måndag 23/

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Lösningsföslag till Exempel på tentamensuppgifter i Digitalteknik I

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Digitala projekt Elektro- och informationsteknik

VHDL2. Sekvensnätsexemplet

Tentamen med lösningar i IE Digital Design Fredag 15/

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

TSEA22 Digitalteknik 2019!

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Laboration D151. Kombinatoriska kretsar, HCMOS. Namn: Datum: Epostadr: Kurs:

Tenta i Digitalteknik

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

IE1204 Digital Design

Tentamen IE Digital Design Fredag 15/

VHDL Basics. Component model Code model Entity Architecture Identifiers and objects Operations for relations. Bengt Oelmann -- copyright

Kombinationskretsar. Föreläsning 4 Digitalteknik Mattias Krysander Institutionen för systemteknik

Tentamen med lösningar IE Digital Design Måndag 23/

DIGITALTEKNIK. Laboration D161. Kombinatoriska kretsar och nät

Tentamen IE Digital Design Fredag 13/

Tentamen IE1204 Digital Design Måndag 15/

Transkript:

Digitalteknik, fortsättningskurs Föreläsning 3 Kombinatoriska nät 202 VHDL repetition + Strukturell VHDL Lite repetition + Karnaughdiagram(4-6var), flera utgångar + Quine-McCluskey + intro tid

2 Entity ENTITY fulladder IS PORT(A:IN STD_LOGIC; Y B:IN STD LOGIC; Cin:IN STD LOGIC; Y:OUT STD_LOGIC; Cout:OUT STD_LOGIC); END fulladder; Entiteten beskriver portarna mot omvärlden för kretsen.

3 Architecture ARCHITECTURE behave OF fulladder IS BEGIN Cout<= (A and B) or (A and Cin) or (B and Cin); S<=A xor B xor Cin END behave; Architecture beskriver funktionen inuti kretsen.

Components Exempel Vi vill bygga en två-bitars adderare. Vi börjar med att bygga en full adderare. Sedan kopplar vi samman två av dessa för att få vår två bitars adderare. Strukturell VHDL. One-bit adder Two-bit adder

Exempel forts -- Vi har entiteten Vi går vidare till två bits adderaren. LIBRARY ieee; USE ieee.std_logic_64.all; ENTITY adder_2_bit IS PORT ( a:in STD_LOGIC_VECTOR( DOWNTO 0); b:in STD_LOGIC_VECTOR( DOWNTO 0); y:out STD_LOGIC_VECTOR( DOWNTO 0); cout:out STD_LOGIC); END adder_2_bit;

Exempel forts ARCHITECTURE arch_adder_2 OF adder_2 IS COMPONENT full_adder IS PORT( a:in STD_LOGIC; b:in STD_LOGIC; cin:in STD_LOGIC; y:out STD_LOGIC cout:out STD_LOGIC); END COMPONENT full_adder; SIGNAL cint:std_logic; BEGIN U0:COMPONENT full_adder PORT MAP(a=>a(0),b=>b(0), Komponent deklaration cin=>'0',y=>y(0),cout=>cint); U:COMPONENT full_adder PORT MAP(a=>a(),b=>b(), cin=>cint,y=>y(),cout=>cout); END arch_adder_2; Komponent instanser

7 Logiknät, fig 2.0 x x 2 0 0 0 0 0 0 0 0 0 A B 0 f x 0 0 x 2 0 0 f ( x, ) x 2 0 A B 0 0 0 0 0 (a) Network that implements f = x x x + 2 (b) Truth table x x 2 A B f 0 0 0 0 0 Time

Mintermer 9 En minterm MÅSTE innehålla alla variabler, annars är den inte en minterm. En minterm anger den kombination av :or och 0:or på en funktions ingångar som tillsammans gör att funktionen antar värdet E(x)= Σ m(0,2,3)=x 3 x 2 x x 0 + x 3 x 2 x x 0 + x 3 x 2 x x 0 Canonical form: (Summa Min Disjunktiv form) canonical form minimal form

Maxtermer 0 En maxterm MÅSTE innehålla alla variabler, annars är den inte en maxterm. En maxterm anger den kombination av :or och 0:or på en funktions ingångar som tillsammans gör att funktionen antar värdet 0 E(x)=ΠM(0,2,3)=(x 3 +x 2 +x +x 0 ) (x 3 +x 2 +x +x 0 ) (x 3 +x 2 +x +x 0 ) Canonical form: (Produkt av Max Konjunktiv ) canonical form minimal form

Normalformer Disjunktiv normal form F = 00 0 0 0 F = A B C + A BC + AB C + ABC + ABC A B C F F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F = Konjunktiv normal form (A + B + C) (A + B + C) (A + B + C) F = 000 00 00 F = A B C + A BC + AB C

2 S-o-P, P-o-S, och de Morgan s teorem Sum-of-products F = A B C + A BC + AB C Apply de Morgan s (F ) = (A B C + A BC + AB C ) F = (A + B + C) (A + B + C) (A + B + C) Product-of-sums F = (A + B + C ) (A + B + C ) (A + B + C ) (A + B + C) (A + B + C ) Apply de Morgan s (F ) = ( (A + B + C )(A + B + C )(A + B + C )(A + B + C)(A + B + C ) ) F = A B C + A BC + AB C + ABC + ABC

3 de Morgan nand or or x x 2 x x 2 x x 2 (a) x x 2 = x + x 2 x nor and and x x x 2 x 2 x 2 (b) x + x 2 = x x 2

4 Summa av Min Disjunktiv x x 2 x x 2 x 3 x 4 x 5 AND - OR x 3 x 4 x 5 NAND - NAND Produkt av Max Konjuktiv form x x x 2 x 2 x 3 x 3 x 4 x 4 x 5 OR - AND x 5 NOR - NOR

3-dimensional Boolean space 5

Karnaugh-diagrammet 6

Karnaugh-diagramme 7 Kan användas för fyra variabler (med visst besvär upp till sex) yz wx 00 0 0 00 0 0 W XY Z + W XYZ = ( W XZ ) ( Y +Y ) = W XZ (Y +Y)=!

8 Aktivitet Minimera funktionen F = m(0, 2, 7, 8, 4, 5) + d(3, 6, 9, 2, 3) A A CD\AB 00 0 0 0 X 00 0 X C 0 0 0 0 X X B X X 0 0 D F = AC + A C + BC + AB + A B D + B C D F = BC + A B D + B C D F = A C + AB + B C D C C 0 0 X X 0 0 0 X X B B X X 0 0 X X A X 0 0 D D

9 00 x 3 x 2 0 X 3 0 x x 0 X 00 0 0 0 0 3 2 0 4 0 5 7 0 6 2 3 5 0 4 8 9 0 0 X 2 X 0 F = x 3 x + x x 0 + x 3 x 2 x 0 Fyra variabler x 4 x 4 0 3 2 4 5 7 6 2 3 5 4 8 9 0 6 7 9 8 20 2 23 22 28 29 3 30 24 25 27 26 Fem variabler

x 5 x 4 00 0 3 2 4 5 7 6 2 3 5 4 8 9 0 x 5 x 4 00 4 5 7 6 0 3 2 2 3 5 4 8 9 0 X 3 X 2 X 0 0 6 7 9 8 20 2 23 22 28 29 3 30 24 25 27 26 0 6 7 9 8 20 2 23 22 28 29 3 30 24 25 27 26 X 5 X 2 X X 0 48 49 5 50 52 53 55 54 60 6 63 62 56 57 59 58 48 49 5 50 52 53 55 54 60 6 63 62 56 57 59 58 0 32 33 35 34 36 37 39 38 44 45 47 46 40 4 43 42 0 32 33 35 34 36 37 39 38 44 45 47 46 40 4 43 42 X 4 X 3 X 2 X 0

Karnaugh-diagrammet, 6 variabler 2

22 Arbeta med kombinatoriska nät Förenkling Två nivå förenkling Utnyttja don t care Algoritmer för förenkling Realisering av logik Två-nivå logik och kanonisk POS/SOP form realiserad med NAND och NOR (CPLD) flernivå logik, konvertering mellan OCH och ELLER. Tids beteende

23 Produkt av summor (maxtermer) x 3 x 4 x x 2 00 0 0 f = x 3 x 4 + x 2 x 3 + x x 2 x 3 x 4 00 0 0 0 0 ( x 3 + x 4 ) = x 3 x 4 x 2 x 3 x x 2 x 3 x 4 0 0 0 0 0 ( x 2 + x 3 ) = (x 3 +x 4 )(x 2 +x 3 )(x +x 2 +x 3 +x 4 ) ( x + x 2 + x 3 + x 4 ) Figure 4.4. POS f ( x,, x 4 ) = M(0,, 4, 8, 9, 2, 5).

24 Flera utgångar Ex 4. x x 2 x 3 x 4 00 0 0 x x 2 x 3 x 4 00 0 0 00 00 0 0 0 0 (a) Function f (b) Function f 2

25 x x 2 x 3 x 4 00 0 0 00 x 2 0 x 3 x 4 f 0 x (a) Function f x 3 x x 2 x 3 x 4 00 0 0 x x 3 00 f 2 0 x 2 x 3 x 4 0 (c) Combined circuit for f and f 2 (b) Function f 2

26 Flera utgångar Ex 4.3 x x 2 x 3 x 4 00 0 0 00 x x 2 x 3 x 4 00 0 0 00 0 0 0 0 (c) Optimal realization of f 3 and f 4 together x x 2 x 3 x 4 00 0 0 x x 2 x 3 x 4 00 0 0 00 00 0 0 0 0 (a) Optimal realization of f 3 (b) Optimal realization of f 4

27 x x 2 x 3 x 4 00 0 0 00 x 0 x 4 0 x x 2 f 3 x 4 x x x 2 x 3 x 4 00 0 0 00 x 2 x 3 0 x 4 f 4 x 2 0 x 4 (d) Combined circuit for f 3 and f 4

28 Fel i lab-pm 3.3 Temp <= ( 0 & a) + ( 0 & b) + ( 0 & c) Process (x,y) VARIABLE xy : std_logic_vector( downto 0); begin xy := x & y; case xy is De som saknar labb partner kan komma fram

29 I0 I I2 I3 Design example: BCD increment by I 3 I 2 I I 0 O 3 O 2 O O 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 block diagram and truth table O0 O O2 O3 4-variable K-map for each of the 4 output functions 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X X X X 0 X X X X 0 0 X X X X 0 X X X X 0 X X X X X X X X

Design example: BCD increment by (cont d) 30 00 0 0 X O3 I I 0 /I 3 I 2 O2 0 X 0 00 0 0 0 X 0 0 X 0 0 0 00 0 X X 0 0 X X 00 0 0 0 0 X 0 O O3 = I3 I I0 + I3 I0' O2 = I3 I' + I3 I0' + I3 I I0 O = I3 I I0 + I I0' O0 = I0' O0 0 X X 0 X X 00 0 0 X 0 00 0 0 0 0 X 0 X X X X O(0) = I(0) O()= I(3) I()I(0)+I()I(0) O(2)=I(2)I() +I(2)I(0) +I(2) I()I(0) O(3)=I(2)I()I(0)+I(3)I(0) 0 0 0 0 X 0 X X X X 0 0

I VHDL library ieee; use ieee.std_logic_64.all; entity BCDa is port (I : in std_logic_vector (3 downto 0); O : out std_logic_vector (3 downto 0)); end entity BCDa; 3 architecture arch_bcda of BCDa is begin O(0) <= not I(0); O() <= ( ( not I(3)) and (not I() ) and I(0)) or ( I() and ( not I(0))); O(2) <= ( I(2) and ( not I())) or ( I(2) and (not I(0))) or ( (not I(2)) and I() and I(0)); O(3) <= ( I(2) and I() and I(0)) or ( I(3) and (not I(0))); end architecture arch_bcda;

I VHDL library ieee; use ieee.std_logic_64.all; use ieee.std_logic_unsigned.all; entity BCDa is port (I : in std_logic_vector (3 downto 0); O : out std_logic_vector (3 downto 0)); end entity BCDa; architecture arch_bcda of BCDa is begin O <= "0000" when I="00" else I+; end architecture arch_bcda; 32 Är dessa lösningar identiska? O(0) = I(0) O()= I(3) I()I(0)+I()I(0) O(2)=I(2)I() +I(2)I(0) +I(2) I()I(0) O(3)=I(2)I()I(0)+I(3)I(0)

33 I+; I(3)I(2) I() I(0) O(3)O(2) O()O(0) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O(0) = NOT I(0);. O(3)O(2)O()O(0) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

34 Definition av termer vid två-nivå förenkling Implikator: delkub som innesluts av funktionen. Primimplikator: Kan inte kombineras med någon annan implikator för att skapa en större delkub. Väsentlig primimplikator om den ensam innesluter en eller flera mintermer Mål: Kombinera implikatorer till primimplikatorer. (minska antalet litteraler per term) Täck samtliga mintermer med så få primimplikatorer som möjligt. (minimera antalet produkttermer)

35 CD00 0 AB 00 0 0 0 X 0 0 0 Examples to illustrate terms 6 prime implicants: A'B'D, BC', AC, A'C'D, AB, B'CD essential 0 0 0 minimum cover: AC + BC' + A'B'D AB 00 0 0 5 prime implicants: BD, ABC', ACD, A'BC, A'C'D CD 00 0 0 0 0 0 D essential 0 minimum cover: 4 essential implicants 0 0 B 0 0

36 Algoritm för två-nivå förenkling Algoritm: minimum summa av produkter ur ett Karnaugh diagram. Välj ett element (minterm) 2. Finn den maximala grupperingen av :or och X i anslutning till elementet. Detta skapar primimplekanterna. ( 2 n st element) Upprepa steg & 2 för alla element för att finna alla primimplekanter. 3. Kontrollera alla ettor i Karnaugh diagrammet Om ettan är täckt av endast en primimplekant så är den primimplekanten essentiell. Ettor tillhörande en essentiell primimplekant behöver ej besökas igen. 4. Om det finns ettor som inte täcks av essentiella primimplekanter så välj det minsta antalet primimplekanter som täcker ettorna.

37 Algorithm for two-level simplification (example) A X 0 X 0 X 0 A A 0 D 0 D 0 D C 0 X 0 X 0 0 C 0 X 0 X 0 0 C 0 X 0 X 0 0 B A B 2 primes around A'BC'D' A B 2 primes around ABC'D A X 0 X 0 X 0 0 D 0 D 0 D C 0 X X 0 0 0 B 3 primes around AB'C'D' C 0 X X 0 0 0 B 2 essential primes C 0 X X 0 0 0 B minimum cover (3 primes)

38 Quine-McCluskey Exempel: f (x 3,x 2,x,x 0 ) = m(4,5,6,8,9,0,3)+d(0,7,5) 00 x 3 x 2 0 X 3 0 x x 0 X 00 0 0 - - - X 0 X 2

39 Gruppera termerna efter antal ettor f (x 3,x 2,x,x 0 ) = m(4,5 2,6 2,8,9 2,0 2,3 3 )+d(0 0,7 3,5 4 ) 0 0000 4 000 8 000 5 00 6 00 9 00 0 00 7 0 3 0 5 v (0,4) 0-00 v (0,8) -000 v (4,5) 00- v v (4,6) 0-0 v (8,9) 00- v (8,0) 0-0 v (5,7) 0- v v (5,3) -0 v v (6,7) 0- v v (9,3) -0 v (7,5) - v v (3,5) - (4,5,6,7) 0-- (5,7,3,5) --

40 f (x 3,x 2,x,x 0 ) = m(4,5 2,6 2,8,9 2,0 2,3 3 )+d(0 0,7 3,5 4 ) (0,4) 0-00 00 x 3 x 2 0 (0,8) -000 (8,9) 00- X 3 0 00 0 0 - x x 0 - - X X 0 X 2 (9,3) -0 (8,0) 0-0 (4,5,6,7) 0-- (5,7,3,5) --

4 Hitta en minimal täckand funktion 0,4 (0-00) X 4 5 6 8 9 0 3 0,8 (-000) X 8,9 (00-) X X 8,0 (0-0) X X 9,3 (-0) X X 4,5,6,7 (0--) X X X 5,7,3,5 (--) X X EJ 0,7 och 5 f (x 3,x 2,x,x 0 ) = m(4,5 2,6 2,8,9 2,0 2,3 3 )+d(0 0,7 3,5 4 ) Ej med!!

42 Essentiella primimplikanter 0,4 (0-00) X 4 5 6 8 9 0 3 0,8 (-000) X 8,9 (00-) X X 8,0 (0-0) X X 9,3 (-0) X X 4,5,6,7 (0--) X X X 5,7,3,5 (--) X X

43 Sammanfattning Quine-McCluskey. Ordna samtliga mintermer och don t care i en tabell efter antalet ettor. 2. Jämför varje minterm med de mintermer som har en etta mer. 3. De som stämmer (skiljer sig i endast en position) bockas av och den förenklade termen skrivs upp. 4. Upprepa 2 & 3 för de nya kolumner som bildas tills det inte går mer. 5. De termer som nu inte är markerade är funktionens primimplekanter.

44 Exempel Minimera: f α (x,y,z) = m(3,5)+d(,2) f β (x,y,z) = m(,4,6)+d(2,5) Antal ettor: f α (x,y,z) = m(3 2,5 2 )+d(,2 ) f β (x,y,z) = m(,4,6 2 )+d(2,5 2 ) f(x,y,z) = m( α β,2 αβ,3 2α,4 β,5 2αβ,6 2β )

45 f(x,y,z) = m( αβ,2 αβ,3 2α,4 β,5 2αβ,6 2β ) αβ 00 v 2 αβ 00 v 4 β 00 v 3 α 0 5 αβ 0 6 β 0 v v v,3 α 0-,5 αβ -0 2,3 α 0-2,6 β -0 4,5 β 0-4,6 β -0

46 f α (x,y,z) = m(3,5)+d(,2) f β (x,y,z) = m(,4,6)+d(2,5) 3α 5α β 4β 6β,3 α 0- x,5 αβ -0 x x 2,3 α 0- x 2,6 β -0 x 4,5 β 0- x 4,6 β -0 x x

47 Exempel 4.52 f (x,x2,x3,x4) = m(0,, 3, 4, 7,, 3, 5) + D(9, 2, 4)

48 Rad dominans 0, (000-) v v 0,4 (0-00) v v 4,2 (-00) v 0 3 4 7 3 5,3,9, (-0-) v v v 3,7,,5 (--) v v v v 9,,3,5 (--) v v v 2,3,4,5 (--) v v

49 0, (000-) v v 0 4 3 0,4 (0-00) v v,3,9, (-0-) v 9,,3,5 (--) v

50 Fler nivå logik x = A D F + A E F + B D F + B E F + C D F + C E F + G reducerad summa av-produkter redan förenklad 6 x 3-ingångars AND grind + x 7-ingångars OR grind (finns nog inte!) 25 ledningar (9 litteraler plus 6 interna ledningar) x = (A + B + C) (D + E) F + G faktoriserad form inte skriven som tvånivå S-o-P x 3-ingångars OR, 2 x 2-ingångars OR, x 3-ingångars AND grindar 0 ledningar (7 litteraler plus 3 interna ledningar) A B C D E X F G

Konvertera flernivå nät till NOR grindar 5 F = A (B + C D) + B C Vi tillför lämpliga Inverterare bubblor original AND-OR nät C D B A B \C C D B A B \C Level Level 2 Level 3 Level 4 F F Skriver om som NOR grindar \C \D B \A \B C F

52 Tid A B C D 0 0 F 0 0 0 0 0 0 A B C D F

53 Omslag i insignaler - tid Kan vara användbart, skapa pulser Kan orsaka problem felfunktion p g a glitches / harsader

54 Sammanfattning kombinatorisk logik Design problem fylla i sanningstabeller ej fullständigt specificerade funktioner förenkla två-nivå nät Realisering av två nivå logik NAND och NOR nät Nätverk av Booleska funktioner och deras tidsegenskaper

55 ARCHITECTURE arch_and_4 OF and_4 IS COMPONENT and_2 IS PORT( a,b:in STD_LOGIC; y:out STD_LOGIC); END COMPONENT and_2; SIGNAL i0, i :STD_LOGIC; BEGIN U0:COMPONENT and_2 PORT MAP(a=>a(0),b=>b(0),y=>i0); U:COMPONENT and_2 PORT MAP(a=>a(),b=>b(),y=>i); U2:COMPONENT and_2 PORT MAP(a=>i0,b=>i,y=>y); END arch_and_4;

56 Nästa föreläsning Programmable logic array (PLA) Programmable array logic (PAL) Read-only memories (ROM) Field Programmable Gate Array (FPGA) (Mux och demux)