<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/spec, branch sfc-scala3</title>
<subtitle>Scala FIRRTL Compiler for chiselX</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/'/>
<entry>
<title>[spec] Remove FIRRTL Specification (#2488)</title>
<updated>2022-03-04T21:07:54+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2022-03-04T21:07:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=a372c20cc1a52881356603274512bd35e7149a55'/>
<id>a372c20cc1a52881356603274512bd35e7149a55</id>
<content type='text'>
This removes the FIRRTL specification as this now lives in its own
repository:

    https://github.com/chipsalliance/firrtl-spec

All git history (excluding binary updates to spec.pdf) have been
migrated to the new repository.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the FIRRTL specification as this now lives in its own
repository:

    https://github.com/chipsalliance/firrtl-spec

All git history (excluding binary updates to spec.pdf) have been
migrated to the new repository.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Convert firrtl specification to Markdown file (#2236)</title>
<updated>2022-03-02T00:28:33+00:00</updated>
<author>
<name>Jared Barocsi</name>
</author>
<published>2022-03-02T00:28:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=c56e341d25e35a5207c4eea12bac9bf0ddd8b652'/>
<id>c56e341d25e35a5207c4eea12bac9bf0ddd8b652</id>
<content type='text'>
- Convert FIRRTL spec to Markdown file.
- Add PDF generation via pandoc.
- Remove old LaTeX specification.

Co-authored-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Convert FIRRTL spec to Markdown file.
- Add PDF generation via pandoc.
- Remove old LaTeX specification.

Co-authored-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Update spec on extmodule with defname, parameter (#2413)</title>
<updated>2021-11-12T20:14:27+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2021-11-12T20:14:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=03af969ad33631f53b69370705328bf4ada3ed64'/>
<id>03af969ad33631f53b69370705328bf4ada3ed64</id>
<content type='text'>
Add defname, parameter to extmodule spec, NFC

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add defname, parameter to extmodule spec, NFC

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>spec: Fix formatting of example of memory port types. (#2368)</title>
<updated>2021-09-24T00:24:59+00:00</updated>
<author>
<name>Richard Xia</name>
</author>
<published>2021-09-24T00:24:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=b2cae19bb7a3e29fe7311e9a288176610826ed03'/>
<id>b2cae19bb7a3e29fe7311e9a288176610826ed03</id>
<content type='text'>
8abf3085e3efb2b6dd3e123f13577b367d3f2695 reordered the fields, but it
unintentionally placed a closing brace before the actual end of the
write port type. This moves the brace to the end of the port.

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>
8abf3085e3efb2b6dd3e123f13577b367d3f2695 reordered the fields, but it
unintentionally placed a closing brace before the actual end of the
write port type. This moves the brace to the end of the port.

Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Specification Memory Port Types (#2319)</title>
<updated>2021-08-05T21:29:42+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2021-08-05T21:29:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=8abf3085e3efb2b6dd3e123f13577b367d3f2695'/>
<id>8abf3085e3efb2b6dd3e123f13577b367d3f2695</id>
<content type='text'>
Correct incorrect type specified for memories in the FIRRTL
specification.  This is important because the memory type determines
what is a legal bundle to try to connect to a memory port.

I based this off of FIRRTL accepting the following circuit:

    circuit MemOrder:
      module MemOrder:
        input r: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, flip data : UInt&lt;1&gt;}
        input w: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, data : UInt&lt;1&gt;, mask : UInt&lt;1&gt;}
        input rw: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, flip rdata : UInt&lt;1&gt;, wmode : UInt&lt;1&gt;, wdata : UInt&lt;1&gt;, wmask : UInt&lt;1&gt;}

        mem memory:
          data-type =&gt; UInt&lt;1&gt;
          depth =&gt; 8
          reader =&gt; r
          writer =&gt; w
          readwriter =&gt; rw
          read-latency =&gt; 1
          write-latency =&gt; 1
          read-under-write =&gt; undefined

        memory.r &lt;= r
        memory.w &lt;= w
        memory.rw &lt;= rw

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct incorrect type specified for memories in the FIRRTL
specification.  This is important because the memory type determines
what is a legal bundle to try to connect to a memory port.

I based this off of FIRRTL accepting the following circuit:

    circuit MemOrder:
      module MemOrder:
        input r: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, flip data : UInt&lt;1&gt;}
        input w: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, data : UInt&lt;1&gt;, mask : UInt&lt;1&gt;}
        input rw: {addr : UInt&lt;3&gt;, en : UInt&lt;1&gt;, clk : Clock, flip rdata : UInt&lt;1&gt;, wmode : UInt&lt;1&gt;, wdata : UInt&lt;1&gt;, wmask : UInt&lt;1&gt;}

        mem memory:
          data-type =&gt; UInt&lt;1&gt;
          depth =&gt; 8
          reader =&gt; r
          writer =&gt; w
          readwriter =&gt; rw
          read-latency =&gt; 1
          write-latency =&gt; 1
          read-under-write =&gt; undefined

        memory.r &lt;= r
        memory.w &lt;= w
        memory.rw &lt;= rw

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Update spec to disallow 0-bit mux sel (#2305)</title>
<updated>2021-08-02T20:35:00+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2021-08-02T20:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=ff1cd28202fb423956a6803a889c3632487d8872'/>
<id>ff1cd28202fb423956a6803a889c3632487d8872</id>
<content type='text'>
Change the FIRRTL spec to disallow a zero-width multiplexer select.
Clarify that the select line can be either one-bit or zero-bit, but will
infer to one-bit.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@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>
Change the FIRRTL spec to disallow a zero-width multiplexer select.
Clarify that the select line can be either one-bit or zero-bit, but will
infer to one-bit.

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;

Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Relax spec on 0-bit mux select, use SFC behavior</title>
<updated>2021-06-30T05:02:36+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2021-06-30T05:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=9eeeb558553b5d73016c60c2a90d492b84860477'/>
<id>9eeeb558553b5d73016c60c2a90d492b84860477</id>
<content type='text'>
Change the FIRRTL specification document to allow for 0-bit mux selects.
The existing ZeroWidths pass will promote these to a 1-bit, 0-valued
select signal (which effectively means that the mux can be optimized
away to just the false path).

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the FIRRTL specification document to allow for 0-bit mux selects.
The existing ZeroWidths pass will promote these to a 1-bit, 0-valued
select signal (which effectively means that the mux can be optimized
away to just the false path).

Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@sifive.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[spec] Explicit widths may be non-negative, not just positive (#2277)</title>
<updated>2021-06-21T23:50:09+00:00</updated>
<author>
<name>Albert Magyar</name>
</author>
<published>2021-06-21T23:50:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=ef4d9fc765ec1ccd336104c72bce7659bc9f4b64'/>
<id>ef4d9fc765ec1ccd336104c72bce7659bc9f4b64</id>
<content type='text'>
* Fixes #2206</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fixes #2206</pre>
</div>
</content>
</entry>
<entry>
<title>Allow Side Effecting Statement to have Names (#2057)</title>
<updated>2021-02-17T20:16:52+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2021-02-17T20:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=5a89fca6090948d0a99c217a09c692e58a20d1df'/>
<id>5a89fca6090948d0a99c217a09c692e58a20d1df</id>
<content type='text'>
* firrtl: add optional statement labels for stop, printf, assert, assume and cover

* test: parsing of statement labels

* ir: ensure that name is properly retained

* SymbolTable: add support for labled statements

* test: parsing statement labels

* test: lower types name collisions with named statements

* ignore empty names

* Inline: deal with named and unnamed statements

* RemoveWires: treat stop, printf and verification statements as "others"

* test: fix InlineInstance tests

* DeadCodeEliminations: statements are now als declarations

* CheckHighForm: ensure that statement names are not used as references

* CheckSpec: throw error if statement name collides

* add pass to automatically add missing statement names

* check: make sure that two statements cannot have the same name

* stmtLabel -&gt; stmtName

* scalafmt

* add statement names to spec

* spec: meta data -&gt; metadata

* EnsureStatementNames: explain naming algorithm

* remove returns

* better namespace use

* ir: add CanBeReferenced trait

* ir: add newline as jack requested</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* firrtl: add optional statement labels for stop, printf, assert, assume and cover

* test: parsing of statement labels

* ir: ensure that name is properly retained

* SymbolTable: add support for labled statements

* test: parsing statement labels

* test: lower types name collisions with named statements

* ignore empty names

* Inline: deal with named and unnamed statements

* RemoveWires: treat stop, printf and verification statements as "others"

* test: fix InlineInstance tests

* DeadCodeEliminations: statements are now als declarations

* CheckHighForm: ensure that statement names are not used as references

* CheckSpec: throw error if statement name collides

* add pass to automatically add missing statement names

* check: make sure that two statements cannot have the same name

* stmtLabel -&gt; stmtName

* scalafmt

* add statement names to spec

* spec: meta data -&gt; metadata

* EnsureStatementNames: explain naming algorithm

* remove returns

* better namespace use

* ir: add CanBeReferenced trait

* ir: add newline as jack requested</pre>
</div>
</content>
</entry>
<entry>
<title>Change to Apache 2.0 License (#1901)</title>
<updated>2020-09-17T01:52:16+00:00</updated>
<author>
<name>Chick Markley</name>
</author>
<published>2020-09-17T01:52:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=ecb96e83324ea17cf38b7b90753d745d3c7f51bd'/>
<id>ecb96e83324ea17cf38b7b90753d745d3c7f51bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
