An integrated circuit (IC) includes a memory circuit. The memory circuit includes a plurality of thyristors. The plurality of thyristors are coupled in tandem.
|
22. An integrated circuit (IC), comprising:
a memory, comprising:
a first memory cell, wherein the first memory cell comprises at least one thyristor, comprising a bipolar transistor, and a metal oxide semiconductor (MOS) transistor coupled between a collector and an emitter of the bipolar transistor, the MOS transistor having a gate adapted to be selectively coupled to a column line in response to a signal on a row line.
1. An integrated circuit (IC), comprising:
a memory circuit, comprising a plurality of coupled thyristors, wherein a first thyristor in the plurality of thyristors comprises a bipolar transistor, and a metal oxide semiconductor (MOS) transistor coupled between a collector and an emitter of the bipolar transistor, the MOS transistor having a gate adapted to be selectively coupled to a column line in response to a signal on a row line.
14. A circuit arrangement, comprising:
a memory cell, comprising a first thyristor comprising a first bipolar transistor, and a metal oxide semiconductor (MOS) transistor coupled between a collector and an emitter of the first bipolar transistor, the MOS transistor having a gate adapted to be selectively coupled to a column line in response to a signal on a row line; and
an interface circuit coupled to the memory cell, wherein the interface circuit comprises a first transistor coupled to a row line and a column line.
2. The integrated circuit (IC) according to
3. The integrated circuit (IC) according to
4. The integrated circuit (IC) according to
5. The integrated circuit (IC) according to
6. The integrated circuit (IC) according to
7. The integrated circuit (IC) according to
8. The integrated circuit (IC) according to
9. The integrated circuit (IC) according to
10. The integrated circuit (IC) according to
11. The integrated circuit (IC) according to
12. The integrated circuit (IC) according to
13. The integrated circuit (IC) according to
15. The circuit arrangement according to
16. The circuit arrangement according to
17. The circuit arrangement according to
18. The circuit arrangement according to
19. The circuit arrangement according to
20. The circuit arrangement according to
21. The circuit arrangement according to
23. The integrated circuit (IC) according to
24. The integrated circuit (IC) according to
25. The integrated circuit (IC) according to
26. The integrated circuit (IC) according to
27. The integrated circuit (IC) according to
28. The integrated circuit (IC) according to
29. The integrated circuit (IC) according to
30. The integrated circuit (IC) according to
31. The integrated circuit (IC) according to
32. The integrated circuit (IC) according to
33. The integrated circuit (IC) according to
34. The integrated circuit (IC) according to
|
The disclosed concepts relate generally to memory and storage circuits and systems. More particularly, disclosed concepts concern latches with improved performance and associated methods.
Memory and storage devices proliferate in virtually all modern digital or mixed-signal electronic devices. Such devices may store general data and information, for example, user data, computer data, communication data, and the like. The increase in the capabilities and ubiquity of electronic devices has led to a corresponding increase in the capacity of storage devices. At the same time, many applications specify or demand relatively good performance from memory and storage circuits and devices.
The disclosed concepts relate to latch, memory, or storage apparatus, and associated methods. One aspect of the disclosed concepts relates to memory circuit arrangements. In one exemplary embodiment, and IC includes a memory circuit. The memory circuit includes a plurality of thyristors that are coupled in tandem. In another exemplary embodiment, a circuit arrangement includes a memory cell, and an interface circuit coupled to the memory cell. The memory cell includes a thyristor. The interface circuit includes a transistor coupled to a row line and a column line.
Another aspect of the disclosed concepts relates to memory circuits in PLDs. In one exemplary embodiment, a PLD includes a configuration memory. The configuration memory includes a memory cell. The memory cell includes at least one thyristor.
Yet another aspect of the disclosed concepts relates to methods of configuring or programming PLDs. In one exemplary embodiment, a method of configuring programmable resources in a PLD to implement a desired design includes receiving specifications of the desired design, and generating configuration data for the PLD. The method further includes providing the configuration data to a configuration memory of the PLD. The configuration memory of the PLD includes at least one memory circuit that has at least one thyristor.
The appended drawings illustrate only exemplary embodiments and therefore should not be considered as limiting its scope. Persons of ordinary skill in the art who have the benefit of this disclosure appreciate that the disclosed concepts lend themselves to other equally effective embodiments. In the drawings, the same numeral designators used in more than one drawing denote the same, similar, or equivalent functionality, components, or blocks.
Generally, the disclosed concepts relate generally to memory and storage circuits and systems. More particularly, disclosed concepts concern latches, memories, and memory circuits and systems with improved performance and associated methods. One may use the disclosed apparatus and methods in a wide variety of applications, for example, integrated circuits (ICs) generally, application specifics ICs (ASICs), programmable logic devices (PLDs), etc.
The disclosed concepts provide many advantages. First, a memory or latch circuit according to the disclosed concepts exhibits no or little stability problems. Unlike conventional circuits, the circuitry according to disclosed concepts do not suffer from static noise margin, write margin, etc.
Second, the disclosed circuits reduce SEUs for memory cells or latches. SEUs generally occur because of alpha particles (e.g., lead used in packaging), cosmic rays, or both. The disclosed circuits use thyristors, which exhibit less sensitivity to SEUs because of their latching action. Furthermore, by using more than one thyristor (e.g., two thyristors, as shown in
Third, the disclosed circuits are compatible with complementary metal oxide semiconductor (CMOS) fabrication processes. In other words, one may fabricate the thyristors in the disclosed circuits using CMOS fabrication processes. The disclosed circuits also use metal oxide semiconductor (MOS) transistors that one may fabricate using CMOS processes.
Fourth, the disclosed concepts provide good scalability with CMOS fabrication processes. Fifth, latches according to the disclosed concepts exhibit relatively little standby leakage and, hence, less static power consumption. The disclosed circuits have PN junction leakage currents, rather than channel leakage currents. The PN junction leakage currents have relatively small values compared to channel leakage currents.
Sixth, latch or memory cells according to the disclosed concepts occupy relatively little semiconductor or IC area and, hence, provide area and cost savings. For example, exemplary embodiments according to the disclosed concepts occupy half the chip area compared to a six-transistor (6T) static random access memory (SRAM) cell. More specifically, a memory cell that uses two thyristor circuits (see
Transistor 106 constitutes a PNP bipolar junction transistor (BJT). Transistor 109, on the other hand, constitutes an NPN BJT. Transistors 106 and 109 are coupled to one another in a back-to-back manner. In other words, the collector of transistor 109 couples to the base of transistor 106, and vice-versa. Thus, transistor 106 and 109 couple to each other to form a thyristor.
In response to signal 115, transistor 115 facilitates the operation of latch 102, as described in detail below. Interface circuit 130 facilitates the operation of latch 102, as described in detail below in connection with
Specifically, the interface circuit includes transistor 203, transistor 206, and transistor 209. A row (write) signal 215, a column (bit) signal 212, and a read signal control the operation of latch 102.
The read and write operations work as follows. To write a binary “1” value (e.g., a logic high level in a positive logic system) to latch 102, one applies a logic high signal to the column (bit) line. One then applies a logic high signal to the row (write) line, i.e., to the gates of transistors 203 and 209. During this operation, the read line has a logic low (binary “0”) value, and the supply voltage has its nominal voltage (VDD).
As a result of applying a “1” signal to the row (write) line, transistors 203 and 209 turn on. Transistor 203 couples the gate of transistor 103 to the column (bit) line, which has a value of binary “1.” Thus, transistor 103 turns on, and couples the base of transistor 106 to ground through transistor 209 (which had turned on through the application of the “1” signal to the row (write) line).
The coupling of the base of transistor 106 to ground causes it to conduct current to the base of transistor 109. As a result, transistor 109 turns on, and the voltage at storage node 112 (the output node) goes to a logic high value. In other words, latch 102 now stores a logic high or binary “1” value.
The thyristor in latch 102 has a holding current, as persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts understand. Thus, after the de-assertion of the row (write) and column (bit) signals, the thyristor should conduct some current, at or above its holding current, in order for it to retain the stored value.
The leakage current of transistors 206 and 209 provides the hold current for the thyristor in latch 102.
The current flowing from the supply source (VDD) through the thyristor (the back-to-back coupled combination of transistors 106 and 109) and through resistors 230 and 233 constitutes the thyristor hold current. The hold current allows the thyristor and, hence, latch 102, to retain a binary “1” value.
To write a binary “0” value (e.g., a logic low level in a positive logic system), one lowers the current flowing through the thyristor to a level below the hold current. Doing so causes the thyristor to turn off, and for latch 102 to store a binary “0” value.
More specifically, similar to writing a binary “1” value, one asserts the column (bit) and row (write) signals (the read signal has a logic low or binary “0” value). One then lowers the supply voltage to the ground potential, or to a sufficiently small voltage, to reduce the current flowing through the thyristor to below the thyristor hold current.
Once the thyristor current falls below the hold current, the thyristor turns off. Consequently, the output voltage at node 112 falls to ground potential (or to a voltage close to the ground potential) because of the leakage path through transistors 206 and 209 and minority and majority carrier recombination. As a result, latch 102 stores a binary “0” value.
To read a stored value from latch 102, one de-asserts the row (write) signal. As a result, transistor 203 turns off. One then asserts the read line, which causes transistor 206 to turn on and couple node 112 (output node) to the column (bit) line. As a result, the stored value appears on the column (bit) line.
In other embodiments, one may use more than one thyristor to implement storage circuits, latches, or memory cells or circuits. For example, in one exemplary embodiment, one may use two thyristors. As another example, in another exemplary embodiment, one may use more than two thyristors.
As
Each of latches 102A-102B includes a thyristor, as described in detail above. Thus, the embodiment shown in
Referring to
Similar to
The read and write operations work as follows. To write a binary “1” value (e.g., a logic high level in a positive logic system) to latches 102A-102B, one applies a logic high signal to the column (bit) line. One then applies a logic high signal to the row (write) line, i.e., to the gates of transistors 203 and 209. During this operation, the read line has a logic low (binary “0”) value, and the supply voltage has its nominal voltage (VDD).
As a result of applying a “1” signal to the row (write) line, transistors 203 and 209 turn on. Transistor 203 couples the gate of transistors 103A and 103B to the column (bit) line, which has a value of binary “1.” Thus, transistors 103A and 103B turns on, and couple, respectively, the base of transistors 106A and 106B to ground through transistor 209 (which had turned on through the application of the “1” signal to the row (write) line).
The coupling of the base of transistors 106A and 106B to ground causes those transistors to conduct current to the base of transistors 109A and 109B, respectively. As a result, transistors 109A and 109B turn on, and the voltages at storage nodes 112A and 112B (the output nodes) go to a logic high value. Put another way, each of latches 102A and 102B now stores a logic high or binary “1” value.
As noted above, each of the thyristors in latches 102A-102B has a holding. The leakage current of transistors 206 and 209 provides the hold current for the thyristors in latches 102A-102B.
The current flowing from the supply source (VDD) through the thyristors (the back-to-back coupled combination of transistors 106A and 109A, and the back-to-back coupled combination of transistors 106B and 109B) and through resistors 230 and 233 constitutes the thyristor hold current. The hold current allows the thyristors and, hence, latches 102A and 102B, to retain a binary “1” value.
Conversely, to write a binary “0” value (e.g., a logic low level in a positive logic system), one lowers the current flowing through the thyristors to a level below their hold currents. Doing so causes the thyristors to turn off, and for latches 102A and 102B to store a binary “0” value.
More particularly, similar to writing a binary “1” value, one asserts the column (bit) and row (write) signals (the read signal has a logic low or binary “0” value). One then lowers the supply voltage to the ground potential, or to a sufficiently small voltage, to reduce the current flowing through the thyristors to below the thyristor hold current.
When the current flowing through the thyristors falls below their hold current, the thyristors turn off. Consequently, the output voltage at nodes 112A and 112B falls to ground potential (or to a voltage close to the ground potential) because of the leakage path through transistors 206 and 209 and minority and majority carrier recombination. As a result, latches 102A and 102B store a binary “0” value.
To read a stored value from latches 102A and 102B, one de-asserts the row (write) signal. As a result, transistor 203 turns off. One then asserts the read line, which causes transistor 206 to turn on and couple node 112B (output node of latch 102B) to the column (bit) line. As a result, the stored value appears on the column (bit) line.
As noted, one may use memory cells (or latches or storage devices or circuits) according to the disclosed concepts in a variety of electronic circuitry, such as various types of ICs. As one example, one may use circuitry according to the disclosed concepts in PLDs.
Note that the figure shows a simplified block diagram of PLD 500. Thus, PLD 500 may include other blocks and circuitry, as persons of ordinary skill in the art understand. Examples of such circuitry include clock generation and distribution circuits, redundancy circuits, and the like. Furthermore, PLD 500 may include, analog circuitry, other digital circuitry, and/or mixed-signal circuitry, as desired.
Programmable logic 420 includes blocks of configurable or programmable logic circuitry, such as look-up tables (LUTs), product-term logic, multiplexers (MUXs), logic gates, registers, memory, and the like. Programmable interconnect 423 couples to programmable logic 420 and provides configurable interconnects (coupling mechanisms) between various blocks within programmable logic 420 and other circuitry within or outside PLD 500.
Control circuitry 409 controls various operations within PLD 500. Under the supervision of control circuitry 409, PLD configuration circuitry 406 uses configuration data (which it obtains from an external source, such as a storage device, a host, etc.) to program or configure the functionality of PLD 500. Configuration data are typically stored in CRAM 403. The contents of CRAM 403 determine the functionality of various blocks of PLD 500, such as programmable logic 420 and programmable interconnect 423. Initialization circuit 412 may cause the performance of various functions at reset or power-up of PLD 500.
I/O circuitry 426 may constitute a wide variety of I/O devices or circuits, as persons of ordinary skill in the art who have the benefit of the disclosure understand. I/O circuitry 426 may couple to various parts of PLD 500, for example, programmable logic 420 and programmable interconnect 423. I/O circuitry 426 provides a mechanism and circuitry for various blocks within PLD 500 to communicate with external circuitry or devices.
Test/debug circuitry 429 facilitates the testing and troubleshooting of various blocks and circuits within PLD 500. Test/debug circuitry 429 may include a variety of blocks or circuits known to persons of ordinary skill in the art who have the benefit of the disclosure. For example, test/debug circuitry 429 may include circuits for performing tests after PLD 500 powers up or resets, as desired. Test/debug circuitry 429 may also include coding and parity circuits, as desired.
PLD 500 may include one or more processors 435. Processor 435 may couple to other blocks and circuits within PLD 500. Processor 435 may receive data and information from circuits within or external to PLD 500 and process the information in a wide variety of ways, as persons skilled in the art with the benefit of the disclosure in this document appreciate. One or more of processor(s) 435 may constitute a digital signal processor (DSP). DSPs allow performing a wide variety of signal processing tasks, such as compression, decompression, audio processing, video processing, filtering, and the like, as desired.
PLD 500 may also include one or more communication circuits 438. Communication circuit(s) 438 may facilitate data and information exchange between various circuits within PLD 500 and circuits external to PLD 500, as persons of ordinary skill in the art who have the benefit of the disclosure in this document understand.
PLD 500 may further include one or more memories 441 and one or more controller(s) 444. Memory 441 allows the storage of various data and information (such as user-data, intermediate results, calculation results, etc.) within PLD 500. Memory 441 may have a granular or block form, as desired. Controller 444 allows interfacing to, and controlling the operation and various functions of circuitry outside the PLD. For example, controller 444 may constitute a memory controller that interfaces to and controls an external synchronous dynamic random access memory (SDRAM), as desired.
Generally speaking, one may use memory cells (or latches or storage devices or circuits) according to the disclosed concepts in any of the circuitry in PLD 500, as desired. As mere examples, one may use such circuits in configuration memory 403, programmable logic 420, programmable interconnect 423, processor(s) 435, and memory 441. The foregoing blocks and circuits constitute merely illustrative examples. As persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts understand, one may apply the disclosed concepts to other circuitry and blocks in PLD 500.
As noted, PLD 500 includes a number of blocks of programmable resources. Implementing a user's design often entails using the programmable resources within PLD 500's floorplan.
PLD 500 includes programmable logic 420 arranged as a two-dimensional array. Programmable interconnect 423, arranged as horizontal interconnect and vertical interconnect, couples the blocks of programmable logic 420 to one another. One may place the blocks in a particular manner so as to implement a user's design, as persons of ordinary skill in the art who have the benefit of the disclosure in this document understand.
In illustrative embodiments, PLD 500 has a hierarchical architecture. In other words, each block of programmable logic 420 may in turn include smaller or more granular programmable logic blocks or circuits. For example, in one embodiment, programmable logic 420 may constitute blocks of configurable logic named logic array block (LAB), and each LAB may include logic elements (LEs) or other circuitry (for example, configurable logic blocks (CLBs), as desired.
Persons of ordinary skill in the art who have the benefit of this disclosure understand, however, that a wide variety of other arrangements, with varying terminology and topology, are possible, and fall within the scope of the disclosed concepts. Furthermore, although
Regardless of the particular circuit arrangement in the PLD, as noted above, one may use one may use memory cells (or latches or storage devices or circuits) according to the disclosed concepts in programmable logic 420 and programmable interconnect 423, shown in
Furthermore, one may use memory cells (or latches or storage devices or circuits) according to the disclosed concepts in CRAM 403 (see
The CAD techniques may have a variety of applications, as persons of ordinary skill in the art who have the benefit of this disclosure understand. Examples include design area, timing performance, power requirements, and routability, as desired.
Design-entry module 460 allows the editing of various design description files using graphical or textual descriptions of a circuit or its behavior, such as schematics, hardware description languages (HDL), or waveforms, as desired. The user may generate the design files by using design-entry module 460 or by using a variety of electronic design automation (EDA) or CAD tools (such as industry-standard EDA tools), as desired. The user may enter the design in a graphic format, a waveform-based format, a schematic format, in a text or binary format, or as a combination of those formats, as desired.
Synthesis module 463 accepts the output of design-entry module 460. Based on the user-provided design, synthesis module 463 generates appropriate logic circuitry that realizes the user-provided design. One or more PLDs (not shown explicitly), such as PLD 500 in
Synthesis module 463 may also generate any glue logic that allows integration and proper operation and interfacing of various modules in the user's designs. For example, synthesis module 463 provides appropriate hardware so that an output of one block properly interfaces with an input of another block. Synthesis module 463 may provide appropriate hardware so as to meet the specifications of each of the modules in the overall design or system.
Furthermore, synthesis module 463 may include algorithms and routines for optimizing the synthesized design. Through optimization, synthesis module 463 seeks to more efficiently use the resources of the one or more PLDs that implement the overall design or system. Synthesis module 463 provides its output to place-and-route module 466. Following synthesis, one may include a technology mapping module (not shown explicitly).
Place-and-route module 466 uses the designer's timing specifications to perform optimal logic mapping and placement. The logic mapping and placement determine the use of logic resources within the PLD(s). By the use of particular programmable interconnects with the PLD(s) for certain parts of the design, place-and-route module 466 helps optimize the performance of the overall design or system. By the proper use of PLD routing resources, place-and-route module 466 helps to meet the critical timing paths of the overall design or system.
Place-and-route module 466 optimizes the critical timing paths to help provide timing closure faster in a manner known to persons of ordinary skill in the art with the benefit of this disclosure. As a result, the overall design or system can achieve faster performance (i.e., operate at a higher clock rate or have higher throughput).
Verification module 469 performs simulation and verification of the design. The simulation and verification seek in part to verify that the design complies with the user's prescribed specifications. The simulation and verification also aim at detecting and correcting any design problems before prototyping the design. Thus, verification module 469 helps the user to reduce the overall cost and time-to-market of the overall design or system.
Verification module 469 may support and perform a variety of verification and simulation options, as desired. The options may include functional verification, test-bench generation, static timing analysis, timing simulation, hardware/software simulation, in-system verification, board-level timing analysis, signal integrity analysis and electro-magnetic compatibility (EMC), formal netlist verification, and the like, as persons of ordinary skill in the art who have the benefit of the description of this disclosure understand.
Note that one may perform other or additional verification techniques as desired and as persons of ordinary skill in the art who have the benefit of this disclosure understand. Verification of the design may also be performed at other phases in the flow, as appropriate, and as desired.
Verification module 469 provides the design or system specification used to program or configure the PLD. Specifically, at a desired point (e.g., at power-up or reset), one uses the programming or configuration information provided by verification module 469 to program or configure the PLD (e.g., PLD 500 in
More specifically, one may use a link between the computer running the CAD software (or some other source that stores the configuration data provided by the CAD software) to the PLD. The link (e.g., parallel or serial link) allows communicating the configuration or programming information and data to the PLD. The PLD stores appropriate configuration or programming data in CRAM 403. Using the data, various resources in the PLD (e.g., programmable logic 420, programmable interconnect 423, etc.) may be programmed or configured.
Circuit arrangement 600 includes CRAM 403, programmable logic 420, and programmable interconnect 423. CRAM 403 includes memory cells (or latches or storage devices or circuits) 503A-503N. Each of memory cells 503A-503N may include a thyristor-based latch, for example, as shown in
The memory cells in CRAM 403 may program or configure any of the programmable circuitry in PLD 500. For example, some memory cells may program or configure programmable logic 420. As another example, some memory cells may program or configure programmable interconnect 423. As yet another example, some memory cells may program both programmable logic 420 and programmable interconnect 423. Furthermore, some memory cells may program other programmable blocks or resources within PLD 500, as desired. Examples include I/O circuitry 426, communication circuitry 438, processor(s) 435, etc.
In the exemplary embodiment shown in
Circuit arrangement 700 includes CRAM 403, PLD circuit/resource 556A, transistor 553, and PLD circuit/resource 556B. CRAM 403 includes memory cell (or latch or storage device or circuit) 503. Each of PLD circuit/resource 556A and PLD circuit/resource 556B may constitute or include any of several blocks or circuits in PLD 500 (see
Memory cell 503 may include a thyristor-based latch, for example, as shown in
Transistor 553 constitutes part of programmable interconnect 423. In the embodiment shown, transistor 553 provides a programmable or configurable coupling mechanism between PLD circuit/resource 556A and PLD circuit/resource 556B.
Put another way, transistor 553 acts as a pass transistor that, under the control of memory cell 503, couples PLD circuit/resource 556A to PLD circuit/resource 556B. If memory cell 503 stores a binary “1” value, transistor 553 turns on, and couples PLD circuit/resource 556A to PLD circuit/resource 556B. Conversely, if memory cell 503 stores a binary “0” value, transistor 553 turns off, and decouples PLD circuit/resource 556A from PLD circuit/resource 556B. Thus, under the control of memory cell 503, transistor 553 selectively couples PLD circuit/resource 556A to PLD circuit/resource 556B, i.e., it acts as a programmable interconnect.
To provide good coupling (i.e., with relatively low parasitic resistance, capacitance, etc.), one wants to turn on transistor 553 hard. Doing so ordinarily entails using a relatively high gate voltage. Unlike conventional CRAM cells, where one has the concern of gate oxide breakdown in the presence of relatively high voltages, memory cell 503 can provide a higher gate voltage than the nominal supply voltage (VDD, nom) of PLD 500.
Specifically, one may supply memory cell 503 with a higher supply voltage, say, VDD, high. In other words, referring to
Circuit arrangement 800 includes CRAM 403, PLD circuits/resources 556A-556C, and transistors 562, 565, and 568. CRAM 403 includes memory cells (or latches or storage devices or circuits) 503B and 503C. Each of PLD circuits/resources 556A-556C may constitute or include any of several blocks or circuits in PLD 500 (see
Each of memory cells 503B-503C may include a thyristor-based latch, for example, as shown in
Transistors 562, 565, and 568 constitutes parts of programmable interconnect 423. In the embodiment shown, transistors 562 and 568 provide a programmable or configurable coupling mechanism between PLD circuit/resource 556A and PLD circuit/resource 556B. Similarly, transistors 565 and 568 provide a programmable or configurable coupling mechanism between PLD circuit/resource 556B and PLD circuit/resource 556C.
Put another way, transistors 562 and 568 act as pass transistors that, under the control of memory cells 503B and 503C, respectively, couple PLD circuit/resource 556A to PLD circuit/resource 556B. If memory cell 503B and memory cell 503C each stores a binary “1” value, transistors 562 and 568, respectively, turn on, and couples PLD circuit/resource 556A to PLD circuit/resource 556B. Conversely, if either or both of memory cells 503B-503C stores a binary “0” value, transistor 562, transistor 568, or both, turns off, and decouples PLD circuit/resource 556A from PLD circuit/resource 556B. Thus, under the control of memory cells 503B-503C, transistors 562 and 568 selectively couple PLD circuit/resource 556A to PLD circuit/resource 556B, i.e., the transistors acts as a programmable interconnect.
Similarly, transistors 565 and 568 act as pass transistors that, under the control of memory cells 503B and 503C, respectively, couple PLD circuit/resource 556B to PLD circuit/resource 556C. If memory cell 503B and memory cell 503C each stores a binary “1” value, transistors 565 and 568, respectively, turn on, and couples PLD circuit/resource 556B to PLD circuit/resource 556C. Conversely, if either or both of memory cells 503B-503C stores a binary “0” value, transistor 565, transistor 568, or both, turns off, and decouples PLD circuit/resource 556B from PLD circuit/resource 556C. Thus, under the control of memory cells 503B-503C, transistors 565 and 568 selectively couple PLD circuit/resource 556B to PLD circuit/resource 556C, i.e., the transistors acts as a programmable interconnect.
As noted above, to provide good coupling between PLD circuits/resources, one should turn transistors 562, 565, and 568 on hard. Doing so ordinarily entails using a relatively high gate voltages. Memory cells 503B-503C can provide a higher gate voltage than the nominal supply voltage (VDD, nom) of PLD 500.
Specifically, one may supply memory cells 503B-503C with a higher supply voltage (or more than one such voltage, as desired), say, VDD, high. In other words, referring to
Note that although the exemplary embodiments in
As persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts understand, however, one may use an appropriate number of memory cells according to the disclosed concepts to drive desired levels of pass transistors. As one example, one might use memory cells according to the disclosed concepts to drive three levels of pass transistors (arranged similar to a multiplexer (MUX) structure) in programmable or configurable interconnect. Thus, the first level would include one transistor, the second level two transistors, and the third level four transistors. Of course, as persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts understand, one may extend this concept to more complex pass transistor structures, as desired.
The embodiments described above refer to PLDs although, as persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts understand, one may apply the disclosed concepts to a variety of other ICs (in addition to general purpose ICs, ASICs, etc., as described above). Examples include custom, standard-cell, gate-array, field-programmable gate arrays (FPGAs), and the like.
Note that the embodiments described above use positive logic (i.e., a higher voltage to denote binary “1” and a lower voltage to denote binary “0”). One may, however, apply the disclosed concepts to other logic configurations (e.g., negative logic), as desired, by making modifications that fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts.
Furthermore, without loss of generality, the exemplary embodiments described in this document may use a particular type or polarity of transistor. For example, some embodiments may use N-type MOS (NMOS) transistors. One may, however, apply the disclosed concepts to other types of circuitry, as desired. For example, one may, however, use other types or polarities of transistors and circuits (e.g., P-type MOS (PMOS) or CMOS circuitry) by making modifications that fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the disclosed concepts.
Referring to the figures, persons of ordinary skill in the art will note that the various blocks shown may depict mainly the conceptual functions and signal flow. The actual circuit implementation may or may not contain separately identifiable hardware for the various functional blocks and may or may not use the particular circuitry shown. For example, one may combine the functionality of various blocks into one circuit block, as desired. Furthermore, one may realize the functionality of a single block in several circuit blocks, as desired. The choice of circuit implementation depends on various factors, such as particular design and performance specifications for a given implementation, as persons of ordinary skill in the art who have the benefit of the disclosure in this document understand. Other modifications and alternative embodiments of the disclosed concepts in addition to those described here will be apparent to persons of ordinary skill in the art who have the benefit of the description of the disclosure. Accordingly, this description teaches those skilled in the art the manner of carrying out the disclosed concepts and are to be construed as illustrative only.
The forms of the disclosed concepts and embodiments shown and described should be taken as the presently preferred or illustrative embodiments. Persons skilled in the art may make various changes in the shape, size and arrangement of parts without departing from the scope of the disclosure in this document. For example, persons skilled in the art may substitute equivalent elements for the elements illustrated and described here. Moreover, persons skilled in the art who have the benefit of this disclosure may use certain features of the disclosed concepts independently of the use of other features, without departing from the scope of the disclosure.
Xu, Yanzhong, Watt, Jeffrey T.
Patent | Priority | Assignee | Title |
10020043, | Sep 25 2014 | KILOPASS TECHNOLOGY, INC | Methods of reading and writing data in a thyristor random access memory |
10056389, | Sep 25 2014 | TC LAB, INC | Cross-coupled thyristor SRAM semiconductor structures and methods of fabrication |
10090037, | Sep 25 2014 | KILOPASS TECHNOLOGY, INC | Methods of retaining and refreshing data in a thyristor random access memory |
10283185, | Sep 25 2014 | TC LAB, INC | Write assist thyristor-based SRAM circuits and methods of operation |
10332886, | Sep 25 2014 | TC LAB, INC | Thyristor volatile random access memory and methods of manufacture |
10381063, | Sep 25 2014 | TC LAB, INC | Methods of reading and writing data in a thyristor random access memory |
10438952, | Sep 25 2014 | TC LAB, INC | Method of writing into and refreshing a thyristor volatile random access memory |
10460789, | Sep 25 2014 | TC Lab, Inc. | Methods of reading and writing data in a thyristor random access memory |
10529718, | Sep 25 2014 | TC Lab, Inc. | Thyristor volatile random access memory and methods of manufacture |
10553588, | Sep 25 2014 | TC Lab, Inc. | Thyristor volatile random access memory and methods of manufacture |
10566055, | Jan 30 2013 | Commissariat a l Energie Atomique et aux Energies Alternatives | Method for programming a bipolar resistive switching memory device |
11114438, | Sep 25 2014 | TC Lab, Inc. | Thyristor volatile random access memory and methods of manufacture |
9437717, | Nov 16 2011 | GLOBALFOUNDRIES U S INC | Interface control in a bipolar junction transistor |
9564198, | Sep 25 2014 | TC LAB, INC | Six-transistor SRAM semiconductor structures and methods of fabrication |
9564199, | Sep 25 2014 | KILOPASS TECHNOLOGY, INC | Methods of reading and writing data in a thyristor random access memory |
9564441, | Sep 25 2014 | TC LAB, INC | Two-transistor SRAM semiconductor structure and methods of fabrication |
9582374, | Nov 19 2010 | TAHOE RESEARCH, LTD | Memory array with redundant bits and memory element voting circuits |
9613968, | Sep 25 2014 | TC LAB, INC | Cross-coupled thyristor SRAM semiconductor structures and methods of fabrication |
9741413, | Sep 25 2014 | KILOPASS TECHNOLOGY, INC | Methods of reading six-transistor cross-coupled thyristor-based SRAM memory cells |
9748223, | Sep 25 2014 | TC LAB, INC | Six-transistor SRAM semiconductor structures and methods of fabrication |
9837418, | Sep 25 2014 | TC LAB, INC | Thyristor volatile random access memory and methods of manufacture |
9899389, | Sep 25 2014 | TC LAB, INC | Two-transistor SRAM semiconductor structure and methods of fabrication |
Patent | Priority | Assignee | Title |
5504451, | Feb 09 1993 | Texas Instruments Incorporated | Gated thyristor and process for its simultaneous fabrication with high- and low-voltage semiconductor devices, integrated circuit containing the same, systems and methods. |
7078739, | Nov 12 2003 | T-RAM ASSIGNMENT FOR THE BENEFIT OF CREDITORS , LLC | Thyristor-based memory and its method of operation |
20070189067, | |||
20070211535, | |||
20070259490, | |||
20090086537, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 21 2008 | XU, YANZHONG | Altera Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021886 | /0120 | |
Nov 21 2008 | WATT, JEFFREY T | Altera Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 021886 | /0120 | |
Nov 25 2008 | Altera Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jun 29 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 06 2021 | REM: Maintenance Fee Reminder Mailed. |
Feb 21 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jan 14 2017 | 4 years fee payment window open |
Jul 14 2017 | 6 months grace period start (w surcharge) |
Jan 14 2018 | patent expiry (for year 4) |
Jan 14 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 14 2021 | 8 years fee payment window open |
Jul 14 2021 | 6 months grace period start (w surcharge) |
Jan 14 2022 | patent expiry (for year 8) |
Jan 14 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 14 2025 | 12 years fee payment window open |
Jul 14 2025 | 6 months grace period start (w surcharge) |
Jan 14 2026 | patent expiry (for year 12) |
Jan 14 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |