Lattice flash: Unterschied zwischen den Versionen
Nick (Diskussion | Beiträge) |
Nick (Diskussion | Beiträge) |
||
| (70 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
* Installation Diamond | * Installation Diamond | ||
=CygWin= | ==CygWin== | ||
==Tools in CygWin== | Anleitung zum bauen und flashen von VHDL-Code mit 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) | ||
#!/bin/bash | #!/bin/bash | ||
lat_path=/cygdrive/f/Programme/lscc | lat_path=/cygdrive/f/Programme/lscc/diamond/3.12 | ||
export FOUNDRY="F:/Programme/lscc | export FOUNDRY="F:/Programme/lscc/diamond/3.12/ispfpga" | ||
setx FOUNDRY "F:/Programme/lscc | setx FOUNDRY "F:/Programme/lscc/diamond/3.12/ispfpga" | ||
mkdir ~/bin | mkdir ~/bin | ||
| Zeile 39: | Zeile 42: | ||
chmod +x setup_lattice.sh | chmod +x setup_lattice.sh | ||
./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 [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=== | |||
In CygWin in den Ordner <code>Projektname/synthesis_lattice</code> 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 <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= | |||
*Download [https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher 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 <code>Strg + Shift + t</code> die Auswahl geöffnet werden.<br> | |||
Wenn nicht muss diese noch in den Tastenkombinationen angepasst werden.<br><br> | |||
'''ODER'''<br><br> | |||
Nachfolgendes unter Register Benutzer in die <code>settings.json</code> 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" | |||
], | |||
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"
],