The invention relates to version identification for an integrated circuit, and more particularly, to an integrated circuit having a programmable conductive path positioned on each conductive layer and a related method of modifying the version number assigned to the integrated circuit.
Due to the hasty improvement of the semiconductor manufacturing technology, designing an integrated circuit becomes increasingly complex which in turn increases the opportunity of modifying the layout of the integrated circuit. In general, the integrated circuit is modified by changing the mask of the conductive layers (e.g., the metal layer or via layer) in the integrated circuit to modify the layout design. The changes made to the current layout design cause the following integrated circuit to be different from the current one. In order to distinguish different versions of the integrated circuit, a version number, which is usually a set of read-only logic values stored in memory within the integrated circuit, is utilized for providing the identification information to determine the particular version of a number of designed integrated circuits. More specifically, in the pertinent art the version number is stored by providing one voltage level at each of a plurality of external terminals. The particular voltage level, which represents one of the bits defining the version number, is typically provided through hard-wired connections to the voltage sources. These connections are regularly routed in at least one of the metal or via layers.
However, the conductive layers changed by the circuit designer are usually different from the conductive layers having the connections routed thereon for defining the version number of the integrated circuit. That is, for modifying the circuit design, a conventional integrated circuit will generally require that changes be made to additional conductive layers when changing the version number. For example, the layout of a first conductive layer is modified to change the integrated circuit design. If a second conductive layer different from the first conductive layer is used to define the version number, the layout of the second conductive layer has to be modified due to the change made to the integrated circuit design. Therefore, two new masks must be re-designed and re-produced for amending the layouts of the first and second conductive layers. Because the mask is quite expensive, the changes made to additional conductive layers for the version number modification lead to a significantly increased cost for fabricating the integrated circuits.
It is therefore one of many objectives of the claimed invention to provide an integrated circuit having a programmable conductive path positioned on each conductive layer and a related method of modifying the version number assigned to the integrated circuit, to significantly reduce the cost of fabricating the integrated circuits.
According to an embodiment of the claimed invention, an integrated circuit is disclosed. The integrated circuit comprises a plurality of conductive layers each having a defined layout; and an identification circuit for providing a read-only logic value, which is either logic zero or logic one, utilized for identifying an attribute of the integrated circuit. The identification circuit comprises: a plurality of programmable stages, electrically connected in a series, for generating the read-only logic value at an output terminal of the last programmable stage when an input terminal of the first programmable stage receives a preset logic value. Each of the programmable stages comprises a logic cell and a conductive path. The logic cell has an input node connected to an input terminal of the programmable stage, an inverting output node, and a non-inverting output node. The logic value at the non-inverting output node is the same as the logic value at the input node, and the logic value at the inverting output node being different from the logic value at the input node. The conductive path is programmed for selectively connecting either one of the inverting output node or the non-inverting output node of the logic cell to an output terminal of the programmable stage.
The integrated circuit of the claimed invention provides a programmable stage for each conductive layer. Therefore, the layout for a conductive layer can be amended for changing characteristic of the integrated circuit in conjunction with the version number. This will significantly reduce the cost of fabricating the integrated circuits.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
Similarly, after the deposition of the silicon dioxide insulating layer 160b, an etching mask is placed over the silicon dioxide insulating layer 160b and an etching process is activated to provide at least an opening through the silicon dioxide insulating layer 160b. Then, metallic material is deposited on the silicon dioxide insulating layer 160b for forming a via 140. A metal layer 150 is deposited through a mask on the top of the silicon dioxide insulating layer 160b, and has connection paths defined by the applied mask. As shown in
Please note that each conductive layer has a defined layout and the number of the conductive layers formed in the integrated circuit 100 is dependent on the circuit design.
Please refer to
If an input voltage Vin is provided, the programmable stages 210, 220, 230, 240 operate to determine the final read-only logic value OUT generated from the integrated circuit 100. Note that the input voltage Vin can be placed in two different voltage levels (e.g., 0V and +5V) which represent bits “0” and “1”. However, the voltage level assigned to the input voltage Vin for version identification may alter according to different circuit designs. Suppose that one bit of the version number identified by the identification circuit 200 for the current circuit design of the integrated circuit 100 is defined to be “1” as the input voltage Vin corresponding to “1” is provided. Under this condition, for example, the programmable stages 210, 220, 230, 240 are programmed, causing paths P1′, P2′, P3, P4 to be routed on corresponding conductive layers, that is, the metal layer 150, the via layer 180, the metal layer 130 and the via layer 170. Therefore, if the input voltage Vin corresponding to “1” is provided to the logic cell 212, the logic cell 212 makes its inverting output node be “0” and non-inverting output node be “1”. As mentioned before, both output nodes are routed to the metal layer 150. Because the conductive path 214 is programmed to be the path P1′ on the metal layer 150, “0” outputted from the inverting output node is passed to the next programmable stage 220 through a connection routed between the conductive path 214 and the logic cell 222. Then, the logic cell 222 makes its inverting output node be “1” and non-inverting output node be “0”. In addition, both output nodes are routed to the via layer 180. Because the conductive path 224 is programmed to be the path P2′ on the via layer 180, “1” outputted from the inverting output node is passed to the next programmable stage 230 through a connection routed between the conductive path 224 and the logic cell 232.
The logic cell 232 makes its inverting output node be “0” and non-inverting output node be “1”. As mentioned above, both output nodes are routed to the metal layer 130. Because the conductive path 234 is programmed to be the path P3 on the metal layer 130, “1” outputted from the non-inverting output node is passed to the next programmable stage 240 through a connection routed between the conductive path 234 and the logic cell 242. Finally, the logic cell 242 makes its inverting output node have “0” and non-inverting output node have “1”. As mentioned before, both output nodes are routed to the via layer 170. Because the conductive path 244 is programmed to be the path P4 on the via layer 170, the read-only logic value OUT generated from the identification circuit 200 becomes the desired value “1” for one bit of the version number.
It should be noted that, the final read-only logic value OUT is determined by the number of inverting output nodes presented on the signal-transmitting path. According to the above description, the input voltage passes through four conductive layers shown in
It is clear that the conductive paths 214, 224, 234, 244 are capable of controlling the read-only logic value OUT. For example, if one of the conductive paths 214, 224, 234, 244 changes its routing design, the read-only logic value OUT is inversed, changing from “1” to “0”. Therefore, if the designer wants to modify the layout of the metal layer 150 to correct some design errors of the integrated circuit 100, the version number of the integrated circuit 100 can be easily changed by re-programming the conductive paths of the programmable stages routed on the same metal layer 150. For example, if one bit of the version number defined by the read-only logic value OUT shown in
In the present invention, the logic cell 212, 222, 232, 242 is used for providing an inverting output and a non-inverting output. Any circuitry capable of performing the above signal processing can be implemented as the logic cell 212, 222, 232, 242. Please refer to
In contrast to the related art integrated circuit for version identification, the integrated circuit of the present invention provides a programmable stage for each conductive layer. Therefore, the layout for a conductive layer can be amended to change a characteristic of the integrated circuit in conjunction with the version number and greatly decreasing the cost of the fabrication process.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.