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

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

2019-04-01から1ヶ月間の記事一覧

Chiselで2次元メモリっぽいのを作る(1)

今回はふとChiselで2次元のメモリは作れるのか??と思ったので試してみたのでそれをまとめてみようと思う Chiselで2次元のメモリ 試してみたことその1~Mem in Mem~ 試してみたことその2~じゃあBundleでくるんでみよう~ 試してみたことその3~それな…

ChiselのBundleをRegInitに渡すときに各フィールドを任意の値で初期化する方法(2)

今日は昨日の続き。 昨日はBundleをRegInitに渡すときにBundle内の各フィールドを任意の値で初期化する方法について考えた。 目的の処理は出来ることは分かったのだが、記述がイマイチなので今日はそれを少し整えてみようと思う。

ChiselのBundleをRegInitに渡すときに各フィールドを任意の値で初期化する方法(1)

以前にBunldeで構造化したデータを使ってレジスタをインスタンスする方法を紹介したのだがその記事を書いたときにもう一つコレ出来たらいいなっと思いながら出来なかったことがあった。 それは”Bundleを使ってレジスタ郡を作る際に、各フィールド毎に任意の…

Chiselのメモリにファイルのデータをロードする方法

今回もChiselのTips的なやつでChiselのメモリにファイルのデータをロードする方法についてを紹介する。

ChiselFlatSpecを使ったテストを並列化して高速に実行する方法

今日はChiselのテストの時にTips的なやつを。 ChiselFlatSpecを使って作ったテストクラス内の各テストは通常、実装した順に逐次実行される。 この単一クラス内のテストを並列に実行する方法はないのかしら??と探してみたところ、めちゃくちゃお手軽にテス…

Chisel Bootcamp - Module3.6(5) - 型クラスと使うジェネリクス型

今日は久しぶりにChisel-Bootcamp。 前回のChisel-Bootcampの学習ではジェネリクス型について学んだ。 今回はModule3.6の残りの部分を見ていく。ただエラーが出たりするので、そのへんは追って調査する事にして飛ばしていく。

Chisel-Bootcampの気になってたことを調べてみた

このブログでは自分のChiselの勉強を進めるための題材としてChisel-Bootcampを使わせてもらっている。 今回はChisel-Bootcampをやっていて今まで放置していた部分について、仕組みを調べてたのでそれをまとめてみる。 getVerilogって何よ? ソースコードを追…

Chiselで算術右シフトをするにはどうすればいいかを調査した

前回はChiselのBundleへのアクセスを簡単にする方法を紹介した。 www.tech-diningyo.info 今回はいま実装しているHWの処理の関係で算術右シフトが必要になった時に、どうすれば良いのか悩んだので、その話をまとめておく。 Chiselで算術右シフト Chiselでは…

ChiselのBundleをvalで受けるといろいろ便利だった話

前回のChiselのPeekPokeTesterにはIntをBigIntに変換するメソッドが合ったのでそrを紹介した。 www.tech-diningyo.info 今回も最近Chisel書いていて「あ、これ出来るんじゃん!」という気付きがあったので、それをまとめておこうと思う。ぶっちゃけScalaが…

ChiselのPeekPokeTesterにはIntをBigIntに変換するメソッドがあった話

前回のChiselのテスト実行時にプログラム引数を指定する方法についてを紹介した。 www.tech-diningyo.info 今日は以前に書いた”UIntの大きな定数を指定する方法”を書いた時には気づかなかったメソッドを見つけたのでそれを紹介しようと思う。 ChiselでUIntの…