Skip to content

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

  • Date: October 15, 2025
  • Time: 06:51 PM Pacific Time (US and Canada)
  • Meeting ID: 868 6589 0521

Quick Recap

The session introduced core concepts in digital circuits—logic gates, Boolean algebra, and truth tables—and outlined the path from simple circuits to building a functional 64-bit RISC-V processor using basic components. The instructor, Greg, demonstrated the Digital software for circuit design and simulation, then provided step-by-step guidance for configuring and troubleshooting the autograder. Common technical issues were addressed with practical installation and setup advice.

Next Steps

  • Install the Digital software for circuit design and simulation.
  • Set up the autograder for Lab 8.
  • Complete the first circuit exercise in Digital.
  • Configure the Digital executable path in the autograder config file.
  • Attend office hours for installation or configuration assistance, if needed.

Summary

Digital Circuits and Logic Gates

  • Continuous values in the physical world are modeled as binary 0s and 1s in digital systems.
  • Core gates introduced: AND, OR, NOT, and their relation to Boolean algebra and truth tables.
  • Connections were made between digital design, C programming concepts, and propositional logic notation used in philosophy.

Building a 64-bit RISC-V Processor

  • The approach focuses on building a simplified 64-bit RISC-V processor using a minimal set of gates, emphasizing that complex systems arise from simple building blocks.
  • Abstraction and reusability were highlighted as essential strategies for managing complexity, analogous to functions and libraries in programming.
  • The “NAND to Tetris” project was cited as a model for progressing from basic gates to a complete computer capable of running Tetris.

Digital Circuit Design Fundamentals

  • The session covered creating circuits with gates and wires and relating schematics to Boolean equations.
  • Components were introduced as reusable circuit modules, analogous to functions in software.
  • The concept of a bus (multiple related 1-bit wires grouped together) was explained.

Digital Circuit Design Software Overview

  • The course uses the “Digital” software for schematic entry and simulation.
  • Despite an outdated interface, the tool is reliable and has been used successfully in the course for 28 years.
  • A potential web-based replacement was considered historically but deemed too time-consuming to develop.

Building Circuits with Digital

  • Students will initially build circuits from scratch to learn fundamentals, then progress to using pre-built components.
  • By the end of Project 6, students will assemble a working RISC-V processor capable of executing instructions.
  • The role of a clock signal in coordinating processor operations was introduced.
  • A brief aside mentioned potential MIDI/music applications with Digital, though not part of this semester’s scope.

Digital Circuit Design Demonstration

  • The demonstration covered creating and connecting wires, gates, and LEDs using the schematic tool.
  • Common pitfalls were reviewed, including wire crossings and missed connections.
  • Simulation mode was used to verify circuit behavior.
  • Emphasis was placed on completing the first lab circuit and setting up the autograder promptly to avoid weekend blockers.
  • Installation and usage guidance for the autograder was provided, with encouragement to seek help as needed.

Digital Autograder Configuration Tutorial

  • A walkthrough covered installing and running the autograder, addressing:
  • File permissions
  • Path configuration
  • Proper directory placement for the autograder
  • Ensuring required tools (such as UV) are installed
  • Guidance included how to test the autograder without a repository and platform-specific configuration tips.

Autograder Installation and Configuration

  • Recommended installation location: the user’s home directory.
  • The config.toml file should be updated with:
  • Course details
  • The path to the Digital executable
  • Troubleshooting addressed issues with UV installation and verifying the autograder path.

Cache Implementation Debugging Session

  • A portion of the session addressed cache implementation and autograder setup issues:
  • Incorrectly set cache flags were identified.
  • Understanding memory addresses and stack pointers was emphasized for proper debugging.
  • A recommendation was made to move executables out of the Documents directory.
  • Students experiencing persistent issues were encouraged to attend office hours.