Rekonfigurierbare Prozessoren

Allgemeines

25.10.2005

  • Prozessoren fallen hinter Speicher zurück → Regularität
  • Designprobleme → Entwurf so komplexer Systeme nicht möglich trotz möglicher Fertigung

1.11.2005

Folie 1-11:

  • Hardware/Software Partitionierung: Abschaetzung HW/SW Implementierung hinsichtlich Ausfuehrungszeit,… ⇒ sehr schwierig, man muss im Vorfeld schaetzen um Aussagen treffen zu koennen
  • Softwareentwurf: z.B. auch Codegenerierung aus UML
  • generell Generierung aus hoeherleveligen Spezifikationen
  • HW-Entwurf: Ableitung einer Struktur, hoeherleveliger
  • synthesegestuetzter Ansatz geht zunehmend auch in Softwareentwicklung ueber
  • Treiber: Software, Interface: Hardware, Software ↔ Treiber ↔ Interface ↔ Hardware
  • hohe Stueckkosten wenn keine Standardplattform nutzbar
  • zwei Sorten von Kosten: Entwicklulngskosten (unabhaengig von Anzahl der Systeme), Stueckkosten (Fertigungskosten)
  • Umlage aller Kosten auf Gesamtkosten

Folie 1-12:

  • IP-Produkte = Bausteine (HW, SW, Mischung): Ermoeglicht Minderung des Entwicklungsaufwands durch Nutzung von fertigen Teilloesungen
  • Immer Abwaegen noetig: Leistungsfaehigkeit ↔ Flexibilitaet

Folie 1-13:

  • Nur Standard ICs: Kein Kontakt zum Halbleiterhersteller, nur Dokumentation
  • Eingeschraenkter Entwurfsraum, niedrige Integrationsdichte (da wenige Funktionen je IC)

Folie 1-14:

  • Schaltungsentwurf via CAE System
  • Systementwickler macht Netzliste, Ueberfuehrung in Hardware durch Halbleiterhersteller
  • haeufig: Spezialisierung auf Entwurf, aber keine eigene Fertigung ⇒ Design an Chiphersteller, fertige Chips zurueck

Folie 1-15:

  • uneinheitlich da organische Entwicklung

Folie 1-16:

  • Speicher/Mikro/Signal-Prozessoren, “Katalogmodule”: SoC
  • Anwendungsspezifische: Semicustom (Kundenwunsch, Nutzung von fertigen Teilloesungen), Fullcustom (Abwaegung, im Zweifelsfall komplette Neuentwicklung)
  • Entwicklungen auf Kundenwunsch → oft daraus resultierendes neues Standardprodukt
  • ASICs: Auch semicustom
  • entweder vollstaendig optimiert (z.B. Prozessorentwurf) oder Netzung von Standard/Makrozellen
  • FPD ↔ Structured ASICs (neu) ↔ ASICs
  • FPGA: Besondere Bedeutung (Vorlesungsschwerpunkt)
  • Grundlage fuer SoC

Folie 1-18

  • Designflow → Entwurfsablauf
  • Syntheseverfahren: Auch geometrische Repraesentation der Schaltung
  • Trend zu SoC

Folie 1-20:

  • Einsatz je nach Eignung
  • gegeben Performanzanforderung und Flusstyp: Loesungstyp
  • Performanz haengt stets auch von Anwendungsgebiet ab (Domaenenspezifisch)
  • Ueberlappung? Kosten checken, Kosten/Nutzen abschaetzen!
  • Folie 1-20 → wichtig
  • Performanzeinbruch (Kontroll/Datenfluss optimierte Algorithmen) → Data Flow Architecture, System on a chip
  • DFA = FPGA mit groberer Granularitaet

Folie 2-2:

  • zwei Teile: Logical Design, Physical Design
  • Drei Domaenen: Verhalten, Struktur, Geometrie
  • Schwerpunkt fuer uns: Logical Design
  • Bsp: Algorithmus in C → Sprachbeschreibung lesbar fuer Synthesewerkzeug (VHDL, Verilog, SystemC) → Schaltung durch Logiksynthese → Systempartitionierung
  • immer: Simulation zur Validierung des Designs
  • Dann: Floorplanning (Aufteilung Chipflaeche in Funktionsbereiche) → Placement (Anordnung) → Routing (Verbindung der Komponenten)
  • Leitungen verzoegern, darum “circuit extraction”
  • Signalmissbildung, negative Beeinflussung der Signale, dadurch Beeinflussung der gesamten Schaltung (z.B. Gatter)
  • Abhaengigkeit des Verzoegerungsverhaltens von Signalform (non-lineares Verhalten, *brrrr*)

Folie 2-3:

  • Schaltbild-Editor: Schaltungen heute idR zu komplex
  • Prelayout Simulation ohne Beruecksichtigung von negativen Leitungseigenschaften, da Floorplan noch unbekannt
  • Extraction: Abbildung auf elektrisches Modell (Ersatzschaltung) zur Abschätzung der Verzögerungen usw.
  • Näherung: Nach Möglichkeit nicht mehr als 5-10% Abweichung
  • Problem: Extraktionsverfahren muss schneller sein als Lösung der Differentialgleichung
  • Post-Layout dann möglich → Verzögerungselemente hinzufügen → Systemtakt, Hazards
  • Möglicherweise daraus folgende iterative Optimierung bzw. Redesign

Folie 2-5:

  • “Do what I want” Knopf fehlt noch ;-)
  • Übersprechen einer Leitung auf eine andere → Problem → Ursache = elektromagnetische Eigenschaften der Übertragung

Folie 2-6:

  • Drei Syntheseschritte → Drei Synthesesysteme wäre ideal, geht aber so nicht
  • arbeiten möglicherweise nicht korrekt (sehr komplexe Softwarepakete)
  • Verifikation Syntheseergebnis (vor Transformation ↔ nach Transformation)
  • Methode von Simulation und Vergleich
  • je tiefer desto komplexer (300 Zeilen Code → 300 Mio. Transistoren)
  • Darum Verifikationsmethoden (formale Validation des Ergebnisses), da Simulation ab bestimmter Komplexität an ihre Grenzen stösst
  • Simulation nur noch in Grenzfällen (wegen Komplexität)

08.11.2005

Folie 2-6:

  • So es geht wird synthetisiert, aber aufgrund von Mängeln in den Synthesewerkzeugen noch sehr viel simuliert
  • Rechnerfarmen für Simulation
  • Simulation immer schwieriger da Systeme immer komplexer

Folie 2-7:

  • Graphische Entwurfserfassung → Strukturerfassung
  • Schaltplaneditoren
  • bottom-up → komplexere Gebilde aus Primitivelementen
  • top-down → Prozessor, zerlegen in Steuer- und Rechenwerk, usw
  • wesentlich: Entwurf kann bereits im Editor auf Korrekthieit überprüft werden (Simulation)
  • FLoating Impulse: Pfui (Metastabilität, Ausgang bleibt irgendwo zwischen 0 und 1 hängen)
  • lässt sich mittels Simulator alles wunderbar vermeiden
  • Verzögerungszeit wird durch Wechselwirkungen zwischen Quellen und Kapazitäten beeinflusst
  • Verzögerungszeiten gefährlich → Bauteil aus zwei gegengeschalteten Transistoren, leiten zur Umschaltzeit beide aber ein bisschen → Stromspitzen, können Bauteil zerschiessen
  • Leistungsverbrauch auch wenn keine Zustandswechsel vorliegen (Ruhestrom)
  • viele Zustandswechsel in FSM → viele auch in Implementierung ⇒ Verbrauch auch via FSM abschätzbar
  • Beliebte Fehler: Vertauschung der Bitreihenfolge, Busaufteilung, …
  • Ergebnis: Geprüfte Netzliste aufgrund der “Electrical Design Rules”

Folie 2-8:

  • Netzliste via Converter in Simulatorsprache, Prelayoutsimulation (funktional oder timing)
  • Bibliotheken: graphische und tabellarische Modellrepräsentationen → verschiedene Sichten
  • Strecke > 0 → Ausbreitungszeit > 0!
  • Place & Route → legt Leitungen
  • Vorgabe z.B. “Keine Verzögerung größer als 100ns” → timing-driven routing
  • Daraus: Netzliste mit Timingannotationen, Postlayoutsimulation (timing)
  • Bitstreamgenerierung → FPGA
  • iterative Schleife

Folie 2-9:

  • Logiksimulation: Analyse des Verhaltens einer Digitalschaltung ohne Hardwareimplementierung
  • Test → real existierendes Produkt
  • Simulation komplexer Systeme auf ungeeigneter Abstraktionsebene → sehr teuer
  • Logikanalyse → große Tabellen
  • Stimuli müssen System “zum Schwitzen bringen”
  • wenn man weiß, wie die Algorithmen laufen und wo die Schwachstellen sind, kann man das System so “kitzeln”, dass man auch sieht was man sehen will
  • Ruhestromtest → Ruhestrom muss (wenn Schaltung korrekt arbeitet) in einem bestimmten Intervall liegen
  • Algorithmen und Modelle haben Schwachpunkte → vorsicht!

Folie 2-10:

  • Modell → Analogie!
  • Logiksimulation → meistens alles als Logiktabelle vorliegend
  • HW-Modelle: komplizierte Handhabung, teuer, aber realitätsnäher

Folie 2-11:

  • abstrahierte Spannungswerte, logisch 0 und 1 gibt es nicht
  • Leistungsreduzierung? → Versorgungsspannung reduzieren!
  • Z → bei Bussystemen zur Koordination von Schreibvorgängen (Abklemmung)
  • Signalwertmengen können sehr groß werden → bei kleinen Mengen potentiell zu abstraktes Modell
  • R und F benötigt im Simulator, um reale Vorgänge besser beschreiben zu können

Folie 2-12:

  • Signalstärken werden verwendet, um andere Signale überschreiben zu können (bsp: Inverter-Speicher-Element)
  • VHDL kennt keine Logikwertmenge → muss extern mit Libraries hinzugeladen werden

Folie 2-13:

  • bei gleicher Signalstärke und unterschiedlichen Werten → X

Folie 2-14:

  • Komponenten → Funktions- und Verzögerungselement zur Simulation des Verzögerungsverhaltens

Folie 2-15:

  • zero-delay: Verzögerung mit Zeitwert 0
  • keine Verzögerung, direkte verzögerungsfreie Rückeinspeisung → Rückkopplung
  • darum zero delay nur sinnvoll wenn keine Rückeinspeisung ⇒ Modellierung Boolescher Algebra
  • “after 3ns” ⇒ Ausgangswert springt 3ns nach Auslösersignal für Änderung um
  • inertia delay = Trägheitsverzögerung

22.11.2005

  • Zusammenfassung zu einer LUT → idR keine gute Idee, da unflexibel (gerade bei großen sequentiellen Eingängen)

Discussion

Enter your comment
If you can't read the letters on the image, download this .wav file to get them read to you.
 
uni/mitschriften/rp.txt · Last modified: 2008/03/26 12:35 (external edit)