===============================================================================
                32-BIT SEMANTIC ATOM (32BSA) RTL MANIFEST
===============================================================================

PROJECT: OpenTitan SLC Integration
DATE:   2025-04-20
VERSION: 1.0
PURPOSE: RTL manifest for Sigmantic AI multi-agent testing

===============================================================================
COMPONENT LIST
===============================================================================

1. TOP-LEVEL WRAPPER
   Component Name: slc_subsystem.sv
   Relative Path: rtl/slc_subsystem.sv
   File Size: 6,518 bytes
   Purpose: Top-level SLC subsystem wrapper with TL-UL interface and sideband integration
   Module Type: top_level_wrapper
   
   Ports:
   =======
   INPUTS:
   - clk_i (1 bit): Main clock input
   - rst_ni (1 bit): Active-low reset input
   - tl_i (TLUL): TileLink Uncached Lightweight host interface
   - slc_atom_i (32 bits): 32-bit semantic atom input from Ibex core
   
   OUTPUTS:
   - tl_o (TLUL): TileLink Uncached Lightweight device interface
   - intr_fatal_fault_o (1 bit): Fatal fault interrupt output
   - alert_tx_o (1 bit): Alert output (reserved)
   
   Parameters:
   - NrCommitPorts (int, default 2): Number of commit ports
   - XLEN (int, default 32): Register file width
   
   Integration Dependencies: sgn_tlul_adapter.sv, ax_buffer.sv

2. SGN TL-UL ADAPTER
   Component Name: sgn_tlul_adapter.sv
   Relative Path: rtl/sgn_tlul_adapter.sv
   File Size: 13,014 bytes
   Purpose: SGN TileLink wrapper for TL-UL protocol with semantic validation
   Module Type: protocol_adapter
   
   Ports:
   =======
   INPUTS:
   - clk_i (1 bit): Clock input
   - rst_ni (1 bit): Reset input
   - tl_i (TLUL): TL-UL host interface from crossbar
   - sgn_enable_i (1 bit): SGN enable control
   - filter_type_0_i (1 bit): Filter type 0 enable
   - filter_type_1_i (1 bit): Filter type 1 enable
   - filter_type_2_i (1 bit): Filter type 2 enable
   - slc_atom_i (32 bits): 32-bit semantic atom input
   
   OUTPUTS:
   - tl_o (TLUL): TL-UL device interface to crossbar
   - sgn_active_o (1 bit): SGN active status
   - sgn_blocking_o (1 bit): SGN blocking status
   - fault_detected_o (1 bit): Fault detection output
   - fault_addr_o (32 bits): Fault address output
   
   Parameters: None
   Integration Dependencies: None

3. AX BUFFER
   Component Name: ax_buffer.sv
   Relative Path: rtl/ax_buffer.sv
   File Size: 14,924 bytes
   Purpose: AX Buffer for semantic operations with TL-UL interface
   Module Type: memory_buffer
   
   Ports:
   =======
   INPUTS:
   - clk_i (1 bit): Clock input
   - rst_ni (1 bit): Reset input
   - tl_i (TLUL): TL-UL interface
   
   OUTPUTS:
   - tl_o (TLUL): TL-UL interface
   - buffer_full_o (1 bit): Buffer full status
   - buffer_ready_o (1 bit): Buffer ready status
   
   Parameters: None
   Integration Dependencies: None

===============================================================================
INTEGRATION POINTS (OpenTitan)
===============================================================================

TOP-LEVEL CONNECTIONS:
====================

1. TL-UL BUS MAPPING:
   - SLC subsystem mapped to TL-UL device 0 at base address 0x7000_8000
   - Host: u_xbar_main (main crossbar)
   - Device: u_slc_subsystem
   - Signals: tl_slc_h2d (host-to-device), tl_slc_d2h (device-to-host)

2. SIDEBAND CONNECTION:
   - Zero-latency semantic atom sideband from Ibex to SLC
   - Source: u_rv_core_ibex.slc_atom_o
   - Destination: u_slc_subsystem.slc_atom_i
   - Signal: slc_atom_wire (32-bit connection)

3. INTERRUPT INTEGRATION:
   - SLC fatal fault interrupt routed to PLIC
   - Source: u_slc_subsystem.intr_fatal_fault_o
   - Destination: u_rv_plic
   - Interrupt ID: 0 (highest priority)

===============================================================================
INTERFACE DEFINITIONS FOR SLC SUBSYSTEM
===============================================================================

SLC_SUBSYSTEM MODULE INTERFACE:
==========================

module slc_subsystem #(
    parameter int NrCommitPorts = 2,
    parameter int XLEN = 32
) (
    input  logic                 clk_i,
    input  logic                 rst_ni,
    input  tlul_pkg::tl_h2d_t    tl_i,
    output tlul_pkg::tl_d2h_t    tl_o,
    input  logic [31:0]          slc_atom_i,
    output logic                 intr_fatal_fault_o,
    output logic [0:0]           alert_tx_o
);

DESCRIPTION:
===========
Top-level wrapper providing complete SLC subsystem functionality with TL-UL register
interface, 32KB AX buffer window, and zero-latency semantic atom
sideband processing.

KEY FEATURES:
===========
- TileLink Uncached Lightweight (TL-UL) compliance
- 32-bit semantic atom processing with stall mechanism
- Configurable commit ports and register width
- Fatal fault interrupt generation
- Memory window for AX buffer operations
- Full OpenTitan comportability integration

===============================================================================
USAGE FOR SIGMANTIC AI MULTI-AGENT TESTING
===============================================================================

PRIMARY VERIFICATION TARGET:
=======================
Use this manifest as the authoritative interface definition for the slc_subsystem
module when configuring Sigmantic AI agents for multi-agent testing.

INTERFACE TESTING:
===============
- TL-UL protocol compliance verification
- Semantic atom format validation
- Interrupt generation testing
- Stall mechanism verification
- Register access pattern testing

AGENT CONFIGURATION:
===============
- Base address: 0x7000_8000
- Address map: As defined in slc_subsystem.hjson
- Expected atom format: 32-bit structured semantic atom
- Backpressure handling: slc_stall_i signal

===============================================================================
FILE DEPENDENCIES
===============================================================================

All RTL files are self-contained within this manifest. No external
dependencies required for basic functionality testing.

===============================================================================
MANIFEST METADATA
===============================================================================

Total Files: 3
Total Size: 34,456 bytes
Creation Tool: Manual
Integration Framework: OpenTitan Comportability
Protocol: 32BSA (32-Bit Semantic Atom)
Status: Production Ready

===============================================================================

END OF MANIFEST
