Boolean Board

The Boolean board is an educational platform built around a Xilinx Spartan-7 FPGA. It includes a large collection of peripheral devices and ports, allowing countless designs to be built without the need for any other components. A single USB port that provides power and a programming port allows the board to integrate seamlessly with the Xilinx Vivado design tools. Board features include:
  • A Xilinx Spartan 7 XC7S50 FPGA
  • A USB port for power & programming
  • An on-board Bluetooth Low Energy radio
  • An HDMI source port that can drive up to 1080p
  • An on-board analog-to-digital converter
  • A large QSPI ROM for storing FPGA configurations and user data
  • Four servo connectors (conventional or continuous rotation)
  • An 8-digit seven-segment display
  • A large collection of buttons, switches, and LEDs
  • Four PmodĀ®-compatible expansion connectors

The Boolean Board Digital Logic course is a first-semester course presented as a series of hands-on design projects. Projects progress from simple logic circuits to complex systems, and each project includes background reading materials, design problems and in-depth tutorials. By the end of the course, students can design, simulate and implement combinational and sequential circuits using Verilog and an FPGA.

Digital Logic Course

  1. A First Project for the Boolean Board

    Fundamental concepts including basic definitions of voltage, current, ohms law, and other topics related to digital circuit design; design tools and technologies overview.

  2. Basic Logic Circuits

    Digital circuits and related terminology, design abstractions and design methods, implementation technologies, and digital system descriptions.

  3. Combinational Logic Circuits

    Combinational logic circuits: definitions, representations, and minimization methods

  4. Basic Combinational Building Blocks

    Combinational building blocks: Multiplexors, Decoders, Shifters, and Encoders

  5. Structural Verilog for Combinational Circuits

    Structural Verilog for combinational circuits

  6. Delays in Logic Circuits

    Changes to logic gate input signals ('0' to '1' or '1' to '0') can only cause logic gate outputs to change after some amount of time has passed. This module examines the effects of that time delay.

  7. Flip-flops and latches

    Fundamental electronic memory circuit design and application

  8. Counter, Clock Dividers, and the 7-segment Display

    Sequential components including counters and registers, and their applications

  9. Adders, Multipliers, and Comparators

    Arithmetic circuits like adders, subtractors, and multipliers are essential to computing circuits. This module presents the design and application or arithmetic circuits.

  10. Arithmetic and Logic Unit (ALU)

    A Simple ALU

  11. Introduction to State Machines

    An introduction to state machines and sequential circuits, featuring the design of a stopwatch

  12. The Design of a Simple Digital System

    Fundamentals of digital system design