Erkennung von digitalen Schaltkreisen. Verallgemeinertes C-Element

Alexander Kushnerov
18.12.2013

Selbst ein erfahrener Ingenieur kann es manchmal schwierig finden, den Stromkreis so zu verlegen, dass die Leiterbahnen (oder DrĂ€hte) den ordnungsgemĂ€ĂŸen Betrieb nicht beeintrĂ€chtigen. In erster NĂ€herung beeinflussen das Layout und die Anzahl der Knoten, welche DrĂ€hte mit jedem Knoten verbunden sind, und die LĂ€nge der DrĂ€hte nach dem Verzweigen die QualitĂ€t der Verdrahtung. Wenn wir die LĂ€nge des Kabels als Verzögerung betrachten, hĂ€ngt der korrekte Betrieb von asynchronen Digitalschaltungen möglicherweise nicht von den Verzögerungen in einigen Kabeln ab. In Zukunft werden wir solche DrĂ€hte als sicher und die Verzweigung solcher DrĂ€hte als absolut sicher (FGP) bezeichnen. In diesem Artikel werden wir zeigen, wie eine Universalschaltung aus zwölf Transistoren einige Zweige völlig sicher machen kann.

Betrachten Sie das sogenannte Schmetterlingsschema [1], [2] in Abb. Diese Schaltung erzeugt disjunkte Impulse p und q, mit denen Leistungstransistoren gesteuert werden können. Puffer in Abb. 1 zeigt sichere DrĂ€hte an. Die Verzögerung aller anderen DrĂ€hte wird mit Null angenommen. Die Pause zwischen den Impulsen wird durch die Verzögerungen der Puffer wy und wz eingestellt. In Zukunft werden wir den Puffer nicht mehr verwenden, um die Verzögerung eines Elements anzuzeigen. DrĂ€hte und Abzweige in allen Schaltkreisen dieses Artikels wurden in Workcraft auf Sicherheit (AusgangsbestĂ€ndigkeit) getestet [3]. SignalĂŒbergangsgraphen (STGs) wurden von Schaltkreisen durch Auflösen von CSC-Konflikten erhalten. Die Abbildungen zeigen vereinfachte STGs, bei denen Puffersignale entfernt werden. Zeitdiagramm (TD) in Abb. 1 ist nach dem entsprechenden STG aufgebaut.


Abb. 1. Die "Butterfly" -Schaltung, ihre STG und TD unter der Annahme, dass die Verzögerungen in den DrÀhten Null sind.

Aus der Theorie [1], [2] ist bekannt, dass die Schaltung des RS-Triggers empfindlich auf Verzögerungen in den DrĂ€hten bei der Querkopplung reagiert. Aus diesem Grund sind die Puffer in den Querverbindungen in Abb. 1 fehlt. Somit mĂŒssen die beiden Auslöseelemente einen Mindestabstand voneinander haben. Wenn dies schwierig ist, können zwei Elemente durch ein komplexes Element mit RĂŒckmeldung ersetzt werden. Zum Beispiel können die Elemente x und xb in der Schmetterlingsschaltung ersetzt werden, wie in Fig. 4 gezeigt. 2. Außerdem erhalten wir FGP am Ausgang eines komplexen Elements.


Abb. 2. Eine Variante der Schaltung in Abb. 1 und seine STG unter der Annahme, dass die Verzögerungen in den DrÀhten Null sind.

Die Implementierung der Schemata in Abb. 1 und Fig. 2 erfordert 16 bzw. 20 Transistoren. ZusĂ€tzlich zeigt das Diagramm in Abb. 2 ist langsamer, da die Inverter wb1, wb2 und der Inverter innerhalb des Elements 2 zweimal pro Zyklus ODER-UND schalten mĂŒssen. Langsame Leistung ist normalerweise der Preis von FGP. Es gibt jedoch Ausnahmen von dieser Regel. Zum Beispiel in Abb. 3 zeigt ein Schema eines asynchronen ZĂ€hltriggers (AST) [4], der zwei FGPs aufweist.


Abb. 3. AST und sein STG unter der Annahme, dass die Verzögerungen in den DrÀhten Null sind.

Die Nachteile der Schaltung in Abb. 3 sind eine große Anzahl von DrĂ€hten und die Tatsache, dass sich die meisten von ihnen kreuzen. Dies kann das Layout erschweren, insbesondere wenn die Anzahl der Ebenen mit Spuren begrenzt ist oder sie von anderen Verbindungen belegt werden. Daher mĂŒssen Sie nach einem Kompromiss zwischen der Anzahl der DrĂ€hte, der Anzahl der Transistoren und der Anzahl der FGP suchen. Ein Beispiel fĂŒr ein solches Kompromissschema mit einem FGP ist der in Abb. 4. Dies ist eine kleine Modifikation der Schaltung aus [5]. Beachten Sie, dass hier, wie im Diagramm in Abb. 2 wird eine gemischte Basis verwendet. Um diesen AST ohne Indikator (XOR auf wi2, wi4 und g5) zu implementieren, werden 26 Transistoren benötigt. Dies sind nur zwei Transistoren mehr als der AST in Abb. 3.


Abb. 4. Kompromittieren Sie AST und seinen STG, wenn die Verzögerungen in den DrÀhten Null sind.

Beachten Sie, dass alle Elemente mit RĂŒckmeldung in Abb. 2 und Abb. 4 sind SpezialfĂ€lle eines generalisierten C-Elements (gC). Es ist gegeben als: y=S(x)+y overlineR(x)wo S(x)und R(x)ErfĂŒllen Installations- und RĂŒcksetzfunktionen die Bedingung? S(x)R(x)=0. SonderfĂ€lle des gC-Elements sind auch NCL-Elemente, die in Schemata zur Datenverarbeitung verwendet werden. Beachten Sie, dass das grĂ¶ĂŸte NCL-Element vier EingĂ€nge hat und auf 28 Transistoren implementiert ist [7]. Dies kann durch die Tatsache erklĂ€rt werden, dass bei einer grĂ¶ĂŸeren Anzahl von Transistoren die DrĂ€hte relativ lang werden und die Verzögerung in ihnen den Betrieb des Elements zu beeinflussen beginnt.

Betrachten Sie die in Abb. 5. Es implementiert die Funktion von fĂŒnf Variablen [8], [9] f(x)=x1x3+x2x4+x5(x1x4+x2x3). Tabelle 1 zeigt die Funktionen SDNF und SKNF f(x)und seine Doppelfunktion φ(x)= overlinef( overlinex). Aus dieser Tabelle ist ersichtlich, dass durch Vertauschen x2und x3in f(x)wir bekommen φ(x)umgekehrt. FĂŒr den Fall x2=x3=yerhalten wir eine Self-Dual-Funktion f(x,y)= overlinef( overlinex, overliney)=x1x4x5+y(x1+x4+x5).


Abb. 5. Ein Schema, das die Funktion von fĂŒnf Variablen implementiert.

Tabelle 1. Formen logischer Funktionen fĂŒr die Schaltung in Abb. 5.


Beachten Sie das x2=x3=ybedeutet, dass die entsprechenden vier Transistoren gleichzeitig geschaltet werden mĂŒssen. Selbst wenn die DrĂ€hte nach dem Verzweigen y die gleiche Verzögerung haben, reicht dies nicht aus, da das Schaltmoment des Transistors durch die Spannung an seinem Gate bestimmt wird. Unter diesem Gesichtspunkt ist die Analyse der Schaltung in Fig. 5 wurde in [10] gemacht. Diese Analyse ist jedoch nicht vollstĂ€ndig, da nur die Implementierung eines C-Elements mit zwei EingĂ€ngen in Betracht gezogen wurde. Um eine vollstĂ€ndige Analyse durchfĂŒhren zu können, mĂŒssen Sie zunĂ€chst alle Optionen zum Kombinieren von Eingaben oder formal alle Funktionen einer kleineren Anzahl von Variablen finden, die abgerufen werden können f(x). Eine solche Suche wurde in etwas vereinfachter Form durchgefĂŒhrt und die Ergebnisse sind im Anhang aufgefĂŒhrt. Die meisten Funktionen gibt es in verschiedenen Varianten. Aus ihnen mĂŒssen diejenigen ausgewĂ€hlt werden, die wettbewerbsfreie Regelungen vorsehen [11]. Alle erhaltenen Funktionen, die Anzahl ihrer Varianten und die Nummer der entsprechenden Tabelle im Anhang sind in Tabelle 2 angegeben. Die mit einem Sternchen versehenen Nummern bezeichnen Doppelfunktionen.

Tabelle 2. Die von der Schaltung in Abb. 5.


Die Funktionen 2 und 2 *, 5 und 5 *, 7 und 7 * sind selbstverdoppelt, und die Funktion 4 kann durch Vertauschen von a und c aus der Funktion 4 * erhalten werden. Beachten Sie, dass zusĂ€tzlich zu Funktion 6 * alle anderen Funktionen Schwellenwerte sind. Dies kann durch die Tatsache erklĂ€rt werden, dass f(x)ist isotonisch (positive Einheit) und die Tatsache, dass fĂŒr vier oder weniger Variablen die isotonischen Funktionen mit der Pseudoschwelle ĂŒbereinstimmen [12]. Die Frage, welche Optionen fĂŒr die Funktionen 1 *, 3 * und 6 * in diesem Artikel zur VerfĂŒgung stehen, bleibt offen.

Betrachten Sie als Beispiel den Fall der Funktionen 2 und 2 *. GemĂ€ĂŸ einer der Optionen (Tabelle P3 im Anhang) x1=x4=aund x2=x3=b. Lass den Weg raus yvom eingang getrennt x5und das Signal vom Wechselrichtereingang entfernen lassen. Auf diese Weise können Sie einen in Abb. 6. Die Elemente in dieser Zelle sind unterschiedlich, aber aufgrund der Tatsache, dass die Eingaben kombiniert sind, implementieren beide dieselbe Self-Dual-Funktion. Es ist zu beachten, dass die vernetzten Elemente in den Schaltkreisen in Abb. 1, in Abb. 3 und in Abb. 6 sind SpezialfĂ€lle der Grundkonstruktion fĂŒr die perfekte Umsetzung [2]. Es muss also Regeln geben, um grundlegende Entwurfsschaltungen in gC-Elementschaltungen umzuwandeln und umgekehrt.


Abb. 6. Verteiler fĂŒr Zellförderer.

Aus technologischer Sicht sollten Transistoren auf Polysiliciumbussen "aufgereiht" werden. Eine solche Implementierung der Schaltung in Fig. 5 ist in [14] angegeben. Zur Einstellung der AusgangszustÀnde können p-MOS- und n-MOS-Transistoren verwendet werden, die im Wechselrichter einen Spannungsteiler mit Transistoren erzeugen. Die Störfestigkeit von Stromkreisen kann mit Hilfe bestimmter STG-Transformationen erhöht werden [15].

Danksagung


Die Autorin dankt Svetlana Frolova (OmSU) fĂŒr das Scannen des Artikels [1] und Sergey Bystrov fĂŒr die Inspiration.

App


MuPAD wurde verwendet, um die in diesem Abschnitt dargestellten Ergebnisse zu erhalten. Lassen Sie den Ausgang y nur mit einem der EingĂ€nge verbunden sein. Tabelle A1 zeigt dies in diesem Fall S(x)R(x)≠0. Um Funktionen fĂŒr welche zu bekommen S(x)R(x)=0können Sie entweder einige Variablen kombinieren oder ihnen Konstanten zuweisen. Die Funktionen fĂŒr den Fall der Kombination zweier Variablen sind in Tabelle A2 angegeben. Andere Möglichkeiten gibt es nicht S(x)R(x)=0. Da die ersten vier Funktionen in Tabelle A1 bis zu einer Permutation der Variablen zusammenfallen, betrachten wir nur die erste und die fĂŒnfte. FĂ€lle y=y(∀)und y=(∀)+ynicht interessant, da wir im ersten Fall nur das gC-Element zurĂŒcksetzen können, aber es nicht installieren können, und im zweiten Fall - umgekehrt. Die Manipulationen mit den Variablen ermöglichten es, die Funktionen von vier und drei Variablen, die in Tabelle P3 bzw. Tabelle P4 angegeben sind, aus der Tabelle P1 zu erhalten.

Tabelle A1. Funktionen von fĂŒnf Variablen.


Tabelle A2. Funktionen von vier Variablen.


Tabelle P3. Funktionen von vier Variablen aus Tabelle A1.


Tisch A4. Die Funktionen der drei Variablen ergeben sich aus Tabelle A1.


Literatur


[1] V. I. Varshavsky, M. A. Kishinev, A. R. Taubin und B. S. Zirlin, „Analysis of asynchronous logic circuit. II. Erreichbarkeit von BetriebszustĂ€nden und die Auswirkung von Verzögerungen bei DrĂ€hten “, so Izv. Akademie der Wissenschaften der UdSSR. Technische Kybernetik, nein. 4, pp. 84-97, 1982.
[2] Varshavsky, V. I. (Hrsg.), Automatic Control of Asynchronous Processes in Computern und diskreten Systemen, Nauka, 1986.
[3] workcraft.org .
[4] RC Todd, "Logiksystem". Patent US3609569, 28. September 1971.
[5] EA Vittoz, „Frequenzteilungslogikstruktur“. Patent US3829714, 13. August 1974.
[6] J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno und A. Yakovlev, Logiksynthese fĂŒr asynchrone Steuerungen und Schnittstellen, Springer, 2002.
[7] A. Kondratyev, „Asynchroner Fluss mit mehreren Schienen und Abschlusserkennung sowie System und Verfahren zu dessen Entwurf“. Patent US6526542, 25. Februar 2003.
[8] JJ Gibson, "Logikschaltungen, die Feldeffekttransistoren verwenden." Patent US3439185, 15. April 1969.
[9] R. Miller, Theorie der Schaltkreise. Band I. Kombinationsschemata, Wissenschaft, 1970.
[10] K. van Berkel, "Vorsicht vor der isochronen Gabel", Integration, vol. 13, nein. 2, pp. 103-128, 1992.
[11] P. Kudva, G. Gopalakrishnan, H. Jacobson und SM Nowick, "Synthese von gefahrlosen kundenspezifischen CMOS-Komplex-Gate-Netzwerken unter MehrfacheingangsÀnderungen", in Design Automation Conf., 1996.
[12] GW Fagerlin, AufzĂ€hlung von pseudotrennbaren Funktionen von fĂŒnf Variablen. M.Sc. Diplomarbeit, UniversitĂ€t von Illinois, 1968.
[13] V. I. Varshavsky, A. Yu. Kondratiev, N. M. Kravchenko und B. S. Tsirlin, „Asynchroner Verteiler“. Patent SU1598142, 07/10 1990.
[14] SW Cheng, "H-Tree CMOS Logic Circuit" in IEEE Conf. ĂŒber Elektronik, Schaltungen und Systeme, 2008.
[15] A. Taubin, A. Kondratyev, J. Cortadella und L. Lavagno, "Verhaltenstransformationen zur Erhöhung der Störfestigkeit in asynchronen Spezifikationen", in IEEE Symp. auf Async. Schaltungen und Systeme, 1999.

Source: https://habr.com/ru/post/de481048/


All Articles