Read Time:1 Minute, 51 Second
Job Description
Software Engineer Position in Libero Place and Route, Hyderabad
The Microchip FPGA Software Engineering team delivers a comprehensive software suite for designing Microchip’s FPGAs and managing the entire design flow from entry, to synthesis, through place-and-route, timing, power analysis, and simulation. Within the Software organization, the Physical Design group is responsible for developing high-performance place, route, and physical synthesis software. Our placement and routing tools are distributed commercially to a wide range of customers and are used internally for the exploration of new FPGA architectures.
We research and implement sophisticated approaches for solving gigantic problems — like finding high-quality placements for millions of movable modules, or routing circuits whose graph representations contain hundreds of millions of edges. To do this, we draw from a variety of computer science domains, including: numerical optimization, linear programming, Boolean satisfiability, stochastic search, graph theory, traffic routing, and computational geometry.
We have a position in the Physical and Logical Design group. As a key member of this R&D team, you will leverage your solid foundation in computer science to develop new placement, routing, and/or physical synthesis algorithms. You will be an important contributor to our team and to our company — your work will become a vital component of our flow, and your discoveries will enrich the state of cutting-edge CAD research.
Location: Hyderabad, India
Responsibilities:
Software Engineer Position in Libero Place and Route, Hyderabad
The Microchip FPGA Software Engineering team delivers a comprehensive software suite for designing Microchip’s FPGAs and managing the entire design flow from entry, to synthesis, through place-and-route, timing, power analysis, and simulation. Within the Software organization, the Physical Design group is responsible for developing high-performance place, route, and physical synthesis software. Our placement and routing tools are distributed commercially to a wide range of customers and are used internally for the exploration of new FPGA architectures.
We research and implement sophisticated approaches for solving gigantic problems — like finding high-quality placements for millions of movable modules, or routing circuits whose graph representations contain hundreds of millions of edges. To do this, we draw from a variety of computer science domains, including: numerical optimization, linear programming, Boolean satisfiability, stochastic search, graph theory, traffic routing, and computational geometry.
We have a position in the Physical and Logical Design group. As a key member of this R&D team, you will leverage your solid foundation in computer science to develop new placement, routing, and/or physical synthesis algorithms. You will be an important contributor to our team and to our company — your work will become a vital component of our flow, and your discoveries will enrich the state of cutting-edge CAD research.
Location: Hyderabad, India
Responsibilities:
- Develop state-of-the-art FPGA CAD algorithms to improve circuit performance, power, and tool runtime
- Execute methodical, scientific experiments to validate the extent of algorithmic improvements
- Perform design reviews, unit testing, and code reviews
- Own and maintain code modules
- Study literature in the CAD industry and contribute to research discussions
Job Requirements
Minimum Qualifications:
- BS, MS or PhD in CS or related field
- 5+ years of related experience
- Strong knowledge and ability in C++, as well as a deep understanding of algorithms and data structures
Preferred Qualifications:
- Exposure to placement, routing, and/or synthesis algorithms for FPGAs or ASICs
- Familiarity with artificial intelligence, linear and non-linear optimization, compiler theory
- Exposure to parallel programming techniques, like TBB
- Experience with source code management systems (ClearCase, Git, svn, Perforce)
- Experience with shell scripting languages (Perl, Python, Bash, TCL)
- Comfortable with large-scale software development in a Linux environment