In the code above, doing such assign will result in XXX unknown situation which I presume is due to conflicting drivers ?
However, assign c = b; does not result in XXX unknown situation though. Why ?
I tried to use not a1(c, b); , but I think the simple not primitive gate does not support inout type
Any suggestions or comments ?
Code:
vcs.log:44:Error-[IGOE] Illegal gate output expression
vcs.log-45-TB.v, 49
vcs.log-46- The following expression is illegally connected to gate.
vcs.log-47- Expression: c
vcs.log-48- Source info: not a1(c, b);
vcs.log-49- The gate connection must be a scalar net or bit-select of vector net.
In real life, if you look to the left hand side of the picture I have posted, an inout port is a physical pin on the chip!
If you look to the right hand side, you have in, out, oe signals to be used in RTL logic.
Only ports can be of inout type. Are you trying to do something in the testbench?