タグ

ブックマーク / qiita.com/tomabou (3)

  • FPGAで32bit RISC-V CPUを作った話 - Qiita

    はじめに 皆さん、CPUを作ってみたいと思ったことはありませんか? 自分はあります。 CPUFPGAを用いて実装するという実験がある学科もあります(東京大学理学部情報科学科のCPU実験などが一部では有名です)が、自分の所属している計数工学科ではそのような実験はありません。 院試が終わった後、一か月弱時間があったためCPUを作ってみることにしました。 今回作ったCPUの概要 命令セット:だいたいRISC-V RV32imf(権限に関する命令は実装していない) 整数命令5段パイプライン(RISCの基的なパイプラインを踏襲) 浮動小数点ユニット : 浮動小数点レジスタを別に用意しており、9段パイプライン シリアル通信可能 レジスタフォワーディング実装 FPGA評価ボード(DE0-lite)で動作(動作周波数は50MHzほど) 用意するもの FPGAとは? AND OR NOTと呼ばれるような

    FPGAで32bit RISC-V CPUを作った話 - Qiita
  • 浮動小数点演算の罠 - Qiita

    これはバーゼル問題と呼ばれる有名な問題で、オイラーによって解かれました。 個人的には三角波のフーリエ展開を用いて計算する手法が一番わかり易い気がします。 バーゼル問題の計算 この無限和を有限で打ち切って計算して円周率を計算してみることにします。 どれくらいの速度で収束するのでしょうか? 足していく値が$\mathcal{O}(n^{-2})$であるので、直感的には$\mathcal{O}(n^{-1})$ぐらいで真の値に収束する気がします。(少し手を動かすと証明も出来ます。) つまり$n$まで計算すれば$\frac{1}{n}$ぐらいの精度で計算できるわけです。 では実際にコレを用いて単精度浮動少数で円周率を計算してみましょう Haskellでちょろっと書いてみると

    浮動小数点演算の罠 - Qiita
  • ElmとWebAssemblyで迷路生成Webアプリを作った話 - Qiita

    ElmWebAssemblyで迷路生成Webアプリを作った話 はじめに 東京大学計数工学科は毎年物理工学科と一緒に五月祭で工学博覧会という企画を行っています。 今回、「アルゴリズム」を紹介するということで迷路生成アルゴリズムを展示しました。 そのためのwebアプリをElmWebAssemblyで作って公開したので紹介します。 機能 お絵かきをして 格子グラフを作って(頂点をタップすると格子グラフが編集できます) Submitすると迷路が出来ます。 そしてこの迷路にはスタートからゴールに至るルートが一つだけあって、 この迷路の答えは元の絵となります! いろんな迷路を作ってみてください! 採用理由 Elm ElmUI作成に特化した言語、アーキテクチャです。 今まで自分はWebフロントを書いたことが全くありませんでした。ブラウザで実行できる以外に良い点が無さそうなJavaScript(偏見

    ElmとWebAssemblyで迷路生成Webアプリを作った話 - Qiita
  • 1