Hi, i wanted to know what software topics need to be covered for preparing hardware design verification interview? do i need to go through advance algorithm topics? or just basic programs are just fine? it will be great if you can provide some kind of basic list. thanks!
What's yoe and which company?
Go through “easy “ programming questions in one of the software prep wesbites like geeksforgeeks or hacker rank
Mostly OOP on system verilog. I've never got software engineering level of algorithm topics. C++ is additional and pyton/perl is a plus. Lots of SV programming questions writing UVM components. A few of SV constraint programming which is pretty fun questions.
Go over SystemVerilog and UVM stuff in ChipVerify.com
Randomization, coverage, oop, assertions, queues, dynamic arrays, asso arrays, forks, virtual interface, virtual sequencer
I haven’t heard of anyone asking more than simple concepts. The hardest software question I’ve asked is reverse a linked list and I’ve walked candidates through the code.
Be prepared with a lot of Object Oriented concepts. A lot of DV related profiles want familiarity with SystemVerilog and UVM.
I thought that goes by default. I was asked once regarding run time (big O blah) but thats not frequent. I would say stick to UVM & systemVerilog-enough stuff there itself. Like generate randC function, determine if number is power of 2 etc
I think more in terms of solving, sorting, rearranging a set of numbers type of programming problems. Practice pseudocode on that? With DV, we don't face this shit everyday but I've heard this being asked a lot