
Tang Nano 9Kをオープンソースツールで使う
オープンソースのツールを使ってTang Nano 9Kを使っていくチュートリアルです
使用ソフトウェア
合成
Yosysはオープンソースの合成ツールで、ハードウェア記述言語(HDL)で記述されたコード(例えばVerilogやVHDL)をFPGAやASIC向けのネットリストに変換します。これにより、FPGAに実装するための論理回路を生成することができます。
yosys -p "synth_gowin -json design.json" led_blink.v
配置と配線
nextpnr-himbaechel
は、FPGAの配置と配線を行うツールで、具体的には「nextpnr」というツールの一部です。FPGAのロジックを物理的に配置し、接続を最適化する役割を担います。himbaechel
は特定のFPGAファミリ向けにカスタマイズされたバージョンで、ターゲットとなるFPGAに適した配置を提供します。
nextpnr-himbaechel --json design.json --write design_routed.json --device GW1NR-LV9QN88PC6/I5 --vopt family=GW1N-9C --vopt cst=tangnano9k.cst
ビットストリーム生成
gowin_pack
は、GoWin FPGA向けのツールで、合成されたネットリストをGoWin FPGAデバイス用にパッキングする役割を持ちます。これは、FPGAの配置と配線の最終的な準備段階であり、デバイスに適した形式でビットストリームを生成するために使用されます。
gowin_pack build/design_routed.json -o design.fs -d GW1N-9C
ロード
openFPGALoader
は、FPGAのビットストリームをデバイスにロードするためのツールです。これを使うことで、生成したビットストリームファイルをFPGAに転送し、実際に動作させることができます。USBなどを介してFPGAに直接プログラムをロードすることができます。
openFPGALoader -b tangnano9k design.fs