IP Library Granted Patent US 11,626,178
Granted Patent B2
US 11,626,178 · App. 17/449,548 · Granted Apr 11, 2023

Packetized power-on-self-test controller for built-in self-test

Inventors: Anubhav Sinha (Hyderabad, IN); Ramalingam Kolisetti (Karempudi, IN); Amit Gopal M. Purohit (Bangalore, IN); Sai Manish Rao Marru (Hyderabad, IN); Sahil Soni (Bangalore, IN); Salvatore Talluto (Agrate Brianza, IT)
Assignee: Synopsys, Inc.
G11C29/10G11C29/36G11C29/46G11C2029/3602
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 11,626,178
App. No.
17/449,548
Granted
Apr 11, 2023
Kind
B2
Abstract

Techniques for testing an integrated circuit (IC) are disclosed. A controller in the IC retrieves first testing data from a first memory in the IC. The controller transmits the first testing data to a first built-in self-test (BIST) core. The controller receives a response from the first BIST core, relating to a test at the first BIST core using the first testing data. The controller determines a status of the test relating to the IC based on the response.

Claims (57)

1. A method, comprising:

retrieving, by a controller in an integrated circuit (IC), first testing data from a first memory in the IC;

transmitting, by the controller, the first testing data to a first built-in self-test (BIST) core, wherein the IC comprises a system-on-chip (SoC) and wherein the first testing data is transmitted to the first memory during a period when the SoC is idle in its functional operation;

receiving, by the controller, a response from the first BIST core, relating to a test at the first BIST core using the first testing data; and

determining, by the controller, a status of the test based on the response from the first BIST core.

2. The method of claim 1 , wherein the first BIST core is associated with a first ring comprising a first plurality of BIST cores, wherein the first ring is one of a plurality of rings in the IC, each of the plurality of rings comprising a respective plurality of BIST cores, and wherein transmitting the first testing data from the controller to the first BIST core associated with the first ring further comprises:

selecting the first BIST core based on transmitting a first instruction to a ring selector indicating selection of the first ring, wherein the first instruction is generated based on retrieving a corresponding second instruction from the first memory and decoding the second instruction.

3. The method of claim 1 , further comprising:

triggering the controller based on receiving a message at the controller from a primary controller,

wherein the controller is one of a plurality of secondary controllers associated with the primary controller,

wherein each of the plurality of secondary controllers is associated with a respective ring, of a plurality of rings in the IC, and

wherein the message is transmitted from the primary controller to the controller using a ring selector associated with the controller and configured to select among the plurality of rings.

4. The method of claim 1 , wherein the first testing data comprises a plurality of data packets, and wherein the plurality of data packets are generated based on one or more generated test patterns and the packets are stored in the first memory.

5. The method of claim 1 , wherein the status of the test relating to the IC relates to at least one of: (i) per-GIST-core testing, (ii) per interval testing, or (iii) per-test pattern testing.

6. The method of claim 5 , wherein the status of the test relating to the IC relates to per-BIST-core testing, and wherein the test status comprises a failure status if any test relating to the first BIST core comprises a failure test.

7. The method of claim 5 , wherein the status of the test relating to the IC relates to per interval testing for a plurality of intervals, wherein each interval comprises a set of test patterns for testing the IC, and wherein the first testing data relates to the set of test patterns.

8. The method of claim 5 , wherein the status of the test relating to the IC relates to per-test pattern testing for a plurality of test patterns, wherein the first testing data relates to the plurality of test patterns.

9. The method of claim 1 , further comprising:

retrieving a first digital signature from the first memory, wherein the first digital signature relates to the first testing data stored in the first memory;

receiving, by the controller, the first testing data from the first memory;

calculating a second digital signature, by the controller, based on the received first testing data; and

determining, by the controller, an error associated with the received testing data based a comparison between the first digital signature and the second digital signature.

10. The method of claim 1 , further comprising:

retrieving, by the controller from a second memory, second testing data relating to the testing by the first BIST core based on corruption of the first testing data in the first memory; and

transmitting the second testing data from the controller to the first BIST core, wherein the received response from the first BIST core relates to the test at the first BIST core using both at least a portion of the first testing data, and the second testing data.

11. The method of claim 1 , further comprising:

performing a self test, of the controller, using one or more instructions stored in the first memory, wherein the retrieving the first testing data from the first memory is based on determining that the self test is successful.

12. An integrated circuit (IC) comprising:

a plurality of rings, each ring comprising a respective plurality of built-in self-test (BIST) cores;

a ring selector;

a first memory storing instructions and

a controller, coupled with the first memory and to execute the instructions, the instructions, when executed, causing the controller to:

retrieve testing data, wherein the testing data relates to testing by one of the plurality of BIST cores, wherein the testing data comprises a plurality of data packets, and wherein the plurality of data packets are generated based on one or more generated test patterns and the packets are stored in the first memory;

transmit a first instruction to the ring selector indicating selection of a first ring, comprising a first BIST core, from the plurality of rings;

transmit the testing data from the controller to the first BIST core;

receive a response, at the controller from the first BIST core, relating to operation of a test at the first BIST core using the testing data; and

determine a status of testing relating to the IC, at the controller, based on the response.

13. The IC of claim 12 , wherein the testing data comprises a plurality of data packets, and wherein the plurality of data packets are generated based on one or more generated test patterns.

14. The IC of claim 12 , the controller further:

retrieving a stored first digital signature, wherein the first digital signature relates to the testing data;

calculating a second digital signature using the testing data; and

determining an error associated with the received testing data based a comparison between the first digital signature and the second digital signature.

15. The IC of claim 12 , wherein the testing data is retrieved from a second memory, the controller further:

retrieving, from a third memory, second testing data relating to the testing by the first BIST core based on corruption of the first testing data in the second memory; and

transmitting the second testing data from the controller to the first BIST core, wherein the received response relates to the test at the first BIST core using both at least a portion of the first testing data, and the second testing data.

16. The IC of claim 12 , the controller:

performing a self test of the controller, using one or more stored instructions, wherein the retrieving the testing data from the memory is based on determining that the self test is successful.

17. A method comprising:

receiving, at a secondary controller in an integrated circuit (IC), a trigger message from a primary controller in the IC, wherein the secondary controller is one of a plurality of secondary controllers associated with the primary controller;

retrieving, using the secondary controller, testing data from a memory in the IC;

transmitting the testing data from the secondary controller to a first built-in self-test (BIST) core associated with a first ring comprising a first plurality of BIST cores, wherein the first ring is one of a plurality of rings in the IC, each of the plurality of rings comprising a respective plurality of BIST cores;

receiving a response, at the secondary controller from the first BIST core, relating to operation of a test at the first BIST core using the testing data; and

determining, at the secondary controller, a status of testing relating to the IC based on the response.

18. The method of claim 17 ,

wherein each of the plurality of secondary controllers is associated with a respective ring, of the plurality of rings in the IC, and

wherein the trigger message is received at the secondary controller from the primary controller using a plurality of ring selectors configured to select among the plurality of rings.

19. The method of claim 17 , wherein the testing data comprises a plurality of data packets, and wherein the plurality of data packets are generated based on one or more generated test patterns and the packets are stored in the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: SINHA, ANUBHAV; KOLISETTI, RAMALINGAM; PUROHIT, AMIT GOPAL M.; MARRU, SAI MANISH RAO; SONI, SAHIL; TALLUTO, SALVATORE
To: SYNOPSYS INCORPORATED
Reel/Frame 057660/0457 →
Priority Claims (1)
IN 202041042929 · Oct 2, 2020 · national
Continuity (1)
Related Publication 20220108760A1 · Apr 7, 2022
Cited By (1)
US 12,664,064