2015-06-01から1ヶ月間の記事一覧
cocotbの導入が完了したので、次は自分のデザインに適用してみよう。 msyksphinz/pulsar-2github.com ユニットif_unitに、単体テストを実施してみよう。 まずは、リセット直後にAXIチャネルIF_MARVALIDがアサートされることをチェックしてみよう。 TOPLEVEL …
cocotbは、Pythonで記述できるテストベンチ作成ユーティリティだ。 VerilogのテストにPython製フレームワーク「cocotb」を使う。 - Qiitaqiita.com potentialventures/cocotbgithub.com ユニットテストをする際、簡単にテストパタンを作れたほうがいいし、Ve…
Docker事始めとして、boot2dockerをWindows上にインストールしてみた。 Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)作者: 杉山貴章,大瀧隆太,Yugui(Yuki Sonoda),中津川篤司,前佛雅人,松原豊,米林正明,松本勇気…
Dockerエキスパート養成読本[活用の基礎と実践ノウハウ満載!] (Software Design plus)作者: 杉山貴章,大瀧隆太,Yugui(Yuki Sonoda),中津川篤司,前佛雅人,松原豊,米林正明,松本勇気出版社/メーカー: 技術評論社発売日: 2015/06/18メディア: 大型本この商…
)" title="CD付 VOA ニュースフラッシュ2015年度版 ()">CD付 VOA ニュースフラッシュ2015年度版 ()作者: アルク出版社/メーカー: アルク発売日: 2015/04/15メディア: 単行本この商品を含むブログ (1件) を見る 対象レベルは中級(TOEIC 600点程度)なので、そ…
命令セットシミュレータにおける命令のデコードと実行 - FPGA開発日記msyksphinz.hatenablog.com 結局、クラスのメンバとして関数ポインタを指定して、そこでどのようにして所望の関数の実装を呼べば良いかというと、 m_inst_env->RISCV_Inst_Exec (inst_idx…
gitで一気にたくさん修正をしてしまったけど、コミットは別々に分けたい、というときは、interactiveモードを使ってもいいけど、もっと手軽に-pを使おう。 なんか一杯変更してもうたなあ。。。 diff --git a/src_cpp/gen_arch_table.rb b/src_cpp/gen_arch_t…
大概の命令セットシミュレータは同様の構成を取っていると思うが、命令セットシミュレータといえど * 命令デコード * 命令実行 というハードウェアと同じことをしているのは変わらない。 自作シミュレータも多分に漏れず、以下のような構成を取っている。 こ…
msyksphinz/swimmer_riscvgithub.com RISC-Vの評価向けに作っているシミュレータをC++で書き直している。 C++にすることの利点として、Cよりも汎用的に書くことができ、一般化し易いということと、クラスによる階層を持たせることにより、例えばスレッドを構…
Coremark-Proのバイナリをシミュレータで動作させてみる(失敗) - FPGA開発日記msyksphinz.hatenablog.com うーん、sbrkで、確保しているメモリが足りない気がしている。 そこで、リンカスクリプトで、ヒープの領域をさらに大きめに確保してみた。 diff --git…
msyksphinz/benchmarksgithub.com Coremark-Proのコンパイルができるようになったので、シミュレータで動作させてみた。 swimmer -h builds/linux/gcc-mips/bin/zip-test.srec -o zip-test.sw.log -c 1000000 終了までの命令数を見てみると、 ==============…
今やタブレットの時代だが、僕は未だにノートPCを使い続けている。 かなり古いPCだが、ThinkPad X301を使い続けている。 ThinkPad X301 2774P5J Lenovo | インバースネット株式会社 良く見ると2008年の製造モデルなのね… 最近はWindows 7で走らせているのだ…
前回の続き。という訳でgccとnewlibをsoftfloat付きでビルドする。 参考にしたのは以下のサイト: Mian M. Hamayun - Re: How to enable soft-float support in newlib and gcc toolchains for an Chefのレシピを変更して対応する。変更したのはブランチとし…
会社の行き帰りの電車の中で読んだので、まだいまいち頭の中に入っていなくて復習が必要だけど。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典出版…
Coremark-Proをコンパイルしてシミュレータで流せる形式にする(奮闘中) - FPGA開発日記msyksphinz.hatenablog.com 結局、MIPSで試していたのだが、コンパイルは成功した。システムコールの部分を自分で作るかどうかがポイントだ。 あとは、リンカスクリプト…
この実装方法が本当に合っているのかどうかは分からないけれども... CPUはパイプラインフラッシュが発生することがあるため、メモリアクセスが途中でぶった切られる可能性がある。 例えば、アドレスチャネルまでの応答が確定していて、そこでパイプラインフ…
Coremark-ProをRISC-Vのgccを使ってコンパイルする - FPGA開発日記msyksphinz.hatenablog.com まだ格闘しているが、なんかうまく行かないなあ。 まず、システムコールあたりは正しく動作しないのは当然だ。bare-metalでコンパイルしているため、mallocでメモ…
https://github.com/msyksphinz/benchmarks/tree/riscv-targetgithub.com Coremark-ProをRISC-Vの環境でコンパイルするためにいろいろ修正したまとめ。 まず、util/make/ にRISC-V向けの環境ファイルを追加した。 基本は、fakeio.mak と linux.mak を使って…
その数式、プログラムできますか?作者: Alexander A. Stepanov,Daniel E. Rose,株式会社クイープ出版社/メーカー: 翔泳社発売日: 2015/05/19メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る ユークリッドの互除法の高速化の方法につい…
これはVivadoの使い方じゃなくて、gitの使い方なんだけれども。 msyksphinz/fpga_ipsgithub.com http://japan.xilinx.com/support/documentation/application_notes/j_xapp1165.pdf http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx2013_…
既存のIPを、Managed IP Projectに追加するためには、どういたらいいんだろうか? ここでは、pulsar1_connect(AXIバス)というIPを、IPとしてgit管理したいとする。 msyksphinz/fpga_ipsgithub.com http://japan.xilinx.com/support/documentation/applicatio…
Vivadoのプロジェクトはバージョン管理がしにくい。やたらと意味不明なファイルが更新されてファイルのmodificationマークが付くし、しかもファイル群が巨大なので、全部格納していたのでは、リポジトリが大変なことになる。 そのために、XilinxはVivadoのプ…
自作CPUのデータバスへのアクセス部分をAXIに変更してしまおうと思う。今までは、オリジナルバスを利用していたがら、それだとZynqとかに接続するときにやりにくい。 アウトオブオーダプロセッサで、しかも同時実行できる数が多いプロセッサにとって生命線と…
ATOM、結構使いやすいと思っている。ちょっと思いのが難点かなー。会社のクソボロのPCだと、てんで動かない。 今の時点だと、emacsのキーバインドに慣れてしまっているので、結局ATOMもそのキーバインドに合わせるようになると思う。 emacsを使い続けている…
「その数式、プログラムできますか?」→「その数式、どのようにコンパイルされますか?」になってしまっている。っていうか再帰一個で立ち止まりすぎだろ! その数式、プログラムできますか?作者: Alexander A. Stepanov,Daniel E. Rose,株式会社クイープ出…
その数式、プログラムできますか?作者: Alexander A. Stepanov,Daniel E. Rose,株式会社クイープ出版社/メーカー: 翔泳社発売日: 2015/05/19メディア: 単行本(ソフトカバー)この商品を含むブログ (4件) を見る またこの本の話である。次に出てくるのは、…
RISC-Vの権限階層は4階層構造を取っている。強い方から順に、 Machine Mode Hypervisor Mode Supervisor Mode User mode ちなみに、Hypervisorモードはまだちゃんとした規定が無い。命令については、Under constructionという感じだ。とりあえずパタンとして…
自作RISC-Vシミュレータのシステムレジスタの表記を拡張した。これまではCSRはアドレス番号でしか表記されなくなっていたが、これをシステムレジスタの名前で表記できるようにした。 https://github.com/msyksphinz/swimmer_riscv/commit/3f2b62802d576d30e6…
この本おもしろい!途中から数学チックになって難しいが、時間をかけて読み込んでいきたい。 その数式、プログラムできますか?作者: Alexander A. Stepanov,Daniel E. Rose,株式会社クイープ出版社/メーカー: 翔泳社発売日: 2015/05/19メディア: 単行本(ソ…