@@ -2,3 +2,46 @@ FuseSoC standard core library
2
2
=============================
3
3
4
4
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