Keraunos PCIe Tile Documentation

Welcome to the Keraunos PCIe Tile SystemC/TLM2.0 implementation documentation.

Architecture & Design:

Verification:

Overview

This documentation describes the SystemC/TLM2.0 implementation of the Keraunos PCIe Tile, featuring:

  • Linux-Booting VDK Platform - Full RISC-V Linux on host with PCIe endpoint enumeration

  • End-to-End PCIe Data Path - Host to Target_Memory via RC, EP, PCIE_TILE, and noc_n_initiator

  • pcie_xfer Application - Userspace tool for interactive BAR0 read/write operations

  • Test Suite - 86 tests (41 E2E + 45 directed), 344 checks, including BME (Bus Master Enable) tests

  • Zero Memory Leaks - Smart pointer (RAII) based design

  • Modern C++17 - Best practices throughout

  • SCML2 Memory - Proper persistent storage

  • Temporal Decoupling - Full TLM-2.0 LT support

Key Features

The refactored architecture (v2.0) introduces:

  1. Dual-Chiplet VDK Platform - Host_Chiplet (RC + Linux) and Keraunos_PCIE_Chiplet (EP + Tile + Memory)

  2. Linux PCIe Stack Integration - snps,dw-pcie driver enumerates EP, assigns BARs

  3. Function Callback-Based Communication - Eliminates internal socket bindings

  4. Smart Pointer Memory Management - Zero memory leaks guaranteed

  5. SCML2 Integration - Proper configuration persistence

  6. Comprehensive Testing - 86 test cases (incl. 5 BME tests) with cross-socket data verification

  7. Sparse Backing Memory - Custom sparse_backing_memory with 256TB address range

  8. Initiator Socket Architecture - DUT output ports use simple_initiator_socket for outbound traffic

Platform Architecture

The validated VDK platform demonstrates the complete data path:

Host CPU (Linux) → RC AXI_Slave → iATU → PCIe TLP
  → EP PCIMem_Slave → EP BusMaster
    → PCIE_TILE.pcie_controller_target
      → noc_n_initiator → Target_Memory (16 MB)

See VDK Platform Guide: Linux-Booting Keraunos PCIe Tile for full platform details.

Components

The tile includes:

  • Translation Lookaside Buffers (TLBs) - 6 inbound, 3 outbound

  • MSI Relay Unit - Interrupt management

  • Intra-Tile Fabric Switches - NOC-PCIE, NOC-IO, SMN-IO

  • System Information Interface (SII)

  • Configuration Register Block

  • Clock & Reset Control

  • PLL/CGM (Clock Generation Module)

  • PCIe PHY Model

Documentation Sections

System Architecture (Keraunos_System_Architecture.md):

  • Grendel chiplet ecosystem and Keraunos-E100 role

  • PCIe Tile position and interfaces

  • Model integration (Host-RC-EP-Tile connections)

  • VDK integration with Synopsys DesignWare PCIe

  • Final VDK platform: Linux boot, PCIe enumeration, data transfer

VDK Platform Guide (VDK_Platform_Linux_PCIe_Guide.md):

  • Dual-chiplet topology and wiring

  • Memory maps (host and device)

  • Linux boot flow via OpenSBI

  • PCIe enumeration and BAR assignment

  • pcie_xfer application usage

  • VP configuration reference

  • Troubleshooting guide

Indices and tables