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

bump fork for version 0.45 #24

Merged
merged 173 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
34b5c6d
peepopt: avoid shift-amount underflow
phsauter Jun 13, 2024
74e5043
peepopt: fix sign check in shiftadd
phsauter Jun 14, 2024
7e34142
Run nix build also on macos. Build with more logs
RCoeurjoly Jul 30, 2024
669f8b1
Bump version
github-actions[bot] Aug 7, 2024
4c32038
exec: Add missing newline
povik Aug 7, 2024
b1569de
Merge pull request #4527 from povik/exec-newline
povik Aug 7, 2024
ebffe37
Bump ABC
povik Aug 7, 2024
4b5beb6
Pull ABC fix
povik Aug 7, 2024
77b2ae2
Bump version
github-actions[bot] Aug 8, 2024
bcb995b
Sync with yosys-experimental branch
povik Aug 8, 2024
8ce6219
Merge pull request #4528 from povik/bump-abc
povik Aug 12, 2024
4b9f452
Bump version
github-actions[bot] Aug 13, 2024
78382ea
libparse: Adjust whitespace
povik Aug 13, 2024
c35f5e3
Extend liberty tests
povik Aug 13, 2024
3057c13
Improve libparse encapsulation
povik Aug 13, 2024
309d808
read_liberty: Use available gate creation helpers
povik Aug 13, 2024
ab5d6b0
read_liberty: Fix omitted helper change
povik Aug 13, 2024
a854903
Merge pull request #4537 from povik/libparse-cleanup
povik Aug 14, 2024
d709177
test-compile: Downgrade to focal
KrystalDelusion Aug 14, 2024
1eaf4e0
Bump version
github-actions[bot] Aug 15, 2024
ceba889
Merge pull request #4540 from YosysHQ/clang-11
mmicko Aug 15, 2024
3b48e9d
Add initial NanoXplore pass
Ravenslofty Mar 1, 2024
94b6f19
Make lut init match vendor tools
mmicko Mar 1, 2024
93543bd
add lut tests
mmicko Mar 1, 2024
b4a17cc
add few more tests
mmicko Mar 1, 2024
b4e9bb0
Add FFs and related tests
Ravenslofty Mar 1, 2024
b3f59c9
Add NX_CY
Ravenslofty Mar 1, 2024
8374f03
add family and ability to disable carry chains
mmicko Mar 1, 2024
5d898ab
Add blackboxes
mmicko Mar 1, 2024
b0c4add
Added lutram
Ravenslofty Mar 1, 2024
65d2eba
fix test
mmicko Mar 1, 2024
4c1f84a
add io mapping
mmicko Mar 1, 2024
74289b7
remove init from sdff
mmicko Mar 1, 2024
989eef2
produce less cells
mmicko Mar 1, 2024
9700971
just copy LOC
mmicko Mar 6, 2024
cfce7dd
remove soc
mmicko Mar 11, 2024
827ea11
start splitting blackboxes and add wrapper techmap
mmicko Mar 11, 2024
815622f
CDC_L wrappers
mmicko Mar 11, 2024
60611b9
CDC_U
mmicko Mar 11, 2024
ce635ab
NX_DSP/SPLIT
mmicko Mar 11, 2024
200e1a7
more DSP wrappers
mmicko Mar 12, 2024
0ecc2e5
PLLs
mmicko Mar 12, 2024
3ed5ea2
sortout more blackboxes
mmicko Mar 12, 2024
012f0e2
memory blocks
mmicko Mar 13, 2024
8f42d6d
fifo
mmicko Mar 13, 2024
f836de6
mark DSPs as TODOs for now
mmicko Mar 13, 2024
ef15325
removed virtual primitive
mmicko Mar 13, 2024
71f0984
fixes
mmicko Mar 13, 2024
b202126
IOM
mmicko Mar 13, 2024
8023f92
RAM
mmicko Mar 13, 2024
fa14c60
commented remainder of primitives
mmicko Mar 13, 2024
370517b
IO
mmicko Mar 13, 2024
a5bfb23
start cleaning rams
mmicko Mar 13, 2024
474ed28
added no-rw-check, and new rfb models
mmicko Mar 14, 2024
da6a62f
Initial carry chain handling pass
mmicko Mar 18, 2024
ab32dde
optimized
mmicko Mar 19, 2024
b6f7383
break long chains
mmicko Mar 19, 2024
31f9435
set add_carry property and all inputs to 0
mmicko Mar 25, 2024
cf21b48
fix co on nx_cy
mmicko Apr 7, 2024
dac4f04
add latch mapping, and remove aldff for now
mmicko Apr 19, 2024
1591d25
Made NX_CY model more robust
mmicko Apr 22, 2024
4cb8e62
Properly map ff ram
mmicko Apr 24, 2024
606439b
do not leave NX_RAM empty to prevent removing it
mmicko Apr 24, 2024
94675a5
Fix dff simulation model
mmicko Apr 29, 2024
0c4bbf7
Fix existing DFF mapping and add new types
mmicko Apr 29, 2024
198fc96
Add new DFF types, and added "-nodffe" option
mmicko Apr 29, 2024
cb45f8b
Fixed of mapping and initialization
mmicko Apr 30, 2024
dc16bdd
DFF reset and context must be in sync
mmicko Apr 30, 2024
9a9190b
enable dff context initialization
mmicko Apr 30, 2024
645888c
cleanup
mmicko May 6, 2024
34f08bc
Enable nanoxplore tests
mmicko May 6, 2024
41ae513
support other I/O configurations
mmicko May 7, 2024
04d3672
No need for LOC
mmicko May 9, 2024
f9f68c3
Split sim models into multiple files and implement few
mmicko May 10, 2024
11449ec
Cleanup not connected ports
mmicko May 15, 2024
7e4aef0
Add register file mapping
mmicko May 16, 2024
9d6b474
Add RF initialization
mmicko May 17, 2024
829dd62
block ram mapping for standard modes
mmicko May 17, 2024
8eb099c
remove debug attribute
mmicko May 20, 2024
f4d8ea4
Start adding RFB simulation models
mmicko May 20, 2024
41a86fd
fix
mmicko May 21, 2024
4aaab8f
start adding wfg model
mmicko May 22, 2024
5766555
Support brams with initialization
mmicko May 28, 2024
8909a42
Better wire check
mmicko May 30, 2024
596506b
Add NX_XCDC_U to wrappers
mmicko May 30, 2024
40f0500
Fix CY chaining and CI injection
mmicko May 30, 2024
f8ae93c
run setundef for all x inputs
mmicko Jun 6, 2024
4372487
raw must be 16 bits for nx tools to work
mmicko Jun 7, 2024
7601dc7
Some memory types are only supported on NG-LARGE
mmicko Jun 11, 2024
eb30be6
Impulse does not support these types but NG-ULTRA architecture does
mmicko Jun 24, 2024
6876a27
Add NX_DFR simulation model
mmicko Jul 4, 2024
1a6e5c6
Add meminit handling for NX_RFB_U
mmicko Jul 11, 2024
8f806c0
Added DDFR support
mmicko Jul 24, 2024
262ad03
Add iopads by default add option to disable and keep old one for comp…
mmicko Jul 24, 2024
3848563
Update tests
mmicko Jul 24, 2024
7bf623a
Fix simulation model warnings
mmicko Jul 24, 2024
dbf1d03
Cleanup
mmicko Jul 24, 2024
220ddea
Set -mince and -minsrst
mmicko Aug 14, 2024
14e4313
Run opt_merge, helps with inverted reset/load signals
mmicko Aug 14, 2024
54d237f
add min_ce_use and min_srst_use parameters
mmicko Aug 15, 2024
7b47f64
Address warnings
KrystalDelusion Aug 15, 2024
636ce9a
snprintf
KrystalDelusion Aug 15, 2024
d34833d
Better snprintf size handling
KrystalDelusion Aug 15, 2024
eb02ab0
minisat: Use reallocarray
KrystalDelusion Aug 15, 2024
55307a5
minisat: Check for gcc
KrystalDelusion Aug 15, 2024
3b63ab0
docs: Build RTD artifacts directly
KrystalDelusion Aug 15, 2024
7bd3c7b
Fix test-verific.yml
KrystalDelusion Aug 15, 2024
e9f909a
minisat: Record changes in patch
KrystalDelusion Aug 16, 2024
3dd32d7
Stop unconditionally building abc
KrystalDelusion Aug 4, 2024
5fb3c0b
Bump version
github-actions[bot] Aug 17, 2024
d80d4dc
[Docs]:Add new cell type help messages (#1)
NachtSpyder04 Aug 17, 2024
34aabd5
Apply suggestions from code review
NachtSpyder04 Aug 18, 2024
aa60255
update help messages that went beyond line length limit
NachtSpyder04 Aug 18, 2024
d1b767e
Adding missing to Gowin tech files
Aug 17, 2024
7f08a29
Merge pull request #4542 from YosysHQ/krys/rtd
nakengelhardt Aug 19, 2024
8773cf7
test-verific: Use fast runner
KrystalDelusion Aug 19, 2024
6df0c3d
docs: Fix synth_flow generation
KrystalDelusion Aug 19, 2024
4847caa
driver: print maximum memory usage on macOS as well
widlarizer Aug 19, 2024
0dfa496
Merge pull request #4547 from leviathanch/fix_apicula1
widlarizer Aug 19, 2024
e0d3bbf
Merge pull request #4452 from phsauter/shiftadd-underflow-fix
widlarizer Aug 19, 2024
9de5348
Merge pull request #4515 from RCoeurjoly/nix_on_macos
widlarizer Aug 19, 2024
d901b28
Merge pull request #4546 from NachtSpyder04/main
widlarizer Aug 19, 2024
7d779c6
docs: Only trigger RTDs on main
KrystalDelusion Aug 19, 2024
e4c8bb0
Merge pull request #4552 from YosysHQ/krys/rtd_on_main
mmicko Aug 19, 2024
4cddc19
Bump version
github-actions[bot] Aug 20, 2024
91e3773
Ensure signed constants are correctly parsed, represented, and export…
RCoeurjoly Aug 19, 2024
27c1432
Remove log
RCoeurjoly Aug 19, 2024
2ffafad
Docs: Add note on verific
KrystalDelusion Aug 21, 2024
e18a2f1
Docs: Section/folder for yosys source details
KrystalDelusion Aug 21, 2024
d97a243
Docs: Intro to Yosys source section
KrystalDelusion Aug 21, 2024
53b223f
Docs: Initial build_verific.rst
KrystalDelusion Aug 21, 2024
8e618ca
Docs: Update build_verific.rst
KrystalDelusion Aug 21, 2024
00bb3b6
Docs: Merge yosys_source into extending_yosys
KrystalDelusion Aug 21, 2024
cfba26c
Docs: Verific progress
KrystalDelusion Aug 21, 2024
88bb785
Docs: Verific but with sentences
KrystalDelusion Aug 21, 2024
36ad07e
Docs: Update build_verific
KrystalDelusion Aug 21, 2024
0327ad9
Docs: Fix code formatting
KrystalDelusion Aug 21, 2024
8145461
Docs: Fix Verific builds table formatting
KrystalDelusion Aug 21, 2024
6431534
Docs: Some other fixes
KrystalDelusion Aug 21, 2024
3317d80
Docs: Clarify verific caveats
KrystalDelusion Aug 21, 2024
27b51cb
Bump version
github-actions[bot] Aug 22, 2024
7b0ecaa
Merge pull request #4549 from YosysHQ/emil/macos-max-mem-usage
widlarizer Aug 22, 2024
583d820
Docs: Apply verific docs suggestions
KrystalDelusion Aug 22, 2024
09a42dd
Merge pull request #4396 from YosysHQ/krys/docs_verific
KrystalDelusion Aug 22, 2024
72f77dd
Bump version
github-actions[bot] Aug 23, 2024
0fc5812
Merge pull request #4541 from YosysHQ/krys/compiler-warnings
nakengelhardt Aug 26, 2024
2e1335a
Docs: Fix local builds
KrystalDelusion Aug 22, 2024
0b53b10
Makefile: Stop unconditionally install docs prereqs
KrystalDelusion Aug 23, 2024
5d5d890
Docs: macos-safe build
KrystalDelusion Aug 23, 2024
7d63fdd
README: building docs on macos
KrystalDelusion Aug 23, 2024
98d26bd
Docs: Fix nested list on build_verific page
KrystalDelusion Aug 25, 2024
8369207
ci: Don't cancel previous builds
KrystalDelusion Aug 26, 2024
a207566
ci: Update RTDs trigger conditional
KrystalDelusion Aug 26, 2024
ecff434
Docs: Use version name from readthedocs
KrystalDelusion Aug 26, 2024
bdb5d45
proc_dff: respect sync rule priorities when generating complex dffsrs
georgerennie Aug 28, 2024
8206951
proc_dff: add tests
georgerennie Aug 28, 2024
c25448f
Merge pull request #4569 from georgerennie/george/proc_dff_ordering
widlarizer Sep 2, 2024
840c515
RTDs: Fail on warning
KrystalDelusion Sep 2, 2024
a97d99c
ci: Verific skipping conditional on github.ref
KrystalDelusion Sep 2, 2024
cab781d
Makefile: Move docs prereqs to separate target
KrystalDelusion Aug 28, 2024
6c833d8
ci: Use docs/prep target
KrystalDelusion Aug 28, 2024
e92de01
ci: Split out prepare-docs
KrystalDelusion Sep 2, 2024
25623b1
ci: test-verific no longer needs special casing
KrystalDelusion Sep 2, 2024
558f313
Docs: Show todos in previews
KrystalDelusion Aug 28, 2024
6b93212
Bump version
github-actions[bot] Sep 3, 2024
c0ce0b8
docs: gvpack on macos requires the file name to appear after the flags
aiju Aug 22, 2024
89cbca4
Add macOS instructions for latexpdf
mmicko Sep 3, 2024
9fca352
Merge pull request #4563 from YosysHQ/krys/better_rtds_action
mmicko Sep 3, 2024
556c705
Cleanup of synth_nanoxplore pass
mmicko Sep 3, 2024
598d010
Merge pull request #4504 from YosysHQ/nanoxplore
mmicko Sep 3, 2024
3e0dc2f
Release version 0.45
mmicko Sep 3, 2024
9ed031d
Fix TODOs in docs
mmicko Sep 3, 2024
0744fac
Next dev cycle
mmicko Sep 3, 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
8 changes: 6 additions & 2 deletions .github/workflows/extra-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,12 +86,16 @@ jobs:
name: "Build nix flake"
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.18.1/install
- run: nix build .?submodules=1
- run: nix build .?submodules=1 -L
52 changes: 52 additions & 0 deletions .github/workflows/prepare-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build docs artifact with Verific

on: push

jobs:
prepare-docs:
# docs builds are needed for anything on main, any tagged versions, and any tag
# or branch starting with docs-preview
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/docs-preview') || startsWith(github.ref, 'refs/tags/') }}
runs-on: [self-hosted, linux, x64, fast]
steps:
- name: Checkout Yosys
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: true

- name: Runtime environment
run: |
echo "procs=$(nproc)" >> $GITHUB_ENV

- name: Build Yosys
run: |
make config-clang
echo "ENABLE_VERIFIC := 1" >> Makefile.conf
echo "ENABLE_VERIFIC_EDIF := 1" >> Makefile.conf
echo "ENABLE_VERIFIC_LIBERTY := 1" >> Makefile.conf
echo "ENABLE_VERIFIC_YOSYSHQ_EXTENSIONS := 1" >> Makefile.conf
echo "ENABLE_CCACHE := 1" >> Makefile.conf
make -j${{ env.procs }} ENABLE_LTO=1

- name: Prepare docs
shell: bash
run:
make docs/prep TARGETS= EXTRA_TARGETS=

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: cmd-ref-${{ github.sha }}
path: |
docs/source/cmd
docs/source/generated
docs/source/_images
docs/source/code_examples

- name: Trigger RTDs build
uses: dfm/[email protected]
with:
webhook_url: ${{ secrets.RTDS_WEBHOOK_URL }}
webhook_token: ${{ secrets.RTDS_WEBHOOK_TOKEN }}
commit_ref: ${{ github.ref }}
4 changes: 2 additions & 2 deletions .github/workflows/test-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ jobs:
- os: macos-13
compiler: 'clang'
# oldest clang not available on ubuntu-latest
- os: ubuntu-22.04
compiler: 'clang-11'
- os: ubuntu-20.04
compiler: 'clang-10'
fail-fast: false
steps:
- name: Checkout Yosys
Expand Down
38 changes: 6 additions & 32 deletions .github/workflows/test-verific.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,24 @@ name: Build and run tests with Verific (Linux)
on: [push, pull_request]

jobs:
pre_job:
pre-job:
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@v5
with:
paths_ignore: '["**/README.md"]'
# don't cancel previous builds
paths_ignore: '["**/README.md", "docs/**", "guidelines/**"]'
# cancel previous builds if a new commit is pushed
cancel_others: 'true'
# only run on push *or* pull_request, not both
concurrent_skipping: 'same_content_newer'
# we have special actions when running on main, so this should be off
skip_after_successful_duplicate: 'false'

test-verific:
needs: pre_job
if: needs.pre_job.outputs.should_skip != 'true'
runs-on: [self-hosted, linux, x64]
needs: pre-job
if: needs.pre-job.outputs.should_skip != 'true'
runs-on: [self-hosted, linux, x64, fast]
steps:
- name: Checkout Yosys
uses: actions/checkout@v4
Expand All @@ -47,30 +45,6 @@ jobs:
run: |
make install DESTDIR=${GITHUB_WORKSPACE}/.local PREFIX=

- name: Checkout Documentation
if: ${{ github.ref == 'refs/heads/main' }}
uses: actions/checkout@v4
with:
path: 'yosys-cmd-ref'
repository: 'YosysHQ-Docs/yosys-cmd-ref'
fetch-depth: 0
token: ${{ secrets.CI_DOCS_UPDATE_PAT }}
persist-credentials: true

- name: Update documentation
if: ${{ github.ref == 'refs/heads/main' }}
run: |
make docs
rm -rf docs/build
cd yosys-cmd-ref
rm -rf *
git checkout README.md
cp -R ../docs/* .
rm -rf util/__pycache__
git add -A .
git diff-index --quiet HEAD || git commit -m "Update"
git push

- name: Checkout SBY
uses: actions/checkout@v4
with:
Expand Down
20 changes: 20 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# .readthedocs.yaml
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

version: 2

build:
os: ubuntu-22.04
tools:
python: '3.12'

formats:
- pdf

sphinx:
configuration: docs/source/conf.py
fail_on_warning: true

python:
install:
- requirements: docs/source/requirements.txt
10 changes: 9 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,17 @@
List of major changes and improvements between releases
=======================================================

Yosys 0.44 .. Yosys 0.45-dev
Yosys 0.45 .. Yosys 0.46-dev
--------------------------

Yosys 0.44 .. Yosys 0.45
--------------------------
* Various
- Added cell types help messages.

* New back-ends
- Added initial NG-Ultra support. ( synth_nanoxplore )

Yosys 0.43 .. Yosys 0.44
--------------------------
* Various
Expand Down
20 changes: 12 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ ifeq ($(OS), Haiku)
CXXFLAGS += -D_DEFAULT_SOURCE
endif

YOSYS_VER := 0.44+0
YOSYS_VER := 0.45+0

# Note: We arrange for .gitcommit to contain the (short) commit hash in
# tarballs generated with git-archive(1) using .gitattributes. The git repo
Expand All @@ -169,7 +169,7 @@ endif
OBJS = kernel/version_$(GIT_REV).o

bumpversion:
sed -i "/^YOSYS_VER := / s/+[0-9][0-9]*$$/+`git log --oneline 80ba43d.. | wc -l`/;" Makefile
sed -i "/^YOSYS_VER := / s/+[0-9][0-9]*$$/+`git log --oneline 9ed031d.. | wc -l`/;" Makefile

ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 ABC_USE_NAMESPACE=abc VERBOSE=$(Q)

Expand Down Expand Up @@ -807,7 +807,7 @@ check-git-abc:
exit 1; \
fi

abc/abc$(EXE) abc/libabc.a: check-git-abc
abc/abc$(EXE) abc/libabc.a: | check-git-abc
$(P)
$(Q) mkdir -p abc && $(MAKE) -C $(PROGRAM_PREFIX)abc -f "$(realpath $(YOSYS_SRC)/abc/Makefile)" ABCSRC="$(realpath $(YOSYS_SRC)/abc/)" $(S) $(ABCMKARGS) $(if $(filter %.a,$@),PROG="abc",PROG="abc$(EXE)") MSG_PREFIX="$(eval P_OFFSET = 5)$(call P_SHOW)$(eval P_OFFSET = 10) ABC: " $(if $(filter %.a,$@),libabc.a)

Expand Down Expand Up @@ -877,6 +877,7 @@ endif
+cd tests/arch/anlogic && bash run-test.sh $(SEEDOPT)
+cd tests/arch/gowin && bash run-test.sh $(SEEDOPT)
+cd tests/arch/intel_alm && bash run-test.sh $(SEEDOPT)
+cd tests/arch/nanoxplore && bash run-test.sh $(SEEDOPT)
+cd tests/arch/nexus && bash run-test.sh $(SEEDOPT)
+cd tests/arch/quicklogic/pp3 && bash run-test.sh $(SEEDOPT)
+cd tests/arch/quicklogic/qlf_k6n10f && bash run-test.sh $(SEEDOPT)
Expand Down Expand Up @@ -984,8 +985,8 @@ docs/guidelines docs/source/generated:

# some commands return an error and print the usage text to stderr
define DOC_USAGE_STDERR
docs/source/generated/$(1): $(PROGRAM_PREFIX)$(1) docs/source/generated
-$(Q) ./$$< --help 2> $$@
docs/source/generated/$(1): $(TARGETS) docs/source/generated
-$(Q) ./$(PROGRAM_PREFIX)$(1) --help 2> $$@
endef
DOCS_USAGE_STDERR := yosys-config yosys-filterlib

Expand All @@ -998,8 +999,8 @@ $(foreach usage,$(DOCS_USAGE_STDERR),$(eval $(call DOC_USAGE_STDERR,$(usage))))

# others print to stdout
define DOC_USAGE_STDOUT
docs/source/generated/$(1): $(PROGRAM_PREFIX)$(1) docs/source/generated
$(Q) ./$$< --help > $$@
docs/source/generated/$(1): $(TARGETS) docs/source/generated
$(Q) ./$(PROGRAM_PREFIX)$(1) --help > $$@
endef
DOCS_USAGE_STDOUT := yosys yosys-smtbmc yosys-witness
$(foreach usage,$(DOCS_USAGE_STDOUT),$(eval $(call DOC_USAGE_STDOUT,$(usage))))
Expand All @@ -1009,8 +1010,11 @@ docs/usage: $(addprefix docs/source/generated/,$(DOCS_USAGE_STDOUT) $(DOCS_USAGE
docs/reqs:
$(Q) $(MAKE) -C docs reqs

.PHONY: docs/prep
docs/prep: docs/source/cmd/abc.rst docs/gen_examples docs/gen_images docs/guidelines docs/usage

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

clean:
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -629,11 +629,21 @@ following are used for building the website:

$ sudo apt install pdf2svg faketime

Or for MacOS, using homebrew:

$ brew install pdf2svg libfaketime

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

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

Or for MacOS, using homebrew:

$ brew install basictex
$ sudo tlmgr update --self
$ sudo tlmgr install collection-latexextra latexmk tex-gyre

The Python package, Sphinx, is needed along with those listed in
`docs/source/requirements.txt`:

Expand Down
2 changes: 1 addition & 1 deletion abc
Submodule abc updated 109 files
3 changes: 3 additions & 0 deletions backends/rtlil/rtlil_backend.cc
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ void RTLIL_BACKEND::dump_const(std::ostream &f, const RTLIL::Const &data, int wi
}
}
f << stringf("%d'", width);
if (data.flags & RTLIL::CONST_FLAG_SIGNED) {
f << stringf("s");
}
if (data.is_fully_undef_x_only()) {
f << "x";
} else {
Expand Down
1 change: 1 addition & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ test-macros:
.PHONY: images
images:
$(MAKE) -C source/_images
$(MAKE) -C source/_images convert

.PHONY: reqs
reqs:
Expand Down
16 changes: 7 additions & 9 deletions docs/source/_images/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,22 @@ FAKETIME := TZ='Z' faketime -f '2022-01-01 00:00:00 x0,001'
CODE_EXAMPLES := ../code_examples/*/Makefile
examples: $(CODE_EXAMPLES)

# target to convert specified dot file(s)
# target to convert all dot files
# needs to be run *after* examples, otherwise no dot files will be found
.PHONY: convert
TARG_DOT ?=
convert: $(TARG_DOT:.dot=.pdf) $(TARG_DOT:.dot=.svg)
DOT_FILES := $(shell find . -name *.dot)
convert: $(DOT_FILES:.dot=.pdf) $(DOT_FILES:.dot=.svg)

# use empty FORCE target because .PHONY ignores % expansion, using find allows
# us to generate everything in one pass, since we don't know all of the possible
# outputs until the sub-makes run
# use empty FORCE target because .PHONY ignores % expansion
FORCE:
../%/Makefile: FORCE
@make -C $(@D) dots
@mkdir -p $*
@find $(@D) -name *.dot -exec cp -u {} -t $* \;
@find $* -name *.dot -printf "%p " | xargs -i make --no-print-directory convert TARG_DOT="{}"
@find $(@D) -name *.dot -exec rsync -t {} $* \;

# find and build all tex files
.PHONY: all_tex
TEX_FILES := $(wildcard **/*.tex)
TEX_FILES := $(shell find . -name *.tex)
all_tex: $(TEX_FILES:.tex=.pdf) $(TEX_FILES:.tex=.svg)

%.pdf: %.dot
Expand Down
2 changes: 1 addition & 1 deletion docs/source/code_examples/opt/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dots: $(DOTS)
$(YOSYS) $<

%.dot: %_full.dot
gvpack -u $*_full.dot -o $@
gvpack -u -o $@ $*_full.dot

.PHONY: clean
clean:
Expand Down
8 changes: 4 additions & 4 deletions docs/source/code_examples/synth_flow/Makefile
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

TARGETS += proc_01 proc_02 proc_03
TARGETS += memory_01 memory_02
TARGETS += techmap_01
DOT_TARGETS += proc_01 proc_02 proc_03
DOT_TARGETS += memory_01 memory_02
DOT_TARGETS += techmap_01

PROGRAM_PREFIX :=

YOSYS ?= ../../../../$(PROGRAM_PREFIX)yosys

DOTS = $(addsuffix .dot,$(TARGETS))
DOTS = $(addsuffix .dot,$(DOT_TARGETS))

.PHONY: all dots
all: dots
Expand Down
Loading
Loading