2021 Internship - Verification

About SiFive

SiFive is on a mission to make it easier and faster to build custom chips for the new age of computing based on data, AI, and communications. SiFive is the leading provider of commercial processor cores using the exciting, new RISC-V standard being adopted and evaluated by leading technology companies worldwide. Founded by the inventors of RISC-V, and led by a team of seasoned industry executives, SiFive offers the expertise, tools, and tech to enable customized silicon to be developed specifically for each customer’s needs. 

You will be joining a team with passion and purpose: democratizing access to silicon, to unlock customer roadmaps and enable new product experiences in exciting new growth markets.


Location:
Please note that due to COVID-19, all US-based internships in 2021 are remote and therefore open to all US-based candidates. In the chance that work-from-home restrictions are lifted, and you do not live near one of our offices, SiFive may arrange you to travel to the local office or HQ to meet the team. 

What You Will Work On:

As an Intern on the Verification team, you will get a chance to work on one of the following 4 projects:

1. Current Run Status Progress Page

You will get an chance to investigate and collect data from currently running flows (Chisel, FIRRTL, Sitest) into a database that is capable of handling hundreds of thousands of entries a day. Once the data is collected it should be presented via a web-based interface that can be used to track live status of what is running, what has finished and what is left to run. This will provide valuable feedback to various team members to more accurately predict when things will finish and if there are issues with runs.

2. Automated Simulation Performance Collection

In this project, you will be making decisions on whether a new tool is meeting the performance improvements claimed by developers. To hold them accountable we must have data collected regularly that is run in a controlled environment to compare with runs on new tool versions. Further, this collected data can be used to guide timeouts of various processes to ensure we are not allowing changes that further increase turnaround time. This collection of data could be used for compute forecasting and, if data is easily accessible for users, to compare runtime to some known good value.

3. Project Health Dashboard

Here you would be working on creating a central location or a dashboard to help keep an eye on the progress of SiFive's projects. Each project we are working on should have a central location that is automatically updated daily to provide a picture of the health of that project. Key information to gather is coverage numbers, pass rates, bug rates, and regressions run. Most likely this would have to be done in a web-based application.

4. Evaluating FORCE-RISC-V Instruction Stream generator

This is an open-source Test Generator being released by FutureWei. The developer claims that it has great MP capability and is proven with commercial products. It is C++ based and has Python as a front-end template developing language. In this project, you would be evaluating its strengths and see if it can bring us any extra benefits. As most generators have different advantages, this would be a great project to work on.

What You Will Learn:

  • Understanding of what is needed in the verification industry for writing quality code.
  • Collecting data from numerous sources.
  • Handling of large amounts of data.
  • Creating scalable web services.
  • Random Test Generator
  • How to develop templates (Project 4)

Requirements:

  • Pursuing a Bachelor's, Master's or PhD in Computer Engineering, Computer Science, Electrical Engineering, or a similar discipline. 
  • Familiarity or academic experience with data structures.
  • Web Programming Experience (Project 3 only)
  • Python/C++ experience and Basic Architecture Background (Project 4 only)

SiFive is proud to be an equal employment opportunity workplace. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.

If you yearn to be challenged and wish to work in an environment where the boundaries of your creativity and skills will be tested, then SiFive is the place for you!

 

Notice to Staffing Agencies / External Recruiters:

Thank you for your interest in SiFive Inc. Please note that SiFive does not accept unsolicited resumes from external agencies unless contracted to fill a specific position. Agencies are hereby specifically directed NOT to contact SiFive employees directly in an attempt to present candidates – all applications must go through SiFive's internal recruiting team. Any third-party resume forwarded by agencies/external recruiters to a SiFive mailing address, fax machine or email address, directly to SiFive employees, or to SiFive's resume database will be considered property of SiFive Inc and treated as a direct application. This exchange does not constitute an agreement between SiFive and the agency/external recruiter. SiFive reserves the right to contact the candidate directly. Employment agencies/external recruiters will receive no compensation from SiFive or its companies.