Newbie in industry- seeking some advice. [processor validation & verification]

Status
Not open for further replies.

crazyengnr

Junior Member
Dec 23, 2011
5
0
0
Hello! I am going to start my internship in Intel soon (in four months). I was told by my manager to brush up my software skills (OOP, C++ or Java). He also told me to read the x86 manuals and learn about protected mode assembly. It seems that it will be a challenging task for me! However, I am looking forward to gain some experience from the industry. I know that there are many experienced people active in this forum. I would appreciate if anyone can give me some advice and also help me to clear my doubts.

I guess, I will be in a processor validation team. During my interview I was told that, validation engineer needs to be good at both digital hardware design and software. I am a hardware guy. So, my biggest concern is my software skills. I know OOP in Java but I need to brush up the basics again. I also know assembly (MIPS) and I can pick up anything related to digital design quickly. I had experience in RTL level design and HDL. I also had coursework in SystemC, comp arch and parallel computer arch.

My doubt is, what sort of hardcore CS software skills (i.e. data structures, algorithms etc) are necessary to work in validation team? I am not that good at data structures and algorithms. I would really appreciate if anyone can give me some idea about processor validation and verification.

Thanks in advance
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
I don't do processor verification, but I do have to verify various hardware designs in my daily work.

In general, verification involves writing test cases in software and in hardware that have to match output. Typically, you'll do a fixed-point C model of some hardware, then implement the HDL, then run the same test cases on both and ensure that they match bit for bit at the output.

What that means is that you probably won't be using Java, since C/C++ are more convenient for bit manipulation. OOP generally isn't heavily used, unless they have some test framework that you'll derive from (in which case I suppose Java could also be involved). Data structures and algorithms also probably won't be a big focus. To a EE, "good at software" usually doesn't mean knowing high-level CS concepts.
 

crazyengnr

Junior Member
Dec 23, 2011
5
0
0
Hi esun, thank you for your reply. My interviewer told me that if I have background in any OOP language (C++ or Java) then it will be okay. He told me that I would need to learn a new language. So, it will be helpful if I am familiar with OOP. He was also talking about writing test vectors and working with test bench. What language or tools they use for these tasks?
 

wrinkefreeon3

Junior Member
Nov 22, 2011
18
0
0
i use plurasight for online learning. i am a programmer and have found the courses they offer as the best. they have lots of c++ and java. kind of pricy, but worth it, and they have free courses as well. let me know what you think, if you try it out
 

crazyengnr

Junior Member
Dec 23, 2011
5
0
0
@Modelworks - yes, the manager told me that I would need to learn a new language and they will give me some time to get used to with it. However, I would need the OOP background with C++ or Java so that I can understand and work efficiently.

@wrinkefreeon3 thank you a lot for naming that online learning website. I was searching a lot about various online courses in OOP with C++. What do you think about this? The thing is, it will be helpful for me if I can have access to an instructor so that I can ask questions. Would you please share your experience with plurasight? Do they have video lecture and is it possible to interact with the instructor? I checked their website and they do have a course in C++. I am new in OOP. So would you please comment on that course from plurasight? Will it be a good foundation for OOP with C++ ?
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
Yeah, I'm with TuxDave... is this pre-silicon or post-silicon validation...? I'm trying to think of the value of OOP in either one... or maybe you are working on driver validation? Which Intel site will you be working at?
 

crazyengnr

Junior Member
Dec 23, 2011
5
0
0
@PM, it's a post silicon validation. I will be working with parallel architecture validation and verification.
 

pm

Elite Member Mobile Devices
Jan 25, 2000
7,419
22
81
Hmmm... I've done a lot of post-silicon parallel architecture validation for Intel and my OOP programming skills are terrible. I find Perl/Python is vastly more useful than Java for post-silicon. I know Java and C++ ok, but I've never been asked by Intel to code anything in either one. I mostly code those for a hobby. That said, protected mode x86 assembly coding has been very useful, as well as a good understanding of multithreading, cache coherency, and JTAG.
 

crazyengnr

Junior Member
Dec 23, 2011
5
0
0
Hmmm... I've done a lot of post-silicon parallel architecture validation for Intel and my OOP programming skills are terrible. I find Perl/Python is vastly more useful than Java for post-silicon. I know Java and C++ ok, but I've never been asked by Intel to code anything in either one. I mostly code those for a hobby. That said, protected mode x86 assembly coding has been very useful, as well as a good understanding of multithreading, cache coherency, and JTAG.

Thanks for your feedback :) I was specifically told to brush up the OOP skills. My OOP skills is also not so good. I already started to brush up the basics of C++. Would you please tell me more about the protected mode assembly? I have experience with MIPS assembly. However, I am new to x86. I already downloaded the intel manuals. Will it be hard to get familiarize with protected mode ASM within a short period of time? I am also busy with my school projects and I can hardly dedicate one month to learn x86 architecture and assembly. One more thing, are you familiar with the mindshare training courses? I found some eLearning courses while doing some research about online learning manuals of x86 asm. Are they (I'm interested about this one) useful?
 

Lord Banshee

Golden Member
Sep 8, 2004
1,495
0
0
If it was pre-silicon val oop is now a must now with system verilog using avm, ovm, uvm, or vmm.

For post silicon val hear see python(very oop) being the new thing, that said all the post silicon work I've done and others I know have been no oop using c, perl, or assembly.
 
Status
Not open for further replies.