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

Add Lakeroad egglog backend #4

Open
wants to merge 272 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
272 commits
Select commit Hold shift + click to select a range
c720c8f
Add RUN lines
gussmith23 Sep 3, 2023
98eb0dd
Start refactoring to compile different Signal types more cleanly
gussmith23 Sep 3, 2023
a5c1a75
More work
gussmith23 Sep 4, 2023
8413dba
Make let bindings for inputs
gussmith23 Sep 4, 2023
b8192db
Extend signals if necessary
gussmith23 Sep 4, 2023
cb989f8
Update test
gussmith23 Sep 4, 2023
50d1179
sim: Add print support
povik Sep 4, 2023
3de84b9
memory_libmap: Tweak whitespace
povik Sep 4, 2023
c6566b6
memlib.md: Fix typo
povik Sep 4, 2023
b75959f
Bump version
github-actions[bot] Sep 5, 2023
2584903
Release version 0.33
mmicko Sep 5, 2023
11a2de8
Next dev cycle
mmicko Sep 5, 2023
e995ddd
abc: Warn about replacing undef bits
povik Aug 16, 2023
d4d9516
sim: Add `-assert` option to fail on failed assertions
povik Sep 4, 2023
2d0fc04
ast: Substitute rvalues when parsing out print arguments
povik Sep 5, 2023
83b1a57
Bump version
github-actions[bot] Sep 6, 2023
4edb1a1
sv: support assignments within expressions
zachjs Sep 6, 2023
e187fc9
xprop: Fix polarity errors and generate hdlnames
jix Sep 6, 2023
368f2dd
Merge pull request #3922 from jix/xprop-fixes
jix Sep 6, 2023
fedefa2
multpass -- create Booth Encoded multipliers for
andyfox-rushc Sep 6, 2023
41b34a1
Bump version
github-actions[bot] Sep 7, 2023
0c2a99c
techmap: Test the Booth multiplier
povik Sep 7, 2023
25a33d4
techmap: Make the Booth test deterministic
povik Sep 7, 2023
411acc4
Fixed edge size cases for signed/unsigned booth generator
andyfox-rushc Sep 8, 2023
6d29dc6
renamed passname to booth, replaced connect_sigSpecToWire with connec…
andyfox-rushc Sep 8, 2023
1d92ea8
Support for turning on mult pass from generic synth command
andyfox-rushc Sep 8, 2023
0fa4125
mult -> booth in synth.cc, to turn on use synth -booth
andyfox-rushc Sep 8, 2023
d77fb81
2d array -> 1d array in module generator
andyfox-rushc Sep 10, 2023
8d4b6c2
Switched arrays for signed multiplier construction to heap
andyfox-rushc Sep 10, 2023
1b5287a
cpa_carry array added to heap
andyfox-rushc Sep 10, 2023
bef7ffc
Update ABC to latest
mmicko Sep 11, 2023
5bef9b4
Merge pull request #3915 from povik/sim-print
povik Sep 11, 2023
31ee566
Merge pull request #3918 from povik/print-sampling-fix
povik Sep 11, 2023
a2c8e47
multpass.cc -> booth.cc, added author/support contact info
andyfox-rushc Sep 11, 2023
eccc0ae
Based passes/techmap/Makefile.inc changes on latest in yosys
andyfox-rushc Sep 11, 2023
e4fe522
MultPassWorker -> BoothPassWorker
andyfox-rushc Sep 11, 2023
7b134c2
verific - respect order of read and write for rams
mmicko Sep 12, 2023
ec75b24
Merge pull request #3926 from YosysHQ/update_abc2
mmicko Sep 12, 2023
1b5c7b8
Merge pull request #3927 from YosysHQ/verific_memory
mmicko Sep 12, 2023
88ce47e
Merge pull request #3892 from QuantamHD/dont_use
mmicko Sep 12, 2023
cbc4ec8
mem: Fix index confusion in write port merging
povik Sep 12, 2023
98b9459
fmt: Fix C++ string assertion when buf is empty
gatecat Sep 12, 2023
b04f235
Merge pull request #3928 from povik/mem-wr-merge-transpemu-fix
povik Sep 12, 2023
05f0262
Merge pull request #3929 from YosysHQ/gatecat/fmt-fix
povik Sep 12, 2023
08f79d1
ci: Enable extra libstdc++ assertions
povik Sep 9, 2023
9e00442
Bump version
github-actions[bot] Sep 13, 2023
54050a8
Basic support for tag primitives
mmicko Jun 7, 2023
9c255c9
unescape string tag attribute
mmicko Jun 21, 2023
27ac912
Support import of $future_ff
mmicko Aug 24, 2023
7a0c37b
Initial dft_tag implementation
jix Jul 13, 2023
46a35da
Add `future` pass to resolve `$future_ff` cells
jix Aug 29, 2023
78ff40d
Run `future` as part of `prep`
jix Aug 29, 2023
62b4df4
dft_tag: Implement `$overwrite_tag` and `$original_tag`
jix Aug 29, 2023
0e8a4ad
verific: Update YOSYSHQ_VERIFIC_API_VERSION
jix Sep 5, 2023
e9a11dd
Update ABC for WASI support.
whitequark Sep 13, 2023
d79b4b2
Merge pull request #3903 from jix/dft-future_ff
mmicko Sep 13, 2023
eada408
Merge pull request #3931 from whitequark/update-abc
mmicko Sep 13, 2023
c7d7cfe
Update ABC for WASI support.
whitequark Sep 13, 2023
b84ed5d
Bump version
github-actions[bot] Sep 14, 2023
9042124
Alphabetize headers to be installed, include some missing required on…
timkpaine Sep 15, 2023
39dc2c0
Merge pull request #3925 from povik/ci-glibcxx-assertions
nakengelhardt Sep 18, 2023
6dc7cc3
Merge pull request #3933 from timkpaine/tkp/kernelheaders
nakengelhardt Sep 18, 2023
8222121
verific: Add test of accurate semantics in memory inference
povik Sep 13, 2023
54be4ac
Merge pull request #3924 from andyfox-rushc/master
povik Sep 18, 2023
e2b6133
Bump version
github-actions[bot] Sep 19, 2023
7d07615
allow attributes in front of ++/-- statements
zachjs Sep 19, 2023
28e99f2
fix width of post-increment/decrement expressions
zachjs Sep 19, 2023
18855f2
Set src attribute for verific with full info
mmicko Sep 19, 2023
8fb807c
Merge pull request #3943 from YosysHQ/verific_lineinfo
mmicko Sep 19, 2023
35a0568
Bump version
github-actions[bot] Sep 20, 2023
99a5773
Merge pull request #3920 from zachjs/asgn-expr
povik Sep 20, 2023
c4762d9
Merge pull request #3930 from povik/verific-test-memsemantics
povik Sep 20, 2023
e0042bd
Speed up TopoSort. The main sorting algorithm implementation in TopoS…
rmlarsen Sep 20, 2023
b9745f6
Remove extraneous "public:".
rmlarsen Sep 20, 2023
aa06809
rtlil: Speeds up Yosys by 17%
QuantamHD Sep 18, 2023
9ed38bf
Speed up the autoname pass by 3x. (#3945)
rmlarsen Sep 21, 2023
934c822
Bump version
github-actions[bot] Sep 22, 2023
fedd122
booth: Move away from explicit `Wire` pointers
povik Sep 18, 2023
cb05262
booth: Remove now-unused helpers
povik Sep 19, 2023
986507f
booth: Streamline the low-level circuit emission
povik Sep 19, 2023
30f8387
booth: Rewrite the main cell selection loop
povik Sep 19, 2023
62302f6
booth: Remove more of unused helpers
povik Sep 19, 2023
d641dfa
rtlil: Add helper to emit full-adder cells
povik Sep 19, 2023
cde2a0b
booth: Make more use of appropriate helpers
povik Sep 25, 2023
7179e4f
booth: Improve user interface
povik Sep 25, 2023
91bcf81
booth: Note down debug prints are broken
povik Sep 25, 2023
3319fdc
show: use dot for wire aliases instead of BUF
nakengelhardt Sep 25, 2023
10d0e69
ast/simplify: Make tweaks in advance of big in_lvalue/in_param change
povik Apr 4, 2023
22b9941
ast/simplify: Make in_lvalue/in_param into props of AST nodes
povik Apr 5, 2023
a511976
ast/simplify: Retire in_lvalue/in_param arguments to simplify
povik Apr 4, 2023
c172fef
hashlib: Use a better hash for pool.
wanda-phi Sep 26, 2023
076c5ce
Bump version
github-actions[bot] Sep 27, 2023
d510a5f
Merge pull request #3955 from nakengelhardt/nak/show_use_dot_for_aliases
povik Sep 27, 2023
f193ebd
Verific: add default parameters to modules
mmicko Sep 27, 2023
b35ea8f
Merge pull request #3957 from YosysHQ/ver_def_param
mmicko Sep 27, 2023
ac8b31e
Bump version
github-actions[bot] Sep 28, 2023
01a0157
Speed up RTLIL::Const::decode_string by 1.7x.
rmlarsen Sep 28, 2023
6b70b3d
booth: Fix assertion
povik Sep 28, 2023
b004530
booth: Cut down the test
povik Sep 28, 2023
2002490
Merge pull request #3813 from povik/ast-simplify-work-vol2
povik Sep 28, 2023
7eaa4bc
sim: Add -noinitstate option and handle non-cosim initstate
jix Sep 28, 2023
5daa49b
dft_tag: Fix size extending $x[n]or and $reduce_{or,bool}/$logic_not
jix Sep 28, 2023
12218a4
Unflip i and j.
rmlarsen Sep 29, 2023
cc843d4
simplify: Avoid calling fixup_hierarchy_flags on nullptr
jix Sep 29, 2023
7aa26b3
Merge pull request #3966 from jix/fix-nullptr-fixup-hierarchy-flags
jix Sep 29, 2023
b52f6cb
Bump version
github-actions[bot] Sep 30, 2023
dcb600a
Merge pull request #3938 from povik/booth-cleanup
nakengelhardt Oct 2, 2023
b894abf
Merge pull request #3959 from rmlarsen/decode_string
povik Oct 2, 2023
ecf09b9
Merge pull request #3962 from jix/sim-noinitstate
jix Oct 2, 2023
8b42abe
Merge pull request #3961 from jix/dft-fixes
jix Oct 2, 2023
98d2c90
Ignore emacs auto-save files.
rmlarsen Sep 29, 2023
abd9c51
Speed up simplemap_map by 11.6x by directly inserting the cell source…
rmlarsen Sep 29, 2023
67f1700
Revert formatting changes.
rmlarsen Sep 29, 2023
1bbc12f
Revert changes to techmap.cc.
rmlarsen Sep 29, 2023
bce984f
Speed up OptMergePass by 1.7x.
rmlarsen Oct 2, 2023
058973f
Undo formatting change.
rmlarsen Oct 2, 2023
11ffd7d
Bump version
github-actions[bot] Oct 3, 2023
4968229
Speed up stringf / vstringf by 1.8x.
rmlarsen Oct 2, 2023
ff915d2
Update comment.
rmlarsen Oct 2, 2023
cb9f318
Remove local modifications.
rmlarsen Oct 2, 2023
a6247cb
Fix compiler warnings from GCC.
rmlarsen Oct 2, 2023
c174597
Fix sva_value_change_changed test for updated verific
jix Oct 3, 2023
493685b
Merge pull request #3978 from jix/fix-sva-test
mmicko Oct 3, 2023
563a56d
verific: Improve interaction between -L, -work and bind statements
jix Oct 3, 2023
aeb742b
Merge pull request #3979 from jix/verific-L-handling
jix Oct 3, 2023
7b454d4
Revert changes to celltypes.h.
rmlarsen Oct 3, 2023
8e0308b
Revert changes to celltypes.h. Use dict instead of std::unordered_map…
rmlarsen Oct 3, 2023
57a2b4b
Explicitly use uint64_t as the type of fingerprint to avoid type mism…
rmlarsen Oct 3, 2023
2948441
gowin: fix abc9 attributes and specify blocks
Ravenslofty Oct 3, 2023
f00d6f3
Bump version
github-actions[bot] Oct 4, 2023
3e02b63
Merge pull request #3977 from YosysHQ/lofty/gowin-dff
Ravenslofty Oct 4, 2023
0434f9d
booth: Fix vacancy check when summing down result
povik Oct 4, 2023
4506e11
booth: Extend test to catch bug from previous commit
povik Oct 4, 2023
881ce80
Merge pull request #3982 from povik/booth-fix
mmicko Oct 5, 2023
4a1b559
Release version 0.34
mmicko Oct 5, 2023
b88f7fc
Next dev cycle
mmicko Oct 5, 2023
824fdaa
mingw build fix
mmicko Oct 5, 2023
268fe92
verific: save original module name
mmicko Oct 5, 2023
23b9e61
verific: Pass list of top modules to static elaboration
jix Oct 5, 2023
47a4b79
verific: Pass top modules to static elaboration when using hierarchy
jix Oct 5, 2023
6b8203f
Merge pull request #3985 from jix/static-elaboration-top
jix Oct 5, 2023
6ac43e4
sim: Change clocked read port suggestion to `memory_nordff`
povik Oct 5, 2023
a782b15
sim: s/instanced/instantiated/
povik Oct 5, 2023
c3fd886
sim: Bail on processes
povik Oct 5, 2023
a54e6f2
Merge pull request #3984 from YosysHQ/module_hdlname
mmicko Oct 5, 2023
e38c9e0
Undo formatting changes in kernel/utils.h.
rmlarsen Oct 5, 2023
fd7bd42
Add back newline.
rmlarsen Oct 5, 2023
0a37c2a
Fix translation bug: The old code really checks for the presense of a…
rmlarsen Oct 6, 2023
fc815fd
Bump version
github-actions[bot] Oct 6, 2023
6a5799c
Add missing initialization of node_cmp_ member.
rmlarsen Oct 6, 2023
8367f06
ast/simplify: Remove unused in_param code
povik Oct 5, 2023
2ab7d1d
Fix readline/editline memory leak
mmicko Oct 6, 2023
bc0df04
Get rid of double lookup in TopoSort::node(). This speeds up typical …
rmlarsen Oct 6, 2023
51e9b08
Bump version
github-actions[bot] Oct 7, 2023
0ca39e2
scc: Use hashlib instead of STL for deterministic behaviour
zeldin Oct 7, 2023
a1923a5
Merge pull request #3988 from YosysHQ/micko/fix_leak
Ravenslofty Oct 7, 2023
c36cf9c
write_verilog: avoid emitting empty cases.
wanda-phi Oct 7, 2023
cd61950
Add Xor
gussmith23 Oct 7, 2023
316e2bd
Add shr
gussmith23 Oct 7, 2023
a79b15e
Merge pull request #3992 from YosysHQ/empty-case-fix
Ravenslofty Oct 8, 2023
11b9deb
Bump version
github-actions[bot] Oct 9, 2023
3e22791
Merge pull request #3975 from rmlarsen/optmerge
nakengelhardt Oct 9, 2023
4ed7088
verific: Use CellBaseName to identify top modules
jix Oct 10, 2023
417871e
Merge pull request #3998 from jix/verific-fix-norename
mmicko Oct 11, 2023
59fbee4
Bump version
github-actions[bot] Oct 12, 2023
d473a20
Preserve VHDL architecture name in attribute
mmicko Oct 12, 2023
62d6338
quicklogic: Fix pp3 `dffs` test
povik Oct 12, 2023
c8adb5a
Merge pull request #4001 from YosysHQ/vhdl_arch
mmicko Oct 13, 2023
69c252f
Update abc
mmicko Oct 13, 2023
7d30f71
Bump version
github-actions[bot] Oct 14, 2023
a0c3be3
peepopt: Drop unused 'initbits' code
povik Aug 2, 2023
bd8a81a
peepopt: Clean up 'shiftmul' a bit
povik Aug 2, 2023
dd1a8ae
peepopt: Try to use original wires
povik Aug 2, 2023
038a5e1
peepopt: Support shift amounts zero-padded from below
povik Aug 2, 2023
aa9b86a
peepopt: Add left-shift 'shiftmul' variant
povik Aug 2, 2023
5c0c825
peepopt: Remove broken `-generate` option
povik Oct 16, 2023
660be4a
peepopt: Describe rules in help message
povik Oct 16, 2023
d6d1cc7
pmgen: Fix sample syntax
povik Oct 16, 2023
edee11b
Merge pull request #3873 from povik/peepopt-work
nakengelhardt Oct 16, 2023
a2f59cf
Merge pull request #3990 from zeldin/deterministic_scc
nakengelhardt Oct 16, 2023
a4951a3
Merge pull request #3986 from povik/sim-ui-fixes
clairexen Oct 16, 2023
a5c04dd
Bump version
github-actions[bot] Oct 17, 2023
5f78d1d
Merge pull request #4003 from povik/pp3-test-fix
Ravenslofty Oct 17, 2023
d21c464
Merge pull request #3946 from rmlarsen/toposort
Ravenslofty Oct 17, 2023
1b6d1e9
memory_libmap: look for ram_style attributes on surrounding signals
nakengelhardt Oct 19, 2023
833b67a
verific: import attributes on ports
nakengelhardt Oct 20, 2023
080da69
memory_libmap: update search order for attributes
nakengelhardt Oct 24, 2023
6ffc315
cxxrtl: export wire attributes through the C API.
whitequark Oct 9, 2023
672375e
Bump version
github-actions[bot] Oct 26, 2023
c471f82
Add `#include <assert.h>` to make it build
thiskappaisgrey Oct 26, 2023
f9ab6e1
mem: only import attributes from ports if the memory doesn't have the…
nakengelhardt Oct 30, 2023
4eb18e1
change verific log callback api
mmicko Nov 1, 2023
f06d56d
Handling non-existing location in verific logs
mmicko Nov 3, 2023
3208247
ice40, ecp5: enable ABC9 by default
Ravenslofty Nov 2, 2023
ea91f18
cli(tcl): add ability to pass argument to tcl script from cli
anonkey Oct 2, 2023
deebb82
Merge pull request #4019 from YosysHQ/lofty/abc9-by-default
Ravenslofty Nov 3, 2023
b8b47f7
Revert "ice40, ecp5: enable ABC9 by default"
Ravenslofty Nov 3, 2023
1260766
Merge pull request #4020 from YosysHQ/revert-4019-lofty/abc9-by-default
Ravenslofty Nov 3, 2023
6f1ca68
Bump version
github-actions[bot] Nov 4, 2023
72c6a01
peepopt: Add initial `shiftadd` pattern
phsauter Nov 6, 2023
9ca57d9
peepopt: fix and refactor `shiftadd`
phsauter Nov 6, 2023
b6df900
peepopt: Describe `shiftadd` rule in help message
phsauter Nov 6, 2023
c3b8de5
test: add tests for `shiftadd` and `shiftmul`
phsauter Nov 6, 2023
c58fec6
Merge pull request #4015 from YosysHQ/log_verific
mmicko Nov 6, 2023
93a426c
Merge pull request #4008 from nakengelhardt/mem_libmap_data_attr
nakengelhardt Nov 6, 2023
3618294
peepopt: Add assert of consistent `shiftadd` data
phsauter Nov 6, 2023
d415b4d
cli: Cleanups for tcl argument handling
jix Nov 6, 2023
cc31c6e
Release version 0.35
mmicko Nov 7, 2023
8808da2
Next dev cycle
mmicko Nov 7, 2023
63cec22
Merge pull request #3883 from phsauter/peepopt-shiftadd
nakengelhardt Nov 7, 2023
ee3a4ce
synth_lattice: Merge NOT gates on DFF control signals
povik Nov 7, 2023
fed2720
synth_lattice: Optimize flip-flop memories better
povik Nov 7, 2023
5691cd0
Bump version
github-actions[bot] Nov 8, 2023
83d2f4f
techlibs: fix typo in help message
KrystalDelusion Nov 13, 2023
f7d4a85
techlibs: Add `cmp2softlogic.v` to common
povik Nov 13, 2023
3ffa4b5
synth_lattice: Wire up `cmp2softlogic` as an option
povik Nov 13, 2023
04083b4
Merge pull request #4027 from YosysHQ/achronix_typo
nakengelhardt Nov 13, 2023
7ae4041
ice40, ecp5, gowin: enable ABC9 by default
Ravenslofty Nov 13, 2023
6cf50d1
Merge pull request #3973 from anonkey/master
jix Nov 13, 2023
3fef81b
Merge pull request #4028 from povik/cmp2softlogic
nakengelhardt Nov 13, 2023
52d3fa6
Merge pull request #4022 from povik/machxo3-qor-work
nakengelhardt Nov 13, 2023
8e470ad
Merge pull request #4029 from YosysHQ/lofty/abc9-again
nakengelhardt Nov 13, 2023
46408b5
Bump version
github-actions[bot] Nov 14, 2023
726c501
Update WASI compilation flags to include required libraries
whitequark Nov 14, 2023
c11744b
Fix WASI compilation flags for abc.
whitequark Nov 14, 2023
3095587
gowin: fix typo
Ravenslofty Nov 14, 2023
7eea047
Bump version
github-actions[bot] Nov 15, 2023
032fab1
Merge pull request #4032 from YosysHQ/lofty/gowin-abc9-oopsie
nakengelhardt Nov 15, 2023
5c96746
ice40: fix -noabc9
Ravenslofty Nov 17, 2023
fa5fb81
Merge pull request #4037 from YosysHQ/lofty/ice40-abc9-oopsie
nakengelhardt Nov 17, 2023
ab6c1d3
Bump version
github-actions[bot] Nov 18, 2023
a75b6df
Merge pull request #7 from thiskappaisgrey/patch-1
gussmith23 Nov 20, 2023
552bc90
Merge remote-tracking branch 'YosysHQ/master' into gussmith23/lakeroa…
gussmith23 Nov 20, 2023
fa5dc7d
Merge branch 'master' into gussmith23/lakeroad-backend
gussmith23 Nov 20, 2023
82eb326
Change to new syntax
gussmith23 Nov 20, 2023
c6fa24e
Fix test
gussmith23 Nov 20, 2023
9e0a5b1
Add a new test for not
thiskappaisgrey Dec 6, 2023
d9aec27
Add simple mux test case - fails because of not
thiskappaisgrey Dec 8, 2023
c3621ce
Add implementations for more gates
thiskappaisgrey Dec 8, 2023
1f0ec58
Remove the Reduce* Ops again
thiskappaisgrey Dec 8, 2023
5b4860c
Modify simple mux to show segfault
thiskappaisgrey Dec 8, 2023
67b129c
Change the tests to the other format
thiskappaisgrey Dec 12, 2023
dfbafc8
Add a small clarification comment
thiskappaisgrey Dec 12, 2023
4ccc4ba
Merge pull request #8 from thiskappaisgrey/thiskappaisgrey/lakeroad-b…
gussmith23 Dec 12, 2023
2a18fe5
Allow `write_lakeroad` backend to write output to file instead of std…
thiskappaisgrey Dec 17, 2023
f25d6e1
notes from yosys meeting
gussmith23 Jan 31, 2024
e1edbeb
Add note on bug
gussmith23 Feb 5, 2024
a91940c
Don't `sigmap`, as it causes a loop.
gussmith23 Feb 5, 2024
7e9a195
Don't techmap
gussmith23 Feb 5, 2024
921ebc1
Add ReduceOr (haven't yet added it to egglog!!!)
gussmith23 Feb 5, 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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ __pycache__
/tests/unit/bintest/
/tests/unit/objtest/
/tests/ystests

# lit files
backends/lakeroad/tests/.lit_test_times.txt
backends/lakeroad/tests/Output/
3 changes: 3 additions & 0 deletions backends/lakeroad/Makefile.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

OBJS += backends/lakeroad/lakeroad.o

11 changes: 11 additions & 0 deletions backends/lakeroad/example.ys
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
read_verilog <<EOF
module test(input [1:0] a, input b, output o);
assign o = a & b;
endmodule
EOF

# Write output to stdout
write_lakeroad
# Write output to file.egg
write_lakeroad file.egg
!rm file.egg
Loading
Loading