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

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

2018-09-01から1ヶ月間の記事一覧

Scalaの勉強 - トレイト(3)

今日でトレイトの章は最後で、トレイトを使った場合の初期化時に発生する変数の初期化順序とそれに纏わる問題、またこの問題に対してScalaの文法で定義されているlazyを使った遅延評価についてを見ていく

Scalaの勉強 - トレイト(2)

ちょっと間が空いたけど、再びScalaの勉強に取り組んでいく。 前回のScalaネタ最後に まだこの章は続くのだけど、今日はここまで。 www.tech-diningyo.info と書いた。なので今日はトレイトの章の残りを見ていく。 トレイトの様々な機能 菱型継承問題 overri…

SCR1の解析 - ecall命令の処理とriscv-testsの終了条件の確認

昨日の記事の結びで以下のように書いた。 > ということは`ecall`命令がうまく処理されていないことになるが、そもそも`ecall`命令って何??な状態なので次回は`ecall`命令の中身を把握するところからやっていきたい。 [https://www.tech-diningyo.info/entr…

SCR1の解析 - riscv-tests処理内容の確認

昨日の記事でVivadoシミュレータ上で実行した[riscv-testsのaddiテスト](https://github.com/riscv/riscv-tests/blob/master/isa/rv64ui/addi.S)が正常に終了しない件についての調査を行い、テストベンチ上の`$finish`に辿り着く条件を満たしていないことが…

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

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

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

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

Scalaの勉強 - トレイト(1)

今日はトレイトの章を。 トレイト 概要 複数のトレイトを1つのクラスやトレイトにミックスインできる 直接インスタンス化できない クラスパラメータ(コンストラクタの引数)を取ることができない トレイト 概要 今までどの言語でも見たことのない用語。"tra…

Scalaの勉強 - オブジェクト

今日はオブジェクトの章を。 オブジェクト 概要 用途 コンパニオンクラス NGになるケース OKになるケース オブジェクト 概要 ポイントっぽいところをまとめると以下。 Scalaでは全ての値がオブジェクト これはpythonと一緒の思想。pythonの場合は全ての値がo…

Scalaの勉強 - クラス

今日はクラスの章を。 クラス クラス定義 メソッド定義 複数の引数リストを持つメソッド フィールド定義 抽象メンバー 継承 練習問題 クラス クラス定義 記法を除けばJavaのクラスと同等らしい。(Javaはよくわかってない) 構文は以下の通り。 class <クラ…

Scalaの勉強 - 制御構文(2) - match式

先日に引き続きScalaの制御構文の章を。 制御構文の続き match式 パターンをまとめる パターンマッチによる値の取り出し 中置パターン 型によるパターンマッチ JVMの制約による型のパターンマッチの落とし穴 練習問題 制御構文の続き match式 Javaのswitchの…

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

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

Scalaの勉強 - 制御構文(1)

引き続きScalaのお勉強を。 記法の章は各種文法をどう記載するかを書いてあるだけなので飛ばして、今日はScalaの制御構文の章を。 制御構文 「構文」、「式」、「文」とは ブロック式 if式 練習問題 while式 練習問題 for式 練習問題 制御構文 「構文」、「…

Scalaの勉強 - sbtを使ったコンパイルと実行

引き続きScalaの学習をドワンゴのScalaの研修資料を見ながらやっていく。 今日は"sbtでプログラムをコンパイル・実行する"。 sbtプロジェクトの作成 sbtプロジェクトの実行 scalaコマンドでの実行 sbtプロジェクトの作成 適当な名前でプロジェクト用のディレ…

Scalaの勉強 - 基本的な文法(2)

前回、ドワンゴのScala研修資料のScalaの基本を読み進めていた。 そのままなぞっているだけだが意外に長くなってたので今回はその続き。 tech-diningyo.hatenablog.com 変数の基本 変数val 変数var 変数の型の指定 練習問題 変数の基本 ということで変数の基…

Scalaの勉強 - 基本的な文法(1)

Scalaのお勉強ってことで、引き続きドワンゴの研修資料を読んで勉強していく。 今日はScalaの基本の章を。 基本的には章の構成のとおりに進めていく感じです。 REPLでScalaを触ってみる Hellow, World! 練習問題 簡単な計算 Int型 Double型 練習問題 REPLでS…