2020-02-01から1ヶ月間の記事一覧

RISCVデバッグ仕様について眺めてみました。

先日、RV32Iもどきを作ったので、次に何を作ろうかと思いました。 そんな気分で、ricvの公式サイトをぼんやり眺めていると、なんとRISCVにはデバッグ仕様が存在することが判明しました。 そんなわけで、RISCVのデバッガを作ろうとしました。 Debug Specifica…

chiselで簡単なRV32Iもどきを作りました

先日からコツコツRISCVを作ってたんですが、とりあえず spikeとのレジスタチェック、命令トレースチェック環境を構築し、 簡単なMain関数の実行が適切に流れるところまで確認しました!! 以下の設計方針で簡単に作成しただけですが、ある程度早めに良い感じで…

chisel/scalaでunsigned intの扱いに苦労した話

chiselというより、scalaですが、unsigned intの扱いに苦労したので、備忘のために記載します。 RISCVの命令は32bit幅で、命令をtxtファイルに記載して、テストベンチで読み込むことにしました。 scalaでtxtファイルを読み、Unsigned Int(32bit)にして、dut(…

参加すべき大切な会に行かなかった話

先日、血縁者の集まり?のような参加すべき大切な会がありました。 もう長年会話していないような関係ではあったのですが、周りからは行くべきと言われてました。 会の1ヶ月前から行かないと行っていたのですが、間際になるにつれて、行くべきなんじゃないか…

spikeで簡単なプログラムを流して、レジスタダンプを取得できることがわかった話

chiselでRISC-Vを作ろうとしたのですが、まずプログラム開発環境を揃えることにしました。 spikeで簡単なプログラムを流す(0x0000番地の罠) RISC-Vモデルはspikeにすることにしました。 公式から出ているシミュレータなので安心感があります。 spikeを使って…

chiselでDMA書いてみました

chiselで色々書けるようになってきたので、負荷をかけるために次にDMAを作ることにしました。 以下のとてもシンプルなおもちゃですが、あっさりかけました。 DMAモジュール AXI4 Liteの4byte転送のみ AXI_interface/DMA.scala at master · moamoai/AXI_inter…

ChiselでbundleのWire接続に詰まった話

DMAを作成する前に、Busモジュールが複数Master/Slaveに対応できないといけないため、 Parameterでマスタ数、スレーブ数を変更できるようにしようしました。 まずは本当にシンプルに以下の仕様で作成しようとしたんです。 Master側のIFモジュールで複数マス…

魔法使いになれるなら使いたい呪文について

先日、ふと魔法使いになったら、何を使いたいか考えてみました。 ドラクエの魔法がまず頭をよぎりました。 マダンテは力使い尽くしそうでヤバそうです。 メラは弱めです。 ルーラが無難ですね。 ザラキは危険ですね。 ザオリクやベホマが使えたら、安泰な気…

続chiselでリファクタリングしてみました(for/vec/reduce)

前回、chiselでinterfaceが良い感じでにかけることがわかりました。 すると、次にレジスタモジュールを良い感じで書きたくなりました。 レジスタを複数書くには、verilogだと、generate文を使えば良いと思います。 では、chiselだと?と思い、調べました!! モ…

chiselでリファクタリングしてみました

chiselの使い方がわかってきたので、よりまともな記述ができるようにリファクタリングしてみました。 チートシートを参考にしたりしました。 chiselチートシート: GitHub - freechipsproject/chisel-cheatsheet: Chisel Cheatsheet ChiselSheet · freechipsp…

Chiselで簡単なaxi4-lite busを書いてみました

chiselのSlaveモジュールらしきものができたので、次にBUSを書いてみることにしました。 あまりにひどいbusですが、ひとまず、interfaceの切替ができて満足しました。 chiselは書きやすく、Interfaceを「<>」で簡単に接続できました。 また、「:=」でInterfa…

chiselで簡単なAXI4-Liteのレジスタを書いてみました

chiselの書き方が少しわかってきたので、次にAXI4-LiteのSlaveモジュールを書こうと思いました。 まずは、chisel intefaceの書き方を以下公式ガイドを見て学ぶことにしました。 なんと、class文でかけるだけあって、parityつけることなどが継承で簡単にでき…

とんかつにはまっている話

最近、異様にとんかつにはまっています。 衣に包まれた豚肉は本当に美味しいんです。 おいしいとんかつを食べると依存症のごとく、体が欲してしまうくらいです笑 とんかつは、高いお店が多いイメージもってましたが、都内には意外と? とてもお手頃な価格のお…

高位合成に興味が出てきた話

最近、高位合成に今度は興味が出てきました。 といいますか、chiselにハマってたんですが、chiselもアルゴリズムをそのまま合成できるわけでないので、使い勝手が結局verilogと同じ気がしてきたんです。 要はあまり使いやすくないんです。 もっと使いやすい…

RISC-VのVector命令を動かしてみました

最近ベクトル演算機に興味を持っていて、調べているんですが、 Vector命令の仕様がオープンなものは、RISC-V Vector命令しかないようでした。 なので、まずは仕様が明確なRISC-VのVector命令の動かし方について、調べてみました。 まずは、通常のrisc-vtool…

x86のSIMD命令(SSE)の動かし方を調べました

最近、ベクタ命令を学ぶ気になったので、SIMD/ベクタ命令を試そうとしました。 まずは最も身近にあるIntel CPUのSIME命令であるSSEを試しに動かしてみることにしました。 SSE命令とは ストリーミングSIMD拡張命令 - Wikipedia ↑の説明で、なんとなく概要は理…

ついつい飲みすぎてしまう話

先日、飲み会があり、一升瓶を飲み干しました。(600ml程度+ビール2杯) 先日はビールを3リットル飲みました。 そもそも、そんな飲めるとは思わなかった量で、流石に死ぬかと思いました笑 といいますか、あと少し飲むと運ばれた気がします。 家にフラフラの足…

何か作りたいと思い始めた話

年末から年明けまで、何をすべきかで、ずっと塞ぎ込んでました。 正直なところ、脱サラして全く別の道を進むべきなのではないかとすら思いました。いや、むしろ○んだ方が良いのではと。。 そして、先日に酷い下痢になり、ぼんやりした頭で思ったことがありま…

chiselで簡単なベクタ演算器を書いてみました

chiselで除算機を書いたので、次にメモリと少し複雑な制御論理を書く練習がしたくなりました。 最近、アレイ型演算機に興味を持っていたので、まずは1次元アレイ、すなわちベクトル演算機を書いてみることにしました。 ベクトル演算機も1命令で多数のデータ…

chiselで簡単な除算器を書きました

chiselの手始めに、何十年前かに書いた除算器を書こうとしました。 chisel-examplesにaluあるのに、除算器がなかったので、それならということです笑 まずは本当に単純で、小型なシフト、引き算除算器を書いてみました。 仕様は以下になります。 入力データ…

chiselで内部信号のモニタ。VCDダンプしGTKWAVEで確認

最近、少しずつchiselを使うようにしているのですが、 chisel/iotesters.PeekPokeTesterで内部信号のモニタのをしようとpeek関数で内部レジスタを選択してみました。(peek(dut.r_quotient )みたいな感じで) すると、「value r_remainder is not a member of …

Amazon primeで「THE_VOYAGES_ベトナム・ハノイ」を見ました

Amazon primeで動画探していたら、何と「THE_VOYAGES_ベトナム・ハノイ」という ハノイ の観光名所を見せてくれるドキュメンタリ番組を見つけました。 THE_VOYAGES_ベトナム・ハノイ発売日: 2019/12/04メディア: Prime Video 早速見てみると、行ったことある…

カテゴリをまとめすぎて、ブログの可視性が悪くなったと思った話

久しぶりにブログを見てみたら、ブログに何記載していたっけと思いました。 カテゴリを見ると、何となくイメージがつくものもあるのですが、Hardware, Softwareなど大枠のカテゴリでは まったく何していたのかがイメージがつかないです。 これでは、あれこれ…

よくわからないままChiselをインストールしてみた

先日、Chiselというハードウェア 記述言語があるという噂を聞きつけたので、試しに使ってみることにしました。 まずはインストール部分を備忘録として記載していきます。 インストールとチュートリアルは以下を参照しました。 とてもわかりやすいです! https…

下痢で地獄を見た話

年が明けてから、真面目に会社に出社するようにしていたんですが、 先日、かつてない下痢で苦しんだので、備忘のために記載します。 下痢がひどいと、熱も出るし、頭痛もするしで、地獄を見たという話です。 そして、解決の手段は。。 前日: 眠れない夜 地獄…