When I run behavioral simulation with ISim, the compiler exits abruptly if I have an array instantiation of MOS switches (pmos, nmos, rpmos, rnmos).
Why does this occur?
Array instantiation of MOS switches is not yet supported by ISim.
For example :
reg [2:0] dq;
nmos pull_dq [2:0] (dq, data, control);
The above instantiation will cause ISim compiler to exit.
To work around this problem, unroll the instantiation as shown below:
generate for(genvar g = 0; g <= 2; g = g+1)
nmos pull_dq (dq[g], data, control))
endgenerate
This issue is fixed in 10.1 Service Pack 3.
NOTE: Range instantiation of any other gate or switch is supported.