Computer-aided design and analysis of circuits and semiconductor – Nanotechnology related integrated circuit design
Reexamination Certificate
2000-06-05
2003-03-18
Siek, Vuthe (Department: 2825)
Computer-aided design and analysis of circuits and semiconductor
Nanotechnology related integrated circuit design
C716S030000, C716S030000, C716S030000
Reexamination Certificate
active
06536018
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to methods to improve the speed, accuracy and efficiency of Reverse Engineering of electronic circuits. The present invention is further drawn to computer systems and software to improve the speed, accuracy and efficiency of integrated circuits.
BACKGROUND OF THE INVENTION
Integrated circuits (ICs) are a relatively new technology generally comprising a small piece of semiconducting material, upon which transistors, connectors, and other functional units have been imprinted. Originally ICs were large, ungainly, and relatively simple devices, but have since evolved to a level of enormous complexity. Modern ICs can contain many millions of transistors in a single square centimeter. In general, ICs are designed from complex libraries of subcircuits that are carefully mapped, tested and documented for their intended use.
There are times, however, when an IC must be understood without the aid of the manufacturer's documentation. The process of understanding a circuit without specifications is called “Reverse Engineering.” Situations requiring Reverse Engineering can arise under a number of circumstances. IC manufacturers, for example, often go out of business, or stop production of certain ICs, thereby presenting difficulties to dependent customers. Such a customer may need to understand the gate-level functionality of the IC in order to re-manufacture it. In addition, Reverse Engineering of ICs is useful for intellectual property analysis, competitive analysis, malfunction analysis, security analysis, or the verification of a manufacturer's specifications during the design process.
Reverse Engineering is the inverse of the design process. The design process begins with an abstract description of a target device and, through a succession of refinements, produces an implementable design. Reverse Engineering begins with the disassembly of a manufactured device and ends with an abstract description of its functionality. In the case of ICs, the disassembly process consists of obtaining an image of the IC's internal structure and extracting a transistor-level netlist from the image. This netlist description then undergoes transformation to successively higher levels of abstraction until it becomes a suitably high-level description of the circuit's behavior.
The Reverse Engineering of a modern IC presents a number of substantial difficulties. IC manufacturers generally endeavor to make ICs as small as possible, but with as much functionality as possible. In addition, manufacturers will often attempt to obfuscate the most important features of the circuit, with the intent to hinder Reverse Engineering. To the reverse engineer, who may begin with only a general understanding of the IC's function and an unmarked image of the IC itself, the task of unraveling a modern IC can seem impossible.
The art of Reverse Engineering of ICs has not advanced particularly far. It is standard practice to attempt Reverse Engineering of an IC without the aid of software suited to that task. In such a “manual” process, an image of the IC of interest will be magnified, allowing engineers to meticulously examine possible subcircuits. Often entire rooms are devoted to IC graphs used in the process of Reverse Engineering. This process is slow and obviously limited to ICs of a less complicated nature. Advancements in the art have languished, partly because of a failure to recognize possibilities for automation, and partly because of the seemingly insurmountable computational barriers to automation.
Notably, syntactic matching, although suggested as early as 1985, has never been demonstrated to successfully reverse engineer circuits of non-trivial complexity. Syntactic matching relies on a library of known subcircuits, and attempts to find exact matches for these subcircuits within a larger circuit. To accomplish this, the syntactic matching program must attempt to match every known library instance gate by gate with the unknown IC. For ICs of even trivial complexity, this process very quickly becomes computationally intractable. In addition, syntactic matching is very literal, and does not easily compensate for slight changes in a subcircuit that have no effect on function. For these reasons, syntactic matching has remained a laboratory practice.
Another possible approach involves semantic matching. Semantic matching seeks to reduce a subcircuit to a canonical form, which is dependent only on the input to output mapping of the circuit. The canonical form is then matched against a library of known canonical forms. Semantic matching is less literal than syntactic matching and more able to handle non-functional variations in a subcircuit. Semantic matching, however, is even more computationally intensive than syntactic matching. A straight semantic matching approach would involve examination of every possible subcircuit in an IC for relevance. For example, consider an IC with gates labeled 1 through N. The semantic matcher must start with gate
1
, and assume that it itself forms a subcircuit. The semantic matcher must then look at gate
1
and gate
2
to see if they form a subcircuit together. Next gate
1
and gate
3
, and so on until gate
1
and gate N are considered. The next iteration would examine gate
1
, gate
2
and gate
3
, and so forth. The effort required for this process is at least exponentially related to the number of gates in the IC. Semantic matching has thus not been successfully demonstrated prior to the present invention.
It is therefore an object of the invention to provide an improved automated aid for the Reverse Engineering of circuits or other components.
It is a further object of the present invention to provide an improved automated aid for the Reverse Engineering of ICs.
It is a further object of the present invention to provide an improved method for the use of syntactic matching for the Reverse Engineering of complex ICs.
It is a further object of the present invention to provide an improved method for the use of semantic matching for the Reverse Engineering of complex ICs.
It is a further object of the present invention to provide an improved method for the use of syntactic and semantic matching in cooperation for the Reverse Engineering of complex ICs.
It is a further object of the present invention to provide an improved automated aid for the use of syntactic and semantic matching in the Reverse Engineering of complex ICs.
It is a further object of the present invention to provide improved support methods for the use of syntactic and semantic matching in the Reverse Engineering of ICs.
It is a further object of the present invention to provide improved computational software to allow an operator to automate as much of the IC Reverse Engineering process as possible.
It is a further object of the present invention to provide improved software with convenient workflow.
It is a further object of the present invention to provide an improved, single software package that allows an operator to conveniently apply syntactic and semantic matching along with support methodologies to certain subsections of an IC at certain times in the Reverse Engineering process, with the goal of expediting the Reverse Engineering process.
It is a further object of the invention to improve the ability to reverse engineer complex ICs.
It is a further object of the present invention to provide a computer system operating with at least one processor and memory that can aid in the process of reverse engineering of ICs.
Further objects and advantages of the present invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description of the invention when taken into conjunction with the accompanying drawings.
SUMMARY OF THE INVENTION
The invention relates to a computer system involving software and a method with multiple steps to analyze a circuit having a plurality of electronic or optical elements to determine the sequence of functions within the circuit. The inventio
Chisholm Gregory H.
Eckmann Steven T.
Lain Christopher M.
Veroff Robert L.
Foley & Lardner
Rechtin Michael D.
Siek Vuthe
The University of Chicago
LandOfFree
Reverse engineering of integrated circuits does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Reverse engineering of integrated circuits, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Reverse engineering of integrated circuits will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3085651