The present invention generally relates to device security, and more specifically, to enabling device security by design enumeration selective targeting.
The fabrication of advanced integrated circuits (ICs) is often carried out by foundries, which may not always be trustworthy. In some instances, the manufactured chips may be modified as compared to the initial design (that is, tampered with) by adding “malicious circuitry” or deleting circuits that can open security issues and/or lead to reliability problems, controlled malfunctioning and the like. Alterations may be introduced at the silicon manufacturing level, back end of the line wiring level, and/or at the packaging level. These “inserted” or “deleted” circuits cannot be detected through regular electrical screening tests, because they are designed to hide themselves from such tests.
Embodiments of the present invention are directed to a computer-implemented method of ensuring integrity of an integrated circuit (IC). A non-limiting example of the computer-implemented method includes providing a design layer that meets design rule checks (DRCs), identifying a first critical dimension (CD) distribution of the design layer and using retargeting shapes in the design layer to enable a biasing of CDs of targets to enable a provision of two different CD distributions, which are DRC clean and which are separate from one another and which cannot be expressed by a single Gaussian distribution.
Embodiments of the present invention are directed to a computer-implemented method of designing semiconductor chip layers. A non-limiting example of the computer-implemented method includes designing semiconductor chip layers that meet design rule checks (DRCs) to form a device with a characteristic property and enumerating objects of the device to assign a retargeting operation to respective locations of each of the objects to adjust the characteristic property.
Embodiments of the invention are directed to a semiconductor chip. A non-limiting example of the semiconductor chip includes a grid and an array of elements electrically coupled to the grid according to a design that meets design rule checks (DRCs) to form a device. The array of elements include a first group of elements having similar physical characteristics and a second group of elements having physical characteristics that differ from those of the first group of elements such that the device has two different critical dimension (CD) distributions separated from each other and that cannot be described by a single Gaussian expression.
Additional technical features and benefits are realized through the techniques of the present invention. Embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed subject matter. For a better understanding, refer to the detailed description and to the drawings.
The specifics of the exclusive rights described herein are particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features and advantages of the embodiments of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The diagrams depicted herein are illustrative. There can be many variations to the diagram or the operations described therein without departing from the spirit of the invention. For instance, the actions can be performed in a differing order or actions can be added, deleted or modified. Also, the term “coupled” and variations thereof describes having a communications path between two elements and does not imply a direct connection between the elements with no intervening elements/connections between them. All of these variations are considered a part of the specification.
In the accompanying figures and following detailed description of the disclosed embodiments, the various elements illustrated in the figures are provided with two or three digit reference numbers. With minor exceptions, the leftmost digit(s) of each reference number correspond to the figure in which its element is first illustrated.
For the sake of brevity, conventional techniques related to making and using aspects of the invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and/or process details.
Turning now to an overview of technologies that are more specifically relevant to aspects of the invention, a trusted supply chain for manufacturing a semiconductor chip ensures the secure integrity of the semiconductor chip. This is essential in order to ensure that functionalities of semiconductor chips are not tampered with and to thereby prevent the addition of malicious functions. However, because a semiconductor chip manufacturing supply chain can be compromised at one or more stages between “trusted” design/photomask production facilities and chip packaging facilities, it is possible that a semiconductor chip could fall into the custody of a “non-trusted” facility, such as a “non-trusted” foundry. In such cases, when “non-trusted” foundry operations are used in the supply chain, the secure integrity of a semiconductor chip may not be ensured and alternate methods of ensuring integrity may be required to guard against efforts at tampering with the secure integrity of the semiconductor chip.
In conventional semiconductor chip designs, alternate methods of ensuring integrity include the use of desired and trusted security keys and unique codes that are extracted from some inherent characteristics of device implementations, such as arbiters, ring oscillators, SRAMs, flip-flops and latches. It has been found that such alternate methods can be overcome due various factors such as being able to be replicated from design intent and being dependent on inherent fabrication processes.
Turning now to an overview of the aspects of the invention, one or more embodiments of the invention address the above-described shortcomings of the prior art by providing for the fabrication of trusted hardware in a semiconductor chip by engineering mask design operations to provide unique signatures to devices within the chip, which cannot be replicated from design intent. The fabrication of the trusted hardware does not depend on inherent fabrication process distributions, but rather is embodied in a subtle variation to the design that is difficult to detect. This is achieved by algorithmic randomization of an upsizing of a critical dimension of a designated structure (e.g., contacts in an array of contacts) in a design whereby a unique resistance distribution can be generated for each device array. This algorithmic randomization can be achieved by selective retargeting using a design enumeration approach.
The above-described aspects of the invention address the shortcomings of the prior art by providing a computer-implemented method of ensuring integrity of an integrated circuit (IC). The computer-implemented method includes providing a design layer that meets design rule checks (DRCs), identifying a first critical dimension (CD) distribution of the design layer and using retargeting shapes in the design layer to enable a biasing of CDs of targets to enable a DRC clean second CD distribution, which differs from the first CD distribution.
Turning now to a more detailed description of aspects of the present invention, in designing an integrated circuit (IC) device, engineers or designers typically rely on computer design tools to help create an IC schematic or design, which can include a multitude of individual devices, such as transistors, coupled together to perform certain functions. To actually fabricate the IC device in or on a semiconductor substrate, the IC device schematic must be translated into a physical representation or layout, which itself can then be transferred onto the semiconductor substrate. Computer aided design (CAD) tools can be used to assist layout designers with translating the discrete circuit elements into shapes, which will embody the devices themselves in the completed IC device. These shapes make up the individual components of the circuit, such as gate electrodes, diffusion regions, metal interconnects and the like.
The software programs employed by the CAD systems to produce layout representations are typically structured to function under a set of predetermined design rules in order to produce a functional circuit. Often, the design rules are determined by certain processing and design limitations based roughly on the patternability of layout designs. For example, design rules may define the space tolerance between devices or interconnect lines. Once the layout of the circuit has been created, the next step in manufacturing the IC device is to transfer the layout onto the semiconductor substrate. Optical lithography or photolithography is a well-known process for transferring geometric shapes onto the surface on a semiconductor wafer. Photolithography generally begins with the formation of a photoresist layer on the top surface of a semiconductor substrate or wafer. A reticle or mask having certain transmissive regions (e.g., fully light non-transmissive opaque regions such as those formed of chrome, fully light transmissive clear regions such as those formed of quartz, partially transmissive, trilayer, etc.) is then positioned over the photoresist coated wafer.
The mask is placed between a radiation or light source, which can produce light of a pre-selected wavelength (e.g., ultraviolet light) and geometry, and an optical lens system, which may form part of a stepper apparatus. When the light from the light source is directed onto the mask, the light is focused to generate a reduced mask image on the wafer, typically using the optical lens system, which may contain one or several lenses, filters and/or mirrors. This light passes through the clear regions of the mask to expose the underlying photoresist layer, and is blocked by the opaque regions of the mask, leaving that underlying portion of the photoresist layer unexposed. The exposed photoresist layer is then developed, typically through chemical removal of the exposed or unexposed regions of the photoresist layer. The end result is a semiconductor wafer coated with a photoresist layer exhibiting a desired pattern, which defines the geometries, features, lines and shapes of that layer. This pattern can then be used for etching of or controlling deposition into underlying regions of the wafer.
Layout enumeration can be used to facilitate IC development by leveraging restricted design rules and the growing robustness of manufacturing simulations in order to validate ground rules. Briefly stated, a more complete and exhaustive enumeration of all allowed topologies out to an optically significant radius is generated, with the corresponding layout configurations then run through a suitable manufacturing simulation to validate that solutions exist for all supported layouts, to rule out common features of failing layouts and to drive solutions for important configurations that have high design value.
The process starts with a minimal set of basic placement rules specifying a coarse placement grid and directions for each layer, allowed wire widths and minimum widths and spaces, all of which may be obtained conventionally. This defines an abstract base of a few patterns. Next, a small region of interest is defined, with a single layer (and optionally some layer above or below) being examined. Because of the coarse grid, it is possible to enumerate all allowed layouts on the target layer in this region, and to then run a manufacturability analysis on each. This will initially identify some layouts as non-manufacturable using the current assumptions. Then, triage is used to determine whether the manufacturability can be improved by considering other technology options (e.g., different mask generation or lithographic algorithms). If not, the failing layouts can be analyzed to determine what features they have in common in order to construct new forbidden patterns.
The new forbidden pattern rules are then added to a database of patterns and the process is repeated with a larger region (radius) of interest. Progressively pruning the allowed configurations in this manner helps reduce the growth in the number of layouts to consider. In addition, increasing the range also allows new patterns to be discovered. The process may be stopped once the expected radius of optical interactions is reached, which should correspond with no additional new patterns being found.
With reference to
Beginning at block 135 with an initial set of ground rules 106, layout configurations that adhere to those initial rules are generated through a specific enumeration approach (block 136) described in further detail hereinafter. The database of generated layout configurations 138 are then run through the virtual fabrication process 104, which is collectively used as a manufacturability assessment. That is, the particular flow implemented in the virtual fabrication process 104 ultimately determines whether the input layout configurations 138 thereto are in fact manufacturable. Each non-manufacturable configuration, collectively designated by the failing layouts database 140 in
As shown in
With reference to
As shown in
In accordance with one or more embodiments of the present invention, in order to ensure integrity of the semiconductor chip 200 despite the semiconductor chip 200 possibly being fabricated in part in non-trusted foundries or other facilities, the device 201 can be modified to have two different CD distributions that are separate and that cannot be described by a single Gaussian expression (i.e., the two different CD distributions are controllably non-Gaussian and can be at least bi-modal or tri-modal).
The modification noted above can be executed by modifying the photoresist masks used to form the device 201 during the fabrication process and should pass device rule checks (DRC) so that it is DRC clean and so that the modification will not negatively affect the functionality of the device 201. As shown in
In greater detail, the modification makes use of retargeting marker shapes in a design layer for the semiconductor chip 200 to enable a biasing of CDs of targets to enable DRC clean distributions outside of nominal retargeting. This can results in individual distributions with mean µ1, µ2, µ3 with variance σ, where µ1 - µ2 » σ, µ3 -µ2 » σ. As noted above, a net effect of these CD distributions is the provision of two different CD distributions that are separate from one another and that cannot be described as a single Gaussian expression. Again, the two different CD distributions provide for a controllably non-Guassian (e.g., bi-modal, tri-modal, etc.) expression of the final two different CD distributions.
In accordance with one or more embodiments of the present invention, locations of retargeting marker shapes are controllable by an iterative set of nearest neighbor algorithms, which is sometimes referred to as “design elaboration,” resulting in a random location for shapes on a grid device array. Similarly, sizes of the retargeting marker shapes are also controllable by an iterative set of nearest neighbor algorithms such that, in the case of contacts, neighboring pairs of devices would necessarily have different biases. For each device array on a chip, different enumerations algorithms could control both the placement and the size resulting in unique neighboring pair combinations per location and each mask can have its own unique set of signature device responses for rogue mask detection.
Because the CD distribution of the modified device 201 is controllably non-Gaussian as shown in
With reference to
With reference to
With reference to
The retargeting operation of operation 604 can include a custom retargeting operation that is applied in addition to or in lieu of a standard foundry retargeting to generate changes to specific arrays or regions of dummy fill on select mask levels. The executing of the retargeting of operation 604 is then processed by optical proximity correction to generate a photolithography mask. This mask is then used to carry out standard photolithography steps followed by process of record patterning processes to transfer altered design shapes to wafer.
The adjustment can involve an adjustment of the characteristic property by modifying one or more of the elements to change a distribution of resistances of the device where the characteristic property of the device prior to the enumerating of operation 601 is a distribution of resistances that are inherent to process variations of each of the elements. Of course, it is to be understood that there are other options for the adjustment that are all based on how the characteristic property or CD is defined. In any case, as a result of the adjustment, the unique signature of the device is not one that would be likely to arise merely as a result of process variations.
In accordance with one or more embodiments of the present invention, the enumerating of operation 602 can involve an addition of a counter to an iterable action in code and returning it in a form of enumerate object. This enumerate object can then be used directly for loops or be converted into a list of tuples using a list() method with a goal to assign retarget operations (ex: upsize/downsize/move) to specific locations in an array (i.e., the array of elements 220 of
As described above with reference to
Various embodiments of the invention are described herein with reference to the related drawings. Alternative embodiments of the invention can be devised without departing from the scope of this invention. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present invention is not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.
The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains” or “containing,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.
Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” may be understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms “a plurality” may be understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term “connection” may include both an indirect “connection” and a direct “connection.”
The terms “about,” “substantially,” “approximately,” and variations thereof, are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ± 8% or 5%, or 2% of a given value.
The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instruction by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments described herein.