Enable job alerts via email!

Principal C++ Software Engineer (R49827 / as)

Cadence

Quebec

On-site

CAD 80,000 - 100,000

Full time

Yesterday
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

A leading company in Semiconductor verification seeks a Software Engineer to enhance the Palladium platform. Responsibilities include coding, debugging, and analyzing design requirements. Ideal candidates will have extensive experience in C++, Linux, and hardware description languages.

Qualifications

  • 7+ years experience with Bachelor's, 5+ years with Master's, or 1+ year with PhD.
  • Experience with large system development and debugging.

Responsibilities

  • Writing code to specifications and making recommendations for improvements.
  • Analyzing and evaluating bugs under time pressure.
  • Determining coding and integration activities based on design objectives.

Skills

C++
Linux OS
Algorithms
Data Structures
Debugging

Education

Bachelor's in Computer Science
Bachelor's in Electrical Engineering
Master's
PhD

Tools

Verilog
VHDL

Job description

Cadence is a de-facto leader in Semiconductor verification, implementation, Design and Verification IP, analog simulation, and timing closure. Palladium is an industry-leading Emulation platform based on our proprietary hardware. It features extensive runtime capabilities for optimal use of Palladium boards, debugging hardware through triggers, dynamic waveform dumps, and full vision wave dumps, which are unique in the emulation market. Conceptually, Palladium functions as a supercomputer with thousands of processors to emulate hardware designs. This platform is used for debugging complex and large hardware designs and system-on-a-chip.

The Software Engineer will work on the team responsible for SSW, runtime performance, full vision trace, debug features, and firmware support for Palladium. Supporting SERDES lanes, Infiniband connections, and PCIe support are also major responsibilities.

Responsibilities will include (but are not limited to):
  1. Writing code to specifications based on objectives and working within provided parameters; making recommendations for improvements.
  2. Analyzing and evaluating bugs and making recommendations under time pressure within broad supervision.
  3. Analyzing design and determining coding, programming, and integration activities required based on general objectives and overall architecture of the product or solution.
Requirements and Qualifications:
  1. Bachelor's in Computer Science or Electrical Engineering with a minimum of 7 years of related experience, or Master's with at least 5 years, or PhD with at least 1 year of related experience.
  2. Background in Linux OS, C++, algorithms, data structures, and building parallel and/or distributed systems using threads and processes.
  3. Knowledge of hardware description languages like Verilog and VHDL, firmware development, and experience with large system development and debugging are pluses.
Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.