<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/src/main/scala/firrtl/proto, branch master</title>
<subtitle>Scala FIRRTL Compiler for chiselX</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/'/>
<entry>
<title>Multi protobuf module emission and consumption (#2344)</title>
<updated>2021-09-08T20:30:47+00:00</updated>
<author>
<name>Jared Barocsi</name>
</author>
<published>2021-09-08T20:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=0c1ca581efe7fbad99ffc713a3802b5f2ffb68b6'/>
<id>0c1ca581efe7fbad99ffc713a3802b5f2ffb68b6</id>
<content type='text'>
* Add compiler option (`-p`) to emit individual module protobufs
* Implement multi module combination when reading directory of protobufs

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add compiler option (`-p`) to emit individual module protobufs
* Implement multi module combination when reading directory of protobufs

Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</pre>
</div>
</content>
</entry>
<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>Cleanup some warnings (#2032)</title>
<updated>2021-01-20T04:19:08+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-01-20T04:19:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=031fe1382660867750e6eeebea5665c137dbccbe'/>
<id>031fe1382660867750e6eeebea5665c137dbccbe</id>
<content type='text'>
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>
Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</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>All of src/ formatted with scalafmt</title>
<updated>2020-08-15T02:47:53+00:00</updated>
<author>
<name>chick</name>
</author>
<published>2020-08-15T02:47:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=6fc742bfaf5ee508a34189400a1a7dbffe3f1cac'/>
<id>6fc742bfaf5ee508a34189400a1a7dbffe3f1cac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[2.13] use scala.collection.Seq instead of mutable.Seq</title>
<updated>2020-07-29T22:26:30+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2020-07-28T20:03:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=0c78144a330d2394afd6a8e4579fb0f27fd8424c'/>
<id>0c78144a330d2394afd6a8e4579fb0f27fd8424c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[2.13] convert toSeq and toMap where necessary to compile</title>
<updated>2020-07-29T22:26:30+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2020-07-28T16:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=3b22cea87c9d5977c1f7a797091208034dbb8f2e'/>
<id>3b22cea87c9d5977c1f7a797091208034dbb8f2e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ir: store FileInfo string in escaped format (#1690)</title>
<updated>2020-07-15T19:21:26+00:00</updated>
<author>
<name>Kevin Laeufer</name>
</author>
<published>2020-07-15T19:21:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=24be0ac3121e8f5d7b4bf8d6247e305ed0f0a656'/>
<id>24be0ac3121e8f5d7b4bf8d6247e305ed0f0a656</id>
<content type='text'>
This should speed up the common case
as the compiler never operates on the
unescaped string.
The new escape function also fixes a bug
where ']' was not escaped even though it
is the delimiting character for FileInfo.
In order to maintain backwards
compatibility for the ProtoBuf format,
this patch adds escape/unescape calls
when going from/to protobuf format.
For better performance we should consider
changing the protobuf format.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should speed up the common case
as the compiler never operates on the
unescaped string.
The new escape function also fixes a bug
where ']' was not escaped even though it
is the delimiting character for FileInfo.
In order to maintain backwards
compatibility for the ProtoBuf format,
this patch adds escape/unescape calls
when going from/to protobuf format.
For better performance we should consider
changing the protobuf format.</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>Add support for ValidIf to ProtoBuf [de]serialization</title>
<updated>2020-06-23T19:20:33+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2020-06-23T18:10:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=d1db9067309fe2d7765def39ac4085edfe53d7be'/>
<id>d1db9067309fe2d7765def39ac4085edfe53d7be</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
