wire [52:0] mantissa; wire [5:0] sftbit; case(sftbit) // synopsys full_case 6'd0 : sft = mantissa; 6'd1 : sft = { mantissa[51:0], 1'b0 }; 6'd2 : sft = { mantissa[50:0], 2'b0 }; 6'd3 : sft = { mantissa[49:0], 3'b0 }; .... 6'd52: sft = { mantissa[0] , 52'b0 }; 6'd53: sft = 53'b0; endcase*しかしそもそも Synopsys + VDEC libraryの場合、素直に「>>」「<<」を使っ て合成した方がいいかもしれない。
Mentor AutoLogic だと、parallel とfull が、ファイル単位でしか指定でき ないような気がした。 synopsys は記述の中に埋め込むのでそんな感じに見え ないが。