Work Arrangement:
Hybrid : This role is categorized as hybrid. This means the successful candidate is expected to report to Markham Elevation Centre (MEC) three times per week, at minimum.
Introduction:
The Virtualization and SIL Integration team at General Motors is a highly technical, highly knowledgeable, passionate, strategic, and visionary group working on an organizational transformation. We are seeking cutting-edge solutions to the question: how do we develop and validate our embedded control system without any hardware? Part of developing a completely virtual embedded control system is developing L4 virtual electronic control units (vECU) that serve as real-time virtual counterparts of physical ECUs. These are functional virtual prototypes of ECUS that execute unmodified production code. These enable engineers to develop software years before ECU hardware is available.
The General Motors Virtualization and SIL Integration team is expanding its capabilities to model, integrate, and fully develop Level 4 Virtual ECUs. As a Virtual Prototyping Application Engineer, you will be responsible for making SystemC TLM 2.0 models of ECU microcontrollers and peripherals. This team supports all vehicle embedded platform features, including Electrification, Propulsion, Motion Controls, Chassis, and Body modules.
Responsibilities
Create SystemC TLM2.0 models of microcontrollers, asics, drivers, modules, switches, timers, transceivers, etc.
Integrate microcontroller and peripheral models into full Level 4 virtual ECUs
Debug model and integration bugs and issues
Work cross-functionally with Design Release Engineers, Tier 1 suppliers, and software engineers to develop vECUs
Integrate production software into vECUs
Validate and verify vECU functions as expected and executes production software as intended
Collaborate with software developers to root cause and solve low-level, basic software and application software issues found in the virtual environment
Debug integrated production software as needed
Develop script-based engineering workarounds to bridge virtual model limitation gaps
Work cross-functionally with Simulation Integration Engineers to support the integration of vECUs into virtual environments
Qualifications – Required
Minimum 10+ years of relevant professional engineering experience
Proficiency in SystemC, Transaction Level Modeling (TLM 2.0), and SCML
Expertise in creating Level 4 VECU prototypes
Proficiency in off the shelf EDA toolchains such as Synopsys Virtualizer and ASTC vLAB
Expertise in various programming languages (C, C++, Python)
Expertise in low-level input/output driver development and debugging
Knowledge of electronic control modules and embedded control systems
Knowledge of ARM based microcontrollers
Software integration, compiler and linker file comprehension expertise
Knowledge of AUTOSAR and Automotive Cyber Security
Knowledge in automotive communications (e.g. CAN, LIN, SPI, I2C, UART)
Co-Simulation expertise of Level 4 VECUs
Expertise in the use of software debugging tools (Lauterbach, Green Hills Multi IDE, etc.)
Expertise in Intrepid Vehicle Spy, Vector CANoe
Excellent communication skills
Demonstrated success in leading challenging projects with high levels of ambiguity to completion
Consistent demonstration of GM leadership behavioral competencies
HW architecture/micro-architecture experience.
Qualifications - Preferred
Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Software Engineering or Computer Science or similar field.
Knowledge of software test automation
Expertise in software tools development Software tools development expertise
Embedded control system design expertise
Production vehicle program execution experience
Development experience in both Windows and Linux environments
Familiarity with software development build process and associated tools (e.g. Gerrit, Jenkins, Git, etc.)
Familiarity with scalable simulation deployment methodologies leveraging containers (e.g. Docker, Singularity, etc.)
Familiarity with synchronous and asynchronous event driven simulation