Giter VIP home page Giter VIP logo

fusesoc's Introduction

FuseSoC

Introduction

FuseSoC is a package manager and a set of build tools for HDL code.

It's main purpose is to increase reuse of IP 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/ASIC 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 and Verilator. It also supports building FPGA images with Xilinx ISE and Altera Quartus

Cores

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

Quick start

Install by cloning the repo. cd into fusesoc and run: autoreconf -i && ./configure && make sudo make install 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://www.elec4fun.fr/2011-03-30-10-16-30/2012-08-22-20-50-31/or1200-barebox-on-de1 ( http://designandmake.designspark.com/blog/booting-linux-on-a-de0-nano-with-orpsoc

fusesoc's People

Contributors

olofk avatar fjullien avatar skristiansson avatar bluecmd avatar yanidubin avatar veprbl avatar limb avatar

Stargazers

Brian J. Bartlett avatar Dobrica Pavlinušić avatar

Watchers

Dobrica Pavlinušić avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.