Advanced Software Engineer – C++ / Digital Logic Design
SiemensJob Title
Advanced Software Engineer – C++ / Digital Logic Design
Role Summary
Join the Hardware Assisted Verification (HAV) division to develop compiler software that maps customer System-on-Chip designs onto emulator hardware. You will work on analysis, partitioning, placement and synthesis components of the compiler, primarily in C++ on Linux, and collaborate with software and hardware teams across sites.
Role requires the ability to work on-site from the Burlington, MA office as part of a hybrid schedule.
Experience Level
Mid-level. Typical experience: 2–5 years industry software development experience.
Responsibilities
Primary responsibilities include implementing and improving compiler analysis and mapping functions and creating tests and tools to validate functionality.
- Design and implement compiler components that analyze designs for mapping to emulator resources.
- Analyze clock and data networks; perform partitioning, placement and logic synthesis to support mapping.
- Add new functionality and maintain existing compiler codebase (mostly C++ on Linux).
- Develop system-level tests and software-simulation based testing methods; improve testing approaches.
- Integrate work with other software teams and Veloce hardware teams in an international, multi-site environment.
Requirements
Must-have technical skills, experience, and constraints for employment; desirable skills are listed separately.
- 2–5 years developing large C++ applications as part of a team, with strong software engineering practices.
- Proven skills in algorithms and data-structure design and implementation.
- Understanding of gate-level digital logic and how hardware maps to software representations.
- Experience using Unix/Linux development environments.
- Able to work on-site from the Burlington, MA office (hybrid role) and collaborate across teams.
- Employment is subject to U.S. export-control rules (ITAR/EAR); candidate must be a U.S. Person or able to obtain required export authorization.
Nice-to-have:
- Experience in EDA (timing analysis, synthesis, partitioning or placement).
- Familiarity with hardware description languages (Verilog, VHDL) and simulation tools (e.g., ModelSim).
- Scripting experience (Python, shell) and experience designing software tests and validation frameworks.
Education Requirements
BS, MS, or PhD in Computer Science or Computer Engineering.
About the Company
Company: Siemens
Headquarters: Munich, Germany
Siemens EDA is a leading global provider of Electronic Design Automation (EDA) products and systems. Their innovative solutions enable companies to enhance the development of electronic products efficiently and effectively, keeping pace with the complex demands of technology and physics. Siemens is committed to delivering advanced workflow solutions that integrate both EDA and MCAD tools for multi-domain design and manufacturing in the semiconductor industry.
