Page 2 of 2

Re: ARM Development

Posted: Mon Mar 24, 2014 3:09 pm
by Pancakes
I almost bought a FPGA not too long ago, but I have so many things right now going on I just forgot about it. I have to run, but when I come back I will have to talk to you about it because I need someone to ask with any questions I have about buying one.

Is there anything I should know about buying an FPGA? I am basically a beginner at that. How do you program it and what can I expect from it?

Glad to meet someone else who likes hacking things like me!

Re: ARM Development

Posted: Mon Mar 24, 2014 4:08 pm
by bwat
Pancakes wrote:I almost bought a FPGA not too long ago, but I have so many things right now going on I just forgot about it. I have to run, but when I come back I will have to talk to you about it because I need someone to ask with any questions I have about buying one.

Is there anything I should know about buying an FPGA? I am basically a beginner at that. How do you program it and what can I expect from it?

Glad to meet someone else who likes hacking things like me!
I've got a Cyclone III FPGA Starter devlopment kit. I bought that kit as it was the only one I could see online in the country I'm in. As I said it doesn't have too many I/O ports unless I buy an extension card but that'll cost more than the starter kit did - too expansive. Buying a DE0-Nano would be much cheaper. Anyway, it's good enough for me right now.

As for software, I run Linux (Ubuntu) and spent a day downloading the latest version of Altera's Quartus II, installing it, then trying to get it to program the board. It seems you have to hack around to get it working with Ubuntu, but the directions are on the net. The board I have has an built-in "USB blaster" so I just connect it to the USB port for programming. The Quartus II program is a bit overwhelming. Luckily I found this tutoriall http://www.altera.com/literature/tt/tt_ ... _fpga.pdf‎ and one hour later I had blinking lights on my board. Why this wasn't included in the kit is beyond me.

I then went to http://opencores.org and grabbed an 8080 core in Verilog. I wrote a little ROM in Verilog to give the 8080 a test program to run. This was tested with http://iverilog.icarus.com/ using gtkviewer for the timing diagrammes. I could have done this with Quartus II but it was quicker for me to write the code in emacs and run Icarus. When that was working, I just followed the Altera tutorial again but this time with my ROM and the 8080 core and lo and behold my test program was reading the input buttons, adding one to that input, then dumping the results on the LEDS. It worked first time. Quartus II said I had used about 7% of the FPGA.

I got the board Wednesday lunch time and the 8080 core was running the test program by Friday afternoon. The ROM was the first Verilog I had written myself. Like you I am a beginner with FPGAs. My Verilog knowledge is limited and mainly comes from Logic and Computer Design Fundamentals by Mano and Kime, and the source for the 8080 core.

Somebody with Xilinx experience should say something here as I've only got, somewhat limited, experience of the Altera world.