US7424417B2 - System and method for clock domain grouping using data path relationships - Google Patents

System and method for clock domain grouping using data path relationships Download PDF

Info

Publication number
US7424417B2
US7424417B2 US10/299,257 US29925702A US7424417B2 US 7424417 B2 US7424417 B2 US 7424417B2 US 29925702 A US29925702 A US 29925702A US 7424417 B2 US7424417 B2 US 7424417B2
Authority
US
United States
Prior art keywords
tool
design
clock
chip
definition file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US10/299,257
Other versions
US20040098241A1 (en
Inventor
Amar Guettaf
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Priority to US10/299,257 priority Critical patent/US7424417B2/en
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GUETTAF, AMAR
Publication of US20040098241A1 publication Critical patent/US20040098241A1/en
Application granted granted Critical
Publication of US7424417B2 publication Critical patent/US7424417B2/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: BROADCOM CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROADCOM CORPORATION
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318552Clock circuits details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318594Timing aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Definitions

  • Digital integrated circuit chips are composed of many millions of gates that make up various functional components on a chip such as flip-flops, multiplexors, logic circuits, etc.
  • a given chip design may have thousands of flip-flops scattered throughout the chip.
  • test features are typically incorporated into the chip design for testing purposes.
  • the chip design is first simulated in software using various simulation tools such as, for example, an Automatic Test Pattern Generation (ATPG) tool.
  • ATG Automatic Test Pattern Generation
  • the design features of the chip may be thoroughly tested before the expense and time of actually manufacturing the chip is incurred.
  • Pattern verification is a critical phase in testing of chips.
  • a scan pattern is a digital string of binary ones and zeros that may be shifted through a scan chain of flip-flops in the chip design. Every scan pattern cycle is composed of two phases. The first phase is the load-unload phase where new data is shifted into the scan chains of flip-flops. The second phase is the capture phase where the data is captured into the flip-flops by applying a clock pulse.
  • the flip-flops in a digital integrated circuit design are designed such that they have normal data inputs and outputs (D and Q) and test inputs such as TI (test data input) and TE (test enable input).
  • D and Q normal data inputs and outputs
  • test inputs such as TI (test data input) and TE (test enable input).
  • the flip-flops may be placed in the scan test mode by enabling the TE input. Data may then be clocked into the flip-flops through the TI input instead of the normal D data input.
  • the flip-flops of the chip are chained together to form multiple scan chains.
  • the output Q of a given flip-flop is connected to the input TI of a next flip-flop.
  • Each scan chain may comprise, typically, 5000 to 10,000 flip-flops.
  • the length of the load_unload phase is equal to the length of the longest scan chain of flip-flops. In multimillion gate designs, the longest chain may have thousands of flip-flops. Most of the time simulating the scan patterns through the scan chains is spent shifting the data into and out of the scan chains. To ensure proper behavior of the scan chains, the first test applied to the chip design is Chain Test which consists of shifting in and out a predetermined bit pattern (e.g., 0011).
  • Timing analysis may be performed on the simulation of the design of the chip by using external scan test clocks to clock the various clock domains (flip-flops and other digital logic that use a same clock). For every clock domain, an external scan test clock may be input at a port of the chip and used to clock the corresponding clock domain by by-passing the corresponding internal clock for the clock domain.
  • the timing analysis identifies any capture mode violations such that the design may be fixed to eliminate the violations.
  • simulation and testing often require many scan test clocks using many ports of the chip in order to test all of the clock domains, especially for large chips with millions of gates. Even if certain ports of the chip are externally tied together at the chip level to the same scan clock, a single port of the chip is still needed for each clock domain within the chip.
  • scan patterns are clocked into the D inputs of the flip-flops instead of the TI inputs.
  • a method is provided, in a simulation of a design of a digital integrated circuit chip, to limit a number of scan test clocks and chip ports used for testing the chip.
  • Clock domains are identified within the design of the chip that are independent of each other.
  • the independent clock domains are grouped together, internal to the chip design, to form clock domain groups.
  • a timing analysis is performed on the design of the chip by clocking the clock domain groups each with an independent scan test clock.
  • the scan test clocks originate externally to the design, by-passing the corresponding internal clocks.
  • Capture mode violations are recorded from the timing analysis and are used to go back and form new clock domain groups, thereby repeating the method until no capture mode violations are generated.
  • a system is provided and used in a simulation of a design of a digital integrated circuit chip to limit a number of scan test clocks and chip ports used for testing the chip.
  • the system comprises an automatic test pattern generation (ATPG) tool to identify clock domains within the design of the chip that are independent of each other, and to group, internally to the chip design, the independent clock domains to form clock domain groups.
  • the clock domain groups are stored as a clock grouping report in the ATPG tool.
  • a timing analysis tool is also provided to perform timing analysis of the design of the chip by clocking the clock domain groups each with an independent scan test clock that originates externally to the chip design. Capture mode violations are generated by the timing analysis and are used to go back and form new clock domain groups, thereby repeating the process until no capture mode violations are generated.
  • FIG. 1 is a schematic block diagram of an exemplary simulation and test system in accordance with an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method operating on the test system of FIG. 1 to limit a number of scan test clocks and chip ports used for testing a digital integrated circuit chip in accordance with an embodiment of the present invention.
  • FIG. 3 is an exemplary schematic block diagram illustrating independent clock domains and dependent clock domains of a chip design in accordance with an embodiment of the present invention.
  • FIG. 4 is an exemplary schematic block diagram of a chip design illustrating the internal grouping of independent clock domains and the internal by-passing of internal clocks in accordance with an embodiment of the present invention.
  • aspects of the present invention provide a method and system to limit a number of scan test clocks and chip ports used for testing a digital integrated circuit chip having millions of gates.
  • FIG. 1 is a schematic block diagram of an exemplary simulation and test system 5 in accordance with an embodiment of the present invention.
  • the system 5 comprises an Automatic Test Pattern Generating (ATPG) tool 10 and a Timing Analysis (TA) tool 20 .
  • the ATPG tool 10 inputs a set of initial chip design definition files 15 and capture mode violation information 24 , and generates a clock grouping report 14 .
  • the clock grouping report 14 is used to generate a modified set of chip design definition files 16 .
  • the set of initial chip design definition files 15 completely defines the initial design of a digital integrated circuit chip.
  • the modified set of chip design definition files 16 completely defines a modified version of the digital integrated circuit chip.
  • the TA tool 20 inputs the modified set of chip design definition files 16 and outputs the capture mode violation information 24 .
  • the capture mode violation information 24 is then fed back and input to the ATPG tool 10 and a new grouping report 14 may be generated.
  • the ATPG tool 10 comprises at least one processor module 11 and at least one memory module 12 .
  • the ATPG tool 10 also comprises at least one software simulation module 13 that is stored in the at least one memory module 12 and is executed on the at least one processor module 11 .
  • the ATPG tool 10 generates the clock grouping report 14 .
  • the clock grouping report 14 is used to generate the modified set of chip design definition files 16 .
  • the ATPG tool 10 may be, for example, a commercial Tetramax ATPG tool from Synopsis, or may be some other ATPG tool.
  • the TA tool 20 comprises at least one processor module 21 and at least one memory module 22 .
  • the TA tool 20 also comprises at least one software timing analysis module 23 that is stored in the at least one memory module 22 and is executed on the at least one processor module 21 .
  • the TA tool 20 generates the capture mode violation information 24 .
  • the capture mode violation information 24 is fed back to the ATPG tool 10 and is used to generate a new clock grouping report 14 .
  • method 100 defines a process to limit a number of scan test clocks and chip ports used for testing the design of the chip with the system 5 , for example.
  • step 110 the initial design of the chip internally by-passes, at the core level, all internally generated clocks.
  • step 120 the ATPG tool 10 inputs the initial design definition files 15 and attempts to identify the clock domains that are independent (i.e., share no data paths between them).
  • step 130 the ATPG tool 10 forms clock domain groups based on the independence analysis.
  • the clock domain groups are stored in the clock grouping report 14 .
  • the design of the chip is again modified internally to tie each clock domain group to a single port of the chip.
  • the modification of the design of the chip may be performed by the ATPG tool 10 .
  • the actual modification of the design of the chip may be performed off-line using some other tool such as a computer-based chip design tool.
  • step 150 the TA tool 20 inputs the modified set of design definition files 16 and goes into a capture mode.
  • step 160 while in the capture mode, the TA tool 20 performs a timing analysis to determine if there are any capture mode violations in the modified design. Capture mode violations are typically caused by timing violations in the design of the chip.
  • scan pattern data may be clocked into flip-flop register 230 by an external scan clock 270 provided by the ATPG tool 10 .
  • Data appears at the input of flip-flop register 240 after passing through and being modified by logic cloud 235 .
  • Data may next be clocked into flip flop register 240 by an external scan clock 280 provided by the ATPG tool 10 . If the data captured in flip-flop register 240 does not match the expected data based on the original scan pattern data clocked into flip-flop register 230 and the effects of the logic cloud 235 , then at least one capture mode violation has occurred. Assuming the flip-flop registers 230 and 240 were previously tested in a scan mode, then the capture mode violation is likely due to a timing problem in the logic cloud 235 .
  • flip-flop register 230 and flip-flop register 240 were clocked at the same time by the same scan test clock 270 , then capture mode violations would almost certainly occur since the two flip-flop registers do not constitute independent clock domains.
  • the data captured in flip-flop register 240 will not be the expected data since the scan pattern data being clocked into flip-flop register 230 and going through logic cloud 235 has not had time to properly settle down and become valid before flip-flop register 240 is clocked.
  • FIG. 3 shows that scan test clock 270 is coupled to clock domain 230 and clock domain 250 which are independent of each other (i.e., no data path between them). Also, scan test clock 280 is coupled to clock domain 240 and clock domain 260 which are independent of each other. As a result, it may be seen that independent clock domains may be grouped together and clocked by the same scan test clock during capture mode timing analysis. Any capture mode violations that occur are stored in the at least one memory module 22 in TA tool 20 .
  • Step 170 checks for capture mode violations. If there are no capture mode violations, then the modified design of the chip is good and the previously determined clock domain groups may be frozen as part of the design. However, if there are any capture mode violations, then the clock domain groups are not truly independent according to the design. As a result, the process is repeated, using the capture mode violation information to try to form clock domain groups that are truly independent.
  • a scan test mode is entered and the scan chain functionality of the chip design is verified.
  • the ATPG tool 10 may be used during the scan test mode to verify the scan chains.
  • the design of the chip may be frozen, having the internal clock domain groupings and by-pass circuitry as part of the design of the chip at the core level.
  • FIG. 4 is an exemplary schematic block diagram of a resultant chip design illustrating the internal grouping of independent clock domains and the internal by-passing of internal clocks at the core level, in accordance with an embodiment of the present invention.
  • Various clock groups have been formed (e.g., clock group 370 ) based on the clock domain independence analysis performed by the system 5 using the method 100 .
  • the chip design 200 comprises a clock block 310 with internal clock generating circuitry (e.g., PLLs 320 and clock logic 330 ).
  • the clock logic may include various divider circuitry, gates, etc.
  • the clock block 310 also comprises one mux 350 for each internally generated clock domain 360 .
  • the muxes 350 are used to by-pass the internal clocks of the chip design 200 and pass the scan test clocks 340 (by-pass clocks) during testing in the capture mode.
  • the independent clock domains (e.g., 370 ) are grouped together internally to the chip design (at the core level) and are tied together at ports of the chip (e.g., port 371 ). Each clock domain group is tied to one chip port. As a result, the number of scan test clocks and chip ports used for testing is greatly reduced. In a typical chip design, there may be approximately 100 clock domains. Embodiments of the present invention may limit the number of scan test clocks and chip ports used for testing to only ten (i.e., as much as a factor of 10 or more).
  • the chip may be tested by going into the capture mode using the same scan patterns used in testing of the simulated chip design. Only the outputs of the chip are tested for the expected results.
  • aspects of the present invention provide simulating a design of a digital integrated circuit chip to limit a number of scan test clocks and chip ports used for testing the chip.
  • Clock domains are identified within the design of the chip that are independent of each other.
  • the independent clock domains are grouped together to form clock domain groups at the core level of the chip design.
  • a timing analysis is performed on the design of the chip by clocking the clock domain groups each with an independent scan test clock.
  • the scan test clocks originate externally to the design, by-passing the corresponding internal clocks.
  • Capture mode violations are recorded from the timing analysis and are used to go back and form new clock domain groups, thereby repeating the method until no capture mode violations are generated.

Abstract

A method and system are disclosed, in a simulation of a design of a digital integrated circuit chip, to limit a number of scan test clocks and chip ports used for testing the chip. Clock domains are identified within the design of the chip that are independent of each other. The independent clock domains are grouped together, within said chip design, to form clock domain groups. A timing analysis is performed on the design of the chip by clocking the clock domain groups each with an independent scan test clock. The scan test clocks originate externally to the design and by-pass, within the chip design, the corresponding internal clocks. Capture mode violations are recorded from the timing analysis and are used to go back and form new clock domain groups, thereby repeating the method until no capture mode violations are generated.

Description

RELATED APPLICATIONS
[Not Applicable]
FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
[Not Applicable]
MICROFICHE/COPYRIGHT REFERENCE
[Not Applicable]
BACKGROUND OF THE INVENTION
Digital integrated circuit chips are composed of many millions of gates that make up various functional components on a chip such as flip-flops, multiplexors, logic circuits, etc. A given chip design may have thousands of flip-flops scattered throughout the chip.
In order to effectively and efficiently test a given chip, certain test features are typically incorporated into the chip design for testing purposes. Before a chip is actually taped out and manufactured, the chip design is first simulated in software using various simulation tools such as, for example, an Automatic Test Pattern Generation (ATPG) tool. By simulating the design of the chip, the design features of the chip may be thoroughly tested before the expense and time of actually manufacturing the chip is incurred.
Pattern verification is a critical phase in testing of chips. A scan pattern is a digital string of binary ones and zeros that may be shifted through a scan chain of flip-flops in the chip design. Every scan pattern cycle is composed of two phases. The first phase is the load-unload phase where new data is shifted into the scan chains of flip-flops. The second phase is the capture phase where the data is captured into the flip-flops by applying a clock pulse.
Typically, the flip-flops in a digital integrated circuit design are designed such that they have normal data inputs and outputs (D and Q) and test inputs such as TI (test data input) and TE (test enable input). During simulation, the flip-flops may be placed in the scan test mode by enabling the TE input. Data may then be clocked into the flip-flops through the TI input instead of the normal D data input. During scan testing, the flip-flops of the chip are chained together to form multiple scan chains. The output Q of a given flip-flop is connected to the input TI of a next flip-flop. Each scan chain may comprise, typically, 5000 to 10,000 flip-flops.
The length of the load_unload phase is equal to the length of the longest scan chain of flip-flops. In multimillion gate designs, the longest chain may have thousands of flip-flops. Most of the time simulating the scan patterns through the scan chains is spent shifting the data into and out of the scan chains. To ensure proper behavior of the scan chains, the first test applied to the chip design is Chain Test which consists of shifting in and out a predetermined bit pattern (e.g., 0011).
Timing analysis may be performed on the simulation of the design of the chip by using external scan test clocks to clock the various clock domains (flip-flops and other digital logic that use a same clock). For every clock domain, an external scan test clock may be input at a port of the chip and used to clock the corresponding clock domain by by-passing the corresponding internal clock for the clock domain. The timing analysis identifies any capture mode violations such that the design may be fixed to eliminate the violations. However, such simulation and testing often require many scan test clocks using many ports of the chip in order to test all of the clock domains, especially for large chips with millions of gates. Even if certain ports of the chip are externally tied together at the chip level to the same scan clock, a single port of the chip is still needed for each clock domain within the chip. In the capture mode during timing analysis, scan patterns are clocked into the D inputs of the flip-flops instead of the TI inputs.
One of the major issues in generating tests for multi-million gate chip designs is how to reduce ATPG pattern count in order to fit in the tester memory. Designs with multiple clock domains pose a great challenge given that, by default, ATPG tools toggle one clock at a time during a capture mode. The number of scan clocks that may be required to be provided from the chip level may be very large if the chip design has a large number of internal clock domains. Each scan clock operates at the same frequency using the same waveform. Some clock domains may be grouped together solely based on designer input, but this has proven to cause timing problems if the clock domains that are grouped are not truly independent (i.e., share no data paths).
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with the present invention as set forth in the remainder of the present application with reference to the drawings.
BRIEF SUMMARY OF THE INVENTION
A method is provided, in a simulation of a design of a digital integrated circuit chip, to limit a number of scan test clocks and chip ports used for testing the chip. Clock domains are identified within the design of the chip that are independent of each other. The independent clock domains are grouped together, internal to the chip design, to form clock domain groups. A timing analysis is performed on the design of the chip by clocking the clock domain groups each with an independent scan test clock. The scan test clocks originate externally to the design, by-passing the corresponding internal clocks. Capture mode violations are recorded from the timing analysis and are used to go back and form new clock domain groups, thereby repeating the method until no capture mode violations are generated.
A system is provided and used in a simulation of a design of a digital integrated circuit chip to limit a number of scan test clocks and chip ports used for testing the chip. The system comprises an automatic test pattern generation (ATPG) tool to identify clock domains within the design of the chip that are independent of each other, and to group, internally to the chip design, the independent clock domains to form clock domain groups. The clock domain groups are stored as a clock grouping report in the ATPG tool. A timing analysis tool is also provided to perform timing analysis of the design of the chip by clocking the clock domain groups each with an independent scan test clock that originates externally to the chip design. Capture mode violations are generated by the timing analysis and are used to go back and form new clock domain groups, thereby repeating the process until no capture mode violations are generated.
These and other advantages and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic block diagram of an exemplary simulation and test system in accordance with an embodiment of the present invention.
FIG. 2 is a flowchart of a method operating on the test system of FIG. 1 to limit a number of scan test clocks and chip ports used for testing a digital integrated circuit chip in accordance with an embodiment of the present invention.
FIG. 3 is an exemplary schematic block diagram illustrating independent clock domains and dependent clock domains of a chip design in accordance with an embodiment of the present invention.
FIG. 4 is an exemplary schematic block diagram of a chip design illustrating the internal grouping of independent clock domains and the internal by-passing of internal clocks in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Aspects of the present invention provide a method and system to limit a number of scan test clocks and chip ports used for testing a digital integrated circuit chip having millions of gates.
FIG. 1 is a schematic block diagram of an exemplary simulation and test system 5 in accordance with an embodiment of the present invention. The system 5 comprises an Automatic Test Pattern Generating (ATPG) tool 10 and a Timing Analysis (TA) tool 20. In an embodiment of the present invention, at a top level, the ATPG tool 10 inputs a set of initial chip design definition files 15 and capture mode violation information 24, and generates a clock grouping report 14. The clock grouping report 14 is used to generate a modified set of chip design definition files 16. The set of initial chip design definition files 15 completely defines the initial design of a digital integrated circuit chip. The modified set of chip design definition files 16 completely defines a modified version of the digital integrated circuit chip.
The TA tool 20 inputs the modified set of chip design definition files 16 and outputs the capture mode violation information 24. The capture mode violation information 24 is then fed back and input to the ATPG tool 10 and a new grouping report 14 may be generated.
In accordance with an embodiment of the present invention, the ATPG tool 10 comprises at least one processor module 11 and at least one memory module 12. The ATPG tool 10 also comprises at least one software simulation module 13 that is stored in the at least one memory module 12 and is executed on the at least one processor module 11. In an embodiment of the present invention, the ATPG tool 10 generates the clock grouping report 14. The clock grouping report 14 is used to generate the modified set of chip design definition files 16. The ATPG tool 10 may be, for example, a commercial Tetramax ATPG tool from Synopsis, or may be some other ATPG tool.
In accordance with an embodiment of the present invention, the TA tool 20 comprises at least one processor module 21 and at least one memory module 22. The TA tool 20 also comprises at least one software timing analysis module 23 that is stored in the at least one memory module 22 and is executed on the at least one processor module 21. In an embodiment of the present invention, the TA tool 20 generates the capture mode violation information 24. The capture mode violation information 24 is fed back to the ATPG tool 10 and is used to generate a new clock grouping report 14.
Referring to FIG. 2, method 100 defines a process to limit a number of scan test clocks and chip ports used for testing the design of the chip with the system 5, for example. In step 110, the initial design of the chip internally by-passes, at the core level, all internally generated clocks. In step 120, the ATPG tool 10 inputs the initial design definition files 15 and attempts to identify the clock domains that are independent (i.e., share no data paths between them). In step 130, the ATPG tool 10 forms clock domain groups based on the independence analysis. The clock domain groups are stored in the clock grouping report 14. The design of the chip is again modified internally to tie each clock domain group to a single port of the chip. In an embodiment of the present invention, the modification of the design of the chip may be performed by the ATPG tool 10. As an alternative, the actual modification of the design of the chip may be performed off-line using some other tool such as a computer-based chip design tool.
In step 150, the TA tool 20 inputs the modified set of design definition files 16 and goes into a capture mode. In step 160, while in the capture mode, the TA tool 20 performs a timing analysis to determine if there are any capture mode violations in the modified design. Capture mode violations are typically caused by timing violations in the design of the chip.
For example, referring to FIG. 3, in the capture mode, scan pattern data may be clocked into flip-flop register 230 by an external scan clock 270 provided by the ATPG tool 10. Data appears at the input of flip-flop register 240 after passing through and being modified by logic cloud 235. Data may next be clocked into flip flop register 240 by an external scan clock 280 provided by the ATPG tool 10. If the data captured in flip-flop register 240 does not match the expected data based on the original scan pattern data clocked into flip-flop register 230 and the effects of the logic cloud 235, then at least one capture mode violation has occurred. Assuming the flip- flop registers 230 and 240 were previously tested in a scan mode, then the capture mode violation is likely due to a timing problem in the logic cloud 235.
As a further example, if flip-flop register 230 and flip-flop register 240 were clocked at the same time by the same scan test clock 270, then capture mode violations would almost certainly occur since the two flip-flop registers do not constitute independent clock domains. In other words, since the two flip-flop registers are connected by a data path (i.e., the logic cloud 235), the data captured in flip-flop register 240 will not be the expected data since the scan pattern data being clocked into flip-flop register 230 and going through logic cloud 235 has not had time to properly settle down and become valid before flip-flop register 240 is clocked.
Therefore, it may be seen that, during timing analysis, clock domains that are not independent should be clocked by different clocks at different times to avoid capture mode violations. FIG. 3 shows that scan test clock 270 is coupled to clock domain 230 and clock domain 250 which are independent of each other (i.e., no data path between them). Also, scan test clock 280 is coupled to clock domain 240 and clock domain 260 which are independent of each other. As a result, it may be seen that independent clock domains may be grouped together and clocked by the same scan test clock during capture mode timing analysis. Any capture mode violations that occur are stored in the at least one memory module 22 in TA tool 20.
Step 170 checks for capture mode violations. If there are no capture mode violations, then the modified design of the chip is good and the previously determined clock domain groups may be frozen as part of the design. However, if there are any capture mode violations, then the clock domain groups are not truly independent according to the design. As a result, the process is repeated, using the capture mode violation information to try to form clock domain groups that are truly independent.
In an embodiment of the present invention, before the method 100 is performed, a scan test mode is entered and the scan chain functionality of the chip design is verified. The ATPG tool 10 may be used during the scan test mode to verify the scan chains.
Once there are no more capture mode violations, the design of the chip may be frozen, having the internal clock domain groupings and by-pass circuitry as part of the design of the chip at the core level.
FIG. 4 is an exemplary schematic block diagram of a resultant chip design illustrating the internal grouping of independent clock domains and the internal by-passing of internal clocks at the core level, in accordance with an embodiment of the present invention. Various clock groups have been formed (e.g., clock group 370) based on the clock domain independence analysis performed by the system 5 using the method 100. The chip design 200 comprises a clock block 310 with internal clock generating circuitry (e.g., PLLs 320 and clock logic 330). The clock logic may include various divider circuitry, gates, etc. The clock block 310 also comprises one mux 350 for each internally generated clock domain 360. The muxes 350 are used to by-pass the internal clocks of the chip design 200 and pass the scan test clocks 340 (by-pass clocks) during testing in the capture mode.
The independent clock domains (e.g., 370) are grouped together internally to the chip design (at the core level) and are tied together at ports of the chip (e.g., port 371). Each clock domain group is tied to one chip port. As a result, the number of scan test clocks and chip ports used for testing is greatly reduced. In a typical chip design, there may be approximately 100 clock domains. Embodiments of the present invention may limit the number of scan test clocks and chip ports used for testing to only ten (i.e., as much as a factor of 10 or more).
After a chip is actually built based on the final chip design, the chip may be tested by going into the capture mode using the same scan patterns used in testing of the simulated chip design. Only the outputs of the chip are tested for the expected results.
In summary, aspects of the present invention provide simulating a design of a digital integrated circuit chip to limit a number of scan test clocks and chip ports used for testing the chip. Clock domains are identified within the design of the chip that are independent of each other. The independent clock domains are grouped together to form clock domain groups at the core level of the chip design. A timing analysis is performed on the design of the chip by clocking the clock domain groups each with an independent scan test clock. The scan test clocks originate externally to the design, by-passing the corresponding internal clocks. Capture mode violations are recorded from the timing analysis and are used to go back and form new clock domain groups, thereby repeating the method until no capture mode violations are generated.
While the invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.

Claims (19)

1. A system for simulating a design of a digital integrated circuit chip comprising:
at least one processor module in an automatic test pattern generation (ATPG) tool used for first generating a clock grouping report based on identifying and grouping one or more independent clock domain groups, and modifying said design using said clock grouping report; and
at least one processor module in a timing analysis (TA) tool for:
verifying said design after modifying said design using said clock grouping report, said modifying performed by a computer based chip design tool residing off-line and outside of said ATPG tool, said ATPG tool communicatively coupled to said TA tool;
second generating a timing analysis of said design definition file using a timing analysis tool to generate capture mode violations;
transmitting said capture mode violations into said automatic test pattern generation (ATPG) tool, said automatic test pattern generation (ATPG) tool modifying said clock grouping reports to generate a modified clock grouping report based on said capture mode violations, said computer based chin design tool remodifying said design based on said modified clock grouping report; and
reperforming said second generating and said transmitting until said capture model violations are not generated by said timing analysis (TA) tool.
2. The system of claim 1 wherein said ATPG tool comprises:
at least one memory module; and
at least one software simulation module residing in said at least one memory module and executed by said at least one processor module.
3. The system of claim 1 wherein said TA tool comprises:
at least one memory module; and
at least one software timing analysis module that is stored in said at least one memory module and is executed by said at least one processor module.
4. A system for performing clock domain minimization comprising:
at least one processor module in a first tool used for, for at least:
receiving a design definition file of an integrated circuit,
identifying one or more independent clock domains associated with said design definition file based on a simulation performed by said first tool, grouping circuitry defined by said design definition file into one or more independent clock domains,
first generating a clock grouping repost by said first tool, and
modifying said design definition file based on said clock grouping report by tying each of said one or more independent clock domain groups to a corresponding port on said chip; and
at least one processor module in a second tool for:
second generating a timing analysis of said design definition file to generate capture mode violations,
transmitting said capture mode violations to said first tool, said first tool modifying said clock grouping report to generate a modified clock grouping report based on said capture mode violations, said first tool remodifying said design definition filed based on said modified clock grouping report, and
reperforming said second generating and said transmitting until said capture mode violations are not generated by said second tool.
5. The system of claim 4 wherein said first tool comprises:
at least one memory module; and
at least one software simulation module residing in said at least one memory module and executed by said at least one processor module.
6. The system of claim 4 wherein said second tool comprises:
at least one memory module; and
at least one software timing analysis module residing in said at least one memory module and executed by said at least one processor module.
7. The system of claim 4 wherein each of said one or more independent clock domains comprise at least one of flip-flops and logic gates.
8. The system of claim 4 wherein said timing analysis is performed by way of internally by-passing all internally generated clocks of said integrated circuit.
9. The system of claim 8 wherein said by-passing is implemented using one or more two input multiplexers.
10. A method of performing clock domain minimization in the implementation of a circuit design of a scan based integrated circuit chip comprising:
first modifying an initial design definition file of said circuit design to internally by-pass all internally generated clocks, said first modifying generating a design definition file;
inputting said design definition file into an automatic test pattern generation tool;
identifying one or more independent clock domains associated with said design definition file based on a simulation performed by said automatic test pattern generation tool;
grouping circuitry defined by said design definition file into one or more independent clock domain groups corresponding to said one or more independent clock domains;
first generating a clock grouping report;
second modifying said design definition file based on said clock grouping report by tying each of said one or more independent clock domain groups to a corresponding port on said chip;
second generating a timing analysis of said design definition file using a timing analysis tool to generate capture mode violations;
inputting said capture mode violations into said automatic test pattern generation tool;
third generating a clock grouping report based on said capture mode violations; and
reperforming said second modifying, said second generating, said inputting, and said third generating until said capture mode violations are not generated by said timing analysis tool.
11. The method of claim 10 further comprising entering a scan test mode before said first modifying is performed to verify scan chain functionality of said chip.
12. The method of claim 11 wherein said entering said scan mode to verify scan chain functionality is accomplished using said automatic test pattern generation tool during said scan test mode of said simulation.
13. The method of claim 10 wherein said each of said clock domain groups comprises at least one of flip-flops and logic gates.
14. The method of claim 10 wherein said first modifying to internally by-pass all internally generated clocks incorporates the use of one or more two input multiplexers.
15. A system comprising:
a first processor in an automatic test pattern generation (ATPG) tool for:
receiving a design definition file of a circuit design that has been modified by internally by-passing all internally generated clocks,
identifying one or more independent clock domains associated with said first design definition file based on a simulation performed by said automatic test pattern generation tool,
grouping circuitry defined by said design definition file into one or more independent clock domain groups corresponding to said one or more independent clock domains,
first generating a clock grouping report, and
modifying said design definition file based on said clock grouping report by tying each of said one or more independent clock domain groups to a corresponding port on an integrated circuit chip; and
a second processor in a timing analysis (TA) tool for:
second generating a timing analysis of said design definition file to generate capture mode violations,
transmitting said capture mode violations into said automatic test pattern generation (ATPG) tool, said ATPG tool modifying said clock grouping report to generate a modified clock grouping report based on said capture mode violations, said ATPG tool remodifying said design definition file based on said modified clock grouping report, and
reperforming said second generating and said transmitting step until said capture model violations are not generated by said timing analysis (TA) tool.
16. The system of claim 15 further comprising entering a scan test mode before said receiving is performed to verify scan chain functionality of said chip.
17. The system of claim 16 wherein said entering said scan mode to verify scan chain functionality is accomplished using said automatic test pattern generation tool during said scan test mode of said simulation.
18. The system of claim 15 wherein said each of said one or more independent clock domain groups comprises at least one of flip-flops and logic gates.
19. The system of claim 15 wherein said internally by-passing all internally generated clocks uses one or more two input multiplexers.
US10/299,257 2002-11-19 2002-11-19 System and method for clock domain grouping using data path relationships Expired - Fee Related US7424417B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/299,257 US7424417B2 (en) 2002-11-19 2002-11-19 System and method for clock domain grouping using data path relationships

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/299,257 US7424417B2 (en) 2002-11-19 2002-11-19 System and method for clock domain grouping using data path relationships

Publications (2)

Publication Number Publication Date
US20040098241A1 US20040098241A1 (en) 2004-05-20
US7424417B2 true US7424417B2 (en) 2008-09-09

Family

ID=32297648

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/299,257 Expired - Fee Related US7424417B2 (en) 2002-11-19 2002-11-19 System and method for clock domain grouping using data path relationships

Country Status (1)

Country Link
US (1) US7424417B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332932A1 (en) * 2009-06-25 2010-12-30 Nec Electronics Corporation Test method, test control program and semiconductor device
US8538718B2 (en) 2010-12-14 2013-09-17 International Business Machines Corporation Clock edge grouping for at-speed test
US10318683B2 (en) 2016-05-20 2019-06-11 International Business Machines Corporation Clock domain-independent abstracts

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957358B1 (en) * 2002-01-28 2005-10-18 Cisco Systems, Inc. Scaling dynamic clock distribution for large service provider networks
US7500165B2 (en) * 2004-10-06 2009-03-03 Broadcom Corporation Systems and methods for controlling clock signals during scan testing integrated circuits
CN113609804B (en) * 2021-07-27 2023-10-20 西安芯海微电子科技有限公司 Case generation method and device, test method and testability design method

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032783A (en) * 1985-10-23 1991-07-16 Texas Instruments Incorporated Test circuit and scan tested logic device with isolated data lines during testing
US5384533A (en) * 1989-05-19 1995-01-24 Fujitsu Limited Testing method, testing circuit and semiconductor integrated circuit having testing circuit
US5828579A (en) * 1996-08-28 1998-10-27 Synopsys, Inc. Scan segment processing within hierarchical scan architecture for design for test applications
US6106568A (en) * 1996-08-28 2000-08-22 Synopsys, Inc. Hierarchical scan architecture for design for test applications
US6324678B1 (en) * 1990-04-06 2001-11-27 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US20020166098A1 (en) * 1998-09-30 2002-11-07 Cadence Design Systems, Inc. Block based design methodology
US20020171449A1 (en) * 1999-11-19 2002-11-21 Hitachi, Ltd. Test system and manufacturing of semiconductor device
US20020184560A1 (en) * 2001-03-22 2002-12-05 Laung-Terng Wang Multiple-capture DFT system for scan-based integrated circuits
US20020188888A1 (en) * 2001-06-06 2002-12-12 Jochen Rivoir Method and apparatus for testing digital devices using transition timestamps
US20030009715A1 (en) * 2001-07-05 2003-01-09 Intellitech Corporation Method and apparatus for optimized parallel testing and access of electronic circuits
US20030023941A1 (en) * 2001-03-30 2003-01-30 Wang Laung-Terng (L.-T.) Computer-aided design system to automate scan synthesis at register-transfer level
US6539497B2 (en) * 1987-06-02 2003-03-25 Texas Instruments Incorporated IC with selectively applied functional and test clocks
US20030101331A1 (en) * 2001-10-06 2003-05-29 Boylan Sean T. ASIC design technique
US20030131298A1 (en) * 1999-11-23 2003-07-10 Mentor Graphics Corporation Test pattern compression for an integrated circuit test environment
US20030188214A1 (en) * 2002-03-28 2003-10-02 Altmayer Terry R. Method and system for efficient clock signal generation
US20030208350A1 (en) * 2002-04-18 2003-11-06 International Business Machines Corporation Facilitating simulation of a model within a distributed environment
US20030217341A1 (en) * 2002-05-20 2003-11-20 Rochit Rajsuman Architecture and design of universal IC test system
US6766501B1 (en) * 1999-03-24 2004-07-20 Synopsys, Inc. System and method for high-level test planning for layout
US20040193983A1 (en) * 1988-09-07 2004-09-30 Whetsel Lee D. IC scan means changing output signals synchronous with clock signal
US20050114811A1 (en) * 2002-08-28 2005-05-26 Lsi Logic Corporation Static timing and risk analysis tool
US20050125751A1 (en) * 1999-02-25 2005-06-09 Formfactor, Inc. Method of incorporating interconnect systems into an integrated circuit process flow
US20050160331A1 (en) * 2002-01-30 2005-07-21 Wilsher Kenneth R. PICA system timing measurement and calibration
US20050204235A1 (en) * 2001-10-15 2005-09-15 Yaron Kretchmer Automatic method and system for instantiating built-in-test (BIST) modules in ASIC memory designs

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5032783A (en) * 1985-10-23 1991-07-16 Texas Instruments Incorporated Test circuit and scan tested logic device with isolated data lines during testing
US6539497B2 (en) * 1987-06-02 2003-03-25 Texas Instruments Incorporated IC with selectively applied functional and test clocks
US20040193983A1 (en) * 1988-09-07 2004-09-30 Whetsel Lee D. IC scan means changing output signals synchronous with clock signal
US5384533A (en) * 1989-05-19 1995-01-24 Fujitsu Limited Testing method, testing circuit and semiconductor integrated circuit having testing circuit
US6324678B1 (en) * 1990-04-06 2001-11-27 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US5828579A (en) * 1996-08-28 1998-10-27 Synopsys, Inc. Scan segment processing within hierarchical scan architecture for design for test applications
US6106568A (en) * 1996-08-28 2000-08-22 Synopsys, Inc. Hierarchical scan architecture for design for test applications
US20020166098A1 (en) * 1998-09-30 2002-11-07 Cadence Design Systems, Inc. Block based design methodology
US20030115564A1 (en) * 1998-09-30 2003-06-19 Cadence Design Systems, Inc. Block based design methodology
US20050125751A1 (en) * 1999-02-25 2005-06-09 Formfactor, Inc. Method of incorporating interconnect systems into an integrated circuit process flow
US6766501B1 (en) * 1999-03-24 2004-07-20 Synopsys, Inc. System and method for high-level test planning for layout
US20020171449A1 (en) * 1999-11-19 2002-11-21 Hitachi, Ltd. Test system and manufacturing of semiconductor device
US20030131298A1 (en) * 1999-11-23 2003-07-10 Mentor Graphics Corporation Test pattern compression for an integrated circuit test environment
US20020184560A1 (en) * 2001-03-22 2002-12-05 Laung-Terng Wang Multiple-capture DFT system for scan-based integrated circuits
US20030023941A1 (en) * 2001-03-30 2003-01-30 Wang Laung-Terng (L.-T.) Computer-aided design system to automate scan synthesis at register-transfer level
US6957403B2 (en) * 2001-03-30 2005-10-18 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level
US20050229123A1 (en) * 2001-03-30 2005-10-13 Syntest Technologies, Inc. Computer-aided design system to automate scan synthesis at register-transfer level
US20020188888A1 (en) * 2001-06-06 2002-12-12 Jochen Rivoir Method and apparatus for testing digital devices using transition timestamps
US20030009715A1 (en) * 2001-07-05 2003-01-09 Intellitech Corporation Method and apparatus for optimized parallel testing and access of electronic circuits
US20030101331A1 (en) * 2001-10-06 2003-05-29 Boylan Sean T. ASIC design technique
US20050204235A1 (en) * 2001-10-15 2005-09-15 Yaron Kretchmer Automatic method and system for instantiating built-in-test (BIST) modules in ASIC memory designs
US20050160331A1 (en) * 2002-01-30 2005-07-21 Wilsher Kenneth R. PICA system timing measurement and calibration
US20030188214A1 (en) * 2002-03-28 2003-10-02 Altmayer Terry R. Method and system for efficient clock signal generation
US20030208350A1 (en) * 2002-04-18 2003-11-06 International Business Machines Corporation Facilitating simulation of a model within a distributed environment
US20030217341A1 (en) * 2002-05-20 2003-11-20 Rochit Rajsuman Architecture and design of universal IC test system
US20050114811A1 (en) * 2002-08-28 2005-05-26 Lsi Logic Corporation Static timing and risk analysis tool

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332932A1 (en) * 2009-06-25 2010-12-30 Nec Electronics Corporation Test method, test control program and semiconductor device
US8538718B2 (en) 2010-12-14 2013-09-17 International Business Machines Corporation Clock edge grouping for at-speed test
US10318683B2 (en) 2016-05-20 2019-06-11 International Business Machines Corporation Clock domain-independent abstracts

Also Published As

Publication number Publication date
US20040098241A1 (en) 2004-05-20

Similar Documents

Publication Publication Date Title
US6539508B1 (en) Methods and circuits for testing programmable logic
US5878055A (en) Method and apparatus for verifying a single phase clocking system including testing for latch early mode
KR100402433B1 (en) A method for application of weighted random patterns to partial scan designs
CN102831272A (en) DFT (Design for Testability) method for double-edge trigger
US7707021B2 (en) Circuit emulation with state recovery
US20160320448A1 (en) Programmable Circuits for Correcting Scan-Test Circuitry Defects in Integrated Circuit Designs
JP4846128B2 (en) Semiconductor device and test method thereof
US7424417B2 (en) System and method for clock domain grouping using data path relationships
US5444717A (en) Method for providing minimal size test vector sets
US7032202B2 (en) System and method for implementing a flexible top level scan architecture using a partitioning algorithm to balance the scan chains
US20060236179A1 (en) Delay test method for large-scale integrated circuits
US7228515B2 (en) Methods and apparatuses for validating AC I/O loopback tests using delay modeling in RTL simulation
Jain et al. Scan test data volume reduction in multi-clocked designs with safe capture technique
US6237117B1 (en) Method for testing circuit design using exhaustive test vector sequence
JP2008047121A (en) Method and apparatus for indirectly simulating semiconductor integrated circuit
US7080333B1 (en) Verifying logic synthesizers
US20080069277A1 (en) Method and apparatus for modeling signal delays in a metastability protection circuit
US20100131910A1 (en) Simulating Scan Tests with Reduced Resources
US6170072B1 (en) Logic circuit verification apparatus and method for semiconductor integrated circuit
Wieler et al. Simulating static and dynamic faults in BIST structures with a FPGA based emulator
Naidu et al. Secured Test Pattern Generators for BIST
US6968519B2 (en) System and method for using IDDQ pattern generation for burn-in tests
Pooja et al. Verification of Interconnection IP for Automobile Applications using System Verilog and UVM
Kakoee et al. Enhancing the testability of RTL designs using efficiently synthesized assertions
US7558722B2 (en) Debug method for mismatches occurring during the simulation of scan patterns

Legal Events

Date Code Title Description
AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GUETTAF, AMAR;REEL/FRAME:013562/0913

Effective date: 20021118

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20160909

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001

Effective date: 20170119