About this role
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology. Job Duties:
• Research, design, and develop computer and network software or specialized utility programs for multinational computational software company. • Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. • Architect and enhance algorithms for datapath learning, enabling automatic identification of arithmetic components such as adders, multipliers, shifters, and comparators in gate-level netlist. • Optimize performance and memory usage of formal engines in large designs. • Provide guidance and technical insights to customers and field application teams on formal verification adoption. • Design and implement advanced formal verification algorithm. • Research and develop Machine Learning approaches to problems in the EDA and system design, as well as design, implement, verify and maintain software to address those markets. • Analyze complex customer designs and internal benchmarks to evaluate algorithm accuracy, scalability, and robustness, iterating rapidly on improvements. • Root-cause the issues, debug, and provide fixes for customers' issues or corner cases. • Present technical findings, document algorithms, and contribute to long-term roadmap discussions for formal verification. • Some telecommuting permitted.
Qualifications:
• Master’s degree in Electrical Engineering, Electronics Engineering, or related field. • Minimum three (3) years of experience in the job offered or in a related occupation. • C/C++ for core development, including large-scale software systems, debugging and optimization • Logic equivalence checking, including techniques like SAT solvers, Binary Decision Diagrams (BDDs) and circuit simulation • Computational algorithms and data structures, particularly optimization problems related to equivalence checking and circuit analysis • Scripting languages like python and Tcl • Version control tools like git and perforce • Datapath analysis and operator learning in logic circuits, including identification of arithmetic operators (adders, multipliers, shifters, comparators) in gate-level netlists
We’re doing work that matters. Help us solve what others can’t.