Rekonfigurierbare Prozessoren
Allgemeines
- Klausur: 14.2.2006, 16:15, Hexagon
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)
uni/mitschriften/rp.txt · Last modified: 2008/03/26 12:35 (external edit)







Discussion