In order to get into Graphics hardware....

metallinikil

Newcomer
I am a entering my fourth and final full year as a computer engineering major anyway I am interested in the hardware side of things and would like to know what sort of classes(elective) I would need to take to work in the Graphics HARDWARE bussiness.
 
For me it comes down to 'the obvious'. If you want to go software, you need C, C++ if you can get it, and as much software engineering or games related courses as you can. For hardware, hardware definition languages are a must, and as much silicon stuff as you can find... there you might well need C and/or C++ skills too.

But I'm probably not the person to ask. My degree was in physics but I've now done game programming to chip architecture and just about everything in between over the last ten years :)
 
For front end design take digital logic classes, computer architecture, and HDL (Verilog or VHDL). Verilog seems to be more popular these days, but if you know one it isn't difficult to learn the other.

For back end design (i.e. place and route) you'll want to learn about integrated circuits and any class with VLSI in the description.

Front end design is where you will actually deal with graphics. For back end design the application doesn't matter as much. Learning C or C++ is also useful for hardware design. It will be used to write models and tests to debug the hardware.
 
Saying you majored in "computer engineering" (CompE) is a bit vague. Within the USA, each university/campus has its own definition of CompE. At some universities, it's a merge of electrical-engineering (EE) and computer-science. At others, it's a specialization/branch of EE, with a heavy emphasis on computer (processor) applications. Might I ask which university you attended?

< nagging college counselor mode /ON >

The high-tech industry as a whole has brutal business cycles, which can translate into high job-turnover regardless of your work performance. Therefore, in my opinion, you should focus your electives on courses which give you the best overall career prospects.

You need to juggle the your own personal interests, your personal talents (what you're good at), and the market requirements (what skills are in demand.) If you're lucky, maybe for you all 3 match perfectly, otherwise you'll have to make compromise decisions. Unfortunately, 2 of these 3 (your interests and the market) change over time. The market especially changes rapidly and without warning.

Pursuing PC-graphics is a noble goal. But as an industry, PC graphics *HARDWARE* has already experienced a big shakeout (consolidation into a few remaining major players), which means the job-distribution is fairly tight. Basically, the entire market is controlled by a handful of uber-elite engineers (clustered in a handful of companies.) There is little or no 'second tier' (i.e. the rest of the average folks), not any with a significant market (and employment) presence. The software side is probably better. Aside from the hardware companies, you at least have the multimedia companies. But I have no clue whether it's melatively harder to break into the 3D-software job versus a 3D-hardware job. It could be just as difficult.

To answer the qeustion at hand, today's GPUs are every bit as complex and diverse (in terms of the involved design disciplines) as CPUs. Translated into personnel/staffing requirements, that means any LSI/digital/architecture/programming coursework you take will find some kind of employment within graphics company. 3dcgi already listed some the basic skills. All I can add is ...

Front-end design: Being able to do digital-logic design (turn state-machine diagrams into working gate-circuits) is a critical skill, but as the EE-industry moves forward, the Verilog-coder has become a commodity. If you're good at math and statistics, take some DSP and wireless communications classes. If you like pinging other people, take some network protocol and architecture classes. If you like watching Quake timedemos over and over, take some computer graphics classes. The idea is to get some theory in 1+ application-area *besides* just digital-logic-design.

Despite the current downturn in the communications segment, the wireless/comm market is likely to grown into the largest (and most diverse) segment that your career can access.

< nagging college counselor mode /OFF >
 
asicnewbie said:
Basically, the entire market is controlled by a handful of uber-elite engineers (clustered in a handful of companies.) There is little or no 'second tier' (i.e. the rest of the average folks), not any with a significant market (and employment) presence.
This is a very good point, very true. Although I wouldn't say 'controlled' - just that most of the available slots are already occupied by rocket scientists.
 
I am currently attending Cal Poly, SLO.

Our program is a convergence of Computer Science and Electrical Engineering. Currently I am interested in architecture and the like. I have a quarter before I can take digital design so I am still not quite sure what area I shall be focusing in.

Oh well I guess I'll wait a little bit and get back to you. Thanks for informing me about the Uber-engineers ;) .
 
asicnewbie said:
Front-end design: Being able to do digital-logic design (turn state-machine diagrams into working gate-circuits) is a critical skill, but as the EE-industry moves forward, the Verilog-coder has become a commodity. If you're good at math and statistics, take some DSP and wireless communications classes. If you like pinging other people, take some network protocol and architecture classes. If you like watching Quake timedemos over and over, take some computer graphics classes. The idea is to get some theory in 1+ application-area *besides* just digital-logic-design.

Despite the current downturn in the communications segment, the wireless/comm market is likely to grown into the largest (and most diverse) segment that your career can access.
asicnewbie makes some good points, but I'd like to add that front end designers not only implement state machines they also design them. Already being familiar with an HDL like Verilog is just a bonus. A good option might be to choose a senior project (if your school has these) that involves many of the skills you'd like to learn. Also don't ignore the fact that wireless vendors are looking to get into 3D as well so having a good knowledge of both fields wouldn't hurt.
 
asicnewbie makes some good points, but I'd like to add that front end designers not only implement state machines they also design them.

Thanks for keeping me honest, 3dcgi :D

Cal Poly SLO = San Luis Obispo? A nice thing about the CalPoly schools (compared to Cal State or University of California) is the greater emphasis on *practical* training. A common criticism of the UC system is its heavy emphasis on theory (which I guess is designed for those pursuing graduate-school.) You'd be amazed how many UC electrical-engineering graduates stumble during interview. They confuse the different steps/stages of the design-process (design, simulation, and prototyping.) By no means are they stupid...just a bit 'naive'. :D With so many courses thrown at them, it's easy to confuse them.

On the other hand, there are those companies which 'look down' upon EE-grads of lesser campuses. Broadcom, which boasts about its high PhD heacount , comes to mind...their idea of a fun interview is to sit you in a circle of a dozen engineers, who just grill and grill you about random EE stuff. Heh, I better stop hijacking the thread into Interviewing Skills 101...
 
Back
Top