Hi,
I have a simple tri-state output signal
sc_out<sc_logic> ctrlout;
If I write to it directly compilation fails:
ctrlout.write('Z'); // fails
The same applies to using a variable:
sc_logic local='Z'; // fails
The only one that works is:
sc_logic local;
local='Z';
ctrlout.write(local);
Do I really have to jump through so many hoops to assign a tri-state value to an output port?
I then found an example on the web which uses resolved types, even though I only have 1 driver the resolved type works:
sc_out_rv<1> out;
out.write('Z');
Am I correct in stating that even for a single driver I need to use the _rv types?
I also noticed that _resolved has the same issues, that is you cannot assign 'Z' directly.
Thanks for any advice.
↧
Tri-State output port
↧