5 ms·
what did you study/how did you learn to design FPGAs? I had an early intro to verilog in school but it all seemed so opaque to me. Do you think it's possible
by tastythrowaway 9y ago
what did you study/how did you learn to design FPGAs? I had an early intro to verilog in school but it all seemed so opaque to me. Do you think it's possible for people to teach themselves? Thanks.
- fpgaminer 9y agoI taught myself and now design FPGAs for a living as well. Had 1 class in college that, like your experience, was totally opaque. But it sparked my curiosity. Not sure I can advise exactly _how_; I'm usually strong at self learning. Just letting you know it's possible. Personally I'd start with IntelFPGA (formerly Altera) products; I found them easier to use.
- nomel 9y agoI was using free tools, so maybe that's was the issue, but I always found that trying to even approach abstraction would always totally explode my routing requirements. Is this the case with professional tools, or is abstraction avoided?
- pjc50 9y agoWhat abstraction do you mean?
- gchadwick 9y agoPersonally I taught myself with the aid of an Altera DE2 board (I had a professor at university who was kind enough to lend me one of the class ones on an extended loan). The DE series still exists and has a wide range: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=163#Category165 http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=E... The DE0 Nano is pretty cheap: https://www.digikey.co.uk/product-detail/en/terasic-inc/P0082/P0082-ND/2625112 https://www.digikey.co.uk/product-detail/en/terasic-inc/P008... the more capable DE10 Nano looks interesting too: https://www.digikey.co.uk/product-detail/en/terasic-inc/P0496/P0496-ND/6817231 https://www.digikey.co.uk/product-detail/en/terasic-inc/P049... only slightly more expensive. They provide a good plug and play solution. Program over USB, software available free from Altera (Ages ago Mentor used to do a free version of ModelSim in conjunction with Altera, something similar is probably still around). You can also just grab Icarus Verilog (http://iverilog.icarus.com/ http://iverilog.icarus.com/) it's an open source verilog simulator. Will allow you to get to grips with verilog without needing the hardware. The main problem is you may start building designs that simply cannot be built in hardware (plenty of ways to build stupid circuits in verilog). There are few resources on the internet (comparing to what's available for learning programming). Maybe try 'Digital Design and Computer Architecture' by David Money Harris & Sarah L. Harris.
- mattcoles 9y agoI wouldn't recommend Icarus Verilog, it's not a very good simulator. You're much better off downloading either the free Altera/IntelFPGA copy of Modelsim or using the free version of Xilinx's Vivado. The DE10 Nano is a great board though, huge FPGA that can hold big designs and the HPS gives you a lot of extra capabilities.
- gchadwick 9y ago> I wouldn't recommend Icarus Verilog, it's not a very good simulator. Haven't really used it much myself but fair enough :) I suspect many people on HN would be more comfortable with free opensource tools. Which is why I mention it. The majority of the EDA world is proprietary software and huge licensing fees, free limited versions available for home/educational use if you're lucky. A bit of a culture shock for someone used to the software world!
- Cyph0n 9y agoAnd the proprietary stuff is better 99% of the time.
- jhallenworld 9y agoI use Icarus (and GTKwave) all the time for small unit tests. The problem is that they can not handle vendor encrypted designs.
- bsder 9y ago> I wouldn't recommend Icarus Verilog, it's not a very good simulator. I'm going to make you define "good". Icarus, at one point, handled way more of the standard than even Cadence did and had far fewer bugs. And I can tell you that at least one graphics chip used to run it's validation suite through Icarus.
- sweden 9y agoI seriously doubt that. Care to share more?
- tastythrowaway 9y agoThis helps a lot actually, thank you. I know what works for one may not work for another - but it's good to know that revisiting it as a hobby may not be a complete waste of time.
- zipcpu 9y agoAs the author of the article ... I was also self-taught. Dan
- adwn 9y agoI studied computer science and taught myself FPGA design on my own. The thing is, implementing non-trivial FPGA designs is much closer to software development than to analog hardware design, both in the problem-solving approaches and in the tools you use (text-based languages instead of schematics); a "low-level mindset" is necessary, though. The association of FPGAs with electrical engineering is mostly due to historical reasons. As for learning FPGA design: Download the free Xilinx Vivado Webpack (or the Intel/Altera equivalent), it is so feature-complete that it's even sufficient for many commercial designs. Most online tutorials (and university courses) are pretty crap though, because the teach you extremely low-level approaches, like building your own adders, which you should never do in FPGAs. This is great for understanding bit-level arithmetic, but useless for approaching and partitioning larger problems. It's the equivalent of teaching someone assembly (great for understanding the inner operations of a CPU), and then asking them to implement a webserver. Besides, most online tutorials and university courses teach outdated coding styles, like separating sequential and combinational processes. It's good to read, e.g., the Xilinx forums to stay up-to-date.