Skip to main content
SLAC National Accelerator Laboratory
ISDCIIntegrated Scientific and Data-intensive Computing
  • Initiative Areas
    • Shared Science Data Facility
    • AI/ML
    • Edge to Exascale
      • S3AI - SLAC Streaming Sandbox For AI
      • SNL – SLAC Neural Network Library
      • The SLAC Rogue Software Platform
      • SURF - SLAC Ultimate RTL Framework
  • Research & Development

Breadcrumb

  1. Home
  2. Initiative Areas
  3. Edge To Exascale Integration
  4. …
Facebook Share X Post LinkedIn Share Email Send
  • Shared Science Data Facility
  • AI/ML
  • Edge to Exascale
    • S3AI - SLAC Streaming Sandbox For AI
    • SNL – SLAC Neural Network Library
    • The SLAC Rogue Software Platform
    • SURF - SLAC Ultimate RTL Framework

The SLAC Rogue Software Platform

Rogue is a modular software framework developed at SLAC to manage high-performance data acquisition, configuration, and control systems for scientific instruments. It provides a Python-based abstraction layer that allows developers and operators to interface seamlessly with complex hardware such as FPGAs, ASICs, and high-speed DAQ devices. By unifying register access, data streaming, and system configuration under a single API, Rogue enables rapid development of custom DAQ and control applications that scale from benchtop tests to full experimental deployments. Its layered architecture allows users to integrate custom device drivers, implement hardware-specific logic, and connect to analysis pipelines in real time, ensuring flexibility, performance, and maintainability across diverse instrumentation projects at SLAC and collaborating facilities.

Key Features

  • Modular Architecture: Supports plug-in device trees and reusable components for different hardware platforms.
  • Python Integration: Provides a high-level Python API for scripting, control, and integration with scientific workflows (e.g., PyDM, EPICS, or Jupyter).
  • Unified Register Access: Abstracts low-level hardware interfaces for coherent register maps across different communication protocols (PCIe, Ethernet, AXI, etc.).
  • High-Speed Data Streaming: Enables direct data movement using DMA engines, ZMQ, or custom streaming backends.
  • Device Emulation and Simulation: Allows software development and testing without physical hardware.
  • Dynamic Configuration: XML and YAML-based configuration management with runtime reconfiguration capabilities.
  • Cross-Platform Deployment: Runs on embedded SoCs, Linux servers, and lab control systems with minimal modification.
  • Community and Ecosystem Support: Widely used across SLAC experiments and compatible with the pyrogue and surf libraries for end-to-end DAQ system development.

Rogue Links

  • Github Repo: https://github.com/slaclab/rogue

  • Documentation: https://slaclab.github.io/rogue/

ISDCI | Integrated Scientific and Data-intensive Computing
2575 Sand Hill Road
Menlo Park, CA 94025
  • Coming to SLAC
  • Contact ISDCI
    • isdci@slac.stanford.edu
  • Facebook
  • Twitter
  • Instagram
  • Flickr
  • Youtube
  • LinkedIn
  • Staff portal
  • Privacy policy
  • Accessibility
  • Vulnerability disclosure
SLAC
  • SLAC home
  • Maps & directions
  • Emergency info
  • Careers

© 2025 SLAC National Accelerator Laboratory is operated by Stanford University for the U.S. Department of Energy Office of Science.

Stanford University U.S. Department of Energy
Top Top
Back to top Back to top