ハードウェアの気になるあれこれスマートフォン用の表示で見るハードウェアの気になるあれこれ技術的に興味のあることを調べて書いてくブログ。2019-09-07ChiselのDecoupledIOの使い方を考えなおした話ChiselスポンサーリンクChiselのQueueを使って設計をしていて、少し考えたことがあったので今日はそれについて。DecoupledIOをどう使うか、、、という話。幾つかのデータを纏めてChiselのQueueに入れて受け渡したいときにはDecoupledIO等のReadyValidIOの派生クラスを使って以下のように記述したりする。m_q}上記をエラボレートすると、以下のようにChiselのQueueから生成されたモジュールがRTLにインスタンスされる。81:10:@61.4]endmoduleIOの形を書き換えてみる上記のように書いていて「DecoupledIOが野暮ったいな」って思って、書き換えて以下の形で多少の違和感を覚えながらもこれを使っていた。86:12:@61.4]endmodule感じていた違和感というのは、Chiselのソースでio.enq.aという風にアクセスをしないと行けない部分。これはそのままRTLをにもio_enq_aという形で現れていた。゚д゚)ハッ!」って思って試してみた。先程のDecoupledBundleAを以下のように継承する形に変更する。変数aがいなくなるのでそれに従ってMyQueueも最初の形に戻す。「コンパニオンオブジェクト使って定義する方がいいかも」と思ったのでそちらのケースも載せておく。RTLは全く同じなので割愛。m_q}個人的にはコンパニオンオブジェクトの方がいいかなーという感じ。今まで考えが及ばずあんまりobjectを上手く活用できていないので、意識して使っていきたいと思う。Decoder前回に引き続きChiselで作るお試しNICの話。技書博2にChisel本を出してきました月別アーカイブはてなブログをはじめよう!diningyo-kpuku-jougekiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。