-
Notifications
You must be signed in to change notification settings - Fork 603
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
Refactor TruthTable.apply and add factory method for Espresso #2612
Merged
jackkoenig
merged 10 commits into
chipsalliance:master
from
adkian-sifive:truthtable-refactor
Jul 6, 2022
Merged
Refactor TruthTable.apply and add factory method for Espresso #2612
jackkoenig
merged 10 commits into
chipsalliance:master
from
adkian-sifive:truthtable-refactor
Jul 6, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sequencer
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
mwachs5
reviewed
Jul 1, 2022
jackkoenig
requested changes
Jul 1, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
jackkoenig
reviewed
Jul 5, 2022
src/test/scala/chiselTests/util/experimental/TruthTableSpec.scala
Outdated
Show resolved
Hide resolved
adkian-sifive
force-pushed
the
truthtable-refactor
branch
2 times, most recently
from
July 6, 2022 00:12
f13e0c6
to
f178c89
Compare
jackkoenig
reviewed
Jul 6, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
jackkoenig
reviewed
Jul 6, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
jackkoenig
reviewed
Jul 6, 2022
src/main/scala/chisel3/util/experimental/decode/EspressoMinimizer.scala
Outdated
Show resolved
Hide resolved
Rename espressoFDFormat to checkCollisions and update its polarity. Update conflict condition to match new polarity/meaning
adkian-sifive
force-pushed
the
truthtable-refactor
branch
from
July 6, 2022 17:16
019683b
to
8aa6275
Compare
mwachs5
reviewed
Jul 6, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
Co-authored-by: Megan Wachs <megan@sifive.com>
jackkoenig
reviewed
Jul 6, 2022
src/main/scala/chisel3/util/experimental/decode/TruthTable.scala
Outdated
Show resolved
Hide resolved
jackkoenig
approved these changes
Jul 6, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One last nit but otherwise LGTM!
Co-authored-by: Jack Koenig <jack.koenig3@gmail.com>
mergify bot
pushed a commit
that referenced
this pull request
Jul 6, 2022
Improves performance of creating TruthTables by processing entire BitPats rather than individual bits. New TruthTable factory method enables constructing TruthTables with semantics of OR-ing output BitPats together rather than erroring when multiple terms have the same input BitPat. This alternative factory method matches semantics for the output format of Espresso. Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit 231f14e) # Conflicts: # src/main/scala/chisel3/util/BitPat.scala
mergify bot
added a commit
that referenced
this pull request
Jul 6, 2022
#2612) (#2620) * Refactor TruthTable.apply and add factory method for Espresso (#2612) Improves performance of creating TruthTables by processing entire BitPats rather than individual bits. New TruthTable factory method enables constructing TruthTables with semantics of OR-ing output BitPats together rather than erroring when multiple terms have the same input BitPat. This alternative factory method matches semantics for the output format of Espresso. Co-authored-by: Megan Wachs <megan@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit 231f14e) # Conflicts: # src/main/scala/chisel3/util/BitPat.scala * Resolve backport conflicts Co-authored-by: Aditya Naik <91489422+adkian-sifive@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contributor Checklist
docs/src
?Type of Improvement
API Impact
Add new factory method for TruthTable which allows using Espresso's
fd
formatting for truth tablesBackend Code Generation Impact
Desired Merge Strategy
Release Notes
Optimize
TruthTable.apply
by refactoring string processing to bitwise operations. Add new factory method for TruthTable to allow callingTruthTable.apply
with Espresso'sfd
format.Reviewer Checklist (only modified by reviewer)
3.4.x
, [small] API extension:3.5.x
, API modification or big change:3.6.0
)?Enable auto-merge (squash)
, clean up the commit message, and label withPlease Merge
.Create a merge commit
.