Lattice flash: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) |
Nick (Diskussion | Beiträge) |
||
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 50: | Zeile 50: | ||
- synthesis_lattice # Synthesedateien | - synthesis_lattice # Synthesedateien | ||
Das Synthese <code>Makefile</code> in den Ordner <code>synthesis_lattice</code> kopieren.<br> | Das [https://gitlab.hzdr.de/FWF/Libraries/fpga/makefile_lattice_synthese Synthese <code>Makefile</code>] in den Ordner <code>synthesis_lattice</code> kopieren.<br> | ||
===Build/Flash bit-file=== | ===Build/Flash bit-file=== | ||
| Zeile 64: | Zeile 64: | ||
Für die Linzenz folgende Umgebungsvariablen setzen: | Für die Linzenz folgende Umgebungsvariablen setzen: | ||
*Systemvariablen -> Neu... ODER wenn schon vorhanden folgenden Wert zu <code>LM_LICENSE_FILE</code> hinzufügen: | *Systemvariablen -> Neu... ODER wenn schon vorhanden, folgenden Wert zu <code>LM_LICENSE_FILE</code> hinzufügen: | ||
**Name: <code>LM_LICENSE_FILE</code> | **Name: <code>LM_LICENSE_FILE</code> | ||
**Wert: <code>1717@fwfs01</code> | **Wert: <code>1717@fwfs01</code> | ||
| Zeile 82: | Zeile 82: | ||
==Lattice Bibliotheken== | ==Lattice Bibliotheken== | ||
'''Lattice Diamond''' starten -> '''Tcl Console''' (ganz unten) nachfolgenden Befehl | '''Lattice Diamond''' starten -> '''Tcl Console''' (ganz unten) nachfolgenden Befehl eingeben (Pfade anpassen): | ||
cmpl_libs -sim_path PFAD_ZU_MODELSIM/win64 -lang vhdl -device machxo2 -target_path PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl | cmpl_libs -sim_path PFAD_ZU_MODELSIM/win64 -lang vhdl -device machxo2 -target_path PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl | ||
Zum Beispiel: | Zum Beispiel: | ||
cmpl_libs -sim_path C:/Programme/modeltech64_2020.1/win64 -lang vhdl -device machxo2 -target_path C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl | cmpl_libs -sim_path C:/Programme/modeltech64_2020.1/win64 -lang vhdl -device machxo2 -target_path C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl | ||
Quelle: [https://www.latticesemi.com/en/Support/AnswerDatabase/3/7/3/3739 Lattice Support]<br><br> | |||
ModelSim die Lattice-Bibliotheken bekannt machen, wenn nicht schon automatisch geschehen! (Unter Punkt '''Library''' ganz unten)<br> | |||
ModelSim die Lattice Bibliotheken bekannt machen | Folgende Zeilen in der <code>modelsim.ini</code> unter dem Punkt '''Library''' hinzufügen: | ||
Folgende Zeilen in der <code>modelsim.ini</code> unter dem Punkt '''Library''' | machxo2 = PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl/machxo2 | ||
pmi_work = PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl/pmi_work | |||
Zum Beispiel: | |||
machxo2 = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/machxo2 | machxo2 = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/machxo2 | ||
pmi_work = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/pmi_work | pmi_work = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/pmi_work | ||
Aktuelle Version vom 12. Januar 2022, 06:31 Uhr
Lattice Diamond
- Download Lattice Diamond
- Installation Diamond
CygWin
Anleitung zum bauen und flashen von VHDL-Code mit Cygwin.
Tools in CygWin
Über den CygWin-Downloader zu installieren.
- make
- vim
Umgebungsvariablen setzen
vim setup_lattice.sh
Inhalt: (Pfade anpassen)
#!/bin/bash lat_path=/cygdrive/f/Programme/lscc/diamond/3.12 export FOUNDRY="F:/Programme/lscc/diamond/3.12/ispfpga" setx FOUNDRY "F:/Programme/lscc/diamond/3.12/ispfpga" mkdir ~/bin cd ~/bin ln --force -s "$lat_path/bin/nt64/diamond" diamond ln --force -s "$lat_path/bin/nt64/synpwrap" synpwrap ln --force -s "$lat_path/ispfpga/bin/nt64/synthesis" lattice_synthesis ln --force -s "$lat_path/ispfpga/bin/nt64/edif2ngd" lattice_edif2ngd ln --force -s "$lat_path/ispfpga/bin/nt64/ngdbuild" lattice_ngdbuild ln --force -s "$lat_path/ispfpga/bin/nt64/map" lattice_map ln --force -s "$lat_path/bin/nt64/mpartrce" lattice_mpartrce ln --force -s "$lat_path/ispfpga/bin/nt64/par" lattice_par ln --force -s "$lat_path/ispfpga/bin/nt64/trce" lattice_trce ln --force -s "$lat_path/ispfpga/bin/nt64/bitgen" lattice_bitgen ln --force -s "$lat_path/bin/nt64/pgrcmd" lattice_pgrcmd PATH=$(pwd):$PATH cd ls -la ~/bin echo "FOUNDRY=" echo $FOUNDRY echo "PATH=" echo $PATH
chmod +x setup_lattice.sh ./setup_lattice.sh
Ordner Struktur Lattice-Projekt:
- Projektname
- rtl # vhd - Dateien
- rtl_tb # vhd - Dateien der Testbench
- simulation_modelsim # Simulationsdateien für Modelsim
- synthesis_lattice # Synthesedateien
Das Synthese Makefile in den Ordner synthesis_lattice kopieren.
Build/Flash bit-file
In CygWin in den Ordner Projektname/synthesis_lattice navigieren:
make bitgen # build bit-file make program # program RAM volatile make finalflow # program Flash non-volatile
ModelSim
Installation & Lizenz
ModelSim installieren:
- Add ModelSim To Path -> Ja/Yes
Für die Linzenz folgende Umgebungsvariablen setzen:
- Systemvariablen -> Neu... ODER wenn schon vorhanden, folgenden Wert zu
LM_LICENSE_FILEhinzufügen:- Name:
LM_LICENSE_FILE - Wert:
1717@fwfs01
- Name:
Konfiguration
Anpassen der modelsim.ini:
VHDL93 = 2008 # Version Resolution = ps # zeitliche Auflösung WaveformView in Picosekunden
CygWin Vorbereitung
Die Tools
vmk.execcze.exe(optional)
in den Ordner pfad_zu_cygwin/home/BENUTZER/bin kopieren.
Folgende Zeilen in der .bashrc hinzufügen:
PATH=PFAD_ZU_MODELSIM/win64:$PATH export LM_LICENSE_FILE=1717@fwfs01
Lattice Bibliotheken
Lattice Diamond starten -> Tcl Console (ganz unten) nachfolgenden Befehl eingeben (Pfade anpassen):
cmpl_libs -sim_path PFAD_ZU_MODELSIM/win64 -lang vhdl -device machxo2 -target_path PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl
Zum Beispiel:
cmpl_libs -sim_path C:/Programme/modeltech64_2020.1/win64 -lang vhdl -device machxo2 -target_path C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl
Quelle: Lattice Support
ModelSim die Lattice-Bibliotheken bekannt machen, wenn nicht schon automatisch geschehen! (Unter Punkt Library ganz unten)
Folgende Zeilen in der modelsim.ini unter dem Punkt Library hinzufügen:
machxo2 = PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl/machxo2 pmi_work = PFAD_ZU_MODELSIM/modelsim_lib_lattice_vhdl/pmi_work
Zum Beispiel:
machxo2 = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/machxo2 pmi_work = C:/Programme/modeltech64_2020.1/modelsim_lib_lattice_vhdl/pmi_work
Das Modelsim Makefile in den Ordner simulation_modelsim kopieren.
MS Visual Studio Code & Cygwin
- Download Shell Launcher in VS Code
- In VS Code -> Zahnrad -> Einstellungen -> Register Benutzer -> Erweiterungen -> Shell Launcher configuration -> In "settings.json" barbeiten -> folgendes hinzufügen:
"shellLauncher.shells.windows": [
{
"shell": "C:\\Windows\\System32\\cmd.exe",
"label": "cmd"
},
{
"shell": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"label": "PowerShell"
},
{
"shell": "C:\\Programme\\cygwin64\\Cygwin.bat",
"args": ["-l"],
"env": {"CHERE_INVOKING": "1"},
"label": "Cygwin Bash"
}
]
Jetzt kann mi der Tastenkombination Strg + Shift + t die Auswahl geöffnet werden.
Wenn nicht muss diese noch in den Tastenkombinationen angepasst werden.
ODER
Nachfolgendes unter Register Benutzer in die settings.json eintragen:
// start bash, not the mintty, or you'll get a new window
"terminal.integrated.shell.windows": "C:\\cygwin\\bin\\bash.exe",
// Use this to keep bash from doing a 'cd ${HOME}'
"terminal.integrated.env.windows": {
"CHERE_INVOKING": "1"
},
// Make it a login shell
"terminal.integrated.shellArgs.windows": [
"-l"
],