Software Engineer - C++ / Digital Logic
SiemensJob Title
Software Engineer - C++ / Digital Logic
Role Summary
Develop compiler software for Hardware Assisted Verification (HAV) emulation systems that map customer SoC designs onto emulator hardware. Work on the compiler components that analyze designs and perform partitioning, placement and logic synthesis to support mapping to emulator resources.
Member of an international, multi-site software team; primary implementation is in C++ on Linux with collaboration across software and hardware engineering groups.
Experience Level
Mid-level. Typical experience patterns in the posting: BS +5 years EDA experience, MS +3 years EDA experience, or a PhD.
Responsibilities
Primary technical responsibilities include:
- Design and implement compiler modules that analyze customer 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 features.
- Write system-level tests and use software simulation for verification of compiler outputs.
- Develop and debug C++ software on Linux; participate in cross-team integration with HAV hardware teams.
Requirements
Key must-have and preferred qualifications.
- Must-have: Several years of EDA industry experience developing large C++ applications as part of a team.
- Must-have: Strong skills in algorithms and data structure design.
- Must-have: Understanding of gate-level digital logic.
- Must-have: Experience developing on Unix/Linux.
- Must-have: Familiarity with software testing methods and writing system-level tests.
- Must-have: Ability to work onsite at the Waltham, MA facility (remote work is not an option for this role).
- Must-have: Ability to satisfy U.S. export control requirements (U.S. Person status or obtain an export license) where applicable.
- Nice-to-have: Experience with EDA-specific domains such as timing analysis, synthesis, partitioning or placement.
- Nice-to-have: Experience with hardware description languages (Verilog/VHDL) and software simulation tools (e.g., ModelSim).
- Nice-to-have: Scripting experience (Python or Perl).
Education Requirements
Degree options listed in the posting: Bachelor of Science in Computer Science or Computer Engineering (with 5 years EDA experience), Master of Science in Computer Science or Computer Engineering (with 3 years EDA experience), or a PhD in Computer Science or Computer Engineering. Fields specified: Computer Science, Computer Engineering. No certifications were specified. Employment is subject to U.S. export control rules (U.S. Person status or export license may be required).
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.
