2025.11.13 23:33
SystemVerilogのinterfaceがやっと腑に落ちた
・そんなこんなで現状in/outで別れているバスを双方向バスに作り変えようとしたのだけど、これがうまくいかない。interfaceを使っているとうまくいかないのかな。
・と思って改めてドキュメントを探していたら、
Using SystemVerilog “Interfaces”
as Object-Oriented RTL Modulesというものを発見。どうやらinterfaceに関する自分の理解が間違っていたということがわかる。なるほどね。そりゃそうだし、今まで感じていた違和感も含めて納得。
・interface xxx #(type t=logic)という記述は初めて見たけど、こう書いてやればインスタンス化するときにxxx #(logic [7:0])なんてやって動的にバス幅などを変えられるという仕掛けか。
・仕方ない。行き詰まっていたソースは捨ててgit reset --hardしてやり直そう。