FPGA: On using the Xilinx Web Pack Tools (6.1)
I have the following complaints about the Xilinx Web Pack tools:
- The tutorial. It expects that I've purchased the $700 upgrade
version. There's this whole section in the tutorial about using the
IP COREgen feature of the $700 version of the Xilinx toolset. There's
no explanation as to how to circumvent the IP COREgen portion of the
My work around was to use the tutorial at Tony Burch's site.
- VHDL Wait keyword. One of the books [Peter Ashenden's
"The Designer's Guide to VHDL (3rd Edition)"] made some very specific
statements about the wait. But, the Xilinx toolset made
some very different statements about what wait
support existed. I don't know what it all means, but I'm less likely
to trust the tools.
Post Script: I have since learned (from
various other books, specifically not Peter Ashenden's book),
that the wait is only supported for synthesis in the
manner supported by Xilinx's Web Pack toolset. However, that doesn't
really excuse the Xilinx documentation; I wish it had been more clear
when I first discovered this discrepency.
- Building Files. I've been bitten by two different
bugs in the compilation of source code.
- In one case the dependency of various components of
projects is not maintained. So, the error that it coughs up
is that some components are not present, when in fact
- In another case, the tool rebuilds everything when all
that is asked of by the user is to download to the FPGA board.
- Additional Nits
- When downloading, the IMPACT tool doesn't remember
in which directory the most recent project was built. So when
you open IMPACT you must remember to change the
directory in which you load the .bit file.
- In fact, the IMPACT tool requires a lot of button pushing
(clicking 'OK') in order to just download via the parallel
port in JTAG mode. It's frustrating because I feel like I'm
doing this amazing simple task and yet it's a lot of mouse
movement to make it happen. I wish Xilinx made the simple
things simple and let the complex things be difficult.