CPU Verification Infrastructure Developer
As CPU Verification Infrastructure Developer, you are part of a central methodology team developing generic verification infrastructure and flows. Typical applications are based on data collected from CPU execution traces. They include viewers, debuggers, checkers, as well as integration with EDA tools and development platforms (e.g. RTL simulators, hardware emulators, waveform debuggers, FPGA). The team deploys and supports its tools to all CPU design centers and project teams.
- Design infrastructure and flows to improve efficiency of the verification teams.
- Act as an expert to collect and propagate methodologies and good practices.
- Collaborate with teams across the company to identify their needs and define the best solutions to fulfill them.
- Develop user-friendly and scalable tools for efficiently processing and analysing huge datasets.
- Provide effective support to internal users.
Education & Qualifications
Preferably graduate from a University or Engineering School, in electronic engineering or computer science, although other science graduates would be considered if they have relevant experience.
Essential Skills & Experience
The candidate should have between 1 and 5 years of experience in software application development. Good understanding of the low-level software and modern CPU microarchitecture areas is a plus.
Applicants should have:
- Excellent software design and development skills, especially C, C++, python, as well as related development tools and environment (Linux libraries and tools, make, git, etc.)
- Fluent in embedded programming, assembly language (preferably ARM)
- Knowledge of CPU architecture at the instruction-set level.
Ideal applicants might also have knowledge or experience in the following areas:
- Hardware functional/performance modeling
- Good appreciation of performance and efficiency issues
- Software development and test best-practice.
It is essential for the successful applicant to:
- have ability to integrate into a small team and interact with other teams around the company
- have thorough and practical attitude to problem-solving
- have good communication and interpersonal skills
- Be able to work in French and in English.