本ツールは、Raspberry Pi Pico に搭載されている RP2040 および Pico 2 に搭載されている RP2350 のプログラマブル I/O (PIO) 用アセンブリコードを、Web ブラウザ上で実行・検証できるシミュレータです。インストール不要で、開いたページ内ですぐにステートマシンの挙動を確認できます。
PIO は CPU から独立して動作する小さなステートマシンで、I2S・WS2812・任意のシリアルプロトコルなど、タイミングがシビアな I/O 処理を CPU を介さずに実装できる強力な周辺機能です。一方で、専用の小さな命令セット・サイドセット・遅延・FIFOなどといった概念が独特で、実機書き込み前に挙動を理解するのは難しい部分があります。本シミュレータは、コードを 1 命令ずつステップ実行しながら内部状態を観察できるようにすることで、この理解を助けることを目的としています。
シミュレータは Pico SDK の pioasm と互換性のある記法でアセンブリを受け付け、jmp / wait / in / out / push / pull / mov / irq / set といった全命令と、サイドセット、.wrap / .wrap_target、遅延サイクル、IN/OUT/SET ピンマッピングなどに対応しています。実行中はステートマシンのレジスタ (X / Y / OSR / ISR / PC) ・TX/RX FIFO ・GPIO 0–31 の入出力状態・タイミングチャート・IRQ フラグをリアルタイムに可視化します。
pioasm
jmp
wait
in
out
push
pull
mov
irq
set
.wrap
.wrap_target
ブラウザ上で完結する純粋なクライアントサイド実装で、入力したコードや状態は外部に送信されません。RP2040/RP2350 の PIO プログラム開発、Pico SDK での学習、教材や勉強会での挙動説明などに自由にご利用ください。
out exec
mov exec
rel