Skip to main content

FuseSoC is a package manager and a set of build tools for HDL (Hardware Description Language) code.

Project description

Introduction

FuseSoC is a package manager and a set of build tools for HDL (Hardware Description Language) code.

Its main purpose is to increase reuse of IP (Intellectual Property) cores and be an aid for creating, building and simulating SoC solutions.

The package manager part can be seen as an apt, portage, yum, dnf, pacman for FPGA (Field-Programmable Gate Array)/ASIC (Application-Specific Integrated Circuit) IP cores. A simple ini file describes mainly which files the IP core contains, which other IP cores it depends on and where FuseSoC shall fetch the code.

A collection of cores together with a top-level is called a system, and systems can be simulated or passed through the FPGA vendor tools to build a loadable FPGA image.

Currently FuseSoc supports simulations with ModelSim, Icarus Verilog, Verilator, Isim and Xsim. It also supports building FPGA images with Xilinx ISE and Altera Quartus

Cores

FuseSoC does not contain any RTL (Register-Transfer Level) code or core description files. The official repository for FuseSoC compatible cores is https://github.com/openrisc/orpsoc-cores

Quick start

Install from PyPi:

sudo pip install fusesoc

FuseSoC should now be installed. Next step is to download the standard IP core library (orpsoc-cores). Create a new directory that will be used as a workspace directory for building and simulating cores. Enter the newly created directory and run

fusesoc init

Test your installation by running fusesoc list-cores. This should return the list of cores that FuseSoC has found.

If you have any of the supported simulators installed, you can try to run a simulation on one of the cores as well. For example, fusesoc sim –sim=icarus wb_sdram_ctrl will run a regression test on the core wb_sdram_ctrl with icarus verilog. If you also have Altera Quartus installed, you can try to build an example system - for example, fusesoc build de0_nano.

fusesoc –help will give you more information on commands and switches.

Further reading

A few tutorials using FuseSoC are available, but they are unfortunately all written before FuseSoC was renamed from orpsocv3:

http://web.archive.org/web/20150208222518/http://elec4fun.fr/2011-03-30-10-16-30/2012-08-22-20-50-31/or1200-barebox-on-de1 http://www.rs-online.com/designspark/electronics/eng/blog/booting-linux-on-a-de0-nano-with-orpsoc

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fusesoc-1.4.dev1.tar.gz (28.5 kB view details)

Uploaded Source

File details

Details for the file fusesoc-1.4.dev1.tar.gz.

File metadata

  • Download URL: fusesoc-1.4.dev1.tar.gz
  • Upload date:
  • Size: 28.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fusesoc-1.4.dev1.tar.gz
Algorithm Hash digest
SHA256 2701fb4c6528511a935caf4e1a5124bfc7259740f4df06b325eccbccb39ba5f5
MD5 2964f0e2b4e3254d5de7dcc999462382
BLAKE2b-256 858d5ce96e00fa4d01367ace635c8b6d0c7d0daaa78c497b841a76277b398d42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page