Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

PROBLEM WITH HIGH INMPEDANCE AND QUARTUS ii

Status
Not open for further replies.

nicx82

Newbie level 2
Joined
Dec 10, 2009
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,294
Hello,
i have an entity with 38 bidirectional lines (IO). I have a process that initialize a temporary signal (st_logic-vector) to Z (so i have 38 Z):
IOtemp<=ZZZZZZZ...;

When a control signal goes to '1' this temporary signal is filled with 1 or 0 in precise positions (so i have this 38 lines signal with some 0, some 1 and others line with Z). eg;

IOtemp<=ZZ1Z01Z......;

After filling the IOtemp signal, this IOtemp signal is copied to bidirectional lines:

IO<=IOtemp;

but if i simulate the .vho file from Quartus in my ActiveHDL project the line that must be Z (high impedance) are 0 or 1 and the others lines are correct.

Why?

Please help me. Thanks
Nick
 

PROBLEM WITH HIGH INMPEDANCE AND qu(at)rtus ii

'Z' is a defined STD_LOGIC value, but it can't be represented by a registered signal. You didn't mention the actual type of the temporary signal, but a wire signal, that directly drives the IO-pin, usually can forward the 'Z' state. A wire, even if it's passed through the design hierarchies, is nothing but an alias of IO pin, so if you set 'Z' to the wire signal somewhere in the design, you actually operate the pins' three-state driver. But registering the signal won't work.
 

Thanks for the reply. All signal are std_logic_vector
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top