!LiteX まずは手軽に,[litex-boards|https://github.com/litex-hub/litex-boards]にある御仕着せの環境からかな,と, [LiteX installation guide|https://github.com/enjoy-digital/litex/wiki/Installation]に従ってみる :: セットアップ $ wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py $ chmod +x litex_setup.py $ ./litex_setup.py --init --install --user $ ./litex_setup.py --update $ pip3 install meson $ sudo apt install gcc-riscv64-unknown-elf # ./litex_setup.py --gcc=riscv の代わり $ sudo apt install libevent-dev libjson-c-dev verilator # sim環境 :: OpenOCD [FPGA and SPI Flash programmers|https://github.com/enjoy-digital/litex/wiki/FPGA-and-SPI-Flash-programmers]を参考に. libtoolとpkg-configが必要なので,インストールしてなければいれる. makeしたら,libftdiのdeprecatedなAPI呼んでてビルドできなかったので, Makefile中の -Werror を削除してビルド. で,実行時の権限を考慮して,とりあえず自分だけの環境だ,っていうことで, sudo chmod u+s `which openocd` とか. :: Artyで試してみる $ source /tools/Xilinx/Vivado/2024.1/settings64.sh $ cd litex-boards/litex_boards/targets $ ./digilent_arty.py --build $ ./digilent_arty.py --load たとえば,/dev/ttyUSB でLiteXコンソールにアクセスできる litex> help litex> leds 255 litex> leds 0 litex> ident Ident: LiteX SoC on Arty A7 2024-07-09 20:18:52 litex> sdram_test Memtest at 0x40000000 (8.0MiB)... Write: 0x40000000-0x40800000 8.0MiB Read: 0x40000000-0x40800000 8.0MiB Memtest OK litex> mem_list Available memory regions: ROM 0x00000000 0x20000 SRAM 0x10000000 0x2000 MAIN_RAM 0x40000000 0x10000000 CSR 0xf0000000 0x10000 とか. :: GateMateで試してみる $ export PATH=$HOME/tools/GateMate/bin:$PATH $ export PATH=$HOME/tools/GateMate/cc-toolchain-linux/bin/p_r:$PATH $ ./colognechip_gatemate_evb.py --build $ ./colognechip_gatemate_evb.py --load USBは別途用意する必要がある. ボード上のPMOD Bの2番がRX(USB <- FPGA),3番がTX(USB -> FPGA). litex> ident Ident: LiteX SoC on GateMate EVB 2024-07-09 21:06:48 litex> mem_list Available memory regions: ROM 0x00000000 0x20000 SRAM 0x10000000 0x2000 CSR 0xf0000000 0x10000 できたできた. :: Arty A7-100で動かしてみる $ ./digilent_arty.py --build --variant=a7-100 $ ./digilent_arty.py --load --variant=a7-100 よくできてる.