1. Field of the Invention
The present invention relates to a circuit analysis and more particularly to automatic mixed-signal circuit functional analysis.
2. Brief Description of Related Art
In general, integrated circuits (ICs) including both analog and digital signals can be referred to as mixed-signal circuits. As will be appreciated by the person skilled in the art, verification of the functionality of the mixed-signal circuits can be challenging. For example, verification of a mixed-signal circuit design given a datasheet and physical die is of great interest to the IC industry and critical importance to the military. Existing methods use testing to verify the functionality of the mixed-signal circuit design. However, this method may potentially overlook inserted malicious circuits in the mixed-signal chip.
Also, a thorough verification of a circuit design may require reverse engineering of a physical die to its functional building blocks, which requires two steps, i.e., from imaging to netlist (i.e., connection relationship of each terminal in the circuit design), and from netlist to function. Further, the unidentifiable circuits in this method may be further subjected to human examination. However, existing methods may be designed to perform circuit function analysis for either digital circuits or a part of linear analog circuits.
A system and automated method for mixed-signal circuit functional analysis is disclosed. According to one aspect of the present subject matter, the method includes identifying hierarchical levels of functional components in an inputted mixed-signal circuit based on netlist, property of input signals and a design knowledge base. The design knowledge base is built in the form of hierarchical schematics and corresponding netlists. In one example embodiment, parallel and serial devices are merged in the inputted mixed-signal circuit. Further, voltage biases and current sources are identified at a first stage by comparing the netlist and the property of the input signal of the inputted mixed-signal circuit with subcircuit patterns in the design knowledge base. Furthermore, multiple lower levels of functional components are identified by comparing the netlist and property of input signals of the functional components with the subcircuit patterns in the design knowledge base. The signal properties of matched output at each level are assigned as the input to netlist's functional components in a next level.
For example, first level functional components are identified at a second stage by comparing the netlist and property of input signals of the first level functional components with the subcircuit patterns in the design knowledge base. The signal properties of matched output (i.e., outputs of matched voltage and/or current sources) of the first stage are assigned as the input to first level functional components in the second stage. Further, this process is repeated until all the levels of functional components are identified in the inputted mixed-signal circuit by assigning the matched output at each stage to netlist's functional components in a next stage. In addition, high level functional components of the inputted mixed-signal circuit can be identified by combining the identified functional components at each stage.
According to another aspect of the present subject matter, a system includes a processor and memory coupled to the processor, the memory including a mixed-signal circuit functional analysis module configured to perform the method for mixed-signal circuit functional analysis as described above.
According to yet another aspect of the present subject matter, a non-transitory computer-readable storage medium including instructions that are configured, when executed by a computing system, to perform a method for mixed-signal circuit functional analysis as described above.
The advantages and features of the present disclosure will become better understood with reference to the following detailed description and claims taken in conjunction with the accompanying drawings, wherein like elements are identified with like symbols, and in which:
a) is a schematic drawing showing an example input mixed-signal circuit, in the context of the present subject matter.
b) is a schematic drawing illustrating merging of parallel and serial devices in the input mixed-signal circuit of
c) is a schematic drawing illustrating identifying voltage bias in the input mixed-signal circuit of
d) is schematic drawing illustrating identifying current source in the input mixed-signal circuit of
e) is a schematic drawing illustrating identifying functional components in the input mixed-signal circuit of
The exemplary embodiments described herein in detail for illustrative purposes are subject to many variations in structure and design. The present technique provides a flexible framework for automatic mixed-signal circuit function analysis from an inferred flat netlist in the absence of a schematic ground truth. This can be achieved by building a mixed-signal circuit design knowledge base in the form of hierarchical schematics and corresponding net lists, including basic building blocks, amplifiers, and data converters and the like. This approach can dynamically incorporate new hierarchical circuit design knowledge into the mixed-signal circuit design knowledge base without software modification, thereby allowing circuit designers with different expertise to develop the knowledge base independently. Further, the present technique provides an enhanced sub-circuit matching technique that takes into account the nature of input signals to identify voltage bias, current-mirrors, switches, diff-amp, op-amp, high speed D/A converter and other key components of modern mixed-signal circuits. In addition, the proposed technique can also be used for probabilistic/approximate matching paradigm to extend sub-circuit matching under uncertainty from measured noisy data.
The key challenges in automatic mixed-signal circuit function analysis from extracted netlist are: 1) Mixed-signal circuit design is highly customized and there is no existing public standard mixed-signal circuit library, as compared to the digital counterpart. To overcome this, the present technique proposes developing of a complete mixed-signal design knowledge base, which is explained below. 2) The function of a mixed-signal sub-circuit is not fully specified by the circuit elements and connection alone. To overcome this, the present sub-circuit matching technique also considers the nature of the input signals, which is explained below. 3) The extracted device sizes and netlist are typically imperfect, which make simulation based hypothesis testing difficult and requires robustness of automatic circuit analysis techniques. To overcome this, sub-circuit matching technique proposes an approximate/probabilistic sub-circuit matching algorithm/probabilistic sub-circuit matching technique to address this problem using a probabilistic graph matching technique.
In one embodiment, hierarchical levels of functional components are identified in an inputted mixed-signal circuit based on netlist, property of an input signal and a design knowledge base. This can be achieved by determining the property/nature of the input signal of each of the functional components, comparing the property of the input signal and the netlist with subcircuit patterns in the design knowledge base, and then identifying the hierarchical levels of functional components based on the comparison. This analysis assumes that the signal types of a chip pin are given by a datasheet.
The terms “mixed-signal circuit” and “mixed-signal integrated circuit” are being used interchangeably throughout the document. The term “netlist” is used to identify circuit elements and their connectivity information in the mixed-signal integrated circuit.
At block 110. parallel and serial devices in the inputted mixed-signal circuit are merged. This step is explained in detail using
At block 120, voltage biases and current sources are identified at a first stage by comparing the netlist and the property of the input signal of the inputted mixed-signal circuit with subcircuit patterns in a design knowledge base. The netlist is extracted from the inputted mixed-signal chip. For example, the netlist can be inferred from imaging techniques, such as X-ray fluorescence tomography, micro computed tomography (MICRO-CT), and backside infrared imaging.
The design knowledge base can be built (i.e., manually or automatically) in the form of hierarchical schematics and corresponding netlists. For example, the design knowledge base includes subcircuit patterns of components including basic building blocks, amplifiers, operational amplifiers, comparators, data converters, interface circuits, power managements, clock and timing, voltage and current references, and/or radio frequency/intermediate frequency (RF/IF) circuits. Further, the basic building blocks include components such as diodes, transistors, resistors, capacitors, inductors, current sources. current mirrors, and/or switches. Also, the design knowledge base can be dynamically updated to add new subcircuit patterns. The identified subcircuits are replaced with voltage bias and/or current source symbols. Identifying voltage biases and current sources are explained in detail in
Further, multiple lower levels of functional components are identified by comparing the netlist and property of input signals of the functional components with the subcircuit patterns in the design knowledge base. The signal properties of matched output at each level are assigned as the input to functional components in a next level. The multiple lower levels of functional components are identified as shown in blocks 130 and 140. At block 130, first level functional components are identified at a second stage by comparing the netlist and property of input signals of the first level functional components with the subcircuit patterns in the design knowledge base. The identified subcircuits are then replaced with higher level abstract symbols (e.g., amplifiers, and data converters and the like). The signal properties of matched outputs of the first stage (i.e., at block 120) are assigned as the input to respective functional components in the netlist for further component matching. This step is explained in detail in
At block 140, a check is made to determine whether any other functional components in the netlist need to be identified. If any other functional components in the netlist need to be identified, then the process repeats the block 130 for a next level of functional components until all the functional components in the netlist are identified. At block 150, higher level functional components of the inputted mixed-signal circuit are identified by combining the identified lower level functional components. The higher level functional components refer to a related collection of interconnected lower level components in the inputted mixed-signal circuit.
At block 160, the identified high level functional components, the identified lower level functional components and any unidentifiable circuits can be outputted. In one example, the identified high level functional components can include a top level chip function.
Therefore, above-mentioned method described in
a) is a schematic drawing 300(a) showing an example input mixed-signal circuit, in the context of the present subject matter. The algorithm/method performs the automatic functional analysis of the mixed-signal circuit as shown below in
b) is a schematic drawing 300(b) illustrating merging of parallel and serial devices in the input mixed-signal circuit of
c) is a schematic drawing 300(c) illustrating identifying voltage bias in the merged input mixed-signal circuit of
d) is schematic drawing 300(d) illustrating identifying current sources in the input mixed-signal circuit of
e) is a schematic drawing 300(e) illustrating identifying functional components in the input mixed-signal circuit of
The method described above facilitates automatic mixed-signal circuit functional analysis by building a complete design knowledge base. The design knowledge base have the following characteristics:
1. Hierarchical: new knowledge can be added into the hierarchy with no effect on existing knowledge base, thus allow parallel development of this knowledge base.
2. Transparent to the analysis algorithm: Design knowledge is dynamically loaded and no change is needed in the circuit function analysis algorithm to work with new design knowledge. For example, a new type of current mirror can be added in the current mirror circuit family and the algorithm will search all potential current mirrors. All matched current mirror sub-circuits will be abstracted as current mirror before higher level abstraction.
3. The design knowledge is represented as circuit schematics and netlists in an open source tool X-Circuit. This design knowledge thus can be easily maintained, shared, and enhanced by users.
Also, a probabilistic matching can be incorporated into the automatic circuit functional analysis by generalizing the binary decision of sub-circuit matching to a soft decision. This probabilistic matching approach takes the percentage of matched nodes in the circuit graph as a probability score. For example, consider a standard three input NAND gate sub-circuit and an extracted netlist having bigger circuit than the NAND gate sub-circuit. Further, consider one of the connections is missed at the netlist extraction process. Therefore, a strict matching may result in no match. However, the probabilistic matching approach matches the two circuits by giving a matching score, for example, 10/14 or 71.4%.
In the embodiment shown, computing system 402 may comprise computer memory (“memory”) 404, display 406. one or more Central Processing Units (“CPU”) 408, input/output devices 410 (e.g., keyboard, mouse, image capturing device, etc.), other computer-readable media 412, and network connections 414. The mixed-signal circuit functional analysis module 420 is shown residing in memory 404. The components of the mixed-signal circuit functional analysis module 420 may execute on one or more CPUs 408 and implement techniques described herein. Other code or programs 418 (e.g., an administrative interface, a Web server, and the like) may also reside in memory 404, and execute on one or more CPUs 408. Further, other data repositories, such as data store 416, may also reside in computing system 402. One or more of the components in
The mixed-signal circuit functional analysis module 420 may interact via network with host computing systems in the cluster. The network may be any combination of media (e.g., twisted pair, coaxial, fiber optic, radio frequency), hardware (e.g., routers, switches, repeaters, transceivers), and protocols (e.g., TCP/IP, UDP, Ethernet, Wi-Fi, WiMAX) that facilitate communication to and from remotely situated humans and/or devices. In one embodiment, the mixed-signal circuit functional analysis module identifies hierarchicals level of functional components in an inputted mixed-signal circuit based on netlist, property of an input signal and a design knowledge base.
In addition, programming interfaces to the data stored as part of the mixed-signal circuit functional analysis module 420. such as in data store 416, can be available by standard mechanisms such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. Furthermore, in some embodiments, some or all of the components of the mixed-signal circuit functional analysis module 420 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers executing appropriate instructions, and including microcontrollers and/or embedded controllers, field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”). and the like.
Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a non-transitory computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the components and/or data structures may be stored on tangible, non-transitory storage mediums. Some or all of the system components and data structures may also be provided as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
1. Circuit design knowledge base
1.1 Basic Building Blocks
1.2 Data Converters
1.3 Amplifiers, Op-amps and Comparators
1.4 Clock and Timing
1.5 Interface
1.6 Power Management
1.7 Reference
1.8 RF/IF
This application claims rights under 35 USC §119(e) from U.S. Application 61/852,361 filed Mar. 14, 2013, the contents of which are incorporated herein by reference.
The invention was made with United States Government support under Contract No. HR0011-11-C-0075 awarded by the Defense Advanced Research Projects Agency (DARPA). The United States Government has certain rights in this invention.
Number | Date | Country | |
---|---|---|---|
61852361 | Mar 2013 | US |