Monday, June 2, 2014

Papilio and Xilinix FPGAs

I've recently begun to study FPGA programming, albeit through kind of an impractical program at DVUO. In a small, practical regards, the course focuses on Altera FPGAs and Altera's free and unsupported (?) Quartus II Web Edition as -- basically -- lab kit items for the course at DVUO. I constantly have to "Do some additional reading," to get anything out of the DVUO courses. Personally, I'm not studying up for "Signing off at the Blarney Stone."

In that additional reading, I have learned:

In addition to the Altera FPGA line, Xilinix also manufactures FPGAs, such as the Xilinix Spartan 3 and Spartan 6 FPGAs.

Spartan FPGAs are available in the "DIY" electronics market, on the Papilio -- alternately, ZPUino -- FPGA boards, such as the "Papilio pro".  The  software tooling for Papilio is more bear-bones than Quartus -- the former, extending on the Arduino programming toolkit.  The Papilio toolkit uses a bitfile format for direct programming of the FPGA. Papilio boards can be programmed with Papilio's ZAP IDE and the Xilinix ISE WebPack.

A Papilio board can be extended, in its hardware, with a "Wing" or "Megawing", such that essentially "plugs into" I/O headers on the Papilio circuit board.

Papilio is an open platform, and thoroughly supported for programming on Linux and on Microsoft Windows.

Ostensibly, Papilio, too, can be used to simulate a full multiplexer or demultiplexer, or alternately a single 74138 or 74148 circuit's logic profile, in today's world o' technology. We've studied the latter at DVUO -- something of some allegedly "common" integrated circuits, really difficult for this student, me, to find any applications for, or any sense of relevance about, in the regards to the industry, today. Perhaps it makes more sense in a broader circuit with clock synch, and as an artifact of an at least historic technical interest. So maybe I, too, can believe in magic beanstalks, after all -- if only those beans were just as good in an "unsmart" crock pot.

Works Consulted:
[1] http://www.xilinx.com/products/silicon-devices/fpga/spartan-6/
[2] http://papilio.cc/index.php?n=Papilio.ZPUinoIntroduction
[3] http://papilio.cc/index.php?n=Papilio.ArduinoCore
[4] https://github.com/GadgetFactory/Papilio-Loader/blob/master/xc3sprog/trunk/bitfile.h
[5] http://papilio.cc/index.php?n=Papilio.Hardware
[6] http://gadgetfactory.net/learn/2013/10/29/papilio-schematic-library-getting-started/
[7] http://gadgetfactory.net/learn/2013/10/23/install-xilinxs-free-ise-webpack/
[8] http://www.xilinx.com/products/design-tools/ise-design-suite/index.htm
[9] http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm