Geoffrey_Coram
|
Don't forget the next sentence, "This is true regardless of whether the signals are being observed or driven."
I(out) <+ V(bus([i]);
I(bus[i]) <+ V(in);
In either case, there needs to be a matrix entry in the circuit (Jacobian) matrix, reflecting the fact that a change in the "sensed" value (RHS) causes a change in the driven value (LHS). In a sparse matrix, one only allocates matrix entries that are needed, and the genvar construction allows the compiler/simulator to know which matrix entries are needed.
On the other hand, it seems the bus is of a fixed width, so a pessimistic compiler could allocate all the matrix entries (and, in many modules, one can probably access any signal in the bus, so it's not too pessimistic).
I also expect one could "observe" a bus value using $strobe without a genvar index, no matrix entry is needed.
|