Download presentation
Presentation is loading. Please wait.
Published byBertha Lester Modified over 9 years ago
1
12004 MAPLD: 153Brej Early output logic and Anti-Tokens Charlie Brej APT Group Manchester University
2
22004 MAPLD: 153Brej Overview Synchronous Problems Asynchronous Logic Why? How? Solutions Early Output Anti-Tokens
3
32004 MAPLD: 153Brej Problems: Communication Communication horizon “For a 60 nanometer process a signal can reach only 5% of the die’s length in a clock cycle” [D. Matzke,1997] Clock distributed using wave pipelining
4
42004 MAPLD: 153Brej Problems: Performance Cycle time Unbalanced Stages Clock Skew/Jitter Transistor Variability Signal Integrity Worst – Average case performance Real Computation Clock overheads Timing Assumption overheads
5
52004 MAPLD: 153Brej Clock! What is it good for? No arguing with the clock 9am - 5pm. No excuses!
6
62004 MAPLD: 153Brej Bundled-Data When you finish, do the next task Flexitime Request + Delay Acknowledge
7
72004 MAPLD: 153Brej How do you know when you are finished? Synchronous: Estimate Global timing reference Asynchronous (bundled-data) Estimate Local delay elements Asynchronous (delay-insensitive) When the data arrives Intrinsic
8
82004 MAPLD: 153Brej Becoming Delay Insensitive Dual-Rail Two wires 00 – NULL 01 – Zero 10 – One (11 – Not used) Four Phase handshake Return to zero R1 Ack R0
9
92004 MAPLD: 153Brej Early Output Logic Dual-Rail interfaces Output generated as early as possible Two Early output cases If either input is ‘0’ then the output is ‘0’
10
102004 MAPLD: 153Brej Bit level pipelining Forward completed parts of the result Pace work Don’t stall parts unless you have to
11
112004 MAPLD: 153Brej Bit level pipelining Forward completed parts of the result Pace work Don’t stall parts unless you have to
12
122004 MAPLD: 153Brej Bit level pipelining Forward completed parts of the result Pace work Don’t stall parts unless you have to
13
132004 MAPLD: 153Brej Early Output cases
14
142004 MAPLD: 153Brej Validity Unnecessary late inputs Must be acknowledged Must wait until they arrive Validity signal Latch generated Ready to be acknowledged Result before all inputs present Acknowledge after all inputs present
15
152004 MAPLD: 153Brej Synchronisation Hurts No need to wait before generating result Need to wait for input in order to acknowledge it Unnecessary stall
16
162004 MAPLD: 153Brej Anti-Tokens Unnecessary late inputs Stall the entire stage Proactive approach Send a ‘cancel’ signal backward to the source Acknowledge before data arrives Anti-Token latches Assert validity early
17
172004 MAPLD: 153Brej Anti-token generation 0 1 C
18
182004 MAPLD: 153Brej Anti-token generation 0 A 1 C
19
192004 MAPLD: 153Brej Anti-token Propagation 1 C A
20
202004 MAPLD: 153Brej Anti-token Propagation 1 C A A
21
212004 MAPLD: 153Brej Anti-token Token collisions 11 AA 11 AA ? A ? 1
22
222004 MAPLD: 153Brej Anti-token Token collisions 11 A 11 AA 1 A1 1 1
23
232004 MAPLD: 153Brej Remove Unnecessary computation Cycle time Unbalanced Stages Clock Skew/Jitter Transistor Variability Signal Integrity Worst – Average case performance Real Computation Clock overheads Timing Assumption overheads Unnecessary Computation/Delays
24
242004 MAPLD: 153Brej Summary Asynchronous Delay Insensitive Safe No timing assumptions Average case performance Remove unnecessary computation Anti-tokens without mutual exclusion units
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.