<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chiselX/core/src/main/scala/chisel3/experimental, branch master</title>
<subtitle>Chisel with SFC compatibility</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/'/>
<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>Replay changes on 3.5.x (#2865)</title>
<updated>2022-12-08T22:17:33+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-12-08T22:17:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=294bf10510b2dc55312be2e87f9bed556c68afc5'/>
<id>294bf10510b2dc55312be2e87f9bed556c68afc5</id>
<content type='text'>
Co-authored-by: Aditya Naik &lt;aditya.naik@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Aditya Naik &lt;aditya.naik@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Switch to using experimental trait for OpaqueTypes (backport #2783) (#2836)</title>
<updated>2022-11-08T17:27:07+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-08T17:27:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=bfa9f7465e6069b1e624126f9e14245b69e7c0a9'/>
<id>bfa9f7465e6069b1e624126f9e14245b69e7c0a9</id>
<content type='text'>
* Switch to using experimental trait for OpaqueTypes (#2783)

This makes it more clear that the feature is experimental. Users may
still override the opaqueType method for more dynamic control over when
instances of a given Record are OpaqueTypes or not, but they are
discouraged from doing so.

(cherry picked from commit 7525dc71ccc2050d8e4a68b38f3b76920ba693fc)

* Fix cloneType in RecordSpec

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Switch to using experimental trait for OpaqueTypes (#2783)

This makes it more clear that the feature is experimental. Users may
still override the opaqueType method for more dynamic control over when
instances of a given Record are OpaqueTypes or not, but they are
discouraged from doing so.

(cherry picked from commit 7525dc71ccc2050d8e4a68b38f3b76920ba693fc)

* Fix cloneType in RecordSpec

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Improve Record.bind and Detect Records with unstable elements (backport #2829) (#2831)</title>
<updated>2022-11-08T07:05:53+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-08T07:05:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=f2ef3a8ee378a307661bd598cd44d4b895b9352e'/>
<id>f2ef3a8ee378a307661bd598cd44d4b895b9352e</id>
<content type='text'>
* Add Aggregate.elementsIterator and micro-optimize

elementsIterator provides a more efficient API for iterating on the
elements of Aggregates. It is especially useful for Records where
getElements returns a Seq and thus eagerly constructs a new
datastructure which may then just be iterated on anyway.

This new elementsIterator API is then used throughout the codebase where
it makes sense.

Also change Vec.getElements to just return the underlying self instead
of constructing a new Seq.

(cherry picked from commit defa440b349031475daeff4024fad04925cccee6)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala
#	core/src/main/scala/chisel3/Module.scala
#	core/src/main/scala/chisel3/experimental/Trace.scala

* Move Aggregate.bind inline into Record.bind

Vec overrides bind and does not call the version in Aggregate so the
version in Aggregate is misleading in that its only ever used by
Records. Now there is no version in Aggregate and the actual
functionality and use is more clear.

(cherry picked from commit b054c30ba47026cb2a9b28c696a0a0a58b1e2ee7)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala

* Extract and optimize duplicate checking Record.bind

This replaces an immutable.Map with a single mutable.HashSet and saves
the allocation of # elements Seqs.

(cherry picked from commit 832ea52bc23424bb75b9654422b725a9cafaef40)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala

* Add check for Records that define def elements

(cherry picked from commit a4f223415de19e2a732e0b6a8fe681f706a19a56)

* Resolve backport conflicts

* Make elementsIterator final and package private

* Waive false MiMa failure

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add Aggregate.elementsIterator and micro-optimize

elementsIterator provides a more efficient API for iterating on the
elements of Aggregates. It is especially useful for Records where
getElements returns a Seq and thus eagerly constructs a new
datastructure which may then just be iterated on anyway.

This new elementsIterator API is then used throughout the codebase where
it makes sense.

Also change Vec.getElements to just return the underlying self instead
of constructing a new Seq.

(cherry picked from commit defa440b349031475daeff4024fad04925cccee6)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala
#	core/src/main/scala/chisel3/Module.scala
#	core/src/main/scala/chisel3/experimental/Trace.scala

* Move Aggregate.bind inline into Record.bind

Vec overrides bind and does not call the version in Aggregate so the
version in Aggregate is misleading in that its only ever used by
Records. Now there is no version in Aggregate and the actual
functionality and use is more clear.

(cherry picked from commit b054c30ba47026cb2a9b28c696a0a0a58b1e2ee7)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala

* Extract and optimize duplicate checking Record.bind

This replaces an immutable.Map with a single mutable.HashSet and saves
the allocation of # elements Seqs.

(cherry picked from commit 832ea52bc23424bb75b9654422b725a9cafaef40)

# Conflicts:
#	core/src/main/scala/chisel3/Aggregate.scala

* Add check for Records that define def elements

(cherry picked from commit a4f223415de19e2a732e0b6a8fe681f706a19a56)

* Resolve backport conflicts

* Make elementsIterator final and package private

* Waive false MiMa failure

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Support Analog in DataView (#2782) (#2828)</title>
<updated>2022-11-05T22:31:07+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-05T22:31:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=017bd6b9c96974df2a3c4f35e069d60fec001f2e'/>
<id>017bd6b9c96974df2a3c4f35e069d60fec001f2e</id>
<content type='text'>
Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;
(cherry picked from commit 26100a875c69bf56f7442fac82ca9c74ad3596eb)

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

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add PartialDataView.supertype (backport #2826) (#2827)</title>
<updated>2022-11-04T18:20:07+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-11-04T18:20:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=4149157df6531d124483d992daf96cf4e62a0f0c'/>
<id>4149157df6531d124483d992daf96cf4e62a0f0c</id>
<content type='text'>
* Add PartialDataView.supertype (#2826)

This factory method makes it easy to create PartialDataViews from a
Bundle type to its supertype. Because of the typing relationship, there
is no need to provide a mapping between fields. The only thing necessary
is to provide a function for constructing an instance of the supertype
from an instance of the subtype.

(cherry picked from commit 251d454a224e5a961438ba0ea41134d7da7a5992)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/dataview/package.scala
#	src/test/scala/chiselTests/experimental/DataView.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>
* Add PartialDataView.supertype (#2826)

This factory method makes it easy to create PartialDataViews from a
Bundle type to its supertype. Because of the typing relationship, there
is no need to provide a mapping between fields. The only thing necessary
is to provide a function for constructing an instance of the supertype
from an instance of the subtype.

(cherry picked from commit 251d454a224e5a961438ba0ea41134d7da7a5992)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/dataview/package.scala
#	src/test/scala/chiselTests/experimental/DataView.scala

* Resolve backport conflicts

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add traceNameV2 for backwards compat. of traceName (#2784) (#2786)</title>
<updated>2022-10-18T18:48:54+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-10-18T18:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=9b8536b6af9f029a0edfb1c8df4f47a67e861c9d'/>
<id>9b8536b6af9f029a0edfb1c8df4f47a67e861c9d</id>
<content type='text'>
Add utilities to enable backwards compatibility of the Trace.traceName
API to Chisel 3.5.x.  This adds a Trace.traceNameV2 utility which
aliases to Trace.traceName.  This also removes the TraceNameAnnotation
and renames it TraceAnnotation.  In 3.5.x, traceName will point at
TraceNameAnnotation (which has don't touch behavior) and will be
deprecated telling people to use traceNameV2 which will point at
TraceAnnotation (which does not have don't touch behavior).  This will
require fixups to the backport associated with this PR.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
(cherry picked from commit 47b7227e1ac7ccb0d48cefef03510542cc7e157e)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/Trace.scala

Co-authored-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add utilities to enable backwards compatibility of the Trace.traceName
API to Chisel 3.5.x.  This adds a Trace.traceNameV2 utility which
aliases to Trace.traceName.  This also removes the TraceNameAnnotation
and renames it TraceAnnotation.  In 3.5.x, traceName will point at
TraceNameAnnotation (which has don't touch behavior) and will be
deprecated telling people to use traceNameV2 which will point at
TraceAnnotation (which does not have don't touch behavior).  This will
require fixups to the backport associated with this PR.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
(cherry picked from commit 47b7227e1ac7ccb0d48cefef03510542cc7e157e)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/Trace.scala

Co-authored-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix traceName module type to RawModule (backport #2765) (#2768)</title>
<updated>2022-10-10T20:21:22+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-10-10T20:21:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=721adc5c5509af48118afae44afa6b8a0107a926'/>
<id>721adc5c5509af48118afae44afa6b8a0107a926</id>
<content type='text'>
* Fix traceName module type to RawModule (#2765)

Change the type of modules that the traceName API can be used for from
"Module" to "RawModule".  This fixes a bug where this API couldn't be
used for RawModules even though it totally works.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
(cherry picked from commit 74f1c85060cc72ebffe59a49f8d4539a464a4a19)

* Fix binary compatibility issue

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix traceName module type to RawModule (#2765)

Change the type of modules that the traceName API can be used for from
"Module" to "RawModule".  This fixes a bug where this API couldn't be
used for RawModules even though it totally works.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
(cherry picked from commit 74f1c85060cc72ebffe59a49f8d4539a464a4a19)

* Fix binary compatibility issue

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Make nested IsInstantiables with Data in them work (#2761) (#2766)</title>
<updated>2022-10-07T19:56:19+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-10-07T19:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=5b13d04b28ddd05e4acbc5b9b3755c92ac0d9515'/>
<id>5b13d04b28ddd05e4acbc5b9b3755c92ac0d9515</id>
<content type='text'>
* Add unit test for Issue 2760

* checkpoint: Fix for nested instance

* remove comments about stuff not working

* make the test check the output a little more

* relax the requirement on returning empty ioMap

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

* Update core/src/main/scala/chisel3/Data.scala

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;

* Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

* Add another unit test which unfortunately still passes

* Update core/src/main/scala/chisel3/Data.scala

* Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;
(cherry picked from commit 1f9f26dc2bffcb4cc4daf2dc16c5cb455c6769ef)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add unit test for Issue 2760

* checkpoint: Fix for nested instance

* remove comments about stuff not working

* make the test check the output a little more

* relax the requirement on returning empty ioMap

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

* Update core/src/main/scala/chisel3/Data.scala

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;

* Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;

* Update core/src/main/scala/chisel3/experimental/hierarchy/core/Lookupable.scala

* Add another unit test which unfortunately still passes

* Update core/src/main/scala/chisel3/Data.scala

* Update src/test/scala/chiselTests/experimental/hierarchy/InstanceSpec.scala

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;
(cherry picked from commit 1f9f26dc2bffcb4cc4daf2dc16c5cb455c6769ef)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add a cookbook and publicly visible scaladoc for prefix, noPrefix (#2687) (#2690)</title>
<updated>2022-08-16T16:57:34+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-08-16T16:57:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=96830a4ad502019ff1040889a89375ff1e3a6c6b'/>
<id>96830a4ad502019ff1040889a89375ff1e3a6c6b</id>
<content type='text'>
* Add a cookbook and publicly visible scaladoc for prefix, noPrefix

(cherry picked from commit ae7dc30b3b99f1fbd91c35f54bc19be7c55f74a3)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add a cookbook and publicly visible scaladoc for prefix, noPrefix

(cherry picked from commit ae7dc30b3b99f1fbd91c35f54bc19be7c55f74a3)

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;</pre>
</div>
</content>
</entry>
</feed>
