Browsing through element14's community post a few months back I notice some articles about FPGA's. At first I dismissed them mainly because I didn't know what they were. And I didn't think I would ever use one or what one was. As I continued to look around in the weeks to follow, there seem to be more and more post about FPGA's. I though to myself I should probably do a bit of reading about them to see what they are all about. Well, now my interest is peaked. I started reading more and more about them, I watched some videos and looked a some code. Unfortunately I convinced myself this is too much of a learning curve, I really didn't know where to start, what board to buy, what software to use, what programming format would be best to learn, and if I did buy one, would it scale, what other tools I would need to buy to program it and lastly, would the board I'd end up with be overkill. So I dropped it.
A couple of weeks ago, Randall Scasny posted a question What's Stopping You Building Your Next Project with an FPGA? (Please, Don't Blame the Cost!). My first thought was actually the cost, but I replied to the post with pretty much the same reasons listed above. Then I started thinking about it and came the the conclusion that FPGA's are not going away and they are probably going to be the way of the future and I should probably learn it while its still feared by many.
The thing that really made me jump into FPGA's was a small little fact in a comparison of a MCU to and FPGA. And that was MCU process instructions sequentially and FPGA's can process parallel. I've been working on a project that needs to read at least 4 sensors at the exact same time and calculate the time differences between them. I did find a IC that can do this called a Time to digital converter (TDC) and with some other hardware I believe I could accomplish it. But after watching some FPGA videos, I thought this may be the project I want to try to build using an FPGA since it would be able to read the inputs in parallel and in combination with a counter and some registers store the values for me to retrieve.
So, I took the plunge and purchased my first FPGA. I was ordering some other parts and decided to look at the cost of FPGA boards and found this MachXO3L http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/MachXO3LStarterKit.aspxmade by Lattice Semiconductor. The price of it was just under $35 Canadian. The specs on it looks like its a huge overkill for what I wanted, but you need to start somewhere and it I figure I can use it for future projects. The software to program it was free although there isn't a whole lot of examples for it, it does support Verilog and VHLD.
Well the MachXO3L came in today and it looks like the picture . I guess my next few blog entries should be around setting up the software, testing out the demo code, creating some simple logic gates and tying the inputs and outputs to the on board switches and leds.
Before I go, below is a circuit I would like to try to mimic in an FPGA for my first project, I don't know yet if it is even possible, but again I have to start somewhere. If anybody reading this knows anything about FPGAs, could you comment to tell me if it is possible or am I just wasting my time on it. If you need more information on how its suppose to work, let me know I can try to describe it out, I know the picture is a little hard to read.