B
benn
Guest
I'm trying to wire a bidirectional pin to an intermediate wire that
then goes to a bidirectional port of a sub-module:
module top
(
inout biDirectionalPin
);
wire InternalSignal;
assign InternalSignal = biDirectionalPin; // assign biDirectionalPin
= InternalSignal;
innerModule innerModuleInstance
(
.bidirect_to_and_from_port ( InternalSignal );
);
Unfortunately, the synthesizer complains of an 'illegal directional
connection'. Of course it does work if I map the signal directly
(i.e. .bidirect_to_and_from_port ( biDirectionalPin ); )
However, how can this be done using an intermediate wire'? Since the
wire 'InternalSignal' is *ONLY* used to connect 2 bidirectional ports
together, I don't see why the synthesizer has a problem with it?
then goes to a bidirectional port of a sub-module:
module top
(
inout biDirectionalPin
);
wire InternalSignal;
assign InternalSignal = biDirectionalPin; // assign biDirectionalPin
= InternalSignal;
innerModule innerModuleInstance
(
.bidirect_to_and_from_port ( InternalSignal );
);
Unfortunately, the synthesizer complains of an 'illegal directional
connection'. Of course it does work if I map the signal directly
(i.e. .bidirect_to_and_from_port ( biDirectionalPin ); )
However, how can this be done using an intermediate wire'? Since the
wire 'InternalSignal' is *ONLY* used to connect 2 bidirectional ports
together, I don't see why the synthesizer has a problem with it?