Академический Документы
Профессиональный Документы
Культура Документы
Honors Discussion #4
EECS 150 Spring 2010
Chris W. Fletcher
UCB EECS150 Spring 2010, Honors #4
Today
SCORE commentary
Synchronous pipelines
Throughput case study
Big Picture
This week:
Next week:
After that:
Synchronous pipelines
& data transactions
Asynchronous pipelines
& data transactions
putting it all together
{Synchronous, Asynchronous} FIFOs
Synchronous Pipelines
Where do we start?
With the simple case
This circuit is called a
shift register or (de)serializer
Synchronous Pipelines
3 4 5
Considerations
Must know each modules latency (doesnt have to == 1)
Make sure the output is ready by the time it sees the data!
UCB EECS150 Spring 2010, Honors #4
Synchronous Pipelines
Train wreck!
How do we fix this?
Add control logic
6
Synchronous Pipelines
Monolithic/lock-step approach:
1. Controller-timed
Control
Enable
Enable
Ready
Enable
Enable
Control
Ready
1. Self-timed
Enable
Enable
Enable
Enable
Done
Done
Done
Done
Synchronous Pipelines
Monolithic/lock-step pitfall
Each can handle multi-stage operations
But what does this do to performance?
Well, NO data moves in any stage
until the slowest stage is done.
Consider (try to find the bottleneck assuming lock-step):
Synchronous Pipelines
Decoupled approach
Valid
Ready
No central controller
Latency Insensitive
Each module keeps track of its own time
Data moves at the rate of each module
not the rate of the slowest piece
Sound familiar?
UCB EECS150 Spring 2010, Honors #4
Throughput Considerations
OutReady
1'b0
Read
E
1'bx
D FF Q
OutValid
S
Write
Read
0
1
1
0
Action
No change
Clear
Set
???
Write
InValid
InReady
InData
E
D FF Q
10
Throughput Considerations
1'b1
1'b1
Ready
Write
Read
0
1
1
0
Action
Clock
No change
Clear
InReady
Set
???
OutValid
InValid
OutReady
11
Homework
Thought problem
Fix the throughput issue
(allow for ideal throughput)
12
UC Berkeley CS150 (Spring 2010): Components and Design Techniques for Digital Systems
13