# US 10,372,855 B2 · Scan cell selection for partial scan designs

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,855 B2
- Document ID: US10372855B2
- Status: Granted
- Kind: B2
- Application number: 14/633,999
- Filed: 2015-02-27
- Published: 2015-09-03
- Granted: 2019-08-06
- Earliest claimed: 2014-02-28
- Assignees: Mentor Graphics Corporation
- Applicants: Mentor Graphics Corporation
- Inventors: Xijiang Lin; Ting-Pu Tai; Wu-Tung Cheng; Takeo Kobayashi
- Web page: https://patentgrep.com/patent/US10372855B2

## CPC

- G01R 31/318533: {using scanning techniques, e.g. LSSD, Boundary Scan, JTAG}
- G01R 31/317: Testing of digital circuits
- G01R 31/318586: {with partial scan or non-scannable parts}
- G06F 30/30: Circuit design
- G06F 30/33: Design verification, e.g. functional simulation or model checking
- G06F 30/3308: using simulation
- G06F 30/39: Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347)
- G06F 30/398: Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36)
- G01R 31/2803: {by means of functional tests, e.g. logic-circuit-simulation or algorithms therefor (testing electronic digital computers G06F11/00)}
- G01R 31/2815: {Functional tests, e.g. boundary scans, using the normal I/O contacts (contacting devices G01R31/2808; testing digital circuits G01R31/317, G06F11/00)}
- G01R 31/2818: {using test structures on, or modifications of, the card under test, made for the purpose of testing, e.g. additional components or connectors (G01R31/2805 takes precedence; printed circuits having, e.g. symbols, test patterns or visualisation means H05K1/0266)}
- G01R 31/2851: {Testing of integrated circuits [IC] (G01R31/317 takes precedence; testing individual devices G01R31/26; testing printed circuits G01R31/2801)}
- G01R 31/2856: {Internal circuit aspects, e.g. built-in test features; Test chips; Measuring material aspects, e.g. electro migration [EM]}
- G01R 31/31704: {Design for test; Design verification (concerning scan tests G01R31/318583; computer-aided design G06F30/00)}
- G06F 30/333: Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06F 2111/08: Probabilistic or stochastic CAD
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various aspects of the disclosed technology relate to techniques of selecting scan cells from state elements for partial scan designs. Signal probability values for logic gates in a circuit design are first determined. Based on the signal probability values, next-state capture probability values for state elements in the circuit design are computed. Based on the next-state capture probability values, scan cells are selected from the state elements. Scan cells may be further selected based on continuously-updated control weight values and observation weight values associated with the state elements.

## Claims

### Claim 1

A method of selecting state elements in a circuit design for conversion into scan cells, executed by at least one processor of a computer, comprising:
computing, by the computer, at least one current-state signal probability value for one or more state elements in the circuit design, wherein a respective one of the one or more state elements forms a self-loop and wherein the current-state signal probability value for the respective one of the one or more state elements is assigned to be zero;
computing, by the computer, at least one next-state capture probability value for the one or more state elements based on the at least one current-state signal probability value;
selecting, by the computer, one or more of the state elements for conversion into scan cells based on the at least one next-state capture probability value being compared to a predefined threshold; and
converting the selected one or more of the state elements in the circuit design into scan cells, thereby generating a partial scan design for the circuit design.

### Claim 2 (depends on 1)

The method recited in claim 1, further comprising:
determining, by the computer, at least one weight parameter according to a complexity of the one or more state elements;
computing, by the computer, at least one control weight value based on the at least one weight parameter and at least one corresponding controllability value of the one or more state elements;
computing, by the computer, at least one observation weight value based on the at least one weight parameter and at least one corresponding observability value of the one or more state elements; and
further selecting, by the computer, one or more of the state element for conversion into scan cells based on the at least one control weight value and the at least one observation weight value associated with the one or more state elements.

### Claim 3 (depends on 2)

The method recited in claim 2, wherein the further selecting is performed until a predefined percentage of the state elements are selected.

### Claim 4 (depends on 2)

The method recited in claim 2, wherein the further selecting comprises:
calculating weighted sums of the control weight values and the observation weight values and weighted differences of the control weight values and the observation weight values for the state elements.

### Claim 5 (depends on 2)

The method recited in claim 2, wherein an initial value of the control weight value of a state element is determined based on complexity of combinational logic coupled to one or more inputs of the state element, and an initial value of the observation weight value of the state element is determined based on complexity of combinational logic coupled to one or more outputs of the state element.

### Claim 6 (depends on 2)

The method recited in claim 2, wherein initial values of the control weight values and the observation weight values are determined based on the next-state capture probability values.

### Claim 7

One or more non-transitory computer-readable media storing computer-executable instructions for causing one or more processors to perform a method of weight-based determination of state elements to be converted into scan cells in a partial scan design, the method comprising:
computing at least one controllability value for one or more state elements in a circuit design, including assigning a controllability value to be zero for a state element that forms a self-loop;
computing at least one observability value for the one or more state elements based on the at least one controllability value and a structure of the one or more state elements;
determining at least one weight parameter according to a complexity of the one or more state elements;
computing at least one control weight value based on the at least one weight parameter and the at least one corresponding controllability value of the one or more state elements;
computing at least an observation weight value based on the at least one weight parameter and at least one corresponding observability value of the one or more state elements;
selecting one or more of the state elements to be scan cells based on the at least one control weight value and the at least one observation weight value associated with the one or more state elements; and
converting the selected one or more of the state elements in the circuit design into scan cells, thereby generating a partial scan design for the circuit design.

### Claim 8 (depends on 7)

The one or more non-transitory computer-readable media recited in claim 7, wherein the method further comprises:
updating the at least one control weight value and the at least one observation weight value when the state element is selected.

### Claim 9 (depends on 8)

The one or more non-transitory computer-readable media recited in claim 8, wherein the further selecting is performed until a predefined percentage of the state elements are selected.

### Claim 10 (depends on 8)

The one or more non-transitory computer-readable media recited in claim 8, wherein the further selecting comprises:
calculating weighted sums of the control weight values and the observation weight values and weighted differences of the control weight values and the observation weight values for the state elements.

### Claim 11 (depends on 8)

The one or more non-transitory computer-readable media recited in claim 8, wherein an initial value of the control weight value of a state element is determined based on complexity of combinational logic coupled to one or more inputs of the state element, and an initial value of the observation weight value of the state element is determined based on complexity of combinational logic coupled to one or more outputs of the state element.

### Claim 12 (depends on 8)

The one or more non-transitory computer-readable media recited in claim 8, wherein initial values of the control weight values and the observation weight values are determined based on the next-state capture probability values.

### Claim 13

A computerized system for designing partial scan circuits, comprising:
a signal probability determination unit configured to determine at least one current-state signal probability value for state elements in a circuit design, wherein the at least one current-state signal probability value is assigned to be zero so as to maintain a self-loop intact for a respective state element that forms a self-loop;
a next-state capture probability computation unit configured to compute at least one next-state capture probability value for the state elements in the circuit design based on the current-state at least one current-state probability value and a structure of the state elements
a probability-based scan cell selection unit configured to select scan cells from the state elements based on the next-state capture probability values; and
a weight-based scan cell selection unit configured to further select scan cells from the state elements based on at least one weighted sum of one control weight depth value, one observation weight depth value, and one weighted difference of the at least one control weight depth value and the at least one observation weight depth value of the state elements, wherein the at least one control weight depth value is associated with a first predetermined weight parameter and the at least one observation weight depth value is associated with a second predetermined weight parameter.

### Claim 14 (depends on 13)

The computerized system recited in claim 13, further comprising:
a weight-based scan cell selection unit configured to further select scan cells from the state elements based on control weight values and observation weight values associated with the state elements, wherein the control weight value of a state element corresponds to controllability of the state element and the observation weight value of a state element corresponds to observability of the state element, and the control weight values and the observation weight values are updated when a state element is selected.
