Variable Entered Maps
Variable Entered Maps
Map 1s
Convert 1s to dont cares (X)
Map LIKE entries
Use dont cares in any manner
Ensure that ALL entries are mapped
P
0
done
Q
0
done
1 ready
Q
0
1s to Xs
1 ready
out
Q done
Q ready
6
Software Design
1 = ready + ready
P
0
out
P
1
0 done
1 ready
P done
Q
0
done + done
done
1 ready
Q done
Q ready
Software Design
Version 2
out =
P done
Version 1
out =
+ Q done + Q ready
+ Q done +
??????
Q ready
OK
P
PQ
00
done ready
P
0
0 done
1 ready
11
10
00
01
11
10
ready
Expanding to a 4-variable
Non-VEM map
01
done
Q
3
Software Design
Version 2
P done
PQ
00
done ready
P
Q
+ Q done + Q ready
0
0 done
1 ready
1
1
X
Expanding to a 4-variable
Non-VEM map
P
01
11
10
00
01
11
10
ready
done
Software Design
out =
Q ready
PQ
00
done ready
P
0
+ Q done +
0 done
1 ready
Expanding to a 4-variable
Non-VEM map
P
01
11
00
01
11
10
ready
10
done
Software Design
Asynchronous signals
Input signal
Software Design
Synchronizer circuit
Asynchronous
input
FF2
FF1
input signal
output signal
clock
Synchronized
signal
Global lowskew clock
Software Design
The state codes can be allocated in any way, but must adhere
to one rule
Asynchronous variable rule
State
variables
1.
2.
DE
00
State
codes
Asynchronous
input
a
00
b
01
c
11
d
10
Software Design
No race condition
Next
state
logic
DD
QD
Next
state
logic
DE
QE
clock
Software Design
The state codes can be allocated in any way, but must adhere
to 1 rule
Asynchronous variable rule
DE
00
1.
2.
Asynchronous
input
a
00
P
P
b
01
c
10
d
11
D
0
Software Design
Race condition
Routes of race
condition
Next
state
logic
DD
QD
Next
state
logic
DE
QE
Delay
causes race
clock
11
Software Design
System design
Data
Control
Data in
Data
manipulation
Control signals
control
Control signals
Data out
Software Design
Registers
Counters
Shift registers
Multplexors
Up, down
Left, right
Also called data selectors
De-multiplexors
Comparators
Arithmetic units
Direction
Polarity
Level or edge
13
Software Design
Register
Data inputs
n wires
load
register
Output enable
n wires
Data outputs
+ve Edge
triggered
Optional
connection
14
Software Design
Counter
Data inputs
n wires
load
clock
counter
Up/down
Output enable
n wires
Data outputs
15
Software Design
Shift register
parallel inputs
Left/right
Serial in
n wires
Output enable
Shift register
load
n wires
Serial out
clock
parallel outputs
16
Software Design
Multiplexer
Output enable
m wires
m wires
2n
inputs
multiplex
m wires
1
output
m wires
n wires
select
17
Software Design
De-multiplexor
Output enable
m wires
1
input
m wires
De multiplex
m wires
2n
outputs
m wires
n wires
select
18
Software Design
comparator
Output enable
m wires
Input A
A=B
A<B
A>B
Comparator
m wires
A=5
Input B
A = 2,3,4,7
etc
19
Software Design
Arithmetic unit
General purpose
Output enable
m wires
Input A
m wires
ALU
Arithmetic result
m wires
Carry/borrow/etc
Input B
Result = 0
Result > 0
Result < 0
Operation select
20
Software Design
10
Arithmetic unit
Simple adder
Output enable
m wires
Input A
m wires
adder
Arithmetic result
m wires
Carry
Input B
21
Software Design
11