Greetings FPGA lovers! Today’s post is about building your own mini computer using FPGA. The project has been inspired by the first SSEM, popularly called the Manchester baby. The project resembles its inspiration in certain aspects, but being a homemade CPU with minimal components and coding, the specs are not as formidable as the SSEM.
The author has used a standard FPGA Papilo one 500k board, an 8×8 LED strip and a set of switches. The system has been designed for a total RAM of 64 bits, and the LED strip shows the RAM configuration every time data is entered at a new address. Besides this, the author has also used a rechargeable battery, charging circuit, clipper circuit to avoid excess voltage and a number of peripheral ICs.
The coding followed for FPGA is based on simple VHDL (.vhd) and being an open source project, the author has shared all VHDL code here. The CPU is programmed directly using the address and data switches. A number of values can be stored just by setting the CPU on the User mode and entering data to the addresses of the 64 bit RAM.
The system also has an adjustable clock which helps while simulating and running the code in variable clock speeds. The author has successfully demonstrated through the video that the CPU can work as a Random number Generator (from 1 to 6) and a pendulum. Besides this the CPU can also be connected to external components like an array of LEDs for clarity of output.
Though the FPGA basedC88 Homebrew CPU has limited RAM and storage capabilities, it is still a great start to create experimental modules and platforms using FPGA that can host a number of applications.
Nowadays, you may be fed up of Star Wars jokes, baits and so on. I am sorry, I could not resist the temptation.
Anyway, this time, at least, was not a joke nor a lie. Today´s article brings the real truth to you. If you want to build your own robot, as simple as you want it to be, the first step should be to learn about controlling a DC motor! Now it does not sound as funny as watching the results achieved by the Dark Side´s Army. You may be wrong because this tutorial is everything but boring.
Very easy to read, this step-by-step article presents all you need to learn to properly understand how to control a DC motor just with your FPGA (yes you can use your Papilio). All you need is outlined and well explained (the code needed is given…). There are also some easy to understand physics explanations so you will get to understand the real ins of this project.
Do not miss this tutorial and be ready to get hired by The Dark Side!
If you need to use your Papilio with the Xilinx tools; such as EDK, chipscope, or Impact there is an exciting new tool to make this happen. For many years Xilinx has been closed up when it comes to any information about how to make a board compatible with the Xilinx tools. They finally released the information and projects for FT2232 based boards are starting to show up!
Jozsef Laszlo, AKA “joco” has come up with a very good implementation of the 1982 ZX Spectrum computer using his Papilio-based Pipistrello board. Joco says he wanted to do the ZX Spectrum project to “prove that a Spectrum clone can have a modern HDMI video output. Pipistrello was a good choice for this, because it has the HDMI port, plus, the FPGA is large, and has enough static RAM to contain the Spectrum’s entire memory.”
Joco says his ZX Spectrum clone on the Pipistrello is built on some great work done previously to his efforts. Firstly, Miguel Angel Rodriguez Jodar’s cycle-exact implementation of Spectrum ULA over at the Opencores website. And second, Hamster’s VGA-DVID implementation which was critical to this project in terms of making the HDMI interface. (Look for the links at the bottom of the post.)
Well, old spectrum fans know, that timing is really important for special effects. Unfortunately, the original spectrum only had PAL composite video output (or U-V-Y), and it used 7MHz as pixel clock. It isn’t compatible with any HDMI resolution or frame rate, but close enough to one, that is 720×576@50Hz. According to the standard, this one uses 27MHz pixel clock. Which sucks, because we’d need something “compatible” with 7MHz. I took the definitions for 27MHz, and calculated everything for 28MHz (because 4*7=28, so that would be a perfect clock). I have found that HDMI TVs can handle 28MHz without any issue. (There is also a slight difference in vertical timing, because I produce 624 lines instead of 625, but the TV is happy with it, too.)
Make sure to check out Joco’s project page for how he resolved the above issues, and please take a look at the other reference materials for the Pipistrello ZX Spectrum:
From Raspberry Pi @ Gadgetoid comes an interesting overview on FPGAs – in particular, our flagship Papilio-series dev boards. It’s refreshing to read Phillip Howard’s angle on all this, as it is decidedly from an Arduino/ Raspberry Pi angle on things. The article is a well-written synopsis and can serve its purpose well for those new to the Papilio or FPGAs in general. Here’s a quick excerpt, and I’ll follow at the bottom of the post with some basic resources for the Papilio:
It’s not until recently, with the Papilio entering the scene, that FPGAs, and the resources to learn with them, have really been available to hobbyists. Yes, there have been plenty of educational units around, but the Papilio delivers a much more Arduino-like ( in fact, it can even run Arduino sketches! ) solution that’s more paletable and approachable for the amateur.
The Papilio is much like the Pi in this respect. It’s not so much a product, as a nucleas for a community learning a specific topic and it has already succeeded greatly in bringing FPGA tinkerers together. Gadget Factory have also shown they’re committed to making the Papilio fun and interesting, and I need point no further than the RetroCade Synth to prove this.
Ok, here are some links to the resources that Phillip includes in his article:
Happy Friday, gadgetheads! We’ve got an audio treat for you today, from last week’s industry event Design West Expo 2013 in San Jose. Our founder and CEO Jack Gassett gave his first presentation ever, on Designing an Open Source Arduino/FPGA Development Board. There were lots of people at the show that we recognized from the forums and website, and it was a pleasure to finally get to put names to faces. It was great to meet you guys, so many thanks to everyone that showed up and introduced themselves!
The photo above shows Jack (left) hanging out with Raspberry Pi’s Gert van Loo (right) at the expo. Gert designed the original alpha hardware that the Raspberry Pi Model B is based on, as well as the new Gertboard. If you look closely, you’ll see (appropriately enough) Jack’s pin that says “I <3 FPGAs,” and Gert’s pin which reads “I <3 Raspberry Pi.” Lulz and good times!
We also wound up meeting the boys behind the BeagleBone – they gave us a BeagleBone Black to check out! We will be making a post to the blog about it in the next couple of days, so keep it here on this channel!
On to the substance. We inexplicably didn’t come up with any video from the show, but we do have an audio capture from Jack’s presentation (thankfully!) that you can get at the link below… so take it with you and listen to it podcast-style! We also have a link to download the Powerpoint presentation from the show.
Jack’s seminar, Designing an Open Source Arduino/FPGA Development Board covers everything from the story of the Papilio hardware’s development, to the AVR8 and ZPUino Soft Processors, to some great info on the Papilio System on Chip (Schematic Editor). Awesome show, Jack!