FPGA ARCADE @ http://home.freeuk.com/fpgaarcade/ ------------------------------------------------ Programmable Gaming Hardware Frequently Asked Questions What is a FAQ ? Frequently Asked Question. Next ? What is VHDL ? Very simply, VHDL is a high level language which is used to design and simulate hardware, by which I mean everything from a modern complex CPU to a digital watch. Software tools take the VHDL source code, and hopefully convert it into real physical logic gates. This can then ( at vast expense ) be turned into a piece of silicon and sold to people. I should point out that only a subset of the language can actually be turned into gates, as some constructs are only useful for simulating designs. VHDL stands for VHSIC Hardware Description Language, where VHSIC is an acronym for Very High Speed Integrated Circuit. However, the name is more frightening than the language, which resulted from a US Government sponsored effort to improve the way integrated circuit designs were exchanged between companies. The IEEE adopted VHDL as a standard in 1987 (1076-1987). There is an official VHDL FAQ available, see the links page on this website. Why use VHDL ? VHDL is more popular in Europe, the US tends to use Verilog which (religious arguments aside) does a very similar job. How do I 'use' the VHDL code ? Just as a software language needs some software to make sense of the source code, VHDL sources are not terribly useful on their own. You can do one of two things. The first is to use a Simulator to run the design in a virtual environment. This is how the source code is debugged, but even a fast PC may take hours to run a complex design for just a fraction of a second. More usefully, the design can be Synthesised into a whole lot of basic logic gates which can then be made into a proper Integrated Circuit (IC) or downloaded into a programmable part known as an FPGA. What is an FPGA ? An acronym for Field Programmable Gate Array. These are produced by several manufactures, and are IC's that can be programmed by the user to perform just about any imaginable logic function. They save all the hassle of persuading a big chip manufacture to actually build your custom IC for you, and are a lot less time consuming than wiring up 100,000's of standard small logic parts. Recently, devices have got large enough to fit complete 1980's era PCB's into - including processors, and cheap enough that you can have a few at home to play with. The two biggest manufactures are Xilinx and Altera, see links page. Synthesis ? Making chips ?? The process which takes a number of VHDL source files and produces a logic description of the design, usually down to gate level. If you are going to use an FPGA then you need to feed this gate level design into the FPGA's vendors 'back end' tools to do a 'Place and Route'. This will produce a file that can be programmed into your IC. Ok, this all makes sense, but how do I get the games running ? You need to find a suitable FPGA, either stuck onto a convenient board lying around, or by purchasing a development card from any of a number of suppliers (See links page). You then need to install the vendor software, which for small device use can often be downloaded from the web and may include a Synthesiser. If you choose a Xilinx FPGA, and download the Webpack software, you should just have to run the batch file in the game distributions. This text is copyright MikeJ November 2002.