Skip to content

Commit 96ba32c

Browse files
stffrdhrnolofk
authored andcommitted
readme: Updates for installation and contributing
This is based on the discussion with Olof during a few different pull requests.
1 parent afa5f2e commit 96ba32c

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

README.md

+43
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,46 @@ FuseSoC standard core library
22
=============================
33

44
This is the standard core library to be used with [FuseSoC](https://github.com/olofk/fusesoc)
5+
6+
### Installation
7+
8+
This library will be automatically cloned to `~/.local/share/fusesoc/fusesoc-cores`
9+
and added to `fusesoc.conf` when you run `fusesoc init`.
10+
11+
If you have a existing FuseSoC setup and the above does not work for you,
12+
please consider this alternative installation method. Use git to clone
13+
this repository and add it to your `fusesoc.conf`. For example in
14+
`~/.config/fusesoc/fusesoc.conf`:
15+
16+
```
17+
[main]
18+
cores_root =
19+
/home/joe/work/fusesoc-cores
20+
cache_root = /home/joe/work/fuse-cache
21+
build_root = /home/joe/work/fuse-builds
22+
```
23+
24+
### Contributing
25+
26+
Cores for FuseSoC should follow the following guidelines.
27+
28+
- **No Code** Please do not store code in `fusesoc-cores`. Please store
29+
your code in a separate repo or somewhere it can be fetched with the
30+
`url` provider.
31+
- If your core is really small please consider storing in the
32+
[tiny-cores](http://github.com/fusesoc/tiny-cores) repo.
33+
- **Stay Modern** Use the modern sections in your core file like `fileset`
34+
and `parameter`, please no obsolete `verilog` sections. For details on
35+
migrating old cores to the current standard please refer to the
36+
[FuseSoC migration guide](https://github.com/olofk/fusesoc/blob/master/doc/migrations.adoc).
37+
- **Versioning** Each core should be versioned with either
38+
- **Versioned** For cores where the upstream provider provides a release
39+
version, in git using tags is ideal, please use the corresponding
40+
release version.
41+
- **Pseudo-versioned** When an core's upstream provider is out of your
42+
control and does not use versions please use version `0` and point to
43+
a location which is unique for that revision (e.g. the sha for git
44+
repos or revision for svn repos instead of pointing to master, which
45+
might change over time). If you need to refer to a newer version of
46+
the upstream repo, still without a proper version, step the revision
47+
number (`0-r1`, `0-r2`..etc).

0 commit comments

Comments
 (0)