1 NLT-module Digitale Techniek Ontwerpen van digitale schakelingen met SIM-PL Woudschotenconferentie 2006 Ben Bruidegom AMSTEL-instituut Universiteit van Amsterdam 2 What is SIM-PL? SIM-PL: Simulatie ‘tool’ voor digitale schakelingen Inputs/outputs are ‘0’ or ‘1’ Complexiteit: van poort tot processor Laat zien wat er achtereenvolgens gebeurt als er een instructie van een computerprogramma wordt uitgevoerd. “The hardware/software interface” Auteursomgeving voor docenten, scholieren en studenten 3 Waar kun je SIM-PL bij gebruiken? Computer architectuur Pipeline processor One cycle machine Assembly programming Calculator File of registers/ALU Register Flipflop/XOR Gate Digital electronics Embedded Systems 4 Constructie van componenten en schakelingen (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Schakeling Basic components Input/Output Connections p & q & Y & r 1 M 5 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay & Circuits (hierarchy) Basic components Input/Output Connections p & q & & r 1 M 6 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Circuits (hierarchy) Basic components Input/Output Connections p & q & Y & r 1 M 7 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Circuits (hierarchy) Basic components Input/Output Connections p & q & Y Y = a && b; & r 1 M 8 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Event triggered - Input Change - Clock Rising - Clock falling a b Circuits (hierarchy) Basic components Input/Output Connections p & q & Delay & Y Y = a && b; & r 1 M 9 Construction of components en circuits (Basic) component Circuits (hierarchy) Component lay-out Basic components Inputs/Outputs Input/Output Programming Connections Delay (propagation delay) a b & p & q & Y a b Y & r time 1 M 10 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Circuits (hierarchy) Basic components Input/Output Connections p & q & Y & r 1 M 11 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Circuits (hierarchy) Basic components Input/Output Connections p & q & Y & r 1 M 12 Construction of components en circuits (Basic) component Component lay-out Inputs/Outputs Programming Delay a b & Circuits (hierarchy) Basic components Input/Output Connections (wires) p & q & Y 1 M & r M = (p and q) or (q and r) or (p and r) 13 Ontwerpen van een digitale schakeling Twee methodes: Karnaugh diagrams havo hbo e-technology Waarheidstabel en Boole algebra vwo universiteiten 14 problem solution 15 problem Truth table solution 16 problem Truth table Boole expression solution 17 problem Truth table Boole expression Reduced Boole expression solution 18 problem Truth table Boole expression Reduced Boole expression Boole algebra solution Implementation problem Truth table Boole expression Reduced Boole expression Boole algebra solution 19 20 Majority voting system Set value c b Vat a Signal cond. sensor a a Signal cond. sensor b b Majority v Valve Voter control c Signal cond. sensor c valve redundant system 21 Truth table a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 v 22 Truth table a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 v 0 0 0 1 0 1 1 1 23 Truth table Boole exp. abc combinatie van a, b en c die ‘1’ oplevert v 000 not(a) and not(b) and not(c) 0 001 not(a) and not(b) and c 0 010 not(a) and b and not(c) 0 011 not(a) and b and c 1 100 a and not(b) and not(c) 0 101 a and not(b) and c 1 110 a and b and not(c) 1 111 a and b and c 1 24 Boolean expression v = (not(a) and b and c) or (a and not(b) and c) or (a and b and not(c)) or (a and b and c). Max term representatie 25 Boole expr. simplified Boole expr. v = (not(a) and b and c) or (a and not(b) and c) or (a and b and not(c)) or (a and b and c). not v a.b.c a.b.c a.b.c a.b.c and or 26 Boole expr. simplified Boole expr. v a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c b.c.(a a) a.c.(b b) a.b.(c c) 27 Boole expr. simplified Boole expr. v a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c a.b.c b.c.(a a) a.c.(b b) a.b.(c c) b.c.1 a.c.1 a.b.1 b.c a.c a.b 28 Simplified Boole expression v b.c a.c a.b v = (b and c) or (a and c) or (a and b). 29 Implementation y z & AND-gate z and y y z 1 OR-gate z or y 30 Implementation with AND- and OR-gates v = (a and b) or (a and c) or (b and c). & & & & 31 Implementation with AND- and OR-gates v = (a and b) or (a and c) or (b and c). a & b c & & 1 v 32 KARNAUGH-DIAGRAM 33 KARNAUGH-DIAGRAM 34 KARNAUGH-DIAGRAM 35 Opgave: Ontwerp een Multiplexer Als S = ‘0’ wordt het signaal op ingang a doorgelaten Als S = ‘1’ wordt het signaal op ingang b doorgelaten. 36 Opgave: Ontwerp een Multiplexer Stap 1: Maak de waarheidstabel ( 3 variabelen; 8 regels) Stap 2: Maak de Boole-expressie (Maxterm representatie) Stap 3: Vereenvoudig deze expressie Stap 4: Implementeer een schakeling met poorten. Stap 5: Test schakeling Als test voldoet klaar Als test faalt ga weer na stap 1 37 Oplossing: Stap 1: De waarheidstabel Als S = ‘0’ wordt a doorgelaten Als S = ‘1’ wordt b doorgelaten. s a b Y 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 38 Oplossing: Stap 2: Boole-uitdrukking Y s.a.b s.a.b s.a.b s.a.b s a b Y 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 39 Oplossing: Stap 3: Vereenvoudigen Y s.a.b s.a.b s.a.b s.a.b Y s.a.(b b) s.b.(a a) Y s.a.1 s.b.1 s.a s.b 40 Oplossing: Stap 4: Ontwerp implementeren Y s.a s.b 41 Oplossing: Stap 5: Testen met Executer 42 Meer modellen: vier-bits opteller 43 SIM-PL & het vo-vak: informatica Computer architectuur Pipeline processor One cycle machine Assembly programming Harvard machine Calculator Calculator File of registers/ALU Register Flipflop/XOR Gate Digital electronics Embedded Systems 44 Een basale calculator ADDI $4, $3, 0200Hex 45 SIM-PL is gemaakt door Wouter Koolen-Wijkstra Wouter heeft vorige week zijn Master of Logic behaald en is gestart met promotieonderzoek aan het Centrum voor Wiskunde en Informatica. 46 Website:www.science.uva.nl/amstel/SIM-PL/ Software Componenten Tutorial Onderwijsmateriaal Uitgewerkt profielwerkstuk Mastermind (wordt over nagedacht) 47 Sponsors: Stichting Edict Digitale Universiteit Instituut voor Informatica UvA Bètapartners 48 Vragen?