DE60216485T2 - Strukturen und verfahren zum selektiven anlegen einer muldenvorspannung an teile einer programmierbaren einrichtung - Google Patents

Strukturen und verfahren zum selektiven anlegen einer muldenvorspannung an teile einer programmierbaren einrichtung Download PDF

Info

Publication number
DE60216485T2
DE60216485T2 DE60216485T DE60216485T DE60216485T2 DE 60216485 T2 DE60216485 T2 DE 60216485T2 DE 60216485 T DE60216485 T DE 60216485T DE 60216485 T DE60216485 T DE 60216485T DE 60216485 T2 DE60216485 T2 DE 60216485T2
Authority
DE
Germany
Prior art keywords
well bias
well
bias
transistors
positive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60216485T
Other languages
English (en)
Other versions
DE60216485D1 (de
Inventor
J. Michael Palo Alto HART
P. Steven Boulder YOUNG
Daniel Palo Alto GITLIN
Hua San Jose SHEN
M. Stephen San Jose TRIMBERGER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of DE60216485D1 publication Critical patent/DE60216485D1/de
Application granted granted Critical
Publication of DE60216485T2 publication Critical patent/DE60216485T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17792Structural details for adapting physical parameters for operating speed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body
    • H01L27/08Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including only semiconductor components of a single kind
    • H01L27/085Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only
    • H01L27/088Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate
    • H01L27/092Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate complementary MIS field-effect transistors
    • H01L27/0928Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including only semiconductor components of a single kind including field-effect components only the components being field-effect transistors with insulated gate complementary MIS field-effect transistors comprising both N- and P- wells in the substrate, e.g. twin-tub
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier
    • H01L27/04Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body
    • H01L27/10Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having at least one potential-jump barrier or surface barrier; including integrated passive circuit elements with at least one potential-jump barrier or surface barrier the substrate being a semiconductor body including a plurality of individual components in a repetitive configuration
    • H01L27/118Masterslice integrated circuits
    • H01L27/11803Masterslice integrated circuits using field effect technology
    • H01L27/11807CMOS gate arrays

Description

  • ERFINDUNGSGEBIET
  • Die Erfindung bezieht sich auf programmierbare Logikeinrichtungen (PLDs). Insbesondere bezieht sich die Erfindung auf Strukturen und Verfahren zum Anlegen einer programmierbaren Muldenvorspannung an ausgewählte Abschnitte einer PLD.
  • ALLGEMEINER STAND DER TECHNIK
  • Programmierbare Logikeinrichtungen (PLDs) sind ein gut bekannter Typ eines digitalen integrierten Schaltkreises, der von einem Benutzer zur Durchführung vorgegebener Logikfunktionen programmiert werden kann. Ein PLD-Typ – das feldprogrammierbare Gate Array (FPGA) – beinhaltet typisch ein Array konfigurierbarer Logikblöcke (CLBs), die von einem Ring programmierbarer Eingabe-/Ausgabeblöcke (IOBs) umgeben sind. Die CLBs und IOBs sind über eine programmierbare Interconnect-Struktur untereinander verbunden. Manche FPGAs beinhalten außerdem zusätzliche Logikblöcke für Sonderzwecke (zum Beispiel DLLs, RAM usw.).
  • Die CLBs, IOBs, Interconnect- und anderen Logikblöcke werden typisch durch Laden eines Stroms von Konfigurationsdaten (Bitstrom) in interne Konfigurations-Speicherzellen einprogrammiert, die definieren, wie die CLBs, IOBs und Interconnects konfiguriert sind. Die Konfigurationsdaten können aus dem Speicher (zum Beispiel aus einem externen PROM) gelesen oder von einer externen Einrichtung in das FPGA geschrieben werden. Die Gesamtheit der Zustände der einzelnen Speicherzellen bestimmt dann die Funktion des FPGAs.
  • In einer PLD, wie auch in anderen integrierten Schaltkreisen (ICs), werden die verschiedenen CLBs-, IOBs und Interconnects auf einem einzigen Substrat geformt. 1A zeigt ein erstes Siliziumsubstrat, auf dem die Transistoren NMOS 101 und PMOS 102 geformt sind. Das Siliziumsubstrat 100 ist positiv dotiert (P-Typ). Folglich wird zum Formen eines PMOS-Transistors eine „N-Mulde" (negativ dotierte Region) 112 in das Substrat 100 diffundiert, und der PMOS-Transistor 102 wird innerhalb der N-Mulde 112 geformt.
  • 1B zeigt ein zweites Siliziumsubstrat für einen integrierten CMOS-Schaltkreis (IC), der mit einem „Dreifachmulden" Prozess geformt ist. Bei Einsatz des Dreifachmulden-Prozesses werden die NMOS-Transistoren 101 in „P-Mulden" (positiv dotierten Regionen) 111 innerhalb größerer N-Mulden 113 geformt, die ihrerseits im P-Typ-Substrat 100 residieren. Desgleichen werden alle PMOS-Transistoren 102 innerhalb N-Mulden 112 geformt, die ebenfalls im P-Typ-Substrat 100 residieren. Somit sind die P-Mulden 111 und N-Mulden 112 sowohl gegeneinander als auch gegenüber allen anderen Mulden im Substrat elektrisch isoliert.
  • 1C zeigt ein drittes Siliziumsubstrat, das mit Hilfe eines SOI-Prozesses (SOI-Technik) geformt ist. Bei Einsatz eines SOI-Prozesses werden die NMOS-Transistoren 101 innerhalb P-Mulden 111 geformt, und die PMOS-Transistoren 102 werden innerhalb N-Mulden 112 geformt. Jede P-Mulde 111 und jede N-Mulde 112 residiert innerhalb eines elektrisch isolierenden Substrats 110. Somit isoliert das Substrat die P-Mulden und N-Mulden sowohl gegeneinander als auch gegenüber allen anderen Mulden im Substrat.
  • Mit der Zeit reduzieren IC-Konstrukteure den „VCC" oder Hochspannungspegel, für den die ICs ausgelegt sind. Diese Senkung des VCCs hat den Vorteil, dass der Stromverbrauch eines ICs reduziert ist. Dies hat jedoch auch die unerwünschte Wirkung, dass die Leistung des ICs beeinträchtigt ist. Deshalb ist es wünschenswert, Wege zu finden, die diesem Rückgang in der Leistung entgegenwirken. Ein Verfahren besteht darin, eine Vorspannung an die Mulden, in denen die Transistoren residieren, anzulegen.
  • Wenn entweder eine Dreifachmulde oder ein SOI-Prozess verwendet wird, können die P-Mulden und N-Mulden auf Spannungspegel vorgespannt werden, die sich voneinander und von anderen Mulden des gleichen Typs unterscheiden. Ein angelegtes Spannungsdifferential wird als „Substratvorspannung" oder (bei Anlegen an eine Mulde) als Muldenvorspannung bezeichnet.
  • 1B und 1C zeigen Beispiele für Anlegen von Muldenvorspannungen an P-Mulden und N-Mulden. Zum Beispiel könnte für einen NMOS-Transistor 101 eine positive Muldenvorspannung 105 von circa 0,4 bis 0,6 Volt an die P-Mulde 111 angelegt werden. In anderen Worten, wenn die P-Mulde 111 normalerweise eine Nullspannung (0 Volt) aufweist, wird sie auf circa 0,4 bis 0,6 Volt aufgesteuert.
  • Desgleichen kann für einen PMOS-Transistor 102 eine positive Muldenvorspannung 106 von circa –0,4 bis –0,6 Volt an eine N-Mulde 112 angelegt werden. In anderen Worten, die sogenannte „positive Muldenvorspannung" steuert die N-Mulde, bezogen auf den ursprünglichen Spannungspegel, bis auf eine negative Spannung auf. Zum Beispiel wird für einen PMOS-Transistor 102, wenn die N-Mulde normalerweise bei VCC (Hochspannungspegel) liegt, die N-Mulde auf circa VCC-0,4 bis VCC-0,6 Volt aufgesteuert.
  • So wie der Ausdruck hier benutzt wird, nennt man das Anlegen einer verstärkt positiven Spannung an eine P-Mulde oder einer verstärkt negativen Spannung an eine N-Mulde das Anlegen einer „positiven Muldenvorspannung". Somit wird effektiv durch Anlegen einer positiven Muldenvorspannung die umgekehrte Muldenvorspannung der Transistoren innerhalb der Mulde reduziert. Desgleichen nennt man das Anlegen einer verstärkt negativen Spannung an eine P-Mulde oder einer verstärkt positiven Spannung an eine N-Mulde das Anlegen einer „negativen Muldenvorspannung". Somit wird effektiv durch Anlegen einer negativen Muldenvorspannung die umgekehrte Muldenvorspannung der Transistoren in der Mulde erhöht.
  • Wenn der Spannungspegel einer Mulde geändert wird, verändert sich die Schwellenspannung (Vt) der Transistoren innerhalb der Mulde. Zum Beispiel bewirkt eine verstärkt positive Spannung (das heißt eine positive Muldenvorspannung) in einer P-Mulde einen Abfall in der Schwellenspannung der NMOS-Transistoren innerhalb der Mulde. Diese niedrigere Schwellenspannung erhöht wiederum den Sättigungs-Drain-Strom, der die Leistung aller NMOS-Transistoren innerhalb der vorgespannten Mulde erhöht.
  • Die umgekehrte Situation ist ebenfalls wahr. Zum Beispiel bewirkt eine niedrigere Spannung in einer P-Mulde (das heißt eine negative Muldenvorspannung) einen Anstieg in der Schwellenspannung der NMOS-Transistoren innerhalb der Mulde, was zu einem reduzierten Leckstrom führt. Gitlin et al. beschreiben ein Beispiel für den Einsatz einer negativen Muldenvorspannung zur Reduzierung von Leckstrom in US-Patent Nr. 5880620, betitelt „Pass Gate Circuit with Body Bias Control". Der Einsatz einer negativen Muldenvorspannung bewirkt jedoch auch einen Rückgang in der Leistung des Transistors.
  • Obwohl durch den Einsatz einer positiven Muldenvorspannung die Leistung eines Transistors erhöht wird, hat dieser effizientere Vorgang seinen Preis. Abgesehen von der Erhöhung des Sättigungs-Drain-Stroms wird durch die positive Muldenvorspannung auch die Strommenge erhöht, die durch einen inaktiven Transistor fließt. Dieser Strom ist eine größere Komponente des Leckstroms in einem integrierten CMOS-Schaltkreis (IC). Folglich wird durch Anlegen einer positiven Muldenvorspannung an alle Transistoren auf einem IC die Leistung des Geräts zwar verbessert, es besteht jedoch die Möglichkeit, dass dadurch ein unvertretbar großer Leckstrom erzeugt wird.
  • Zur Adressierung dieser Einschränkung können „Festfunktions"-Logikeinrichtungen (im Gegensatz zu programmierbaren Logikeinrichtungen oder PLDs) entworfen werden, wobei die positive Muldenvorspannung nur an Schaltkreise angelegt wird, die besonders geschwindigkeits-kritisch sind. Bei Verwendung dieser Technik wird der Geschwindigkeitsvorteil nur dort wo notwendig erzielt, während der Anstieg des Leckstroms innerhalb akzeptabler Grenzen gehalten wird.
  • Für PLDs ist jedoch die Behandlung des Problems des erhöhten Leckstroms, wenn eine positive Muldenvorspannung angelegt wird, nicht so einfach. Bei PLDs sind die kritischen Schaltkreise und Pfade nicht auf spezifische Bereiche der Einrichtung oder auf spezifische Transistoren beschränkt. Zum Beispiel kann bei einem FPGA ein Benutzer jeden der CLBs zur Durchführung einer geschwindigkeits-kritischen Funktion programmieren, und ein Pfad zwischen zwei solchen CLBs kann jeden aus einer großen Anzahl von Interconnect-Pfaden überqueren. Früher wäre es daher, um sich positive Muldenvorspannung in PLDs zunutze zu machen, notwendig gewesen, die Mulden jedes Transistors in den programmierbaren Bereichen der Einrichtung vorzuspannen, um sicherzustellen, dass die kritischen Pfade die vorgespannten Transistoren benutzen. Mit zunehmender Größe der PLDs bis zu einem Punkt, an dem Millionen von Transistoren in jeder PLD verwendet werden, werden Leckströme in vielen Designs zu einem begrenzenden Faktor. Deshalb war es bis jetzt nicht möglich, sich das positive Vorspannen von Mulden im Design von größeren PLDs zunutze zu machen.
  • Es ist daher wünschenswert, Strukturen und Verfahren vorzusehen, die den Einsatz von Muldenvorspannungstechniken für große PLDs ermöglichen.
  • Der Artikel „VTH-Hopping Scheme for 82% Power Saving in Low-Voltage Processors" von Koichi Nose et al, PROCEEDINGS OF THE IEEE 2001 CUSTOM INTEGRATED CIRCUITS CONFERENCE (CICC 2001), SAN DIEGO, CA, MAI 6–9, 2001, behandelt einen Niederspannungsprozessor einschließlich dynamisch gesteuerter Rückwärtsregelung (Back-Biasing) (und somit Schwellenspannung) von Transistoren. Eine Software Routine wertet die Antwortzeit des Prozessors aus und passt die Rückwärtsregelungsspannung an, um die notwendige Leistung zu erzielen, ohne das unnötig viel Strom verbraucht wird.
  • Es ist ein Ziel der Erfindung, Strukturen und Verfahren bereitzustellen, die den Einsatz neuer Vorspannungstechniken für große PLDs ermöglichen. Dieses Ziel wird erfindungsgemäß mit einem Verfahren nach Anspruch 1 und einem Substrat nach Anspruch 5 gelöst.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die Erfindung stellt ein Substrat für einen integrierten Schaltkreis bereit, der eine Mehrzahl von Mulden aufweist, von denen jede unabhängig und programmierbar mit der gleichen oder einer anderen Muldenvorspannung vorgespannt werden kann.
  • In manchen Ausführungsformen ist der integrierte Schaltkreis eine programmierbare Logikeinrichtung (PLD), wie zum Beispiel ein feldprogrammierbares Gate Array (FPGA). In einer dieser Ausführungsformen wird die Vorspannung für jede Mulde oder eine Gruppe von Mulden programmierbar von einem Vorspannungserzeugerschaltkreis über einen von einer programmierbaren Speicherzelle gesteuerten Durchgangstransistor angelegt. Die programmierbaren Speicherzellen werden mit dem gleichen Konfigurationsbitstrom programmiert, der das Programmieren von CLBs-, IOBs und Interconnect im FPGA steuert. Das FPGA ist in zwei oder mehr Abschnitte unterteilt, wobei das Vorspannen von Mulden separat gesteuert wird. Die FPGA-Abschnitte können Nachschlagetabellen, individuelle Transistoren wie zum Beispiel Durchgangstransistoren, Multiplexer, ganze CLBs oder irgendwelche anderen Abschnitte der Einrichtung umfassen.
  • In manchen Ausführungsformen ist eine Mehrzahl von Muldenvorspannungspegeln vorgesehen. Werte, die in zwei oder mehr SRAM Zellen gespeichert sind, werden decodiert, um eine aus der Mehrzahl von Muldenvorspannungswerten für jede Mulde auszuwählen.
  • Ein weiterer Aspekt der Erfindung stellt Verfahren zum selektiven Anlegen einer Muldenvorspannung an nur diejenigen Abschnitte einer PLD bereit, wo eine solche Vorspannung notwendig oder wünschenswert ist, das heißt, es wird eine positive Muldenvorspannung nur an Transistoren angelegt, die sich in kritischen Pfaden innerhalb eines Benutzerdesigns befinden.
  • Gemäß einer Ausführungsform der Erfindung definiert ein FPGA Benutzer die kritischen Pfade in seinem oder ihrem Design zur gleichen Zeit, wie der Benutzerschaltkreis definiert wird. Die FPGA-Implementierungssoftware (Software, die eine Designbeschreibung akzeptiert und einen Konfigurationsbitstrom erzeugt, der das beschriebene Design in einem FPGA implementiert) merkt sich die designierten kritischen Pfade und erzeugt einen Konfigurationsbitstrom, der positives Vorspannen von Mulden nur für Transistoren erlaubt, die in den kritischen Pfaden liegen, oder nur für programmierbare Logikelemente (zum Beispiel CLBs oder Nachschlagetabellen) erlaubt, die diese Transistoren enthalten.
  • In einer weiteren Ausführungsform beinhaltet die FPGA-Implementierungssoftware Timing-Software (wie in der Technik gut bekannt ist), die automatisch die kritischen Pfade im Benutzerdesign bestimmt. Die Software ermöglicht dann das positive Vorspannen von Mulden für Transistoren auf diesen bestimmten kritischen Pfaden.
  • In einer Ausführungsform überwacht die FPGA-Implementierungssoftware die Anzahl der Transistoren, an die eine positive Muldenvorspannung angelegt wurde, und gibt eine Fehlermeldung aus, wenn die Anzahl dieser Transistoren derart ist, dass der angegebene maximale Leckstrom für die Einrichtung überschritten wird. In einer weiteren Ausführungsform sind negative Muldenvorspannungspegel programmierbar vorgesehen. In anderen Worten, eine P-Mulde kann programmierbar auf eine niedrigere Spannung vorgespannt werden, und eine N-Mulde kann programmierbar auf eine höhere Spannung vorgespannt werden. Dieses negative Vorspannen von Mulden führt zu einer verminderten Leistung von Transistoren innerhalb der Mulde und einem damit einhergehenden reduzierten Leckstrom. In einer dieser Ausführungsformen gleicht die FPGA-Implementierungssoftware eine ansonsten nicht mehr akzeptable große Anzahl von Transistoren mit positiver Muldenvorspannung dadurch aus, dass Mulden in Transistoren auf nichtkritischen Pfaden negativ vorgespannt werden. In einer Ausführungsform gibt der Benutzer diese nichtkritischen Pfade an. In einer weiteren Ausführungsform bestimmt die FPGA-Implementierungssoftware automatisch die mindest-kritischen Pfade im Benutzerdesign.
  • In einer weiteren Ausführungsform wird negatives Vorspannen von Mulden benutzt, um Leckströme auf nichtkritischen Pfaden zu reduzieren, während kein positives Vorspannen von Mulden stattfindet.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung ist anhand von Beispielen, nicht Einschränkungen, unter Bezugnahme auf die folgenden Figuren veranschaulicht, in denen sich gleiche Bezugsziffern auf gleiche Elemente beziehen.
  • 1A zeigt das Substrat eines beispielhaften integrierten CMOS-Schaltkreises.
  • 1B zeigt das Substrat eines beispielhaften integrierten CMOS-Schaltkreises, der einen Dreifachmuldenprozess verwendet.
  • 1C zeigt das Substrat eines beispielhaften integrierten CMOS-Schaltkreises, der einen SOI-Prozess (SOI-Technik) verwendet.
  • 2A2H zeigen beispielhafte Siliziumsubstrate, an die programmierte Muldenvorspannung gemäß verschiedener Ausführungsformen der Erfindung angelegt wird.
  • 3 zeigt einen Benutzerschaltkreis, der in mehreren konfigurierbaren Logikblöcken (CLBs) eines FPGAs implementiert ist.
  • 4 zeigt ein erstes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 5 zeigt ein zweites erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 6 zeigt ein drittes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 7 zeigt ein viertes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 8 zeigt ein fünftes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 9 zeigt ein sechstes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • 10 zeigt ein siebtes erfindungsgemäßes Verfahren zur Implementierung einer PLD.
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung lässt sich auf eine Vielfalt von programmierbaren Logikeinrichtungen (PLDs) anwenden. Sie hat sich als besonders anwendbar und vorteilhaft für feldprogrammierbare Gate Arrays (FPGAs) erwiesen. Obwohl die vorliegende Erfindung nicht auf diese beschränkt ist, wird sie anhand von spezifischen Beispielen, in diesem Fall anhand eines FPGAs beschrieben, wobei für die Programmierung SRAM Zellen verwendet wurden.
  • In der folgenden Beschreibung sind zahlreiche spezifischen Details angegeben, um ein gründliches Verständnis der Erfindung zu vermitteln. Für einen in der Technik bewanderten Fachmann ist jedoch erkennbar, dass die vorliegende Erfindung auch ohne diese spezifischen Details praktiziert werden kann.
  • SCHALTKREISKONFIGURATIONEN
  • Muldenvorspannen kann zur Erhöhung der Transistorleistung (positives Muldenvorspannen) oder zur Reduzierung des Leckstroms (negatives Muldenvorspannen) verwendet werden. 2A bis 2F zeigen verschiedene Siliziumsubstrate und beispielhafte Vorspannungskonfigurationen, die entsprechend der verschiedenen Ausführungsformen der vorliegenden Erfindung verwendet werden können.
  • 2A zeigt ein erstes Siliziumsubstrat, an welches eine programmierbare Muldenvorspannung angelegt ist. Das Siliziumsubstrat 200 und die darauf ausgebildeten verschiedenen Strukturen gleichen denen von 1B, die mit Hilfe eines Dreifachmuldenprozesses geformt wurden. In dem Beispiel von 2A kann selektiv eine positive Muldenvorspannung 205 an die P-Mulde 211 mittels Schalter 203 angelegt werden. Schalter 203 wird von der programmierbaren Speicherzelle 204 gesteuert. In einer Ausführungsform ist Schalter 203 ein NMOS Passgate, während Speicherzelle 204 eine Konfigurationsspeicherzelle in einem FPGA ist.
  • Ferner kann in 2A selektiv eine positive Muldenvorspannung 206 an die N-Mulde 212 mittels Schalter 207 angelegt werden (das heißt, es wird eine verstärkt negative Spannung an die N-Mulde angelegt). Schalter 207 wird von der programmierbaren Speicherzelle 208 gesteuert. In einer Ausführungsform ist Schalter 207 ein PMOS Passgate, während Speicherzelle 208 eine Konfigurationsspeicherzelle in einem FPGA ist.
  • Vorspannungserzeugerschaltkreise, wie die in 2A mit 205 und 206 bezeichneten Schaltkreise (und die in den 2C bis 2H dargestellten Schaltkreise) sind in der Technik gut bekannt, und werden deshalb hier nicht im Detail beschrieben.
  • In der Ausführungsform von 2A sind ferner Schalter 203, 207 und Vorspannungserzeugerschaltkreise 205, 206 innerhalb von Substrat 200 implementiert. In anderen Ausführungsformen wird die Muldenvorspannung jedoch von einer externen Quelle bereitgestellt.
  • 2B zeigt dieselbe positive Muldenvorspannungskonfiguration, hier implementiert auf einem SOI-Substrat ähnlich dem in 1C.
  • 2C zeigt den Einsatz von negativer Muldenvorspannung auf P-Mulden und N-Mulden. In dem Beispiel von 2C kann eine negative Muldenvorspannung 215 selektiv an P-Mulde 211 mittels Schalter 203 angelegt werden. Schalter 203 wird von der programmierbaren Speicherzelle 204 gesteuert. Desgleichen kann eine negative Muldenvorspannung 216 selektiv an N-Mulde 212 (das heißt, Anlegen einer verstärkt positiven Spannung an die N-Mulde) mittels Schalter 207 angelegt werden. Schalter 207 wird von der programmierbaren Speicherzelle 208 gesteuert.
  • 2D zeigt dieselbe negative Muldenvorspannungskonfiguration, hier implementiert auf einem SOI-Substrat ähnlich dem in 1C.
  • 2E zeigt eine weitere Konfiguration des Dreifachmuldensubstrats von 1B, wobei eine programmierbare Auswahl zwischen positivem Muldenvorspannen und negativem Muldenvorspannen getroffen wird.
  • 2F zeigt dieselbe Konfiguration, hier auf einem SOI-Substrat.
  • 2G zeigt eine weitere Konfiguration des Dreifachmuldensubstrats von 1B, wobei eine programmierbare Auswahl zwischen vier verschiedenen Muldenvorspannungen getroffen wird, die von Muldenvorspannungsgeneratoren 221224 bereitgestellt werden. Für den NMOS-Transistor 201 erfolgt die Auswahl über Multiplexer 220, der von zwei programmierbaren Speicherzellen 225 und 226 gesteuert wird. Hinweis: in dieser Ausführungsform ist der Schalterstromkreis als Multiplexer, nicht als NMOS- oder PMOS-Passgate, wie in den Ausführungsformen von 2A2F, implementiert. Zum Beispiel könnte der Multiplexer als eine Mehrzahl von parallelen Passgates implementiert werden. Es gibt viele gutbekannte Schalterstromkreistypen, die zur Implementierung der Erfindung verwendet werden können. Außerdem könnten die Schalterstromkreise mit anderen Mitteln als programmierbaren Speicherzellen gesteuert werden. Zum Beispiel könnten die Schalterstromkreise von Flip-Flops gesteuert werden, welche von anderer programmierbare Logik innerhalb des Benutzerschaltkreises getrieben werden. Somit könnten die Schalterstromkreise dynamisch gesteuert werden, vorausgesetzt, dass genügend Zeit zum Anlegen der Muldenvorspannung erlaubt wird. Viele andere Arten von Schaltersteuerung könnten ebenfalls benutzt werden.
  • Die vier Vorspannungen V1–V4 könnten alles Muldenvorspannungen sein, die positiv, negativ, eine Mischung, und dergleichen mehr sind. Eine der vier Muldenvorspannungen könnte eine Nullvorspannung sein, in welchem Fall einer der Muldenvorspannungsgeneratoren 221224 ausgelassen werden kann. Für den PMOS-Transistor 202 kann die Auswahl über Multiplexer 230 vorgenommen werden, der von zwei programmierbaren Speicherzellen 235 und 236 gesteuert wird. Die vier Vorspannungen V5–V8 können die gleichen wie die vier Vorspannungen V1–V4 sein oder sich von diesen unterscheiden.
  • 2H zeigt die gleiche Konfiguration, hier für ein SOI-Substrat angelegt.
  • Viele andere Konfigurationen sind möglich, zum Beispiel könnte eine einzelne Speicherzelle zur Steuerung mehrerer Schalter dienen. Zum Beispiel könnten die Speicherzellen 204 und 208 in 1A2F ein und dieselbe Speicherzelle sein. Desgleichen könnten die Speicherzellen 225 und 226 die gleichen wie Speicherzellen 235 und 236 sein.
  • BEISPIELHAFTER BENUTZERSCHALTKREIS
  • 3 zeigt die Logikelemente eines FPGAs, in dem Benutzerlogik abgebildet und platziert wurde. Unter „Abbildung" wird das Zusammenfassen spezifischer Abschnitte eines Benutzerschaltkreises zu Sätzen verstanden, die in die Logikelemente des FPGAs hineinpassen. Unter „Platzierung" wird die Zuweisung eines Satzes zu einem spezifischen Logikelement an einem bestimmten Ort innerhalb des FPGAs verstanden.
  • In 3 sind die dargestellten Logikelemente konfigurierbare Logikblöcke oder CLBs, die in einem regulären Array angeordnet sind. Das in 3 dargestellte Beispiel einer Benutzerlogik beinhaltet vier Logiksätze, die in die CLBs CLB02, CLB01, CLB11 und CLB21 platziert sind. Zwei Pfade verlaufen durch den Schaltkreis. Ein erster Pfad 301 erstreckt sich von Node A durch CLB02 zu Node B, und von dort durch CLB21 zu Node C. Ein zweiter Pfad 300 erstreckt sich von Node D durch CLB01 zu Node E, durch CLB11 zu Node F und durch CLB21 zu Node C. In diesem Beispiel durchquert die Logik in jedem der CLBs nur eine Nachschlagetabelle, außer in CLB21, in dem der Ausgangswert der Nachschlagetabelle in einem Flip-Flop gespeichert wird, und der Flip-Flop-Ausgang auf Node C platziert wird.
  • Da der zweite Pfad 300 drei Nachschlagetabellen durchquert, während der erste Pfad 301 nur zwei durchquert, ist klar, dass der zweite Pfad länger für die Durchquerung braucht (der Einfachheit halber sei angenommen, dass Routing-Verzögerungen über diese kurzen Entfernungen relativ vernachlässigbar sind). Es ist daher die Geschwindigkeit des zweiten Pfads, die die Gesamtgeschwindigkeit des Benutzerschaltkreises bestimmt. Folglich wird der zweite Pfad der „kritische Pfad" genannt, und der erste Pfad wird der „nichtkritische" Pfad genannt.
  • Ein kritischer Pfad kann vom Benutzer designiert werden, wenn er oder sie die Design-Beschreibung eingibt, die Information kann aber auch vom Benutzer beim Initiieren der FPGA-Implementierungssoftware oder durch Platzieren der Information in eine Datei oder interaktiv während der Implementierung oder durch andere Mittel geliefert werden. Es ist jedoch auch möglich, dass die Information dem Design durch die Implementierungssoftware entnommen wird, so dass auf einen Eingriff des Benutzers verzichtet werden kann.
  • Zum Beispiel ist in der Technik des FPGA-Softwaredesigns gut bekannt, einem Benutzerdesign Timing-Information vor, während oder nach der Implementierung zu entnehmen, sowohl zur Optimierung der Ergebnisse als auch zur Bekanntgabe der Leistung des resultierenden Designs. Diese Technik wird zum Beispiel allgemein von der zur Zeit von Xilinx Inc. angebotenen FPGA-Implementierungssoftware benutzt.
  • Die FPGA-Implementierungssoftware führt typisch bei der Implementierung eines Benutzerschaltkreises im FPGA eine Reihe von Schritten durch. Diese Schritte könnten zum Beispiel Abbildung, Platzierung und Routing umfassen. Abbildung und Platzierung wurden bereits oben beschrieben. „Routing" ist die Zuweisung der verschiedenen Pfade zu den im FPGA verfügbaren verschiedenen programmierbaren Interconnect-Ressourcen. Timing-Information (einschließlich kritischer Pfad-Designierungen) wird allgemein in allen drei Schritten verwendet. Während des Abbildungsschritts wird versucht, Logik auf kritischen Pfaden zu einem einzigen Logikelement zusammenzufassen. Während des Platzierungschritts, wie im Beispiel von 3, wird Logik auf dem kritischen Pfad gewöhnlich derart platziert, dass der physikalische Abstand zwischen aufeinanderfolgenden Logiksätzen minimiert wird. Somit wird die Routing-Verzögerung auf dem kritischen Pfad soweit wie möglich minimiert, um die Auswirkung dieses langsamsten Pfades auf die Leistung des Benutzerschaltkreises zu reduzieren.
  • Während des Routing-Schritts werden die schnellsten Interconnect-Ressourcen den kritischsten Pfaden zugewiesen.
  • In einer Ausführungsform funktioniert die FPGA-Implementierungssoftware wie folgt: Das FPGA ist in Abschnitte unterteilt, die jeweils separat gesteuertes Muldenvorspannen aufweisen. Zum Beispiel hat in dieser Ausführungsform jede Nachschlagetabelle (LUT) separat gesteuertes Muldenvorspannen. Jede LUT ist entweder als schnelles Modell (mit positiver Muldenvorspannung) oder als langsames Modell (ohne Muldenvorspannung) ausgelegt. Mit dem schnellen Modell sind Kosten verbunden. Während der Platzierungs- und/oder Routing-Phase wird eins der beiden Modelle aufgrund von Verzögerungs- und Energieeinschränkungen ausgewählt. Zum Beispiel könnte der Router die von der positiv vorgespannten Mulde verbrauchte statische Energie und die dynamische Energie aller Verbindungen im System gegeneinander ausbalancieren.
  • In einer anderen Ausführungsform ist ein zusätzliches Modell – das energiesparende Modell – vorgesehen. Das energiesparende Modell ist mit LUTs verknüpft, an die negative Muldenvorspannung angelegt wurde. In einer anderen Ausführungsform werden mehrere Modelle mit verschiedenen angelegten Vorspannungspegeln benutzt.
  • Die Erfindung stellt zusätzliche Verfahren zur Minimierung von Verzögerungen auf kritischen Pfaden bereit. Gemäß eines erfindungsgemäßen Aspekts werden Verzögerungen auf einem kritischen Pfad dadurch minimiert, dass selektiv eine positive Muldenvorspannung an Transistoren angelegt wird, die Logik auf dem Pfad implementieren. In dem Benutzerschaltkreis von 3 könnte zum Beispiel eine positive Muldenvorspannung an die Gesamtheit der CLBS CLB01, CLB11 und CLB21 angelegt werden. Auf diese Weise kann der Geschwindigkeitsvorteil der positiven Muldenvorspannung voll ausgenutzt werden (weil der einschränkende Pfad soweit wie möglich beschleunigt wird), während der zusätzliche Leckstrom auf die CLBs auf dem kritischen Pfad beschränkt ist. Keine Muldenvorspannung wird an CLBs angelegt, die sich nicht auf dem kritischen Pfad befinden, zum Beispiel CLBs CLB02, CLB12 und so weiter.
  • In einer anderen Ausführungsform wird eine positive Muldenvorspannung nur an einige der Transistoren auf dem kritischen Pfad angelegt. Der Pfad muss nur soweit beschleunigt werden, wie zur Erreichung des vorgegebenen Timing-Erfordernisses notwendig erforderlich ist. Wenn somit das Timing-Erfordernis durch Vorspannen nur eines Teilsatzes von Transistoren erfüllt ist, werden nur die Transistoren in diesem Teilsatz positiv vorgespannt. Dieser Ansatz minimiert den zusätzlichen Leckstrom, der durch das Anlegen der positiven Muldenvorspannung erzeugt wird.
  • In manchen Ausführungsformen gibt es zwei oder mehr kritische Pfade. Wenn nur einige der Transistoren auf jedem Pfad positiv vorzuspannen sind und einige Transistoren von mehreren kritischen Pfaden gemeinsam benutzt werden, werden die Mulden, die die gemeinsam benutzten Transistoren enthalten, vorzugsweise zuerst vorgespannt. Wenn dann die Timing-Erfordernisse nicht erfüllt werden, können zusätzliche Transistoren auf jedem Pfad wie erforderlich positiv vorgespannt werden.
  • In einer anderen Ausführungsform, während positive Muldenvorspannung an CLBs auf dem kritischen Pfad (CLB02) angelegt wird, wird negative Muldenvorspannung an CLBs auf dem langsamsten Pfad (CLB02) und/oder an CLBs angelegt, die nicht im Benutzerschaltkreis verwendet werden (CLBs CLB12, CLB22, CLB00, CLB10 und CLB20). Somit werden die nichtkritischen Pfade tatsächlich verlangsamt, was den Leckstrom reduziert und den Ausgleich für den erhöhten Leckstrom schafft, der sich aus der positiven Muldenvorspannung auf den kritischen Pfaden ergibt.
  • In anderen Ausführungsformen wird eine Muldenvorspannung nur an diejenigen Abschnitte des CLBs angelegt, die tatsächlich vom Benutzerschaltkreis verwendet werden. Zum Beispiel werden im Schaltkreis von 3 nur Nachschlagetabellen (LUTs) in den CLBs CLB02, CLB01 und CLB11 benutzt, das heißt die Flip-Flops in diesen CLBs werden nicht benutzt. Folglich wird in diesen CLBs die Muldenvorspannung nur an die LUTs im CLB angelegt. In einer anderen Ausführungsform wird eine Muldenvorspannung auch an die Durchgangstransistoren angelegt, um den Zugriff auf und von den LUTs und Interconnects zu gestatten. In anderen Ausführungsformen (einschließlich solcher, die in PLDs mit anderen programmierbaren Unterteilungen als CLBs und LUTs implementiert sind) wird selektiv eine Muldenvorspannung an andere Gruppierungen programmierbarer Logik angelegt.
  • In einer Ausführungsform wird eine positive Muldenvorspannung an alle Transistoren in der Benutzerlogik (oder an einen vorherbestimmten Teilsatz derselben) angelegt. Somit wird anfänglich eine große Anzahl von Transistoren auf ihre höchste Geschwindigkeit eingestellt. Dann wird die Muldenvorspannung selektiv von den nichtkritischen Transistoren entfernt und der erwartete Leckstrom überwacht. Wenn der erwartete Leckstrom unter einen vorgegebenen Wert abfällt, wird die positive Muldenvorspannung auf den restlichen vorgespannten Transistoren beibehalten.
  • Programmierbare Spannungsgeneratoren in der Technik des programmierbaren Logikdesigns sind bekannt. Zum Beispiel beschreibt Lee et al. eine Anzahl von illustrativen programmierbaren Ladepumpenschaltkreisen in US-Patent 5661685, betitelt „Programmierbare Logikeinrichtung mit konfigurierbarer Stromversorgung". Programmierbare Ladepumpen sind allgemein verstellbar konzipiert, um Variationen im Herstellungsprozess, die Verschiebungen in der Ausgangsspannung der Ladepumpen verursachen können, durch Ändern von Spannungspegeln auszugleichen.
  • Ein programmierbarer Spannungsgenerator kann aber auch eine weitere Komplexitätsebene zur vorliegenden Erfindung hinzufügen, indem er zwei oder mehr verschiedene Muldenvorspannungen zur Auswahl bereitstellt. Wenn mehrere Muldenvorspannungswerte verfügbar sind, kann die FPGA-Implementierungssoftware berechnen, um wie viel die Geschwindigkeit des kritischen Pfads erhöht werden muss, indem sie die Differenz zwischen der Timing-Verzögerung auf dem kritischen Pfad mit der auf dem nächstlangsamsten Pfad vergleicht. Wenn nur eine leichte Erhöhung der Geschwindigkeit benötigt wird, kann eine kleine Muldenvorspannung angelegt werden, die einen entsprechenden leichten Anstieg im Leckstrom nach sich zieht. Wenn der kritische Pfad sehr viel langsamer als der nächstkritischste Pfad ist, wird die stärkste verfügbare Muldenvorspannung angelegt. Wenn die Geschwindigkeit mehrerer Transistoren (oder größerer FPGA-Abschnitte) angepasst wird, kann die Implementierungssoftware verschiedene Kombinationen von Muldenvorspannungspegeln auf verschiedenen Transistoren und verschiedenen Pfaden ausprobieren, bis die optimale Konfiguration erzielt wird.
  • In einer Ausführungsform stehen vier positive Muldenvorspannungspegel für eine P-Mulde zur Verfügung: 0 Volt, +X/3 Volt, +2X/3 Volt und +X Volt, wobei X ein positiver Wert ist. Wenn zum Beispiel X = 0,6, sind die vier verfügbaren positiven Muldenvorspannungspegel 0 Volt, 0,2 Volt, 0,4 Volt und 0,6 Volt. Bei diesen Auswahlen ergibt eine positive Muldenvorspannung von 0 Volt (das heißt es wird keine Vorspannung angelegt) die schlechteste Leistung, aber den niedrigsten Leckstrom, während eine positive Muldenvorspannung von 0,6 Volt die beste Leistung, aber den höchsten Leckstrom ergibt. Bei vier Auswahlmöglichkeiten wird die Wahl dadurch getroffen, dass zwei Speicherzellen (über den Konfigurationbitstrom) mit entsprechenden Bitwerten programmiert werden.
  • In einigen Ausführungsformen sind die verfügbaren Muldenvorspannungspegel negative Muldenvorspannungspegel. Zum Beispiel könnten für eine P-Mulde die verfügbaren Werte 0 Volt, –X/3 Volt, –2X/3 Volt und –X Volt sein, wobei X ein positiver Wert ist.
  • In anderen Ausführungsformen stehen sowohl positive als auch negative Muldenvorspannungen für eine einzelne Mulde zur Verfügung. Zum Beispiel könnten für eine P-Mulde die verfügbaren Werte –X Volt, 0 Volt und +X Volt sein, wobei X ein positiver Wert ist.
  • BEISPIELHAFTE VERFAHREN
  • 410 zeigen mehrere beispielhafte Verfahren für die vorliegende Erfindung. Diese Verfahren sind dargestellt und beschrieben, um einige Einsätze der vorliegenden Erfindung zu veranschaulichen; die Erfindung ist jedoch nicht auf die dargestellten Variationen beschränkt.
  • 4 zeigt eine erste Ausführungsform der Erfindung. In Schritt 401 werden die Transistoren auf einem ersten kritischen Pfad des Benutzerdesigns bestimmt. In Schritt 402 wird jeder Transistor auf dem kritischen Pfad identifiziert. In einer Ausführungsform wird jeder Transistor-Verweis in der Design-Datei mit einer Kennung „markiert", die den Transistor als kritischen Pfad-Transistor identifiziert. In Schritt 403 wird eine Konfigurationsdatei erzeugt, welche Information enthält, die eine positive Muldenvorspannung auf den als kritische Pfad-Transistoren identifizierten Transistoren erlaubt.
  • In einer wahlweisen Reihe von Schritten, die gleichzeitig mit den Schritten 401 und 402 ablaufen können, werden Transistoren auf einem zweiten kritischen Pfad auf ähnliche Weise bestimmt (Schritt 404) und identifiziert (Schritt 405). In dieser Ausführungsform erlaubt die Konfigurationsdatendatei positive Muldenvorspannung für Transistoren auf beiden kritischen Pfaden.
  • In einer weiteren wahlweisen Reihe von Schritten wird die Anzahl der kritischen Pfad-Transistoren überwacht (Schritt 406), um einen Anstieg des Leckstroms der PLD bis auf ein nicht mehr akzeptables Niveau zu vermeiden. Wenn die Anzahl der kritischen Pfad-Transistoren eine vordefinierte akzeptable Anzahl überschreitet, wird eine Fehler- oder Warnmeldung an den Benutzer ausgegeben.
  • 5 zeigt eine zweite Ausführungsform der Erfindung. In Schritt 501 werden die Transistoren auf einem kritischen Pfad des Benutzerdesigns bestimmt. In Schritt 502 wird jeder Transistor auf dem kritischen Pfad identifiziert. In einer Reihe von Schritten, die gleichzeitig mit Schritt 501 und Schritt 502 ablaufen können, werden auch die Transistoren auf einem nichtkritischen Pfad bestimmt (Schritt 504) und identifiziert (Schritt 505). In Schritt 503 wird eine Konfigurationsdatendatei erzeugt, welche Information enthält, die positive Muldenvorspannung auf den als kritische Pfad-Transistoren identifizierten Transistoren (Schritt 508) erlaubt und ferner negative Muldenvorspannung auf den als nichtkritische Pfad-Transistoren identifizierten Transistoren (Schritt 509) erlaubt.
  • Ein Transistor kein Teil sowohl des kritischen Pfads als auch des nichtkritischen Pfads, zum Beispiel ein Transistor in CLB CLB 21 von 3, sein. In diesem Fall wird der Transistor vorzugsweise als kritischer Pfad-Transistor behandelt.
  • Die in 6 dargestellte Ausführungsform gleicht der Ausführungsform von 5 mit der Ausnahme, dass die Anzahl der Transistoren auf dem kritischen Pfad überwacht wird (Schritt 606), und negative Muldenvorspannung für Transistoren auf den nichtkritischen Pfaden nur dann erlaubt wird, wenn die Anzahl der kritischen Pfad-Transistoren eine vordefinierte Anzahl überschreitet.
  • 7 zeigt eine vierte Ausführungsform der Erfindung. In Schritt 701 wird ein Benutzerschaltkreis ausgewertet, um die Timing-Verzögerungen der beiden Pfade zu bestimmen. In Schritt 702, werden die beiden Timing-Verzögerungen miteinander verglichen und ein schneller Pfad sowie ein langsamerer Pfad bestimmt. In Schritt 703 wird eine Konfigurationsdatendatei erzeugt, welche Muldenvorspannung (entweder positive oder negative Muldenvorspannung oder beides) auf mindestens einem Transistor auf mindestens einem der Pfade erlaubt.
  • Die Ausführungsform von 8 ist ähnlich der von 7 mit der Ausnahme, dass nach Bestimmen der schnelleren und langsameren Pfade in Schritt 802 eine Timing-Differenz zwischen den beiden Pfaden bestimmt wird, zum Beispiel dadurch, dass die Timing-Verzögerung des schnelleren Pfades von der Timing-Verzögerung des langsameren Pfades subtrahiert wird (Schritt 810). Aufgrund dieser Timing-Differenz wird ein bevorzugter Muldenvorspannungswert aus einer Gruppe verfügbarer Muldenvorspannungswerte ausgewählt (Schritt 811). Diese Werte sind diejenigen, die vom Spannungsgeneratorschaltkreis unterstützt werden, der die Muldenvorspannung für jeden Transistor bereitstellt. Wie bereits beschrieben kann, ein solcher Schaltkreis auf der Grundlage von zwei in zwei Konfigurationsspeicherzellen eines FPGAs gespeicherten Logikwerten eine Auswahl aus vier verfügbaren Werten treffen. In Schritt 812 wird eine Konfigurationsdatendatei erzeugt, welche das Muldenvorspannen bis auf den bevorzugten Wert auf mindestens einem Transistor auf mindestens einem der Pfade erlaubt.
  • In 9 ist eine sechste Ausführungsform der Erfindung dargestellt. In Schritt 901 wird ein Benutzerschaltkreis ausgewertet, um die Timing-Verzögerungen auf zwei Pfaden zu bestimmen. In Schritt 902 wird die Differenz zwischen den beiden Timing-Verzögerungen bestimmt. In Schritt 903 wird bestimmt, zu welchem Pfad jeder Transistor gehört. Wie oben beschrieben, wird ein Transistor auf beiden Pfaden vorzugsweise als ein dem langsameren der beiden Pfade angehörenden Transistor behandelt. (Die Reihenfolge der Schritte 902 und 903 kann umgekehrt werden.) In Schritt 904 wird auf der Grundlage der bestimmten Timing-Differenz und des Pfades, zu dem jeder Transistor gehört, ein bevorzugter Muldenvorspannungswert aus einer Gruppe verfügbarer Muldenvorspannungswerte ausgewählt. In Schritt 905 wird eine Konfigurationsdatendatei erzeugt, welche das Muldenvorspannen bis auf den bevorzugten Wert auf mindestens einem Transistor auf mindestens einem der Pfade erlaubt.
  • In 10 ist eine siebte Ausführungsform der Erfindung dargestellt. In Schritt 1001 wird ein Benutzerschaltkreis auf der Grundlage von Kostenkriterien ausgewertet, die zum Beispiel die durch Anlegen einer positiven Muldenvorspannung erzielte erhöhte Geschwindigkeit, den sich durch eine positive Muldenvorspannung ergebenden erhöhten Leckstrom, die sich aus dem Anlegen einer negativen Muldenvorspannung ergebende reduzierte Geschwindigkeit, den sich aus einer negativen Muldenvorspannung ergebenden reduzierten Leckstrom sowie andere Energieverbrauchsbelange, wie zum Beispiel den aus der Verdrahtung der verschiedenen Elemente des Benutzerschaltkreises resultierenden Leckstrom, beinhalten können.
  • In Schritt 1002 werden aufgrund der in Schritt 1001 durchgeführten Auswertung erste und zweite logische Gruppierungen anhand des Benutzerschaltkreises ausgewählt. (In manchen Ausführungsformen werden Schritt 1001 und Schritt 1002 gleichzeitig durchgeführt.) In Schritt 1003 wird eine Konfigurationsdatendatei erzeugt, welche das Muldenvorspannen bis auf einen ersten Wert in der ersten Gruppierung und bis auf einen zweiten Wert in der zweiten Gruppierung erlaubt.
  • In einer Ausführungsform weist die erste Gruppierung eine angelegte positive Vorspannung auf, während die zweite Gruppierung keine angelegte Vorspannung aufweist. In einer weiteren Ausführungsform weist die erste Gruppierung eine angelegte negative Vorspannung auf, während die zweite Gruppierung keine angelegte Vorspannung aufweist. In einer wiederum weiteren Ausführungsform weisen beide Gruppierungen angelegte positive Vorspannungen aber mit verschiedenen Werten auf, und so weiter. Bei Einsatz dieser Ausführungsform sind viele andere Variationen möglich, die für einen auf diesem Gebiet bewanderten Fachmann ohne Weiteres erkennbar sind.
  • Fachleute, die in den einschlägigen Techniken der Erfindung bewandert sind, werden verschiedene Modifikationen und Ergänzungen erkennen, die aufgrund dieser Offenbarung möglich sind. Zum Beispiel beschreibt der obige Text die Strukturen und Verfahren der Erfindung im Zusammenhang mit FPGAs, die mit CMOS-Transistoren auf einem Siliziumsubstrat implementiert werden. Die Erfindung kann jedoch auch auf andere programmierbare Logikeinrichtungen angewendet werden, einschließlich Einrichtungen, die auf anderen Substraten und in anderen Logiktypen implementiert sind, einschließlich, aber nicht beschränkt auf, NMOS, PMOS, Bipolar, und so weiter. Ferner können zur Implementierung der Erfindung andere Ladepumpen, andere programmierbare Spannungsgeneratoren, andere Speicherzellen, andere Transistoren, andere Substrate, andere N-Mulden und P-Mulden sowie andere Konfigurationsdatendateien als die hier beschriebenen verwendet werden. Des Weiteren werden die Verfahren der vorliegenden Erfindung vorzugsweise mit Hilfe von Computersofware durchgeführt, die Erfindung ist jedoch nicht auf diese beschränkt. Dementsprechend werden alle Modifikationen und Ergänzungen als in den Geltungsbereich der Erfindung fallend betrachtet, der nur durch die beigefügten Ansprüche und ihre Äquivalente begrenzt ist.

Claims (10)

  1. Verfahren zum Implementieren eines Benutzerschaltkreises in einer programmierbaren Logikeinrichtung (PLD), umfassend: Auswählen einer ersten logischen Gruppierung aus dem Benutzerschaltkreis aufgrund von Kostenkriterien, wobei die erste logische Gruppierung mindestens einige Transistoren auf einem kritischen Pfad im Benutzerschaltkreis beinhaltet; Auswählen einer zweiten logischen Gruppierung aus dem Benutzerschaltkreis aufgrund von Kostenkriterien, wobei die zweite logische Gruppierung mindestens einige Transistoren auf nichtkritischen Pfaden im Benutzerschaltkreis beinhaltet; und Erzeugen einer Konfigurationsdatendatei, die einen ersten Muldenvorspannungspegel für die erste logische Gruppierung und einen zweiten Muldenvorspannungspegel für die zweite logische Gruppierung erlaubt, wobei der erste Muldenvorspannungspegel eine positive Muldenvorspannung und der zweite Muldenvorspannungspegel entweder keine Muldenvorspannung oder eine negative Muldenvorspannung ist.
  2. Verfahren nach Anspruch 1, wobei die Kostenkriterien die Leistung der ersten logischen Gruppierung umfassen.
  3. Verfahren nach Anspruch 1, wobei die Kostenkriterien den Energieverbrauch des Benutzerschaltkreises umfassen.
  4. Verfahren nach Anspruch 1, wobei die zweite logische Gruppierung alle Abschnitte des Benutzerschaltkreises umfasst, die nicht in der ersten logischen Gruppierung enthalten sind.
  5. Substrat für einen integrierten Schaltkreis, umfassend: eine erste im Substrat geformte Mulde; erste Mittel zur programmierbaren Bereitstellung einer ersten Muldenvorspannung für die erste Mulde; eine zweite im Substrat geformte Mulde; und zweite Mittel zur programmierbaren Bereitstellung einer zweiten Muldenvorspannung für die zweite Mulde, wobei die ersten und zweiten Mittel unabhängig voneinander sind.
  6. Substrat nach Anspruch 5, wobei: das erste Mittel zum Anlegen der ersten Muldenvorspannung an die erste Mulde programmiert ist; und das erste Mittel zum Anlegen der zweiten Muldenvorspannung an die zweite Mulde programmiert ist.
  7. Substrat nach Anspruch 5, wobei: die erste Muldenvorspannung eine positive Muldenvorspannung ist; und die zweite Muldenvorspannung eine negative Muldenvorspannung ist
  8. Substrat nach Anspruch 5, wobei: die erste Muldenvorspannung eine erste positive Muldenvorspannung ist; und die zweite Muldenvorspannung eine zweite positive Muldenvorspannung ist.
  9. Substrat nach Anspruch 5, wobei: die erste Muldenvorspannung eine erste negative Muldenvorspannung ist; und die zweite Muldenvorspannung eine zweite negative Muldenvorspannung ist.
  10. Substrat nach Anspruch 5, wobei das erste Mittel eine aus einer Mehrzahl von unterstützten Muldenvorspannungen für eine erste Mulde programmierbar bereitstellt.
DE60216485T 2001-09-18 2002-09-06 Strukturen und verfahren zum selektiven anlegen einer muldenvorspannung an teile einer programmierbaren einrichtung Expired - Lifetime DE60216485T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/956,203 US6621325B2 (en) 2001-09-18 2001-09-18 Structures and methods for selectively applying a well bias to portions of a programmable device
US956203 2001-09-18
PCT/US2002/028531 WO2003025804A2 (en) 2001-09-18 2002-09-06 Structures and methods for selectively applying a well bias to portions of a programmable device

Publications (2)

Publication Number Publication Date
DE60216485D1 DE60216485D1 (de) 2007-01-11
DE60216485T2 true DE60216485T2 (de) 2007-09-20

Family

ID=25497901

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60216485T Expired - Lifetime DE60216485T2 (de) 2001-09-18 2002-09-06 Strukturen und verfahren zum selektiven anlegen einer muldenvorspannung an teile einer programmierbaren einrichtung

Country Status (6)

Country Link
US (3) US6621325B2 (de)
EP (1) EP1428155B1 (de)
JP (1) JP2005503668A (de)
CA (1) CA2459416C (de)
DE (1) DE60216485T2 (de)
WO (1) WO2003025804A2 (de)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661253B1 (en) 2000-08-16 2003-12-09 Altera Corporation Passgate structures for use in low-voltage applications
US6781409B2 (en) * 2001-10-10 2004-08-24 Altera Corporation Apparatus and methods for silicon-on-insulator transistors in programmable logic devices
US7180322B1 (en) 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7299427B2 (en) * 2002-08-30 2007-11-20 Lsi Corporation Radio prototyping system
US7295457B2 (en) * 2002-11-29 2007-11-13 International Business Machines Corporation Integrated circuit chip with improved array stability
US6936898B2 (en) * 2002-12-31 2005-08-30 Transmeta Corporation Diagonal deep well region for routing body-bias voltage for MOSFETS in surface well regions
US7334198B2 (en) * 2002-12-31 2008-02-19 Transmeta Corporation Software controlled transistor body bias
US7323367B1 (en) * 2002-12-31 2008-01-29 Transmeta Corporation Diagonal deep well region for routing body-bias voltage for MOSFETS in surface well regions
US7205758B1 (en) 2004-02-02 2007-04-17 Transmeta Corporation Systems and methods for adjusting threshold voltage
US7949864B1 (en) 2002-12-31 2011-05-24 Vjekoslav Svilan Balanced adaptive body bias control
CN100495056C (zh) * 2003-02-20 2009-06-03 国际商业机器公司 用于测试具有阱的集成电路的方法和系统
US6930510B2 (en) * 2003-03-03 2005-08-16 Xilinx, Inc. FPGA architecture with mixed interconnect resources optimized for fast and low-power routing and methods of utilizing the same
JP2005109179A (ja) * 2003-09-30 2005-04-21 National Institute Of Advanced Industrial & Technology 高速低消費電力論理装置
US7174528B1 (en) * 2003-10-10 2007-02-06 Transmeta Corporation Method and apparatus for optimizing body bias connections in CMOS circuits using a deep n-well grid structure
US7243312B1 (en) 2003-10-24 2007-07-10 Xilinx, Inc. Method and apparatus for power optimization during an integrated circuit design process
JP4221274B2 (ja) * 2003-10-31 2009-02-12 株式会社東芝 半導体集積回路および電源電圧・基板バイアス制御回路
US7649402B1 (en) 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US7107566B1 (en) * 2004-01-22 2006-09-12 Altera Corporation Programmable logic device design tools with gate leakage reduction capabilities
US7859062B1 (en) 2004-02-02 2010-12-28 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7816742B1 (en) 2004-09-30 2010-10-19 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7645673B1 (en) * 2004-02-03 2010-01-12 Michael Pelham Method for generating a deep N-well pattern for an integrated circuit design
US7188266B1 (en) * 2004-03-08 2007-03-06 Altera Corporation Systems and methods for reducing static and total power consumption in a programmable logic device
US7287171B1 (en) * 2004-03-08 2007-10-23 Altera Corporation Systems and methods for reducing static and total power consumption in programmable logic device architectures
US7388260B1 (en) 2004-03-31 2008-06-17 Transmeta Corporation Structure for spanning gap in body-bias voltage routing structure
US7348827B2 (en) * 2004-05-19 2008-03-25 Altera Corporation Apparatus and methods for adjusting performance of programmable logic devices
US7129745B2 (en) * 2004-05-19 2006-10-31 Altera Corporation Apparatus and methods for adjusting performance of integrated circuits
US7400167B2 (en) * 2005-08-16 2008-07-15 Altera Corporation Apparatus and methods for optimizing the performance of programmable logic devices
US7292065B2 (en) 2004-08-03 2007-11-06 Altera Corporation Enhanced passgate structures for reducing leakage current
CN1755835B (zh) * 2004-09-27 2011-11-23 国际商业机器公司 具有改进的阵列稳定性的集成电路芯片
US7509504B1 (en) * 2004-09-30 2009-03-24 Transmeta Corporation Systems and methods for control of integrated circuits comprising body biasing systems
US7122867B2 (en) * 2004-11-19 2006-10-17 United Microelectronics Corp. Triple well structure and method for manufacturing the same
US7151697B2 (en) * 2004-11-30 2006-12-19 Infineon Technologies Ag Non-volatile semiconductor memory
US20060119382A1 (en) * 2004-12-07 2006-06-08 Shumarayev Sergey Y Apparatus and methods for adjusting performance characteristics of programmable logic devices
US7274247B2 (en) * 2005-04-04 2007-09-25 Freescale Semiconductor, Inc. System, method and program product for well-bias set point adjustment
US7486098B2 (en) * 2005-06-16 2009-02-03 International Business Machines Corporation Integrated circuit testing method using well bias modification
US7305647B1 (en) 2005-07-28 2007-12-04 Transmeta Corporation Using standard pattern tiles and custom pattern tiles to generate a semiconductor design layout having a deep well structure for routing body-bias voltage
US7295036B1 (en) * 2005-11-30 2007-11-13 Altera Corporation Method and system for reducing static leakage current in programmable logic devices
US7183800B1 (en) * 2005-12-14 2007-02-27 Altera Corporation Apparatus and methods for programmable logic devices with improved performance characteristics
US7580824B1 (en) * 2005-12-21 2009-08-25 Altera Corporation Apparatus and methods for modeling power characteristics of electronic circuitry
KR100728571B1 (ko) * 2006-02-09 2007-06-15 주식회사 하이닉스반도체 반도체 메모리의 데이터 센싱장치
US7936184B2 (en) * 2006-02-24 2011-05-03 Altera Corporation Apparatus and methods for adjusting performance of programmable logic devices
US7490303B2 (en) * 2006-03-03 2009-02-10 International Business Machines Corporation Identifying parasitic diode(s) in an integrated circuit physical design
US7495471B2 (en) 2006-03-06 2009-02-24 Altera Corporation Adjustable transistor body bias circuitry
US7330049B2 (en) * 2006-03-06 2008-02-12 Altera Corporation Adjustable transistor body bias generation circuitry with latch-up prevention
US7355437B2 (en) 2006-03-06 2008-04-08 Altera Corporation Latch-up prevention circuitry for integrated circuits with transistor body biasing
US7389485B1 (en) 2006-03-28 2008-06-17 Xilinx, Inc. Methods of routing low-power designs in programmable logic devices having heterogeneous routing architectures
US7463057B1 (en) 2006-03-29 2008-12-09 Altera Corporation Integrated circuits with adjustable memory element power supplies
JP4799255B2 (ja) * 2006-04-17 2011-10-26 パナソニック株式会社 半導体集積回路
JP2007311535A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd セル配置方法
US7466190B2 (en) * 2006-07-24 2008-12-16 Lattice Semiconductor Corporation Charge pump with four-well transistors
US20080180129A1 (en) * 2006-08-31 2008-07-31 Actel Corporation Fpga architecture with threshold voltage compensation and reduced leakage
JP2008263261A (ja) * 2007-04-10 2008-10-30 National Institute Of Advanced Industrial & Technology 再構成可能集積回路
US7675317B2 (en) * 2007-09-14 2010-03-09 Altera Corporation Integrated circuits with adjustable body bias and power supply circuitry
US7742325B2 (en) * 2007-12-17 2010-06-22 Suvolta, Inc. Swapped-body RAM architecture
JP5194805B2 (ja) 2008-01-08 2013-05-08 富士通セミコンダクター株式会社 半導体装置及びその製造方法
US8102187B2 (en) * 2008-05-02 2012-01-24 Texas Instruments Incorporated Localized calibration of programmable digital logic cells
US7952423B2 (en) * 2008-09-30 2011-05-31 Altera Corporation Process/design methodology to enable high performance logic and analog circuits using a single process
US8987868B1 (en) 2009-02-24 2015-03-24 Xilinx, Inc. Method and apparatus for programmable heterogeneous integration of stacked semiconductor die
US8072237B1 (en) 2009-06-04 2011-12-06 Altera Corporation Computer-aided design tools and memory element power supply circuitry for selectively overdriving circuit blocks
US7893712B1 (en) 2009-09-10 2011-02-22 Xilinx, Inc. Integrated circuit with a selectable interconnect circuit for low power or high performance operation
US9570974B2 (en) 2010-02-12 2017-02-14 Infineon Technologies Ag High-frequency switching circuit
EP2369622B1 (de) 2010-03-24 2015-10-14 STMicroelectronics Rousset SAS Verfahren und Vorrichtung für Gegenmassnahme gegenüber einem Angriff durch Fehlerinjektion in einem elektronischen Mikroschaltungskarte
US9015023B2 (en) 2010-05-05 2015-04-21 Xilinx, Inc. Device specific configuration of operating voltage
US8633731B1 (en) 2011-08-09 2014-01-21 Altera Corporation Programmable integrated circuit with thin-oxide passgates
US9287253B2 (en) 2011-11-04 2016-03-15 Synopsys, Inc. Method and apparatus for floating or applying voltage to a well of an integrated circuit
US9436250B1 (en) 2011-12-19 2016-09-06 Altera Corporation Apparatus for improving power consumption of communication circuitry and associated methods
US8896344B1 (en) 2013-01-04 2014-11-25 Altera Corporation Heterogeneous programmable device and configuration software adapted therefor
US9000490B2 (en) 2013-04-19 2015-04-07 Xilinx, Inc. Semiconductor package having IC dice and voltage tuners
US9735784B2 (en) 2013-09-30 2017-08-15 Hitachi, Ltd. Programmable logic device and logic integration tool
US9444460B1 (en) 2013-11-22 2016-09-13 Altera Corporation Integrated circuits with programmable overdrive capabilities
US9484919B1 (en) 2014-04-30 2016-11-01 Xilinx, Inc. Selection of logic paths for redundancy
US9275180B1 (en) 2014-07-14 2016-03-01 Xilinx, Inc. Programmable integrated circuit having different types of configuration memory
KR102101836B1 (ko) 2014-07-24 2020-04-17 삼성전자 주식회사 딜레이 셀 및 이를 적용하는 지연 동기 루프 회로와 위상 동기 루프 회로
US9628081B2 (en) * 2014-08-12 2017-04-18 Xilinx, Inc. Interconnect circuits having low threshold voltage P-channel transistors for a programmable integrated circuit
US9378326B2 (en) * 2014-09-09 2016-06-28 International Business Machines Corporation Critical region identification
US9621033B2 (en) * 2015-09-09 2017-04-11 Nxp Usa, Inc. Charge pump circuit for providing multiplied voltage
US10121534B1 (en) 2015-12-18 2018-11-06 Altera Corporation Integrated circuit with overdriven and underdriven pass gates
US10378967B1 (en) 2016-10-27 2019-08-13 Rambus Inc. Dual temperature band integrated circuit device
WO2023110423A1 (en) 2021-12-17 2023-06-22 RACYICS GmbH An adaptive body biasing system for silicon on insulator semiconductor devices and a production test method for testing single or multiple adaptive body bias generators

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US544198A (en) * 1895-08-06 Half to irvin w
JP3253389B2 (ja) * 1992-03-31 2002-02-04 株式会社東芝 半導体集積回路装置
US5461338A (en) * 1992-04-17 1995-10-24 Nec Corporation Semiconductor integrated circuit incorporated with substrate bias control circuit
KR0169157B1 (ko) * 1993-11-29 1999-02-01 기다오까 다까시 반도체 회로 및 mos-dram
US5487033A (en) * 1994-06-28 1996-01-23 Intel Corporation Structure and method for low current programming of flash EEPROMS
US5661685A (en) 1995-09-25 1997-08-26 Xilinx, Inc. Programmable logic device with configurable power supply
US6175952B1 (en) * 1997-05-27 2001-01-16 Altera Corporation Technique of fabricating integrated circuits having interfaces compatible with different operating voltage conditions
JPH1070243A (ja) * 1996-05-30 1998-03-10 Toshiba Corp 半導体集積回路装置およびその検査方法およびその検査装置
JPH1079193A (ja) * 1996-07-11 1998-03-24 Toshiba Microelectron Corp 半導体装置
US5880620A (en) 1997-04-22 1999-03-09 Xilinx, Inc. Pass gate circuit with body bias control
US5929695A (en) * 1997-06-02 1999-07-27 Stmicroelectronics, Inc. Integrated circuit having selective bias of transistors for low voltage and low standby current and related methods
JP3814385B2 (ja) * 1997-10-14 2006-08-30 株式会社ルネサステクノロジ 半導体集積回路装置
JP3777768B2 (ja) * 1997-12-26 2006-05-24 株式会社日立製作所 半導体集積回路装置およびセルライブラリを記憶した記憶媒体および半導体集積回路の設計方法
US6590419B1 (en) * 1999-10-12 2003-07-08 Altera Toronto Co. Heterogeneous interconnection architecture for programmable logic devices
US6369630B1 (en) * 1999-11-24 2002-04-09 Bae Systems Information And Electronic Systems Integration Inc. Single-event upset hardened reconfigurable bi-stable CMOS latch
JP2001203325A (ja) * 2000-01-19 2001-07-27 Hitachi Ltd 半導体集積回路装置とデジタル集積回路の設計方法
US6630838B1 (en) * 2001-01-23 2003-10-07 Xilinx, Inc. Method for implementing dynamic burn-in testing using static test signals

Also Published As

Publication number Publication date
DE60216485D1 (de) 2007-01-11
CA2459416C (en) 2010-04-06
CA2459416A1 (en) 2003-03-27
US20040216074A1 (en) 2004-10-28
US6777978B2 (en) 2004-08-17
EP1428155A2 (de) 2004-06-16
WO2003025804A3 (en) 2004-02-05
US6621325B2 (en) 2003-09-16
US20030053335A1 (en) 2003-03-20
WO2003025804A2 (en) 2003-03-27
US20040025135A1 (en) 2004-02-05
EP1428155B1 (de) 2006-11-29
US7089527B2 (en) 2006-08-08
JP2005503668A (ja) 2005-02-03

Similar Documents

Publication Publication Date Title
DE60216485T2 (de) Strukturen und verfahren zum selektiven anlegen einer muldenvorspannung an teile einer programmierbaren einrichtung
DE4404132C2 (de) Abschaltbare Vollausschlag-Pufferschaltung mit einer Isolierung bei mehrfacher Leistungsversorgung
DE69839067T2 (de) Regelwandlerschaltung und integrierte Halbleiterschaltung, in der diese verwendet wird
EP0006167B1 (de) Mehrwertiger FET-Festwertspeicher
DE60204189T2 (de) FPGA mit zumindest zwei unterschiedlichen und unabhängig konfigurierbaren Speicherstrukturen
DE19639629C2 (de) Programmierbare, monolithische, integrierte Logikschaltung und Verfahren zum Implementieren derselben
DE4326134B4 (de) Eingangswechseldetektorschaltung
DE2822219A1 (de) Integrierte logikschaltung
DE10235425A1 (de) Ausgangsschaltung
DE2731873A1 (de) Serien-festspeicher-struktur
DE3635761A1 (de) Programmierbares logikfeld mit dynamischer cmos-logik
DE10354501B4 (de) Logik-Schaltkreis-Anordnung
DE19622646A1 (de) Integrierte Halbleiterschaltungsvorrichtung
DE69726233T2 (de) Taktschema
DE102004056322B4 (de) Logik-Grundzelle und Logik-Grundzellen-Anordnung
DE60305103T2 (de) Ausgangstreiber mit Transistoren mit dünnen Gateoxid
DE19800578C2 (de) Pegelschieber
DE102013219267A1 (de) System und Verfahren für eine intergrierte Schaltung, die Transistorsegmente aufweist
DE2525690C3 (de) Logische DOT-Verknüpfungsschaltung in Komplementär-Feldeffekttransistor-Technik
DE2165160C2 (de) CMOS-Schaltung als exklusives ODER-Glied
DE102021210046A1 (de) Adaptive Vorspannung oder Spannungsregelung mit Schlupfsensoren
DE102004025581B4 (de) Logik-Grundzelle und Logik-Grundzellen-Anordnung
DE2552849B2 (de) Logische schaltung
DE602004008804T2 (de) Schaltungselement
DE19901185A1 (de) Differenzmodus-NAND/NOR-Gatter

Legal Events

Date Code Title Description
8364 No opposition during term of opposition