Staff Software Development Engineer (C++, EDA, Place & Route)
Lattice SemiconductorJob Title
Staff Software Development Engineer (C++, EDA, Place & Route)
Role Summary
Join the FPGA software tools team to design and develop place-and-route engines and related tooling for Lattice FPGA product lines. The role focuses on improving quality of results (performance, area, runtime, memory) and implementing advanced security workflows such as Isolation Design Flow.
This is a hands-on engineering role that requires cross-functional collaboration to deliver, maintain, and optimize place-and-route capabilities for new and existing FPGA architectures.
Experience Level
Senior β typically 10+ years of experience in EDA tool development, preferably with place-and-route engines.
Responsibilities
Core accountabilities and day-to-day responsibilities include:
- Design, implement, and optimize place-and-route engine features and algorithms.
- Develop and enhance advanced security flows (e.g., Isolation Design Flow).
- Improve QoR metrics: performance, area, runtime, and memory usage across FPGA architectures.
- Support integration and productization for new Lattice FPGA products.
- Create and maintain unit tests and validation infrastructure to ensure high quality.
- Collaborate with cross-functional teams and support customer needs and bug fixes.
- Maintain and refactor existing tools to improve scalability, robustness, and maintainability.
Requirements
Must-have technical skills and experience; nice-to-have items listed separately.
- Must-have: Proven experience developing place-and-route engines in FPGA or ASIC domains.
- Must-have: Extensive C/C++ development experience and strong knowledge of data structures and algorithms.
- Must-have: Experience with graph algorithms and logic design; familiarity with scripting (shell).
- Must-have: Strong written and verbal communication and collaboration skills.
- Must-have: Demonstrated ability to write unit tests and validate implementations.
- Nice-to-have: FPGA-specific place-and-route experience, multiprocessing/multithreading development, and solid understanding of FPGA architectures.
- Nice-to-have: Prior work on security-related FPGA flows or performance/memory optimization of EDA tools.
Education Requirements
BS, MS, or PhD in Electrical Engineering, Computer Science, or Computer Engineering (specified in the posting). Equivalent practical experience in relevant domains may be considered.
About the Company
Company: Lattice Semiconductor
Headquarters: Portland, Oregon, USA
Lattice Semiconductor specializes in low power, small-form-factor programmable logic devices and solutions. The company is known for its innovative technology that enables a wide range of applications, including communication, consumer, and industrial markets.
