Is VHDL+FPGA knowledge useful for Embedded engineer?

C

Chandresh

Hello everyone,

I am a graduate student in ECE. I took Embedded class(PIC
Microcontroller) and now I want to make a career in Embedded Systems
(Software).
Is VHDL and FPGA class knowledge useful for Embedded engineer or basic
Software development process course would be more useful? I have to
make choice between VHDL +FPGA & Software engineering overview class.
Please guide.

Thanks,

Chandresh
 
U

Uncle Noah

I am a graduate student in ECE. I took Embedded class(PIC
Microcontroller) and now I want to make a career in Embedded Systems
(Software).
OK.

Is VHDL and FPGA class knowledge useful for Embedded engineer or basic
Software development process course would be more useful? I have to
make choice between VHDL +FPGA & Software engineering overview class.
Please guide.

You can take either of two ways:

1. Old-school. Work with COTS (microprocessors and 74xxx, 4xxx digital
ICs). Maybe you are here given your PIC experience.

2. New-school. Prototyping of embedded systems. You'll need CPLDs,
FPGAs, and an HDL.

Is the overview class some kind of "quick seminar" class? It will take
for more than that, be prepared.
 
C

Chandresh

Uncle said:
You can take either of two ways:

1. Old-school. Work with COTS (microprocessors and 74xxx, 4xxx digital
ICs). Maybe you are here given your PIC experience.

2. New-school. Prototyping of embedded systems. You'll need CPLDs,
FPGAs, and an HDL.

Is the overview class some kind of "quick seminar" class? It will take
for more than that, be prepared.

Thanks for reply. I have to select courses for Fall 2006 semester. One
course is Software Engineer that covers software development process
and the other is Modern Digital Design which covers VHDL and FPGA
programming. I already completed Embedded systems that covered
PIC16F877 microcontroller.
I asked my friend who works in Motorola, He replied me that VHDL is
more related to semiconductor design jobs whereas Embedded systems
requires good programming skills. My confusion is that both courses
seem useful but I can take only one. According to my perspective,
Software development knowledge is useful anywhere while VHDL+FPGA would
also be good knowledge tools for an embedded engineer. I want to relate
my study classes with their usefulness in future job rather than only
good or better courses thats why I am asking this here to you people
who are already working in the field.

Thanks,

Chandresh
 
D

dmoore

Nobody that uses PIC Microcontrollers has the money to hire a "Software
Engineer".

Embedded systems really means using Perl,C++,Java in an small/medium
company
writing Apps on a Windows platform (WIN/CE?) or a Unix variant
(Linux,Symbian,Palm)
to integrate niche technology libraries/tools (eg. maybe wireless
stacks) from micro sized
companies. So 7/10 times there'll be no difference in your job tasks
between embedded systems/desktop systems/server systems.

I don't see any point in bothering with an extra SW Eng. course Sw. Eng
is a buzz word
and its mileage may vary (greatly).

A VHDL/FPGA course could potentially be very useful but _you need to
figure out
what your motivation to learn it would be.
 
C

Chandresh

Thanks a lot.
I am really happy that people like you are here to reply our questions.
I really appreciate your kind interest.
You gave me the information that I was really looking for. But I am
surprised to know that there is no difference between the job skills of
an Embedded Engineer and a Computer / Software engineer. I dont think
that I can learn Perl, Java in my department then how can I get in to
this area? Basically I am an Instrumentation & Control Engineer with
some academic experience in Biomedical Engineering. Now I am doing MS
in ECE. My intension is to learn things that can help me to get a good
job and that too quickly. I came to know that there are lots of jobs
in Embedded systems so I choose this field.

Can you please tell me more about job scope and skills required for
VHDL+FPGA field?

Thanks again,

Chandresh
---------------------------------------------------------------------
 
D

dmoore

You gave me the information that I was really looking for. But I am
surprised to know that there is no difference between the job skills of
an Embedded Engineer and a Computer / Software engineer. I dont think

Well they both have to use the prevailing market tools and technologies
(some
version of Windows/Unix) to write software apps which (7/10 times) as
far as
the app programmer is concerned are pretty much the same underlying
technologies.
However, in the Academic world you will find a preference for the
theoretical
which permits the exploration of certain topics in a more comprehensive
and
deeper way which allows them to "make up" courses - whether they are
even
useful can also be debated, for example on one course I was on they
gave a
6 hour lecture on Processor Cache Design which culminated in the issue
of
Cache sizing and this was given as a 4 week student practical. This was

certainly a deeper theoretical treatment, but the whole exercise was
quite
useless since every single CPU Project known and unknown to man has
always made the Cache as big as possible.
Meanwhile back in the real world 7/10 times this theory side of things
wont be
much(any?) use to you. Thats just the way it is -- check the job ads.
This is
why it is usual to get a job and do an MSc part-time as it will not
make you
more employable - a Ph.D will do that.
Can you please tell me more about job scope and skills required for
VHDL+FPGA field?

Digital logic design and HDLs is a very big area and you must decide
what you want to get out of it. Check your local job ads to see what
your
local employers are doing with these technologies.


Regards.
 
N

Noway2

Chandresh said:
Hello everyone,

I am a graduate student in ECE. I took Embedded class(PIC
Microcontroller) and now I want to make a career in Embedded Systems
(Software).
Is VHDL and FPGA class knowledge useful for Embedded engineer or basic
Software development process course would be more useful? I have to
make choice between VHDL +FPGA & Software engineering overview class.
Please guide.

Thanks,

Chandresh

I have been holding off a bit to see what kind of advice you received
before putting in my .02C worth. First, I want to say that I disagree
with the comment that 'embedded systems' is predominantly writing java
or perl for a Win CE platform. I also disagree with the comment that
any company that uses PICs won't bother to higher any real software
engineers. Every company that I have worked for has used a wide range
of processor platforms ranging from PICs to high end DSPs. All of
these companies have had software and hardware engineers working on
these projects. Additionally, just about every project that was
significant in size incorporated programmable logic (VHDL / FPGA), but
not from the perspective of IC design, though this is one area that
VHDL is applicable to.

Over time, I have come to realize that in larger companies, there is
seems to be a strong split between the hardware and software developers
and engineers are typically assigned a specific portion of a project -
and thats it. Smaller companies, though, usually don't have this
luxury and the engineers have to be more versatile. It would be in
your best interests, unless you plan to only work for large or very
large companies, to have as diverse of a background as possible.

There are two reasons why I would recommend the courses on VHDL and
FPGAs. The first is that it has been shown that most successfull
products are successfull at least in part because of their ability to
expanded and adapted to unforseen needs. One of the easiest ways to
provide for this expansion is through programmable logic. The second
reason is that as products are required to provide more features, use
less power, be smaller and faster, the response has been towards higher
levels of integration. Use of programmable logic, such as FPGAs and
CPLDS fits very well with this trend as they are increasingly replacing
other 'glue logic'.

I would also like to say that. one of the other distinctions that I
have seen between a computer science type (programmer) and an embedded
systems (programmer) is that the person developing for the embedded
systems usually has to have a stronger handle on understanding the
hardware. This need to understand the hardware stems from the fact
that you don't always have a well defined operating system providing a
nice clean HAL. Instead, many times the embedded developer has to
control the IO directly and handle hardware events such as interrupts
and raw sensor data.
 
T

Thomas Entner

I basically agree with what "Noway2" wrote, however, my conclusion is a
little bit different:

Best would be to have both the VHDL and the embedded-software-knowledge, but
if you have to decide, I would go for the embedded-software-course,
espcially if this is what you want to in the future. Simply because software
is used in almost every embedded project, and it also opens a chance for
PC-programming, while FPGA-projects are more limited (but growing).

Regards,

Thomas

www.entner-electronics.com
 
C

Chandresh

Thanks "Noway" and Thomas. You understood my query perfectly and your
reply is complete and crystal clear. Now I can see the picture more
clearly. Thanks again.

However I would like to know about the job prospects of an Electrical
Engineer with Master's degree in US, I took courses like Embedded
systems, Advanced Embedded Sysytems, Modern Digital Design(VHDL+FPGA),
Advanced control system design, Dynamics and control of MEMS and a
thesis in Embedded systems. This is my plan of study. i already
completed half of this. As you wrote about diversity, I have work
experience in Biomedical and Power plant instrumentation (DCS, PLC
etc.).

Regards,
Chandresh
 
H

homoalteraiensis

Thomas wrote "while FPGA-projects are more limited "

There is nothing which is less limited than FPGAs :)

Seriously, current FPGAs come at least with soft cores, emulating
embedded uCs und DSPs if they do not have already a built in hard core
Power PC or what ever. So, there will be some demand of programmers
(even for JAVA) also for such projects.

One the other hand, I sometimes have the impression, that there are
more JAVA and C-Programmers around, than birds in the trees, so
focussing the "hard" issues of a design might be the best chance to get
jobs and/or projects. And allthough an embedded programmer deals with
IO, ADC and signal structures like busses and so on, too - modern
FPGA-Design is the more complex and tricky thing. But it requires an
engineering background since it usually appears within high speed
designs, where many "analog issues" and physical signal problems occur.
(Never heard of a setup violation problem concerning a class
constructor :) )

Coming from the soft domain, the programming skills should be the first
to enlarge. Getting familiar with some uCs and DSPs
 
D

dmoore

Hi,

I stand by my comments because they were based on my scanning of job
adverts and experience for my geography and I would recommend that you
adopt a similar approach.
Find out what recruiters are hiring grad students in your area and why.
 
D

D Stanford

Chandrash --

To me, embedded means something closely tied with hardware. The
embedded work I do has FPGA designers and also C++ Software Engineers.
Obviously if you want to do the chip design, a VHDL course can help. If
you want to stay on the software side, the VHDL course can still help.
The software engineers I work with that seem to do the best are those
that are very familiar with the lower levels of hardware they are
working with. Those engineers coming from a more abstract level are not
as well suited for embedded real time systems.

Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,812
Latest member
GracielaWa

Latest Threads

Top