Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manual rewrite and presentation merge #3907

Merged
merged 115 commits into from
Mar 18, 2024
Merged
Show file tree
Hide file tree
Changes from 107 commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
4f1cd66
New structure headings
KrystalDelusion Aug 2, 2023
045c040
Reorganising documentation
KrystalDelusion Aug 2, 2023
cd6e63e
Moved presentation_prog
KrystalDelusion Aug 2, 2023
20c2708
Move presentation intro example
KrystalDelusion Aug 2, 2023
9a9aa2c
Finished presentation intro
KrystalDelusion Aug 2, 2023
2c75b10
Include test suites doc with note
KrystalDelusion Aug 2, 2023
4b40372
Tidy/reflow some things
KrystalDelusion Aug 2, 2023
330a227
Converting PRESENTATION_ExSyn
KrystalDelusion Aug 3, 2023
7ab0517
Add copypaste reminder for typical_phases.rst
KrystalDelusion Aug 6, 2023
8ade218
Move (most of) ExOth and ExAdv slides
KrystalDelusion Aug 7, 2023
afc25af
Minor tidying
KrystalDelusion Aug 7, 2023
ce9e56d
Move the last presentation slides
KrystalDelusion Aug 7, 2023
d8b8880
Convert todo comments to directives
KrystalDelusion Aug 7, 2023
8203a01
Adding custom domain for cmdref
KrystalDelusion Aug 7, 2023
9fcf353
Makefile adjustments to match top make
KrystalDelusion Aug 7, 2023
f8333e5
cmd links use title text
KrystalDelusion Aug 8, 2023
685da6a
Converting a number of inline commands to refs
KrystalDelusion Aug 8, 2023
e2c0f8f
Some tidy up
KrystalDelusion Aug 14, 2023
aad8a3b
Rearrange command ordering and model checking
KrystalDelusion Aug 27, 2023
70c4769
Updating todo text and assorted fixes
KrystalDelusion Aug 27, 2023
93c9bf2
docs: Updating todos
KrystalDelusion Sep 18, 2023
10ecbe9
docs: updating memory mapping text
KrystalDelusion Sep 18, 2023
98d0e74
Merge updates from 'master' into krys/docs
KrystalDelusion Sep 18, 2023
b0f8059
Moving images and static folders
KrystalDelusion Oct 9, 2023
a019c26
docs: Moving 011 into main body of manual
KrystalDelusion Oct 9, 2023
9e35848
docs: initial 011 selections move
KrystalDelusion Oct 9, 2023
c61ab7d
docs: Tidying interactive investigation
KrystalDelusion Oct 10, 2023
8335044
docs: reflowing selections doc
KrystalDelusion Oct 10, 2023
ebcbb94
Fixing makefile
KrystalDelusion Oct 11, 2023
5a7a7b3
Fix make clean
KrystalDelusion Oct 11, 2023
17749ce
docs: absolute cmd directory
KrystalDelusion Oct 16, 2023
abd9222
Replace 010 and 012 with pdf
KrystalDelusion Oct 29, 2023
a1c3755
Fix typo
KrystalDelusion Oct 29, 2023
e49903f
List all synth commands on synth page
KrystalDelusion Oct 29, 2023
d4e45cd
docs: Stub new(er) auxlibs and auxprogs
KrystalDelusion Oct 29, 2023
74c1fc1
docs: Reference chapters with doc tag
KrystalDelusion Oct 30, 2023
8e07030
docs: update auxiliary programs
KrystalDelusion Oct 31, 2023
2b10bd5
docs: update images makefile
KrystalDelusion Oct 31, 2023
8fad77b
Merge branch 'master' into krys/docs
KrystalDelusion Nov 1, 2023
a283595
docs: call make resources before make all
KrystalDelusion Nov 1, 2023
3d70867
docs: remove synth_machxo2, add _lattice
KrystalDelusion Nov 13, 2023
dbc38d7
docs: moving code examples
KrystalDelusion Nov 13, 2023
b6e61c1
docs: restructuring images directory
KrystalDelusion Nov 14, 2023
2b270b2
docs: Tidying image generation
KrystalDelusion Nov 15, 2023
bb7ebec
guidelines: fix paths to moved files
KrystalDelusion Nov 15, 2023
0fb5119
docs: more tidying
KrystalDelusion Nov 15, 2023
a8b2525
typical phases: Expand/split sections
KrystalDelusion Dec 4, 2023
bad8dba
Correcting plurals
KrystalDelusion Dec 4, 2023
f9ce3d1
WIP merging synth phases with example
KrystalDelusion Dec 7, 2023
1e3b90a
Removing typical phases doc
KrystalDelusion Dec 7, 2023
aef9921
Tidying TODOs
KrystalDelusion Dec 7, 2023
25f6a98
Updating the intro
KrystalDelusion Dec 7, 2023
f949579
Testing latexpdf build
KrystalDelusion Dec 7, 2023
4ecceae
Updates to install and tests
KrystalDelusion Dec 10, 2023
e34a25e
TODOs
KrystalDelusion Dec 11, 2023
1733a76
Updated ABC info
KrystalDelusion Dec 12, 2023
7f24ef3
Add todo
KrystalDelusion Dec 12, 2023
afe8eff
Merge updated master into krys/docs
KrystalDelusion Dec 12, 2023
f44e8d0
Working on extensions doc
KrystalDelusion Dec 12, 2023
3a153f9
Add cell_libs.rst
KrystalDelusion Dec 13, 2023
6d1caf6
Initial synth_ice40 example
KrystalDelusion Dec 13, 2023
80c78aa
New example_synth code
KrystalDelusion Dec 14, 2023
742ec78
Switching example synth to fifo
KrystalDelusion Dec 18, 2023
a33b1b6
More work on example_synth
KrystalDelusion Dec 18, 2023
50d8c1b
First pass example_synth done
KrystalDelusion Dec 20, 2023
9f1c445
docs: work on example_synth
KrystalDelusion Jan 2, 2024
3e653fe
docs: more on wreduce in synth starter
KrystalDelusion Jan 3, 2024
e6f8804
example_synth: more on DSP mapping
KrystalDelusion Jan 8, 2024
eb5da87
example_synth: hardware mapping
KrystalDelusion Jan 8, 2024
064723a
example_synth: tidying
KrystalDelusion Jan 13, 2024
a3255fd
Docs: opt_rmunused -> opt_clean
KrystalDelusion Jan 13, 2024
12fa443
example_synth: more on hierarchy and stat
KrystalDelusion Jan 13, 2024
3360c61
Docs: remove hanging reference
KrystalDelusion Jan 13, 2024
9eab5d8
Updated Yosys family
KrystalDelusion Jan 14, 2024
9fe3dcd
Docs: optimization passes
KrystalDelusion Jan 15, 2024
646ff6d
Docs: interactive investigation
KrystalDelusion Jan 15, 2024
5a4c2e5
example_synth: proc and opt_expr
KrystalDelusion Jan 16, 2024
aa652f9
Docs: fix scripting_intro.rst images
KrystalDelusion Jan 16, 2024
14f2208
Docs: opt_expr
KrystalDelusion Jan 16, 2024
63a0f80
Docs: opt_share
KrystalDelusion Jan 16, 2024
27ae093
Docs: working on opt page
KrystalDelusion Jan 16, 2024
93ceda5
Docs: auxlibs
KrystalDelusion Jan 17, 2024
74d2c91
Docs: installation/source tree
KrystalDelusion Jan 18, 2024
14b7c58
Docs: reworking scripting_intro
KrystalDelusion Jan 18, 2024
794ad38
Docs: scripting_intro/show_intro
KrystalDelusion Jan 21, 2024
65bb0d3
Docs: updating to current 'master'
KrystalDelusion Jan 21, 2024
9ec1536
Docs: getting_started tidy
KrystalDelusion Jan 21, 2024
e63f1f5
Docs: merge CI fix
KrystalDelusion Jan 23, 2024
95849ed
Docs: changes from JF
KrystalDelusion Jan 23, 2024
6c8949c
Docs: static opt macro list
KrystalDelusion Jan 23, 2024
449135a
Docs: adding other macro command lists
KrystalDelusion Jan 23, 2024
9b82010
Docs: add test-docs.yml
KrystalDelusion Jan 23, 2024
e10d9b1
Remove python dep from test-docs
KrystalDelusion Jan 24, 2024
57a7532
Docs: add test-examples target
KrystalDelusion Jan 24, 2024
bb4d690
Docs: can we re-use build artifacts?
KrystalDelusion Jan 24, 2024
4ac983e
test-docs: Checkout Yosys
KrystalDelusion Jan 24, 2024
2a14c72
test-docs: target examples directly
KrystalDelusion Jan 24, 2024
62d2f89
Revert artifact reuse
KrystalDelusion Jan 24, 2024
6e38848
Docs: updating makefiles
KrystalDelusion Jan 24, 2024
4582ab5
Docs: intro to memory_libmap
KrystalDelusion Jan 25, 2024
e2e7065
Docs: some restructure of advanced section
KrystalDelusion Jan 26, 2024
22808e0
Docs: work on selections.rst
KrystalDelusion Jan 26, 2024
a7e1c6e
codeowners: adopting docs folder
KrystalDelusion Jan 26, 2024
9878e69
Docs: tidying
KrystalDelusion Jan 30, 2024
fd0c574
Docs: changes/todos from JF
KrystalDelusion Jan 30, 2024
fae35fe
Docs: example_synth fifo update
KrystalDelusion Jan 30, 2024
9eed04d
Docs: Note on debug for memory_libmap
KrystalDelusion Feb 5, 2024
3596025
docs: Remove TODOs from output
KrystalDelusion Mar 4, 2024
1455941
Merge branch 'master' into krys/docs
KrystalDelusion Mar 4, 2024
3635f91
Docs: Updates from @povik comments
KrystalDelusion Mar 4, 2024
bc9ccca
docs: Move fifo localparams into module def
KrystalDelusion Mar 17, 2024
2832034
docs: Clarify install instructions
KrystalDelusion Mar 17, 2024
d2bf5a8
Merge branch 'origin/master' into krys/docs
KrystalDelusion Mar 17, 2024
b6ffdec
docs: Update OSS CAD suite info
KrystalDelusion Mar 17, 2024
49f1bea
docs: Add synth_ice40 to macro checks
KrystalDelusion Mar 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/test-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Build and test doc code samples

on:
pull_request:
branches:
- master

jobs:
test-docs:
runs-on: ubuntu-latest
steps:
- name: Install Dependencies
shell: bash
run: |
sudo apt-get update
sudo apt-get install gperf build-essential bison flex libreadline-dev gawk tcl-dev libffi-dev git graphviz xdot pkg-config python3 libboost-system-dev libboost-python-dev libboost-filesystem-dev zlib1g-dev

- name: Setup GCC
uses: Dup4/actions-setup-gcc@v1

- name: Runtime environment
shell: bash
env:
WORKSPACE: ${{ github.workspace }}
run: |
echo "GITHUB_WORKSPACE=`pwd`" >> $GITHUB_ENV
echo "$GITHUB_WORKSPACE/.local/bin" >> $GITHUB_PATH
echo "procs=$(nproc)" >> $GITHUB_ENV

- name: Checkout Yosys
uses: actions/checkout@v3

- name: Build yosys
shell: bash
run: |
make config-gcc
make -j${{ env.procs }}

- name: Run tests
shell: bash
run: |
make -C docs test -j${{ env.procs }}
7 changes: 7 additions & 0 deletions .github/workflows/test-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,13 @@ jobs:
make config-${CC%%-*}
make -j${{ env.procs }} CCXXSTD=${{ matrix.cpp_std }} CC=$CC CXX=$CC LD=$CC

- name: Store build artifact
if: (matrix.cpp_std == 'c++11') && (matrix.compiler == 'gcc-11')
uses: actions/upload-artifact@v4
with:
name: compiled-yosys
path: yosys

- name: Run tests
if: (matrix.cpp_std == 'c++11') && (matrix.compiler == 'gcc-11')
shell: bash
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ passes/techmap/flowmap.cc @whitequark
passes/opt/opt_lut.cc @whitequark
passes/techmap/abc9*.cc @eddiehung @Ravenslofty
backends/aiger/xaiger.cc @eddiehung
docs/ @KrystalDelusion


## External Contributors
Expand Down
18 changes: 13 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -971,17 +971,27 @@ docs/source/cmd/abc.rst: $(TARGETS) $(EXTRA_TARGETS)
mkdir -p docs/source/cmd
./$(PROGRAM_PREFIX)yosys -p 'help -write-rst-command-reference-manual'

PHONY: docs/gen_images docs/guidelines
PHONY: docs/gen_examples docs/gen_images docs/guidelines docs/usage
docs/gen_examples:
$(Q) $(MAKE) -C docs examples

docs/gen_images:
$(Q) $(MAKE) -C docs/images all
$(Q) $(MAKE) -C docs images

DOCS_GUIDELINE_FILES := GettingStarted CodingStyle
docs/guidelines:
$(Q) mkdir -p docs/source/temp
$(Q) cp -f $(addprefix guidelines/,$(DOCS_GUIDELINE_FILES)) docs/source/temp

# many of these will return an error which can be safely ignored, so we prefix
# the command with a '-'
DOCS_USAGE_PROGS := yosys yosys-config yosys-filterlib yosys-abc yosys-smtbmc yosys-witness
docs/usage: $(addprefix docs/source/temp/,$(DOCS_USAGE_PROGS))
docs/source/temp/%: docs/guidelines
-$(Q) ./$(PROGRAM_PREFIX)$* --help > $@ 2>&1

DOC_TARGET ?= html
docs: docs/source/cmd/abc.rst docs/gen_images docs/guidelines
docs: docs/source/cmd/abc.rst docs/gen_examples docs/gen_images docs/guidelines docs/usage
$(Q) $(MAKE) -C docs $(DOC_TARGET)

clean:
Expand All @@ -1000,8 +1010,6 @@ clean:
rm -f tests/svinterfaces/*.log_stdout tests/svinterfaces/*.log_stderr tests/svinterfaces/dut_result.txt tests/svinterfaces/reference_result.txt tests/svinterfaces/a.out tests/svinterfaces/*_syn.v tests/svinterfaces/*.diff
rm -f tests/tools/cmp_tbdata
$(MAKE) -C docs clean
$(MAKE) -C docs/images clean
rm -rf docs/source/cmd docs/util/__pycache__

clean-abc:
$(MAKE) -C abc DEP= clean
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -604,10 +604,12 @@ Simply visit https://yosys.readthedocs.io/en/latest/ instead.
In addition to those packages listed above for building Yosys from source, the
following are used for building the website:

$ sudo apt-get install pdf2svg faketime
$ sudo apt install pdf2svg faketime

PDFLaTeX, included with most LaTeX distributions, is also needed during the
build process for the website.
build process for the website. Or, run the following:

$ sudo apt install texlive-latex-base texlive-latex-extra latexmk

The Python package, Sphinx, is needed along with those listed in
`docs/source/requirements.txt`:
Expand Down
14 changes: 6 additions & 8 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
/build/
/source/cmd
/source/temp
/images/*.log
/images/*.aux
/images/*.pdf
/images/*.svg
/images/011/*.log
/images/011/*.aux
/images/011/*.pdf
/images/011/*.svg
/source/_images/**/*.log
/source/_images/**/*.aux
/source/_images/**/*.pdf
/source/_images/**/*.svg
/source/_images/**/*.dot
/source/_images/code_examples
28 changes: 27 additions & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ help:
@echo " dummy to check syntax errors of document sources"

.PHONY: clean
clean:
clean: clean-examples
rm -rf $(BUILDDIR)/*
rm -rf source/cmd util/__pycache__
$(MAKE) -C source/_images clean

.PHONY: html
html:
Expand Down Expand Up @@ -224,3 +226,27 @@ dummy:
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
@echo
@echo "Build finished. Dummy builder generates no files."

PYTHON ?= python3

.PHONY: test test-examples test-macros examples
test: test-examples test-macros

FORCE:
Makefile-%: FORCE
$(MAKE) -C $(@D) $(*F)

CODE_EXAMPLES := $(wildcard source/code_examples/*/Makefile)
TEST_EXAMPLES := $(addsuffix -all,$(CODE_EXAMPLES))
CLEAN_EXAMPLES := $(addsuffix -clean,$(CODE_EXAMPLES))
test-examples: $(TEST_EXAMPLES)
clean-examples: $(CLEAN_EXAMPLES)
examples: $(TEST_EXAMPLES)

test-macros:
$(PYTHON) tests/macro_commands.py

.PHONY: images
images:
$(MAKE) -C source/_images

18 changes: 0 additions & 18 deletions docs/images/011/example_out.tex

This file was deleted.

19 changes: 0 additions & 19 deletions docs/images/011/select_prod.tex

This file was deleted.

15 changes: 0 additions & 15 deletions docs/images/011/splitnets_libfile.tex

This file was deleted.

27 changes: 0 additions & 27 deletions docs/images/011/submod_dots.tex

This file was deleted.

44 changes: 0 additions & 44 deletions docs/images/Makefile

This file was deleted.

Binary file removed docs/images/approach_flow.png
Binary file not shown.
Binary file removed docs/images/basics_abstractions.png
Binary file not shown.
Binary file removed docs/images/basics_ast.png
Binary file not shown.
Binary file removed docs/images/basics_flow.png
Binary file not shown.
Binary file removed docs/images/basics_parsetree.png
Binary file not shown.
Binary file removed docs/images/overview_flow.png
Binary file not shown.
Binary file removed docs/images/overview_rtlil.png
Binary file not shown.
Binary file removed docs/images/verilog_flow.png
Binary file not shown.
34 changes: 0 additions & 34 deletions docs/source/APPNOTE_011_Design_Investigation/cmos_00.dot

This file was deleted.

23 changes: 0 additions & 23 deletions docs/source/APPNOTE_011_Design_Investigation/cmos_01.dot

This file was deleted.

11 changes: 0 additions & 11 deletions docs/source/APPNOTE_011_Design_Investigation/example.ys

This file was deleted.

Loading
Loading