Diagonal interleaved parity calculator
First Claim
1. A programmable device configured to calculate a diagonal interleaved parity word for a packet formed from a sequence of data words and ending in a control word, the programmable device comprising:
- a plurality of programmable blocks, one or more of the programmable blocks being configured to propagate a set of diagonal XOR calculation chains through the packet to provide the diagonal interleaved parity word, the one or more programmable blocks being configured such that the diagonal XOR calculation chains have the same length regardless of the number of data words in the packet.
5 Assignments
0 Petitions
Accused Products
Abstract
A method of calculating a diagonal interleaved parity word for groups of words sampled from a bus is provided, wherein a predetermined number of words are included in each sampling cycle. The bus carries successive data words that are followed by a control word. At each sampling cycle, diagonal XOR calculations chains are propagated through the words that were sampled. However, if a sampling cycle includes the control word, the words following the control word are assigned to logical zero values. The diagonal XOR calculation chains may then be terminated after processing the words in this sampling cycle to derive an intermediate diagonal parity word. The intermediate diagonal parity word may then be adjusted according to the number of words that were assigned logical zero values to calculate a second diagonal interleaved parity word.
30 Citations
14 Claims
-
1. A programmable device configured to calculate a diagonal interleaved parity word for a packet formed from a sequence of data words and ending in a control word, the programmable device comprising:
a plurality of programmable blocks, one or more of the programmable blocks being configured to propagate a set of diagonal XOR calculation chains through the packet to provide the diagonal interleaved parity word, the one or more programmable blocks being configured such that the diagonal XOR calculation chains have the same length regardless of the number of data words in the packet. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A method of calculating a diagonal interleaved parity (DIP) word from a packet formed from a succession of data words ordered from a first data word to a last data word, the packet ending in a control word, the method comprising:
-
successively sampling a predetermined number of words from the packet, wherein the first sample starts at the first data word; for each successive sample of words, determining whether the control word is included in the sample; if the control word is not included in the sample of words, propagating a set of diagonal XOR calculation chains through the sample; and if the control word is included in the sample of words, assigning the words following the control word in the sample to logical zeroes and then propagating the set of diagonal XOR calculation chains through the sample of words to provide a DIP parity word. - View Dependent Claims (9, 10)
-
-
11. A programmable device configured to calculate a diagonal interleaved parity (DIP) word from a packet formed from a sequence of data words arranged from a first data word through a last data word, the packet ending in a control word, the programmable device comprising:
a plurality of programmable blocks, one or more of the programmable blocks being configured to sequentially process the packet by sampling an external bus an ordered sample of words at a time to form a first ordered sample through a last ordered sample, the first ordered sample beginning with the first data word, the last ordered sample containing the control word, wherein any words following the control word in the last ordered sample are assigned to logical zeroes, the one or more programmable blocks being configured to sequentially process the ordered samples by propagating a set of diagonal XOR calculation chains through each ordered sample to produce an intermediate DIP word and then adjusting the intermediate DIP word to produce a second DIP parity word. - View Dependent Claims (12, 13, 14)
Specification