Ch9: Bing to us FPGA to speed searches

@ mhectorgato - Cool, I knew I was not wasting my time learning FPGA…

Well time to read that FPGA book I purchased.

Nice …

if you don’t mind me asking, what resources are you using to get started ? books ? dev board ?


Ahhhh, FPGA… Grab one and your life is doomed :slight_smile:

Did you program anything cool?

I am starting out with

Papilio One 500K : Buy Papilio FPGA boards
LogicStart MegaWing : Papilio Wings

As for books, I am not much of a book guy. I like to just jump in a try stuff (I have not had an electronic device that I have not bricked the first night). So to get started I am using the material on the papilio site and the excellent tutorial (which uses the LogicStart)

At first I thought this is going to be rocket science, but it turns out it is not so bad. I have not done anything cool, the project I came to the US to do is going into production in the next few weeks so things have been a little busy the last few months, but my first goal is to build a simple 8 bit CPU and then a full Z80 core.

Yes, I know there are plenty of Z80 soft cores, but the point is to learn and I learn best by limiting the challenges to the new technology and since I have a good understanding of the Z80 (having written more than one software emulator over the years) I can focus on the FPGA specifics and have something nice to show for it (ZX Spectrum emulator). But I am sure there will be a number of interim projects to show between the simple 8 bit core and the final Z80.

I’ve got a book, a demo board, Altium Designer with FPGA and the Altium JTAG and I still haven’t coded anything yet!!

I just don’t seem to have the time. All these nice little modules I keep buying, thinking they would be good to learn, end up gathering dust instead of expanding my learning.

How does the likes of Justin manage to do so many new things? Does he ever sleep? What’s his secret? Has he figured out cloning as one of his unreleased projects?


@ taylorza

Thank you for the input. That is a great quality to jump right in and try… something that I don’t do always :slight_smile:

I have this puppy of KS:

Tried some demos, but nothing more serious after that. Would love to go back to it, when have more time.

@ Rajesh - I read the core concepts and then I start tinkering and reading code. I find that I grasp concepts easier when I see the code than trying to read someone’s explanation. That is why I appreciated SSCLI(rotor) so much, and the same with NETMF. FPGAs so far are conceptually simple, the challenge is having a good grasp of digital logic and being inventive as to how you apply the concepts.

@ Architect, that looks like a no board. It has a spartan 6, the same as the Papilio Pro, but much cheaper. I think I will give it a try. Like you, I am struggling for time lately, I have not touched anything for at least a month. And right now I don’t see things getting better anytime soon. But I will be back…

I think Justin may be doing it full time. Sometimes you see students or NEETs doing awesome stuff.

Well after a few weeks of implementing every kind of logic and ALU imaginable, but doing nothing more that blinking LEDs and driving 7-Segment displays I decided to start playing with the PLLs (Phase Locked Loops), the problem is that I do not have an oscilloscope or logic analyzer so I can’t tell if everything is working like I expected.

So I decided to jump ahead and try implement a VGA controller and then use a PLL to increase the frequency. So here is a video of what I did today.

The FPGA is clocking at 32MHz, with the PLL I am generating a 64Mhz (should be 65) signal to render a 1024x768 VGA signal.

Now I want to see if I can get connect the FPGA to the Gadgeteer RGB sockets and make a Video Out module using the FPGA…

Btw. The block is moving 1 pixel at a time, I have to purposely slow it down so that it looks reasonable.


Anyone used PSOC chips is a combination of FPGA and uP. They are fantastic chips but not very widely used.

@ taylorza - Impressive progress! :clap:

@ taylorza - So, after walking that path, What would be your recommendation(s) on where to start?

1 Like

Well the first thing I would say, is that it is not nearly as complex as it seems to be made out to be. The Papilio with the LogicStart MegaWing is a nice cheap setup to start with. And the online content on FPGAs is awesome, personally I have gone with VHDL rather than Verilog which in the US is unfortunate as here the focus is more on Verilog, but I like the expressiveness of VHDL but it is easy enough to read both.

The eBook I mentioned earlier is great

There is also an awesome youtube series by LBEBooks that does a great job on teaching the concepts of digital design + FPGA.

I am at lesson 67 at the moment, it starts off really basic, but it is a good rehash of karnaugh, Boolean identities etc.

I warn you, it is a little addictive playing with FPGAs… :slight_smile:

1 Like

Since we’re talking about FPGA’s JP Morgan Chase uses them to speed up a certain reporting system.

FPGA Accelerators at JP Morgan Chase

They were so impressed the purchased the consultant who was doing the work for them.