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

SURF - SLAC Ultimate RTL Framework

The SLAC Ultimate RTL Framework (SURF) is a firmware framework that has been developed by SLAC National Accelerator Laboratory. It is a substantial VHDL library, built upon more than 10 years of development. It finds extensive utilization in AMD/Xilinx FPGAs and custom digital ASIC designs. The framework comprises VHDL-based intellectual properties (IPs) for commonly implemented modules. It has been widely adopted by numerous experiments and applications. SURF is open source and published on Github..

Problem trying to solve:
 
  • "The devil created graphical programming" -Wirth's Law
  • Vendor IP cores difficult to work with and reconfigure
    • Need to open toolchain and use GUI
  • Vendor IP cores are not cross-platform
  • Using IP cores for base blocks guarantees you will never be able to reuse them elsewhere, even in the same toolchain
Solution:
 
  • “Real code is better!” - Ben Reese (SLAC)
  • Wanted pure VHDL implementation of library modules with Generics to control configuration
    • RAMs, FIFOs, Everything!
  • Toolchains infer (e.g. Block RAMs) for cross platform VHDL

     

What is “SURF”?
 
  • Acronym for SLAC Ultimate RTL Framework (SURF)
    • Open-source VHDL framework for rapid FPGA/ASIC development using common generic, extensible libraries
  • Published on Github:
    • https://github.com/slaclab/surf
  • Over 13 years of cumulative development
    • 1st commit on Wed Jun 9 23:05:52 2010
  • More than >7k commits and >1k pull requests from both SLAC and non-SLAC developers
  • Maintained and managed by SLAC
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