Senior Design Capstone Project

404: Bot Not Found

An educational FPGA and embedded-systems platform developed to give engineering students hands-on experience with HDL design, AXI peripherals, simulation, hardware deployment, and system integration using the Digilent Cora Z7.

SystemVerilogZynq-7000Cora Z7AXI4-LiteAXI VIPVivadoVitisXSimEmbedded CGPIOSPII2CPWMSolidWorks
Complete 404 Bot Not Found platform with the Cora Z7, custom peripheral PCB, IMU sensor, and OLED displays

Project Type

Senior Design Capstone

Primary Purpose

Hands-on FPGA Education

Platform

Digilent Cora Z7

My Role

Project Manager and XSA Integration Owner

Overview

Bringing HDL concepts out of simulation and onto physical hardware

404: Bot Not Found was an eight-person senior design project centered on developing a reusable FPGA learning platform for Texas State University’s Digital Systems Using HDL course.

The platform was built around the Digilent Cora Z7, which combines Zynq-7000 programmable logic with an ARM processing system. This architecture allowed students to study HDL development, embedded programming, AXI communication, peripheral integration, simulation, and hardware verification in one environment.

The system integrated GPIO, SPI, I2C, and PWM peripherals through an AXI-based architecture. These interfaces connected the Cora Z7 to external sensors, OLED displays, LEDs, motor-control hardware, and a custom peripheral PCB.

Testbenches, embedded applications, bitstream releases, hardware platforms, test procedures, and technical documentation were developed alongside the hardware so that future students could reproduce, study, and expand the system.

Complete 404 Bot Not Found project block diagram showing subsystem ownership across the team
Complete project block diagram mapping the HDL, FPGA IP, ARM, peripheral PCB, sensors, displays, LEDs, and motor-control subsystems to the team members responsible for them.

Educational Purpose

A reusable platform for learning through design, deployment, and testing

The project addressed the gap between learning HDL syntax in a classroom and developing a complete FPGA-based system. Students could follow a practical engineering workflow: create digital logic, simulate its behavior, integrate IP, build the design, deploy it to hardware, and verify the result.

The platform also demonstrated the relationship between software and programmable hardware. Embedded C applications running on the ARM processor accessed AXI-connected peripherals implemented in the FPGA fabric, allowing students to see how firmware and digital logic work together.

Instead of presenting the system only as a finished demonstration, the project provided reusable hardware, software, verification examples, and instructional documentation that could support future laboratory exercises.

Learning objectives

  • Introduce students to FPGA development using an industry-relevant Zynq-7000 SoC.
  • Connect HDL design and simulation with observable behavior on physical hardware.
  • Demonstrate communication between the ARM processing system and programmable logic.
  • Provide practical experience with AXI, GPIO, SPI, I2C, and PWM peripherals.
  • Teach repeatable FPGA build, deployment, verification, and debugging workflows.
  • Apply classroom concepts to a complete autonomous robotics application.

System Architecture

Connecting the ARM processor, FPGA fabric, and external hardware

The platform used the dual architecture of the Zynq-7000 SoC. The ARM processing system handled embedded software and high-level control, while the programmable logic contained AXI-connected peripheral interfaces and custom hardware.

AXI SmartConnect provided memory-mapped communication between the processing system and programmable-logic peripherals. The complete platform connected these interfaces to displays, sensors, LEDs, buttons, motor drivers, DC motors, and a custom PCB.

Simplified block diagram of the Cora Z7 processing system, AXI interconnect, and FPGA peripherals
Simplified architecture showing the ARM Cortex-A9 and AXI VIP communicating with GPIO, SPI, PWM, and I2C peripherals through AXI SmartConnect.

Processing System

The ARM Cortex-A9 processing system ran embedded C applications, managed high-level control, and accessed peripherals through memory-mapped AXI interfaces.

Programmable Logic

The FPGA fabric contained AXI-connected GPIO, SPI, I2C, PWM, reset, interconnect, and custom hardware blocks.

Peripheral Hardware

External hardware included OLED displays, an inertial sensor, RGB LEDs, buttons, motor drivers, DC motors, and a custom peripheral PCB.

Verification Environment

SystemVerilog testbenches and AXI VIP generated register transactions and verified peripheral behavior before hardware deployment.

FPGA Integration

A master hardware platform for every project subsystem

The Vivado block design brought together the Zynq processing system, AXI SmartConnect, processor resets, AXI Verification IP, GPIO interfaces, SPI controllers, an I2C controller, and custom PWM peripherals.

Each peripheral was assigned a memory address that allowed embedded software and testbench transactions to access its control and status registers. As the individual subsystem designs changed, the master hardware platform had to be updated and rebuilt while preserving clocking, reset behavior, address mapping, and external pin routing.

Detailed master Vivado block design used to generate the Cora Z7 hardware platform
In-depth master Vivado block design showing the processing system, AXI infrastructure, resets, verification IP, and connected FPGA peripherals used to generate the bitstream and XSA platform.

Project Deliverables

Hardware, software, verification, and documentation

The completed project extended beyond a single FPGA design. It included the hardware platform, embedded applications, physical peripherals, simulation tools, deployment files, and instructional resources required to reproduce and understand the system.

FPGA Hardware Platform

A complete Zynq-7000 block design integrating the processing system, programmable logic, AXI interconnect, and peripheral IP.

Bitstream and XSA Releases

Version-controlled FPGA deployment files that kept the hardware and embedded-software environments synchronized.

Simulation Environment

Testbenches and AXI VIP transactions for validating GPIO, SPI, I2C, and PWM register interfaces.

Embedded Applications

Embedded C examples for configuring peripherals and demonstrating communication between the ARM processor and FPGA fabric.

Peripheral PCB

A custom board connecting sensors, displays, LEDs, motor-control hardware, and external interfaces to the Cora Z7.

Instructional Documentation

Test procedures, operating instructions, block diagrams, address maps, and supporting material for future students.

My Contribution

Project leadership, FPGA integration, deployment, and verification

I served as the project manager while also owning the master FPGA hardware-platform integration and deployment workflow. My technical responsibility was to maintain the Vivado design that brought the team’s peripheral subsystems together into a deployable Zynq-7000 configuration.

As subsystem requirements evolved, I incorporated the necessary AXI IP blocks, validated connections and address assignments, ran synthesis and implementation, generated the FPGA bitstream, and exported the XSA hardware platform used by the embedded-software team.

I maintained and distributed matching hardware releases so the bitstream, block design, XSA platform, testbench environment, and embedded applications remained aligned across project revisions.

I also assisted with the HDL verification effort by helping develop, execute, and debug AXI VIP simulations for the GPIO, PWM, SPI, and I2C peripherals. This work helped confirm register-level communication and peripheral behavior before physical deployment.

  • Served as project manager for an eight-person engineering team.
  • Owned the master Vivado block design and XSA hardware-platform iterations.
  • Integrated AXI-connected GPIO, SPI, I2C, and PWM peripherals into the Zynq-7000 design.
  • Generated, versioned, validated, and deployed FPGA bitstream and XSA releases.
  • Maintained reproducible hardware configurations as subsystem requirements changed.
  • Assisted with AXI VIP testbench development and simulation for GPIO, PWM, SPI, and I2C.
  • Supported synthesis, implementation, hardware validation, and system-level debugging.
  • Designed the autonomous robot chassis and mechanical assembly in SolidWorks as an independent project extension.

Deployment Workflow

Moving subsystem updates into a reproducible FPGA release

01

Integrate IP

Incorporate the required GPIO, SPI, I2C, PWM, reset, processing-system, and AXI interconnect blocks into the master Vivado design.

02

Validate the Design

Check block connections, clocking, resets, address assignments, interfaces, and design-rule requirements before implementation.

03

Build the Hardware

Run synthesis and implementation, resolve design issues, and generate the FPGA bitstream for the Cora Z7.

04

Export and Deploy

Export the XSA hardware platform, distribute the matching release files, and support validation by the software and testbench teams.

Verification and Validation

Testing the design from AXI transactions to physical peripherals

Verification was performed at multiple levels. Individual peripherals were first exercised through simulation and register transactions before being validated through embedded software and physical hardware.

The testbench environment instantiated the Cora Z7 design wrapper and used AXI Verification IP as the master interface. AXI VIP generated register transactions through AXI SmartConnect to exercise the memory-mapped GPIO, SPI, I2C, and PWM peripherals.

Hardware validation confirmed address mapping, register behavior, signal routing, and communication with external devices. Oscilloscopes and logic analyzers were used to inspect signals and troubleshoot timing, interface, and integration problems.

  • Vivado block-design validation
  • Synthesis, implementation, and bitstream generation
  • XSA hardware-platform generation and deployment
  • SystemVerilog simulation using XSim
  • AXI VIP register transactions and protocol verification
  • GPIO, SPI, I2C, and PWM peripheral testing
  • ARM-to-programmable-logic communication testing
  • Oscilloscope and logic-analyzer measurements
  • Fabric-clock performance characterization
  • Full-system hardware integration testing
AXI VIP simulation waveform used to verify FPGA peripherals
Example XSim waveform used to inspect register transactions and peripheral responses.

Performance Testing

Characterizing peripheral operation across fabric-clock revisions

I generated and tested multiple hardware-platform revisions using different programmable-logic fabric-clock frequencies. Peripheral operation and simulation were evaluated at 25, 100, 150, 200, and 250 MHz.

The platform’s communication interfaces operated successfully at 25, 100, and 150 MHz. At 200 and 250 MHz, SPI communication failed while I2C and the other interfaces continued to operate. The results identified a practical limitation involving the fabric clock, SPI divider configuration, and connected peripheral requirements.

25 MHzPeripheral and simulation tests passed
100 MHzPeripheral and simulation tests passed
150 MHzPeripheral and simulation tests passed
200+ MHzSPI hardware communication became unreliable

Independent Project Extension

Extending the curriculum platform into an autonomous FPGA robot

Outside the core team deliverables, I continued developing the platform as an autonomous robot. This extension demonstrated how the same HDL, peripheral, verification, and hardware-integration concepts could be applied to a complete physical system.

I designed the robot chassis and mechanical assembly in SolidWorks. The three-level structure organized the motors, batteries, sensors, Cora Z7, and project electronics while protecting the hardware and maintaining access for testing and development.

The lower level supported the drive system and boundary sensors, the middle level housed the batteries, and the upper level supported the FPGA board, electronics, and ranging sensors.

Functional testing of the autonomous FPGA robot on its test surface
Functional testing of the assembled robot's movement, sensors, and boundary-detection behavior.

Mechanical Design

A three-level robot chassis was modeled in SolidWorks around the motors, sensors, batteries, Cora Z7, and project electronics.

Boundary Detection

Infrared sensors detected operating-area boundaries and could override movement commands to prevent the robot from leaving its intended area.

Object Detection

Time-of-flight ranging sensors supplied directional distance information for autonomous search and movement decisions.

Motor Control

FPGA-generated PWM and H-bridge control signals managed motor direction, speed, stopping, and corrective movement.

Robot features

  • SystemVerilog-based movement and control logic
  • Infrared sensors for boundary detection
  • Time-of-flight sensors for object detection
  • PWM-controlled DC motors
  • H-bridge motor-control interfaces
  • Boundary-avoidance safety behavior
  • Autonomous search and movement behavior
  • Three-level mechanical chassis designed in SolidWorks
SolidWorks assembly of the autonomous FPGA robot chassis
SolidWorks assembly showing the three-level autonomous-robot chassis and component arrangement.

Engineering Challenges

Coordinating a system that had to work technically and educationally

Changing Subsystem Requirements

The master FPGA platform required repeated updates as peripheral, software, testbench, and PCB requirements evolved.

Reproducible Releases

Bitstreams, XSA platforms, address maps, simulation wrappers, and embedded applications had to remain synchronized.

Verification Coverage

The team needed to verify the individual IP blocks, AXI transactions, embedded control, external peripherals, and complete system behavior.

Educational Clarity

The system needed to demonstrate realistic engineering concepts while remaining understandable and reproducible for students.

Results

A deployable FPGA platform built for education and continued development

The project produced a working Zynq-7000 hardware platform with AXI-connected GPIO, SPI, I2C, and PWM peripherals, embedded applications, simulation testbenches, a custom PCB, and documented operating and testing procedures.

The platform demonstrated a repeatable workflow from HDL and IP integration through simulation, bitstream generation, XSA export, embedded-software integration, and physical hardware validation.

The autonomous-robot extension provided a path for applying the educational platform to sensing, motor control, safety logic, mechanical design, and real-time physical behavior.

The project was recognized by visiting industry professionals as the top capstone project presented at the senior design showcase.

8Engineering team members
4Primary peripheral interfaces
FPGA + ARMHardware/software integration
Simulation + HardwareMulti-level validation workflow

Project Gallery

Hardware, architecture, verification, robotics, and the project team

Project Resources

Technical documentation and supporting material