TinyFPGA-BX 上の VexRiscv を FT232R チップで gdb する

Debugging VexRiscv, on TinyFPGA-BX, by OpenOCD + FT232R + GDB. 嬉しかったので、思わず欲張ってしまい、ブログのタイトルにキーワードを 4つも納めてしまいました。 先日、TinyFPGA-BX 上に RISC-V のソフトコアプロセッサ VexRiscv を載せて動かすところまで御紹介しましたが、今日は OpenOCD + gdb で V… 続きを読む »

[SpinalHDL] VexRiscv を TinyFPGA-BX で動かしてみる

Just ran softcore processor VexRiscv (RISC-V of course) on TinyFPGA-BX without XIP functionality. 相変わらずの SpinalHDL 日和です。 🙂 今日は、RISC-V ソフトコアプロセッサ実装で有名な VexRiscv を、これまた有名な FPGA ボード TinyFPGA-BX で動かしてみました… 続きを読む »

[小中学生向け] マイコン・ルーレットを作ろう

Building an electronic roulette by Arduino. 今日は少し趣向を変えて、子供向けの「電子ルーレット」の製作です。ちょうど春休みですし、件の外出自粛ということもあるので、トライしてみてはいかがでしょうか。必要な部品やソフトは全てネットで手に入ります。ハンダ付けや工具は使わないので、お子さんと一緒に作業しても安心です! オジサンオバサンのための昔ばなし(読まなく… 続きを読む »

[SpinalHDL] 本家 UART コードを読み解く

Reading SpinalHDL original UART code to get better insight. いままで、SpinalHDL で自前の UART を書いてきましたが、今日は SpinalHDL 本家の UART コードを読んでみました。どうも私は人様の書いたコードを読むのがあまり好きでないようで、ちょっとモチベーションが湧かなかったのですが、優秀な先達技術者の設計を読むのは… 続きを読む »

[SpinalHDL] 代入(assignment)について正しく理解する

Correct understanding of assignments in SpinalHDL. シミュレーション波形の見直し 先日、SpinalHDL で文字列送信のコードを設計しましたが、後になってシミュレーション波形を見ていて釈然としない点がありました。 以下に波形を示します。 io.payload の更新が 1クロック遅れる 最初のクロックエッジで io_payload g "H" に… 続きを読む »

[SpinalHDL] Spinal の FIFO(m2sPipe)を解読してみる

Before designing FIFO by myself, trying to understand Spinal m2sPipe. 前回、自力で FIFO の設計を試みましたが、直感的なやり方では設計が困難なことが分かりました。そこで、もう少し形式的な手法ということで、いくつか教科書をひっくり返し、Mealy マシンの設計について復習してみました。Google で検索するといろいろ出てくる… 続きを読む »

[SpinalHDL] FIFOの設計は難しかった

FIFO design was harder than expected. 今回は、SpinalHDL を使って FIFO の設計をしてみることにします。 FIFO ってなに? FIFO は、ソフト設計の世界ではキューと呼ばれることのほうが多いかも知れません。今回の私の興味としては、前回までに設計してきた UART との関係があります。例えば、UART 送信ブロックはシステムクロックの毎サイクルに… 続きを読む »

[SpinalHDL] UART 受信回路も設計してみた

Also designed UART Receiver. ソフト屋のための SpinalHDL FPGA 設計入門「UART 設計編」の番外編、受信回路の設計です。前回までに UART の送信回路を設計しました。送信回路ができれば受信回路も簡単だろう、受信回路は後回しにしてバス設計でも勉強するか、と思っていたのですが、受信回路には受信回路のノウハウがありそうなので、今日は受信回路を設計してみました… 続きを読む »

[SpinalHDL] UART を作って FPGA で動かす(その3)

Implementing  AMBA 3 APB (Advanced Peripheral Bus) for the designed UART transmitter. ソフト屋のための SpinalHDL FPGA 設計入門「UART 設計編」の第3回目です。前回は、UART 送信器の HDL コードをクリーンアップすると同時に、文字列送出のためのロジックを設計しました。さらにレジスタの初期化… 続きを読む »