About this course
Understand and build digital hardware: from Boolean logic gates through synchronous sequential circuits, finite state machines, and timing closure to a complete digital subsystem realized on a real FPGA using VHDL or Verilog. The course develops the hardware engineering mindset needed for defense, embedded, and signal-processing systems.
Designed and implemented a complete digital subsystem on FPGA: specified the system in VHDL or Verilog, synthesized and placed-and-routed it for a Xilinx or Intel target, verified functional correctness in simulation, closed timing with a static timing analysis report, and validated the design on hardware against a defined set of test vectors.
Expected outcomes
- Represent numbers in binary, hexadecimal, and two's complement and apply Boolean algebra to simplify logic expressions
- Design combinational circuits using truth tables, Karnaugh maps, and standard gate families
- Build sequential circuits from flip-flops and latches and analyze their timing behavior
- Model and implement finite state machines as Moore and Mealy machines in hardware description language
- Write synthesizable VHDL and Verilog for combinational, sequential, and hierarchical digital designs
- Explain FPGA architecture including LUTs, flip-flops, DSP blocks, block RAM, and routing fabric
- Synthesize and implement an HDL design on an FPGA target using vendor tools and interpret the results
- Perform static timing analysis, resolve setup and hold violations, and cross clock-domain signals safely
- Describe memory system types, bus protocols, and SoC integration strategies
- Design, simulate, and verify a digital subsystem using a structured HDL design and verification flow
Key topics
- Combinational and sequential logic
- Finite state machines
- VHDL and Verilog HDL
- FPGA implementation and timing
Theoretical foundations
The concepts and results this course rests on.
- Boolean algebra, De Morgan's laws, and two-level logic minimization with Quine-McCluskey and Karnaugh maps
- Shannon's switching circuit theory and the duality between combinational networks and Boolean functions
- The Mealy-Moore equivalence theorem and state minimization algorithms
- Synchronous sequential circuit timing: setup time, hold time, clock-to-Q delay, and the maximum clock frequency equation
- Metastability theory and synchronizer failure probability for cross-clock-domain signals
- FPGA lookup-table architecture and the mapping of logic to LUT-based cells
- Static timing analysis: arrival times, required times, slack, and the concept of critical paths
Prerequisites
Course-specific prerequisites:
- Introduction to digital systems or computer organization
- Discrete mathematics and Boolean algebra
- Programming in any compiled language
Weekly schedule 13 weeks · lecture + practice
Students use AI assistants to accelerate HDL coding: generating boilerplate VHDL and Verilog module skeletons, writing self-checking testbenches, and refactoring FSM implementations between encoding styles. Assistants help interpret synthesis and timing reports by explaining critical path findings and suggesting constraint refinements. Students also use AI to generate initial AXI4 peripheral register maps and to explore trade-offs between resource-sharing and parallel datapath implementations. All AI-generated HDL must pass simulation and on-board validation; students verify each suggestion against the timing closure report and the functional coverage results before accepting it.
Student project
Each team designs and implements one digital subsystem across the term, progressing from an HDL specification to a verified, timing-closed FPGA implementation. The project grows weekly from combinational and sequential building blocks through a control FSM and datapath to a complete integrated system with memory and a peripheral interface. The same artifact is presented at the specification, interim, and final milestones.
Requirements
- Build a working FPGA implementation, not a simulation-only design.
- Be original: a real design problem, not a re-implementation of a lab tutorial or course demo.
- Show real depth: verified with a self-checking testbench, timing constraints applied, and on-board hardware validation.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): design problem, block diagram, FSM, and HDL plan | 20% |
| Project · Interim | Presentation 2 (week 8): working HDL modules on the FPGA with timing and resource reports | 30% |
| Project · Final | Presentation 3 (week 13): complete FPGA system with verification evidence and oral defense | 50% |
Tools & platforms
- Xilinx Vivado: synthesis, implementation, static timing analysis, and bitstream generation for Xilinx FPGAs
- Intel Quartus Prime: synthesis and implementation for Intel (Altera) FPGAs including DE10-Lite
- ModelSim / Questa: VHDL and Verilog simulation with waveform viewing
- Icarus Verilog and GTKWave: open-source Verilog simulation and waveform viewer
- VUnit: VHDL unit testing framework for automated regression testing
- cocotb: Python-based hardware verification framework for writing testbenches in Python
- Digilent Basys 3 and Intel DE10-Lite: FPGA development boards used for on-hardware validation
- SystemVerilog: for testbench assertions, constrained-random stimulus, and functional coverage
- Git: version control for HDL source, constraints, and testbenches
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
- MIT OCWComputation Structures (6.004)
- YouTubeDigital Electronics (Neso Academy)
- CourseraFPGA Design for Embedded Systems (University of Colorado)
In Hebrew · בעברית
- Campus ILמבוא למערכות ספרתיות
Primary literature
Seminal works for advanced study.
- PaperA Mathematical Theory of Communication
- PaperGedanken-Experiments on Sequential Machines
- PaperA Method for Synthesizing Sequential Circuits
References
Books and resources link to an online or publisher page.
- TextbookDigital Design, 6th Edition
- TextbookDigital Design and Computer Architecture, 2nd Edition
- TextbookVHDL for Programmable Logic
- DocumentationXilinx Vivado Design Methodology Guide
- DocumentationAMBA AXI and ACE Protocol Specification
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Elective |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Elective |
| Immersive Systems & Game Development | Elective |
| Defense Technologies & Autonomous Systems | Core · Semester 2 |