Courses & Projects by Rob Marano

ECE 251 Spring 2025 Weekly Course Notes

<- back to syllabus


Week(s) Dates Topic
1, 2 1/21, 1/28 Hardware Modeling with Software (Verilog HDL) HDL
3 2/4 Wrap-up Verilog; Computer Abstraction & Stored Program Concept
4, 5 2/11, 2/18 Instructions —The Language & Grammar of Computers
6, 7 2/25, 3/4 Intro to Assembly Language Programming — MIPS CPU
8 3/11 Arithmetic for Computers; Midterm Exam
9 3/18 Floating Point Numbers & Arithmetic
10, 11, 12 3/25, 4/1, 4/22 The Processor — Data Path & Control
13, 14 4/29, 5/6 Interrupts; Memory Hierarchies (Caching)
15 5/13 Final Exam
15 5/16 Group Final Project due no later than 5pm ET this day

Follow the link above to the respective week’s materials below.


Week 1 — Jan 21 — Hardware Modeling with Verilog HDL — Part 1

Topics

  1. Intro to logic design using Verilog HDL
  2. Logic elements
  3. Expressions
  4. Modules and ports

Topic Deep Dive

See notes_week_01

Software Installation

Homework Assignment

See hw-01; solution

Week 2 — 1/28 — Hardware Modeling — Part 2

Topics

  1. Built-in primitives
  2. User-defined primitives
  3. Dataflow modeling

Topic Deep Dive

See notes_week_02

Homework Assignment

See hw-02.md; solution

Week 3 — 2/4 — Verilog; Computer Abstraction & Stored Program Concept

Topics

  1. Verilog: Parameterization; Built-in primitives; User-defined primitives; Dataflow modeling
  2. Stored Program Concept
  3. History of computer architecture and modern advancements

Topic Deep Dive

See notes_week_03

Reading Assignment

Week 4 — 2/11 — Instructions —The Language & Grammar of Computers — Part 1

Topics

  1. Recap: Stored Program Concept, and the history of computer architecture and modern advancements
  2. The alphabet, vocabulary, grammar of computers
    1. 1s and 0s as the alphabet
    2. compute and memory instructions as the vocabulary
    3. implementation of compute and memory instructions as the grammar
  3. Introducing the instructions of a computer delivered by the architecture
    1. Operations of the computer hardware
    2. Operands of the computer hardware
    3. Signed and unsigned numbers
    4. Representing instructions in the computer
    5. Logical operations

Topic Deep Dive

See notes_week_04

Reading Assignment

Week 5 — 2/18 — Instructions —The Language & Grammar of Computers — Part 2

Topics

  1. Instructions for making decisions
  2. Supporting procedures (aka functions) in computer hardware
  3. Begin converting our instructions to control logic for computation and memory storage.

Topic Deep Dive

See notes_week_05

Software Installation

Reading Assignment

NOTE: Check our shared Teams drive for these files too as well as the installation for our software.

Week 6 — 2/25 — Intro to Assembly Language Programming — MIPS CPU; Part 1

Topics

  1. Programming MIPS assembly language, using MIPS emulator (spim)

Topic Deep Dive

See notes_week_06

Reading Assignment

Week 7 — 3/4 — Intro to Assembly Language Programming — MIPS CPU; Part 2

Topics

  1. Programming MIPS assembly language, using MIPS emulator (spim)

Topic Deep Dive

See notes_week_07

Reading Assignment

Week 8 — 3/11 — Arithmetic for Computers

Topics

  1. Reviewing what it means for a computer to perform arithmetic
  2. Addition and Subtraction
  3. Multiplication
  4. Division
  5. Floating Point

Topic Deep Dive

See notes_week_08

Reading Assignment

Week 9 — 3/18 — Floating Point Numbers & Artihmetic

Topics

  1. A better system to handle very small and very large numbers &mdash floating point numbers through the IEEE 754 standard.

Topic Deep Dive

  1. Floating point number to represent the very large and the very small of numbers.
  2. Arithmetic of floating point numbers.

See notes_week_09

Week 10 — 3/25 — The Processor — Datapath & Control (Part 1 of 3)

Topics

  1. How to create the digital architecture from ISA instructions, component by component
  2. High level, abstract view of the processor
  3. Review of logic design conventions
  4. Building a datapath
  5. A simple implementation scheme for a subset of MIPS instructions

See notes_week_10

Week 11 — 4/1 — The Processor — Datapath & Control (Part 2 of 3)

Topics

See notes_week_11

Week 12 — 4/22 — The Processor — Datapath & Control (Part 3 of 3)”>

Topics

1. 2. 3.

See notes_week_12

<- back to syllabus