<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/src/test/scala/firrtlTests, branch 1.6.x</title>
<subtitle>Scala FIRRTL Compiler for chiselX</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/'/>
<entry>
<title>Make return value of Serializer.lazily lazy (#2627)</title>
<updated>2023-03-21T00:28:59+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2023-03-21T00:28:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=57b8a395ee8d5fdabb2deed3db7d0c644f0a7eed'/>
<id>57b8a395ee8d5fdabb2deed3db7d0c644f0a7eed</id>
<content type='text'>
Directly subclassing Iterable is lazy-ish, but if you call any operation
on the resulting value (eg. map or ++) it will evaluate the Iterable and
return a List.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Directly subclassing Iterable is lazy-ish, but if you call any operation
on the resulting value (eg. map or ++) it will evaluate the Iterable and
return a List.</pre>
</div>
</content>
</entry>
<entry>
<title>Update serialization to firrtl-spec 1.2.0 (#2615)</title>
<updated>2023-03-15T22:14:16+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2023-03-15T22:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=54c814602af07540faf7a08853db87570fd4f30a'/>
<id>54c814602af07540faf7a08853db87570fd4f30a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix invalid references generated by VerilogMemDelays (#2588)</title>
<updated>2023-02-03T07:38:07+00:00</updated>
<author>
<name>Alan L</name>
</author>
<published>2023-02-03T07:38:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=94d425f0f48e84bbae1be9d44d64615a37d960d8'/>
<id>94d425f0f48e84bbae1be9d44d64615a37d960d8</id>
<content type='text'>
Transformation of mem readwriters whose address contain references to
readwriters of mems declared before it would contain invalid references
to untransformed memory readwriter, as the connection is not transformed.
This commit fixes this issue.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Transformation of mem readwriters whose address contain references to
readwriters of mems declared before it would contain invalid references
to untransformed memory readwriter, as the connection is not transformed.
This commit fixes this issue.</pre>
</div>
</content>
</entry>
<entry>
<title>[smem] fix read-under-write serialization (#2595)</title>
<updated>2023-01-25T16:06:45+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2023-01-25T16:06:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=82af22f300a6d47c63cd3304d5c9d0447b33091a'/>
<id>82af22f300a6d47c63cd3304d5c9d0447b33091a</id>
<content type='text'>
* [smem] fix read-under-write serialization

Also adds some tests for the parser and
the serializer.

* Serializer: always serialize smem ruw behavior

* test: simplify smem test circuit</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* [smem] fix read-under-write serialization

Also adds some tests for the parser and
the serializer.

* Serializer: always serialize smem ruw behavior

* test: simplify smem test circuit</pre>
</div>
</content>
</entry>
<entry>
<title>0-bit literals (#2544)</title>
<updated>2022-12-15T22:09:14+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2022-12-15T22:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=135739f0c7ef3f6404ba7115f77c7d7b913f6748'/>
<id>135739f0c7ef3f6404ba7115f77c7d7b913f6748</id>
<content type='text'>
* allow for zero-width integer literals
* CheckWidths: ensure that width is non-negative</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* allow for zero-width integer literals
* CheckWidths: ensure that width is non-negative</pre>
</div>
</content>
</entry>
<entry>
<title>Fix serialization of whens with empty blocks (#2560)</title>
<updated>2022-09-22T23:00:35+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2022-09-22T23:00:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=79c17c8448c8c15a245c3435d9c97c128738121e'/>
<id>79c17c8448c8c15a245c3435d9c97c128738121e</id>
<content type='text'>
Also get rid of whitespace-only lines that were emitted after every when
block.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also get rid of whitespace-only lines that were emitted after every when
block.</pre>
</div>
</content>
</entry>
<entry>
<title>Make the Parser handle errors more gracefully (#2549)</title>
<updated>2022-09-13T15:49:08+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2022-09-13T15:49:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=6cf4a175bfae5ff6eb3cd8fcdd1e5f69cda5d92d'/>
<id>6cf4a175bfae5ff6eb3cd8fcdd1e5f69cda5d92d</id>
<content type='text'>
Ever since introducing the Listener, the firrtl Parser now can hit
errors in the code converting from concrete syntax to abstract syntax
that may be due to syntax errors. These errors are essentially broken
assumptions about the structure of the parsed code because there is an
error. These errors are reported before the standard ANTLR syntax errors
are aggregated and reported, and thus could result in less than elegant
error messages (eg. NullPointerException). Now, the Parser will mask off
such errors in the event of standard syntax errors caught by the
ANTLR-generated parser.

This commit also cleans up some ParserSpec tests slightly to make the
ScalaTest style more canonical.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ever since introducing the Listener, the firrtl Parser now can hit
errors in the code converting from concrete syntax to abstract syntax
that may be due to syntax errors. These errors are essentially broken
assumptions about the structure of the parsed code because there is an
error. These errors are reported before the standard ANTLR syntax errors
are aggregated and reported, and thus could result in less than elegant
error messages (eg. NullPointerException). Now, the Parser will mask off
such errors in the event of standard syntax errors caught by the
ANTLR-generated parser.

This commit also cleans up some ParserSpec tests slightly to make the
ScalaTest style more canonical.</pre>
</div>
</content>
</entry>
<entry>
<title>Handle new keyword version as an identifier (#2550)</title>
<updated>2022-09-12T19:41:34+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2022-09-12T19:41:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=50a1230de1d68014cd88e4fcca2bdf3a5c94d6d3'/>
<id>50a1230de1d68014cd88e4fcca2bdf3a5c94d6d3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>FIRRTL version support (#2543)</title>
<updated>2022-08-26T14:52:04+00:00</updated>
<author>
<name>Zachary Yedidia</name>
</author>
<published>2022-08-26T14:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=19fe90bb0fd37457c47f3873392db5cbb9b87d38'/>
<id>19fe90bb0fd37457c47f3873392db5cbb9b87d38</id>
<content type='text'>
* Parse version and hardcode emitted version

* Throw error if version is too high

* Parse version even if rest is invalid

* Change pattern match to if statement

* Improve version grammar

* Update tests

* Remove outdated comment

* Simplify grammar and use version class

* Simplify and add no version test

* Fix for conflicting lexer rule</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Parse version and hardcode emitted version

* Throw error if version is too high

* Parse version even if rest is invalid

* Change pattern match to if statement

* Improve version grammar

* Update tests

* Remove outdated comment

* Simplify grammar and use version class

* Simplify and add no version test

* Fix for conflicting lexer rule</pre>
</div>
</content>
</entry>
<entry>
<title>Fix optimization of register with reset but invalid connection (#2520)</title>
<updated>2022-04-22T03:20:47+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2022-04-22T03:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=5093da03083a37a0a7bdaf44f9867d7f7a0a5980'/>
<id>5093da03083a37a0a7bdaf44f9867d7f7a0a5980</id>
<content type='text'>
Fixes #2516

Previously,

reg r : UInt&lt;8&gt;, clock with :
  reset =&gt; (p, UInt&lt;8&gt;(3))
r is invalid

would compile to:

reg r : UInt&lt;8&gt;, clock
r &lt;= UInt&lt;8&gt;(0)

now it compiles to:

reg r : UInt&lt;8&gt;, clock
wire r_1 : UInt&lt;8&gt;
r_1 is invalid
r &lt;= mux(reset, UInt&lt;8&gt;(3), r_1)

This is consistent with the behavior for a reset with an asynchronous
reset.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #2516

Previously,

reg r : UInt&lt;8&gt;, clock with :
  reset =&gt; (p, UInt&lt;8&gt;(3))
r is invalid

would compile to:

reg r : UInt&lt;8&gt;, clock
r &lt;= UInt&lt;8&gt;(0)

now it compiles to:

reg r : UInt&lt;8&gt;, clock
wire r_1 : UInt&lt;8&gt;
r_1 is invalid
r &lt;= mux(reset, UInt&lt;8&gt;(3), r_1)

This is consistent with the behavior for a reset with an asynchronous
reset.</pre>
</div>
</content>
</entry>
</feed>
