開発日記

Erlangをダラダラ書きます。

ChiselでRISC-Vコア開発(1)

本日から「ChiselでRISC-Vコア開発」のプロジェクトを始める.

出来る限り,毎日投稿していく予定だ.

本プロジェクトは,書籍「RISC-VとChiselで学ぶはじめてのCPU自作」(以下Chisel本)で学んだことを活かして,自作のRISC-VコアをChiselで実装していく.

Chisel本のRISC-Vコードは見ずに,自分なりのコアを作ろうと思っている.

gihyo.jp

開発環境

アーキテクチャx86_64

OS:Ubuntu 20.04.3 LTS

他に書くことあるかな??

環境構築

まずは必要なツールをインストールする.こちらはChisel本の環境を参考にした.

1. chisel-template

chiselのプロジェクトの雛形を提供してくれる.詳しくはReadme.mdを読もう.

github.com

2. Docker

コンテナと呼ばれる仮想環境を提供してくれる.利用しているOSに応じたバイナリをインストールしよう.

docs.docker.com

ここでは,下記を参考にインストールした.

www.digitalocean.com

make dockerfile

dockerfileはChisel本のものを利用する.勉強になります.

github.com

docs.scala-lang.org

github.com

  • RISC-Vの各命令のテストスイート「riscv-tests」

github.com

  • Scala用のビルドツール「sbt」

www.scala-sbt.org

  • その他基本ツール...

make image

DockerfileからDockerイメージを作成. docoerfileのあるディレクトリでコマンド実行する. 環境によるが,まあ時間かかる.

$ docker build . -t riscv/image

make container

イメージ(riscv/image)からコンテナ(仮想環境)を作成する.

$ docker run --rm -it -v ~/vcsir:/src riscv/image

環境構築は以上. 次回は実装する命令セットについて見ていく予定.

ではでは.いろはにへとへと.