I just got a new FPGA board the ALTERA FPGA Cyslone ll EP2C5T144 and I am very excited about it. Let me tell you about it!
I was fascinated by computer hardware since I was a kid. When I decided to study computer science, the hardware courses were by far the most interesting to me. So, when I graduated and I was looking for an interesting Master’s Degree, University of Piraeus was offering a Master’s Degree in Embedded Systems Design and Engineering which was exactly what I wanted.
That’s where I first encountered an FPGA. I had heard about FPGAs in the past, but it was only then when I got my hands on an FPGA to play with. It was a great experience, and during my Master Thesis I was working with an FPGA in a project for over a year. During that time I built my most advanced project to date, a project that I am really proud of.
But what is an FPGA, and why I like it so much? Well think of it as a blank hardware chip. A chip that can implement in hardware any digital circuit you design.
For example, let say you want to build a new CPU for an embedded project. You can design your processor in a software tool in your computer and then “download” the processor to the FPGA. This way you have the processor you designed in a hardware chip. Yes, that’s right you create your own hardware chips! The best part is that you can download another circuit design if you wish to the chip and erase the old circuit that was inside it. This is an amazing technology!
You can build anything you want in an FPGA. Simply by writing code in your computer, you get a real hardware chip that YOU designed!
But why build a new hardware chip when I can get an Arduino for 2$? Well, apart from the fun of creating your own hardware, when implementing something in hardware is at least 1.000 times faster than doing a similar task in software in a general purpose CPU. So, if you need a really fast implementation of an algorithm you have to do it hardware.
That’s why my master thesis was implemented in hardware. I built a really fast encrypted communication system using an FPGA. It is somewhat intelligent. You can change the encryption algorithm in real time in hardware if you wish in order to achieve safe communication. It took me about one year to complete but it was a great learning experience.
I haven’t touched an FPGA since then, it’s been around 8 years now. So I have forgotten most of the things I had learned back then. I still remember that I really like FPGAs so I ordered the most basic FPGA board I could find today in order to build something again. It is this small, low cost FPGA board using an Altera FPGA chip.
I managed to design a simple circuit using VHDL, (the language in which we describe the circuit) and it works great! It all comes back so fast. So, I got a new idea.
What if I publish a simple FPGA video tutorial in the channel? It will be fun. And what if we could design our own CPU for scratch and implement it in an FPGA? That would be really fun and educational.
I have designed a 16Bit processor in the past during a University Course be we never implemented it in hardware.
What if we do the same now as a video series? It sounds interesting but first I have to be sure that there is enough interest for something like this.