Continue to Site

Welcome to

Welcome to our site! 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.

VHDL RTL warnings after Quartus 2 compilation

Not open for further replies.


Full Member level 5
Nov 19, 2004
Reaction score
Trophy points
Activity points
VHDL RTL question

It is not easy to describe the problem, but I will try.

I have a 16 bits latch, where it's output bus 16 bits is connected to the input of a 16 bits tri state buffer.
Both of the components are instantiated from lower level hierarchy.
The output of the tri state buffer is conected to a bidir 16 bits port.

I have got the following warning after the successful compilation using Quartus 2:
Warning: Removed fan-in from always-disabled I/O buffer TriStateBuffer:TSB|biDirPort[0] to tri-state bus PIN_DSP_BUS[0]~15

I have got the similar warning on every bit, 16 times.
I can also see on the RTL viewer that the bidir port (tri state buffer output) bit 15 and 14 are taken away to a second page of the viewer and connected togather to the bidir port again.
I do not understand why it happens and what it means.

Re: VHDL RTL question

This is the result of optimization.

The software has determined that a tristate output is from an "always-disabled I/O buffer". If the tristate output is always disabled, there's no point in connecting it to an input. Thus, the "removal of fan-in".

Determine why your tristate buffers are always disabled.

Re: VHDL RTL question

My tri state buffer is anabled using 3-4 bits, which are signals coming from another entity. These signals are outputs from an address decoder. Inputs to the address decoder are some actual pins.
What can be the reason those are always disabled?

Re: VHDL RTL question

Each tristated output is controlled by one signal, which may be the same signal that controls other outputs. If the input to your decoder never changes, the tristate outputs are either always on or always off. Either the decoder never gets the value that enables the tristate buffers, or the decoder is implemented incorrectly.

If the decoder inputs are supposed to come from the chip pins, it's also possible that you didn't do what is necessary to connect the inputs to any of the chip pins. I'm not familiar with Quartus, so I can't give you a checklist for this task.

Not open for further replies.

Part and Inventory Search

Welcome to