<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/src/main/proto, 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>Fix ProtoBuf conversions for Verification IR (#2100)</title>
<updated>2021-03-04T00:45:49+00:00</updated>
<author>
<name>Deborah Soung</name>
</author>
<published>2021-03-04T00:45:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=5be1abb4c654279762a463a861526ce4e0c48035'/>
<id>5be1abb4c654279762a463a861526ce4e0c48035</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>
<entry>
<title>Basic model checking API (#1653)</title>
<updated>2020-06-23T20:12:05+00:00</updated>
<author>
<name>Tom Alcorn</name>
</author>
<published>2020-06-23T20:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=8322316a2f7c7fe7dad72f413e75d6b4600823f0'/>
<id>8322316a2f7c7fe7dad72f413e75d6b4600823f0</id>
<content type='text'>
* Add assume, assert, cover statements
* Assert submodule assumptions
* Add warning when removing verification statements
* Remove System Verilog behaviour emitter warning
* Add option to disable AssertSubmoduleAssumptions
* Document verification statements in the spec

The syntax for the new statements is

    assert(clk, cond, en, msg)
    assume(clk, cond, en, msg)
    cover(clk, cond, en, msg)

With assert as a representative example, the semantics is as follows:
`clk` is the clock, `cond` is the expression being asserted, `en` is the
enable signal (if `en` is low then the assert is not checked) and `msg`
is a string message intended to be reported as an error message by the
model checker if the assertion fails.

In the Verilog emitter, the new statements are handled by a new
`formals` map, which groups the statements by clock domain. All model
checking statements are then emitted within the context of an `ifdef
FORMAL` block, which allows model checking tools (like Symbiyosys) to
utilize the statements while keeping them out of synthesis flows.

Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add assume, assert, cover statements
* Assert submodule assumptions
* Add warning when removing verification statements
* Remove System Verilog behaviour emitter warning
* Add option to disable AssertSubmoduleAssumptions
* Document verification statements in the spec

The syntax for the new statements is

    assert(clk, cond, en, msg)
    assume(clk, cond, en, msg)
    cover(clk, cond, en, msg)

With assert as a representative example, the semantics is as follows:
`clk` is the clock, `cond` is the expression being asserted, `en` is the
enable signal (if `en` is low then the assert is not checked) and `msg`
is a string message intended to be reported as an error message by the
model checker if the assertion fails.

In the Verilog emitter, the new statements are handled by a new
`formals` map, which groups the statements by clock domain. All model
checking statements are then emitted within the context of an `ifdef
FORMAL` block, which allows model checking tools (like Symbiyosys) to
utilize the statements while keeping them out of synthesis flows.

Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Upstream intervals (#870)</title>
<updated>2019-10-19T02:01:19+00:00</updated>
<author>
<name>Adam Izraelevitz</name>
</author>
<published>2019-10-19T02:01:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=fd981848c7d2a800a15f9acfbf33b57dd1c6225b'/>
<id>fd981848c7d2a800a15f9acfbf33b57dd1c6225b</id>
<content type='text'>
Major features:

- Added Interval type, as well as PrimOps asInterval, clip, wrap, and sqz.
- Changed PrimOp names: bpset -&gt; setp, bpshl -&gt; incp, bpshr -&gt; decp
- Refactored width/bound inferencer into a separate constraint solver
- Added transforms to infer, trim, and remove interval bounds
- Tests for said features

Plan to be released with 1.3</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Major features:

- Added Interval type, as well as PrimOps asInterval, clip, wrap, and sqz.
- Changed PrimOp names: bpset -&gt; setp, bpshl -&gt; incp, bpshr -&gt; decp
- Refactored width/bound inferencer into a separate constraint solver
- Added transforms to infer, trim, and remove interval bounds
- Tests for said features

Plan to be released with 1.3</pre>
</div>
</content>
</entry>
<entry>
<title>Improve read-under-write parameter support</title>
<updated>2019-09-30T23:22:01+00:00</updated>
<author>
<name>Albert Magyar</name>
</author>
<published>2019-09-12T01:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=a10084fbba0ba88a1f0517b826ef8de44d8760d1'/>
<id>a10084fbba0ba88a1f0517b826ef8de44d8760d1</id>
<content type='text'>
* Make the read-under-write (RUW) parameter typesafe
* Add RUW support to the FIRRTL proto and CHIRRTL grammar
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make the read-under-write (RUW) parameter typesafe
* Add RUW support to the FIRRTL proto and CHIRRTL grammar
</pre>
</div>
</content>
</entry>
<entry>
<title>Infer reset (#1068)</title>
<updated>2019-08-13T06:39:27+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2019-08-13T06:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=f08f8dbb3c480220f92923a7f3242fcbb644b65e'/>
<id>f08f8dbb3c480220f92923a7f3242fcbb644b65e</id>
<content type='text'>
* Add abstract "Reset" which can be inferred to AsyncReset or UInt&lt;1&gt;
* Enhance async reset initial value literal check to support aggregates</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add abstract "Reset" which can be inferred to AsyncReset or UInt&lt;1&gt;
* Enhance async reset initial value literal check to support aggregates</pre>
</div>
</content>
</entry>
<entry>
<title>Change Memory Depth to a BigInt (#1075)</title>
<updated>2019-04-22T20:46:37+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2019-04-22T20:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=99ae1d6649f1731c5dec2098b10733735232b72c'/>
<id>99ae1d6649f1731c5dec2098b10733735232b72c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Asynchronous Reset (#1011)</title>
<updated>2019-02-14T23:08:35+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2019-02-14T23:08:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=2272044c6ab46b5148c39c124e66e1a8e9073a24'/>
<id>2272044c6ab46b5148c39c124e66e1a8e9073a24</id>
<content type='text'>
Fixes #219

* Adds AsyncResetType (similar to ClockType)
* Registers with reset signal of type AsyncResetType are async reset
  registers
* Registers with async reset can only be reset to literal values
* Add initialization logic for async reset registers</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #219

* Adds AsyncResetType (similar to ClockType)
* Registers with reset signal of type AsyncResetType are async reset
  registers
* Registers with async reset can only be reset to literal values
* Add initialization logic for async reset registers</pre>
</div>
</content>
</entry>
<entry>
<title>Protobuf (#832)</title>
<updated>2018-06-28T23:57:03+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2018-06-28T23:57:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=3243f05a69b4b77761699be412f349a9b8b9193f'/>
<id>3243f05a69b4b77761699be412f349a9b8b9193f</id>
<content type='text'>
Add support for ProtoBuf serialization and deserialization

* Add support for additional features in .proto description

Features added: Info, Fixed[Type|Literal], AnalogType, Attach, Params

* Add support for .pb input files

This involves an API change where FIRRTL no longer implicitly adds .fir
to input file names</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for ProtoBuf serialization and deserialization

* Add support for additional features in .proto description

Features added: Info, Fixed[Type|Literal], AnalogType, Attach, Params

* Add support for .pb input files

This involves an API change where FIRRTL no longer implicitly adds .fir
to input file names</pre>
</div>
</content>
</entry>
<entry>
<title>Adding the firrtl proto. (#746)</title>
<updated>2018-03-20T00:29:19+00:00</updated>
<author>
<name>Kevin Townsend</name>
</author>
<published>2018-03-20T00:29:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=d58b8fe2f187effa9d21dda861e125c9166a3a2b'/>
<id>d58b8fe2f187effa9d21dda861e125c9166a3a2b</id>
<content type='text'>
* Adding the firrtl proto.

* .
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Adding the firrtl proto.

* .
</pre>
</div>
</content>
</entry>
</feed>
