Starting a career with FPGAs

A

Alexander Kane

Guest
Hello.
I'm currently coming to the end of my last semester of my four year
engineering degree in electronics and computer systems engineering.
I've really enjoyed working with FPGAs as part of my degree and am now
tutoring the FPGA course. Basically I want to start a career working
with FPGAs, but am not sure how to go about it. I live in New
Zealand, but as the job market here is so small I'm looking at Europe
(as I speak both English and German I figure that opens up several
countries I could work in). Does anyone have any suggestions or
advice as to how I go about entering such a career, or what kind of
options are out there, or even websites I can look for jobs on?
Thanks in advance.
- Alexander
 
On 10/3/2010 5:11 PM, Alexander Kane wrote:

I'm currently coming to the end of my last semester of my four year
engineering degree in electronics and computer systems engineering.
I've really enjoyed working with FPGAs as part of my degree and am now
tutoring the FPGA course. Basically I want to start a career working
with FPGAs, but am not sure how to go about it.
Suggestions:

1. Learn C++ also to write/debug drivers interfacing to the FPGA.
2. Learn scripting to verify the FPGA and drivers at the system level.
Bash, python and tcl to start with.
3. Develop your your own project to demonstrate the above skills.
Exercise popular interfaces on your FPGA demo board:
GigE, SDRAM3, USB3 etc.

Notes:

1. Unless you work for an FPGA manufacturer,
few jobs involve FPGA work all day long.
2. Most tough FPGA bugs are at the interfaces to other chips.
3. Fixing an "FPGA" bug may not require any changes to the VHDL or
Verilog code. Often the problem is a bad register setting on
some other chip -- but one that only the FPGA guy can find.

Good luck.

-- Mike Treseler
 
On Oct 5, 6:50 am, Mike Treseler <mtrese...@gmail.com> wrote:
Suggestions:

1. Learn C++ also to write/debug drivers interfacing to the FPGA.
2. Learn scripting to verify the FPGA and drivers at the system level.
    Bash, python and tcl to start with.
3. Develop your your own project to demonstrate the above skills.
    Exercise popular interfaces on your FPGA demo board:
    GigE, SDRAM3, USB3 etc.

Notes:

1. Unless you work for an FPGA manufacturer,
few jobs involve FPGA work all day long.
2. Most tough FPGA bugs are at the interfaces to other chips.
3. Fixing an "FPGA" bug may not require any changes to the VHDL or
Verilog code. Often the problem is a bad register setting on
some other chip -- but one that only the FPGA guy can find.

Good luck.

       -- Mike Treseler
Thanks for the pointers Mike. I realise that most jobs won't involve
working with an FPGA all day long (I don't necessarily want to be "the
FPGA guy"), but I would like to work on projects that involved them.
In my studies I've done quite a bit of hardware design as well as
software, it sounds from your post that software skills are much more
important than hardware skills when working with FPGAs, is that
right? And, I guess, I was also wondering what publications/websites
or whatever might be good places to start looking for jobs. Anyway,
I'll try follow up on your suggestions.
- Alexander
 
What Mike said is really good advice. I would also add the following

1 - Learning more about board-level design is an asset (ICs, Clocks,
memory, microcontrollers ,PCB design, etc.) .
To be an effective FPGA designer you don't need to know everything
about board-level design, but you need to be able to understand how
the circuits work. It will be much easier to interact with the other
engineers and you will be able to debug FPGA design more effectively.


2 - In small companies, the guy that designs the FPGA is often the
same guy that writes the microcontroller/microprocessor code to
interact with the FPGA. You need to learn embedded C/C++ . I would say
that C is used more often for microcontroller programming than C++.

For jobs :

I searched on google "FPGA + New zealand" and I found some job offers,
I think that should be a good starting point.
 
Alexander Kane <ajpkane@gmail.com> wrote:
(snip)

Thanks for the pointers Mike. I realise that most jobs won't involve
working with an FPGA all day long (I don't necessarily want to be "the
FPGA guy"), but I would like to work on projects that involved them.
In my studies I've done quite a bit of hardware design as well as
software, it sounds from your post that software skills are much more
important than hardware skills when working with FPGAs, is that
right?
That doesn't seem right to me... Well, I believe that there
are more software people than hardware people, so maybe that
is why I would say that the hardware skills are more important.

To me, it is very important that FPGA people think in terms
of hardware, not software, even if VHDL and Verilog look like
software.

And, I guess, I was also wondering what publications/websites
or whatever might be good places to start looking for jobs. Anyway,
I'll try follow up on your suggestions.
Getting a job out of country won't be easy, because of the
transportation costs.

-- glen
 
On 10/04/2010 01:12 PM, Alexander Kane wrote:
On Oct 5, 6:50 am, Mike Treseler<mtrese...@gmail.com> wrote:
Suggestions:

1. Learn C++ also to write/debug drivers interfacing to the FPGA.
2. Learn scripting to verify the FPGA and drivers at the system level.
Bash, python and tcl to start with.
3. Develop your your own project to demonstrate the above skills.
Exercise popular interfaces on your FPGA demo board:
GigE, SDRAM3, USB3 etc.

Notes:

1. Unless you work for an FPGA manufacturer,
few jobs involve FPGA work all day long.
2. Most tough FPGA bugs are at the interfaces to other chips.
3. Fixing an "FPGA" bug may not require any changes to the VHDL or
Verilog code. Often the problem is a bad register setting on
some other chip -- but one that only the FPGA guy can find.

Good luck.

-- Mike Treseler

Thanks for the pointers Mike. I realise that most jobs won't involve
working with an FPGA all day long (I don't necessarily want to be "the
FPGA guy"), but I would like to work on projects that involved them.
In my studies I've done quite a bit of hardware design as well as
software, it sounds from your post that software skills are much more
important than hardware skills when working with FPGAs, is that
right?
Not necessarily -- good FPGA guys have to understand digital logic and
it's embodyment with an HDL, they have to understand some analog to
really grok the timing issues and chip interface issues, and they are
often -- even in large groups -- called upon to design the boards on
which the FPGA resides, so they have to be good with board-level design
as well.

Knowing software, too, is just a huge plus.

And, I guess, I was also wondering what publications/websites
or whatever might be good places to start looking for jobs. Anyway,
I'll try follow up on your suggestions.
Pick a city or some cities and start looking at want ads, or go to
company web sites and read the "Jobs offered" section. Rarely will you
find a company advertising for a new college hire, particularly in this
economy. Instead, look for companies that are hiring experienced guys
that do what you want to do in 5-10 years, and apply there in hopes that
they need to hire a junior guy as well.

Even though you're in NZ, get a copy of "What Color is your Parachute".
It's aimed at folks in the US who are changing careers, but there is
lots of the material that's pertinent to anyone considering any job
change -- and you're thinking of changing from a student to a
professional, so that counts. Much will be irrelevant to your
situation, but much will matter, so get a copy and sort it out.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
 
On 10/03/2010 05:11 PM, Alexander Kane wrote:
Hello.
I'm currently coming to the end of my last semester of my four year
engineering degree in electronics and computer systems engineering.
I've really enjoyed working with FPGAs as part of my degree and am now
tutoring the FPGA course. Basically I want to start a career working
with FPGAs, but am not sure how to go about it. I live in New
Zealand, but as the job market here is so small I'm looking at Europe
(as I speak both English and German I figure that opens up several
countries I could work in). Does anyone have any suggestions or
advice as to how I go about entering such a career, or what kind of
options are out there, or even websites I can look for jobs on?
Thanks in advance.
These days "digital designer", unless it's a chip company, either means
"motherboard design" or "FPGA design". Start with "digital designer"
and read the job posting -- you'll find lots of FPGA work.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
 
On 10/4/2010 1:12 PM, Alexander Kane wrote:

Thanks for the pointers Mike. I realise that most jobs won't involve
working with an FPGA all day long (I don't necessarily want to be "the
FPGA guy"), but I would like to work on projects that involved them.
In my studies I've done quite a bit of hardware design as well as
software, it sounds from your post that software skills are much more
important than hardware skills when working with FPGAs, is that
right?
Hardware skills are just as important.
The point is that in most systems there
are CPUs and other complex interface chips attached to
to the FPGA, and that the FPGA work is not done
until all the modes and interfaces are working.

And, I guess, I was also wondering what publications/websites
or whatever might be good places to start looking for jobs.
For a new graduate, internships are best, if you can get one.
Otherwise, work on your own and socialize with others who share your
interests.

-- Mike Treseler
 
On Oct 5, 2:49 am, Mike Treseler <mtrese...@gmail.com> wrote:
On 10/4/2010 1:12 PM, Alexander Kane wrote:

Thanks for the pointers Mike.  I realise that most jobs won't involve
working with an FPGA all day long (I don't necessarily want to be "the
FPGA guy"), but I would like to work on projects that involved them.
In my studies I've done quite a bit of hardware design as well as
software, it sounds from your post that software skills are much more
important than hardware skills when working with FPGAs, is that
right?

Hardware skills are just as important.
The point is that in most systems there
are CPUs and other complex interface chips attached to
to the FPGA, and that the FPGA work is not done
until all the modes and interfaces are working.
The number of hardware related jobs is steadily declining compared to
the number of software related jobs. FPGA design can be considered a
software job and in fact, at the last company I worked for full time,
was organized under software and the entire hardware design was
considered subservient to the software design.

You very much can work in FPGAs and spend 95% of your time banging a
keyboard writing and simulating code. I build boards and spend maybe
a max of 20% of my time in the lab. Software is by far the dominant
portion of electronic design for now and the foreseeable future.
Embedded software is currently a hot area of work (mostly C code
rather than HDLs) but may become less so as systems become more
capable and embedded software becomes more like programming a PC.
Another trend, although still in its infancy, is the merger of HDL
with standard programming languages. It seems to be making slow
headway, but there is a lot pushing it along. The idea of writing one
program which can flexibly be partitioned into hardware and software
is a highly prized goal.

Rick
 
2. Learn scripting to verify the FPGA and drivers at the system level.
Bash, python and tcl to s

Just a question... what kind of important tasks can be done with
script that the vendor synthesiser (as QUartus II or ISE) cant handle?
 
On 10/5/2010 7:47 AM, Luís Rossi wrote:

2. Learn scripting to verify the FPGA and drivers at the system level.
Bash, python and tcl to s

Just a question... what kind of important tasks can be done with
script that the vendor synthesiser (as QUartus II or ISE) cant handle?

Run my new image overnight in the system,
while executing a certain driver command in a loop,
and send me an email if anything unexpected happens.

-- Mike Treseler
 
On Oct 5, 3:30 pm, Mike Treseler <mtrese...@gmail.com> wrote:
On 10/5/2010 7:47 AM, Luís Rossi wrote:

2. Learn scripting to verify the FPGA and drivers at the system level.
    Bash, python and tcl to s
Just a question... what kind of important tasks can be done with
script that the vendor synthesiser (as QUartus II or ISE) cant handle?

Run my new image overnight in the system,
while executing a certain driver command in a loop,
and send me an email if anything unexpected happens.

          -- Mike Treseler
I am very noob to FPGAs.... started 2 months ago. What you mean about
image and driver?

Thank you
 
2. Learn scripting to verify the FPGA and drivers at the system level.
Bash, python and tcl to s


Just a question... what kind of important tasks can be done with
script that the vendor synthesiser (as QUartus II or ISE) cant handle?


The synthesizer simply compiles the rtl into gates. You still have t
verify the gates.


You never build production code using a gui. You always script it. That wa
you can start a job before leaving and it will be done when you come bac
tomorrow without you having to sit there and click a mouse every few hours
It also means that you never have to worry that you forgot to check th
"fix hold times" box on your final run. You will open a new design using
gui and from then on you take the command log and edit that if you need t
change anything.

Your verification suite should also be scripted for the same reason.





---------------------------------------
Posted through http://www.FPGARelated.com
 
For now all i know is a bit of Pearl.
But not quite enough to spell the name correctly...

As stated previously, you need to use scripts to ensure fully-reproducabl
results for "production" purposes. For most FPGA tools, the scriptin
lanuage supported by the tools is Tcl. Alternatively, you can often ru
them from the "command line" using the OS-native scripting language. Goo
luck with that if you are running Windoze. Or invoke a different comman
interpreter from which to invoke the tools, such as Perl.



---------------------------------------
Posted through http://www.FPGARelated.com
 
On Oct 6, 7:19 am, "jt_eaton"
<z3qmtr45@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
2. Learn scripting to verify the FPGA and drivers at the system level.
   Bash, python and tcl to s

Just a question... what kind of important tasks can be done with
script that the vendor synthesiser (as QUartus II or ISE) cant handle?

The synthesizer simply compiles the rtl into gates. You still have to
verify the gates.

You never build production code using a gui. You always script it. That way
you can start a job before leaving and it will be done when you come back
tomorrow without you having to sit there and click a mouse every few hours.
It also means that you never have to worry that you forgot to check the
"fix hold times" box on your final run. You will open a new design using a
gui and from then on you take the command log and edit that if you need to
change anything.

Your verification suite should also be scripted for the same reason.

---------------------------------------        
Posted throughhttp://www.FPGARelated.com
Very interesting... can you point me any good tutorial or example on
how to use scripts to make this kind of task with FPGA? For now all i
know is a bit of Pearl.

Thank you!
 
On Oct 6, 10:48 am, "RCIngham"
<robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
For now all i know is a bit of Pearl.

But not quite enough to spell the name correctly...

As stated previously, you need to use scripts to ensure fully-reproducable
results for "production" purposes. For most FPGA tools, the scripting
lanuage supported by the tools is Tcl. Alternatively, you can often run
them from the "command line" using the OS-native scripting language. Good
luck with that if you are running Windoze. Or invoke a different command
interpreter from which to invoke the tools, such as Perl.

---------------------------------------        
Posted throughhttp://www.FPGARelated.com
Hmm ok, so i will start learning tcl. Thank you very much for the
help!!
 
On 4 Oct, 01:11, Alexander Kane <ajpk...@gmail.com> wrote:
Hello.
I'm currently coming to the end of my last semester of my four year
engineering degree in electronics and computer systems engineering.
I've really enjoyed working with FPGAs as part of my degree and am now
tutoring the FPGA course.  Basically I want to start a career working
with FPGAs, but am not sure how to go about it.  I live in New
Zealand, but as the job market here is so small I'm looking at Europe
(as I speak both English and German I figure that opens up several
countries I could work in).  Does anyone have any suggestions or
advice as to how I go about entering such a career, or what kind of
options are out there, or even websites I can look for jobs on?
Take a look at

http://www.jobserve.co.uk

I just tried a search for keyword fpga in IT jobs in UK, Europe etc
and more than 20 have come up. If you keep an eye on the site for a
few months you could find some jobs you like you'll see what other
skills and experience they are looking for.

James
 
On 10/4/2010 1:11 AM, Alexander Kane wrote:
Hello.
I'm currently coming to the end of my last semester of my four year
engineering degree in electronics and computer systems engineering.
I've really enjoyed working with FPGAs as part of my degree and am now
tutoring the FPGA course. Basically I want to start a career working
with FPGAs, but am not sure how to go about it. I live in New
Zealand, but as the job market here is so small I'm looking at Europe
(as I speak both English and German I figure that opens up several
countries I could work in). Does anyone have any suggestions or
advice as to how I go about entering such a career, or what kind of
options are out there, or even websites I can look for jobs on?
Thanks in advance.
- Alexander
Hi Alexander,

I've got a mate who works in NZ for this lot.

http://www.taitworld.com/main/index.cfm/1,111,0,44,html/Jobs-Christchurch-NZ

As well as keeping me up-to-date with Paul Henry's latest gaffes, he
sent me that job link a while back.

I'm assured that there are still some bits of Christchurch left standing.

HTH., Syms.
 

Welcome to EDABoard.com

Sponsor

Back
Top