Answer by Ramdas Mozhikunnath:
It is hard to give a recommendation without understanding your background in the last 5 years as a Verification engineer (For eg: what kind of ASIC and which domain was your area or work, what methodologies did you learn/use etc) as well as what areas in software interests you.I am assuming that you are not looking for a drastic move from ASIC verification to web technologies or data base management or other application level software development.A general trend in chip design is digital designs becoming more and more SOC (System on Chip ) designs with embedded microprocessors and system components. Design complexities are also on a continual rise. A Verification job is demanding more software skills with industry widely adopting languages like SystemVerilog and methodologies like UVM which are built on top of object oriented programming concepts.There are also several related areas in Chip Verification or Validation if you have more interest in software. Most of these need strong understanding of software and programming skills along with fundamentals of hardware design.1) EDA tools development : There is lot of innovations happening in EDA tool development – in terms of new simulators with better efficiency, portable and graph based stimulus for use across different levels of verification/validation, enhancing debug and automation and many more.2) HW/SW Co-Verification : A lot of design verification now has more emphasis on software development and testing along with Hardware development. A trend is to have early models of designs ported to emulators or FPGAs to enable early software development. This combined HW&SW Co-verification utilizes software test patterns or real applications to be simulated on Hardware design models in emulator, and helps in identifying system level issues and performance bottlenecks earlier.3) System Level Modelling and Architectural exploration: A lot of chip designs needs high level abstract modelling before the design implementation starts to help understand how it fits to the application/system designed and the different possibilities of architecture that will give the right power/performance specifications. Most of this work happens in high level languages like C++ or System C and needs good software skills4) Firmware development for SOC designs: Most of the chips with embedded processors needs firmware to be developed for programming the chip and enabling different kinds of testing in the lab and eventually at a customer site. This is also a software job but needs a lot of understanding about hardware design internals.Hope this helps and will be happy to help if you have any other specific questions !
As a chip-design verification engineer, what the best way to move to software engineer?