We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 3030

Foundation XVHDL, XC9500: How to set an output to high impedance (Hi-Z)


Keywords: high, z, impedance, xvhdl, foundation,
9500, unused, tie

Urgency: Standard

General Description:

Sometimes it is necessary to tie unused pins to
high impedance. This may be the case if changes
were made to the logic of a device but the pin is
on a bus externally. Tieing the pin to gnd or vcc
may have drastic effects on the bus.


To tie an unused pin to High-Z in Foundation XVHDL, change the
pin to an output std_logic vector, and declare a signal as follows:
signal: bit :='0';

Outside of a process use the following equation:

outz <= 'Z' when controlz = '0' else '0';


library IEEE;
use IEEE.std_logic_1164.all;

entity hiz is
port( a:in bit;
b:in bit;
clk:in bit;
d:out bit;
oz:out std_logic
end hiz;

architecture rewrite of hiz is
signal controlz:bit:='0';

if clk'event and clk='1' then
d<=a and b;
end if;
end process;

oz<='Z' when controlz='0' else '0';

--oz will always be 'Z' since controlz is tied to gnd
--and never used.

end rewrite;

This will implement the following equations as seen in the
fitting report

/oz = Vcc
oz.TRST = Gnd

AR# 3030
Date Created 11/03/1997
Last Updated 06/03/1999
Status Archive
Type General Article