Software Engineer
other jobs MicroTECH Global Ltd
Added before 6 Days
- England,East of England,Cambridgeshire
- Full Time, Contract
- Salary negotiable
Job Description:
Full job description 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.
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.
Job number 3817107
Increase your exposure to recruiters with ProJobs
Thousands of recruiters are looking for you in the Job Master profile database, increase your exposure 4 times with a ProJob subscription
You can cancel your subscription at any time.