• Ingen resultater fundet

PID (Partial Inversion Data):

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "PID (Partial Inversion Data):"

Copied!
21
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

PID (Partial Inversion Data):

an M-of-N Level-Encoded Transition Signaling Protocol for Asynchronous Global Communication

Marco Cannizzaro and Luciano Lavagno

Dipartimento di Elettronica Politecnico di Torino, Turin, Italy

Email: {marco.cannizzaro, luciano.lavagno}@polito.it ASYNC12

May 7-9, 2012

(2)

Asynchronous data communication

• Delay-Insensitive (DI) Codes

(= unordered codes)

Provide timing-robust communication:

Tolerant to arbitrary bit skew, P/V/T variability.

• NRZ (2-phase) codes

Potential better throughput and less power than RZ (4-phase)

no ’spacer code’ is required between any pair of valid codewords.

(3)

Level Vs. Transition Encoded

• Level Encoded

• given a codeword, the encoded data can be directly extracted by using a combinational logic function

• any codeword corresponds to one and only one symbol

• Transition Encoded

• the encoder and decoder need to store at least one past codeword.

3

Level Encoded

Transition Encoded 1-of-2 LEDR M-of-N Transition

Encoded 1-of-N LETS

(4)

DI 2-phase Background:

1-of-2 LEDR

2 wires per bit

Level-encoding

• Data rail: holds actual data value

• Parity rail: holds parity value

Alternating-phase protocol

• Encoding parity alternates between odd and even

0 1

Even 0 0 1 1 Odd 0 1 1 0

Bit value

Phase

Data Rail Parity Rail

(5)

DI 2-phase Background:

1-of-4 LETS

phase symbol codeword

ODD

S0 1000/0111 S1 0100/1011 S2 0010/1101 S3 0001/1110

EVEN

S0 1111/0000 S1 0011/1100 S2 0101/1010

S3 0110/1001 5

4 wires per 2 data bits

Alternating-phase protocol

• 2 codewords for each symbol in each phase

(6)

DI 2-phase Background:

M-of-N Transition Encoded

m: number of transitions per transaction

n: number of bits of the codeword

k: max. number of bits encoded

 Any combination of m transitions in the codeword encodes exactly one symbol

 

!

!

# !

m n

m symbols n

 

symbols

floor

k  log2#

(7)

Comparison:

Power Vs. Coding Density

7

k=1

k=3 k=3

k=8 k=5

k=8 k=8

k=10

0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1

1,2 1,7 2,2 2,7 3,2

Power metric (m/k)

Coding density (n/k)

1-of-n 2-of-n 3-of-n 4-of-n

1-of-4 LETS 1-of-2

LEDR

(8)

Comparison:

Hardware (decoder) cost

k=3

k=8

k=5

k=8

k=8 k=10

0 1 2 3 4 5 6 7

3 30 300 3000

# storage elements / k

# literals / k

1-of-n 2-of-n 3-of-n 4-of-n

1-of-2 LEDR

1-of-4 LETS

(9)

Contribution

9

Evaluation metric

M-of-N Transition

Encoded

1-of-2 LEDR 1-of-N LETS

Coding

efficiency good bad

Power

consumption good bad

Hardware cost bad good

M-of-N PID

good

good good

(10)

PID codeword

The Data field (D) carries the value of the first d bits of the

encoded data (inverted or not according to the inversion field).

The Inversion field (I) carries two pieces of information:

1. whether the data field (D) is inverted or not and

2. the value of k encoded bits which are not in the data field (D).

The Parity field (P) always ensures M transitions in the

codeword.

(11)

PID: the idea

• By optionally inverting all the bits of the data field (D) we reduce the maximum number of transitions to the floor of d/2 for any transaction.

• The inversion field (I) (which always has 0 or 1

transitions) is composed of sub-fields I<x> and each of them corresponds to one encoded data bit.

This increases the number of encoded data bits

without increasing the number of transitions M in the codeword (i.e. improves the power efficiency of the code).

11

(12)

Example: the 2-of-7 PID code

Last codeword: 00.11.001

Encoded data: 0110

Next data to be encoded: 1101

Next codeword: 00.10.101

0 0 1 1 0 0 1

0 1 1 0

0 1

1 1 0 1

(13)

M-of-N PID codes

# data bits

Proposed M-of-N codes

d=1 d=2 d=3 d=4 d=5 d=6 d=7

1 1-of-2 - - - - - -

2 1-of-4 2-of-4 - - - - -

3 1-of-8 2-of-6 - - - - -

4 1-of-16 2-of-10 2-of-7 - - - -

5 1-of-32 2-of-18 2-of-11 3-of-9 - - -

6 1-of-64 2-of-34 2-of-19 3-of-13 3-of-10 - -

7 1-of-128 2-of-66 2-of-35 3-of-21 3-of-14 4-of-12 - 8 1-of-256 2-of-130 2-of-67 3-of-37 3-of-22 4-of-16 4-of-13 9 1-of-512 2-of-258 2-of-131 3-of-69 3-of-38 4-of-24 4-of-17

13

Codes in grey are not Pareto-optimal and can be replaced with other codes which have better coding efficiency.

(14)

M-of-N PID decoder HW

The hardware for a particular M-of-N1 code can be

reused for any M-of-N2 code where N2 < N1, if the extra inputs in the inversion field are not used.

(15)

M-of-N PID Encoding algorithm

15

Step 1: The Hamming distance is computed between the first d bits of the new data and the data field (D) of the previous codeword.

Step 2: Each one of the other k data bits is compared to the corresponding bit of the previous data and the index of the inversion sub-field that must have a transition is selected.

Step 3.1: If one inversion field must be flipped, the algorithm:

1. Checks whether the data will be inverted in the new data field or not.

2. Looks for and flips the bit within the inversion sub-field.

Step 3.2: If none inversion field must be flipped, the algorithm only checks whether the data will be inverted in the new data field or not.

Step 4: Data is inverted or not to generate the data field (D).

Step 5: Between 0 and M bits of the parity field are flipped in order to always have M transitions in the codeword.

(16)

Results: Power and Coding efficiency

(17)

Results: Area overhead (due to decoder)

17

(18)

Results: Delay overhead (due to decoder)

(19)

Conclusion: the PID code…

 …is a Delay-Insensitive M-of-N protocol, where only M wires flip for each data transaction.

 …is a NRZ code, having significant power and

throughput benefits with respect to Return-to-Zero (RZ) codes.

 …is Level-encoded, meaning that the decoding process simply uses the values of the codeword.

 …has a generic encoding algorithm and decoder implementation (that works for any M-of-N PID

code).

19

(20)

Conclusion: PID results

PID comparison Coding Efficiency HW overhead 1-of-N LETS better/equal equal (but LETS has

no generalization)

M-of-N Transition Encoded worse/equal better

In particular, the 2-of-7 PID code, which encodes 4 data bits in 7 codeword wires, Pareto dominates all other DI NRZ codes.

(21)

Thank you for your attention!

Marco Cannizzaro

Dipartimento di Elettronica Politecnico di Torino, Turin, Italy Email: marco.cannizzaro@polito.it

Referencer

RELATEREDE DOKUMENTER

The evaluation of SH+ concept shows that the self-management is based on other elements of the concept, including the design (easy-to-maintain design and materials), to the

In general terms, a better time resolution is obtained for higher fundamental frequencies of harmonic sound, which is in accordance both with the fact that the higher

1942 Danmarks Tekniske Bibliotek bliver til ved en sammenlægning af Industriforeningens Bibliotek og Teknisk Bibliotek, Den Polytekniske Læreanstalts bibliotek.

Over the years, there had been a pronounced wish to merge the two libraries and in 1942, this became a reality in connection with the opening of a new library building and the

H2: Respondenter, der i høj grad har været udsat for følelsesmæssige krav, vold og trusler, vil i højere grad udvikle kynisme rettet mod borgerne.. De undersøgte sammenhænge

Driven by efforts to introduce worker friendly practices within the TQM framework, international organizations calling for better standards, national regulations and

Ved at se på netværket mellem lederne af de største organisationer inden for de fem sektorer, der dominerer det danske magtnet- værk – erhvervsliv, politik, stat, fagbevægelse og

Until now I have argued that music can be felt as a social relation, that it can create a pressure for adjustment, that this adjustment can take form as gifts, placing the