Job Description:
Responsibilities:
- Debug and support of system issues found in firmware, hardware, or software during pre-silicon emulation.
- Providing root cause analysis and guidance for the closure of issues to both internal and customer-facing/external teams.
- Reviewing and planning dependencies, milestones, and deliverables, and coordinating with upstream and downstream teams.
- Defining and executing pre-silicon coverage on semi-custom systems on emulator systems.
- Driving collaborative technical discussions and innovations in order to enhance client capabilities in system emulation and debug, including tool and script development, technical, and methodology enhancements.
- Drive own priorities to achieve business goals and ensure deliverables are on schedule.
Requirements:
- Minimum 5 years of experience with low level debug and emulation execution of SoCs and embedded systems, and their related software/firmware debug.
- In-depth knowledge of system architecture and concepts, including proficiency in x86 and Client architectures, their functionality, and debug practices.
- Experience with emulation systems debug, including experience with industry standard emulator systems.
- Knowledge of Verilog, C, C++, assembly, TCL/TK, Python, and/or other scripting languages.
- Demonstrated ability to grasp new technical concepts quickly.
- Strong analytical/problem solving skills and pronounced attention to details
- Excellent written and verbal communication skills.
- Excel in a dynamic team working environment.
- Self-starter, strong collaborator, and able to independently drive tasks to completion, especially those with high ambiguity.
Assets:
- Strong understanding of BIOS and other firmware components, OS (Linux, Windows, Android), and driver-level interactions at the system level, common failure points within each, and debug methodologies.
- Knowledge and use of standard debuggers, programmers, and related tools and methodologies (JTAG, Dstream, Lauderbach, etc.).
- Working debug knowledge of Windows and Linux-based operating systems and technologies, as well as their needs and limitations in a pre-silicon environment
- Familiarity with Git, GitLab/GitHub and other software repository frameworks and methodologies.
- Technical understanding of Graphics, Display, PCIe, Power Management, or Security/Crypto architecture & design.
Education:
- Bachelor, Master's or PhD degree in Electrical, Computer, or Software Engineering, or related degrees with 5+ years of industry experience