Verhalten des "realen IC"
Vor Beginn des Praktikums ist ein Kolloquium vorgesehen. In Vorbereitung dafür sind die Studienfragen und Hausaufgaben zu lösen. Ebenso ist der Aufbau sämtlicher Schaltungen des Aufgabenteils vorzubereiten! Für ein Bestehen des Kolloquiums ist das Wissen und Verständnis über Schaltungstechniken, wie es in der Vorlesung "Hochintegrierte Systeme 1 und 2" vermittelt wird, notwendig. Nach erfolgreicher Durchführung ist ein Versuchsprotokoll anzufertigen, wobei zu jedem Versuch die Transistorschaltungen dargestellt werden sollen (Abbild der LTSpice Schaltungen). Nach Fertigstellung des Protokolls erfolgt eine Diskussion über die gewonnenen Erkenntnisse.
1. Versuchsziel
Dieser Versuch soll ein Gefühl dafür geben, welche chip-internen Einflüsse die Funktion einer Schaltung verändern und beeinträchtigen können. Es wird das Simulationsprogramm LTSpice verwendet, wodurch gleichzeitig Erfahrungen mit Simulatoren gesammelt und deren Grenzen kennen gelernt werden können. Grundlegende parasitäre Einflüsse und nichtideale Verhaltensweisen der Transistoren sollen untersucht werden. Weiterhin wird das Verständnis für den Designablauf in den Designschritten nach der Logiksynthese vertieft.
2. Grundlagen
Bei der Realisierung einer Schaltung auf einem Chip sind viele Freiheitsgrade gegeben. Ist es nicht sinnvoll oder möglich ein FPGA zu verwenden, muß ein kompletter Chip entworfen werden und es kommen nach der Erstellung der Gatterliste weitere Gesichtspunkte auf den Designer zu. Dabei stehen z.B. Entscheidungen über die Art des Layouts (Standardzellen-Layout, Full-Custom-Layout usw.) und über die Wahl der Schaltungstechnik an.
Parasitäre Effekte auf dem Chip beeinflussen die Eigenschaften der realisierten Schaltung stark. Dabei werden z.B. Geschwindigkeit und Stromverbrauch von den jeweiligen Kapazitäten stark beeinflußt. Eine Dimensionierung der einzelnen Gatter wird somit notwendig.
Durch die Simulation von kleinen Schaltungen mit LTSpice, wobei die Ergebnisse sehr gut denen der Realität entsprechen, sollen Erfahrungen über den Einfluß der verschiedenen Effekte gesammelt werden. Der Umgang mit dem Simulator soll zeigen, welche Möglichkeiten aber auch Probleme bei der Verifikation auf der Schaltungstechnikebene bestehen.
3. Vorbereitung
Zur Vorbereitung sollten Grundlagen in den Gebieten der Schaltungstechnik (statische und dynamische Logiken) und des VLSI-Entwurfs erarbeitet werden. Für die Versuchsdurchführung sind Kenntnisse über Flipflops und Zähler notwendig. Für die Erarbeitung dieses Wissens sind neben den Vorlesungsscripten und sämtlichen VLSI-Grundlagenbüchern die folgenden Webseiten nützlich.
3.1. Grundlagen der statischen und dynamischen Schaltungstechnik, sowie des VLSI-Entwurfs
Versuche 1-7 des VLSI-Praktikums des FB Informatik der Universität Hamburg, aber auch die anderen Praktika.
http://tams-www.informatik.uni-hamburg.de/lectures/2012ss/praktikum/vlsi/index.php?content=01-unterlagen
3.2. Entwurf von Zählern - Hilfreiche Links
4. Studienfragen
- 4.1. Geben Sie einen Überblick über Schaltungstechnikarten, ordnen Sie diese nach verschiedenen Gesichtspunkten ein (z.B. Anzahl der Takte, dynamisch/statisch, differentielle Logiken).
- 4.2. Erläutern Sie die Definition der Logikpegel. Definieren Sie die Begriffe Hold- und Setup-Time an Registern.
- 4.3. Erläutern Sie am Beispiel eines Inverters den Zusammenhang von Transistorgröße, Geschwindigkeit und Verlustleistung. Wie dimensioniert man die Transistoren für ein Gatter?
- 4.4. Welche Faktoren bestimmen die maximale Schaltgeschwindigkeit eines Gatters in einer Schaltung? Welche Möglichkeiten gibt es, diese zu beeinflussen?
- 4.5. Wo würden Sie ansetzen, um die benötigte Chip-Fläche einer Schaltung zu reduzieren?
- 4.6. Welche Möglichkeiten sehen Sie zur Verringerung der Verlustleistung eines IC's? Wo sehen Sie Ansatzpunkte, um bereits bei der Schaltungsbeschreibung positiv auf die Höhe der Leistungsaufnahme der fertigen Schaltung einzuwirken?
- 4.7. Worin besteht der Unterschied zwischen einem Standardzellen-Layout, einem Gate-Array-Layout und einem Full-Custom-Layout? Treffen Sie eine Abschätzung bezüglich des Entwicklungs- und Herstellungsaufwandes und nennen Sie mögliche Einsatzgebiete.
5. Aufgaben
Vor Beginn des Praktikums ist ein Kolloquium vorgesehen. In Vorbereitung dafür sind die Studienfragen und Hausaufgaben zu lösen. Ebenso ist der Aufbau sämtlicher Schaltungen des Aufgabenteils vorzubereiten! Für ein Bestehen des Kolloquiums ist das Wissen und Verständnis über Schaltungstechniken, wie es in der Vorlesung "Hochintegrierte Systeme" vermittelt wird, notwendig. Nach erfolgreicher Durchführung ist ein Versuchsprotokoll anzufertigen, wobei zu jedem Versuch die Transistorschaltungen dargestellt werden sollen (Abbild der LTSpice Schaltungen).
Holen Sie zur Vorbereitung einige grundlegende Informationen über LTSpice ein.
5.1. Hausaufgaben (schriftlich)
- 5.1.1. Zeichnen Sie die Transistorschaltung eines CMOS-Inverters. Geben Sie ein mögliches Layout einer Inverter-Zelle an. Welche parasitären Elemente und Einflüsse können Sie in diesem Layout benennen?
- 5.1.2. Simulieren Sie die Übertragungskennlinie einer Inverterschaltung und beschäftigen Sie sich mit der Simulationsumgebung (Fragen können dann während des Kolloquiums gestellt werden). Es wird das Programm LTSpice unter Windows verwendet. Folgt den Schritten Link , um einen Einblick in LTSpice zu erhalten und einen Inverter zu bauen. Wir nutzen ein eigenes Simulationsmodell der Transistoren. Wer die Hausaufgabe zuhause machen will, muss die Definition der Transistoren aus dem Tutorial ergänzen. Hierzu muss die Datei standard.mos im Pfad <$Pfad\LTSPICE\lib\cmp\> ausgetauscht werden.
- 5.1.3. Zeichnen Sie die Transistorschaltungen für ein NAND-Gatter und ein CMOS-D-Flipflop, welches ausschließlich aus NAND-Gattern besteht. Beachten Sie außerdem, dass das D-Flipflop kein Latch sein darf, da dieses nicht flankengesteuert wäre.
- 5.1.4. Zeichnen Sie die Schaltung eines asynchronen und eines synchronen 4 Bit Zählers. Verwenden Sie obige D-Flipflops und einfache logische Funktionen. Ist eine Untergliederung in T-Flipflops sinnvoll?
- 5.1.5. Durchdenken Sie die Versuchsaufgaben und bereiten Sie sich auf die Durchführung vor. Zeichnen sie die in den Versuchsaufgaben benötigten Schaltungen.
5.2. Versuchsaufgaben
Nach Fertigstellung des Protokolls erfolgt eine Diskussion über die gewonnenen Erkenntnisse.
5.2.1 Grundlegende Simulationen
- Bestimmen Sie durch Simulation die statische und die dynamische (bei einer Frequenz von 10, 100, 1000 MHz) Stromaufnahme des in der Hausaufgabe verwendeten LTSpice Invertermodels (bei einer Last von 1fF). Bestimmen Sie diese Werte ebenfalls unter veränderten Lastbedingungen (von 1fF bis 25fF). Skizzieren Sie die Abhängigkeiten in einem Diagramm.
- Untersuchen Sie die Möglichkeiten, die Geschwindigkeit des Inverters durch Veränderung der Transistorgrößen bei verschiedenen Lasten zu erhöhen (1, 10, 25fF). Skizzieren Sie die Abhängigkeiten in einem Diagramm. Wie groß wählen Sie die Transistoren, um jeweils eine maximale Frequenz von 5 GHz zu erreichen?
- Untersuchen Sie den Einfluß der Transistorgrößen und der Last auf den Stromverbrauch. Bestimmen Sie einige Simulationswerte und tragen Sie diese in eine Tabelle ein.
- Vergleichen Sie die Ergebnisse mit der Theorie.
5.2.2. Dynamische Logik
- Verändern Sie den gegebenen Inverteraufbau, um einen dynamischen Knoten zu simulieren (Dynamischer Knoten: Aufladen eines Knotens auf Vdd, dann in der "Luft" hängen lassen - weder Verbindung zu Vdd noch zur Masse). Zeichnen Sie die Schaltung! Bestimmen Sie die maximale Zeit, nach der der Knoten wieder aufgeladen werden muß, um sein Potential von High zu behalten. Betrachten Sie diesen Parameter in Bezug auf die Stromaufnahme und auf die Transistorgröße.
- Simulieren sie das Verhalten zweier hintereinander geschalteter dynamische Inverter. Belegen sie dabei den Ausgang jedes Inverters mit 1 fF. Welches Verhalten ist wann zu beobachten?
5.2.3. Flipflop
- Entwickeln Sie ein einfaches CMOS-D-Flipflop (nur aus NAND-Gattern bestehend). Untersuchen Sie die Verhaltensweise. Bestimmen Sie die Vergleichsgrößen (Stromaufnahme in A/MHz, Grenzfrequenz).
- Modifizieren Sie das D-Flipflop zu einem T-Flipflops.
- Realisieren Sie das T-Flipflop als "Subcircuit" mit eigenem Symbol (wie den Inverter in der Hausaufgabe), in der nur 2-fach NAND- und Inverter-Gatter genutzt werden.
- Entwickeln Sie einen zusätzlichen Eingang für eine Freischaltung des T-Flipflops (bei gesetztem Eingang: normales T-Flipflop; sonst: keine Veränderung des Ausgangs). Zur Realisierung sollen zusätzlich 3-fach NAND-Gatter verwendet werden.
- Wie haben sich die Vergleichsgrößen verändert? Vergleichen Sie mit der Theorie.
5.2.4. Zähler
- Bauen Sie aus den entwickelten Komponenten jeweils einen asynchronen und einen synchronen 4-Bit Binärzähler in statisch CMOS auf. Bestimmen und vergleichen Sie die Kenngrößen (Stromaufnahme in A/MHz, Grenzfrequenz).
- Belegen Sie die internen Leitungen mit unterschiedlichen Kapazitäten und vergleichen Sie die Kennwerte der Zähler.
- Verändern Sie die Versorgungsspannung schrittweise und vergleichen Sie die Kennwerte der Zähler.
6. Literatur
- Vorlesungs- und Seminarunterlagen: Hochintegrierte Systeme Universität Rostock
- Vorlesungs- und Seminarunterlagen: Digitale Systeme Universität Rostock
- Tietze/Schenk. Halbleiter-Schaltungstechnik. 10.te Auflage, Springer
- Versuche 1-7 des VLSI-Praktikums des FB Informatik der Universität Hamburg
- LTSpice Homepage
- Kurze Einführung in LTSpice
- Erstellung hierarchischer Blöcke in LTSpice
- Open Source License für 45nm Technologie-Bibliothek
- PSpice User Forum