I am interested to obtain people's thoughts on what is stopping them diving into FPGAs. I have my own theories on this subject and will share these as this discussion develops.
I look forward to hearing your views,
Thanks in advance,
Simon
I am interested to obtain people's thoughts on what is stopping them diving into FPGAs. I have my own theories on this subject and will share these as this discussion develops.
I look forward to hearing your views,
Thanks in advance,
Simon
Thought I might add my own $0.02 to this. I've been interesting in FPGA's for as long as i could remember but never went down the path because it just seemed far to complex to get started in. But I always think of ASIC style operations when i think of FPGA.
However, the complexity comes from where my interesting in FPGA's comes from, i've been a linux guy for as long linux has been, and i do storage/networking as my career. In those two area's (SAN/networking) theres alot of ASIC and the number of times in both of those area's where i've thought "if i understood FPGA's at all, there are so many idea's i've love to attempt/build" (though I cant say i was certain of how far an FPGA could really go). About a year ago a colleague who knew of my interest bought a really cheap one from somewhere and gave it to me as thanks for something. It was basically just an FPGA on a board with two leds, a switch and tonne of pin-outs but it got me interested in actually doing something, it took me the better part of a week to get the software i needed and to a point where i could control the leds with the button which I wont say dissuaded me from my end goals exactly but the sheer complexity of that task was certainly very daunting (and having done a reasonable amount of hobbiest type stuff with arduino and arm based MCU's it felt a little pointless).
However, i made a goal for myself which was fairly ambitious to make a simple 2-port ethernet hub, extend it into a switch and ultimately aim for writing an entire network forwarding plane on an FPGA. I spent a bit of time figuring out the circuit i'd need to connect an rj45 ethernet to an FPGA and then more time again getting my head around the "core" i needed to drive a tripple-speed ethernet port directly off the FPGA (which later dumbed down into a 10baset only port) - the end result wasn't very encouraging, most of the core's were proprietary and licensed and completely indecipherable to me. However, the thing that eventually killed my interest (and i still dont really know) was getting an idea of what limitations/capabilities were on the FPGA i had when it came to that goal or even how i'd go about making a choice of FPGA with a goal in mind. Even googling was a little difficult, there seemed to be a lot of contradictory information out there and i also got the feeling that there wasnt many places a hobbyist focused FPGA enthusiast would be particularly welcome asking some really dumb questions. One example which was really aimed where I wanted to be was NetFPGA, seemed very welcoming to researchers but completely closed to hobbyists (though the cost behind their equipment ruled it out pretty quickly anyways).
Thought I might add my own $0.02 to this. I've been interesting in FPGA's for as long as i could remember but never went down the path because it just seemed far to complex to get started in. But I always think of ASIC style operations when i think of FPGA.
However, the complexity comes from where my interesting in FPGA's comes from, i've been a linux guy for as long linux has been, and i do storage/networking as my career. In those two area's (SAN/networking) theres alot of ASIC and the number of times in both of those area's where i've thought "if i understood FPGA's at all, there are so many idea's i've love to attempt/build" (though I cant say i was certain of how far an FPGA could really go). About a year ago a colleague who knew of my interest bought a really cheap one from somewhere and gave it to me as thanks for something. It was basically just an FPGA on a board with two leds, a switch and tonne of pin-outs but it got me interested in actually doing something, it took me the better part of a week to get the software i needed and to a point where i could control the leds with the button which I wont say dissuaded me from my end goals exactly but the sheer complexity of that task was certainly very daunting (and having done a reasonable amount of hobbiest type stuff with arduino and arm based MCU's it felt a little pointless).
However, i made a goal for myself which was fairly ambitious to make a simple 2-port ethernet hub, extend it into a switch and ultimately aim for writing an entire network forwarding plane on an FPGA. I spent a bit of time figuring out the circuit i'd need to connect an rj45 ethernet to an FPGA and then more time again getting my head around the "core" i needed to drive a tripple-speed ethernet port directly off the FPGA (which later dumbed down into a 10baset only port) - the end result wasn't very encouraging, most of the core's were proprietary and licensed and completely indecipherable to me. However, the thing that eventually killed my interest (and i still dont really know) was getting an idea of what limitations/capabilities were on the FPGA i had when it came to that goal or even how i'd go about making a choice of FPGA with a goal in mind. Even googling was a little difficult, there seemed to be a lot of contradictory information out there and i also got the feeling that there wasnt many places a hobbyist focused FPGA enthusiast would be particularly welcome asking some really dumb questions. One example which was really aimed where I wanted to be was NetFPGA, seemed very welcoming to researchers but completely closed to hobbyists (though the cost behind their equipment ruled it out pretty quickly anyways).
What FPGA do you have on your board ?
There are free Ethernet MACs around but the one I use is paid for. (hard to say how much (because of bundling) but about £500 per year.). You can use it for free indefinitely if you don't mind it switching itself off after an hour. (It comes from Lattice and only works on their FPGAs).
Big projects on FPGA are more expensive - the chips are not cheap, a small FPGA will cost about £5, a mid range part about £100 and there is pretty much no top limit. The software is fairly expensive too - at the low end even the free simulators are OK but when you get on to big things then the prices rocket up. The chip vendors don't really sell software, they sell annual licenses - not bad value if it's professional work but way out of hobby range.
Gbit Ethernet requires a high speed pcb which you would need to design and make or buy a ready made eval baord - there are some about and they can be found on promotional offers from Lattice, Xilinx or Altera from time to time - I paid $99 for one.
I think a Gbit ethernet switch is just about doable with free software tools so longs as you can get hold of hardware and the FPGA isn't too big for free tool versions.
As far as getting help on choosing chips and scoping projects you'll need to be thick skinned and ask in forums (fora ?). I've never found any books that are any good at that sort of thing. Although I use Lattice chips I think that Xilinx have the best support material on their website.
There is a lot of help on the web - but it's patchy.
Anyway - I'll be happy to help you get that board doing something if reasonably possible. (But I won't be able to help you with Verilog - only VHDL.)
MK