low cost FPGA

Latice stellte einfachere FPGA her.

  • Der Clk ist weniger schnell, als bei High End FPGAs
  • Memory ist kleiner
  • Viele IP kostenlos

FPGA debuggen

Implementierte Logik
Tools/ Netlist Viewer/RTL Viewer:  zeigt die Logikbausteine

Blöcke und Verdrahtung
Tools/ Netlist Viewer/ Technology Map Viewer (Post-Mapping)

Pinzuweisung
– Um die Pin-Datei zu aktivieren, muss sie einmal gelaufen sein:
.  Tools/ Tcl Scripts/Run
– Pin Überprüfung:
.  Assignments/Pin Planer/
– Die Pin-Namen auf Schaltplan muss dem Name in der tcl-Datei entsprechen
– Abgespeichert wird die Pinzuweisung in der Datei boardname.tcl

Files in Projekt einbinden
Assignments/Settings/Files  auf add

Top-Level definieren
Links, im Projektnavigator, auf den Reiter Files.
Dort per rechte Maustaste eine Datei als Top-Level setezn

FPGA Projekt einrichten

  1. Programme mit Lizenzen herunterladen (quartus, questasim)
  2. Projektordner erstellen (siehe Intro): synthese, vhdl, simulation, code
  3. Mit quartus Projektdatei erstellen (*.qpf), ablegen in synthese-ordner
  4. VHDL Code schreiben (*.vhd) oder Schema (*.bdf) über Menu Symbol Tool zeichnen. Pin müssen zugewiesen werden. Dateien ablegen in vhdl-odner
  5. Datein ins Projekt einbinden: Menu Assignments/Settings /Files
  6. Eine Datei muss Top-Level sein. Auswählen per rechte Maus > set as top-level
  7. Pinzuweisung (Laden datei.tcl aus ordner synthese) aktivieren über
    Tools/Tcl Script/ Run
  8. Kompilieren bzw. Synthese mit Processing/Start Compilation (*.sof)
  9. Projekt auf Board laden: (Schalter auf Board auf „RUN“)
    Tools/Programmer  (ev. Projektdatei.sof zufügen) start
    Fehlt die Lizenz, kann man nicht auf start drücken

VHDL-Projekt Datenstruktur und Programme

Ordnerstruktur
Synthese (oder quartus)
.    – Projektdatei:              projekt.qpf
.    – Pinzuweisung:         datei.tcl
.      [Ordner output_files] wird durch Synthese generiert
.      – synthetisiertes File für FPGA:    datei.sof
.      – kompiliertes File für Memory:   datei.pof
VHDL (oder source)
.    – Es braucht ein Top-Level   top.xxx (rechte Maus) Rechte zuweisen
.    – Schaltpläne:            datei.bdf
.    – importierete Blöcke (IP):   datei.qpf
.    – eigene Blöcke        datei.vhd
.   – testbench:               tb_datei.vhd
Software
.    – files.c
.    – files.h
Simulation (oder questasim)
.      Ordner questasim
.             –
Simulatondatei:   test_midi.mpf
.             –
Signaldatei:          wave.do
.            [Ordner work]        wird durch questasim generiert
.      Ordner script (Verzeichnis zum Aufrufen der Simulation)
.              – compile.do
.              – test_input.txt
.              – test_output_results.txt

……………………………………………………………………………………..

FPGA Synthese: Quartus
Das Programm Quartus von altera (lizenz) ist sehr mächtig. Ohne Lizenz, kann die Datei nicht auf das FPGA geladen werden.
In der Synthese werden die Pins zugewisen, die Verbindungen gelegt, das FPGA-Innenleben designt.

Die Synthese dauert sehr lange. Nach dem Synthetisieren wird der Stream auf das Board oder auf den Flash-Memory geladen.

home/bin/quartus_x.sh

 

Simulation: Questasim
Das externe Programm questasim ist ein ausführliches Simulationsprogramm.
Quartus selbst wird mit Modelsim mitgeliefert, das jedoch begränzt in der Anzahl zu simulierenden Blöcke ist.

Simuliert über Testbenches, die man über die Konsole per Script ausführt.

 

Quartus: altera VHDL Programm

Altera-FPGAs können mit Quartus programmiert und kompiliert werden.
Es werden Projekte gebildet, mit der Dateiendung.qpf

Hauptschritte
– Quartus über shell öffnen

quartus13.sh

– Projekt in Quartus öffnen: Menü File/Open Projet
– Projekt am Ende kompilieren: Menü Processing/ Start Compilation

Synthese

  • Bilden des Codes und der Blöcke zu einem System (Kompilieren).
    Es entsteht ein Bitstream. Die Dateiendung ist datei.sof
    Der synthetisierte Code wird per Programmer auf das FPGA geladen.

    In der Synthese werden die Pins zugewiesen.

    Es ist die Anbindung des Codes an Hardware.