LoginSignup
4
2

Tang-Nano-9K で AND 回路を作ってみた

Last updated at Posted at 2023-05-04

はじめに

 G.W.の課題の FPGA 開発として手始めに組み合わせ回路である AND 回路を作ってみました。

 開発環境は以下のとおりです。

  • FPGA: GW1NR-LV9QN88PC6/I5
  • EDA: Gowin V1.9.8.09 Education Edition (Windows)
  • OS: Windows11

Verilog ファイルの作成

 メニューバーの File > New > Verilog File から top.sv というファイル名で作成しました。内容は以下のとおりです。

// top.sv
module top (
    input IN_A,
    input IN_B,
    output OUT_C
);

    // Tang-Nano-9Kの基板上に実装されているLEDは不論理なので反転する
    assign OUT_C = ~(IN_A & IN_B);

endmodule

物理制約ファイルの作成

 メニューバーの File > New > Physical Constraints File から top.cst というファイル名で作成しました。内容は以下のとおりです。

// top.cst
IO_LOC "IN_A" 79; // PIN79_IOT12B_1V8
IO_PORT "IN_A" IO_TYPE = LVCMOS33 PULL_MODE = DOWN;

IO_LOC "IN_B" 80; // PIN80_IOT12A_1V8
IO_PORT "IN_B" IO_TYPE = LVCMOS33 PULL_MODE = DOWN;

IO_LOC "OUT_C" 16; // PIN16_IOL26B_LED6
IO_PORT "OUT_C" IO_TYPE = LVCMOS33 PULL_MODE = UP;

 ピン番号はピン配置図から選択しました。ピン配置図は次のURLからダウンロードすることができます。
https://dl.sipeed.com/shareURL/TANG/Nano%209K/2_Schematic

 コネクタとFPGAのピン対応は次のようになっています。FPGAの79番がコネクタJ6の9番ピンに、FPGAの80番がコネクタJ6の8番ピンに対応していることが分かります。

 LEDは次のようにFPGAの16番がLED6に対応しています。

 メーカーサイト (https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html) のピンマップも参考にしてください。

回路図の確認

 問題なく回路が組めていれば、メニューバーの Tools > Schematic Viewer から回路図ビューワーを開いて、回路図を確認することができます。今回のHDLで生成された回路は次の通りです。意図した回路になっていることが確認できました。
スクリーンショット 2023-05-04 140746.png

動作確認

 ビットストリームを生成してFPGAに書き込んで動作を確認しました。写真はFPGAから供給される3.3Vを8番、9番ピンに入力してANDを取った結果、LED6が点灯している様子です。入力のどちらもHiでないと消灯することも確認しました。

おわりに

 入門としてごく簡単なものですが、意図した通りに動くと楽しいですね。また、このようなデバイスと開発環境が2,500円程度で手に入るということに感動しました。

参考文献

[1] CQ出版社. 2500円ボードで始めるFPGA開発 Vol.2. Interface. 2022, 12月号, 別冊付録1

4
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2