Use the Tabs below to find information on community projects. Project pages have links to the 'technology' and 'design flow' stages used and ways you can comment on or join a project.

Projects are key to community hardware design

As a community hardware design activity we form our collaborations around shared design actions making Projects a core of the SoC Labs community. Projects help us share and reuse hardware and software developments around core Arm IP to help us in our research goals.

A project, takes technology and uses a design flow to make a SoC.

A project has a timeframe and uses the two other significant aspects of a SoC development, the selection of technology or IP blocks that make up the SoC and the design flow that is followed from specification through to final instantiation of a system. Any System On Chip usually involves the use of pre-existing IP blocks. A project team can select IP from the technology section of the site during the first stage of a design flow, Architectural Design. Later stages in the design flow support the creation of the novel aspects of the SoC design.

Projects have a type, either active, complete (case study) or being formulated (request for collaboration)

Sharing information on projects much earlier than traditional academic collaboration is encouraged. Historically knowledge sharing has been at the end of the research activity, with published papers and results. As well as write up of finished projects ("case study"), ongoing projects under development ("projects") there are projects that are still being formulated ("request for collaboration") listed. We want to encourage people to engage with the project teams, for example, adding a comment to a specific project page or joining a project.

Latest Reference Design Projects

Reference Design
Active Project
Cover image
DRAM Controller integration in megaSoC

To enable full operating system support in megaSoC, a substantial amount of memory is required to accommodate the complexity of modern Linux-based software stacks, including the kernel, drivers, middleware, and user-space applications. Linux environments, unlike lightweight bare-metal systems such as nanoSoC, demand not only larger memory footprints but also consistent access to high-bandwidth memory to maintain performance across multitasking workloads. The most common approach is to incorporate external DRAM, which offers the necessary capacity and throughput.

Reference Design
Active Project
nanoSoC V3, the next version of nanoSoC
This project aims to access the user needs and develop the next increment of capability for nanoSoC. It outlines the justification and motives behind the architectural redesign, design flow improvements and code repository refactor. With a number of new subsystems planned for nanoSoC and learning from various projects to date, this version of nanoSOC is expected to provide a much better support for academic projects.
Reference Design
Active Project
Cover image
AXI Chiplet Controller Architecture
dwn @ soclabs

AXI Chiplet Controller

For a chiplet system, you need a communication interface between chiplets. The industry has developed standards that require complicated IPs around UCIe and the CHI interface from Arm. For many academic projects these are probably more complicated than needed . The aim of this project is to produce a simple chiplet communications interface based around the open standard AXI protocol. 

The project is hosted here: https://git.soton.ac.uk/soclabs/chiplets/axi-chiplet-controller

Reference Design
Active Project
Cover image
PCK600 to SIE300 subsytem
dwn @ soclabs

PCK600 Integration in megaSoC

The PCK600 Arm IP provides components to allow a power control infrastructure to be distributed in a SoC in order to make a design energy efficient. Arm provide the IP as part of their Power Control System Architecture that can be used to control the power states of various parts of the system. This control of the power infrastructure is achieved through the use of the Power Policy Unit (PPU). This unit has an APB interface to allow for software control, and some low power interfaces that can connect to the power controllable IP within the system.

Latest Collaborative Projects

Collaborative
Active Project
SDIO Controller Verification
Integration of an open source SD Card interface submodule into megaSoC with a clear verification strategy to know it works, end-to-end, to provide a persistent storage mechanism.
Collaborative
Active Project
PTP Hardware Clock: Sub-Nanosecond Timekeeping for Chiplet Systems
Introduction

Precision timekeeping is a foundational service in any distributed system. Whether synchronising Ethernet frames to a PTP grandmaster, timestamping die-to-die packet exchanges between chiplets, or scheduling time-critical hardware events, the system needs a clock that is accurate, capturable at multiple points simultaneously, and adjustable by both hardware servo loops and software without stopping.

Collaborative
Active Project
Cover image
NanoSoC Ethernet Subsystem
The NanoSoC Ethernet Subsystem provides an AHB based TCP/IP Offload Engine that provides a SoC system with external Ethernet connectivity without adding the network handling workload to the main SoC processor.
Collaborative
Active Project
AHB Chiplet Communication
To utilise chiplets for small M-class microcontroller based systems there is a need to extend the range of the AHB standard on-chip bus interconnect. This 'Tidelink' project extends the planned AXI Chiplet controller to support AHB transactions across chiplets.

Latest Competition Projects

Competition 2025
Competition: Hardware Implementation
Cover image
ASIC for parallel channel tuning on Reconfigurable Intelligent Surfaces

Reconfigurable Intelligent Surfaces (RIS) are planar structures composed of large arrays of tunable elements that can dynamically redirect, reflect, or shape wireless signals in the environment.

Competition 2025
Competition: Collaboration/Education
Cover image
RF-Powered Sensor Platform for Intelligent Groceries Transportation Monitoring

This project aims to develop an advanced RF energy harvesting (EH) receiver chip specifically designed to power embedded sensors for monitoring the condition of groceries during transportation. The receiver chip captures wireless energy transmitted from phased array antennas and converts it into electrical power that is used to operate onboard sensors, which continuously monitor critical parameters such as temperature and humidity inside delivery trucks.

Competition 2025
Competition: Hardware Implementation
Cover image
Neural Activity Processor

Stroke and epilepsy are among the most common debilitating neurological conditions, with a worldwide prevalence of 100 million people (World Stroke Organization, 2022) and 50 million people (World Health Organization, 2024), respectively. Present-day approaches for treating neurological and neurosurgical conditions include physiotherapy, pharmacological treatment, surgical excision, and interventions such as deep brain stimulation.

Competition 2025
Competition: Collaboration/Education
An Efficient Hardware-based Spike Train Repetition for Energy-constrained Spiking Neural Networks

In the context of Industry 4.0, handwritten digit recognition plays a vital role in numerous applications such as smart banking systems and postal code detection. One of the most effective approaches to tackle this problem is through the use of machine learning and neural network models, which have demonstrated impressive accuracy and adaptability in visual pattern recognition tasks.

Latest Completed Project Milestones

Project Name Target Date Completed Date Description
DRAM Controller integration in megaSoC IP Selection
DRAM Controller integration in megaSoC Specifying a SoC
DRAM Controller integration in megaSoC Verification Methodology
DRAM Controller integration in megaSoC Architectural Design
DRAM Controller integration in megaSoC Getting Started
DRAM Controller integration in megaSoC Generate RTL
An Efficient Hardware-based Spike Train Repetition for Energy-constrained Spiking Neural Networks RTL Verification
An Efficient Hardware-based Spike Train Repetition for Energy-constrained Spiking Neural Networks Verification Methodology

Overview

The verification strategy for the SNN IP is divided into two primary phases:

  1. Block-Level Interface Verification: Using Cocotb for agile and detailed functional verification of the AHB interface.
  2. System-Level Integration Verification: Using the SoCLab socsim tool to validate the IP’s operation within a complete System-on-Chip (SoC) environment involving a DMA PL230 controller and software drivers.

Interface Verification with Cocotb

To ensure the SNN IP’s AHB interface strictly adheres to bus protocols, we employ a Cocotb-based co-simulation stack as illustrated in the architecture diagram:

  • Python Testbench: High-level test cases are written in Python, allowing us to leverage powerful data manipulation libraries (e.g., NumPy) to generate test vectors and golden models for the SNN.
  • Cocotb & VPI: The Cocotb framework manages the synchronization between the Python environment and the RTL simulator (QuestaSim) via the Verilog Procedural Interface (VPI).
  • Verification Flow: We developed an AHB Master agent using cocotb in Python to drive transactions (reads/writes) to the SNN IP’s configuration registers. This phase ensures that the control logic and internal registers are correctly accessible.

     

Figure 1. Cocotb testbench architecture 

System-Level Simulation with socsim and DMA PL230

To verify the SNN IP’s performance and its interaction with other SoC components, we perform full-system simulation using the socsim tool provided by SoCLab.

  • Hardware Configuration:  The simulation environment includes the SNN IP, the PL230 DMA Controller, and a processing subsystem. The DMA PL230 is responsible for high-speed data movement, offloading the CPU from manual data transfers.
  • Software-Driven Verification:  We developed an embedded software program to handle the spike train preprocessing. This software converts raw neural data into a format compatible with the SNN IP's input buffer.
    • The software further configures the DMA PL230 descriptors to establish a communication link, enabling the automated transfer of the preprocessed spike trains from memory to the SNN IP.
  • Objectives: This phase validates the data-path integrity, interrupt handling, and the timing synchronization between the software, the DMA, and the SNN IP.
An Efficient Hardware-based Spike Train Repetition for Energy-constrained Spiking Neural Networks Simulation

Introduction

The simulation phase serves as the definitive validation of the integrated system. By following the strategy outlined in the Verification Methodology, we executed a full-system simulation to ensure that the SNN IP, the DMA PL230, and the CPU work in perfect synchrony. This simulation verifies the entire data path, from the initial storage of neural parameters in system memory to the final inference results generated by the SNN core.

System Simulation Execution Flow

The simulation mimics the real-world operational sequence of the SoC, divided into five critical stages:

  • Stage 1: System Boot & Data Initialization Upon system reset, the simulation environment loads the preprocessed spike train and synaptic weights into the system RAM. This represents the "Golden Data" prepared by our software preprocessing scripts.
  • Stage 2: Processor Configuration The CPU executes the initialization code, sending AHB write transactions to configure the control registers of both the DMA PL230 and the SNN IP. In this stage, parameters such as the number of neurons, thresholds, and transfer lengths are established.
  • Stage 3: Weight Loading via DMA The DMA PL230 takes control of the bus to perform a high-speed burst transfer, moving the weight matrices from the system RAM directly into the internal SRAM of the SNN IP. This verifies the IP's ability to handle DMA-driven AHB slave writes.
  • Stage 4: Spike Train Streaming Once the weights are loaded, the DMA initiates the transfer of the spike train into the IP's input buffer. This stage is critical for validating the synchronization between the producer (DMA) and the consumer (SNN IP).
  • Stage 5: Neural Computation & Inference The SNN IP begins the spiking neural processing. The simulation tracks the membrane potential updates and spike generations across the programmed number of timesteps. Once the computation is complete, the IP signals the end of the task, and the results are read back for verification.

Figure 1. The configuration write transaction and weight transfer process

Figure 2. The spike train write transaction from RAM to buffer within SNN IP

Figure 3. an example result of SNN IP's operation

 

 

An Efficient Hardware-based Spike Train Repetition for Energy-constrained Spiking Neural Networks Generate RTL

Introduction

The Register Transfer Level (RTL) generation phase is a critical step in transforming our architectural concepts into a verifiable digital system. For this project, we have developed a high-performance SNN IP by utilizing a modular design approach. By abstracting the hardware into functional blocks of registers and combinational logic, we ensure the design is both scalable and compatible with standard System-on-Chip (SoC) integration flows. Our RTL description serves as the foundation for synthesis, where the design is eventually mapped to physical logic gates.

SNN IP Architecture and Component Integration

The RTL of our SNN IP is composed of two primary sub-modules, representing a balance between custom high-performance logic and industry-standard connectivity:

  • Custom SNPC Core (In-house RTL): The heart of the IP is the SNPC (Spiking Neural Processing Core). This block was developed in-house to implement the specific spiking neural network mathematics and neuron dynamics required for our application. The RTL defines the data flow between registers for membrane potential updates, thresholding logic, and spike generation.
  • AHB Interface (nanoSoC Integration): To ensure seamless communication within a modern SoC environment, we integrated an AHB (Advanced High-performance Bus) interface sourced from the nanoSoC framework. Utilizing this pre-verified interface allows the SNN IP to function as a standard memory-mapped peripheral, enabling the CPU or DMA to configure registers and move spike data efficiently.

RTL Development Flow

The generation of the final RTL involves a multi-step integration process:

  1. Module Interfacing: We developed a wrapper layer to bridge the SNPC core's internal signals to the AHB bus signals (HADDR, HWDATA, HRDATA, etc.). This ensures that the custom neural logic can be controlled via standard bus transactions.
  2. Hierarchical Integration: The project RTL is organized into a clean directory structure that separates the core compute logic from the bus-level primitives. This modularity allows us to optimize the SNPC core independently of the interface logic.
  3. Synchronization: Since the design is a synchronous digital system, all data transfers between the AHB registers and the SNN compute engine are carefully synchronized to the system clock, preventing metastability and ensuring data integrity during high-speed spike processing.

Latest Project Updates