Skip to content

Commit 835f371

Browse files
authored
Merge pull request #36 from PyFPGA/dev
PyFPGA was strongly rewritten, simplified.
2 parents 8283067 + 63fe9b4 commit 835f371

File tree

243 files changed

+4823
-10367
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+4823
-10367
lines changed

.btd.yml

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/workflows/doc.yml

Lines changed: 0 additions & 19 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: 'docs'
2+
3+
on:
4+
push:
5+
paths:
6+
- 'docs/**'
7+
- 'pyfpga/project.py'
8+
branches:
9+
- main
10+
- dev
11+
12+
jobs:
13+
docs:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
- name: Install dependencies
19+
run: pip install . && pip install sphinx sphinx-rtd-theme
20+
- name: Build documentation
21+
run: make docs
22+
- name: Deploy to GitHub Pages
23+
uses: peaceiris/actions-gh-pages@v4
24+
with:
25+
github_token: ${{ secrets.GITHUB_TOKEN }}
26+
publish_dir: docs/build/html

.github/workflows/lint.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,9 @@ jobs:
77
lint:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v2
10+
- name: Checkout repository
11+
uses: actions/checkout@v4
1112
- name: Install dependencies
12-
run: |
13-
pip install pycodestyle
14-
pip install pylint
15-
pip install .
16-
- name: Lint
17-
run: |
18-
pycodestyle fpga examples test
19-
pylint fpga
13+
run: pip install pycodestyle pylint
14+
- name: Run linting
15+
run: make lint

.github/workflows/pypi.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Publish Package to PyPI
2+
3+
on:
4+
push:
5+
tags:
6+
- '*.*.*'
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
- name: Set up Python
15+
uses: actions/setup-python@v5
16+
with:
17+
python-version: '3.12'
18+
- name: Install dependencies
19+
run: |
20+
python -m pip install --upgrade pip
21+
pip install setuptools wheel twine
22+
- name: Build package
23+
run: |
24+
python setup.py sdist bdist_wheel
25+
- name: Upload package to PyPI
26+
run: |
27+
twine upload dist/*
28+
env:
29+
TWINE_USERNAME: __token__
30+
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}

.github/workflows/test.yml

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,29 @@ on:
55

66
jobs:
77
test:
8-
runs-on: ubuntu-latest
98
strategy:
109
matrix:
11-
python-version: [3.6, 3.7, 3.8, 3.9]
10+
os: ['ubuntu', 'windows']
11+
pyver: ['3.8', '3.9', '3.10', '3.11', '3.12']
12+
exclude:
13+
- os: 'windows'
14+
pyver: '3.8'
15+
- os: 'windows'
16+
pyver: '3.9'
17+
- os: 'windows'
18+
pyver: '3.10'
19+
- os: 'windows'
20+
pyver: '3.11'
21+
runs-on: ${{ matrix.os }}-latest
22+
name: ${{ matrix.os }} | ${{ matrix.pyver }}
1223
steps:
13-
- uses: actions/checkout@v2
14-
- name: Set up Python ${{ matrix.python-version }}
15-
uses: actions/setup-python@v2
24+
- name: Checkout repository
25+
uses: actions/checkout@v4
26+
- name: Set up Python ${{ matrix.pyver }}
27+
uses: actions/setup-python@v5
1628
with:
17-
python-version: ${{ matrix.python-version }}
29+
python-version: ${{ matrix.pyver }}
1830
- name: Install dependencies
19-
run: |
20-
pip install pytest
21-
pip install .
22-
- name: Pull container images
23-
run: |
24-
docker pull hdlc/prjtrellis
25-
docker pull hdlc/ghdl:yosys
26-
docker pull hdlc/icestorm
27-
docker pull hdlc/nextpnr:ecp5
28-
docker pull hdlc/nextpnr:ice40
29-
- name: Test
30-
run: |
31-
pytest
32-
make -C examples
31+
run: pip install . && pip install pytest
32+
- name: Run tests
33+
run: make test

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
*build
22
ignore*
3+
results
34
venv
45
__pycache__
5-
*.egg-info
6-
_theme

.pylintrc

Lines changed: 0 additions & 16 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 0 additions & 90 deletions
This file was deleted.

LICENSE

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -619,56 +619,3 @@ Program, unless a warranty or assumption of liability accompanies a
619619
copy of the Program in return for a fee.
620620

621621
END OF TERMS AND CONDITIONS
622-
623-
How to Apply These Terms to Your New Programs
624-
625-
If you develop a new program, and you want it to be of the greatest
626-
possible use to the public, the best way to achieve this is to make it
627-
free software which everyone can redistribute and change under these terms.
628-
629-
To do so, attach the following notices to the program. It is safest
630-
to attach them to the start of each source file to most effectively
631-
state the exclusion of warranty; and each file should have at least
632-
the "copyright" line and a pointer to where the full notice is found.
633-
634-
PyFPGA
635-
Copyright (C) 2019 Rodrigo Alejandro Melo
636-
637-
This program is free software: you can redistribute it and/or modify
638-
it under the terms of the GNU General Public License as published by
639-
the Free Software Foundation, either version 3 of the License, or
640-
(at your option) any later version.
641-
642-
This program is distributed in the hope that it will be useful,
643-
but WITHOUT ANY WARRANTY; without even the implied warranty of
644-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645-
GNU General Public License for more details.
646-
647-
You should have received a copy of the GNU General Public License
648-
along with this program. If not, see <http://www.gnu.org/licenses/>.
649-
650-
Also add information on how to contact you by electronic and paper mail.
651-
652-
If the program does terminal interaction, make it output a short
653-
notice like this when it starts in an interactive mode:
654-
655-
PyFPGA Copyright (C) 2019 Rodrigo Alejandro Melo
656-
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657-
This is free software, and you are welcome to redistribute it
658-
under certain conditions; type `show c' for details.
659-
660-
The hypothetical commands `show w' and `show c' should show the appropriate
661-
parts of the General Public License. Of course, your program's commands
662-
might be different; for a GUI interface, you would use an "about box".
663-
664-
You should also get your employer (if you work as a programmer) or school,
665-
if any, to sign a "copyright disclaimer" for the program, if necessary.
666-
For more information on this, and how to apply and follow the GNU GPL, see
667-
<http://www.gnu.org/licenses/>.
668-
669-
The GNU General Public License does not permit incorporating your program
670-
into proprietary programs. If your program is a subroutine library, you
671-
may consider it more useful to permit linking proprietary applications with
672-
the library. If this is what you want to do, use the GNU Lesser General
673-
Public License instead of this License. But first, please read
674-
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

0 commit comments

Comments
 (0)