ハードウェアの気になるあれこれスマートフォン用の表示で見るハードウェアの気になるあれこれ技術的に興味のあることを調べて書いてくブログ。Vivadoスポンサーリンク前回はSCR1のシミュレーション環境でシミュレーション実行時にモジュールが足りないというエラーが出たためその解析を行った。tech-diningyo.hatenablog.com最初のエラーは解決したが、その後Vivadoのシミュレータがセグメンテーション違反で強制終了したため今回はそのエラーの解析を行っていく。現在使用しているVivadoは2017.4。Vivadoは1年に4回リリースが行われるので、この記事の執筆時の最新バージョンは2018.2となっている。2017.4以降のリリースで改善されているかもしれないことに一縷の望みをかけて新しいバージョンで実行してみる。変わらずSIGSEGVで落ちるダメかぁ。原因を調査する原因を確定させるために、もう一度ログを眺めてみる。received.xil_defaultlib.scr1_memory_tb_axi_defaultをコンパイル中にSIGSEGVが発生しているので、このファイルの中に原因となる記述が入っているということになる。このファイルが原因かを判断するためにテストベンチ上からモジュールscr1_memory_tb_axiのインスタンス記述を削除する。具体的には、scr1/src/tb/scr1_top_tb_axi.svの中の以下の部分をコメントアウト。scr1_memory_tb_axiのインスタンス記述コメントアウト後に再度シミュレーションを実行。いうことで原因はscr1_memory_tb_axiの中の記述の何か、、ということで確定。原因となっている、scr1_memory_tb_axiの中身を見ていく。github.com大まかに書くと以下の4つの構成。endgenerateうーーむ、特に気になる記述も無い。アサーションか?と思って、コメントアウトしてみたけど、それでもエラーは変わらず。そりゃそうか、パースは通ってるっぽいんだし。思って、メモリのサイズを変更してみた。動いた!!画像のscopeのとこのテストベンチ階層構造にscr1_memory_tb_axiが入った状態でシミュレーションが出来ている。1024で1MBの領域をメモリとして確保しているが、それだと大きすぎる様子。サイズを振って調べてみたところ32KBなら動くみたい。シミュレーションでは、riscv-testが動けばいいので32KBくらいなら大丈夫かな、たぶん。Vivadoシミュレータでのシミュレーションも可能になったので、次はRISCVのビルド環境の構築に取り掛かる。Ultra96ボードを購入してみた。シミュレーション環境の疑問点の確認(1)前回のSCR1ネタ最後に以下のように書いた。技書博2にChisel本を出してきました月別アーカイブはてなブログをはじめよう!diningyo-kpuku-jougekiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。