Reference C - Model Developer

Facebook   •  

Menlo Park, CA

Industry: Technology


Less than 5 years

Posted 171 days ago

This job is no longer available.

Oculus is the world leader in the design of virtual and augmented reality systems. Come work alongside expert engineers and research scientists to create the technology that makes VR and AR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. We are seeking a Software Engineer tosupport system-level modeling of dedicated hardware accelerators (HWA) used inside low-per SoC. The successful candidate will be part of a team that includes algorithm, software,firmware, RTL and DV experts. The ideal candidate will understand algorithms and low-level RTL/firmwaredevelopment process for custom HWA. This is a full-time position based in either our Redmond, WA or Menlo Park, CA offices.


  • Work with IP Architect to delineate and develop bit-accurate models for algorithms that will get implemented in hardware (RTL)
  • Start with existing algorithmic code in C/C++/MATLAB and implement SystemC or C models
  • Support use of these SystemC and C models for architectural modeling and tradeoff analysis
  • Aid RTL developers with micro-architecture and design
  • Debug RTL and firmware implementations with DV engineer before chip tapeout
  • Feedback hardware understanding and improvements to the algorithm designers
  • Support multiple phases of SoC development – including algorithm refinement, co-design of hardware/firmware, RTL simulation, FPGA debug, chip bring up and support systems and software teams on algorithm development on validated systems

Minimum Qualifications

  • B.S. degree in Computer Science or a related field, or equivalent experience
  • 3+ years of hands-on low-level programming experience including bit-level manipulation of data
  • Knowledge of how hardware works including block-level interfaces, hardware control registers, on-chips vs. off-chip buffers
  • Knowledge of how float and fixed point number systems work
  • Software design and programming experience in C/C++ for development, debugging, testing and performance analysis
  • Experience drafting, manipulating and maintaining scripts – Python or similar (Perl, bash/awk, Tcl)
  • Experience crossing multi-disciplinary boundaries to drive optimal system solutions

Preferred Qualifications

  • 5+ years of experience with algorithm implementations in C/C++
  • Knowledge of video, computer vision and image processing including image file formats, meta data and related techniques for processing
  • Hands-on experience with OpenCV, OpenVX, FastCV
  • Knowledge of deep learning techniques such as CNN
  • Experience with embedded MCU, DSP and GPU architectures
  • Experience in reference model development for highly customized SoC hardware accelerators
  • Experience with EDA design tools and instruction set simulators