FPGA実装のためのRISC-V CPU設計 ① Pythonで学ぶRV32I命令セットの構造と実行原理
EdgeChipLab
CPUを作ろうと決心すると、たいていはまず回路図を探します。ところが図面を広げた瞬間、 答えられない疑問が生まれます。このブロックはなぜここになければならないのでしょうか? レジスタを読み取る ポートはなぜ2つあるのでしょうか? 答えはすべて命令にあります。命令が何を要求しているのかが分かれば、どのような回路が必要なのかが 決まります。逆の順序ではいきません。 RISC-Vの講義はすでにいくつもあります。しかし、そのほとんどはスライドに値を表示して "このように なります" と言ったあと、先へ進んでしまいます。受講者には、その値が正しいかどうかを確認する方法がありません。 この講義では、Python製の命令実行シミュレーターも一緒に提供します。run ADDと入力すれば、その 場で機械語がアセンブルされ、32ビットがフィールドごとに展開され、レジスタがどのように変化するのかが 画面に表示されます。教材にあるすべての数字はこのツールの実行結果であり、皆さんの画面上でも同じように 再現されます。 市販のデバッガーにはライセンスが必要で、シミュレーターはインストールが壁になります。このツールはPythonさえ あれば使えます。ボードも、ライセンスも、インストールも必要ありません。 RV32Iの命令40個を一つも漏らさず実際に実行し、回路が何をしなければならないのかを自分で見つけ出していく 過程です。
Basic
riscv, cpu-architecture, instruction-set-architecture














![Linuxカーネルの構造と原理:デバッグ - Basic [著者直講 第1部-2]Course Thumbnail](https://cdn.inflearn.com/public/courses/333148/cover/a6c28b23-47d5-452e-8b62-5ba8c769f904/333148.png?w=420)

