<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chiselX/src, branch master</title>
<subtitle>Chisel with SFC compatibility</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/'/>
<entry>
<title>TruthTable improvements: structural equality and delete sort (backport #2935) (#2936)</title>
<updated>2023-01-12T00:04:06+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2023-01-12T00:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=6a63353f2a6c3311e61b9a7b5b899d8ad904a86d'/>
<id>6a63353f2a6c3311e61b9a7b5b899d8ad904a86d</id>
<content type='text'>
* TruthTable improvements: structural equality and delete sort (#2935)

We had implemented equals, but not hashCode. This commit also changes
the implemental of equals to just use the underlying values instead of
wasting the compute calling .toString.

Delete TruthTable.sort, it is unused.

(cherry picked from commit b5d9c08b2d0994b94df2380425282206fe1f25bc)

* Restore and deprecate TruthTable.sort

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* TruthTable improvements: structural equality and delete sort (#2935)

We had implemented equals, but not hashCode. This commit also changes
the implemental of equals to just use the underlying values instead of
wasting the compute calling .toString.

Delete TruthTable.sort, it is unused.

(cherry picked from commit b5d9c08b2d0994b94df2380425282206fe1f25bc)

* Restore and deprecate TruthTable.sort

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Promote ChiselEnum user APIs from experimental (backport #2929) (#2931)</title>
<updated>2023-01-11T22:40:32+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2023-01-11T22:40:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=d4570fb9d29371c35641ba79b76662f99677f192'/>
<id>d4570fb9d29371c35641ba79b76662f99677f192</id>
<content type='text'>
* Promote ChiselEnum user APIs from experimental (#2929)

They are commonly used and if we were ever to change them, we will need
to go through a deprecation process anyway.

Note that the EnumAnnotations remain in chisel3.experimental because,
like all Chisel annotation support, they are slated to be deprecated and
removed.

(cherry picked from commit 424e9446f1675fe0168e22bdfbbe85db997376e6)

# Conflicts:
#	docs/src/cookbooks/verilog-vs-chisel.md
#	docs/src/explanations/chisel-enum.md

* Maintain binary compatbility, use aliases in chisel3 package

* Deprecate the actual classes in chisel3.experimental
* Also fix backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Promote ChiselEnum user APIs from experimental (#2929)

They are commonly used and if we were ever to change them, we will need
to go through a deprecation process anyway.

Note that the EnumAnnotations remain in chisel3.experimental because,
like all Chisel annotation support, they are slated to be deprecated and
removed.

(cherry picked from commit 424e9446f1675fe0168e22bdfbbe85db997376e6)

# Conflicts:
#	docs/src/cookbooks/verilog-vs-chisel.md
#	docs/src/explanations/chisel-enum.md

* Maintain binary compatbility, use aliases in chisel3 package

* Deprecate the actual classes in chisel3.experimental
* Also fix backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Check for Vec subaccess in NamedComponent and throw a nicer error. (backport #2907) (#2928)</title>
<updated>2023-01-10T07:19:45+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2023-01-10T07:19:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=9a7945fd86fcad02da0556d8f4a30daa4b005f9d'/>
<id>9a7945fd86fcad02da0556d8f4a30daa4b005f9d</id>
<content type='text'>
* Check for Vec subaccess in NamedComponent and throw a nicer error. (#2907)

This would previously end up throwing an exception later, when trying
to create a component name and realizing that it was invalid. Instead,
this detects Vec subaccesses early, and gives a more precise error and
suggestion.

(cherry picked from commit d8c30961c7b293ee19024a487698630367ee71c6)

# Conflicts:
#	core/src/main/scala/chisel3/internal/Builder.scala

* Resolve backport conflicts

Co-authored-by: Mike Urbach &lt;mikeurbach@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Check for Vec subaccess in NamedComponent and throw a nicer error. (#2907)

This would previously end up throwing an exception later, when trying
to create a component name and realizing that it was invalid. Instead,
this detects Vec subaccesses early, and gives a more precise error and
suggestion.

(cherry picked from commit d8c30961c7b293ee19024a487698630367ee71c6)

# Conflicts:
#	core/src/main/scala/chisel3/internal/Builder.scala

* Resolve backport conflicts

Co-authored-by: Mike Urbach &lt;mikeurbach@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>FlatIOSpec: make sure the Analog test is using FLatIO (#2909) (#2910)</title>
<updated>2022-12-24T17:45:37+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-12-24T17:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=116210ff806ccdda91b4c3343f78bad66783d0e6'/>
<id>116210ff806ccdda91b4c3343f78bad66783d0e6</id>
<content type='text'>
(cherry picked from commit b91a2050aeb143aa80762dfb1b40f1e5035de4b5)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit b91a2050aeb143aa80762dfb1b40f1e5035de4b5)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix string interpolation in `util.exprimental.decode.bitset` (#2882) (#2883)</title>
<updated>2022-12-10T10:45:37+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-12-10T10:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=044b062468c90a1084221e480463515c668e99df'/>
<id>044b062468c90a1084221e480463515c668e99df</id>
<content type='text'>
* Fix BitSet decoder API when errorBit=False

    When errorBit is set to False, the original code will return
    `Unit` which will be `()` in interpolated string.

* Add testcases for both errorBit cases in BitSetSpec

(cherry picked from commit 42416cb6c6a3019fc29b9d98cfea3e3bb4e42684)

Co-authored-by: Ocean Shen &lt;30361859+OceanS2000@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix BitSet decoder API when errorBit=False

    When errorBit is set to False, the original code will return
    `Unit` which will be `()` in interpolated string.

* Add testcases for both errorBit cases in BitSetSpec

(cherry picked from commit 42416cb6c6a3019fc29b9d98cfea3e3bb4e42684)

Co-authored-by: Ocean Shen &lt;30361859+OceanS2000@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Make PriorityMux stack safe (backport #2854) (#2855)</title>
<updated>2022-12-07T00:41:55+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-12-07T00:41:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=41d0d4cd075130cb6b4e41a7c7b6183830b5b9bc'/>
<id>41d0d4cd075130cb6b4e41a7c7b6183830b5b9bc</id>
<content type='text'>
* Make PriorityMux stack safe (#2854)

It used to be implemented with recursion, now it's implemented with a
stack safe reverse and foldLeft.

Also there were no tests for PriorityMux so I added one which helps
prove the change is functionally correct.

(cherry picked from commit 269ce472e9aa0c242fc028871a1fd5b045c82f83)

# Conflicts:
#	src/test/scala/chiselTests/util/PipeSpec.scala

* Resolve backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make PriorityMux stack safe (#2854)

It used to be implemented with recursion, now it's implemented with a
stack safe reverse and foldLeft.

Also there were no tests for PriorityMux so I added one which helps
prove the change is functionally correct.

(cherry picked from commit 269ce472e9aa0c242fc028871a1fd5b045c82f83)

# Conflicts:
#	src/test/scala/chiselTests/util/PipeSpec.scala

* Resolve backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Implement compressed Namespace (backport #2856) (#2860)</title>
<updated>2022-11-29T17:24:38+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-29T17:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=c21f31d09f2511497cea5cb03bd6ddba440c55fe'/>
<id>c21f31d09f2511497cea5cb03bd6ddba440c55fe</id>
<content type='text'>
* Implement compressed Namespace (#2856)

The namespace disambiguates requests for the same name with _&lt;idx&gt;.
Rather than storing every disambiguated name in the underlying HashMap,
it now only stores the base along with the "next available" index. This
makes the logic for checking if a name is already contained in the
namespace slightly more sophisticated because users can name things in a
way that will collide with disambiguated names from a common substring.

For example, in naming the sequence "foo", "foo", "foo_1", the 2nd "foo"
takes the name "foo_1" so the following "foo_1" gets disambiguated to
"foo_1_1". But since we compressed that original "foo_1" into the same
HashMap entry as just "foo", we have to do a form of "prefix checking"
whenever naming something that ends in "_&lt;idx&gt;".

In practice, the saved memory allocations more than make up for the more
complicated logic to disambiguate names because the common case is still
fast.

(cherry picked from commit 1654d87a02ca799bf12805a611a91e7524d49843)

# Conflicts:
#	core/src/main/scala/chisel3/internal/Builder.scala

* Resolve backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Implement compressed Namespace (#2856)

The namespace disambiguates requests for the same name with _&lt;idx&gt;.
Rather than storing every disambiguated name in the underlying HashMap,
it now only stores the base along with the "next available" index. This
makes the logic for checking if a name is already contained in the
namespace slightly more sophisticated because users can name things in a
way that will collide with disambiguated names from a common substring.

For example, in naming the sequence "foo", "foo", "foo_1", the 2nd "foo"
takes the name "foo_1" so the following "foo_1" gets disambiguated to
"foo_1_1". But since we compressed that original "foo_1" into the same
HashMap entry as just "foo", we have to do a form of "prefix checking"
whenever naming something that ends in "_&lt;idx&gt;".

In practice, the saved memory allocations more than make up for the more
complicated logic to disambiguate names because the common case is still
fast.

(cherry picked from commit 1654d87a02ca799bf12805a611a91e7524d49843)

# Conflicts:
#	core/src/main/scala/chisel3/internal/Builder.scala

* Resolve backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>fullModulePorts + Opaque Types Fix and Test (#2845) (#2846)</title>
<updated>2022-11-15T05:28:10+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-15T05:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=b169f6db95f9778cf8968cc1042b7f810f9d8123'/>
<id>b169f6db95f9778cf8968cc1042b7f810f9d8123</id>
<content type='text'>
(cherry picked from commit 49feb083c69066988ca0666ea4249a86570e2589)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 49feb083c69066988ca0666ea4249a86570e2589)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Update CompatibilityInteroperabilitySpec.scala (#2840) (#2842)</title>
<updated>2022-11-10T23:55:25+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-10T23:55:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=c70e5bebaeaf5b0bd54ee84dc644ddd6973a1b86'/>
<id>c70e5bebaeaf5b0bd54ee84dc644ddd6973a1b86</id>
<content type='text'>
(cherry picked from commit aa596b98d5e030294041f2e90eee1f78ca1e401b)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit aa596b98d5e030294041f2e90eee1f78ca1e401b)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title> Warn on S-interpolator usage for assert, assume and printf (backport #2751) (#2757)</title>
<updated>2022-11-10T21:41:00+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2022-11-10T21:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=c51fcfea32b6c73e623657442460fb782ff0733b'/>
<id>c51fcfea32b6c73e623657442460fb782ff0733b</id>
<content type='text'>
* Add internal methods to maintain binary compatibility

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add internal methods to maintain binary compatibility

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
</feed>
