Rechnergestützter VLSI-Entwurf

Ähnliche Dokumente
VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

2.2 Register-Transfer-Synthese

Logiksynthese. Register-Transfer- Synthese Makrozellgeneratoren Beispiel Addierer

Electronic Design Automation (EDA) Technology Mapping

Electronic Design Automation (EDA) Algorithmensynthese

2.3 Logikoptimierung. Überblick digitale Synthese. Logikoptimierung

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Entwurf von digitalen Schaltungen und Systemen mit HDLsundFPGAs

Electronic Design Automation (EDA) Logikoptimierung

Hardware/Software-Codesign

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Technischen Informatik

Abkürzungen. Kapitel 1 - Einleitung Stand der Automobilelektronik Historische Entwicklung Gegenwärtige Probleme 2

FPGA. Field Programmable Gate Array

Technische Informatik I

Schaltkreis- und Systementwurf. Übung: Einführung Belegarbeit

ASIC. Application-Specific Integrated Circuit. Technische Informatik K. Slotala

kanonische disjunktive Normalform (KDNF, DKF) Disjunktion einer Menge von Mintermen mit gleichen Variablen

C.34 C Normalformen (4) 5.7 Hauptsatz der Schaltalgebra. 5.7 Hauptsatz der Schaltalgebra (2) 5.7 Hauptsatz der Schaltalgebra (3)

Digital Design 5 Rechnergestützte Schaltungsentwicklung

Entwurf und Synthese von Eingebetteten Systemen

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

CRC (Configurable Reconfigurable Core)

Digitales Hardwaredesign mit VHDL und FPGAs

Configurable Embedded Systems

Grundlagen der Digitaltechnik GD. Aufgaben

C Beispiel: Siebensegmentanzeige. Typische Anzeige für Ziffern a. f g. e d. Gesucht: Schaltfunktion für die Ansteuerung des Segmentes d

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Synthese digitaler Schaltungen am Beispiel eines synchronen Zählers mit D Flip-Flops. Dr. Matthias Fertig

Programmierbare Logik mit GAL und CPLD. Einführung in die Schaltungsentwicklung mit Logikbausteinen in ISP-Technologie von Christian Ellwein

EHP Einführung Projekt A

1. Einleitung. 2. Aufgabenstellung. R. Bartholomä, Prof. F. Kesel, Prof. T. Greiner Fachhochschule Pforzheim, Tiefenbronnerstraße 65, Pforzheim

Aussagenlogik. Formale Methoden der Informatik WiSe 2010/2011 teil 7, folie 1 (von 50)

Automatisches Parallelisieren

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Steuerwerk einer CPU. Einführung in die Technische Informatik Falko Dressler, Stefan Podlipnig Universität Innsbruck

Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik Universität Rostock.

Entwurf und Verifikation digitaler Systeme mit VHDL

Grundlagen der Technischen Informatik

Übungsblatt 5 Entwurf eines Mehrzyklen-Datenpfads Abgabefrist: Mittwoch , 10:00 Uhr

Boolesche Algebra (1)

4 Entwurf eines Prozessorelementes

Mikroarchitektursynthese - Scheduling Peter Marwedel, Robert Pyka. Informatik 12

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien

Digitale Synthese. 2.1 Algorithmensynthese. Beispiel für einen Algorithmus Abhängigkeitsgraph Schleifen Bedingte Verzweigungen Schritte der

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Hardware Praktikum 2008

FPGA Field Programmable Gate Array im Unterschied zu anderen PLD-Architekturen.

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Hardware/Software-Codesign

Eingebettete Systeme

Aussagenlogik. Formale Methoden der Informatik WiSe 2012/2013 teil 6, folie 1

Rechnerarithmetik. Vorlesung im Sommersemester Eberhard Zehendner. FSU Jena. Thema: Addierschaltungen

Teil III. Schaltnetze und ihre Optimierung

Einführung in die Informatik I

GETE DIGITAL TECHNIK CODIERUNG BCD: BINARY CODED DIGITAL. Hr. Houska

Systempartitionierung. Hw-Sw-Co-Design

13. Vorlesung. Logix Klausuranmeldung nicht vergessen! Übungsblatt 3 Logikschaltungen. Multiplexer Demultiplexer Addierer.

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 15/16

Entwicklung von Partitionierungsstrategien im Entwurf dynamisch rekonfigurierbarer Systeme

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Hardware Programmierbare Logik

Grundlagen der Digitaltechnik GD. Aufgaben und Musterlösungen

Systemtheorie 1. Formale Systeme 1 # WS 2006/2007 Johannes Kepler Universität Linz, Österreich

Grundlagen der Technischen Informatik

2.1 Boole sche Funktionen

Technische Grundlagen der Informatik

Hardware Logik-Analysatoren

5. Vorlesung: Normalformen

Programmierbare Logikbauelemente

Teil 1: Digitale Logik

Verilog Hardware Description Language (HDL)

Verteidigung der Dissertation

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Datenpfaderweiterung Der Single Cycle Datenpfad des MIPS Prozessors soll um die Instruktion min $t0, $t1, $t2 erweitert werden, welche den kleineren

Technische Informatik I - HS 18

3 Verarbeitung und Speicherung elementarer Daten

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

03 Boolesche Algebra. Technische Grundlagen der Informatik

Transkript:

Schaltungssynthese Dipl.-Ing. e-mail: rgerndt@iam.de Seite SYN/1

Motivation Vereinfachung des Systementwurfes Weniger Fehler durch abstrakte Beschreibung Portierbarkeit der Schaltung (PLD, CPLD, FPGA, ASIC, Standardzelle,...) Seite SYN/2

Übersicht Schaltungsbeschreibung durch formale, vollständige Spezifikation (Verhalten, Zeitbedingungen, Leistung, Größe,...) Synthese ist ein Übersetzungs- und Optimierungsproblem anhand einer Kostenfunktion (Fläche, Zeitverhalten,...) Unterscheidung: - Logiksynthese - Register-Transfer-Synthese - High-Level-Synthese Seite SYN/3

Logiksynthese - Übersicht Erstellen einer Logik, die eine gegebene Boolsche Gleichung realisiert Formale Beschreibung (z.b. disjunktive Normalform) Viele mögliche Lösungen, wenige, die die Randbedingungen einhalten Zu beachten - Geschwindigkeit - Fläche Aufteilung in - Phase 1: technologieunabhängige Logikoptimierung - Phase 2: technologieabhängige Abbildung auf Gatter und Optimierung ( library binding, mapping ) Seite SYN/4

Technologieunabhängige Logiksynthese Logikmodel unabhängig von physikalischen Gattern (Boolsches Netzwerk) Optimierung: - Vereinfachung (insbesondere don t cares, auch interne) - Netzwerkumformung (gemeinsame Faktoren) - Umstrukturierung des Netzwerkes (Balancierung der Verzögerungszeiten) Kostenfunktionen: Literale (Variablen) des Boolschen Netzwerkes Seite SYN/5

Technologieabhängige Logiksynthese Library binding (technology mapping) Abbildung des Boolschen Netzwerkes auf physikalische Gatter Darstellung des Boolschen Netzwerkes und der Bibliothekselemente als NAND-Netz Synthese durch Pattern matching -Algorithmus Vergleich von Abschnitten des boolschen Netzwerkes mit Bibliothekselementen Auswahl der günstigsten Realisierung Probleme bei komplexen Gattern und XOR-Gattern Seite SYN/6

Register-Transfer-Synthese Übersetzung RTL-Beschreibung in Netzliste Datenpfad-Synthese (Speicher und Funktionseinheiten) Controller-Synthese (Zustandsautomat) unterschiedliche Synthese-Methoden für Datenpfad und Controller Seite SYN/7

Datenpfad-Synthese Darstellung der Datenabhängigkeiten als Daten-Fluss-Graph (DFG) (Gerichteter Azyklischer Graph (DAG)) Geschlossener DFG = basic block (keine Kontrolbefehle) Direkte Abbildung des DFG auf Hardware möglich Hardwareersparnis durch - (Zwischen-)Speichern - Multiplexen - Sequencen ( resource-sharing ) Seite SYN/8

Controller-Synthese Ansteuerung des Datenpfads erfolgt durch Steuersignale Externe Scheduling-Bedingungen werden berücksichtigt Jeder Operation ist ein Ausführungstakt zugewiesen Der Zustandsgraph zum Schedule wird bestimmt Controllerimplementierung: - hardwired - microcoded Seite SYN/9

High-Level Synthese Verhaltensbeschreibung abstrakter als Register-Transfer-Beschreibung High-Level- Synthese = Übersetzen einer Beschreibung in eine Architektur Ergebnis der Synthese ist eine Register-Transfer-Beschreibung Teilfunktionen der Übersetzung: - scheduling - binding (allocation) Seite SYN/10

Scheduling Zuordnung der Operationen zu Taktschritten Verhaltensbeschreibung liefert Randbdingungen für die Abarbeitungsreihenfolge der Funktionen (Datenabhängigkeiten) Scheduling: - ASAP ( as-soon-as-possible ) - ALAP ( as-late-as-possible ) - RMS ( rate-monotonic-sheduling ) - earliest-deadline-first Chaining - Mehrere Funktionen in einem Taktzyklus Multicycling -Eine Funktion über mehrere Taktzyklen Auswahl eines Schedules gemäss Kostenfunktion (Zeit, Fläche) Kritischer Pfad: längste Takt-Kette Seite SYN/11

Binding ( allocation ) Zuordnung der Funktionen und Variablen zu Funktionseinheiten und Registern Datenpfad (Funktionseinheiten) + Register + Multiplexer + Controller Speichern von Variablen an Taktgrenzen Seite SYN/12

Optimierung Entfernen überflüssiger Hardware im kritischen Pfad Extra Hardware um weniger Takte zu benötigen Anpassen der Zykluszeiten Pipelining Multithreading Seite SYN/13