Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Syllabus

Contact Information

PositionNameEmailOffice Hours
Course AdvisorRatan Deyratan@nyu.eduBy Appointment
Team LeadHans Yanghans.yang@nyu.eduBy Appointment
Team LeadPaul Gutierrezpsg7350@nyu.eduBy Appointment

Course Prerequisites

Students must be pursuing their undergraduate or graduate degree at NYU in order to enroll in a VIP course. Enrollment is based on an application process through the course website. Decisions on acceptance to the course will be made by the faculty advisors. New student decisions are made by the beginning of each semester. Students may apply to various VIP course options (i.e., VIP teams), then select one VIP team to participate on for three consecutive semesters.

For the Processor Design team: Applicants should have completed CS-UY 2214 or CS/ECE-UY 2204 or have equivalent experience with RTL design. Team participation assumes familiarity with Verilog and associated tooling.

About VIP

The Vertically Integrated Projects (VIP) Program operates in a research and development context. Students join VIP teams by enrolling for credit each semester for their participation in design/discovery efforts that assist faculty and graduate students with research and development issues in their areas of expertise.

The teams are:

  • Multidisciplinary — drawing students from all disciplines on campus
  • Vertically integrated — maintaining a mix of sophomores through PhD students each semester
  • Long-term — each undergraduate student may participate in a project for up to three years, and each graduate student may participate for the duration of their graduate career

The continuity, disciplinary depth, and professional breadth of these teams intend to:

  • Provide the time and context necessary for students to learn and practice many different professional skills, make substantial technical contributions to the project, and experience many different roles on a large, multidisciplinary design/discovery team
  • Support long-term interaction between the graduate and undergraduate students on the team. The graduate students mentor the undergraduates as they work on the design/discovery projects embedded in the graduate students’ research
  • Enable the completion of large-scale design/discovery projects that are of significant benefit to faculty members’ research programs

Project Objectives

This course operates as an engineering-focused team. Research and learning objectives are achieved through building. Team members will be working collaboratively with industry-standard methodology and modern tooling to construct novel microprocessor designs. This VIP course coordinates with the NYU Tandon School of Engineering and the Purdue University SoCET team.

The team has a special focus on modularity of design, toolchain implementation, continuous integration, testing and verification, test coverage reporting, and module packaging. Team members should expect to develop familiarity with all of these areas prior to developing a specialization.

Learning Objectives

The team seeks to attain the following outcomes for participants:

  • An ability to identify, compartmentalize, and structure solutions to complex problems in digital design using sets of modular components
  • An ability to design and implement repeatable and robust toolchains and workflows using industry-standard tooling
  • An ability to collaborate effectively with team members and integrate diverse, distributed work into a single cohesive solution
  • An ability to independently research and consider possible solutions to a problem space and present concise recommendations for evaluation

Course Topics

A short list of topics team members will become familiar with:

  • Linux development environment
  • Git/GitHub workflows
  • SystemVerilog and RTL design
  • Verilator/SystemC verification
  • RISC-V ISA and CPU architecture
  • Memory-mapped peripherals and interconnects
  • FPGA prototyping
  • Hardware debugging and integration
  • ASIC/MPW design flow
  • Technical documentation and team development

Course Structure

Time

Students attend weekly meetings and work outside of those meetings individually and/or with team members. The time commitment expected from each undergraduate student is commensurate with the level of variable-credit enrollment:

  • 1 credit: 4 hours per week
  • 2 credits: 8 hours per week1
  • 3 credits: 12 hours per week2

Graduate students enroll for 1.5 credits, commensurate with 50 hours over the semester.

Zero-credit enrollment: Students may enroll in VIP for zero (0) credits on a case-by-case basis to address issues of enrollment limitations (e.g., credit limits). This enrollment option can only be used up to 2 times.

Weekly Meetings

Each VIP team determines regular team and/or sub-team meeting times during which students discuss project updates, work on tasks, and plan upcoming objectives. Weekly meetings generally take place for 1 hour.

Students are responsible for participating in their team and sub-team meetings. Contact the VIP Student Leadership and/or VIP Advisor prior to missing a meeting to be excused from attendance. If you miss any meeting, you are responsible for knowing what occurred in that meeting, typically by discussing it with a team member. An excused absence does not relieve you of that responsibility.

Communication

Students are expected to communicate with team members during weekly meetings and through mid-week exchanges. Students are expected to respond to communications in an appropriate time frame and to communicate respectfully. Reach out to VIP team leadership with any issues concerning miscommunication.

The NYU Processor Design team coordinates via GitHub issues, pull request comments, and Discord.

VIP Notebook

Every VIP student maintains documentation consisting of meeting notes, details about their work and progress, lists of responsibilities, tasks, deadlines, reflections, etc.

The notebook format for the Processor Design team is Markdown documents submitted as pull requests to this repository. Feedback will be provided in the pull request, and timeliness is judged based on when a PR is submitted.

Team members are expected to update their notebooks weekly. An accepted PR represents full credit for the purposes of grading.

It is not the intent that notebooks represent solely individual work. This is not a test; members’ individual knowledge is not under consideration. Group efforts on labs, developing documentation, or achieving individual or team-wide objectives are all acceptable work for the purposes of the VIP design notebook.

Required Materials

There are no required materials for this course. Introductory project information, training, and resources will be made available to students.

Grades

Students are graded based on participation, contribution, and documentation. Attendance is expected at weekly meetings, and every student reports their individual contributions on a weekly basis through the VIP Notebook.

CategoryBreakdown
Documentation (VIP Notebook)50%
Attendance25%
End of Semester Presentation or Report25%
Total100%

Zero-credit enrollment: Students enrolled in a zero-credit VIP course will receive a Pass (P) for 80% or higher.

Documentation

VIP Notebook entries are expected to be updated weekly through PRs by Monday night. Notebook entries will be graded out of 2 points:

PointsCriteria
2Entry contains some VIP-related work with basic explanations
1Entry does not contain VIP-related work or is lacking explanation
0No entry present

Students are granted up to two unexcused late PRs before penalties on their Documentation grade. For each week a submission is late, there will be a 1-point deduction from that week’s entry.

Attendance

Attendance is expected at all meetings. Meeting time is to be determined based on VIP members’ availability. If the meeting time does not work for a student, alternate options will be discussed.

Students are allowed 2 unexcused absences. If a student is to miss a meeting, they are responsible for anything that occurred in the missed meeting. Students are to notify the VIP Advisor/Leadership team if they are to miss a meeting.

End of Semester Presentation or Report

Typically, students will present at the end of the semester on the work that they have completed during the semester. Further details regarding the presentation will be given toward the end of the semester.


  1. VIP Advisor pre-approval required. ↩

  2. VIP Management pre-approval required. ↩