ハードウェアの気になるあれこれ

技術的に興味のあることを調べて書いてくブログ。主にハードウェアがネタ。

Vivado

Chiselで簡単なRISC-Vを作った話

今年のGWの自分宿題としてものすごく簡単なRISC-Vを作っていました。 ツイッター見てる方はご覧になってたかもしれませんが、GW中に一応riscv-tests位ならPASSするものが出来ています。 今回はその後にVivadoで合成してみた結果も取ることが出来たのでそれも…

Ultra96向けのBSP&PetaLinuxで作ったrootfsへの差し替え

前回のUltra96ネタではUltra96用のBSPとPetaLinuxを使って自前でビルドしたBOOT.BINを使ってボード上にbitファイルを読み込み、Linux側からアクセスが可能なことを確認した。 www.tech-diningyo.info 次はドライバでも、、と書いたのだが、前回は少しサボっ…

AvnetのUltra96を買ってみた

勢いでAvnet Ultra96ボードを購入してみた。 せっかくなのでチュートリアルを一通り試して、どんなもんかね?というのをまとめてアドベントカレンダーのネタにしてみたもの。

Chisel Bootcamp - Module3.2(6) - 練習問題:Vecを使ったRISC-Vのレジスタファイル

前回の記事ではChisel BootcampはChiselのコレクション型である`Vec`について調べた。 今日はModule3.2の締めくくりとして練習問題を見ていく。

RISC-Vの実装の1つ - SCR1の解析 - シミュレーション環境の疑問点の確認(2)

前回のSCR1ネタではVivadoシミュレータを使用した際に`$readmemh`がうまく行かない問題を解析していった。 今回はもうひとつ残っているシミュレーションが正常に終わらない問題について解析していく。

RISC-Vの実装の1つ - SCR1の解析 - シミュレーション環境の疑問点の確認(1)

前回のSCR1ネタ最後に以下のように書いた。 ここまでに記載したようにとりあえず...の対策をいくつか施して動かした部分もあるし、実はこのシミュレーションも正常に終わってなかったりしているので、引き続きもう少しシミュレーション環境の調査を行ってい…

RISC-Vの実装の1つ - SCR1の解析 - riscv-testsの実行

前回のSCR1の記事ではriscv-toolsのビルドを行い、spikeを使ってRISC-Vのバイナリの実行が可能なことを確認した。 tech-diningyo.hatenablog.com 今回はビルドしたRISC-V用のtoolchainを使ってriscv-testsをSCR1向けにビルドしVivadoのシミュレータでシミュ…

RISC-Vの実装の1つ - SCR1の解析 - Vivadoプロジェクト準備(3)

今回も引き続き、SCR1のVivadoシミュレーション環境のエラー解析を行っていく。 今回はVivadoシミュレーション本体がSIGSEGVでツールごと落ちる問題を見ていく。

RISC-Vの実装の1つ - SCR1の解析 - Vivadoプロジェクト準備(2)

前回Vivado上でSCR1コアのプロジェクトを立ち上げシミュレーションを実行したところ、エラーが発生した。 今回の記事ではそのエラー内容の解析を行っていく。

RISC-Vの実装の1つ - SCR1の解析 - Vivadoプロジェクト準備(1)

RISC-Vのサイトに紹介されているコアで、最初の学習に良さそうなコアを探したところsyntacoreコア社のSCR1というコアが扱いやすそうなので、このコアをシミュレーションできる環境をVIvadoシミュレータを使って立ち上げていく。

Vivadoシミュレータの動作確認

最近日本でも話題になっていきたRISC-Vを触ってみたくなったので、Chiselを勉強してみようと思いたった。 公開されているRISC-VコアをVivado上で動かして確認していくつもりなので、まずはVivadoのシミュレーション環境を立ち上げていく。