Chiselによりインタフェースのパラメタライズの検討を行う。例えば、汎用インタフェースを使用してバスのマルチプレクサを構成することを考える。 インタフェースとしては以下のものを使う。以下のGenBundleはTで汎用化されている。valid, sideband, dataの信号線が用意されており、dataは一般化されており、任意のデータ型を渡すことが可能である。 class GenBundle[T <: Data](dataType: T) extends Bundle { override def cloneType: this.type = new GenBundle(dataType).asInstanceOf[this.type] val valid = Output(Bool()) val sideband = Output(UInt(10.W)) val data = Out
![ChiselのパラメタライズによりGenericなモジュールを作成する手法 - FPGA開発日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/5961484675fb078af400fd75626a1ec98628e426/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmsyksphinz%2F20181105%2F20181105012126.png)