// VerilogHDLでは、Cと同様にマクロが使えます // Cの乱暴は変換に対して、VerilogHDLではマクロ変換に「'」をつけることで、 // 暴発変換防止が効いてます。 // = たとえば、 -- `define slice(xx,n,W) xx[(n)*(W)+:(W)] wire [15:0] Datss ; wire [3:0] Dats_s [0:3] ; assign Dats_s[0] = `slice(Datss,0,4); assign Dats_s[1] = `slice(Datss,1,4); assign Dats_s[2] = `slice(Datss,2,4); assign Dats_s[3] = `slice(Datss,3,4); -- //の様にすれば、1次元<->2次元bit列の変換が簡単になります。 //Vanilla VerilogHD