RADIATION HARDENED E-FUSE MACRO
20230197149 · 2023-06-22
Assignee
Inventors
Cpc classification
G11C11/5692
PHYSICS
International classification
G11C11/56
PHYSICS
Abstract
A multi-bit, asynchronous e-fuse macro, the macro comprising: the following inputs: an input output enable, a power on reset, a write address, an input write enable, a ground clamp enable, and a write clock; a plurality of e-fuse bits; a supply voltage configured to allow programming at least one of the e-fuse bits; at least one fuse output; and self-timing and control circuitry configured to perform signaling, wherein each of the inputs is in electrical communication with said e-fuse macro.
Claims
1. A multi-bit, asynchronous e-fuse macro, the macro comprising: the following inputs: an input output enable, a power on reset, a write address, an input write enable, a ground clamp enable, and a write clock; a plurality of e-fuse bits; a supply voltage configured to allow programming at least one of the e-fuse bits; at least one fuse output; and self-timing and control circuitry configured to perform signaling, wherein each of the inputs is in electrical communication with said e-fuse macro.
2. The multi-bit, asynchronous e-fuse macro of claim 1 wherein each e-fuse bit comprises at least one radiation hardened latch.
3. The multi-bit, asynchronous e-fuse macro of claim 2 wherein the supply voltage is configured to be grounded and/or ground clamp enable is configured to be asserted when writing to the e-fuse macro is not desired.
4. The multi-bit, asynchronous e-fuse macro of claim 1 wherein the write address is a variable width bus configured to provide a plurality of write address bits.
5. The multi-bit, asynchronous e-fuse macro of claim 1 wherein the fuse output comprises a number of fuse output bits that is equal to two raised to the power of X, where X represents the number of write address bits.
6. The multi-bit, asynchronous e-fuse macro of claim 1 wherein the macro is configured to support two operating modes, an application mode configured to allow reading from the e-fuse macro and a programming mode configured to allow writing to the e-fuse macro.
7. The multi-bit, asynchronous e-fuse macro of claim 1 wherein the e-fuse macro is configured such that all e-fuse bits are read simultaneously.
8. The multi-bit, asynchronous e-fuse macro of claim 1 wherein all e-fuse macro functions are externally controlled.
9. The multi-bit, asynchronous e-fuse macro of claim 1 wherein the macro is configured to operate in asynchronous designs without requiring a periodic clock signal.
10. The multi-bit, asynchronous e-fuse macro of claim 1 further comprising a supply voltage configured to allow programming at least one of the e-fuse bits and wherein the write address is a variable width bus configured to provide a plurality of write address bits.
11. The multi-bit, asynchronous e-fuse macro of claim 10 wherein each e-fuse bit comprises a reset, a precharge, an output enable, a ground clamp, a read enable, a hold, a write enable, at least one latch, an e-fuse memory element, a fuse output, and a read reference current.
12. A method of reading a single e-fuse bit from an asynchronous e-fuse macro, the method comprising: providing a multi-bit, asynchronous e-fuse macro in accordance with claim 11; applying power to the e-fuse macro while grounding or floating the supply voltage; asserting reset, precharge, output enable, and ground clamp while de-asserting read enable, hold, and write enable and disabling read reference current; de-asserting reset while enabling read reference current; de-asserting precharge while asserting read enable; pulsing hold, thereby storing e-fuse memory element values in the at least one latch; asserting precharge while de-asserting read enable; and disabling read reference current.
13. A method of writing a single e-fuse bit from an asynchronous e-fuse macro, the method comprising: providing a multi-bit, asynchronous e-fuse macro in accordance with claim 11; applying power to the e-fuse macro while grounding or floating the supply voltage; asserting reset and precharge while de-asserting read enable, hold, output enable, ground clamp, and write enable and disabling read reference current; applying supply voltage; pulsing write enable, thereby programming an e-fuse memory element; and grounding supply voltage.
14. A method of reading a multi-bit, asynchronous e-fuse macro, the method comprising: providing a multi-bit asynchronous e-fuse macro comprising: the following inputs: a power on reset, a write address, an input write enable, a ground clamp enable, a supply voltage, an input output enable, and a write clock; a plurality of e-fuse bits, each of the plurality of e-fuse bits comprising a reset, a precharge, an output enable, a ground clamp, a read enable, a hold, a write enable, at least one latch, an e-fuse memory element, and a read reference current; a write address bus in operative communication with the plurality of e-fuse bits, providing a write address for each of the plurality of e-fuse bits; at least one fuse output; and self-timing and control circuitry configured to perform signaling, wherein each of the inputs is in electrical communication with said e-fuse macro, applying power to the e-fuse macro while grounding or floating the supply voltage; asserting power on reset, ground clamp enable, and output enable while de-asserting write clock; de-asserting power on reset; reading e-fuse bits upon de-assertion of power on reset via the self-timing and control circuitry, producing e-fuse memory element logic values; storing the e-fuse memory element logic values in the at least one latch; and outputting the e-fuse memory element logic values stored in the at least one latch to the fuse output.
15. The method of reading a multi-bit, asynchronous e-fuse macro of claim 14 wherein the at least one latch comprises at least one radiation hardened latch.
16. The method of reading a multi-bit, asynchronous e-fuse macro of claim 14 wherein reading e-fuse bits upon de-assertion of power on reset is done asynchronously.
17. A method of writing a multi-bit, asynchronous e-fuse macro, the method comprising: providing a multi-bit asynchronous e-fuse macro comprising: the following inputs: a power on reset, a write address, an input write enable, a ground clamp enable, a supply voltage, an input output enable, and a write clock; a plurality of e-fuse bits, each of the plurality of e-fuse bits comprising a reset, a precharge, an output enable, a ground clamp, a read enable, a hold, a write enable, at least one latch, an e-fuse memory element, and a read reference current; a write address bus in operative communication with the plurality of e-fuse bits, providing a write address for each of the plurality of e-fuse bits; at least one fuse output; and self-timing and control circuitry configured to perform signaling, wherein each of the inputs is in electrical communication with said e-fuse macro, applying power to the e-fuse macro while grounding the supply voltage; asserting power on reset while de-asserting ground clamp enable, input output enable, write clock, and write enable; setting the write address and asserting the write enable; applying supply voltage to the e-fuse macro; pulsing the write clock to program a single e-fuse memory element; grounding the supply voltage; and de-asserting write enable.
18. The method of writing a multi-bit, asynchronous e-fuse macro of claim 17 wherein the at least one latch comprises at least one radiation hardened latch.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023] These and other features of the present embodiments will be understood better by reading the following detailed description, taken together with the figures herein described. The accompanying drawings are not intended to be drawn to scale. For purposes of clarity, not every component may be labeled in every drawing.
DETAILED DESCRIPTION
[0024] As a preliminary matter, Verilog notation, such as [X:x] is used herein and in the figures. Where present, this should be understood to refer to a bus containing multiple bits, numbered from X down to x. For example, [2:0] would indicate a three bit bus (i.e. 2, 1, 0).
[0025] Now regarding
[0026] Now referring again to
[0027] In embodiments, the write address 110 is a variable width bus (e.g. [X:0]). The value of the most significant bit of the write address 110 bus, X, in embodiments, is selected based on the desired number of fuse output ([2.sup.X+1-1:0]) 104 bits, where the number of fuse output ([2.sup.X+1-1:0]) 104 bits is equal to two raised to the power of X+1.
[0028] In embodiments, the e-fuse macro 100 supports two operating modes, an application mode, which is used to read the e-fuse macro 100, and a programming mode, which is used to write the e-fuse macro 100.
[0029] In embodiments, the e-fuse macro 100 is configured such that only one e-fuse 200 can be written at a time. Write operations are further described in
[0030] In embodiments, the e-fuse macro 100 is configured such that all e-fuses 200 are read simultaneously. Read operations are further described in
[0031] In embodiments, all e-fuse macro 100 functions are externally controlled.
[0032] In embodiments, any signaling required to read the state of each e-fuse memory element 228 is generated via self-timing and control circuitry 118 included within the e-fuse macro 100. The inclusion of the self-timing and control circuitry 118 enables the multi-bit, asynchronous e-fuse macro 100 to operate in asynchronous designs as no periodic clock signal is required to perform read operations.
[0033] Now regarding
[0034] Again referring to
[0035] Now referring to
[0036] Also, in such embodiments, logical inverter 822, logical NAND gate 824, and delay circuits 826/828 form a negative (active low) pulse generation circuit activated by the rising edge of input power on reset 108 (active low in embodiments); delay circuit 826 determines the falling edge delay of the pulse generated on output hold 218. Furthermore, the time difference between delay circuit 826 and delay circuit 828 determines the pulse width of the pulse generated on output hold 218.
[0037] Again regarding
[0038] Lastly regarding
[0039] Notably, while
[0040] In embodiments, a reset initialization sequence is used to place the e-fuse macro 100 of embodiments into application mode for reading each e-fuse memory element 228 and storing the state in a radiation hardened latch circuit 216 immediately following device power up. This procedure is graphically depicted in
[0041] Now regarding
[0042] Again referring to
[0043] Now regarding
[0044] Now referring again to
[0045] Now referring to
[0046] The first event of the read sequence sets reset 214 (active high in embodiments) to logic0, de-asserting reset to the radiation hardened latch 216 and enables the read reference current 204 turning on first p-channel MOSFET (P1) 208.
[0047] The second event of the read sequence sets precharge 202 (active low in embodiments) to logic1 turning off second p-channel MOSFET (P2) 212 and sets read enable 206 (active high in embodiments) to logic1 turning on first n-channel MOSFET (N1) 210. During this step, the read reference current 204 is forced through the e-fuse memory element 228. The use of a current reference for read operations reduces read current variability and improves read endurance. If the e-fuse memory element 228 is un-programmed, the resistance is low and therefore the voltage at Net 1 224 is near ground and treated as logic0. If the e-fuse memory element 228 is programmed, the resistance is high and therefore the voltage at Net 1 224 is near the supply and treated as logic1.
[0048] The third event of the read sequence pulses the latch clock (hold) 218 to sample and then hold the logic value at Net 1 224, which represents the state of the e-fuse memory element 228, into the radiation hardened latch 216.
[0049] The fourth event of the read sequence sets precharge 202 (active low in embodiments) to logic0 turning on p-channel MOSFET 212 pulling up Net 1 224 and sets read enable 206 (active high in embodiments) to logic0 turning off first n-channel MOSFET 210.
[0050] The fifth and final event of the read sequence sets the read reference current 204 to logic1 turning off p-channel MOSFET 208. All signals except reset 214 (active high in embodiments) are returned to their initial state at the end of the read sequence. The reset 214 (active high in embodiments) signal is returned to its initial state when power on reset 108 (active low in embodiments) returns to logic0.
[0051] Now regarding
[0052] Now referring again to
[0053] Again referring to
[0054] Now regarding
[0055] Now referring again to
[0056] Again referring to
[0057] Now referring to
[0058] Now referring to
[0059] Now referring to
[0060] Now referring to
[0061] Now referring to the disclosure, generally, embodiments of the present disclosure are described throughout as comprising circuits and elements thereof that are described as being “active low”, “active high”, or similar. Such language is intended to describe the relationship between elements of embodiments and not to limit the disclosure to such embodiments, specifically. For instance, the polarity of circuit elements of embodiments could be entirely flipped while maintaining the functionality described herein. For the avoidance of doubt, it is the relationship between the polarity of one circuit and/or circuit element to another that is important, not the specific polarity used herein to describe specific embodiments, as would be known to one of ordinary skill in the art.
[0062] Furthermore, alternative circuits could be used, in embodiments, to achieve the functions described herein without departing from the scope of the present disclosure.
[0063] Also, while embodiments of the present disclosure are ideally suited for applications such as Integrated Circuit (IC) memory repair, device identifiers, or crypto keys, the teachings of the present disclosure relating to asynchronous operation would also apply to other types of synchronous and asynchronous integrated circuits.
[0064] Lastly, active high, active low, logic0, and logic 1 are relative terms used only to denote the polarity and required logic, respectively, between circuit elements. A person of ordinary skill in the art would be able to design such circuits using different polarities and logic levels without departing from the teachings of the present disclosure.
[0065] The foregoing description of the embodiments of the present disclosure has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present disclosure to the precise form disclosed. Many modifications and variations are possible in light of this disclosure. It is intended that the scope of the present disclosure be limited not by this detailed description, but rather by the claims appended hereto.
[0066] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope of the disclosure. Although operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.