Senior System Software Engineer - HW/SW Co-Design
Core
Define, review, and implement software functionality and hardware/software interfaces for individual IP blocks in close collaboration with hardware engineers.
Role type
Senior System Software Engineer (HW/SW Co-Design)
Builds
IP blocks, register maps, driver prototypes, and firmware for virtual platforms
Domain
Semiconductor, embedded systems, hardware/software co-design
Deliverable
production ML models | product features | dashboards & analysis | research | client delivery | infrastructure | physical/clinical work
Required skills
C/C++, embedded software, firmware development, register-level programming, hardware/software interfaces, RTL interpretation, SystemC modeling, cross-functional collaboration
Preferred skills
AMBA protocols, virtual platform development, FPGA prototyping, Zephyr RTOS, Embedded Linux, RISC-V/Arm architecture, hardware emulation, design verification
Technologies
SystemC, TLM 2.0, Verilog, SystemVerilog, QEMU, Synopsys Virtualizer, Palladium, Veloce, AXI, AHB, APB
Responsibilities
Own software perspective for assigned IP blocks end-to-end; co-define register maps and control/status interfaces with HW engineers; deliver firmware or driver prototypes against virtual platforms; review RTL specifications and micro-architecture documents; develop early driver code and firmware prototypes; evaluate debug and observability features; produce programming guides and register descriptions; collaborate on cross-block integration
Seniority
Senior, hands-on IC