[[Arduino勉強会]]

2019/04/07からのアクセス回数 &counter;

** 論理合成ソフトまでオープンソースなTinyFPGA-BX [#n27ea897]
TinyFPGA-BXオープンソースのFPGAボードです。
しかもVerilogから論理合成するソフトまでオープンソースです。

まだ、日本では販売されていませんが、SparkFunのサイトから購入できるので、
スイッチサイエンスに取り寄せてもらえます。
- https://www.sparkfun.com/products/14829
- http://mag.switch-science.com/2018/08/21/friday-product-post-miniaturize-your-project-with-tinyfpga/

私は製造元のCrowd Supplyから直接購入しました。
送られてきたTinyFPGA BXにはピン配置を説明するカードが同梱されています。

&ref(TinyFPGA-BX-bag.jpg,,25%);


ブレッドボードにもさせるコンパクトなサイズですが、RISC-Vの32bitCPUを実装できる程高機能です。以下のレビューが参考になります。

- https://www.elektormagazine.com/news/tinyfpga-bx-review/18818


** 開発環境 [#la21528b]
TinyFPGA-BXの開発には、以下の2種類があります。
- IceStudioを使ったGUIの環境
- Atomエディタを使ったコマンドラインベースの開発環境

*** IceStduioの環境構築 [#u2b95174]
IceStduioは、FPGAの開発環境をガラッと変えるGUIベースのエディタです。

IceStdudioでボード選択でTinyFPGA-Bxを選択すれば、ボードのピン番号で回路を組むことができます。
サンプルのOne LEDを開いてLEDのピンを割り当てた画面です。

&ref(OneLED_sch.png,,50%);

*** IceStudioのインストール [#l9c7d984]
以下のサイトから自分の環境にあったインストーラをダウンロードしてください。
私は、Mac OSのDMG packageを使ってインストールしました。

- https://github.com/FPGAwars/icestudio

Windowsの場合、インストール後以下のコマンドをcmd.exeから入力してください。

#pre{{
pip install --upgrade --no-cache-dir "tinyprog>=1.0.9"
tinyprog --update-bootloader
TinyProg CLI
------------
Using device id 1d50:6130
Only one board with active bootloader, using it.
The following update:
    New Version: 1.0.1
    Notes: Updates USB VID:PID to fix issues with APIO not recognizing the board.
is available for this board:
    COM3: TinyFPGA BX 1.0.0
        UUID: f55e9edd-ba84-4bc7-89cf-3a1b4187d0a2
        FPGA: ice40lp8k-cm81
Would you like to perform the update? [y/N]
}}

*** 動作確認 [#t3121be3]
IceStduioを起動後、以下の処理をしてください。
- ToolsメニューからDrivers>Enableを選択し、ドライバーをインストール
- SelectメニューからBoard>TinyFPGA BXを選択
- FileメニューからExamples>1.Basic>01.One LEDを選択

この時、以下のダイアログが表示されますので、CONVERTを選択してください。

&ref(Convert.png,,80%);


- LEDのプルダウンからLEDを選択
- ToolsメニューからUploadを選択

以上でTinyFPGAに回路が書き込まれ、2番ピンの右側のLEDが小さく点灯します。(真上から見ると消灯しているように見えます)

&ref(LED_Sample.jpg,,25%);


*** NAND回路 [#gf014edf]
[[FPGA/01-MAX3000Aを使ってみる>http://www.pwv.co.jp/~take/TakeWiki/index.php?FPGA%2F01-MAX3000A%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B]]
で試したNAND回路をTinyFPGA BXで作ってみます。

IceStudioでピンに対してプルアップしたり、チャタリング防止をするように部品をつなぐだけで、
ピンの設定を変更できます。

以下のようにNAND回路を作ります。

&ref(NAND-sch.png,,35%);

ブレッドボードでの結線は以下のようにします。このようにとても簡単に必要な回路を組むことができます。

&ref(NAND_Button_brd.jpg,,25%);



** コメント [#xb7fc33d]
#vote(おもしろかった[6],そうでもない[0],わかりずらい[0])
#vote(おもしろかった[7],そうでもない[0],わかりずらい[0])

皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。

スパム防止に画像の文字列も入力してください。
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc