[SOLVED] VHDL career choices

Status
Not open for further replies.

VeeJayy

Junior Member level 1
Joined
Jan 13, 2017
Messages
18
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
201
Hello everyone,

I have been working on FPGAs since a year in Germany and I have been working a little bit with the implementation on Xilinx FPGAs with VHDL.

I am doing predominantly support work at my present company, and I feel like i am in the middle of nowhere since the experience I have turns out to be really less for good companies here.

The only skills I have is coding very little in VHDL on specified FPGAs and I have unfortunately never worked with SoCs.

I have decided to move ahead with a few courses on VHDL and FPGAs since there are absolutely no projects in the compnay, but would be grateful for further suggestions from people in this particular field for further career plans.

I am 30 years old and i'm desperately looking for a direction in this field.

Would appreciate your help in understanding
- What should be the role I should look for. (Development? Verification?)
- The tools that I should work on (ModelSim? Vivado?)
- The hardware that are the demands of the present market
- What can I do to get good at this role.

It may sound really stupid of me asking such questions, but I have been in this lingo for as far as I remember.

At the end, I feel I could listen to a few tips from experienced people so that I can chart a good roadmap for 2022. I really really appreciate the effort and help.

Thank you.
 

It sounds like where you are you are going nowhere at your current company. If you want to stay in FPGAs, then you're generally better off being "an all rounder". There are still plenty of companies that expect their engineers to be able to do board design, bring it up, then design and verify the firmware. But because of the complex nature of FPGA design now it is possible to be purely "FPGA firmware designer" where you write RTL, probably do verification and maybe write some software and never have to do any board design. Being too specialised in only verification or only development will lock you out of FPGA jobs. While being a verification engineer can be lucrative for an ASIC designer, learning SV and UVM is a MUST. VHDL just isnt really used in ASIC space.

If you can drive vivado (and when I mean drive, I mean fully script your build flow) then transfering to other tools is pretty straight forward.
The same can be said for Modelsim/Questa or any of the other simulation tools.

As for what to do this year, if you intend to stay with VHDL (which is perfectly possible - I write almost exclusively VHDL) then it might be worth looking into doing some of your verification using one (or more) of the open source verification frameworks : OSVVM, UVVM, VUnit or CocoTB. UVVM is main verification framework used by the ESA, for example.

As for hardware, the jobs that will pay best will be using the high speed interfaces, GTH/GTYs, probably doing 10/25/40/100G ethernet (or similar). If you can get those up and running and process data out of them, that will be a big tick in the box for the next company.

And finally - particularly for XIlinx - are you familiar with AXI and all the rules around it?

Your question is very open. There is a lot out there. The UK jobs market has been quite short of FPGA engineers since the serious covid lockdowns ended last summer (likely partly because of brexit). If you're able to move and can get a UK visa - maybe its worth looking here?
 

    VeeJayy

    Points: 2
    Helpful Answer Positive Rating
Hey,

Thank you for the really detailed answer. I will use this as a point of reference in choosing what to do this year.

As you have mentioned, being an "all rounder" did come to my mind. I have worked in the field of analog IC design for a few years in my university and eventually switched to FPGAs due to really high expectations of analog designer hiring companies. Plus, since I really wanted to stick to Hardware, I decided atleast to code "at the hardware level".

I did speak to a mutual friend about it who is quite experienced at Qualcomm who suggested me to look into verification using VHDL, which would add to the (not so bad) development skills, which would catapult me into being challenged at work for the formative years of my career. With the selected verification tools you have mentioned, I do have something to look at. Since I do understand VHDL better than verilog (which would take me extra time to study and master), I think I would prefer to go ahead then with UVVM as you have suggested.

As you have mentioned, the roles I have come across do demand high speed data processing and I will aim to look for projects in this domain. I have worked on projects in the MHz range where the projects did not demand strict requirements in the timing analysis side. I can imagine the difficulties when we move into the GHz range.

I have worked with AXI for one of the projects and between us, I am at beginner level.

The hope from the workplace was that I would get challenging projects which would pave a way for my future, which did not seem to happen unfortunately. Hence, a quite general question from my end.

Regarding the UK, I would like to continue to stay in Germany since I have been here for around 6 years. I have learnt the language (VHDL comes second best, difficulty level wise) and have fortunately blended quite well with the people here. Thus, I would like to continue here for quite a while.

Thanks again for your suggestion. Please feel free to add to your comments or my point of view. I am definitely in need of it.

Regards,
VeeJayy
 

I would suggest that you (slowly) add verilog to your skillset. It would open some verification doors if you decide to go on that route. VHDL and verification is a somewhat strange match.
 

@ThisIsNotSam Its not as strange as it used to be. More FPGA teams are using it (often via the open source frameworks mentioned above) because they dont want to invest the time or money in learning SV and paying for the licences.
 

Are you happy at your current job? Do you enjoy working with your present coworkers?

I was in the same boat you were at one time. I thought I wanted to do VHDL/SV for a living. I ended up doing it for two companies and to be honest, it wasn't all that great. Sitting in front of a unix computer writing verification and rtl code all day was interesting at first but eventually lost its luster. I don't want to discourage you however sometimes the grass is greener on the other side.

FPGA designs are notorious for being behind schedule and over budget. They always seem to be the long pole in the tent and it can get very stressful. Keep that in mind.

My FPGA background has opened up other avenues though and does seem to look good on the resume. So there are definitely plenty of upsides.

That has been my experiences. And most important of all whatever decision you make. Good for you. There's no reason to look back and second guess anything.
 
I have been in FPGA field for about 25 years. Doing FPGA for a living turned out a sort of slow death but doing it as hobby is exciting. Some negative issues below:

- Your design will almost certainly expire after few years. Moreover if you attempt to re-run the method after few years it is unlikely to work. Version control may help but tools change.

-Plenty of false information circulating around... right into interviews. For example always account for state machine entering wrong state. This is fun in large designs as you need complete reset...and masking problems /intermittent design is not a working design.

-Self recovery if your inputs are wrong. i.e. you design correct outputs and also you have to correct inputs coming from wrong outputs of your mate's module. Not fair. OK with safety critical applications.

-Tons of code /folders/subfolders/copies all around.

-Anytime the boss may talk about outsourcing work with no consideration of psychological impact.

-Anytime an ip or chain of ips pop in the market and you have to abandon....

-Terminology meanings vary from desk to desk, not just from company to company.

-Integration with other's modules can be a nightmare. It is always your fault unless you prove otherwise. Integration with software is even worse. Not blaming anyone but just nature.

-Debugging and reasoning of cause/effect is another story. Could get harder than big bang. Signal tapping a broken design is fun.

-Boss will keep asking to stuff more and more inside fpga until it fails timing then blame it on you.
 
Last edited:
Thanks for the detailed reply.

Let me answer by saying, yes I am quite satisfied with the company I am a part of. But unfortunately, as there are literally next to zero projects on the table (as has been for the last 2 years), and no scope of good learning, I decided to ask people for what they think.

I completely understand where you come from and frankly I would stay here if we had future FPGA projects. But doesn't look like they are keen on continuing with them.

As you said, I have seen that the projects did go over budget and was one of the reasons the company decided not to continue with it.

My take on the whole scenario is that, FPGAs would probably be in demand in the near future and frankly speaking, I like the challenge now of solving issues and making the design as fast as possible. As you described through your experiences, I am quite willing to go through learning these things the hard way as I feel it's better to acquire these skills now when i'm 30 than a few years down the line.

Also, I would love to know where did the FPGA skills come to use? Quite intrigued with what can be the future avenues, if it does not exactly go the 'FPGA way' in the future.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…