classMUX21extendsComponent{ //Component类比verilog中的module val io = newBundle{ //定义输入输出,可以看成是一个电路的输入输出接口 val in1 = in Bool() //定义两个输入,一个选择信号 val in2 = in Bool() val sel = in Bool() val res = out Bool()//定义输出 } /** 此处不能使用if...else 官方定义的说明是在表示选择的时候,我们使用的是 when...otherwise的搭配 我前期用if...else试,结果生成的verilg代码并不是自己所想,然后去官方项目 提了个issue,结果作者回复说要用 when...otherwise的搭配,顺道提醒我官方文档 中有所说明,这就再次证明了读文档的重要性 */ when(io.sel){ io.res := io.in1 }otherwise{ io.res := io.in2 } }