1 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Asynchronous Bit-stream Compression Arkadiy Morgenshtein, Avinoam Kolodny, Ran Ginosar Technion – Israel Institute of Technology MATRICS Research Group, Electrical Engineering Department Technion – Israel Institute of Technology Haifa, Israel MATRICS Research Group
2 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Background & Motivation
3 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Synchronous Serial Link Fast Clock generation is problematic Sensitive to timing uncertainty on chip
4 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Asynchronous Serial Link Fast operation No need for clock Insensitive to timing uncertainty
5 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Motivation solution Compression Bit-stream CompressionAsynchronous (ABC) Limited Bandwidth
6 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Concept
7 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Data S P LEDR Asynchronous Signaling Level Encoded Dual Rail Each bit on two wires One wire (S) is the state (0, 1) The other wire (P) helps with phase To change from one value to the next: –If different value, toggle S –If same value, toggle P Only one wire toggles No need for Clock!
8 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Data S P LEDR ABC Concept Level Encoded Dual Rail Each bit on two wires One wire (S) is the state (0, 1) The other wire (P) helps with phase To change from one value to the next: –If different value, toggle S –If same value, toggle P Only one wire toggles No need for Clock! What if… both signals would toggle?
9 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Concept Asynchronous Bit-stream Compression Identify a sequence of identical bits Mark the beginning of the sequence by one of the ABC transitions Transmit the length of the sequence Mark the end of the encoding by one of the ABC transitions. The new transitions can be used for:
10 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Data S P sequence ticks saved LEDR S P ABC Example of ABC Savings Beginning of compression is marked by ABC transition The length of the sequence is encoded and transmitted The end of the compression is marked by ABC transition Transmission continues in regular LEDR mode Transmission starts in regular LEDR mode
11 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Architecture
12 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Transmitter
13 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Transmitter Sequence Detectors Scan Windows Eight 2-bit XORs XORs compare sequent bits Sequence Detectors Identify sequences Store the indices and lengths in sequence registers
14 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Transmitter Controller Sequence Stapler Combines sequences Produce final indices Controller Signals when compression starts and ends Transmits the sequence length Moves the pointer of MUX to next bit after the sequence
15 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Transmitter ABC State Machine LEDR mode Standard protocol One signal toggles each time ABC mode Compression performed ABC activated by Controller ABC transitions symbolize the start and the end of compression
16 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Receiver
17 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Receiver Clock Generator Translates the transitions in S and P signals into clock pulses. Synchronizes the data storage in the register, controls the FSM. Identify the ABC transitions used for compression beginning. Toggles the input to FSM when ABC starts, switching to a different operation mode.
18 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Receiver Enabling Decoder Converts the data from serial to parallel. Provides enable signals to all cells for data storage In LEDR only one cell is enabled in every cycle In ABC multiple cells are enabled according to from and till indices. All the cells in ABC get the same value in one cycle - fast storage
19 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Receiver Count mode With each clock an internal counter is increased by one. The counter controls the enabling decoder. Comp_Decode mode Activated when the length is received Creates the from and till signals for Enabling Decoder Returns to Count at next clock Comp_Decode mode Activated when ABC identified Stable while the sequence length code is received Receiver FSM
20 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Design Considerations Trade-offs + Maximal throughput - Increased area and power Add a register to contain two packets. Detect sequences in one packet while transmitting the other packet. + No additional register is needed - Increased transmission time Delaying the transmission by 8 clocks. Allow the scanning of all the bits and detection of the sequences. + Reduced latency, area and power - Reduced ABC compression efficiency Transmit the first 8 bits without ABC. Scan and detect sequences in the remaining 24 bits. Alternative our architecture
21 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Results
22 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC in Random Packets ABC system - transmitter, receiver and 32-bit registers - was designed using VHDL Transmission time evaluation of the uncompressed packet was 655ns For maximal compression rate, the transmission time was reduced by 55% to 295ns Simulation of ABC with a series of 100 random packets with various number and lengths of sequences
23 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Image Transmission by ABC (c)(b)(a) Image Image size [kb] TX original [ms] TX by ABC [ms] TX reduction [%] Images with various differentiation were used for ABC effectiveness evaluation
24 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Summary Asynchronous Bit-stream Compression proposed ABC targets improvement of BW utilization Significant saving in transmission time and power ABC interfaces were implemented and simulated Number of transitions was reduced by up to 54%
25 Asynchronous Bit-stream Compression (ABC) IEEE 2006 Questions?