W
Winston Smith
Guest
Our team has been under pressure to start using mode BUFFER ports instead of
mode OUT in our VHDL projects. My limited attempt to use buffer a while ago
demonstrated that they were more trouble than they were worth. My research
has found a technical article by Xilinx that claims that there are possible
synthesis problems with using mode buffer. Both Ashenden and Bhasker, (both
on the IEEE committee for VHDL) both discourage it in their books. Ashenden
says it is rarely used - I think for good reason. Of course Ashenden is
correct, in many years of VHDL coding I have never seen anyone persist in
using it.
It obviously becomes another headache in wiring up a large design, with IP
cores that do not necessarily have mode BUFFER outputs. The structural code
is usually the most tedious and time consuming code in a design (even using
emacs, where if there are enough changes, its easier to start over from
scratch). The purported benefit is the effect in compilation when it gives
an error if 2-ports drive the same signal. Of course if you do due diligence
and examine your synthesis log files, you see it there or in your MTI
simulation window where you see a nice X.
Does anyone else have an objective opinion on BUFFER, especially any
synthesis issues? Besides it being a pain in the ass.
SOS
mode OUT in our VHDL projects. My limited attempt to use buffer a while ago
demonstrated that they were more trouble than they were worth. My research
has found a technical article by Xilinx that claims that there are possible
synthesis problems with using mode buffer. Both Ashenden and Bhasker, (both
on the IEEE committee for VHDL) both discourage it in their books. Ashenden
says it is rarely used - I think for good reason. Of course Ashenden is
correct, in many years of VHDL coding I have never seen anyone persist in
using it.
It obviously becomes another headache in wiring up a large design, with IP
cores that do not necessarily have mode BUFFER outputs. The structural code
is usually the most tedious and time consuming code in a design (even using
emacs, where if there are enough changes, its easier to start over from
scratch). The purported benefit is the effect in compilation when it gives
an error if 2-ports drive the same signal. Of course if you do due diligence
and examine your synthesis log files, you see it there or in your MTI
simulation window where you see a nice X.
Does anyone else have an objective opinion on BUFFER, especially any
synthesis issues? Besides it being a pain in the ass.
SOS