NeuroBlade is looking for a Virtual Prototyping Software Engineer to join our fast-growing engineering team! Virtual Prototyping has been widely adopted as a cost-effective solution for early hardware and software co-validation. As a Virtual Prototyping Design SW, you will work with the Firmware, Software, FPGA Design and VLSI design teams to develop transactional models of the Appliance system including different sub-systems and devices to enable accelerated software development. In this role, you will be responsible for developing and integrating models for different components and working with the Software and Hardware Design teams on integration and debugging.
NeuroBlade is on a path to redefine an industry held back by the inability to analyze data in the speed and scale needed. We design a complete multidisciplinary solution for Data Analytics acceleration.
NeuroBlade was established in 2018 with the stated goal of enabling faster time to insights by freeing analytics from data movement constraints. It led to the creation of a whole new memory technology, XRAM™, that radically improves performance.
In 2020, NeuroBlade introduced the IMPU™ (Intense Memory Processing Unit), a hardware accelerator for data-driven workloads, which has set a new standard in query processing.
We’ve only just begun.
What you’ll be doing
- Develop the virtual platform system, both creating new models as well as integrating open source and third party models.
- Collaborate with software team on bring up.
- Partner with FPGA Design and Design Verification teams on defining model behaviors and verifying equivalency to RTL
- Influence the long term strategy for co-development and co-verification including hybrid simulation methodologies
- Write high quality code following best practices to create new features
- Debug issues and produce high quality code to fix them
- Review code produced by other engineers
- Discuss ideas and collaborate on finding good solutions
- BS/MS/PhD in Computer Engineering/Electrical Engineering with experience modeling, simulator development, or development of SW/HW simulation environments
- Strong understanding of computer architecture concepts
- Skillful at debugging the hardware/software interface for OSes and device drivers
- Proficient in C, C++ and scripting languages such as Python
- Ability to independently identify, troubleshoot and solve problems using HW and SW debugging tools
- Experience with QEMU or any performance simulator is a significant advantage.
- Familiarity with industry standard technologies like AXI, PCIe, DDR, DMA is a plus.
- Understanding of software unit and integration test methodologies is a plus.
- Kernel development experience is a plus.
- Experience with compilers is a plus.
- Proficient in SystemC, Verilog, and System Verilog, and Assembly is a plus.