FuseSoC standard core library
Verilog
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ac97
adv_debug_sys
altera_virtual_jtag
cdc_utils
ddr2_1024
de0_nano-multicore
elf-loader
fifo
gpio
i2c
jtag_tap
jtag_vpi
mor1kx
n25q128a11e
ompic
or1k_bootloaders
simple_spi
stream_utils
timer
uart16550
verilog-arbiter
vlog_tb_utils
wb_altera_ddr_wrapper
wb_bfm
wb_common
wb_intercon
wb_ram
wb_sdram_ctrl
wb_streamer
yosys_cells
README.md

README.md

FuseSoC standard core library

This is the standard core library to be used with FuseSoC

Installation

This library will be automatically cloned to ~/.local/share/fusesoc/fusesoc-cores and added to fusesoc.conf when you run fusesoc init.

If you have a existing FuseSoC setup and the above does not work for you, please consider this alternative installation method. Use git to clone this repository and add it to your fusesoc.conf. For example in ~/.config/fusesoc/fusesoc.conf:

[main]
cores_root =
 /home/joe/work/fusesoc-cores
cache_root = /home/joe/work/fuse-cache
build_root = /home/joe/work/fuse-builds

Contributing

Cores for FuseSoC should follow the following guidelines.

  • No Code Please do not store code in fusesoc-cores. Please store your code in a separate repo or somewhere it can be fetched with the url provider.
  • If your core is really small please consider storing in the tiny-cores repo.
  • Stay Modern Use the modern sections in your core file like fileset and parameter, please no obsolete verilog sections. For details on migrating old cores to the current standard please refer to the FuseSoC migration guide.
  • Versioning Each core should be versioned with either
    • Versioned For cores where the upstream provider provides a release version, in git using tags is ideal, please use the corresponding release version.
    • Pseudo-versioned When an core's upstream provider is out of your control and does not use versions please use version 0 and point to a location which is unique for that revision (e.g. the sha for git repos or revision for svn repos instead of pointing to master, which might change over time). If you need to refer to a newer version of the upstream repo, still without a proper version, step the revision number (0-r1, 0-r2..etc).