Skip to content

Commit afa999b

Browse files
committed
Initial import of SymbiFlow structure
0 parents  commit afa999b

File tree

14 files changed

+657
-0
lines changed

14 files changed

+657
-0
lines changed

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
__pycache__/
2+
*.pyc
3+
/user_environment.sh
4+
ispTcl.log
5+
ispTcl.log.*
6+
ispTcl.tcl
7+
ispTcl.tcl.*
8+
.ispTcl.lock
9+
work_*/

CODE_OF_CONDUCT.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
## Our Standards
8+
9+
Examples of behavior that contributes to creating a positive environment include:
10+
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
16+
17+
Examples of unacceptable behavior by participants include:
18+
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
24+
25+
## Our Responsibilities
26+
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28+
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [[email protected]](mailto:[email protected]). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38+
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40+
41+
## Attribution
42+
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44+
45+
[homepage]: http://contributor-covenant.org
46+
[version]: http://contributor-covenant.org/version/1/4/

CONTRIBUTING.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Contributing to Project Tang
2+
3+
There are a couple of guidelines when contributing to Project Tang which are
4+
listed here.
5+
6+
### Sending
7+
8+
All contributions should be sent as
9+
[GitHub Pull requests](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
10+
11+
### License
12+
13+
All code in the Project Tang repository is licensed under the very permissive
14+
[ISC Licence](COPYING). A copy can be found in the [`COPYING`](COPYING) file.
15+
16+
All new contributions must also be released under this license.
17+
18+
### Code of Conduct
19+
20+
By contributing you agree to the [code of conduct](CODE_OF_CONDUCT.md). We
21+
follow the open source best practice of using the [Contributor
22+
Covenant](https://www.contributor-covenant.org/) for our Code of Conduct.
23+
24+
### Sign your work
25+
26+
To improve tracking of who did what, we follow the Linux Kernel's
27+
["sign your work" system](https://github.com/wking/signed-off-by).
28+
This is also called a
29+
["DCO" or "Developer's Certificate of Origin"](https://developercertificate.org/).
30+
31+
**All** commits are required to include this sign off and we use the
32+
[Probot DCO App](https://github.com/probot/dco) to check pull requests for
33+
this.
34+
35+
The sign-off is a simple line at the end of the explanation for the
36+
patch, which certifies that you wrote it or otherwise have the right to
37+
pass it on as a open-source patch. The rules are pretty simple: if you
38+
can certify the below:
39+
40+
Developer's Certificate of Origin 1.1
41+
42+
By making a contribution to this project, I certify that:
43+
44+
(a) The contribution was created in whole or in part by me and I
45+
have the right to submit it under the open source license
46+
indicated in the file; or
47+
48+
(b) The contribution is based upon previous work that, to the best
49+
of my knowledge, is covered under an appropriate open source
50+
license and I have the right under that license to submit that
51+
work with modifications, whether created in whole or in part
52+
by me, under the same open source license (unless I am
53+
permitted to submit under a different license), as indicated
54+
in the file; or
55+
56+
(c) The contribution was provided directly to me by some other
57+
person who certified (a), (b) or (c) and I have not modified
58+
it.
59+
60+
(d) I understand and agree that this project and the contribution
61+
are public and that a record of the contribution (including all
62+
personal information I submit with it, including my sign-off) is
63+
maintained indefinitely and may be redistributed consistent with
64+
this project or the open source license(s) involved.
65+
66+
then you just add a line saying
67+
68+
Signed-off-by: Random J Developer <[email protected]>
69+
70+
using your real name (sorry, no pseudonyms or anonymous contributions.)
71+
72+
73+
74+
75+
76+
77+
----
78+
79+
This file is generated from [README.md](README.md), please edit that file then
80+
run the `./.update-contributing.py`.
81+

COPYING

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Copyright (C) 2018 The Project Tang Authors. All rights reserved.
2+
3+
Permission to use, copy, modify, and/or distribute this software for any
4+
purpose with or without fee is hereby granted, provided that the above
5+
copyright notice and this permission notice appear in all copies.
6+
7+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Project Tang
2+
3+
## For FPGA Toolchain Users
4+
5+
Project Tang enables a fully open-source flow for ECP5 FPGAs using [Yosys](https://github.com/YosysHQ/yosys)
6+
for Verilog synthesis and [nextpnr](https://github.com/YosysHQ/nextpnr) for place and route.
7+
Project Tang itself provides the device database and tools for bitstream creation.
8+
9+
### Getting Started
10+
11+
### Current Status
12+
13+
### Development Boards
14+
15+
## For Developers
16+
17+
This repository contains both tools and scripts which allow you to document the
18+
bit-stream format of Anlogic series FPGAs.
19+
20+
### Quickstart Guide
21+
22+
## Process
23+
24+
### Parts
25+
26+
#### [Minitests](minitests)
27+
28+
There are also "minitests" which are small tests of features used to build fuzers.
29+
30+
#### [Fuzzers](fuzzers)
31+
32+
Fuzzers are the scripts which generate the large number of bitstream.
33+
34+
They are called "fuzzers" because they follow an approach similar to the
35+
[idea of software testing through fuzzing](https://en.wikipedia.org/wiki/Fuzzing).
36+
37+
#### [Tools](tools)
38+
39+
Miscellaneous tools for exploring the database and experimenting with bitstreams.
40+
41+
#### [Util](util)
42+
43+
Python libraries used for fuzzers and other purposes
44+
45+
### Database
46+
47+
Running the all fuzzers in order will produce a database which documents the
48+
bitstream format in the [database](database) directory.
49+
50+
## Credits
51+
52+
## Contributing
53+
54+
There are a couple of guidelines when contributing to Project Tang which are
55+
listed here.
56+
57+
### Sending
58+
59+
All contributions should be sent as
60+
[GitHub Pull requests](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
61+
62+
### License
63+
64+
All code in the Project Tang repository is licensed under the very permissive
65+
[ISC Licence](COPYING). A copy can be found in the [`COPYING`](COPYING) file.
66+
67+
All new contributions must also be released under this license.
68+
69+
### Code of Conduct
70+
71+
By contributing you agree to the [code of conduct](CODE_OF_CONDUCT.md). We
72+
follow the open source best practice of using the [Contributor
73+
Covenant](https://www.contributor-covenant.org/) for our Code of Conduct.

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_build

docs/Makefile

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
SPHINXAUTOBUILD = sphinx-autobuild
8+
SPHINXPROJ = ProjectX-Ray
9+
SOURCEDIR = .
10+
BUILDDIR = _build
11+
12+
# Put it first so that "make" without argument is like "make help".
13+
help:
14+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
15+
16+
livehtml:
17+
@$(SPHINXAUTOBUILD) -b html --ignore \*.swp --ignore \*~ $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html"
18+
19+
.PHONY: help livereload Makefile
20+
21+
# Catch-all target: route all unknown targets to Sphinx using the new
22+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
23+
%: Makefile
24+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
Bitstream format
2+
================
3+
4+
Basic Structure
5+
----------------
6+

0 commit comments

Comments
 (0)