投稿者「yokoyama」のアーカイブ

[SpinalHDL] FPGA に JTAG 機能を載せて Python から制御する

Deployed JTAG functionality of SpinalHDL on TinyFPGA BX and controlled it by Python. いままで、TinyFPGA BX に PWM 機能を載せてみたり、RISC-V を JTAG デバッグしてみたりしてきましが、今回は RISC-V を使わずに JTAG 機能だけを評価してみることにしました。JTAG というとマイコンデバッグのイメージが強いですが、本来、デジタル回路を外部から観測したり制御し… 続きを読む »

[小中学生向け] ラズパイでパソコン版の Minecraft を動かそう

Running Minecraft Java Edition on Raspberry Pi. おうちで遊ぼう、勉強しよう! 先日、Raspberry Pi(ラズパイ)の上で Minecraft Pi Edition(小さな Minecraft サブセット)を動かす方法を御紹介しましたが、その中でお約束したように、ラズパイの上で本物の(つまり、Java Edition)の Minecraft を動かしてみましょう。 私は、自分が持っている Raspberry Pi 3 Mod… 続きを読む »

[小中学生向け] ラズパイの Minecraft でプログラミングしてみよう

Minecraft programming on Raspberry Pi for kids. おうちで遊ぼう、勉強しよう! 前回、Arduino を使ったお子様向けの工作記事を書いてみましたが、学校のお休みがいつまで続くか分からず、不安を感じるお子さん、そして御両親が増えているのではないかと思います。そこで、せっかくのまとまった時間ですし、家の中でも楽しめるプログラミングの勉強などいかがでしょうか。 ただプログラミングと言っても、退屈な内容ではすぐに飽きてしまうと思いますの… 続きを読む »

VexRiscv とメモリ間のバス信号を覗いてみる

Investigating bus transactions between VexRiscv core and memory. FPGA 用の RISC-V 実装である VexRiscv と、それを使った Murax SoC の素晴らしい点の一つに、標準で JTAG インターフェイスと、OpenOCD によるデバッグ機能が用意されていることが挙げられます。もちろん実デバイス(FPGA)でも JTAG デバッグができますが、それだけでなくシミュレーション上でも同様のことができ… 続きを読む »

VexRiscv (RISC-V) の Murax SoC に自作ペリフェラルを追加してみた

Added a PWM output control to VexRiscv (RISC-V) Murax Soc. 先日、VexRiscv Murax SoC を TinyFPGA-BX で動かす修正を御紹介しましたが、今回は自分で書いた小さな小さなペリフェラル(PWM 出力)を APB3 バス経由で Murax SoC に繋いでみました。 SpinalHDL によるコードは非常にシンプルで明解です。じゃん。 package flogics.vexriscv.pwm imp… 続きを読む »

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

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

[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 で動かしてみました。技術的には難しくないと思うのですが、SpinalHDL を知らないと、ちょっと… 続きを読む »

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

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

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

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

[SpinalHDL] TinyFPGAを使い、自作UART + APB3で文字コード変換してみる

By adding APB3 and a state machine to my UART, convert character code on TinyFPGA BX. 前回まで、しばらく自作の UART 回路を改良(?)してきましたが、新学期も近いことですし(?)今回は以下を完成させ、自作 UART にいちおうケリをつけようと思います。 UART 受信回路にも APB3(AMBA 3 APB)を設ける シミュレーションコードの掃除 マイコンを使わずに文字コード変換(小文字… 続きを読む »