Software

Give your teams the tools they need to innovate with RISC-V technology.

Software

Six ways to accelerate and enhance your RISC-V development.


SiFive Freedom Studio

Give your teams the fastest way to get started with software development on SiFive RISC-V processors. Freedom Studio is optimized for productivity and usability, giving your pre/post-silicon and software development teams all the tools they need to write and optimize the best software, identify hard-to-find hotspots, 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 your software developers with crucial insight to the heart of your SoC—the processor. Maximize performance of your software running on simulation models, FPGA, an instruction set simulator, or HiFive development boards.

  • Executables for x86_64 computers running Windows, macOS, 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

Freedom SDK for Linux

Enable easy extension and customization based on the popular layer and recipe approach. Freedom SDK for Linux is a reference distribution based on Yocto and OpenEmbedded. Focused on software developers and optimized for SiFive RISC-V application processors,the kernel and rootfs is configured for anyone who builds and tunes 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 them, 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 RISC-V programmers’ interfaces. Supporting every SiFive processor, the Metal SDK is built on a modular architecture that you can easily decompose to fit pieces into your SoC software package. It also makes a great baseline for migrating code from legacy architectures. Everything you need to start writing software for SiFive RISC-V processors is included: industry-standard benchmarks, example programs, and the FreeRTOS kernel.

  • 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

Keep your developers focused on writing software—not building the infrastructure and utilities behind it. For your team members who want the flexibility to work in their preferred environment (such as VSCode, Vim Emacs, Notepad++, or your favorite editor), Freedom Tools provides pre-built command line tools that take the hassle out of building from source. Just extract, set an environment variable, and start coding.

  • Executables for x86_64 computers running Windows, macOS, 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

SiFive Kernel Library

SiFive Kernel Library (SKL) is a set of tuned routines that maximize algorithm throughput on SiFive Processors. This is key when you’re designing high-performance or low-power applications—you get the maximum CPU utilization by implementing the best algorithm for the microarchitecture. These libraries seamlessly integrate with Freedom SDK for Metal and Linux and demonstrate the art of possible, achieving near-theoretical performance in high-performance workloads. SKL includes 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)

SiFive Models

Find a versatile solution to the most difficult problems in SoC design. Because they meet the needs of verification, integration, and system software teams, cycle and functional models are an important part of reducing total time to market. 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, SiFive Models incorporate SystemC and TLM 2.0 compliant interfaces to give your development teams the tools to shift-left software development timelines.

  • Cycle model: High-accuracy, transaction-based, and up to 10 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