FPGA Compiler Software Engineer
Apply locations: Toronto, Ontario, Canada
Time type: Full time
Posted on: Posted 7 Days Ago
Job requisition id: R00642
Job Details:
Job Description:
We are looking for a passionate and energetic software engineer to join our team at Altera. Altera is a pioneer of programmable logic solutions, enabling system and semiconductor companies to rapidly and cost effectively innovate, differentiate, and win in their markets. Altera combines programmable logic technology with software tools, intellectual property, and customer support to provide high-value programmable solutions to many customers worldwide.
- In this role, you will be developing the software for Quartus, the tool that programs the current/next generation of FPGA devices.
- Quartus is used by all FPGA acceleration technologies (including OpenCL, HLS, Intel FPGA AI Suite, etc).
- At the heart of Quartus is our Place and Route engine which is responsible for transforming HDL to bits such that a user's design is optimized for area and Fmax.
- Cross-functional interactions with various customers (internal and external).
- Customer's hardware requirements: Fmax, throughput, timing closure, power and area, and also board/system-level integration.
- Compiler SW optimizations: optimizing algorithms for runtime and memory, building high-quality reusable software components and infrastructure.
- As part of the Compiler team, your responsibilities will include, but are not limited to:
- Developing the software that supports optimized placement and routing of the latest next generation FPGA devices.
- Making innovative FPGA hardware features accessible via easy-to-use software interfaces.
- Enhancing tools and infrastructure to allow the Compiler operations to be used in new and innovative ways.
- Implementing new features in addition to root-causing and fixing the existing ones, while maneuvering your way through a big code base.
- Ideal candidates exhibit the following behavioral traits:
- Excellent problem-solving and debugging skills, as well as attention to detail.
- Great communication, teamwork, and interpersonal skills.
- Flexible, organized, and proactive.
Qualifications:
Relevant experience can be obtained through schoolwork, classes and project work, internships, military training, and/or work experience.
Minimum Qualifications:
- BS degree or MS degree in Computer Engineering, Engineering Science, Electrical Engineering, Computer Science or equivalent, with 1 year of experience or master’s degree in related field.
- 3+ years C/C++ or Java programming experience in a Linux/Unix environment.
Preferred Qualifications:
- Experience developing EDA/CAD optimization algorithms for FPGAs or ASICs.
- Experience with data structure and algorithm design, with a particular focus on graph theory and related algorithms.
- Experience developing high-performance parallel software systems.
- Experience working in a modern large scale modular code base.
- Experience with Altera Quartus or Xilinx Vivado software.
- Experience with scripting languages, particularly Python, Perl or TCL.
Job Type:
Regular
Shift:
Shift 1 (Canada)
Primary Location:
Bloor St 1
Additional Locations:
Posting Statement:
All qualified applicants will receive consideration for employment without regard to race, color, religion, religious creed, sex, national origin, ancestry, age, physical or mental disability, medical condition, genetic information, military and veteran status, marital status, pregnancy, gender, gender expression, gender identity, sexual orientation, or any other characteristic protected by local law, regulation, or ordinance.