Ask HN: FPGA Projects

19 points by LastZactionHero ↗ HN
My degree is in computer engineering, but outside of hobby projects I've spent most of career developing for early stage web startups. I've been keeping the hardware skills alive with personal projects, but want to pursue this more earnestly and find a job in this field. More recently I've started working with FPGAs with the goal of finding a job in hardware, thinking this could be a good entry point.

That said, hardware community in my area (Boulder, CO) isn't as easy to find as the Ruby group.

- Any recommended FPGA open source projects to get involved with?

- Has anyone made the jump to hardware?

- Any advice from someone currently working FPGAs or hardware?

20 comments

[ 4.7 ms ] story [ 54.3 ms ] thread
I haven't checked up on the project in a while, but http://www.clifford.at/yosys/ has an interesting open source toolset. It's been a while since I've done much with FPGAs as they're not that friendly to hobbyists compared to analog circuitry and microcontroller based digital circuitry, though they're still interesting to handle.

My general recommendation is to try to get to the point that you can sell one circuit board (populated or unpopulated) as (depending upon your skill level) it may highlight areas that you can learn more as well as providing a portfolio piece.

I'm working with FPGAs almost exclusively at my job. From what I've seen, you want to choose either Xilinx or Altera and learn their proprietary toolset. Unfortunately there aren't many comparable open source synthesis tools that can do what Xilinx/Altera can do on their own hardware. (For example, optimized closed-source IP blocks that use hard silicon instead of pure gate-array logic).

Also important is to know the basics about simulation testing and how to set up simulation testbenches. There are a few different software setups for this... I know Xilinx has one built in, and Modelsim/Questa is pretty common.

And obviously you want to know VHDL or Verilog really well.

LibreCores is pretty active, even sponsoring several Google Summer of Code projects:

https://www.librecores.org/

Poke around the website and see if there is a project that interests you. Get on their mailing list and ask questions, they are a pretty friendly bunch.

I know opencores.org, which seems to be similar (but I like the organization of the OpenCores site better to be honest).

We made some small improvements to the Plasma CPU [1] (which uses a small subset of a MIPS instruction set) in a university project.

[1] https://opencores.org/project/plasma

I really enjoyed working with myhdl back in the days, don't know if it's still active.

However I am in bad shape to give advice since I made the jump from FPGA to software development =P

May I ask why you jumped from FPGA to software development?
Pay is much better and there are many more opportunities.

Did the jump four years ago after been in FPGA for four years.

Couldn't be happier ;)

That's interesting. I agree that pay is better in software than in hardware.

May I further ask on what technologies/ tools/ platforms are you working right now?

I recently learned Migen and its been a breath of fresh air. Hardware design will always be much harder than software but using a generator like Migen makes it a lot easier.

Personally I think its hard to do anything substantial as one person using pure Verilog or VHDL.

I'm in a very similar situation! I haven't "made the jump" and probably won't in the near future (or even at all).

Some ideas for projects I have pursued: - A CPU (you can make this as simple or complicated as you want) - A rotozoomer (rotates and zooms a picture), which requires you to output some kind of graphical signal - Implementation of some communication protocols (I2C, SPI, UART)

May I ask why you have decided to not "make the jump"?
There seem to be many more jobs in software. The jobs I found in more hardware-related fields seem to be harder to get in (especially if you're not an electrical engineer), and seem to have lower salaries. Besides, there only seem to be hardware jobs around cities with technical universities - which means I have to either give up the place I just moved in to, or travel about 3 hours a day.
Awesome- what hardware are you working with? Hit me up (email in profile) if you want to chat about what you're working on.
Low-end development boards from sketchy companies ;) I own a Mimas v2 from Nimato Labs, and a miniSpartan 6+ from Scarab hardware (I think the first is around 50 dollars and the second around 100, but they both have less expansive versions as well). The miniSpartan is quite awesome since it's so tiny and has a slightly newer FPGA on it, but the support from Scarab is absolutely zero (from Nimato labs, I remember asking something once and getting a timely reply, so I guess the Nimato support is a lot better). However, the HDMI on the miniSpartan is nice to have if you want to have more colors (the Mimas supports only 8-bit colors on the VGA signal, which gives a posterized look).

I don't know if I have much to offer since my experience is very limited, but I dropped you an email anyway. I do want to write something about installing and using Xilinx ISE (there are already quite a few articles explaining this), and also getting it to work on Windows 8 or 10 (which is explained in [1]).

[1] https://www.eevblog.com/forum/microcontrollers/guide-getting...

I would suggest you get hands-on with NetFPGA[1]. Parallel to NetFPGA[1], please refer to the networking projects which have been done by Stanford[2][3] students. They have actually reproduced research from many networking related seminal papers. What they are doing is highly commendable. You could find one or two Networking + FPGA related projects there.

It's easier said than done since I've been grappling myself with this for quite some time, but doing this will take you at an altogether different level.

[1] → https://netfpga.org/site/#/

[2] → http://web.stanford.edu/class/cs244/

[3] → https://reproducingnetworkresearch.wordpress.com/

Bolder has a great hardware scene with a heap of hardware companies founded in the area. If I were you I'd reach out to SparkFun.com (I sold my company to them) and ask them about the local hardware groups. Most of the Hardware groups are based around the local university.