IP Library Granted Patent US 12,088,411
Granted Patent B2
US 12,088,411 · App. 17/822,329 · Granted Sep 10, 2024

Cyclic redundancy check (CRC) generation

Inventor: Sergi Cami Gonzalez (Thacham, GB)
Assignee: SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC
H04L1/0061H04L1/0079
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,088,411
App. No.
17/822,329
Granted
Sep 10, 2024
Kind
B2
Abstract

A system such as an imaging system may include Cyclic Redundancy Check (CRC) value generation circuitry. The CRC value generation circuitry may include a data splitter that splits an input data bit stream instead multiple split data bit streams each inserted with a number of bits having a value of 0. A plurality of CRC value generators may each have a corresponding input path to receive a respective one of the split data bit streams and generate corresponding partial CRC values. A data combiner coupled to the plurality of Cyclic Redundancy Check value generators may combine the partial CRC values to generate a final CRC value. A normalizer may be coupled between each of the plurality of CRC generators and the data combiner. Two CRC value data storage structures may help the plurality of Cyclic Redundancy Check value generators and the data combiner perform the desired CRC computations.

Claims (40)

1. Cyclic Redundancy Check value calculation circuitry comprising:

a demultiplexer that receives an input data bit stream and outputs a plurality of split data bit streams based on the input data bit stream, wherein each split data bit stream in the plurality of split data bit streams includes one or more inserted bits;

a plurality of Cyclic Redundancy Check value generators that each generate a partial Cyclic Redundancy Check value based on a corresponding split data bit stream in the plurality of split data bit streams;

logic circuitry coupled to each Cyclic Redundancy Check value generator in the plurality of Cyclic Redundancy Check value generators and that generates a final Cyclic Redundancy Check value based on the partial Cyclic Redundancy Check values; and

a Cyclic Redundancy Check value data storage structure that stores a plurality of pre-computed Cyclic Redundancy Check values accessible by each Cyclic Redundancy Check value generator in the plurality of Cyclic Redundancy Check value generators.

2. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein a given split data bit stream in the split data bit streams includes a first portion from the input data bit stream and a second portion from the input data bit stream separated from the first portion by the one or more inserted bits.

3. The Cyclic Redundancy Check value calculation circuitry defined in claim 2 ,

wherein a given Cyclic Redundancy Check value generator of the plurality of Cyclic Redundancy Check value generators receives the given split data bit stream and wherein the Cyclic Redundancy Check value data storage structure provides one of the plurality of stored pre-computed Cyclic Redundancy Check values to the given Cyclic Redundancy Check value generator to generate a given partial Cyclic Redundancy Check value.

4. The Cyclic Redundancy Check value calculation circuitry defined in claim 3 , wherein the Cyclic Redundancy Check value data storage structure provides the one of the plurality of stored pre-computed Cyclic Redundancy Check values based on a length of the one or more inserted bits in the given split data bit stream.

5. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein the one or more inserted bits are absent from the input data bit stream.

6. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein the logic circuitry comprises exclusive OR logic circuitry.

7. The Cyclic Redundancy Check value calculation circuitry defined in claim 6 further comprising:

a plurality of multiply circuits each coupled to a corresponding one of the plurality of Cyclic Redundancy Check value generators.

8. The Cyclic Redundancy Check value calculation circuitry defined in claim 7 , wherein each of the plurality of multiply circuits has an output coupled the exclusive OR logic circuitry.

9. The Cyclic Redundancy Check value calculation circuitry defined in claim 7 further comprising:

an additional Cyclic Redundancy Check value data storage structure coupled to each of the plurality of multiply circuits.

10. The Cyclic Redundancy Check value calculation circuitry defined in claim 9 , wherein the additional Cyclic Redundancy Check value data storage structure stores pre-computed Cyclic Redundancy Check values associated with removing appended bits from the plurality of split data bit streams.

11. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein the input data bit stream comprises image data and wherein the final Cyclic Redundancy Check value is a Cyclic Redundancy Check value of the image data.

12. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein the plurality of Cyclic Redundancy Check value generators are coupled along respective parallel paths between the demultiplexer and the logic circuitry.

13. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein each partial Cyclic Redundancy Check value in the plurality of partial Cyclic Redundancy Check values is generated based on a bit stream ending with one or more bits with a same value.

14. The Cyclic Redundancy Check value calculation circuitry defined in claim 13 , wherein the pre-computed plurality of Cyclic Redundancy Check values contain pre-computed plurality of Cyclic Redundancy Check values for bit streams ending with the one or more bits with the same value.

15. The Cyclic Redundancy Check value calculation circuitry defined in claim 14 , wherein the logic circuitry is configured to perform a bit-wise exclusive OR operation on the partial Cyclic Redundancy Check values to generate the final Cyclic Redundancy Check value.

16. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 further comprising:

a normalizer coupled between the logic circuitry and the plurality of Cyclic Redundancy Check value generators.

17. The Cyclic Redundancy Check value calculation circuitry defined in claim 16 further comprising:

an additional Cyclic Redundancy Check value data storage structure, wherein the normalizer includes a plurality of multiply circuits each coupled to the additional Cyclic Redundancy Check value data storage structure.

18. The Cyclic Redundancy Check value calculation circuitry defined in claim 1 , wherein the logic circuitry is configured to combine the partial Cyclic Redundancy Check values to generate the final Cyclic Redundancy Check value during a time period and wherein the plurality of Cyclic Redundancy Check value generators are each configured to generate the partial Cyclic Redundancy Check value outside of the time period.

19. An imaging system comprising:

an image sensor; and

Cyclic Redundancy Check value calculation circuitry coupled to the image sensor and comprising:

a demultiplexer that receives an input data bit stream and outputs a plurality of split data bit streams based on the input data bit stream;

a first Cyclic Redundancy Check value generator that generates a first partial Cyclic Redundancy Check value based on a first split data bit stream in the plurality of split data bit streams;

a second Cyclic Redundancy Check value generator that generates a second partial Cyclic Redundancy Check value based on a second split data bit stream in the plurality of split data bit streams;

a Cyclic Redundancy Check value data storage structure that stores a plurality of Cyclic Redundancy Check values prior to the demultiplexer receiving the input data bit stream, the stored plurality of Cyclic Redundancy Check values being accessible by the first and second Cyclic Redundancy Check value generators; and

logic circuitry that generates a final Cyclic Redundancy Check value based on the first partial Cyclic Redundancy Check value and the second partial Cyclic Redundancy Check value.

20. Cyclic Redundancy Check value calculation circuitry comprising:

a demultiplexer that receives an input data bit stream and outputs a plurality of split data bit streams based on the input data bit stream, wherein each split data bit stream in the plurality of split data bit streams includes one or more inserted bits;

a plurality of Cyclic Redundancy Check value generators that each generate a partial Cyclic Redundancy Check value based on a corresponding split data bit stream in the plurality of split data bit streams;

logic circuitry coupled to each Cyclic Redundancy Check value generator in the plurality of Cyclic Redundancy Check value generators and that generates a final Cyclic Redundancy Check value based on the partial Cyclic Redundancy Check values, wherein the logic circuitry comprises exclusive OR logic circuitry; and

a plurality of multiply circuits each coupled to a corresponding one of the plurality of Cyclic Redundancy Check value generators.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 061879, FRAME 0655 Recorded Jun 23, 2023
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: FAIRCHILD SEMICONDUCTOR CORPORATION; SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC
Reel/Frame 064123/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 061879/0655 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2022
From: CAMI GONZALEZ, SERGI
To: SEMICONDUCTOR COMPONENTS INDUSTRIES, LLC
Reel/Frame 060902/0801 →