1.Woche: Organisation Synthetisierbares VHDL

Slides:



Advertisements
Ähnliche Präsentationen
Basic Support for Cooperative Work oder einfach Schulserver
Advertisements

Grundstudiumspraktikum “Maschinelle Übersetzung”
Modal Verben.
Teilhabeplanung für Menschen mit Behinderungen
Erfolgreich Präsentieren mit Power Point
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
Funktionen.
Die Türme von Hanoi Die Lösungsfindung nach dem Prinzip der Rekursion wird noch einmal textuell und grafisch erläutert
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 1
Cambridge – First Certificate of English
Rational Unified Process (RUP) - Definitionen
Datenbanksystementwicklung – Praktikum & Vorlesung – WS 2004/2005
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
1.WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
Redundanter Fileserver mit Heartbeat2 und DRBD - Linux-HA-Cluster
Kurzanleitung für Laptop-Zugang 1. WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellsten Stand. 2. WICHTIG: Installieren Sie.
1.WICHTIG: oBringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
Gymnasium Horn – Bad Meinberg
Wie kann ich meine Motivation verbessern ?
Sommersemester 2004 Jan Drewnak Sitzung 1 Praktikum Entwicklung und Einsatz von Geosoftware I Sitzung 1: Einführung und Organisation.
Klickt nun bitte weiter auf Einführung.
TD Hilfe Für neue TD`S die Hilfe brauchen. Hier rauf um ein Turnier Zu Erstellen.
Titel des Vortrags Name des Vortragenden Seminar
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Lernmodul Einführung Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Nutzungsbedingungen:
Informatik 1 Übung 2.
Haben im Konj II hätte hättest hätte hätten hättet hätten Sein im Konj II wäre wärest wäre wären wäret wären werden im Konj II würde würdest würde würden.
Steuerung externer Komponenten über ein USB-Interface.
Grundlagen der Informatik - Prof. Slany 1 Grundlagen der Informatik Prof. Wolfgang SLANY … Institut für Softwaretechnologie
Messgrößen vereinbaren
Mein Name ist Jessica O. Ich habe Praktikum im Blumen Linz gemacht
FPGA... ein Versuch. Uli Schäfer 1. Historie: PLD Uli Schäfer 2 Schaltungsgrösse wächst drastisch mit Zahl der Eingänge CPLD = Array + Flipflops + macro.
Modal Verbs Narrative Past. Ich will Ich wollte.
Die Diätkur von Margitta.
School of Engineering Themen: Variablen Architecture-Types.
VHDL 7: Automaten 1.
VHDL2_Sprachelemente und Concurrent Statements (Nebenläufige Anweisungen)
VHDL 4: Getaktete Logik (D-FF, Zähler, Automaten)
Inhalt Einen Zähler generisch aufbauen CPLD Synthese Timing Analyse
Mein Tag (Dienstag) Luce Aringoli.
Lieder singen, spielen, hören
IKP Uni Bonn Medienpraxis EDV II Internet-Projekt
Erste Schritte mit dem virtuellen Klassenzimmer Diese Anleitung verwendet in den meisten Fällen den Browser Firefox; Für den Browser Internet-Explorer.
Proseminar GMA Web Suche und Information Retrieval (SS07)
Mein Name ist Bianca T. Ich habe Praktikum in der Gärtnerei Kupfer gemacht . Darüber kann ich euch folgendes berichten:
Die Regeln der Vorlesung
Wie erstelle ich meinen Stundenplan?!
Erstes Treffen am um Uhr
Leitfaden zum Mini-Funday Sira für Jugendliche Teil I-III
Was tun, wenn’s brennt? (2001) Deutsch 310 – Mittwoch, den 22. Oktober 2014.
Dummer Powerpoint-Vortrag
6.Woche: VGA Monitoransteuerung
Linear Rückgekoppelte Schieberegister und Tristate Treiber
FPGA Praktikum WS2000/ Woche: VHDL Tips Ein Schläger für das Spiel.
Die Praktikumsplatine Handhabung der Platine LEDs, CLK und Taster Konfiguration des FPGA Aufgaben.
FPGA Praktikum WS2000/ Woche: Die Experimentierplatine Aufgaben.
FPGA Praktikum WS2000/ Woche: FPGA Architektur Simulationsskripte Aufgaben.
FPGA Praktikum WS2000/ Woche: Ein Ball Blöcke zum Abräumen Projektvorschläge.
2.Woche: FPGA Architektur Simulationsskripte Aufgaben
2. Woche: Timingmodelle Synthetisierbares VHDL Aufgaben
Modaaliverbit dürfen können mögen müssen sollen wollen dürfen können
fragen Kannst du mit mir ins Kino gehen?
Sei gesund!.
Persönliche Erfolgsdatenbank Übersicht, Nutznießer und Details.
X. Übungsblatt – Aufgabe X In dieser Aufgabe soll ein synchron getakteter Steuerungsautomat für den in Abbildung 1 dargestellten Prozessor-Chip mit geringem.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Argumentationstraining gegen rechte Parolen
Jugendsozialarbeit an Schule Wer sind wir? Wo findet man uns? Was machen wir? Jugendsozialarbeit an Schule - rDW Hochtaunus 1.
Die Prozess-Ebenen-Pyramide Definition und Darstellungsformen
 Präsentation transkript:

1.Woche: Organisation Synthetisierbares VHDL FPGA Praktikum WS2000/2001 1.Woche: Organisation Synthetisierbares VHDL

Gliederung 1. Organisation 2. Die Xilinx Foundation Software 3. Synthetisierbares VHDL 4. Aufgaben für die erste Woche

1. Organisation des Praktikums

Adressen Kolja Sulimma Till Jahnke Homepage kolja@prowokulta.org Raum 309 798-23359 Till Jahnke jahnke@hsb.uni-frankfurt.de 798-24275 Homepage http://www.em.informatik.uni-frankfurt.de/~prak/

Das Praktikum Zuordnung: 4 SWS PT3 (P5, P6) Treffen: Mittwochs, 14:00 c.t. Raum 308 Georg-Voigt-Straße 16 Schein: Semesterprojekt

Ablauf Acht wöchentliche Aufgaben Dabei wird Schritt für Schritt ein Computerspiel mit VGA-Grafik, Tastatursteuerung und Sound gebaut. Danach acht Wochen Arbeit an einem Semesterprojekt Kurzvortrag über das Projekt

Inhalt Wir fangen erst mit ein paar Trockenübungen und Vorträgen an und werden dann im Laufe der Zeit immer mehr mit der Hardware spielen. Eigenschaften von FPGAs Wie entwickelt man effiziente Schaltungen für FPGAs? Wie kriege ich meine perfekt simulierte Schaltung tatsächlich zum laufen? Wie steuere ich echte Hardware an? Monitor? Tastatur? Lautsprecher? Fernbedienung? Glasfaserlink?

Arbeitsbedingungen Zwei reservierte Praktikumsrechner stehen im Diplomandenraum der Entwurfsmethodik Mars und Twix Acht weitere Rechner in den Fischerräumen Kirke, Kreon, ... Ihr könnt die Software mit nach Hause nehmen Anforderungen: Pentium 166 mit 64 MB RAM Es gibt nur sechs Experimentierplatinen

Arbeitsbedingungen Till wird zu festen Zeiten im Diplomandenraum anwesend sein. Vorläufig mittwochs nach dem Treffen. Sonst: Fragen per email an Till Die Aufgaben werden Mittwochs gestellt. Sie müssen spätestens am folgenden Dienstag abgegeben werden. per email an prak@em.informatik.uni-frankfurt.de

Teamarbeit Da es zu wenige Experimentierplatinen gibt müßt ihr ab der 4. Woche in Teams arbeiten Einigt euch bitte frühzeitig, wie ihr das organisieren wollt

2. Die Xilinx Foundation Software

Xilinx Foundation Die Xilinx Foundation Software erfüllt für uns die folgenden Aufgaben: VHDL Editor Synthese Simulation Technologieabbildung Timinganalyse Erstellung des Konfigurationsbitstreams

Xilinx Foundation Auf der Praktikumshomepage findet ihr eine Anleitung für die Installation der Software. Zu diesem Zweck bekommt ihr alle eine Installations CD. Eine Update CD folgt später. Als Aufgabe für die erste Woche sollt Ihr euch mit dieser Software vertraut machen, und sicher stellen, daß die Software einwandfrei funktioniert.

3. Synthetisierbares VHDL library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; 3. Synthetisierbares VHDL

Synthetisierbares VHDL library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Synthetisierbares VHDL Manche VHDL Konstrukte können die heutigen Synthesewerkzeuge nicht in Hardware Umwandeln. Sie dienen nur der Entwicklung von Verhaltensmodellen. Da wir VHDL verwenden wollen, um konkrete Schaltungen zu generieren, müssen wir uns mit bestimmten Beschränkungen abfinden. Einige dieser Einschränkungen sind allgemein gültig, andere sind spezifisch für das von uns verwendete Tool. (Synopsys FPGA Express)

library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Quellen Ihr solltet euch den in der Linkliste aufgeführten „VHDL Synthesis Guide“ anschauen Er enthält detaillierte Informationen darüber, wie VHDL für Foundation aussehen muß, damit bei der Synthese auch das herauskommt, was man geplant hatte Nützlich ist auch der Language Assistant im VHDL Editor

library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; VHDL Praxis Ich gehe davon aus, daß Ihr im „Grundpraktikum Technische Informatik“ bereits VHDL benutzt habt. Die folgenden Folien erklären die wichtigsten Punkte, die beim Entwickeln von VHDL für Synopsys FPGA Express beachtet werden müssen.

IEEE.std_logic Die IEEE Bibliothek wird immer verwendet library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; IEEE.std_logic Die IEEE Bibliothek wird immer verwendet library IEEE; use IEEE.std_logic_1164.all; Alle Signale sind vom Typ std_logic SIGNAL xyz: std_logic := '1'; Variablen werden nur in Ausnahmefällen verwendet. Bei Signalen ist es leichter einen Zusammenhang zwischen VHDL und Syntheseergebnis herzustellen.

Parallele Zuweisungen library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Parallele Zuweisungen Signalzuweisungen verhalten sich anders als Variablen in einem Programm. Was macht der folgende Prozess? process(clk) if (rising_edge(clk)) then a <= b; b <= a; end if; end process; a und b werden vertauscht, da Signalzuweisungen infinitesimal verzögert ausgeführt werden.

D-Flip-Flops Vergeßt Latches, JK-Flips, etc. library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; D-Flip-Flops Vergeßt Latches, JK-Flips, etc. Zustandsspeicher werden mit D-Flip-Flops gebaut und das geht so: process(clk) if (rising_edge(clk)) then a <= b; end if; end process;

Sensitivitätsliste Die Sensitivitätsliste wird ignoriert. library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Sensitivitätsliste Die Sensitivitätsliste wird ignoriert. Der folgende Prozess liefert zwar eine Fehlermeldung oder Warnung, funktioniert aber einwandfrei process if (rising_edge(clk)) then a <= b; end if; end process;

library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Sensitivitätsliste Insbesonder kann man die Sensitivitätsliste nicht benutzen, um Funktionalität zu beschreiben. Der folgende Prozess generiert kein Flip-Flop process(clk) a <= b; end process; Er verhält sich jedoch in einem VHDL Simulator eventuell wie ein Flip-Flop.

library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; DFF Enable Synopsis versteht keine if Anweisungen, die sowohl von einer Flanke als auch von einem Signalpegel abhängen. Das folgende Konstrukt ist unzulässig: if (rising_edge(clk) and enable=‘1‘)then a <= b; end if; Ein Flip-Flop mit Enable sieht stattdessen so aus if (rising_edge(clk)) then if (enable=‘1‘) then a <= b; end if; end if;

If not rising_edge(clk) library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; If not rising_edge(clk) Schreibt man if rising_edge(CLK) ... dann ist ein zugehöriges else ungültig, da die Synthese keine Schaltung erzeugen kann, die ein Signal immer zuweist, außer bei der steigenden Flanke. Die Synthese akzeptiert das else auch dann nicht, wenn danach statements kommen, die die Synthese ermöglichen würden, wie z.B. im folgenden Beispiel: if rising_edge(CLK) then a<=b; else if falling_edge(CLK) then a<= c; end if; Statt dessen kann man das else einfach weglassen: if rising_edge(CLK) then a<=b; end if; if falling_edge(CLK) then a<=c; end if;

Keine asynchronen Rückkopplungen library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Keine asynchronen Rückkopplungen Asynchrone Rückkopplungen werden zwar korrekt synthetisiert, machen aber nur Ärger. Race conditions Ungenaue Timinganalyse .... Deshalb sollten ausschließlich synchrone Schaltungen verwendet werden. In jeder Rückkopplung muß mindestens ein Flip-Flop sein Möglichst nur ein globaler Takt

library IEEE; use IEEE.std_logic entity HEX2LED is port ( HEX: in ST LED: out S ); end HEX2LED; Zustandsreset Die bisher beschriebenen Flip-Flops haben nach einem Reset einen undefinierten Zustand. (In der Regel 0) Bei Pipelining oder Retiming Flip-Flops spielt das keine Rolle Bei endlichen Automaten ist es jedoch wichtig, daß sie nach dem Reset im Startzustand sind. Am einfachsten verwendet man dazu ein explizites Reset Signal: if (reset=‘1‘) then a <= ‘1‘; else if (rising_edge(clk)) then a <= b; end if;

4. Aufgaben

Aufgabe 1.1: Accounts Logt euch auf einem Praktikumsrechner mit eurem neuen Account ein Paßwort: frosch Ändert das Paßwort und merkt es euch

Aufgabe 1.2: Anmeldung Schickt eine Mail an prak@em.informatik.uni-frankfurt.de Vor- und Nachname Geburtsdatum Matrikelnummer Emailadresse Praktikumsaccount

Aufgabe 1.3: Software Arbeitet die „Multimedia QuickStart Presentation“ durch Start->Programme->Xilinx Foundation Series 3.1i-> Die Informationen über den Schaltplaneditor könnt Ihr ignorieren Verwendet XC4010XL-PQ84 Chips anstelle der im Beispiel verwendeten Spartan XCS05 Wer seinen eigenen Rechner benutzen will sollte das Tutorial auf diesem durchgehen

fertig Noch etwas? Fragen?