verilog 中 case 能否寫成遞迴形式
时间:10-02
整理:3721RD
点击:
初學verilog,請教一下 case 的描述能否寫成遞迴的形式?就是 case 中帶有 case 的寫法
如果可以的話會產生 parallel mux 還是 priority mux?
感謝!
舉例來說:
case (sel1) // first condition
1'b0:
begin
case(sel2) // second condition
1'b0: out = in1;
1'b1: out = in2; endcase
end
1'b1:
begin
case(sel2)
1'b0: out = in1;
1'b1: out = in2;
endcase
end
endcase
如果可以的話會產生 parallel mux 還是 priority mux?
感謝!
舉例來說:
case (sel1) // first condition
1'b0:
begin
case(sel2) // second condition
1'b0: out = in1;
1'b1: out = in2; endcase
end
1'b1:
begin
case(sel2)
1'b0: out = in1;
1'b1: out = in2;
endcase
end
endcase
可以的。
是parallel还是priority不能一概而论。
只有一条原则:综合出的逻辑和你的代码功能上完全一致。
现在工具很聪明,工具只关心最优结果,就算你的代码看起来是priority的,工具也有可能优化成parallel或部分parallel的。反之亦然。
可以嵌套的
