iverilog/ivtest/ivltests/partsel_real_idx.v

48 lines
1.0 KiB
Verilog

module top;
parameter pval = 7;
string sval, strvm, strcm, strvl, strcl;
real ridx;
integer in;
reg cavm, cacm, cavl, cacl;
reg vvm, vcm, vvl, vcl;
reg pvm, pcm, pvl, pcl;
reg svm, scm, svl, scl;
integer calvm, calcm, calvl, calcl;
integer vlvm, vlcm, vlvl, vlcl;
assign cavm = in[ridx:1];
assign cacm = in[0.5:1];
assign cavl = in[1:ridx];
assign cacl = in[1:0.5];
assign calvm[ridx:1] = 1'b1;
assign calcm[0.5:1] = 1'b1;
assign calvl[1:ridx] = 1'b1;
assign calcl[1:0.5] = 1'b1;
initial begin
in = 7;
ridx = 0.5;
sval = "ABC";
vvm = in[ridx:1];
vcm = in[0.5:1];
vvl = in[1:ridx];
vcl = in[1:0.5];
vlvm[ridx:1] = 1'b1;
vlcm[0.5:1] = 1'b1;
vlvl[1:ridx] = 1'b1;
vlcl[1:0.5] = 1'b1;
pvm = pval[ridx:1];
pcm = pval[0.5:1];
pvl = pval[1:ridx];
pcl = pval[1:0.5];
svm = sval[ridx:1];
scm = sval[0.5:1];
svl = sval[1:ridx];
scl = sval[1:0.5];
strvm[ridx:1] = "a";
strcm[0.5:1] = "a";
strvl[1:ridx] = "a";
strcl[1:0.5] = "a";
end
endmodule