Appologies this isn't really EE question, only related..Don't know though a better forum to ask this on.
I've been in embedded firmware engineering for years now, programming CPUs,SoCs,MCUs, etc.. baremetal to drivers to RTOS, OS , to applications.
Now I did a beginner university course on FPGA design, and I loved it. (I Just thought I seen nothing like this in any code dev; everything looked better, from design to dev to simulation to testing to verification)
Are there dedicated FPGA careers, where people do just FPGA designs, implementation & validation? ( Just as they teach , whole FPGA dev cycle).
Anyone done a 'conversion' from software to FPGA programmer career change, and could share on the experience?
-
1\$\begingroup\$ Or get a job that uses Ada, which VHDL's syntax is based off of. \$\endgroup\$DKNguyen– DKNguyen2022年03月11日 03:48:01 +00:00Commented Mar 11, 2022 at 3:48
-
\$\begingroup\$ There’s plenty of jobs where people craft fpga designs only. It is pretty much a specialisation. \$\endgroup\$Kartman– Kartman2022年03月11日 04:47:14 +00:00Commented Mar 11, 2022 at 4:47
-
\$\begingroup\$ Most companies I've worked for/with have dedicated and separate FPGA developers or teams. They work closely with firmware / embedded engineers, but there isn't much individual crossover. That said, you can definitely switch specialties. What matters is what you enjoy doing and what you can accomplish productively for a company. \$\endgroup\$TypeIA– TypeIA2022年03月11日 07:29:18 +00:00Commented Mar 11, 2022 at 7:29
-
\$\begingroup\$ There certainly are such jobs. \$\endgroup\$user16324– user163242022年03月11日 10:56:02 +00:00Commented Mar 11, 2022 at 10:56
-
\$\begingroup\$ Yes. In fact, I would love to hire someone with such skills. :-) \$\endgroup\$Cody Gray– Cody Gray2022年03月11日 11:36:58 +00:00Commented Mar 11, 2022 at 11:36
2 Answers 2
Lots of companies have dedicated FPGA teams (usualy doing Verilog or VHDL, very rare to to both or use an alternative). I know many people who have only done VHDL for the past 20+ years.
Personally I used to be only hardware design, than branched off into doing VHDL as well as I was working for a smaller company where both were required. I am now mainly doing VHDL, at a large company where there are some people doing just hardware, some doing hardware and VHDL as required and some doing just VHDL.
One thing I've noticed, coming from software going into VHDL can be harder than from hardware into VHDL, as VHDL is everything is happening at the same time, not sequentially like it is in software. In fact some companies I have known will pay for hardware engineer to do a VHDL course, but won't do the same for software engineers as the mind set has to change so much. But I've always been of the impression anyone can do any of it. The engineering mindset is the important thing.
You haven't told us where you are, or which industry (if any) you wish do to. The VHDL vs Verilog debate would most likely be answered by location an industry.
In summary: go for it. Lots of jobs out there.
-
\$\begingroup\$ "coming from software [...] can be harder [...] as VHDL is everything is happening at the same time, not sequentially" -- that is a really great point since that is a HUGE stumbling block for a lot of beginner logic designers. But, if a software developer is the rare breed that is well-versed in functional programming (or heck even multithreaded / concurrent programming) then they won't get caught by that pitfall. \$\endgroup\$Mr. Snrub– Mr. Snrub2022年03月11日 09:31:40 +00:00Commented Mar 11, 2022 at 9:31
-
\$\begingroup\$ thanks for your detailed feedback : about 'same time' or concurrency: I got a good flavour of this in my VHDL/ FPGA course, and, from me programming at interrupt / hw level in 'hard cores' (:P) so to say. Of course, at same time is totally different from a multi-thread programming on a single core MCU (or even multi-core). I plan to do more VHDL, but also seems Verilog is a must too. \$\endgroup\$v01d– v01d2022年03月14日 23:51:57 +00:00Commented Mar 14, 2022 at 23:51
Are there dedicated FPGA careers, where people do just FPGA designs, implementation & validation? ( Just as they teach , whole FPGA dev cycle).
Yes, absolutely, as some of the other commenters have already said. These roles are pretty common in the defense industry, but they exist in some commercial companies as well. Go to indeed.com and search for "FPGA" in some major metropolitan area and you will see a lot of jobs.
Anyone done a 'conversion' from software to FPGA programmer career change, and could share on the experience?
While I have never seen a 100% "conversion" from one to the other I've seen a few people who do both types of design as the situation demands. Personally I think it is super helpful if an FPGA designer has a good background in software development, because:
- Good coding skills translate very well to FPGA design, and good software developers already have those. I've seen code written by "hardware only" people that reads like a hand-coded schematic or netlist; terribly difficult for a human to read and understand. Good software developers know how very important readable code is ("concentrate on explaining to human beings what we want a computer to do" -- Donald Knuth), which makes their code easier to read and troubleshoot.
- Writing test benches is already like traditional software development. When writing the test bench you are no longer confined to the synthesizable subset of VHDL, so skilled software developers already have some powerful tools and techniques at their disposal. For example, using linked lists to model memories -- linked lists are already familiar to many software developers but are a very foreign concept to hardware-only devs.
Bottom line: a good background in software can make a person a better FPGA designer -- provided they also know the FPGA side of things quite well, of course!
-
\$\begingroup\$ Thanks so much for your feedback; really apprecaite it \$\endgroup\$v01d– v01d2022年03月14日 23:55:23 +00:00Commented Mar 14, 2022 at 23:55