Software
Industry leading RISC-V Processors demand innovative software and tool solutions.
Software
Everything you’d expect…
And some things you didn’t.
SiFive Freedom Studio
Freedom Studio is the fastest way to get started with software development on SiFive RISC-V processors. It is optimized for productivity and usability; your pre/post-silicon and software development teams will have all the tools necessary to write and optimize the best software, identify tough to find hot-spots, and eliminate the toughest bugs with ease. Built on the popular Eclipse IDE, Freedom Studio is packaged with the latest plugins, tools, and viewers, providing software developers crucial insight to the heart of your SoC - the Processor. Get the most performance out of your software running on Simulation Models, FPGA, an Instruction Set Simulator or HiFive Development Boards.
- Executables for x86_64 computers running Windows, mac OS or Linux Operating Systems
- ASM/C/C++ Software Development Environment
- SiFive Insight (Debug/Trace) Graphical Viewer
- Integrated Serial Terminal and Semihosting
- Performance Profiling Tools and Pipeline Viewer
- ELF and GNU-Linux Cross Toolchains

Download
Freedom SDK for Linux
Freedom SDK for Linux is a reference distribution based on Yocto and OpenEmbedded, enabling easy extension and customization based on the popular layer and recipe approach. Focused on software developers and optimized for SiFive RISC-V Application processors,the kernel and rootfs is configured for those building and tuning Linux libraries and applications. Open-source software is a key part of our culture and success. While new RISC-V extension and feature support is making its way upstream, Freedom SDK for Linux takes the hassle out of hunting for patches, integrating and testing them for use on SiFive RISC-V processors.
- Pre-built disk image gets developers up and running in minutes
- Build targets for SiFive Reference Platforms, HiFive Developer Boards, SiFive Functional Models and Freedom Tools QEMU (System Mode and User Mode)
- Source package (and recipe including bootloaders and OpenSBI) enables extending with your own layers
- Pre-built with the latest SiFive toolsuite included in the rootfs
- Demo programs highlighting key features and functionality
SiFive Freedom SDK for Metal
Freedom SDK for Metal is a reference ASM/C/C++ bare-metal and RTOS runtime environment for exploring the RISC-V programmers’ interfaces. Supporting every SiFive Processor, the Metal SDK is built on a modular architecture that can easily be decomposed to fit pieces into your SoC software package, and it also makes a great baseline for migrating code from legacy architectures. Including industry standard benchmarks, example programs, and the FreeRTOS kernel, everything you need to start writing software for SiFive RISC-V processors is included.
- Build targets for RTL simulation (Synopsys VCS), SiFive Models, SiFive Reference Platforms, HiFive Developer Boards and QEMU
- Supports GCC and LLVM toolchains
- Based on the CMake build system
- Imports directly into SiFive Freedom Studio
- Easily integrates SiFive Performance Libraries
SiFive Freedom Tools
Freedom Tools keep developers focused on writing software and not building the infrastructure and utilities needed for it. For those wanting the flexibility to work in their preferred environment (VSCode, Vim Emacs, Notepad++, <<name your favorite editor here>>), these pre-built command line tools take the hassle out of building from source. Just extract, set an environment variable, and start coding.
- Executables for x86_64 computers running Windows, mac OS or Linux Operating Systems
- SiFive Auto-Vectorizing Toolsuite (LLVM and GCC)
- SiFive Recode - Automatic translation from SIMD to RISC-V Vectors
- QEMU (SystemMode and UserMode)
- Trace Decoder

Download
SiFive Kernel Library
SiFive Kernel Library (SKL) is a set of tuned routines that maximize algorithm throughput on SiFive Processors. This is key when designing high performance or low power applications - getting the maximum CPU utilization by implementing the best algorithm for the microarchitecture. These libraries seamlessly integrate with the Freedom SDK for Metal and Linux and demonstrate the art of possible, achieving near theoretical performance high performance workloads. SKL incudes libraries for:
- Neural Networks (Tensor Definitions, Activation Fusion Types, Common Operator Attributes, Tensor Operations, Helper Functions)
- Linear Algebra (Matrix Multiplication, LU Factorization, System Solvers)
- Signal Processing (Complex and Real FFTs)
- Non Linear Functions (Exponential, Logarithm, Sine/Cosine, Hyperbolic Tangent)

Download
SiFive Models
SiFive Models are a versatile solution to difficult problems in SoC design. Meeting the needs of verification, integration, and system software teams, Cycle and Functional models are an important part of reducing the total time to market. Incorporating SystemC and TLM 2.0 compliant interfaces - whether you are looking for tuning microkernels for SiFive Processors or migrating a large software stack from one generation product’s legacy architectures to another - development teams have the tools necessary to shift-left software development timelines.
- Cycle Model - High accuracy, transaction-based, and up to 10x times faster than RTL simulation
- Signal extraction for Pipeline Visualization in Freedom Studio
- Functional Model - Instruction-accurate, programmer’s view and ultra-fast execution (limited by host computer) for rapid software bring up, integration and regression.
- Top-level virtual platform for standalone use of SiFive Processors
- SystemC and TLM 2.0 interfaces for integration with your top-level SoC design
