ソフト屋のための SpinalHDL FPGA 設計入門(その3)

Continue sleepy LED PWM project by SpinalHDL. 前回の続きです。前回までで PWM の基本ロジックが完成したので、今回は LED ホワホワルーチン、じゃなかった、ホワホワロジックを設計していきましょう。 前回までの流れ 初めての SpinalHDL: デジタル PWM を SpinalHDL で書いてみよう Verilog 生成とシミュレーション: 記述した回路をシミュレーションしてみよう 前々回に設計したブロック図を再掲します。 … 続きを読む »

ソフト屋のための SpinalHDL FPGA 設計入門(その2)

How to begin a simple SpinalHDL project and simulate it. 本年もよろしくお願いいたします。 前回は SpinalHDL でデジタル PWM 回路を設計してみました。今回は、それをシミュレーションで動作させ、期待通りの波形が出力されるか見てみましょう。 前回までの流れ 初めての SpinalHDL: デジタル PWM を SpinalHDL で書いてみよう SpinalHDL プロジェクトファイルの準備 前回、Spinal… 続きを読む »

[番外編] ESP8266 前史

How we built network connected devices before ESP8266 was born. 大掃除をしていたら、既にお役御免になったこんなデバイスが現れました。   どんなデバイスかというと、Wi-Fi 経由でコマンドを受け取って、照明器具をオンにしたりブザーを指定回数鳴らしたり、という、今でいう IoT のハシリのような装置ですね。作成したのは、2011年の東日本震災直後のことです。 …実はもっと正確に言うと、この装置はインターネットから… 続きを読む »

ソフト屋のための SpinalHDL FPGA 設計入門(その1)

FPGA design tutorial by SpinalHDL for embedded software engineers. 先日、SpinalHDL というハードウェア記述言語を簡単に紹介しました。最終的な目標は RISC-V を使って FPGA 上に SoC を設計実装することですが、目標が高すぎるのでハードルを下げます。まずは、VexRiscv を実装しているハードウェア記述言語 SpinalHDL を(少し)勉強し、簡単な論理回路を FPGA(具体的には Ti… 続きを読む »

Nordic nRF52 を GCC で開発する(通信アプリ編)

Building a Nordic nRF52 BLE app by GCC and Eclipse. 前回は、とりあえず GCC と Eclipse をインストールし、Nordic nRF52 DK ボード上で「LED チカチカ」プログラムを動かしてみました。前回できなかったテーマ(宿題)を、今回は進めて行きましょう。 Eclipse 上からフラッシュ ROM に書き込もう 前回は、make コマンドでフラッシュ ROM にプログラムを書き込みましたが、実は Eclipse… 続きを読む »

年末の Roomba オーバーホール兼メンテナンス

Overhaul and maintenance of iRobot Roomba 530.  Finally identified a photo transistor was broken. 年末恒例の、お掃除ロボット Roomba(ルンバ)のオーバーホールです。オーバーホールに合わせてバッテリーやブラシを交換することもあるのですが、今回はなしです。その代わり、以前から気になっていた現象の徹底調査をすることにしました。 うちの Roomba は 2008年に購入したもので… 続きを読む »

久々に Nordic nRF52 を触ってみる(GCC + Eclipse 編)

Evaluating Nordic nRF52 with GCC and GNU MCU Eclipse. 今日は趣向を変えて、久々に Nordic 社の nRF52 を触ってみます。同社のマイコンは、Bluetooth LE(以下、BLE)など低消費電力の通信アプリケーションに特化していて、コイン電池などでも長時間動作させられるのが特徴です。 開発ツールですが、今回は Keil uVision (MDK-ARM) は使用せず、GNU toolchain と Eclipse … 続きを読む »

[オダサガの名店] からあげ定食@三祐

小田急相模原の町中華、三祐さんの訪問記事です。「オダサガ一人飯アーカイブス」さんが「オダサガでいちばんおいしいからあげ」と紹介されていましたが、残念ながら閉業なさってしまいました。長い間、おいしい料理をありがとうございました。最近、三祐さんのできばえの 60点くらいまで自作できるようになったので、コツを公開させて頂きました。

RISC-V ソフトコア VexRiscv の始め方(その1)

How an FPGA beginner (or me) start evaluation of VexRiscv. 前々回の宿題で、nextpnr を動かした後は picorv32 の詳細を勉強しようと思ってましたが、ちょっと方針を変更して、VexRiscv をいじってみようと思います。その理由としては、 VexRiscv ではキャッシュコントローラが提供されていること(RAM をあまり持たない FPGA、SPI フラッシュメモリを持っている TinyFPGA BX では、… 続きを読む »

TinyFPGA BX で RISC-V を動かしてみる(nextpnr 編)

Now using nextpnr instead of Arachne-pnr. さて、一つ目の宿題をやってみます。前回は placing and routing に Arachne-pnr を使いましたが、今回は nextpnr を試してみます。 nextpnr は、こちらからダウンロードしてインストールしました。バージョンはコミット dd7f7a5 です。 Makefile を書き換える まず、TinyFPGA-BX/examples/picosoc のオリジナル Ma… 続きを読む »