ハードウェアの気になるあれこれスマートフォン用の表示で見るハードウェアの気になるあれこれ技術的に興味のあることを調べて書いてくブログ。Chipに自分のモジュールを追加してみる」の4回目&一旦ここまででお終い。Chip上でビルドするにあたって行った修正についてをまとめておく。今回はエミュレータのビルドを行う。runと実行するとDefaultConfigを使ったエミュレータが生成されるのだが、ビルド時の変数指定で自前で用意したConfigを使ったエミュレータの生成が可能となっている。指定する必要のある変数は以下の2つだ。PROJECT:プロジェクト名。今回自前で用意したソースコードは以下のような構成になっている。Top.scalaこの構成を例にすると設定する値はそれぞれ以下のようになる。Chipで出たエラーと対策とりあえずそのまま移植しただけの状態でビルドすると、以下のようなエラーが発生する。failed存在しないモジュールの削除とりあえず以下のメッセージへの対応を行う。Chipでは使用していないのでとりあえずこの2つのインポートとこれを参照している部分を削除した。DontTouchConfigs.scalaモジュールのインポートを修正してビルドすると以下のように端子の接続部分でアサインできない旨のエラーが発生する。Chipを使用するとdut.debugがOption型になっているのが原因なのでgetを呼んでやればいい。先ほどの修正を行うと以下のようにGeneratorのlongNameに関するエラーが発生した。valを使った実装に変更になっており、オーバーライドする際に明示的にoverrideを付ける必要がある。generateAnno}bootイメージの変更longNameまでの修正でChiselの文法的にはエラーがなくなるが、まだエミュレータの生成は出来なかった。1長いスタックトレースが出ているが、追っていくと「ファイルが見つからない」が原因で場所が「BootROM」っぽいというのがわかる。Chipの物に変更してみた。最後に以下のようにPWLモジュールからと思しきエラーが発生した。1解析していくとPWMにアクセスに来る際のサイズに問題があるようなので、メモリマップを修正してレジスタの配置を8byteでアラインするようにした。メモリマップを変更した。enable)))}ここまでを修正すると以下のように正常にメモリマップが生成され、そこにPWMが追加されているのが確認できた。memory@80000000ビルド後に以下のようにエミュレータが生成されていることも確認できた。verilatorシミュレータを実行してみるriscv-testsの環境が正常にインストールされていると、以下のコマンドでriscv-testsの各テストを単体で実行可能だ。rv64ui-p-add.vcd上記を実行して取得したのがこの「PWMモジュールを追加する」の1回目で掲載した以下の画像になる。Chipで試せる様に修正を行ってみた。次はプログラム回りの部分をもう少し解析していくつもりだ。Chipの解析の話の5回目。Chipの解析の話の4回目。技書博2にChisel本を出してきました月別アーカイブはてなブログをはじめよう!diningyo-kpuku-jougekiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。