Slide 1

advertisement
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?
Download