ECE 3270 / 3271

Digital Computer Design

Design of digital systems in Verilog, from combinational building blocks through finite state machines to a working processor datapath, implemented and verified on FPGA hardware.

Course Code
ECE 3270 / 3271
Level
Undergraduate
Credits
4 (3 lecture + 1 lab)
Semester
Fall 2026
Lecture
Tu Th 12:30 – 1:45 PM
Location
TBA
Office Hours
TBA
Instructor
Dr. Uma Tida

Course Overview

Digital Computer Design covers the design, description, and verification of digital systems using a hardware description language, and their realization on programmable logic. The course moves from combinational modeling and arithmetic circuits through sequential elements, registers, counters and finite state machines, and culminates in the design of a datapath and control unit for a simple processor.

The paired lab section (ECE 3271) is a hands-on sequence: every concept introduced in lecture is written in Verilog, simulated against a testbench, synthesized, and run on an FPGA board. Students finish the semester having built and debugged real hardware rather than only having analyzed it on paper.

Topics Covered

Module 1 — Combinational Design in Verilog
  • Verilog modeling concepts and design flow
  • Adders and arithmetic circuits
  • Multi-output and multi-level circuits
  • Tasks, functions, and testbenches
Module 2 — Sequential Logic and State
  • Latches and flip-flops
  • Registers, shift registers, and counters
  • Behavioral modeling and timing constraints
  • Counters, timers, and a real-time clock
  • Finite state machines
  • Sequential design using ASM charts
Module 3 — Processor Datapath and SoC
  • IP catalog and the architectural wizard
  • Integrated logic analyzer and on-chip debug
  • IP integrator and block design
  • Datapath and control unit design
  • A simple processor
  • Bit-pair recoded multiplier

Learning Objectives

Students who complete this course will be able to:

Laboratory Sequence (ECE 3271)

The lab meets weekly and follows the lecture. Each lab is written, simulated, synthesized, and demonstrated on hardware.

WeekLabDeliverable
Module 1 — Combinational Design in Verilog
1Modeling concepts and toolchain setupSimulation waveform
2Addition: ripple-carry and carry-lookaheadSynthesis report
3Multi-output circuitsBoard demo
4Tasks, functions, and testbenchesTestbench + coverage
Module 2 — Sequential Logic and State
5Latches and flip-flopsTiming analysis
6Registers and countersBoard demo
7Behavioral modeling and timing constraintsConstraint file
8Counters, timers, and real-time clockBoard demo
9Finite state machinesState diagram + RTL
10Sequential system design using ASM chartsASM chart + RTL
Module 3 — Processor Datapath and SoC
11Architectural wizard and IP catalogBlock design
12Integrated logic analyzer and on-chip debugCaptured trace
13Simple processor: datapath and controlWorking processor
14Bit-pair recoded multiplierFinal demo

Lab materials. The lab exercises follow the open FPGA/SoC/Verilog/HLS lab collection maintained by Prof. Qing (Ken) Yang (University of Rhode Island) and Prof. Tao Wei (Clemson University), available at uri-nextlab.github.io/ParallelProgrammingLabs. That collection draws in turn on AMD/Xilinx university workshops and on course material from UCSD, Clemson, and Georgia Tech.

Grading Scheme

TBA — weighting for homework, labs, exams, and the final project will be posted with the syllabus.

Textbooks & References

← Back to Teaching