SEm/labore/04 synthese

(Difference between revisions)
Jump to: navigation, search
Line 27: Line 27:
 
=== Schaltung ===
 
=== Schaltung ===
  
{{TaskBox|Ö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.}}
+
{{TaskBox|content=
 +
Ö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.}}
  
 
Eine Simulation der Schaltung auf diesem Level erlaubt es die Funktionalität des Systems sicherzustellen.
 
Eine Simulation der Schaltung auf diesem Level erlaubt es die Funktionalität des Systems sicherzustellen.
Line 33: Line 34:
 
=== Erstellung der Datei ===
 
=== Erstellung der Datei ===
  
{{TaskBox|Bestimmen Sie den Namen der generierten Datei mit dem Befehl '''Options -> Main... -> User variables: concat_file  sineGen'''.}}
+
{{TaskBox|content=
 +
Bestimmen Sie den Namen der generierten Datei mit dem Befehl '''Options -> Main... -> User variables: concat_file  sineGen'''.}}
  
{{TaskBox|Starten Sie den Task '''Prepare for synthesis'''.}}
+
{{TaskBox|content=
 +
Starten Sie den Task '''Prepare for synthesis'''.}}
  
 
=== Synthese ===
 
=== Synthese ===
  
{{TaskBox|
+
{{TaskBox|content=
 
# Starten Sie den Task '''Xilinx Project Navigator'''.
 
# Starten Sie den Task '''Xilinx Project Navigator'''.
 
# Geben Sie den Schaltugstyp an, '''xc3s500E''', und geben Sie dessen Parameter, '''FG320-5'''.
 
# Geben Sie den Schaltugstyp an, '''xc3s500E''', und geben Sie dessen Parameter, '''FG320-5'''.
Line 52: Line 55:
 
=== Place und Route ===
 
=== Place und Route ===
  
{{TaskBox|Starten Sie den Befehl '''Implement Design'''.}}
+
{{TaskBox|content=
 +
Starten Sie den Befehl '''Implement Design'''.}}
  
 
=== Konfiguration ===
 
=== Konfiguration ===
  
{{TaskBox|
+
{{TaskBox|content=
 
# Speisen Sie das FPGA-Board und schliessen Sie das JTAG-Downloadkabel an.
 
# Speisen Sie das FPGA-Board und schliessen Sie das JTAG-Downloadkabel an.
 
# Starten Sie die Befehle '''Generate Programming File''' und '''Configure Target Device'''.
 
# Starten Sie die Befehle '''Generate Programming File''' und '''Configure Target Device'''.
Line 63: Line 67:
 
=== Tests ===
 
=== Tests ===
  
{{TaskBox|Dimensionieren Sie einen passiven RLC-Tiefpassfilter, um eine Schnittfrequenz von 20 kHz zu erhalten.}}
+
{{TaskBox|content=
 +
Dimensionieren Sie einen passiven RLC-Tiefpassfilter, um eine Schnittfrequenz von 20 kHz zu erhalten.}}
  
{{TaskBox|
+
{{TaskBox|content=
 
Schalten Sie die Tiefpassfilter an die Ausgänge der Modulatoren.
 
Schalten Sie die Tiefpassfilter an die Ausgänge der Modulatoren.
 
Prüfen Sie die Sinuswellen auf dem Oszilloskop.
 
Prüfen Sie die Sinuswellen auf dem Oszilloskop.

Revision as of 20:29, 19 June 2013

Contents

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.

Lissajous-Figur

Synthese

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.

Die Schaltung befindet sich in der Library Board, die Testbank in der Library SineInterpolator_test.

Schaltung

View-pim-tasks.png

Ö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.

Eine Simulation der Schaltung auf diesem Level erlaubt es die Funktionalität des Systems sicherzustellen.

Erstellung der Datei

View-pim-tasks.png

Bestimmen Sie den Namen der generierten Datei mit dem Befehl Options -> Main... -> User variables: concat_file sineGen.


View-pim-tasks.png

Starten Sie den Task Prepare for synthesis.

Synthese

View-pim-tasks.png

  1. Starten Sie den Task Xilinx Project Navigator.
  2. Geben Sie den Schaltugstyp an, xc3s500E, und geben Sie dessen Parameter, FG320-5.
  3. Fügen Sie Sie die erzeugte VHDL Datei sineGen.vhd zum Projekt hinzu.
  4. Stellen Sie sicher, dass FPGA_sineGen-struct die ausgewählte Schaltung ist.
  5. Fügen Sie Sie die Datei sineGen.ucf zum Projekt hinzu.
  6. Starten Sie den Befehl Synthesize - XST.
  7. Prüfen Sie alle Warnungen ("warning") und stellen Sie sicher, dass die Schaltung keine Realisierungsprobleme aufweist.
  8. Überprüfen Sie die Grösse der resultierenden Schaltung.
  9. Finden Sie die maximale Taktfrequenz, die für diese Schaltung möglich ist.

Place und Route

View-pim-tasks.png

Starten Sie den Befehl Implement Design.

Konfiguration

View-pim-tasks.png

  1. Speisen Sie das FPGA-Board und schliessen Sie das JTAG-Downloadkabel an.
  2. Starten Sie die Befehle Generate Programming File und Configure Target Device.
  3. Laden Sie die Konfiguration ins FPGA.

Tests

View-pim-tasks.png

Dimensionieren Sie einen passiven RLC-Tiefpassfilter, um eine Schnittfrequenz von 20 kHz zu erhalten.


View-pim-tasks.png

Schalten Sie die Tiefpassfilter an die Ausgänge der Modulatoren. Prüfen Sie die Sinuswellen auf dem Oszilloskop. Stellen Sie den Display auf X-Y Modus ein: Sie sollten nun die Lissajous-Figur sehen.


Navigation
Arrow left.gif 03 Digital / Analog Wandler Arrow up.gif Anleitung auf Deutsch 05 AMBA-Bus basiertes System Arrow right.gif

Personal tools
Namespaces
Variants
Actions
Navigation
Modules / Projects
Browse
Toolbox