# US 5,703,789 A · Test ready compiler for design for test synthesis

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

- Number: US 5,703,789 A
- Document ID: US5703789A
- Status: Granted
- Kind: A
- Application number: 08/581,187
- Filed: 1995-12-29
- Granted: 1997-12-30
- Earliest claimed: 1995-12-29
- Assignees: Synopsys, Inc.
- Inventors: James Beausang; Robert Walker
- Web page: https://patentgrep.com/patent/US5703789A

## CPC

- G01R 31/318583: {Design for test}
- G01R 31/31716: {Testing of input or output with loop-back}
- G01R 31/318342: {by preliminary fault modelling, e.g. analysis, simulation}
- G01R 31/318364: {as a result of hardware simulation, e.g. in an HDL environment (computer-aided simulation of circuits G06F30/3308)}
- G01R 31/318378: {of patterns for devices arranged in a network}
- G01R 31/318536: {Scan chain arrangements, e.g. connections, test bus, analog signals}
- G01R 31/318572: {Input/Output interfaces}
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)

## Abstract

A computer implemented process and system for providing a test ready (TR) compiler with specific information regarding the impact of added scannable cells and resources on its mission mode design. In so doing, the TR compiler optimizes more effectively for added test resources (e.g., scannable cells and other scan routing resources) so that predetermined performance and design related constraints of the mission mode design are maintained. The TR compiler translates generic sequential cells into technology dependent non-scan cells. In the TR compiler, during replacement, scannable memory cells are used in place of these non-scan memory cells specified within the mission mode circuitry. In this way, the TR compiler is informed of the characteristics of the scannable memory cells during optimization. For test, the scannable memory cells are chained to each other to form chain chains of sequential cells. To account for chaining during compile, the TR compiler provides output driven loopback connections to simulate electrical characteristics of the chain during compile. In the above implementation, the TR compiler can efficiently provide translation of an HDL description with test implementations into a gate level netlist. With the addition of certain information regarding the test implementation (e.g., scan replacement is done and loopback connections are added), the TR compiler of the present invention can better optimize the overall layout for the addition of the test resources.

## Claims

### Claim 1

In a computer implemented synthesis system, a method of generating a netlist comprising the computer implemented steps of:
receiving an HDL specification representing a design to be realized in physical form and storing said HDL specification in a computer memory unit;
receiving constraints applicable to said design;
compiling said HDL specification with a compiler to produce a netlist description of said design wherein said netlist comprises functional logic blocks and connections there between including sequential cells and combinational logic, said step of compiling further comprising the steps of:
(i) replacing non-scan sequential cells specified in or inferred from said HDL specification with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design; and
(ii) installing a loopback connection between an output and an input of each scannable sequential cell;
storing said netlist description into said computer memory unit, said netlist description including said scannable sequential cells and loopback connections associated with said scannable sequential cells.

### Claim 2 (depends on 1)

A method as described in claim 1 wherein said non-scan sequential cells and said scannable sequential cells are level sensitive latches.

### Claim 3 (depends on 1)

A method as described in claim 1 wherein said non-scan sequential cells are D flip-flops and wherein said scannable sequential cells are multiplexed input D flip-flops.

### Claim 4 (depends on 3)

A method as described in claim 3 wherein said step of installing a loopback connection between an output and input of each scannable sequential cell installs a loopback connection between said output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 5 (depends on 3)

A method as described in claim 3 wherein said step of installing a loopback connection between an output and input of each scannable sequential cell installs a loopback connection between an inverse output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 6 (depends on 1)

A method as described in claim 1 wherein said step of replacing non-scan sequential cells with scannable sequential cells specially adapted to apply said test vectors comprises the steps of:
identifying a non-scan sequential cell for replacement, said non-scan sequential cell including combinational logic and further having a first identifier listing functions of said non-scan sequential cell;
scanning identifiers within a technology dependent library against said first identifier to locate an equivalent scatunable sequential cell having a second identifier including functions that match said functions of said non-scan sequential cell; and
replacing said non-scan sequential cell with said equivalent scannable sequential cell.

### Claim 7 (depends on 1)

A method as described in claim 1 wherein said step of replacing non-scan sequential cells with scannable sequential cells specially adapted to apply said test vectors comprises the step of performing sequential mapping based scan equivalence.

### Claim 8 (depends on 1)

A method as described in claim 1 wherein said constraints define design rule and performance limitations applicable to said design.

### Claim 9

In a computer implemented synthesis system, a method of compiling an HDL specification having associated design rule and performance constraints, said method comprising the computer implemented steps of:
compiling said HDL specification to produce a netlist description of a circuit design wherein said netlist comprises functional logic blocks and connections there between, said step of compiling further comprising the steps of:
(i) replacing non-scan sequential cells with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design, said scannable sequential cells being technology dependent;
(ii) installing a loopback connection between an output and an input of each scannable sequential cell to simulate a scan chain link; and
(iii) performing mapping optimization to modify results of said step of installing a loopback connection in an effort to satisfy said design rule and performance constraints; and
storing said netlist description into a memory unit of a computer system, said netlist description including said scannable sequential cells and said loopback connection of each scannable sequential cell.

### Claim 10 (depends on 9)

A method as described in claim 9 wherein said non-scan sequential cells and said scannable sequential cells are level sensitive latches.

### Claim 11 (depends on 9)

A method as described in claim 9 wherein said non-scan sequential cells are D flip-flops and wherein said scannable sequential cells are multiplexed input D flip-flops.

### Claim 12 (depends on 11)

A method as described in claim 11 wherein said step of instailing a loopback connection between an output and input of each scannable sequential cell installs a loopback connection between said output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 13 (depends on 11)

A method as described in claim 11 wherein said step of installing a loopback connection between an output and input of each scannable sequential cell installs a loopback connection between an inverse output and a multiplexer scan-in input of each scannable sequential cell.

### Claim 14 (depends on 9)

A method as described in claim 9 wherein said step of replacing non-scan sequential cells with scannable sequential cells specially adapted to apply said test vectors comprises the steps of:
identifying a non-scan sequential cell for replacement, said non-scan sequential cell including combinational logic and further having a first identifier listing functions of said non-scan sequential cell;
scanning identifiers within a technology dependent library against said first identifier to locate an equivalent scannable sequential cell having a second identifier including functions that match said functions of said non-scan sequential cell; and
replacing said non-scan sequential cell with said equivalent scannable sequential cell.

### Claim 15 (depends on 9)

A method as described in claim 9 wherein said step of replacing non-scan sequential cells with scannable sequential cells specially adapted to apply said test vectors comprises the step of performing sequential mapping based scan equivalence.

### Claim 16

A computer implemented synthesis system, said system having a processor coupled to a memory unit wherein said processor is programmed to perform logic processing, said system further comprising:
logic for receiving an HDL specification representing a design to be realized in circuit form and storing said HDL specification in said memory unit;
logic for receiving constraints applicable to said design;
compile logic for compiling said HDL specification to produce a netlist description of said design wherein said netlist comprises functional logic blocks and connections there between, said compile logic further comprising:
(i) logic for replacing a genetic HDL specified or inferred sequential cell with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design; and
(ii) loopback logic for installing a loopback connection between an output and an input of each scannable sequential cell; and
store logic for storing said netlist description into said memory unit, said netlist description including said scannable sequential cells and said loopback connection of each scannable sequential cell.

### Claim 17 (depends on 16)

A system as described in claim 16 wherein said (i) logic for replacing further comprises:
translation logic for translating said generic HDL specified or inferred sequential cell to a non-scan sequential cell that is technology dependent; and
replacement logic for replacing said non-scan sequential cells with said scannable sequential cells specially adapted to apply test vectors to combinational logic of said design.

### Claim 18 (depends on 17)

A system as described in claim 17 wherein said non-scan sequential cells are D flip-flops and wherein said scannable sequential cells are multiplexed input D flip-flops.

### Claim 19 (depends on 18)

A system as described in claim 18 wherein said loopback logic installs a loopback connection between said output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 20 (depends on 18)

A system as described in claim 18 wherein said loopback logic installs a loopback connection between an inverse output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 21 (depends on 17)

A system as described in claim 17 wherein said non-scan sequential cells and said scannable sequential cells are level sensitive latches.

### Claim 22 (depends on 17)

A system as described in claim 17 wherein said replacement logic comprises:
logic for identifying a non-scan sequential cell for replacement, said non-scan sequential cell including combinational logic and further having a first identifier listing functions of said non-scan sequential cell;
logic for scanning identifiers within a technology dependent library against said first identifier to locate an equivalent scannable sequential cell having a second identifier including functions that match said functions of said non-scan sequential cell; and
logic for replacing said non-scan sequential cell with said equivalent scannable sequential cell.

### Claim 23 (depends on 17)

A system as described in claim 17 wherein said constraints define design rule and performance limitations applicable to said design.

### Claim 24 (depends on 17)

A system as described in claim 17 further comprising a design rule checker analyzing said netlist description produced by said compile logic, said design rle checker identifying and marking as violated scannable sequential cells of said netlist description that cannot be part of a valid scan chain.

### Claim 25 (depends on 17)

A system as described in claim 17 wherein said HDL specification represents a module of an overall integrated circuit design.

### Claim 26

A computer implemented synthesis system, said system having a processor coupled to a memory unit wherein said processor is programmed to perform logic processing, said system further comprising:
logic receiving an HDL specification representing a design to be realized in circuit form and storing said HDL specification in said memory unit;
logic receiving constraints applicable to said design;
compile logic compiling said HDL specification to produce a netlist description of said design wherein said nefiist comprises scannable sequential cells, functional logic blocks and connections there between, said compile logic further comprising:
loopback logic installing a loopback connection between an output and an input of each scannable sequential cell to simulate a scan link of a scan chain for design for test implemented circuitry; and
store logic storing said netlist description into said memory unit, said netlist description including scannable sequential cells and said loopback connection of each scannable sequential cell.

### Claim 27 (depends on 26)

A system as described in claim 26 further comprising a design rule checker analyzing said netlist description produced by said compile logic, said design rule checker identifying and marking as violated sequential cells of said netlist description that cannot be part of a valid scan chain.

### Claim 28 (depends on 26)

A system as described in claim 26 wherein said compile logic further comprises:
translation logic translating generic non-scan cells to technology dependent non-scan cells; and
replacement logic replacing said non-scan cells with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design.

### Claim 29 (depends on 28)

A system as described in claim 28 wherein said scannable sequential cells are multiplexed input D flip-flops.

### Claim 30 (depends on 28)

A system as described in claim 28 wherein said loopback logic installs a loopback connection between said output and a multiplexed scan-in input of each scannable sequential cell.

### Claim 31 (depends on 28)

A system as described in claim 28 wherein said constraints define design rule and performance limitations applicable to said design.

### Claim 32

In a computer implemented synthesis system, a method comprising the computer implemented steps of:
receiving an HDL specification representing a design and storing said HDL specification in a computer memory unit;
receiving performance constraints applicable to said design;
compiling said HDL specification with a compiler to produce a netlist description of said design optimized to said performance constraints wherein said netlist comprises functional logic blocks and connections there between including generic sequential eelIs and combinational logic, said step of compiling further comprising the step of:
replacing said generic cells of said HDL specification with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design;
storing said netlist description into said computer memory unit, said netlist description including said scarunable sequential cells; and
identifying and marking as violated those scannable sequential cells that cannot be part of a valid scan chain and replacing said violated scannable sequential cells with non-scan sequential cells.

### Claim 33 (depends on 32)

A method as described in claim 32 wherein said step of replacing said generic cells of said HDL specification with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design comprises the steps of:
replacing said generic cells of said HDL specification with non-scan sequential cells that are technology dependent;
replacing said non-scan sequential cells with scannable sequential cells specially adapted to apply test vectors to combinational logic of said design.

### Claim 34 (depends on 33)

A method as described in claim 33 wherein said step of compiling further comprises the step of installing a loopback connection between an output and an input of each scannable sequential cell to simulate a scan chain link and wherein said netlist description stored in said computer memory unit includes said loopback connections.

### Claim 35 (depends on 34)

A method as described in claim 34 wherein said non-scan sequential cells are D flip-flops and wherein said scannable sequential cells are multiplexed input D fliip-flops.

### Claim 36 (depends on 34)

A method as described in claim 34 wherein said step of replacing said non-scan sequential cells with scannable sequential cells specially adapted to apply said test vectors comprises the steps of:
identifying a non-scan sequential cell for replacement, said non-scan sequential cell including combinational logic and further having a first identifier listing functions of said non-scan sequential cell;
scanning identifiers within a technology dependent library against said first identifier to locate an equivalent non-scan sequential cell having a second identifier including functions that match said functions of said non-scan sequential cell; and
replacing said non-scan sequential cell with said equivalent scannable sequential cell.
