SOC designs increasingly feature IP cores with standardized wrapper cells having vendor-provided test patterns for the internal logic. To test wrapper, interconnect, and other boundary logic, a boundary model is extracted from the design in a synthesis or atpg environment. wrapper cells are identified and boundary logic extracted by structural tracing of wrapper chains and tracing from core inputs/outputs to the wrapper cells. A created boundary model excludes core internal logic tested by vendor-provided test patterns to be migrated to the containing chip interface. An SOC atpg model is built including boundary models for all embedded cores, interconnects, and any other logic residing at the SOC top hierarchical level. This model is very compact yet accurate for testing logic external to all embedded cores. test time is reduced and test pattern generation greatly simplified, while featuring good test coverage. The same approach is used for 3D packages having multiple dies.
|
1. A method of generating a reduced gate level model for a circuit design, comprising:
providing, in a memory of a computer system that hosts a test synthesis or atpg environment, a circuit design having a plurality of logic cores, a plurality of wrapper cells, and controller logic, wherein the plurality of wrapper cells comprise a plurality of boundary logic, including state elements, and are serially-controllable and arranged in a plurality of wrapper chains having a plurality of scan input and output ports, wherein each wrapper cell of the plurality of wrapper cells has one or more input ports and one or more output ports, wherein each logic core is wrapped with one or more wrapper chains of the plurality of wrapper chains, and wherein the controller logic is designed to transmit a plurality of test control signals to the plurality of wrapper cells and their wrapper chains;
identifying, for each of one or more test modes defined for the logic core, the plurality of wrapper cells for each input and output port of the plurality of input and output ports for each wrapper chain;
performing, for each of the one or more test modes, a plurality of structural traces on the plurality of wrapper chains, including logic core input ports and logic core output ports, to identify boundary logic and controller logic associated with each logic core;
extracting, for each of the one or more test modes, the boundary logic and the controller logic; and
building a model for the plurality of logic cores, stored in the memory of the computer system, based on the extracted boundary logic and the extracted controller logic.
8. A computer-readable non-transitory storage medium having stored thereon a plurality of instructions, said plurality of instructions when executed by a computer, cause said computer to perform:
providing, in a memory of a computer system that hosts a test synthesis or atpg environment, a circuit design having a plurality of logic cores, a plurality of wrapper cells, and controller logic, wherein the plurality of wrapper cells comprise a plurality of boundary logic, including state elements, and are serially-controllable and arranged in a plurality of wrapper chains having a plurality of scan input and output ports, wherein each wrapper cell of the plurality of wrapper cells has one or more input ports and one or more output ports, wherein each logic core is wrapped with one or more wrapper chains of the plurality of wrapper chains, and wherein the controller logic is designed to transmit a plurality of test control signals to the plurality of wrapper cells and their wrapper chains;
identifying, for each of one or more test modes defined for the logic core, the plurality of wrapper cells for each input and output port of the plurality of input and output ports for each wrapper chain;
performing, for each of the one or more test modes, a plurality of structural traces on the plurality of wrapper chains, including logic core input ports and logic core output ports, to identify boundary logic and controller logic associated with each logic core;
extracting, for each of the one or more test modes, the boundary logic and the controller logic; and
building a model for the plurality of logic cores, stored in a memory of the computer system, based on the extracted boundary logic and the extracted controller logic.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
9. The computer-readable non-transitory storage medium of
10. The computer-readable non-transitory storage medium of
11. The computer-readable non-transitory storage medium of
12. The computer-readable non-transitory storage medium of
13. The computer-readable non-transitory storage medium of
14. The computer-readable non-transitory storage medium of
|
The present patent document relates generally to electronic design automation. In particular, the present patent document relates to boundary model extraction for IP cores of system on a chip-type designs.
Integrated circuit designs continue to increase in size and complexity, a bottom-up hierarchical design flow is becoming more common. In particular, system on a chip-type designs (“SOC”) incorporating a number of intellectual property cores (“IP cores”) are increasingly common. SOCs are devices partially or wholly integrating various computer components into a monolithic semiconductor integrated circuit or a single package carrying several interconnected monolithic integrated circuits. “Chip” includes either configuration. An IP core is a reusable unit of logic, cell, or chip layout design that can be used as building blocks along with other logic to create a chip, including SOCs. Examples of IP cores include microprocessors such as those having ARM architectures, and peripheral controllers such as those for PCI Express, SDRAM, Ethernet, or USB devices. IP cores can be available as synthesizable register-transfer level (“RTL”) in a suitable hardware description language or as physical layouts at a transistor level. IP cores are so named because an IP core is generally licensed from the vendor who is the party or entity that creates the IP core, and is licensed by the circuit designer for use in the SOC.
In a bottom-up flow the IP cores are separately designed and acquired, then integrated into an SOC. The IP core vendor can also create test patterns specific to a particular IP core, which can then be migrated for use in testing the SOC. The advantage of such an arrangement is that the test patterns are then portable along with the IP core, and may be used for any number of SOC designs incorporating that particular IP core. This simplifies test pattern generation for the SOC as a whole.
The various test patterns created or provided by the various vendors for the IP cores of the SOC do not test the interconnect logic between the IP cores. From the point of view of SOC testability, such logic should be tested. Current techniques to test the interconnect logic first confirm that the entire model of the SOC including the IP cores are built to ensure completeness. Then, each of the fault sites are accounted for within the IP cores that are already tested by the IP core-level test patterns.
The disadvantages of the above-described approach are myriad. First, as designs continue to become larger, the model size and runtime to create automated test pattern generation (“ATPG”) models also increase significantly. Depending on the size of the IP core relative to the SOC top-level logic, the runtime increase can be as high as ten- to twenty-fold by including the full IP core along with the interconnect logic during ATPG; the size of the IP core logic can be ten or more times the size of the interconnect logic. For example, an SOC having one hundred million logic gates may have ten million logic gates for boundary, interconnect, and glue logic. Creating an ATPG model for the SOC that includes IP core internal logic gates in addition to the interconnect and glue logic results in a large and complex model, and thus model size and runtime for ATPG are larger than is really necessary. Second, the accuracy of the true interconnect fault coverage is reduced because there is a significant amount of bookkeeping involved for the faults within each IP core; it is not trivial to know which faults should be considered part of the interconnect and which should be part of the IP core internal logic. Third, simulation of the SOC test patterns require huge databases and runtimes. Fourth, delay-annotated simulation is not possible currently without a complete SOC model first being built. Fifth, some IP cores provided by third-parties may not have a full ATPG model due to the third-parties' concerns about protecting their intellectual property, limiting test pattern generation. Sixth, in the above approach, there is no automated generation of testmode setup and ATPG protocol files. Finally, as more and more circuit designs move towards three-dimensional designs having stacks of integrated circuits, developing complete ATPG models for all the embedded dies will become infeasible due to the further increased model size.
One approach that attempts to address these disadvantages is the Interface Logic Model (“mM”). ILM is a concept used in the areas of timing and physical design where gate-level representations of a physical block are used in hierarchical design flows; only the connections from the input to the first level of flip-flops, and the connections from the last stage of flip-flops to the outputs are represented. All other internal flip-flop to flip-flop paths are stripped out in an ILM, such that the ILM is like a black box. For very large chips, using an ILM for all embedded blocks can be a more efficient alternative to a full netlist representation. For static timing analysis (“STA”), if it is infeasible to run STA on the full design, then STA can be run at the block-level for the intra-block paths. Chip-level STA can use ILMs for the inter-block paths. The advantage of ILM for STA is that the entire clock-to-clock path is visible at the top level for interface nets, unlike a traditional block-based hierarchical implementation flow. This gives better accuracy in analysis for interface nets at a negligible increase in overhead due to additional memory and runtime. However, an ILM is insufficient and over-simplified when used for hierarchical design for test (“DFT”), since it is neither complete nor accurate for ATPG. For example, leading companies have attempted to extend ILM for SOC testing, but have found this technique to encounter large numbers of serious problems at the level of the test floor due to extensive miscompares caused by the use of the incomplete and inaccurate ATPG models. Thus, a way to create a more complete and accurate model that still reduces the amount of logic being modeled for an IP core is needed.
A method and apparatus for boundary model extraction for IP cores of a system on a chip-type design is disclosed.
According to an embodiment a method of generating a reduced gate level model for a circuit design comprises providing, in a test synthesis or ATPG environment, a circuit design having a plurality of logic cores, a plurality of wrapper cells, and controller logic, wherein the plurality of wrapper cells comprise a plurality of boundary logic, including state elements, and are serially-controllable and arranged in a plurality of wrapper chains having a plurality of scan input and output ports, wherein each wrapper cell of the plurality of wrapper cells has one or more input ports and one or more output ports, wherein each logic core is wrapped with one or more wrapper chains of the plurality of wrapper chains, and wherein the controller logic is designed to transmit a plurality of test control signals to the plurality of wrapper cells and their wrapper chains; identifying, for each of one or more test modes defined for the logic core, the plurality of wrapper cells for each input and output port of the plurality of input and output ports for each wrapper chain; performing, for each of the one or more test modes, a plurality of structural traces on the plurality of wrapper chains, including logic core input ports and logic core output ports, to identify boundary logic and controller logic associated with each logic core; extracting, for each of the one or more test modes, the boundary logic and the controller logic; and building a model for the plurality of logic cores based on the extracted boundary logic and the extracted controller logic.
In another embodiment the method further comprises performing a structural trace of one or more of a clock, a scan enable, and scan data paths of the plurality of wrapper chains.
In another embodiment the circuit design is a system on a chip integrated circuit design having wrapped logic cores.
In another embodiment the circuit design is a three-dimensional circuit design comprising a plurality of chips, each chip having a plurality of wrapped logic cores.
In another embodiment the boundary logic includes functional flip-flops of the plurality of logic cores at a boundary of the plurality of logic cores.
In another embodiment the wrapper cells comply with the IEEE 1500 architecture standard.
In another embodiment one or more of the structural traces of the plurality of structural traces are performed in one or more EXTEST modes of the IEEE 1500 architecture standard.
According to an embodiment, the method of generating a boundary model for a wrapped logic core of a circuit design, comprises providing a logic core wrapped with a plurality of wrapper cells in a test synthesis or ATPG environment, wherein the plurality of wrapper cells comprise a plurality of boundary logic, wherein each wrapper cell has one or more input ports and one or more output ports, wherein each wrapper cell is connected to at least one other wrapper cell of a wrapper chain wrapper chain, and wherein the logic core supports a plurality of EXTEST configuration modes; performing, for the plurality of EXTEST configuration modes, a structural trace of the scan chains active in the EXTEST mode, including a scan path, a clock logic, and a control logic; performing, for the plurality of EXTEST configuration modes, a structural trace from the one or more output ports back to the plurality of wrapper cells that control those output ports, and a structural trace from the one or more input ports forward to the plurality of wrapper cells that receive a value from the one or more input ports, to identify a portion of the plurality of boundary logic to be included within a boundary model for the core; identifying, for the plurality of EXTEST configuration modes, one or more control signals found while performing a structural trace, wherein the control signals make a plurality of control logic and registers operate and initialize properly; extracting the portion of the plurality of boundary logic identified by performing the structural traces; and building a boundary model for the logic core based on the extracted portion of the plurality of boundary logic.
According to an embodiment a computer-readable non-transitory storage medium having stored thereon a plurality of instructions is disclosed. The plurality of instructions when executed by a computer, cause said computer to perform providing, in a test synthesis or ATPG environment, a circuit design having a plurality of logic cores, a plurality of wrapper cells, and controller logic, wherein the plurality of wrapper cells comprise a plurality of boundary logic, including state elements, and are serially-controllable and arranged in a plurality of wrapper chains having a plurality of scan input and output ports, wherein each wrapper cell of the plurality of wrapper cells has one or more input ports and one or more output ports, wherein each logic core is wrapped with one or more wrapper chains of the plurality of wrapper chains, and wherein the controller logic is designed to transmit a plurality of test control signals to the plurality of wrapper cells and their wrapper chains; identifying, for each of one or more test modes defined for the logic core, the plurality of wrapper cells for each input and output port of the plurality of input and output ports for each wrapper chain; performing, for each of the one or more test modes, a plurality of structural traces on the plurality of wrapper chains, including logic core input ports and logic core output ports, to identify boundary logic and controller logic associated with each logic core; extracting, for each of the one or more test modes, the boundary logic and the controller logic; and building a model for the plurality of logic cores based on the extracted boundary logic and the extracted controller logic.
In another embodiment the plurality of instructions when executed by a computer, cause said computer to further perform a structural trace of one or more of a clock, a scan enable, and a scan data paths of the plurality of wrapper chains.
In another embodiment the circuit design is a three-dimensional circuit design comprising a plurality of chips, each chip having a plurality of wrapped logic cores.
According to an embodiment a computer-readable non-transitory storage medium having stored thereon a plurality of instructions is disclosed. The plurality of instructions when executed by a computer, cause said computer to perform providing a logic core wrapped with a plurality of wrapper cells in a test synthesis or ATPG environment, wherein the plurality of wrapper cells comprise a plurality of boundary logic, wherein each wrapper cell has one or more input ports and one or more output ports, wherein each wrapper cell is connected to at least one other wrapper cell of a wrapper chain wrapper chain, and wherein the logic core supports a plurality of EXTEST configuration modes; performing, for the plurality of EXTEST configuration modes, a structural trace of the scan chains active in the EXTEST mode, including a scan path, a clock logic, and a control logic; performing, for the plurality of EXTEST configuration modes, a structural trace from the one or more output ports back to the plurality of wrapper cells that control those output ports, and a structural trace from the one or more input ports forward to the plurality of wrapper cells that receive a value from the one or more input ports, to identify a portion of the plurality of boundary logic to be included within a boundary model for the core; identifying, for the plurality of EXTEST configuration modes, one or more control signals found while performing a structural trace, wherein the control signals make a plurality of control logic and registers operate and initialize properly; extracting the portion of the plurality of boundary logic identified by performing the structural traces; and building a boundary model for the logic core based on the extracted portion of the plurality of boundary logic.
The above and other preferred features described herein, including various novel details of implementation and combination of elements, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular methods and apparatuses are shown by way of illustration only and not as limitations of the claims. As will be understood by those skilled in the art, the principles and features of the teachings herein may be employed in various and numerous embodiments without departing from the scope of the claims.
The accompanying drawings, which are included as part of the present specification, illustrate the presently preferred embodiments and together with the general description given above and the detailed description of the preferred embodiments given below serve to explain and teach the principles described herein.
The figures are not necessarily drawn to scale and the elements of similar structures or functions are generally represented by like reference numerals for illustrative purposes throughout the figures. The figures are only intended to facilitate the description of the various embodiments described herein; the figures do not describe every aspect of the teachings disclosed herein and do not limit the scope of the claims.
A method and apparatus for automated extraction of a DFT boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test is disclosed. Each of the features and teachings disclosed herein can be utilized separately or in conjunction with other features and teachings. Representative examples utilizing many of these additional features and teachings, both separately and in combination, are described in further detail with reference to the attached drawings. This detailed description is merely intended to teach a person of skill in the art further details for practicing preferred aspects of the present teachings and is not intended to limit the scope of the claims. Therefore, combinations of features disclosed in the following detailed description may not be necessary to practice the teachings in the broadest sense, and are instead taught merely to describe particularly representative examples of the present teachings.
In the following description, for purposes of explanation only, specific nomenclature is set forth to provide a thorough understanding of the various embodiments described herein. However, it will be apparent to one skilled in the art that these specific details are not required to practice the concepts described herein.
Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Also disclosed is an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. It will be appreciated that a variety of programming languages may be used to implement the present teachings.
Moreover, the various features of the representative examples and the dependent claims may be combined in ways that are not specifically and explicitly enumerated in order to provide additional useful embodiments of the present teachings. It is also expressly noted that all value ranges or indications of groups of entities disclose every possible intermediate value or intermediate entity for the purpose of original disclosure, as well as for the purpose of restricting the claimed subject matter. It is also expressly noted that the dimensions and the shapes of the components shown in the figures are designed to help to understand how the present teachings are practiced, but not intended to limit the dimensions and the shapes shown in the examples.
Bypass 204 provides functionality for a bypass configuration. In the bypass configuration a data path from the serial input WSI 225 flows through a register of bypass 204 to the serial output WSO 226, bypassing WIR 205, WBR 202, and WBR 203, in addition to core 210. A bypass configuration is mandatory for an IEEE 1500 compliant wrapper, but is not mandatory for the purposes of this disclosure.
In a BYPASS mode, data flows from the serial input WSI 225 through a register of bypass 204 to the serial output WSO 226, bypassing WIR 205, WBR 202, and WBR 203, as well as bypassing core 210.
In an INTEST MODE, data flows from the serial input WSI 225 to the serial output WSO 226 through WBR 202, the internal scan and functional inputs/outputs of the core 210, and WBR 203.
In an EXTEST MODE, data flows from the serial input WSI 225 to the serial output WSO 226 through WBR 202 and WBR 203. WBR 202 and WBR 203 interact with the external logic being tested external to the wrapped core.
At step 607, the control logic that affects the operation of the wrapper chains and the wrapper cells and which configures the IP core into its various EXTEST modes is identified, including any test control logic and clock control logic. This includes logic within the IP core that is used by the test wrapper. Step 608 is a structural trace to include all logic that feeds the control logic that may be used to load values into the control logic registers. This is identified when tracing back scan chain paths and paths between the boundary registers and the I/Os when encountering a known value (0, 1 or Z and not unknown X) and tracing back the source of that known value to either control register bits or core input pins that are used to configure this EXTEST mode's DFT logic. Control register bits so found will be further traced back to include all logic feeding the control register bit from core inputs, ensuring that the included logic will show how the control register bit obtains its value when an initializing sequence of events is applied to the core input pins. In an IEEE 1500 architecture, the controller logic is the IEEE 1500 controller, including the Wrapper Instruction Register (WIR) and the control signal bus WSC (wrapper serial control). At decision point 609, the program queries whether there are further EXTEST modes to be analyzed. If there are further EXTEST modes, then the program returns to step 602 to repeat steps 602 through 608. If there are not, the program proceeds to step 610. At step 610, when there are no further EXTEST modes to be analyzed, a boundary model is built using the logic identified as needing to be included during the tracing of steps 604 through 608 for all EXTEST modes needing to be considered. This will include elements from the controller logic tracing, boundary logic traces, and clock, scan enable, and scan data path traces. The boundary model extracted during step 610 will contain just the logic seen as necessary in order to be able to operate the set of EXTEST modes that were analyzed, including simulation of required initialization sequences to set up each of those EXTEST modes of operation for the core. All other logic and hierarchy will be dropped from the boundary model because it has no effect on the operation of the given set of EXTEST modes. Note that any logic gate included in the boundary model that is fed from logic not included in the boundary model will see an unknown value (X) on its input from the missing logic. Note that during EXTEST modes, it should not be possible to observe the state of internal logic at the core outputs if the core has been properly wrapped. An improperly wrapped core might show an unpredictable value of X at the core output should a path from the internal logic of the core be sensitized to the core output. INTEST test patterns can then be created for the core that tests the internal logic of the core, and these test patterns can be migrated to be applied during later testing of the chip design. The boundary model, when used to represent the core design within a chip, will provide sufficient logic to describe the operation of the boundary logic and its controls to allow logic within the chip that is outside of the core, or the interconnect between the cores, to be tested. Combined with the migrated tests that cover the core internal logic, the chip can be fully tested using just the migrated tests and the core interconnect tests generated using the boundary models within the chip model. The ATPG done on the chip model using the boundary models for the cores will run much faster and consume much less memory because it doesn't contain all of the core internal logic that is covered by the migrated tests.
The above-disclosed teachings have been validated, including on designs incorporating IEEE 1500 wrapper cells. A boundary model was extracted in each case, and the generated patterns validated in a simulation environment. The extracted boundary model was significantly smaller in gate counts compared to the respective IP cores.
The disclosed teachings provide a number of advantages in hierarchical and three-dimensional interconnect test. The size of the DFT boundary model is significantly reduced, up to ten to fifty-fold compared to a full model of the IP core, without sacrificing the accuracy needed for hierarchical test. Runtimes during ATPG and verification can be reduced by ten to twenty-fold at each step. The disclosed teachings fully support timing annotated simulation, which can provide a ten to twenty-fold performance improvement, and are fully compatible with three-dimensional integrated circuit stacked die test pattern development. They include the scan shift paths that are needed for ATPG. The disclosed approach fully models the TAM or test bus that transports the test stimuli to the block under test, or the test responses, as well as fully model the test and clock control logic that may be obscured from the functional modes in which STA is run. The disclosed teachings provide the ability to differentiate between testmodes, such as EXTEST and INTEST. They fully support structure-accurate fault modeling for the logic under test, and provide fully automated generation of ATPG and simulation setup, including creation of testmode and ATPG protocol files. Because the original netlist is not directly modified according to the disclosed teachings, but instead a new copy of the design is used and reduced, there is no impact in a single pass synthesis flow. Finally, third-party IP developers can still provide just the DFT boundary model for ATPG to their customer, while continuing to retain IP protection by not exposing their entire design to the customer.
Although various embodiments have been described with respect to specific examples and subsystems, it will be apparent to those of ordinary skill in the art that the concepts disclosed herein are not limited to these specific examples or subsystems but extends to other embodiments as well. Included within the scope of these concepts are all of these other embodiments as specified in the claims that follow.
Schoonover, Richard, Chickermane, Vivek, Keller, Brion, Nagaraj, Pradeep
Patent | Priority | Assignee | Title |
10234504, | Mar 07 2017 | Cadence Design Systems, Inc. | Optimizing core wrappers in an integrated circuit |
10289577, | May 11 2016 | New York University | System, method and computer-accessible medium for low-overhead security wrapper for memory access control of embedded systems |
10381276, | Dec 17 2015 | International Business Machines Corporation | Test cell for laminate and method |
10698805, | Jan 25 2017 | Cadence Design Systems, Inc. | Method and system for profiling performance of a system on chip |
11946972, | Aug 06 2020 | Semiconductor Components Industries, LLC | Monitoring of interconnect lines |
11959965, | Nov 12 2021 | Samsung Electronics Co., Ltd. | Test circuit using clock gating scheme to hold capture procedure and bypass mode, and integrated circuit including the same |
9335376, | Feb 19 2013 | Siemens Industry Software Inc | Test architecture for characterizing interconnects in stacked designs |
9477807, | Jun 11 2015 | International Business Machines Corporation | Automating system on a chip customized design integration, specification, and verification through a single, integrated service |
9589089, | Jun 11 2015 | International Business Machines Corporation | Automating system on a chip customized design integration, specification, and verification through a single, integrated service |
9684752, | Jun 11 2015 | International Business Machines Corporation | Automating system on a chip customized design integration, specification, and verification through a single, integrated service |
9760668, | Jun 11 2015 | International Business Machines Corporation | Automating system on a chip customized design integration, specification, and verification through a single, integrated service |
Patent | Priority | Assignee | Title |
7080299, | Feb 03 2003 | ARM Limited | Resetting latch circuits within a functional circuit and a test wrapper circuit |
7340700, | May 27 2005 | Bell Semiconductor, LLC | Method for abstraction of manufacturing test access and control ports to support automated RTL manufacturing test insertion flow for reusable modules |
7568141, | Dec 31 2002 | Intel Corporation; Analog Devices, Inc. | Method and apparatus for testing embedded cores |
7607057, | Dec 28 2004 | AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip |
7653849, | Sep 12 2005 | Synopsys, Inc | Input-output device testing including embedded tests |
8296694, | Dec 30 2009 | Cadence Design Systems, INC | System and method for automated synthesis of circuit wrappers |
20070255986, | |||
20080034262, | |||
20080034334, | |||
20080288842, | |||
20110307750, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 06 2013 | KELLER, BRION | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030124 | /0218 | |
Mar 06 2013 | NAGARAJ, PRADEEP | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030124 | /0218 | |
Mar 06 2013 | SCHOONOVER, RICHARD | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030124 | /0218 | |
Mar 06 2013 | CHICKERMANE, VIVEK | Cadence Design Systems, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030124 | /0218 | |
Mar 15 2013 | Cadence Design Systems, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Nov 20 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 22 2021 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
May 20 2017 | 4 years fee payment window open |
Nov 20 2017 | 6 months grace period start (w surcharge) |
May 20 2018 | patent expiry (for year 4) |
May 20 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 20 2021 | 8 years fee payment window open |
Nov 20 2021 | 6 months grace period start (w surcharge) |
May 20 2022 | patent expiry (for year 8) |
May 20 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 20 2025 | 12 years fee payment window open |
Nov 20 2025 | 6 months grace period start (w surcharge) |
May 20 2026 | patent expiry (for year 12) |
May 20 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |