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 (wiki syntax is allowed):
WITNA
uni/mitschriften/rp.txt · Last modified: 2008/03/26 12:35 (external edit)