このブログでは自分のChiselの勉強を進めるための題材としてChisel-Bootcampを使わせてもらっている。
今回はChisel-Bootcampをやっていて今まで放置していた部分について、仕組みを調べてたのでそれをまとめてみる。
- getVerilogって何よ?
- ソースコードを追ってみる
- dsptoolsが使えるわけ
前回はChiselのBundle
へのアクセスを簡単にする方法を紹介した。
今回はいま実装しているHWの処理の関係で算術右シフトが必要になった時に、どうすれば良いのか悩んだので、その話をまとめておく。
前回のChiselのPeekPokeTester
にはInt
をBigInt
に変換するメソッドが合ったのでそrを紹介した。
今回も最近Chisel書いていて「あ、これ出来るんじゃん!」という気付きがあったので、それをまとめておこうと思う。ぶっちゃけScalaが分かってないというのも関係してるので「なんだそんなことかよ。。。」ってなるかも。
前回のChiselのテスト実行時にプログラム引数を指定する方法についてを紹介した。
今日は以前に書いた”UIntの大きな定数を指定する方法”を書いた時には気づかなかったメソッドを見つけたのでそれを紹介しようと思う。
今日はChiselのためのScalaのお勉強ネタを。調べるのはScalaのテストハーネスの一種であるScalaTestについて。
事の発端はSCR1というRISC-Vの実装をChiselで書いてみようとしていて、その際にriscv-
testsの各試験をChiselのテストハーネスであるChiselFlatSpec
を使ってどのように実装すれば良いのかがわからなかったからで少し調べたところChiselFlatSpec
を理解するためにはベースになってるScalaTestのFlatSpec
を理解しておかないと駄目な気がした、という話。
なお本記事は以下のQiitaの記事をなぞるところからスタートします。
Step単位で説明してくれていて分かりやすかったです。ありがとうございますm(_ _)m
※ScalaTestのバージョンが上がった関係でパッケージが移動したりしてたので、それは新しいものに合わせて直しました。
またScalaTestの説明も含めてドワンゴさんのScalaの研修テキストも併せて参考にさせていただきました。 こちらも分かりやすい資料を公開していただき、ありがとうございますm(_ _)m