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

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

Chisel Bootcamp - Module3.5(2) - Scalaのコンパニオン・オブジェクトとケース・クラス

前回のChiselの記事ではChisel-bootcampのModule3.5に入りScalaオブジェクト指向言語としての特徴からクラスとトレイトについてを見ていった。

www.tech-diningyo.info

今回も引き続きModule3.5に取り組んでいく。前回の最後に記載したとおり今日はScalaのオブジェクト。

  • オブジェクト指向プログラミング
    • オブジェクト
      • 例題:オブジェクト
    • コンパニオン・オブジェクト
      • 例題:コンパニオン・オブジェクト
      • 何に使うの??
    • ケース・クラス
続きを読む

Chisel Bootcamp - Module3.5(1) - Scalaの抽象クラスとトレイト

前回のChiselの記事ではChisel-bootcampのModule3.4の練習問題でニューラルネットワークニューロン回路を実装するという問題に取り組んだ。

www.tech-diningyo.info

今回はModule3.5に入っていく。ここで扱うトピックはScala関数型言語とは別に存在するもうひとつの大きな特徴であるオブジェクト指向の仕組みについてだ。

続きを読む

Chisel Bootcamp - Module3.4(3) - Chiselで作るニューロン回路とChiselのFixedPoint

前回のChiselの記事ではChisel-bootcampのModule3.4でScalaの持つ関数型言語としての特徴をChiselにどう活かすかについてを勉強した。

www.tech-diningyo.info

前回の終わりにも書いたとおり、今日はModule3.4の残している練習問題に取り組んでいく。

続きを読む

Chisel Bootcamp - Module3.4(2) - 関数型言語の特徴を活かしたChiselのHW設計

前回のChiselの記事ではChisel-bootcampのModule3.4に入りChiselのベースになっているScala関数型言語としての特徴についてを確認した。

www.tech-diningyo.info

今日も引き続きModule3.4を勉強するが、今日はいよいよ関数型言語の特徴をどうChiselに活かすかという部分についてを見ていく。

続きを読む

Chisel Bootcamp - Module3.4(1) - 関数型言語

前回のChiselの記事ではChisel-bootcampのModule3.3の高階関数を使った設計の仕上げとして練習問題に取り組んだ。

www.tech-diningyo.info

今日からModule3.4に入る。Module3.4は関数型言語についてだ。

続きを読む

Chisel Bootcamp - Module3.3(2) - 高階関数 - map等を使ったアービターの設計

前回のChiselの記事では久しぶりにChisel-bootcampの学習に戻りScala高階関数についてを学習した。

www.tech-diningyo.info

今日も引き続き高階関数の章でもう少し例題の確認と練習問題に取り組んでいく。

  • 高階関数
    • 練習問題:map
    • 例題:zipWithIndex
    • 例題:reduce
    • 練習問題:reduce
    • 例題:fold
    • 練習問題:fold
    • 練習問題:Decoupledを使ったアービター
続きを読む

Chisel Bootcamp - Module3.3 (1) - 高階関数

前回のChisel-Bootcampの記事ではやっと標準ライブラリの紹介を終えたところだった。

www.tech-diningyo.info

ちょっと間が空いたがChisel-Bootcampを進めていこうと思う。今日は高階関数だ。

  • Module 3.3: 高階関数
    • モチベーション
    • 2つのFIRフィルタの物語
    • 引数としての関数
      • 引数の指定
      • Scalaで練習
続きを読む