The successful candidate will be part of a dynamic team responsible for designing and developing Lattice FPGA software tools, with a strong focus on place and route engine development. They will contribute to delivering high-performance software solutions that support advanced security workflows like Isolation Design Flow for FPGA design, emphasizing optimization of QoR metrics such as performance, area, runtime, and memory utilization across various FPGA architectures. Collaborating closely with other developers, the candidate will help build and enhance place and route tools for multiple FPGA product lines. Responsibilities also include supporting customer needs, developing new software features, maintaining existing tools, and working cross-functionally to deliver integrated, value-added solutions.
Accountabilities:
- Develop and deliver state-of-art and software infrastructure for world-class ease-of-use FPGA software tool for small, mid-range and large FPGA products.
- Develop software capabilities for next generation of FPGA products.
- Support and maintain existing FPGA design tools.
- Contribute to Spec and Plan process - review marketing requirement documents, generate functional specifications and developer unit test plans to ensure quality software.
- Improve development methodologies and processes.
- Candidate will work on developing advanced security flows, like Isolation Design Flow and partial reconfiguration flows
Qualifications:
- BS/MS/PhD Electrical Engineering or Computer Science
- 10+ years of experience in large-scale software development for engineering application domains preferably in FPGA/ASIC EDA domains.
- Must be proficient with C++. Modern C++ proficiency is a plus.
- Experience in partial reconfiguration flow is a plus
- Strong background in object-oriented programming, data structures and algorithms, and graph theory
- Experience of working on multiple platforms – at least Linux and Windows – is required.
- Knowledge of shell, TCL or Python scripting is a plus.
- Familiarity with commercial FPGA software tools and design flow is a plus. Knowledge in FPGA logic design is a plus.
- Must be detail oriented and possess independent problem-solving skills. Must be able to drive projects and lead a discussion.
- Strong written and verbal communication skills, and collaboration skill with the ability to work with multiple groups.