SEm/labore/04 synthese
(→Tests) |
|||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{TOC right}} | {{TOC right}} | ||
− | |||
= Automatische Synthese = | = Automatische Synthese = | ||
== Einleitung == | == Einleitung == | ||
− | Dieses Labor zeigt die automatische Synthese | + | Dieses Labor zeigt die automatische Synthese von VHDL-Code. |
− | Es basiert auf dem Beispiel des Funktionsgenerators. Die Zusammensetzung von zwei | + | Es basiert auf dem Beispiel des [[SEm/labore/01_generator|Funktionsgenerators]]. |
− | Sinuswellen erlaubt es | + | Die Zusammensetzung von zwei verschiedenen Sinuswellen erlaubt es Lissajous-Figuren zu zeichnen. |
− | + | [[Image:SEm_lissajou.png|center|Lissajous-Figur]] | |
− | |||
== Synthese == | == Synthese == | ||
− | + | [[Image:SEm_FPGA_sineGen.png|thumb|Zu erstellende Schaltung]] | |
− | + | ||
− | + | Auf das obersten Level der zu erstellenden Schaltung kommen die Ein- / Ausgangsblöcke. | |
− | + | Hier findet man z.B. Polaritätsadapter, Tri-State-Puffer, Synchronisationslogik, ... | |
− | + | In unserem Beispiel werden wir zwei Sinusgeneratoren, zwei Sigma-Delta-Modulatoren und eine Synchronisationslogik für das Reset-Signal setzten. | |
− | + | Wir werden auch den Viereck-Ausgang eines der Generatoren verwenden um ein Synchronisationssignal für das Oszilloskop zu erstellen. | |
− | Wir werden auch den Viereck-Ausgang eines der | + | |
− | Synchronisationssignal | + | |
− | Die Schaltung befindet sich in der Library '''Board''', die Testbank in der | + | Die Schaltung befindet sich in der Library '''Board''', die Testbank in der Library '''SineInterpolator_test'''. |
− | Library '''SineInterpolator_test'''. | + | |
=== Schaltung === | === Schaltung === | ||
− | + | {{TaskBox|content= | |
− | '''Board''', kompilieren Sie ihn und | + | Öffnen Sie den Block '''FPGA_sineGen''' in der Library '''Board''', kompilieren Sie ihn und überprüfen Sie per Simulation ob die Schaltung in Ordnung ist.}} |
− | Ordnung ist. | + | |
− | Eine Simulation der Schaltung | + | Eine Simulation der Schaltung auf diesem Level erlaubt es die Funktionalität des Systems sicherzustellen. |
− | sicherzustellen. | + | |
+ | [[File:SEm lissajou coeffs.svg|thumb|Interpolationskoeffizienten]] | ||
+ | Die von Ihnen berechneten Koeffizienten können mit der [[Media:SEm lissajou coeffs.svg|nebenstehenden Waveform]] überprüft werden. | ||
=== Erstellung der Datei === | === Erstellung der Datei === | ||
− | + | {{TaskBox|content= | |
− | + | Starten Sie den Task '''Prepare for synthesis'''.}} | |
− | + | ||
− | Starten Sie | + | |
=== Synthese === | === Synthese === | ||
− | Starten Sie | + | {{TaskBox|content= |
− | + | # Starten Sie den Task '''Xilinx Project Navigator'''. | |
− | Geben Sie den Schaltugstyp an, '''xc3s500E''', und geben Sie dessen | + | # Geben Sie den Schaltugstyp an, '''xc3s500E''', und geben Sie dessen Parameter, '''FG320-5'''. |
− | Parameter, '''FG320-5'''. | + | # Fügen Sie Sie die erzeugte VHDL Datei '''sineGen.vhd''' zum Projekt hinzu. |
− | + | # Stellen Sie sicher, dass '''FPGA_sineGen-struct''' die ausgewählte Schaltung ist. | |
− | + | # Fügen Sie Sie die Datei '''sineGen.ucf''' zum Projekt hinzu. | |
− | + | # Starten Sie den Befehl '''Synthesize - XST'''. | |
− | ist. | + | # Prüfen Sie alle Warnungen ("'''warning'''") und stellen Sie sicher, dass die Schaltung keine Realisierungsprobleme aufweist. |
− | + | # Überprüfen Sie die Grösse der resultierenden Schaltung. | |
− | + | # Finden Sie die maximale Taktfrequenz, die für diese Schaltung möglich ist.}} | |
− | + | ||
− | Starten Sie | + | |
− | ("'''warning'''") und stellen Sie sicher, dass die Schaltung keine | + | |
− | Realisierungsprobleme aufweist. | + | |
− | Schaltung. | + | |
− | + | ||
− | Finden Sie die maximale Taktfrequenz, die | + | |
=== Place und Route === | === Place und Route === | ||
− | Starten Sie | + | {{TaskBox|content= |
+ | Starten Sie den Befehl '''Implement Design'''.}} | ||
=== Konfiguration === | === Konfiguration === | ||
− | + | {{TaskBox|content= | |
− | + | # Speisen Sie das FPGA-Board und schliessen Sie das JTAG-Downloadkabel an. | |
− | Starten Sie die Befehle '''Generate Programming File''' und | + | # Starten Sie die Befehle '''Generate Programming File''' und '''Configure Target Device'''. |
− | '''Configure Target Device'''. | + | # Laden Sie die Konfiguration ins FPGA.}} |
− | + | ||
− | + | ||
=== Tests === | === Tests === | ||
− | + | {{TaskBox|content= | |
− | + | Schalten Sie die Tiefpassfilter an die Ausgänge der Modulatoren. | |
− | + | Prüfen Sie die Sinuswellen auf dem Oszilloskop. | |
− | Schalten Sie die Tiefpassfilter | + | Stellen Sie den Display auf X-Y Modus ein: Sie sollten nun die Lissajous-Figur sehen.}} |
− | auf dem Oszilloskop. Stellen Sie | + | |
− | + | ||
− | {{navNamed|left=SEm/labore/03_konverter|left_name=03 Digital / Analog Wandler|up=SEm/labore|up_name=Anleitung auf Deutsch|right=SEm/labore/ | + | {{navNamed|left=SEm/labore/03_konverter|left_name=03 Digital / Analog Wandler|up=SEm/labore|up_name=Anleitung auf Deutsch|right=SEm/labore/10 fsm|right_name=05 Zustandsmaschine}} |
− | [[Category:SEm]] | + | [[Category:Bachelor]][[Category:SEm]][[Category:Deutsch]] |
Latest revision as of 10:41, 9 March 2021
|
Automatische Synthese
Einleitung
Dieses Labor zeigt die automatische Synthese von VHDL-Code.
Es basiert auf dem Beispiel des Funktionsgenerators. Die Zusammensetzung von zwei verschiedenen Sinuswellen erlaubt es Lissajous-Figuren zu zeichnen.
Synthese
Auf das obersten Level der zu erstellenden Schaltung kommen die Ein- / Ausgangsblöcke. Hier findet man z.B. Polaritätsadapter, Tri-State-Puffer, Synchronisationslogik, ...
In unserem Beispiel werden wir zwei Sinusgeneratoren, zwei Sigma-Delta-Modulatoren und eine Synchronisationslogik für das Reset-Signal setzten.
Wir werden auch den Viereck-Ausgang eines der Generatoren verwenden um ein Synchronisationssignal für das Oszilloskop zu erstellen.
Die Schaltung befindet sich in der Library Board, die Testbank in der Library SineInterpolator_test.
Schaltung
Eine Simulation der Schaltung auf diesem Level erlaubt es die Funktionalität des Systems sicherzustellen.
Die von Ihnen berechneten Koeffizienten können mit der nebenstehenden Waveform überprüft werden.
Erstellung der Datei
Synthese
Place und Route
Konfiguration
Tests
Navigation
03 Digital / Analog Wandler
Anleitung auf Deutsch
05 Zustandsmaschine