<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chiselX/src/main/scala/chisel3/aop, branch abstract-module</title>
<subtitle>Chisel with SFC compatibility</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/'/>
<entry>
<title>cleanup</title>
<updated>2023-11-23T11:11:56+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2023-11-23T11:11:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=af415532cf160e63e971ceb301833b8433c18a50'/>
<id>af415532cf160e63e971ceb301833b8433c18a50</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Add option to treat warnings as errors (backport #2676) (#2677)</title>
<updated>2022-08-13T00:17:56+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-08-13T00:17:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=c4dec947d54a52c3092bd7855180d42afaae3776'/>
<id>c4dec947d54a52c3092bd7855180d42afaae3776</id>
<content type='text'>
* Add option to treat warnings as errors (#2676)

Add --warnings-as-errors option

(cherry picked from commit 498946663726955c380a1e420f5d7b9630000aad)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/hierarchy/Definition.scala
#	core/src/main/scala/chisel3/internal/Builder.scala
#	src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
#	src/main/scala/chisel3/stage/ChiselOptions.scala
#	src/main/scala/chisel3/stage/package.scala
#	src/main/scala/chisel3/stage/phases/Elaborate.scala

* Resolve backport conflicts

Co-authored-by: Zachary Yedidia &lt;zyedidia@gmail.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 option to treat warnings as errors (#2676)

Add --warnings-as-errors option

(cherry picked from commit 498946663726955c380a1e420f5d7b9630000aad)

# Conflicts:
#	core/src/main/scala/chisel3/experimental/hierarchy/Definition.scala
#	core/src/main/scala/chisel3/internal/Builder.scala
#	src/main/scala/chisel3/aop/injecting/InjectingAspect.scala
#	src/main/scala/chisel3/stage/ChiselOptions.scala
#	src/main/scala/chisel3/stage/package.scala
#	src/main/scala/chisel3/stage/phases/Elaborate.scala

* Resolve backport conflicts

Co-authored-by: Zachary Yedidia &lt;zyedidia@gmail.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Add --warn:reflective-naming (backport #2561) (#2565)</title>
<updated>2022-06-06T23:02:01+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-06-06T23:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=42f5d89045e7db323670964a982c59319cf9001f'/>
<id>42f5d89045e7db323670964a982c59319cf9001f</id>
<content type='text'>
* Factor buildName into reusable function

The new function is chisel3.internal.buildName.

(cherry picked from commit 370ca8ac68f6d888dd99e1b9e63f0371add398cf)

* Add --warn:reflective-naming

This new argument (and associated annotation) will turn on a warning
whenever reflective naming changes the name of a signal. This is
provided to help migrate from Chisel 3.5 to 3.6 since reflective naming
is removed in Chisel 3.6.

(cherry picked from commit 97afd9b9a1155fa7cd5cedf19f9e0c15fbe899ec)

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Factor buildName into reusable function

The new function is chisel3.internal.buildName.

(cherry picked from commit 370ca8ac68f6d888dd99e1b9e63f0371add398cf)

* Add --warn:reflective-naming

This new argument (and associated annotation) will turn on a warning
whenever reflective naming changes the name of a signal. This is
provided to help migrate from Chisel 3.5 to 3.6 since reflective naming
is removed in Chisel 3.6.

(cherry picked from commit 97afd9b9a1155fa7cd5cedf19f9e0c15fbe899ec)

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Improve error reporting (backport #2376) (#2379)</title>
<updated>2022-02-01T21:37:08+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2022-02-01T21:37:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=0eba2eb109910c1e4b980ccfc7f3ae85a8d0f223'/>
<id>0eba2eb109910c1e4b980ccfc7f3ae85a8d0f223</id>
<content type='text'>
* Improve error reporting (#2376)

* Do not trim stack traces of exceptions with no stack trace

This prevents us from accidentally giving stack traces to exceptions
that don't have them and giving misleading messages telling users to use
--full-stacktrace when it won't actually do anything.

Also deprecate ChiselException.chiselStackTrace which is no longer being
used anywhere in this codebase.

* Add exception class for multiple-errors reported

New chisel3.internal.Errors replaces old anonymous class that would show
up as chisel3.internal.ErrorLog$$anon$1 in error messages.

* Add new option --throw-on-first-error

This tells Chisel not to aggregate recoverable errors but instead to
throw an exception on the first one. This gives a stack trace for users
who need it for debugging.

(cherry picked from commit ff2e9c92247b3848659fa09fdd53ddde2120036a)

* Waive MiMa false positives

The waived change is to a package private constructor.

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>
* Improve error reporting (#2376)

* Do not trim stack traces of exceptions with no stack trace

This prevents us from accidentally giving stack traces to exceptions
that don't have them and giving misleading messages telling users to use
--full-stacktrace when it won't actually do anything.

Also deprecate ChiselException.chiselStackTrace which is no longer being
used anywhere in this codebase.

* Add exception class for multiple-errors reported

New chisel3.internal.Errors replaces old anonymous class that would show
up as chisel3.internal.ErrorLog$$anon$1 in error messages.

* Add new option --throw-on-first-error

This tells Chisel not to aggregate recoverable errors but instead to
throw an exception on the first one. This gives a stack trace for users
who need it for debugging.

(cherry picked from commit ff2e9c92247b3848659fa09fdd53ddde2120036a)

* Waive MiMa false positives

The waived change is to a package private constructor.

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>Apply scalafmt</title>
<updated>2022-01-10T23:53:55+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2022-01-10T18:39:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=3131c0daad41dea78bede4517669e376c41a325a'/>
<id>3131c0daad41dea78bede4517669e376c41a325a</id>
<content type='text'>
Command:
sbt scalafmtAll
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Command:
sbt scalafmtAll
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a Select.ios that works with Definition/Instance, fix isA behavior (#2315)</title>
<updated>2022-01-07T23:28:56+00:00</updated>
<author>
<name>Megan Wachs</name>
</author>
<published>2022-01-07T23:28:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=a1af6b7099f1207c67db3561507615fd18c487ef'/>
<id>a1af6b7099f1207c67db3561507615fd18c487ef</id>
<content type='text'>
* New Feature: Add a Select.ios that works with Definition/Instance
* BugFix: isA now truly ignores type parameters</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* New Feature: Add a Select.ios that works with Definition/Instance
* BugFix: isA now truly ignores type parameters</pre>
</div>
</content>
</entry>
<entry>
<title>Exposing more APIs from D/I internals (#2220)</title>
<updated>2021-10-29T01:18:34+00:00</updated>
<author>
<name>Adam Izraelevitz</name>
</author>
<published>2021-10-29T01:18:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=0c43dadf60c1485be348115c20690990f0fea940'/>
<id>0c43dadf60c1485be348115c20690990f0fea940</id>
<content type='text'>
Exposing more internals of D/I, which are required for supporting D/I with more powerful Chisel libraries:

- Exposing IsClone[_]
- Exposing InstantiableClone[_]
- Gated builders for Instance/Definition
- Unsealing Lookupable, with protected accessors for proto and cloned</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Exposing more internals of D/I, which are required for supporting D/I with more powerful Chisel libraries:

- Exposing IsClone[_]
- Exposing InstantiableClone[_]
- Gated builders for Instance/Definition
- Unsealing Lookupable, with protected accessors for proto and cloned</pre>
</div>
</content>
</entry>
<entry>
<title>Add Select APIs for Hierarchy package (#2210)</title>
<updated>2021-10-27T23:52:56+00:00</updated>
<author>
<name>Adam Izraelevitz</name>
</author>
<published>2021-10-27T23:52:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=ef8a9c2148f01e058d2986c9d64f0c35f640790c'/>
<id>ef8a9c2148f01e058d2986c9d64f0c35f640790c</id>
<content type='text'>
* Add Hierarchy trait

* Add Hierarchy trait

* Add Hierarchy scaladoc

* Add license

* Add isA and tests

* Add back isA

* Add new Select APIs for hierarchy package

* Update scaladoc

* Write outlines for tests

* Add tests and fixes to new Select functions

* Make calculate via lazy val

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Clean up scaladoc

* Add shouldNot compile

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Bugfix all funcs should analyze root too

* Add mdoc, bugfix toDefinition

* Make func private, add scaladoc

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

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

* Made protected vals private

* Apply suggestions from code review

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

* Address code review comments

* Added additional null check

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 Hierarchy trait

* Add Hierarchy trait

* Add Hierarchy scaladoc

* Add license

* Add isA and tests

* Add back isA

* Add new Select APIs for hierarchy package

* Update scaladoc

* Write outlines for tests

* Add tests and fixes to new Select functions

* Make calculate via lazy val

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Clean up scaladoc

* Add shouldNot compile

* Apply suggestions from code review

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;

* Bugfix all funcs should analyze root too

* Add mdoc, bugfix toDefinition

* Make func private, add scaladoc

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

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

* Made protected vals private

* Apply suggestions from code review

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

* Address code review comments

* Added additional null check

Co-authored-by: Megan Wachs &lt;megan@sifive.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>make all verification statements publically available (#2089)</title>
<updated>2021-09-23T18:12:26+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2021-09-23T18:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=d1d38bd096fce8b92468720fbedc835ecda40e6b'/>
<id>d1d38bd096fce8b92468720fbedc835ecda40e6b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
