Академический Документы
Профессиональный Документы
Культура Документы
Last lecture:
Example circuits
shift registers
Adders
Counters
This lecture
Communications synchronous / asynchronous
Buses
Start transmission lines
11/19/2004
Data transfer
In addition to computation, it is necessary to
transmit information from one place to another.
Buses are used to move data from one logic
device to another in parallel
If the devices are close together, the delay is the
RC time to charge the capacitance.
If the devices are further apart, need to consider
propagation velocity, distortion, crosstalk.
11/19/2004
Multiplexer vs tri-state/bus
To send information to several different
destinations, you can just run wires to each of
the destinations.
But to have information from several sources go
to the same destination, you need to control
which device drives the destination, can not
tolerate pulling up and down on the same wire.
This can be done using multiplexers, or by using
tri-state drivers in a bus architecture
11/19/2004
Multiplexer
For example, if you have four inputs, you
would need a 2 selector 4 input multiplexer
for each bit of output.
I1
I2
I3
I4
A
B
2 input decoder
11/19/2004
11/19/2004
Bus
A bus may be synchronous, to a clock
edge for example, or asynchronous with
handshaking and control lines
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Clock
11/19/2004
Synchronous v. Asynchronous
ClockSignal
SynchronousCircuit
AsynchronousCircuit
HandshakeControl
11/19/2004
Synchronous
In a synchronous circuit, there is an
explicit global synchronization through the
clock signal.
The clock period is chosen to be longer
than the worst case delay (gate delays +
transmission delays)
11/19/2004
Asynchronous circuit
Ack
Logic
Logic
Logic
Req
asynchronous
11/19/2004
10
Asynchronous circuits
Inputs, state, and outputs sampled or changed independently of
a common reference signal (glitches/hazards a major concern)
E.g., R-S latch
11
Synchronous communication
11/19/2004
12
In is asynchronous and
fans out to D0 and D1
Q0
Q1
State of Q0 and Q1
is inconsistent
CLK
11/19/2004
13
Synchronization Failure
Occurs when FF input changes close to clock edge
FF may enter a metastable state neither a logic 0 nor 1
May stay in this state an indefinite amount of time
Is not likely in practice but has some probability
logic 1
logic 0
logic 1
small, but non-zero probability
that the FF output will get stuck
in an in-between state
11/19/2004
logic 0
synchronized
input
Q
Clk
11/19/2004
15
synchronous system
Edge-Triggered Flip-Flops
More efficient solution: only 6 gates
sensitive to inputs only near edge of clock signal (not while high)
holds D' when
clock goes low
R
Clk=1
S
negative edge-triggered D
flip-flop (D-FF)
4-5 gate delays
must respect setup and hold time
constraints to successfully
capture input
holds D when
clock goes low
D
11/19/2004
characteristic equation
Q(t+1) = D
16
data
D Q
D Q
input
clock
clock
stable changing
data
clock
17
If you have to deal with an input which could change at any time, not
under you control, what do you do?
Never allow asynchronous inputs to fan-out to more than one flipflop
Synchronize as soon as possible and then treat as synchronous signal
Clocked
Synchronous
System
Async
Input
D Q
Synchronizer
Q0
Async
Input D Q
D Q
Clock
Clock
D Q
Q1
Clock
11/19/2004
Q0
D Q
Q1
Clock
18
Asynchronous Logic
Ack
Logic
Logic
Logic
Req
19
11/19/2004
20
Synchronous logic:
Only functional correctness aspect must be verified and tested
Asynchronous logic:
In addition to functional correctness, timing must be analyzed
Operation may change for each different operation and
operation rate
Testing is more difficult
Most circuit designers learn only synchronous design.
Most CAD tools only support synchronous design.
Asynchronous circuit CAD tools are being developed.
11/19/2004
21
Clock skew
A major difficulty with synchronous
communications is the fact that the clock must
also travel some distance.
The clock being different from one place in a
circuit to another is called clock skew.
For communications over a distance of a meter
or so, parallel busses are being abandoned in
favor of higher speed asynchronous serial
communications.
Examples parallelUSB PCI PCI express
11/19/2004
22
Serial transmission
Parallel-to-serial conversion for serial
transmission
parallel outputs
parallel inputs
serial transmission
11/19/2004
23
Signal integrity
Reflections
Waveform distortion
Signal attenuation
Crosstalk
11/19/2004
24
Gate delay
So far, the only delay that we have considered is the
time needed to charge up the capacitance due to lines,
and due to the capacitance of the gates of the next
stage.
This implies that if we could only push enough current,
we can make the delay as short as we like.
R
Wire
11/19/2004
Gates
25
Gate delay
If we want to speed up logic, we can
increase the drive
reduce the pull up and pull down resistance
26
Light speed
With lines that are long enough, or switching
speeds are high enough, then we can not
consider the delay to be simply that due to
charging up the capacitance. The signal will
propagate along a wire at the speed of light (in
the dielectric, which is slower than that in air or
vacuum)
Quite a bit of current is necessary to pull up a
line that fast, for a 1 volt signal, 10-20 milliamps
are required.
11/19/2004
27
Transmission Line
When a signal wire is driven with that fast a rise
time compared to its length, a signal will travel
along the wire at the speed of light in the media.
It is even possible to turn off the current, and
have the pulse that is already on the line
continue to propagate toward the destination
So you dont have to wait for one bit to arrive
before you send the next
11/19/2004
28
Transmission Line
As the voltage pulses propagate down the
line, there is a current pulse which travels
down the line with them.
The current is always balanced between
two conductors, for example forward in
one conductor, and backward in the other
11/19/2004
29
Transmission Line
Voltage
30
Z0
pulse
I pulse
31
32