Syllabus


Contact Information

PositionNameEmailOffice Hours
Course AdvisorRatan Deyratan@nyu.eduBy Appointment
Team LeadUma Nachiappanun2021@nyu.eduSee Table

Uma’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
Mon, Wed11am-12pmZoom

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 a rolling 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 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)35%
Responsibilities & Contributions35%
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.