Syllabus


Contact Information

PositionNameEmailOffice Hours
Course AdvisorRatan Deyratan@nyu.eduBy Appointment
Team LeadDarren Kuodk4461@nyu.eduSee Below
Onboarding LeadNoah Mays-Smithnm4207@nyu.eduSee Below

Darren’s Office Hours

My office hours are shared with other classes, who will take priority over VIP students. That said, my office hours aren’t busy 90% of the time so don’t hesitate to drop in if you have a question. Email or ping me in the discord to drop into my personal meeting room.

Day(s)HoursZoom Link
Wednesday1-3pmZoom

Noah’s Office Hours

My office hours are open for discussion on design strategies or onboarding project related questions. If meeting for questions on the Onboarding Project, both members being present is ideal, but not required. I will also be available for shorter questions during our weekly meetings for shorter questions, and over email if an immediate answer is not needed. For more productive office hours, email me beforehand with your question or problem so I can better help you.

Day(s)HoursZoom Link
By AppointmentBy AppointmentThrough Email

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 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 a 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

Project Structure

This VIP team does not currently have designated sub-teams. A single team-wide meeting will be held weekly at a time determined by participant schedules.

Course Topics

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

  • System Verilog
  • C/C++ for Verification
  • Toolchain Automation
  • Processor pipelining and pipeline stage implementation
  • Caching
  • Design flow tooling
  • Elements of a PDK
  • RISC-V ISA

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 credits1: 8 hours per week

3 credits2: 12 hours per week

1

VIP Advisor pre-approval required.

2

VIP Management pre-approval required.

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 our Discord.

VIP Notebook

Every VIP student maintains documentation consisting of meeting notes, details about their work and progress, lists of responsibilities, tasks, and 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)40%
Responsibilities & Contributions30%
Attendance10%
End of Semester Presentation or Report20%
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 Sunday 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 your Documentation grade. For each week a submission is late, there will be a 1 point deduction to that weeks entry.

Responsibilities & Contributions

There will be bi-weekly presentations from the students about the work that they have been working on. Presentations can be done in groups/sub-teams if the VIP work was done in groups/sub-teams.

Presentations will be graded on a completion basis, 1 point for presenting, 0 points for no presentation. There will be no unexcused late submission for presentations.

Attendance

Attendance is expected at weekly 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 were 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 towards the end of the semester.