Nova Patents
US7103832B2

Scalable cyclic redundancy check circuit

Summary by NHIP

Scalable CRC Circuit Architecture

The circuit performs cyclic redundancy checks using a packet data slice latch, multiple level XOR subtrees, and a combinational XOR subtree. Distinctive elements include an M-bit current CRC result latch feeding a remainder XOR subtree and intervening latch levels connecting lower to higher XOR subtrees.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A CRC circuit, CRC method, and method of designing a CRC circuit, the CRC circuit, including: a packet data slice latch having outputs; a multiple level XOR subtree, each level including one or more XOR subtrees, each output of the packet data slice latch coupled to an input of the multiple level XOR subtree, each lower level XOR subtree coupled to a higher level XOR subtree through an intervening latch level; a remainder XOR subtree; a combinational XOR subtree, the outputs of the remainder XOR subtree and the outputs of the multiple level XOR subtree coupled to the inputs of the combinational XOR subtree; and a current CRC result latch, the output of the combinational XOR subtree coupled to the inputs of the current CRC result latch and the outputs of the M-bit current CRC result latch coupled to the inputs of the remainder XOR subtree.

US7103832B2, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 4 May 2025, 1.4 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

20 claims: 3 independent, 17 dependent

  1. 1
    Broadest claimClaim Score 38, average(NHIP)A cyclic redundancy check circuit, comprising:a W-bit packet data slice latch having outputs;a multiple level XOR subtree having inputs and outputs, each level comprising one or more XOR subtrees, each output of said packet data slice latch coupled to an input of said multiple level XOR subtree, each lower level XOR subtree of said multiple level XOR subtree coupled to a higher level XOR subtree of said multiple level XOR subtree through an intervening latch level;a remainder XOR subtree having inputs and outputs;a combinational XOR subtree having inputs and outputs, the outputs of said remainder XOR subtree and the outputs of said multiple level XOR subtree coupled to the inputs of said combinational XOR subtree;and an M-bit current CRC result latch having inputs and outputs, the output of said combinational XOR subtree coupled to the inputs of said current CRC result latch and the outputs of said M-bit current CRC result latch coupled to the inputs of said remainder XOR subtree.
  2. 9
    A method for cyclic redundancy check calculation, comprising:providing a W-bit packet data slice latch having outputs;providing a multiple level XOR subtree having inputs and outputs, each level comprising one or more XOR subtrees, each output of said packet data slice latch coupled to an input of said multiple level XOR subtree, each lower level XOR subtree of said multiple level XOR subtree coupled to a higher level XOR subtree of said multiple level XOR subtree through an intervening latch level;providing a remainder XOR subtree having inputs and outputs;providing a combinational XOR subtree having inputs and outputs, the outputs of said remainder XOR subtree and the outputs of said multiple level XOR subtree coupled to the inputs of said combinational XOR subtree;and providing an M-bit current CRC result latch having inputs and outputs, the output of said combinational XOR subtree coupled to the inputs of said current CRC result latch and the outputs of said M-bit current CRC result latch coupled to the inputs of said remainder XOR subtree.
  3. 17
    A method of designing an M-bit cyclic redundancy check circuit, the method comprising:partitioning an XOR function of said cyclic redundancy check circuit into a remainder XOR partition and a multiple level packet data slice XOR partition;determining I, the largest number of bits I of a subset of the M-bits of a CRC result required to generate output bits of a remainder partition XOR subtree of said cyclic redundancy check circuit;determining Z, the largest number of inputs to an XOR gate in a design library to be used in said cyclic redundancy check circuit;calculating K, the maximum number of XOR stages comprised of Z-input XOR gates in said remainder XOR subtree;calculating N, the maximum number of inputs to any XOR subtree in any level of a multiple level XOR subtree partition of said cyclic redundancy check circuit;partitioning said multiple level XOR subtree partition into XOR subtrees having no number of inputs that is larger than a number of inputs to said remainder XOR subtree;and inserting a latch between each XOR subtree of a lower level partition of said packet data slice XOR partition and an immediately higher level partition of said packet data slice XOR partition.