Lattice flash: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) (→CygWin) |
Nick (Diskussion | Beiträge) |
||
| (52 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
* Installation Diamond | * Installation Diamond | ||
=CygWin= | ==CygWin== | ||
Anleitung zum bauen und flashen von | Anleitung zum bauen und flashen von VHDL-Code mit Cygwin. | ||
==Tools in CygWin== | ===Tools in CygWin=== | ||
Über den CygWin-Downloader zu installieren. | |||
* make | * make | ||
* vim | * vim | ||
==Umgebungsvariablen setzen== | ===Umgebungsvariablen setzen=== | ||
vim setup_lattice.sh | vim setup_lattice.sh | ||
Inhalt: (Pfade anpassen) | Inhalt: (Pfade anpassen) | ||
| Zeile 49: | Zeile 50: | ||
- synthesis_lattice # Synthesedateien | - synthesis_lattice # Synthesedateien | ||
Das Synthese | 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=== | ||
In CygWin in den Ordner <code>Projektname/synthesis_lattice</code> navigieren: | In CygWin in den Ordner <code>Projektname/synthesis_lattice</code> navigieren: | ||
make bitgen # build bit-file | make bitgen # build bit-file | ||
make program # program RAM volatile | make program # program RAM volatile | ||
make finalflow # program Flash non volatile | make finalflow # program Flash non-volatile | ||
=ModelSim= | =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 <code>LM_LICENSE_FILE</code> hinzufügen: | |||
**Name: <code>LM_LICENSE_FILE</code> | |||
**Wert: <code>1717@fwfs01</code> | |||
==Konfiguration== | |||
Anpassen der <code>modelsim.ini</code>: | |||
VHDL93 = 2008 # Version | |||
Resolution = ps # zeitliche Auflösung WaveformView in Picosekunden | |||
==CygWin Vorbereitung== | |||
Die Tools | |||
*<code>vmk.exe</code> | |||
*<code>ccze.exe</code>(optional) | |||
in den Ordner <code>pfad_zu_cygwin/home/BENUTZER/bin</code> kopieren.<br> | |||
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: [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> | |||
Folgende Zeilen in der <code>modelsim.ini</code> 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 <code>Makefile</code> in den Ordner <code>simulation_modelsim</code> kopieren. | |||
=MS Visual Studio Code & Cygwin= | =MS Visual Studio Code & Cygwin= | ||
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"
],