Skip to content

CS 315-02 Lecture/Lab — Meeting Summary (Fall 2025)

Date/Time: Oct 29, 2025, 06:35 PM Pacific
Meeting ID: 868 6589 0521

Quick Recap

The session reviewed processor components and covered the implementation of a register file and ALU. Greg provided guidance on Lab 9 and Project 5, addressing technical details such as the use of tunnels, decoders, and hardware representations. The meeting concluded with a discussion of enable/disable functionality in digital circuits and ideas for advanced exploration.

Next Steps

  • Instructor (Greg)
  • Push updated lab guide corrections to the repository.
  • Update main file naming from “Lab5” to the correct assignment name.
  • Rerun the autograder for all projects to capture student updates.
  • Publish Project 3 grades on Canvas.

  • Students

  • Work on Lab 9 during the remaining lab time.
  • Seek help with remaining issues on Project 5 as needed.
  • Request assistance for any autograder issues.

Summary

Processor Components and Lab Review

  • Reviewed processor components: combinational and sequential elements.
  • Walked through data flow from the PC to instruction decoding, register file access, and ALU operations.
  • Lab 9 focuses on building:
  • A register file
  • An initial version of the ALU
  • Minor typos in the guide were corrected.
  • Students were encouraged to work on Lab 9 or get help with Project 5 and autograder issues.

Register File Guide Corrections

  • Corrected an input range typo and removed an unnecessary PC input.
  • Register file functionality:
  • Reads two registers and writes one per clock cycle.
  • Uses a 64-bit digital register component with:
    • Clear input to force 0
    • Enable on the rising edge of the clock
  • Tunnels are recommended due to the regularity and symmetry of data flow.

Register File Implementation with Tunnels

  • Implementation uses tunnels and decoders to reduce wiring complexity.
  • Clarified:
  • Mapping instruction bits to read/write register numbers
  • Use of constant values, registers, and write enables
  • Hardware representation of constants via ground and supply voltage

Decoder Implementation and Register Updates

  • Decoder with enable can be implemented via:
  • AND gates on outputs, or
  • A selector integrated with the decoder
  • Write-enable controls which register updates; register x0 must remain immutable (cannot be updated).
  • Next topic previewed: ALU design.

64-bit ALU Design Overview

  • ALU accepts two 64-bit inputs and produces a 64-bit result.
  • Operation selected by a 3-bit ALU OP input.
  • Multiple operation blocks can compute in parallel; this is acceptable since the circuit is always active and hardware cost is already incurred.
  • File naming issues and repo updates were acknowledged and slated for quick fixes.

Digital Multiplier Usage and Project 5

  • For multiplication with 64-bit inputs:
  • Split each 64-bit operand into 32-bit halves.
  • Use a 32-bit digital multiplier and take the lower 32 bits of the result as needed.
  • The multiplier supports signed inputs.
  • Workaround: set the multiplier’s data bit size to 32 to align with design constraints.
  • Students were encouraged to continue progress on Project 5 and seek help as needed.

Digital Register Project Configuration

  • Discussed register file layout and configuration with emphasis on:
  • Tunnels for readability and clean data flow
  • Correct selector usage and wiring
  • Wiring unused registers to zero
  • Highlighted challenges of scaling a large register file and the value of maintaining symmetry.
  • Ongoing support will be provided in the coming weeks.

Circuit Design and Project Updates

  • Addressed design tool issues:
  • Short wire errors
  • Misleading error messages
  • Progress updates:
  • Project 2’s autograder reached approximately 70% functionality in the first week; target completion by the following week.
  • Grade updates for multiple projects are in progress.
  • Considered ALU component sourcing (subtractor, multiplier) and the difficulty of selectively disabling circuit parts without advanced processor features.

Enable Pins in Digital Circuits

  • Explored enabling/disabling components, especially adders:
  • Open question: what should an enable pin do for an adder in basic digital logic?
  • Conclusion:
  • Power-gating or fine-grained disabling is an advanced topic not directly supported by the basic components used so far.
  • Further exploration (including simulation strategies) may be beneficial; external tools like ChatGPT could help investigate options.