CSE 141L Spring 2007: Computer Architecture Lab


This quarter, ten teams independently created pipelined microprocessors with their own unique custom instruction set, architecture, microarchitecture and complete synthesized verilog FPGA implementation. The students also wrote assemblers and simulators, and implemented a virtual machine that allowed them to share binaries with the rest of the class. Many of these designs clocked at over 100 MHz, which is very good for a Xilinx microprocessor implementation.

Among the class's innovative designs include Shane Mainali and Sanjay Pullabhatla's 5-core shared-memory multicore microprocessor and Greg Geldman and Melissa Weaver's dual-core, shared-memory, message passing microprocessor. Below is a list of designs and their proud authors.
A multi-core processor

Awards

Team Name Members Award Title
TEAM:
Test, Emulate, And Mystify
Shane Mainali
Sanjay Pullabhatla
Highest Performance Multicore Processor (5-core pipelined microprocessor)
Team Flip Flop
and Ya Don't Stop
Greg Geldman
Melissa Weaver
Most programmer-friendly and featureful multicore processor
(dual core with fair-arbitration, shared memory and message passing)
Team Icaro Anton Escobedo
Carl Nilsson
Most Power-efficient Processor (Best Performance Per MHz)
First Team Nathan Hazout
William Tai
Most Extreme (Non-interlocked Superpipelined Processor)
Team 6 Alex Barsan
Jon Campbell
Most Optimized VM Implementation
Men in Black Chad Kingsley
Vijay Raman
Most Innovative (Software-Controlled) Branch Target Buffer
Team Awesome Xavier Monraz
Scott Wilson
Most Elegant Branch Target Buffer Design
FHF - Free Hardware Foundation Jenan Wise Most Innovative Instruction Design
NAND1 Wing Lun Fung
Minh Nguyen
Best Fully-Associative Branch Target Buffer Design
tlhlngan maH! Chris Barrett Best Performance on Code with Unpredictable Branches

Announcements

Basic Course Information

Xi and Linx, honorary class scapegoats

Web Board

Website for Team Projects

Evaluation

Each lab will be evaluated based on two components: (1) demo interview and (2) lab report. In the demo interview, you will briefly explain your design and show working results. It is your responsibility to intelligently discuss your design choices. You are also required to submit a lab report for each lab, but it will be brief answers for provided questions, with usually less than 5 pages.

Regrading Policy

Lectures

Date Title
4/2
Introduction
4/4
Verilog 1
4/9
Verilog 2
4/11
Fetch Unit Basics
4/16
Lab 1b Q&A
4/18
Sequential Logic Design
4/23
Lab 1b Review
4/25
Lab 2a Overview
4/30
Lab 1c Review
5/2
Lab 2b Overview
5/7
Lab 2b Assembler
5/9
More Lab 2b
5/14
Lab 3a Overview
5/21
Lab 3b Overview
5/23
More Lab 3b

Labs

Date Title Due
4/2
Lab 1a: Be a Hardware Hacker
4/9
4/11
Lab 1b: Fetch Unit - Datapath
4/18
4/18
Lab 1c: Fetch Unit - Control
4/25
4/25
Lab 2a: Design Your Own ISA
5/2
5/5
Lab 2b: Assembler and Simulator
5/14
5/15
Lab 3a: Materialize Your Processor - Datapath
5/21
5/21
Lab 3b: Materialize Your Processor - Control
5/29
6/2
Lab 3c: (Debug) Optimize Your (Possibly) Multicore Processor
6/10

Teams

With the exception of the first lab, you will work in teams of two. (Lab1 is individual.)