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

Convert Yosys fork into Yosys plugin plus other cleanup #4

Merged
merged 59 commits into from
Feb 18, 2024

Conversation

gussmith23
Copy link
Owner

@gussmith23 gussmith23 commented Feb 16, 2024

Simplifies Yosys integration down to a plugin. Keeps existing testing infrastructure.

Plus other cleanup:

  • Add .dockerignore
  • Documentation
  • Updating CI

cc @thiskappaisgrey.

@gussmith23 gussmith23 marked this pull request as ready for review February 18, 2024 21:24
@gussmith23 gussmith23 changed the title Convert Yosys fork into Yosys plugin Convert Yosys fork into Yosys plugin plus other cleanup Feb 18, 2024
@gussmith23 gussmith23 merged commit cc0070f into main Feb 18, 2024
3 checks passed
@gussmith23 gussmith23 deleted the gussmith23/2024-02-15-yosys-plugin branch February 18, 2024 23:53
gussmith23 added a commit that referenced this pull request Feb 19, 2024
gussmith23 added a commit that referenced this pull request Feb 19, 2024
* Add lakeroad-egglog

* Add test infra and test

* Add widths

* Change arg order

* Add permuter example

* Add simple typing

* Update permuter

* Add typing test

* Add ZeroExtend

* Fix bug

* Add eq judgement

* Make mux an Op3

* Add more typing judgements

* Update permuter test

* Comment

* Add commented code for producing SVGs

* Change comment

* Make Ops expensive to extract

* Add LUTs; add a bunch of rewrites

* Upgrade tests

* Do more rewrites/extract in test

* Move code

* Put everything in one ruleset

* Simplify nested extracts

* Simplify concats of nested extracts

* Add more simplification rewrites

* Add check for regression

* Split back into rulesets

* Begin an egglog->verilator compiler

* More work on Verilog compiler

* More work

* Add Yosys submodule w/ Lakeroad Egglog backend

* Add agilex_alm skeleton and diagram

* Finish initial impl of ALM model

* Whoops, get rid of copilot bug

* Rewrite to explicitly use shift and cast; avoids

* Update Yosys

* fmt

* Add Shr and Xor

* Add agilex ALM test (doesn't do anything for now)

* begin structuring rewrite generation

* More work

* more work

* Add more typing rules (wire, xor, shr) + test (#379)

* Cleanup

* Add new lakeroad-egglog tests to main test script

* Fork new version of Lakeroad egglog definition for AU experiments

* WIP

* Add 'debruijnify', which converts a list of expressions into potential de bruijn indices

* Adds initial module-enumeration rewrites

* Add anotehr rule

* Add another rewrite

* More rewrites

* Add commented out svg code

* Move lakeroad import stuff into its own function

* Update yosys

* Add new permuter test

* Run enumeration rewrites

* Add function to generate rewrites

* Generate rewrites programmatically

* run til saturation

* Add typing rules

* Just run to saturation without checking

* Add module enumeration rewrite for Var

* Rewrite to split up concats

* run expansion rewrites

* Add Var_ to prevent loops in `apply`s

* Add Cargo.lock

* Move new LR syntax to main lakeroad.egg file

* Add revision for egglog

* Add test for finding loop

* Remove lockfile to see if it fixes CI

* Add old churchroad content

* Lots of deleting and moving

* Update workflow

* Cut down Dockerfile

* Fix command

* Run workflow on GitHub runners

* Move lakeroad-egglog files to top level

* Fix test script; dump README

* undo

* Remove Yosys submodule after #4

* Fixes after merge

* Rename symbol

* remove lexpr

* Comment changes, renamings

* `cargo update`

---------

Co-authored-by: Thanawat Techaumnuaiwit <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant