composite inout signals with different driver directions

  • Thread starter Ralph Friedrich
  • Start date
R

Ralph Friedrich

Hello,
I'm use vectors to combine signals with different driver directions.
May be that's not a good coding style ?!


T(
Q : INOUT Std_logic_vector (24 DOWNTO 0) ;
....

For example:
Q(12 downto 0) is driven by the testbech.
Q(24 downto 13) is driven by DUT.

In the simulation I get there a X on some signals.

When I set a init value to the vector it works sometimes.

Does anyone know whats going on?
 
J

Jim Lewis

Ralph,
Initially the testbench and the DUT are driving
driving all elements of the array. If one does
not drive a field, the value it is effectively
driving is 'U', the left most value of std_ulogic.

A simple way to get around this is to initialize
the port to all 'Z' as follows:

T(
Q : INOUT Std_logic_vector (24 DOWNTO 0) := (others => 'Z') ;
...

Cheers,
Jim

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training mailto:[email protected]
SynthWorks Design Inc. http://www.SynthWorks.com
1-503-590-4787

Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,022
Latest member
MaybelleMa

Latest Threads

Top