Negotiable
Undetermined
Undetermined
England, United Kingdom
Summary: The Software Engineer (QEMU) role is a contract position for 6 months with an international semiconductor company. The primary focus is on designing and maintaining a Hardware Emulation environment using PetaLinux and Docker, along with developing testbenches and automation scripts in Python. The position requires expertise in QEMU and RTL simulators, as well as strong proficiency in Docker and Python programming. Candidates should have a solid understanding of Linux OS internals and embedded environments.
Key Responsibilities:
- Design and maintain a reproducible Hardware Emulation environment utilizing PetaLinux toolchains.
- Wrap the entire emulation stack in Docker to ensure environmental consistency across developer workstations and automated CI/CD pipelines (GitLab/Jenkins).
- Utilize the AMD fork of QEMU to boot functional PetaLinux images, modeling specific peripherals, boot sequences, and memory maps.
- Bridge QEMU (PS) with RTL simulators like Vivado XSIM (PL) via Remote Port / Transaction Level Modeling (TLM) to validate custom logic alongside the software stack.
- Develop robust testbenches and automation scripts using Python (leveraging XRT bindings or PYNQ) to load hardware overlays, inject test vectors into emulated hardware, and assert correctness.
Key Skills:
- Proven commercial experience with QEMU (specifically configuring and networking emulated ARM Cortex-A53/R5 cores) and RTL simulators.
- Strong proficiency in Docker for standardizing complex toolchain environments (e.g., injecting Vitis Core Development Kits, PetaLinux).
- Advanced Python programming for orchestrating tests, hardware interactions, and CI/CD automation.
- Strong understanding of Linux OS internals, memory-mapped I/O, and driver-stack loading in embedded environments.
Salary (Rate): undetermined
City: undetermined
Country: United Kingdom
Working Arrangements: undetermined
IR35 Status: undetermined
Seniority Level: undetermined
Industry: IT
Job Title: Software Engineer Type: Contract Duration: 6 Months (Until end of year) Our client are an international semiconductor company.
Responsibilities:
- Design and maintain a reproducible Hardware Emulation environment utilizing PetaLinux toolchains.
- Wrap the entire emulation stack in Docker to ensure environmental consistency across developer workstations and automated CI/CD pipelines (GitLab/Jenkins).
- Utilize the AMD fork of QEMU to boot functional PetaLinux images, modeling specific peripherals, boot sequences, and memory maps.
- Bridge QEMU (PS) with RTL simulators like Vivado XSIM (PL) via Remote Port / Transaction Level Modeling (TLM) to validate custom logic alongside the software stack.
- Develop robust testbenches and automation scripts using Python (leveraging XRT bindings or PYNQ) to load hardware overlays, inject test vectors into emulated hardware, and assert correctness.
Requirements:
- Proven commercial experience with QEMU (specifically configuring and networking emulated ARM Cortex-A53/R5 cores) and RTL simulators.
- Strong proficiency in Docker for standardizing complex toolchain environments (e.g., injecting Vitis Core Development Kits, PetaLinux).
- Advanced Python programming for orchestrating tests, hardware interactions, and CI/CD automation.
- Strong understanding of Linux OS internals, memory-mapped I/O, and driver-stack loading in embedded environments.
If this sounds like it could be of interest, please apply below or reach out to daniel@microtech-global.com