Slide 5
Slide 5 text
Copyright© Fixstars Group
Chisel と Verilog の簡易比較
Verilog Chisel
port 宣言 module X (
input [1:0] a,
output [2:0] b
);
val io = IO( new Bundle {
val a = Input(UInt(2.W))
val b = Output(UInt(3.W))
})
三項演算子連打 logic x;
assign x = c1 ? a1:
c2 ? a2:
c3 ? a3:
x_default;
val x = WireInit( xDefault )
when(c1) { x := a1 }
when(c2) { x := a2 }
when(c3) { x := a3 }
MuxCaseというのもあるにはある
switch 文 case (state)
X:
endcase
when().elsewhen().otherwise が良い
MuxLookupやswitch-is があるにはあるが …
instance 化 my_module i1 (
.x(x),
.y(y)
);
val i1 = Module(new MyModule)
i1.io.x := x
i1.io.y := y
コメント:switch is でいいのでは?
私:switch is は default がない
コメント: 次のように書けばいい
x := defaultValue
switch~~
指摘に気が付いてなくてすみません