Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Fpga

Status
Not open for further replies.

AtomSoft

Well-Known Member
Any FPGA fans out there? I feel like learning it.. seems like you can do tons with one. Would love some advice on which is a good start... what company like Altera, Xilinx etc...
 
Altera and Xilinx are the best to start with. Down load the free software. There are many development boards. You could start out at the CPLD level but jumping into FPGAs first is good. I think you should find a project to do or modify one of the on line examples. Because you know C then VHDL will be easy.
 
WOW $8 for a connector... that makes this BEMicro thing useless for me... i dont want to spend so much money on connectors... makes no sense!!!
 
Check out the Xilinx IDE. You can get started right away, because it's free and supports simulation. I played around with their IDE only briefly never did anything with it, but my first feel was that it's solid software with a lot of built in resources. FPGA dev kits will set you back 80-100 dollars or so yeah but FPGA's are significantly different from micro controllers. In the case of an FPGA, you're writing code that defines hardware that can work at. It's like having a PIC or AVR at your disposal (there are opencores for this) but you can program your own peripherals. AVR's have a little known line that has a true AVR core chip that is linked to an internal FPGA. FPSLIC I think it's called, something like that at least.
 
im trying to find a Xilinx FGPA board for under $200 but its hard... if you know of any or can you post all the boards you can find under $200
 
There are modules on **broken link removed** well under 200. That's just one. It's not easy to find, the one site that I was looking at at the time I've lost the link to and am currently unable to find references to from Google.

The spartan 3E board on **broken link removed** is only about 50 dollars, all you need is a jtag programmer.
 
Last edited:
Hi there,

I have done a fair bit of work with FPGA's, they are pretty much my profession! :D

They are much much different to micro's, and may take a bit of getting used to. The basic building block of an FPGA is a slice. At a basic level this consists of a Look Up Table (LUT) with N inputs bits and M output bits (typically 1 or two). This can store any logical function you wish and is a combinatorial piece of logic, think of it like a tiny parallel EEPROM with 4 or 6 address lines and one or two data bits.

After this there is a flip flop, to synchronise this value to the systems clock. A large interconnection matrix then feeds this signal to another slice, and so forth. Trouble is this path the signal takes, must go through the next piece of combinational logic and be present on the flip flop (setup and hold) long enough before the next clock edge. So the bigger the design the harder this gets, as the signal paths get longer and longer. So although you design maybe behavourally correct (behavioural simulation proves this), it may not meet timing (you can do timing based, post place and route simulations too).

I would suggest downloading Xilinx ISE Webpack, Lattice's ISP Lever Starter (or diamond - I prefer ISPlever I must be honest), and go through some online tutorials using the simulator - before shelling out cash for boards.

If you are a student, the Digilent Atlys is a great buy (a lot of dev board for the money, it has a onboard programming via USB academic price of $200), but the cheapest way in to the FPGA world is probably the Lattice XP2 brevia but you will need a parallel port for the JTAG lead included (about $50, and comes with a parallel port JTAG lead)!

I started as a student with a home made parallel port programmer and a M4A5-64 home made board on vero. I would not recommend CPLD's (although easier) due to the limitations of such device. The brevia has approx 5000 LUT's and flip-flops whilst the M4A5-64 has 64 flip flops.
 
Last edited:
Thanks a ton Sceadwian. I might get that and also the LatticeXP2 Brevia Development Kit since its $50... The programming cable from digilent looks like a normal one just stripped of 5 extra gnd pins heh...
 
Opencores is down for me too. I really would suggest trying out numerous FPGA IDE's before shelling out for boards though ;)
 
ok quick question can i refer to opencores for any FPGA i decide to use? I hear there are AVR cores and such... if i wanted to implement a CUSTOM AVR core is that possible on all FPGAs with that GATE count or something ?
 
You'd have to check out the specific core AtomSoft. I noticed opencores was down when I posted the link, but I've been there before and they have a lot of reference cores. Hopefully it's only a temporary outage.
 
Ok quick question... I notice most FPGA boards come with SRAM or FLASH chips on board. Does it use this Flash to store the program to be ran ? or does it use it like if it was internal. For instance i use a AVR Core will it use that memory as flash memory for the device ?
 
Ok quick question... I notice most FPGA boards come with SRAM or FLASH chips on board. Does it use this Flash to store the program to be ran ? or does it use it like if it was internal. For instance i use a AVR Core will it use that memory as flash memory for the device ?

The memory chips are used for storing the FPGA code.
 
Before you make an investment into a FPGA development board, ask yourself a few questions. Why do I want to learn FPGA technology, what is my end goal? How will I use these devices? How is my understanding of combinatorial and sequential logic?

FPGA design requires a good understanding of digital logic in order to be useful. You must learn a FPGA design language such as VHDL or Verilog. Although VHDL is a programming language, it is nothing like C, so while learning VHDL, forget what you know about C. Read a few articles on VHDL, see if it is something you will like to learn. Here is a link to get you started. https://www.seas.upenn.edu/~ese171/vhdl/vhdl_primer.html
 
Last edited:
Hey thanks Mike , thats why i want to goto OpenCores.org I dont only want to view tutorials but i want to examine other peoples work. I feel its a better learning experience. I will of course read tutorials also but jumping in is my personal way of learning. I learned ARM that way. Barely looked at a tutorial. I learned C that way also :D
 
I think Mikebits has made a good point, you really need to decide if you need an FPGA in the solutions you are trying to solve. Also everything must be designed as digital circuitry, so you really need to have a good grasp of digital sequential design. Typically FPGA's are used where large amounts of processing is required (like DSP at high sampling rates). Even if you use an open core CPU, you will probably be developing custom peripherals, which will require digital design again.

The XP2 is flash based, but most FPGA's are RAM based so they will forget their forget their bitstream (the configuration of the LUTs and connection matrixes) on a power off and on cycle, so typically this configuration is stored in a seperate flash based chip.

A lot of dev boards come with SRAM or DDRAM to use as storage, as storage on chip is usually quite limited.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top