FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

2021-12-01から1ヶ月間の記事一覧

年末なので今年のまとめをしよう2021

FPGA開発日記は2015年1月4日開始から、おおよそ7年が経過しました。 年末年始なので、2021年をいろいろと振り返っていこうと思う。 今年の最初には、以下のような目標を設定していました。あんまり見直したくねえなあ... 引き続きRISC-Vをベースとしたエコシ…

自作RISC-V CPUコア実装(RASの動作確認2)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードのボトルネックを解決した。 そうこうしているうちにいつの間にかRET命令のRAS予測が怪しくなってきているので修正しておきたい。 RASの修正を行って、簡単なテストケースならば…

自作RISC-V CPUコア実装(RASの動作確認)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードのボトルネックを解決した。 そうこうしているうちにいつの間にかRET命令のRAS予測が怪しくなってきているので修正しておきたい。 RASの実装を確認するために、とりあえず以下の…

自作RISC-V CPUコア実装(LDQ/STQ間のフラッシュインタフェースの性能確認)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードが性能ボトルネックになっているのを見た。Dhrystoneの実行に当たりしばらくデバッグしていたのだが、いろいろ試行錯誤してようやくまともに動作するようになってきた気がする。 …

LLVMベースの難読化ツールoLLVMの調査 (2. 生成CFGの調査)

LLVMをベースにしたコードの難読化ツールとしてoLLVMというのがあるというのを知った。どういうものなのか少し見てみようと思う。 github.com 論文は以下で取得可能だ。 ieeexplore.ieee.org Obfuscator-LLVM: Software Protection for the Masses https://c…

LLVMベースの難読化ツールoLLVMの調査

LLVMをベースにしたコードの難読化ツールとしてoLLVMというのがあるというのを知った。どういうものなのか少し見てみようと思う。 github.com 論文は以下で取得可能だ。 ieeexplore.ieee.org Obfuscator-LLVM: Software Protection for the Masses https://c…

自作RISC-V CPUコア実装(RET命令の再考)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードのボトルネックを解決した。 そうこうしているうちにいつの間にかRET命令のRAS予測が怪しくなってきているので修正しておきたい。 フロントエンドのパイプラインステージをs0, s1…

自作RISC-V CPUコア実装(LDQ/STQ間のフラッシュインタフェースの実装 3)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードが性能ボトルネックになっているのを見た。 一応、簡単なベンチマークでこの問題が解決できることを見たので、次にDhrystoneを流してどれくらい実行速度が向上するのか見てみよう…

Chipyard v1.5.0のコンパイル手順メモ

ちょっと訳あってChipyardのバージョンアップ試行した。これまではv1.3.0を使っていたのだがあまりにも古いのでv1.5.0に切り替えてみる。 github.com Chipyardの何が面倒くさいかって、GNUツールチェインもついているのでそれのビルドに時間がかかる。バイナ…

RISC-V Summit 2021の資料が(一部)公開されている

https://events.linuxfoundation.org/riscv-summit/ RISC-V Summitは去年は完全にオンラインで実施していたようだけど、今年はハイブリッドでの開催となっているようだ。 RISC-V Summitの発表資料の一部が公開されていた。全部を見るのは厳しいけど、興味の…

自作RISC-V CPUコア実装(LDQ/STQ間のフラッシュインタフェースの実装 2)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードが性能ボトルネックになっているのを見た。 一応、簡単なベンチマークでこの問題が解決できることを見たので、次にDhrystoneを流してどれくらい実行速度が向上するのか見てみよう…

自作RISC-V CPUコア実装(LDQ/STQ間のフラッシュインタフェースの実装)

自作CPUの実装、ロードストア命令の物理アドレスが決まらないうえでのハザードが性能ボトルネックになっているのを見た。 ずいぶんと時間が空いてしまったが実装のデバッグを行う。以下のようなプログラムを作成して検証する。 loop: div x3, x3, x4 sd x10,…

RISC-Vの新拡張仕様概観1

2021年11月に新拡張仕様がかなりの数Ratifiedされた。その情報自体については知っていたけれども、あまり詳細を調査していなかったので見てみることにする。 RISC-Vの拡張仕様は通常MISAレジスタによってA-Zに対応付けて表記されるが、拡張が増えすぎてしま…