Overview
On Site
$60 - $65
Contract - W2
Contract - 1 month(s)
No Travel Required
Skills
C Modelling Engineer
Job Details
Job Description:
Pay Range: $60hr - $65hr
- The SystemC Modelling Engineer will be responsible for developing and maintaining high-fidelity system-level models using SystemC for hardware/software co-design and verification.
- This role is crucial for enabling early performance analysis, architecture exploration, and functional validation of complex embedded systems.
- The engineer will work closely with architecture, design, and verification teams to ensure the accuracy and efficiency of the SystemC models.
- Projects will involve modeling various components of a platform, including processors, memory subsystems, and peripherals, utilizing SystemC, TLM, and related simulation environments.
- Bachelor's degree in Electrical Engineering, Computer Engineering, or a related field. Master's degree preferred.
- 5+ years of experience in SystemC modeling and simulation of embedded systems.
- Strong understanding of computer architecture principles and hardware/software co-design methodologies.
- Proven experience in developing and debugging SystemC models using industry-standard simulation tools.
- Excellent C++ programming skills and familiarity with object-oriented design principles.
- Experience with TLM (Transaction Level Modeling) is highly desirable.
- Familiarity with hardware description languages (VHDL or Verilog) is a plus.
- Experience using Git for version control.
- SystemC and TLM (Transaction Level Modeling).
- C++ (Proficient level, including object-oriented design principles).
- Hardware Description Languages (HDLs): VHDL or Verilog (understanding and ability to interface with).
- Simulation tools (e.g., Cadence Incisive, Synopsys VCS, Mentor Graphics QuestaSim).
- Debugging tools (e.g., GDB, DVE).
- Scripting languages (Python, Perl, or similar).
- Version control systems (Git).
- Embedded systems architecture (understanding of processor architectures, memory hierarchies, and bus protocols).
- Excellent written and verbal communication skills.
- Strong analytical and problem-solving abilities.
- Ability to work effectively in a team environment.
- Defining transaction-level models of non-memory-mapped interfaces (I2C, SPI, USB, CAN, Ethernet, etc.).
- Porting the embedded operating system (Linux, VxWorks, Android) on the virtual prototype and developing device drivers.
- Verification of models at IP and SoC level.
- Developing regressable self-checking test suites using C/ARM assembly.
- Developing system-level flows and methodologies using virtual prototypes.
- Experience with board bring-up, platform initialization, board support package development, peripherals such as PCIe, I2C, SPI, USB, UART, OS primitives, memory management, scheduling, interrupts, and multi-threading.
- Good experience in system-level debugging with a comprehensive understanding of managing and prioritizing system-level issues.
- Extensive background in firmware development or embedded software development within a multicore environment or hardware context.
- Develop and maintain accurate and efficient SystemC models of platform components, including processors, memory controllers, and peripherals.
- Implement TLM-based interfaces for communication between SystemC models and other simulation environments.
- Validate the accuracy of SystemC models through comparison with RTL simulations and hardware prototypes.
- Collaborate with architecture and design teams to define modeling requirements and ensure models accurately reflect system specifications.
- Contribute to the development of SystemC modeling guidelines and best practices within the organization.
- Create and maintain documentation for SystemC models, including model descriptions, usage examples, and validation reports.
- Debug and resolve issues identified during SystemC simulation, improving model performance and stability.
- Participate in code reviews and provide constructive feedback to other engineers.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.