<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chiselX/core/src/main/scala/chisel3/internal, branch scala3-support</title>
<subtitle>Chisel with SFC compatibility</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/'/>
<entry>
<title>Add partial util files so that it successfully compiles</title>
<updated>2024-06-04T09:14:01+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-06-04T09:14:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=334abb9a6c64bac015b8b7ed5a0ca51e1611bec6'/>
<id>334abb9a6c64bac015b8b7ed5a0ca51e1611bec6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Get core to compile</title>
<updated>2024-06-03T16:44:01+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-06-03T16:44:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=a529d0e962cbe6a8f32dcc87d5193df46c0ebc94'/>
<id>a529d0e962cbe6a8f32dcc87d5193df46c0ebc94</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove sourceinfo, compileoptions and other fixes</title>
<updated>2024-05-31T23:43:42+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-05-31T23:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=9b61af16227ee41aae15dbcc2243e2c6493955c4'/>
<id>9b61af16227ee41aae15dbcc2243e2c6493955c4</id>
<content type='text'>
35 erros
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
35 erros
</pre>
</div>
</content>
</entry>
<entry>
<title>52 errors, removing implicit sourceinfo to clear more errors</title>
<updated>2024-05-31T21:15:38+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-05-31T21:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=caf746088b7d92def18f2b3d6ccb7dfd9860e64b'/>
<id>caf746088b7d92def18f2b3d6ccb7dfd9860e64b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>i got 99 errors but "firrtl not found" aint one</title>
<updated>2024-05-30T00:28:22+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-05-30T00:28:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=bc92bb62f9f6a090e74392993e4fcfdd1f6b0676'/>
<id>bc92bb62f9f6a090e74392993e4fcfdd1f6b0676</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Get cleanup to compile</title>
<updated>2024-05-03T17:59:45+00:00</updated>
<author>
<name>Aditya Naik</name>
</author>
<published>2024-05-03T17:59:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=878d488a7c8e0d6973de58b3164022c6a102e449'/>
<id>878d488a7c8e0d6973de58b3164022c6a102e449</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Improve performance of ChiselEnum annotations (#2923) (#2927)</title>
<updated>2023-01-09T22:57:22+00:00</updated>
<author>
<name>mergify[bot]</name>
</author>
<published>2023-01-09T22:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/chiselX/commit/?id=12785c6b2b8e378a5aa9db1833df7486d8f2a486'/>
<id>12785c6b2b8e378a5aa9db1833df7486d8f2a486</id>
<content type='text'>
ChiselEnums check if they should create annotations every time an
instance of them is bound. Because so many annotations would be created,
they check to see if an equivalent annotation has already been added to
the annotations. Previously, this used a linear search of the
annotations, now it uses a HashSet.

(cherry picked from commit 96bde092e449281dc70ebdb05f21695468c3e5fa)

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ChiselEnums check if they should create annotations every time an
instance of them is bound. Because so many annotations would be created,
they check to see if an equivalent annotation has already been added to
the annotations. Previously, this used a linear search of the
annotations, now it uses a HashSet.

(cherry picked from commit 96bde092e449281dc70ebdb05f21695468c3e5fa)

Co-authored-by: Jack Koenig &lt;koenig@sifive.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>
</feed>
