Sie befinden sich hier: Termine » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 3 » Einführung in die digitale ASIC Entwicklung   (Übersicht)

Einführung in die digitale ASIC Entwicklung

Prüfer: Marc Reichenbach
Beisitzer: Johannes Knödtel
Datum: 26.03.2021

Allgemeines

Grundsätzlich ist bei Marc die Stimmung ganz angenehm. Man kann durchaus mal nen Moment länger für ein Thema brauchen solange das nicht zur Regel wird. Falls man mal nicht ganz in die richtige Richtung mit der Antwort geht, hilft einem Marc manchmal nach.

Das Ergebnis war bei mir am Ende eine 1.3 und in meine Fall vermutlich etwas entgegenkommend. Dazu sollte ich anmerken, dass Marc durchaus Wert darauf legt, dass man seine Sachen weiß und diese auch benennen kann (das meine ich wortwörtlich). Ich persönlich bin sonst eher der Typus, der viel auf Kontextwissen legt und ich beim Aufzählen von Dingen etwas auf dem Schlauch stehe. Marc verlangt sowas zwar nicht viel, aber wenn dann sollte man es können. Ich würde auch behaupten, dass Fragen manchmal nicht so ganz klar gestellt wurden und ich nicht immer nachvollziehen konnte, worauf es hinauslaufen würde (obwohl mir die Themen grundsätzlich eigentlich bekannt waren).

Nachdem ich nochmal drüber nachgedacht habe, gabs es glaub ich auch keine Fragen, die direkten Bezug zur Übung hatten (außer lustigerweise die eine zur CPU-Entwurf Übung).

Stattgefunden hat das ganze über Zoom. Wenn ihr den Zoom Client unter Linux verwendet, verwendet einenen Compositor (z.B. compton), sonst funktioniert aufgrund von Transparenz das Whiteboard nicht richtig!

Prüfungsablauf

Was ist ein ASIC?

  • Application Specific Integrated Circuit
  • Integrieren statt diskretes Transistor Design weil kleiner, weniger Strom, Produktion skaliert besser, schnellerer Takt
  • Beim letzten war ich zu doof ohne einen leichten Schubser draufzukommen obwohls eigentlich offensichtlich sein sollte /o\

Was ist schwierig an ASICs?

  • Aufwendiger zu entwickeln als FPGA Design
  • Hier hats irgendwie vom Thema einen mMn unoffensichtlichen Sprung zum Thema Leckströme gegeben. Ich dachte ursprünglich dass es hier ums RTL-Design geht und nicht umnittelbar um Physik
  • Leckströme, Electron Migration, nicht ideale Transistoren
  • Gate-Source Leakage, Drain-Source, Junction-Leakage
  • Crosstalk, Störungen

Wie ist ein N-Channel MOSFET aufgebaut?

  • Ich male die klassiche Zeichnung aus der VL auf
  • Übliche Erklärung
  • Wenn Vds erhöht wird, ist irgendwann der Kanal gesättigt (will man mehr Strom muss Vgs entsprechend erhöht werden)
  • Kurve Ids in Abhängigkeit von Vds gemalt (siehe VL)
  • Nicht ideale Effekt kurz erwähnt
  • Ebenso nochmal die Kurve für sqrt(I) in Abhängigkeit von Vgs (siehe VL)
  • Mehr Temperatur lässt diese Kurve abflachen
  • Bei der Frage „warum“ musste ich ein bisschen überlegen und Marc hat mich etwas in die richtige Richtung geleitet.
  • Höhere Temperatur → Elektronen bewegen sich schneller senkt Threshold und erhöht Widerstand
  • Daran konnte ich mich aus der VL jetzt nicht erinnern, allerdings fehlt mir aktuell auch die Motivation nochmal in die Aufzeichnung zu schauen.
  • Schaltung wird dadurch langsamer weil Transistoren schließen (an steigende sub-threshold-leakage konnte ich mich jetzt auch nicht aus der VL erinnern) und öffnen nicht mehr so sauber

Wahlthema (Synthese)

  • Was sind Constraints? Angaben für mein Tool, dass bestimmte Parameter einzuhalten sind und der Chip am Ende funktioniert.
  • Hier hab ich erstmal nur von Timing Constraints erzählt, da das auch das einzige war, was wir in der Übung gemacht hatten. Gemeint waren aber wohl Constraints im Allgemeinen (feste durch Technologie, variable wie Timing, Temperatur, Power, etc.)
  • An der Stelle fand ichs auch ein bisschen „fies“ dass Marc nach den Namen gefragt hat, was halt einfach 2 Begriffe auf einer von hunderten Folien sind… naja, hat mich nicht überrascht, hatte ich aber leider befürchtet dass solche Fragen mal kommen.
  • EDIT: Habs grade nochmal nachgeguckt, wäre wohl „Design Rule Constraints“ und „Optimization Constraints“ gewesen.
  • Wir haben ein Design und ne Setup Violation, was tun (mit und ohne Constraints)?
  • Man kann Takt verringern (war zu trivial), man kann z.B. Clock Jitter oder Transition Time verringern mit besserem Oszillator
  • Man kann kritische Pfade im Design kürzen (Pipelining)

Low Power

  • Wie ist denn Pdynamic definiert?
  • Pstatic war nicht gefragt, vermutlich weil wirs vorher schon so ein bisschen hatten
  • Pdynamic = Pswitching + Pshortcircuit
  • Pswitching = alpha * C * Vdd² * fsys
  • Was ist das einfachste um Leistung zu reduzieren? Spannung senken.
  • Warum ist die Leistung in der praxis nicht weniger geworden?
  • Auch hier stand ich mal wieder aufm Schlauch, weil ich zuerst dran gedacht hab, dass halt die Designs komplexer und größer geworden sind.
  • Takt wurde erhöht.
  • Spannung kann nicht beliebig verringert werden, weil Transistor nicht mehr richtig schaltet (Rauschen und Threshold)
  • Wenn man die ALU aus CPU-Design in sparsam bauen möchte, nimmt man Daten- oder Clock Gating? Oder beides?
  • Nur Daten Gating, weil Logik der ALU erstmal rein kombinatorisch und ohne Takt. Man baut Latches ein damit Logik nicht unnötig rechnen muss.
  • Wofür gibts dann Clock Gating?
  • Flip Flops, macht das Tool automatisch. Flip Flops brauchen auch noch Leistung obwohl Daten gleich bleiben.
  • Warum nicht den Strom abschalten?
  • Langsam, Powernetz müsste ent- und aufgeladen werden.
  • Auch hier hab ich mich von Marc etwas auf den nächsten Punkt leiten lassen.
  • Inhalt der Flip Flips geht verloren, müssen neu initialisiert werden.