====== Programavání hradlových polí FPGA ====== ===== Routování VHDL ===== Pro vytváření schéma v FPGA je aktuálně nutné využít software od Xilinx. Jeho instalační soubory jsou [[http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/design-tools.html|dostupné pro různé platformy]]. Je však vhodné zmínit, že pro instalaci tohoto typu softwaru potřebujete minimálně 20 GB volného místa na systémovém disku. ==== Linux ==== Instalaci spustíme po rozbalení staženého archivu spuštěním instalačního skriptu z příkazové řádky: sudo ./xsetup Pro instalaci freeware verze routeru zvolíme pro instalaci produkt "WebPack". Na konci instalace bude požadován licenční soubor, který lze získat ve svém profilu na webu Xilinx. Po dokončení instalace je vhodné správně nastavit systémové proměnné PATH source settings64.sh Skript //settings64.sh// najdeme společně mezi skripty pro 32 bit achitektury v umístění, kam byl Xilinx ISE nainstalován. např. ///software/Xilinx_ISE/14.6/ISE_DS/// Následsně lze Xilinx ISE Project navigator spustit příkazem: ise Pro vyzkoušení fungování překladu pak otevřeme nějaký jednodušší projekt. Například [[cs:acounter|Atomový čítač]], nebo některou demonstrační konstrukci z dokumentační složky modulu. ===== Nahrávání schéma do FPGA ===== ==== Xilinx Virtual Cable ==== {{ :cs:fpga:schemacyklu_small.png?nolink |}} [[cs:xvc_ft220x|Xilinx Virtual Cable]] je metoda spočívající v tom, že vývojové nástroje přesměrovávají komunikaci s JTAG programovacím kabelem přes TCP/IP síť. Na druhé straně sítě běží obslužný program, který zajišťuje provádění JTAG příkazů prostřednictvím (nějakého) hardwaru připojeného ke vzdálenému systému. Síťový protokol je dokumentovaný a jeho podpora je vestavěna ve vývojovém balíku ISE pro práci s FPGA a CPLD firmy Xilinx. Lze tak snadno realizovat navázání vlastní varianty JTAG rozhraní do standardních vývojových nástrojů (ISE i ChipScope). ==== JTAGFT2232V02A (Bus Blaster V4) ==== Ve stavebnici MLAB ještě existuje i univerzální programovací modul [[cs:jtagft2232v]]. Pro programování FPGA je v takovém případě vhodné využít program [[http://xc3sprog.sourceforge.net/|xc3sprog]]. Jeho výhodou je, že má plně zpracovanou softwarovou podporu, takže je možné s ním zapisovat i do interní flash Spartan 3. ====== Open-source nástroje ====== Pro některá FPGA nyní již existují [[https://f4pga.org/ | open-source nástroje]] příkladem takového typu FPGA je například modul [[cs:proglog|]] sudo apt install yosys nextpnr-ice40 iverilog fpga-icestorm gtkwave graphviz gnuplot pip3 install amaranth amaranth-yosys xdot