System and method for implementing a flexible top level scan architecture using a partitioning algorithm to balance the scan chains
AssigneeBroadcom Corporation
InventorsAmar Guettaf, Xiaodong Xie
Life of this patent
Estimating the term…
Abstract
A method and system are disclosed for balancing a plurality of flip-flops across a number of global scan chains in a design of a digital integrated circuit chip. The design of the chip is organized into a number of discrete blocks such that each of the discrete blocks comprises a plurality of flip-flops. Within each discrete block, the plurality of flip-flops is connected to form a number of sub-chains of flip-flops. The sub-chains are then connected, within and across the discrete blocks, to generate a number of global scan chains such that the resultant number of flip-flops in each global scan chain is substantially the same.
Claims40
A method to balance a plurality of flip-flops across a number of global scan chains in a design of a digital integrated circuit chip, said method comprising:
- organizing said design of said chip into a plurality of discrete blocks, wherein each of said discrete blocks comprises a plurality of flip-flops;
- connecting, within each of said discrete blocks, said plurality of flip-flops to generate a number of sub-chains of said flip-flops within each of said discrete blocks, wherein respective lengths of said sub-chains within all of said discrete blocks are generally similar;
- and
- serially connecting said sub-chains, within and across said discrete blocks, to generate said number of global scan chains, and wherein a resultant number of flip-flops in each of said global scan chains is substantially the same.
A system, used in a simulation of a design of a digital integrated circuit chip, to generate a number of global scan chains within said design of said chip, said system comprising:
- a design simulation tool;
- a set of initial chip design definition files organized as discrete blocks with each discrete block comprising sub-chains of flip-flops, wherein respective lengths of said sub-chains are generally similar within all of said discrete blocks, and wherein said set of initial chip design definition files is input into said simulation tool;
- and
- a set of modified chip design definition files generated by said simulation tool by processing said set of initial chip design definition files, and wherein said set of modified chip design definition files comprises said number of global scan chains funned by linking said sub-chains of flipflops within and across said discrete blocks.
A method for forming a plurality of substantially balanced global scan chains in a modular integrated circuit design, the method comprising:
- organizing the integrated circuit design into a plurality of discrete blocks, wherein each of the discrete blocks comprises a plurality of scan chain elements;
- generating one or more scan sub-chains in each of the discrete blocks, wherein each of the scan sub-chains comprises a plurality of the scan chain elements communicatively coupled, and wherein respective lengths of the scan sub-chains are generally similar within all of the discrete blocks;
- and
- generating the substantially balanced global scan chains, each of which comprises a plurality of the scan subchains serially and communicatively coupled, wherein at least one of the substantially balanced global scan chains comprises one of the scan sub-chains from a first of the discrete blocks serially and communicatively coupled to one of the scan sub-chains from a second of the discrete blocks.
A system for generating a plurality of global scan chains in an integrated circuit design, the system comprising:
- first computer memory comprising information of an integrated circuit design sub-divided into discrete blocks, each of the discrete blocks comprising one or more scan sub-chains, each scan sub-chain comprising a plurality of serially and communicatively coupled scan chain elements, wherein respective lengths of the scan sub-chains are generally similar within all of the discrete blocks;
- a processor communicatively coupled, to the first computer memory;
- second computer memory coupled to the processor comprising executable instructions that, when executed, cause the processor to generate an output signal comprising information of a plurality of substantially balanced global scan chains, each of the substantially balanced global scan chains comprising a plurality of the scan sub-chains serially and communicatively coupled, at least one of the substantially balanced global scan chains comprising one of the scan sub-chains from a first of the discrete blocks serially and communicatively coupled to one of the scan sub-chains from a second of the discrete blocks;
- and
- third computer memory coupled to the processor that receives the output signal comprising information of a plurality of substantially balanced global scan chains from the processor and stores the information of a plurality of substantially balanced global scan chains.
Dependencies are inferred from the claim text.