[[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