<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sfcX/src/main/scala/firrtl/graph, branch master</title>
<subtitle>Scala FIRRTL Compiler for chiselX</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/'/>
<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>Add DiGraph factory method and prettyTree</title>
<updated>2021-02-16T21:20:05+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-02-04T03:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=5ea823025054086953a4ccdb7950c7ee1918917e'/>
<id>5ea823025054086953a4ccdb7950c7ee1918917e</id>
<content type='text'>
* New factory method enables direct construction of DiGraphs from edges
* DiGraph.prettyTree enables visualization of tree or multi-tree
  diagraphs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* New factory method enables direct construction of DiGraphs from edges
* DiGraph.prettyTree enables visualization of tree or multi-tree
  diagraphs
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix post-merge publishing (#2055)</title>
<updated>2021-01-26T19:14:33+00:00</updated>
<author>
<name>Jack Koenig</name>
</author>
<published>2021-01-26T19:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=aec9e9e61f9b6775bf313601ec5a44a34f608609'/>
<id>aec9e9e61f9b6775bf313601ec5a44a34f608609</id>
<content type='text'>
* Check Unidoc on all versions of Scala

  It is required for publishing and we publish every version

* Fix conflicting cross-version suffixes issue

  When running `sbt ++2.13.4 unidoc`, SBT would set the Scala version
  for the fuzzer and benchmark projects even though they aren't really
  relevant to the command. This may be a misconfiguration or a bug in
  the unidoc plugin. Whatever the case, simply making it possible for
  them to use the same version of Scala as the firrtl project (on which
  they depend) fixes the issue.

* Match versions of Scala in build.sbt and CI

* Fix unidoc issues in 2.13.4

  There is some bug in ScalaDoc not finding some links in firrtl.options
  so those links were made absolute as a workaround.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Check Unidoc on all versions of Scala

  It is required for publishing and we publish every version

* Fix conflicting cross-version suffixes issue

  When running `sbt ++2.13.4 unidoc`, SBT would set the Scala version
  for the fuzzer and benchmark projects even though they aren't really
  relevant to the command. This may be a misconfiguration or a bug in
  the unidoc plugin. Whatever the case, simply making it possible for
  them to use the same version of Scala as the firrtl project (on which
  they depend) fixes the issue.

* Match versions of Scala in build.sbt and CI

* Fix unidoc issues in 2.13.4

  There is some bug in ScalaDoc not finding some links in firrtl.options
  so those links were made absolute as a workaround.</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>[WIP] Implement CircuitGraph and IRLookup to firrtl.analyses (#1603)</title>
<updated>2020-07-31T16:25:13+00:00</updated>
<author>
<name>Jiuyang Liu</name>
</author>
<published>2020-07-31T16:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=f22652a330afe1daa77be2aadb525d65ab05e9fe'/>
<id>f22652a330afe1daa77be2aadb525d65ab05e9fe</id>
<content type='text'>
* WIP Commit

* Add EdgeDataDiGraph with views to amortize graph construction

* WIP, got basic structure, need tests to pipeclean

* First tests pass. Need more.

* Tests pass, more need to be written

* More tests pass! Things should work, except for memories

* Added clearPrev to fix digraph uses where caching prev breaks

* Removed old Component. Documented IRLookup

* Added comments. Make prev arg to getEdges

* WIP: Refactoring for CircuitGraph

* Refactored into CircuitGraph. Can do topological module analysis

* Removed old versions

* Added support for memories

* Added cached test

* More stufffff

* Added implicit caching of connectivity

* Added tests for IRLookup, and others

* Many major changes.

Replaced CircuitGraph as ConnectionGraph
Added CircuitGraph to be top-level user-facing object
ConnectionGraph now automatically shortcuts getEdges
ConnectionGraph overwrites BFS as PriorityBFS
Added leafModule to Target
Added lookup by kind to IRLookup
Added more tests

* Reordered stuff in ConnectionGraph

* Made path work with deep hierarchies. Added PML for IllegalClockCrossings

* Made pathsInDAG work with current shortcut semantics

* Bugfix: check pathless targets when shortcutting paths

* Added documentation/licenses

* Removed UnnamedToken and related functionality

* Added documentation of ConnectionGraph

* Added back topo, needed for correct solving of intermediate modules

* Bugfix. Cache intermediate clockSources from same BFS with same root, but not BFS with different root

* Added literal/invalid clock source, and unknown top for getclocksource

* Bugfix for clocks in bundles

* Add CompleteTargetSerializer and test

* remove ClockFinder, be able to compile.

* test is able to compile, but need to fix.

* public and abstract DiGraph, remove DiGraphLike.

* revert some DiGraph code, ConnectionGraphSpec passed.

* CircuitGraphSpec passed.

* minimize diff between master

* codes clean up

* override linearize and revert DiGraph

* keep DiGraph unchanged.

* make ci happy again.

* codes clean up.

* bug fix for rebase

* remove wir

* make scaladoc happy again.

* update for review.

* add some documentation.

* remove tag

* wip IRLookup

* code clean up and add some doucmentations.

* IRLookup cache with ModuleTarget guarded.

* make unidoc and 2.13 happy

Co-authored-by: Adam Izraelevitz &lt;azidar@gmail.com&gt;
Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* WIP Commit

* Add EdgeDataDiGraph with views to amortize graph construction

* WIP, got basic structure, need tests to pipeclean

* First tests pass. Need more.

* Tests pass, more need to be written

* More tests pass! Things should work, except for memories

* Added clearPrev to fix digraph uses where caching prev breaks

* Removed old Component. Documented IRLookup

* Added comments. Make prev arg to getEdges

* WIP: Refactoring for CircuitGraph

* Refactored into CircuitGraph. Can do topological module analysis

* Removed old versions

* Added support for memories

* Added cached test

* More stufffff

* Added implicit caching of connectivity

* Added tests for IRLookup, and others

* Many major changes.

Replaced CircuitGraph as ConnectionGraph
Added CircuitGraph to be top-level user-facing object
ConnectionGraph now automatically shortcuts getEdges
ConnectionGraph overwrites BFS as PriorityBFS
Added leafModule to Target
Added lookup by kind to IRLookup
Added more tests

* Reordered stuff in ConnectionGraph

* Made path work with deep hierarchies. Added PML for IllegalClockCrossings

* Made pathsInDAG work with current shortcut semantics

* Bugfix: check pathless targets when shortcutting paths

* Added documentation/licenses

* Removed UnnamedToken and related functionality

* Added documentation of ConnectionGraph

* Added back topo, needed for correct solving of intermediate modules

* Bugfix. Cache intermediate clockSources from same BFS with same root, but not BFS with different root

* Added literal/invalid clock source, and unknown top for getclocksource

* Bugfix for clocks in bundles

* Add CompleteTargetSerializer and test

* remove ClockFinder, be able to compile.

* test is able to compile, but need to fix.

* public and abstract DiGraph, remove DiGraphLike.

* revert some DiGraph code, ConnectionGraphSpec passed.

* CircuitGraphSpec passed.

* minimize diff between master

* codes clean up

* override linearize and revert DiGraph

* keep DiGraph unchanged.

* make ci happy again.

* codes clean up.

* bug fix for rebase

* remove wir

* make scaladoc happy again.

* update for review.

* add some documentation.

* remove tag

* wip IRLookup

* code clean up and add some doucmentations.

* IRLookup cache with ModuleTarget guarded.

* make unidoc and 2.13 happy

Co-authored-by: Adam Izraelevitz &lt;azidar@gmail.com&gt;
Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;
Co-authored-by: Jack Koenig &lt;koenig@sifive.com&gt;</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>Eliminate warnings on `sbt doc` and `sbt unidoc` (#1470)</title>
<updated>2020-03-26T18:43:24+00:00</updated>
<author>
<name>Chick Markley</name>
</author>
<published>2020-03-26T18:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=249ed127cf6bf849f9895b8b603bececba1c5d76'/>
<id>249ed127cf6bf849f9895b8b603bececba1c5d76</id>
<content type='text'>
* Eliminate warnings on `sbt doc` and `sbt unidoc`
- removed toFirrtl reference on MultiTargetAnnotation
- lots of places where package path has to be added to comment references
- Change to use `/** text starts here` convention when wrong in comment with a doc fix.
  - Did not exhaustively change these
- Wrestled doc example in RenderDiGraph#renderNode, not sure if I won
- Cleaned up InferWidths &amp; CatchExceptions imports
- Added missing license message to a couple of files.
- fixed a couple of stale parameter names in scaladoc
- Added @unchecked to stop erasure warning in Emitting where emission annotations are collected
- Change types to [_] on match in RenameMap#recordAll to fix erasure warning

* Where  possible change [[firrtl.ir.X]] to [[firrtl.ir.X X]] for better display in scaladoc

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>
* Eliminate warnings on `sbt doc` and `sbt unidoc`
- removed toFirrtl reference on MultiTargetAnnotation
- lots of places where package path has to be added to comment references
- Change to use `/** text starts here` convention when wrong in comment with a doc fix.
  - Did not exhaustively change these
- Wrestled doc example in RenderDiGraph#renderNode, not sure if I won
- Cleaned up InferWidths &amp; CatchExceptions imports
- Added missing license message to a couple of files.
- fixed a couple of stale parameter names in scaladoc
- Added @unchecked to stop erasure warning in Emitting where emission annotations are collected
- Change types to [_] on match in RenameMap#recordAll to fix erasure warning

* Where  possible change [[firrtl.ir.X]] to [[firrtl.ir.X X]] for better display in scaladoc

Co-authored-by: mergify[bot] &lt;37929162+mergify[bot]@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix copy-paste error in DiGraph.linearize documentation (#1324)</title>
<updated>2020-03-10T21:53:48+00:00</updated>
<author>
<name>Sahand Kashani-Akhavan</name>
</author>
<published>2020-03-10T21:53:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=aa79cb656a7e72c6fbfb8218388f3a76f45ceb03'/>
<id>aa79cb656a7e72c6fbfb8218388f3a76f45ceb03</id>
<content type='text'>
Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Albert Magyar &lt;albert.magyar@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove DiGraph.seededLinearize (#1413)</title>
<updated>2020-03-02T19:07:37+00:00</updated>
<author>
<name>Schuyler Eldridge</name>
</author>
<published>2020-03-02T19:07:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sfcX/commit/?id=c6a201dd335c75d96e1a4547ea783b257bd6f644'/>
<id>c6a201dd335c75d96e1a4547ea783b257bd6f644</id>
<content type='text'>
Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@ibm.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Schuyler Eldridge &lt;schuyler.eldridge@ibm.com&gt;</pre>
</div>
</content>
</entry>
</feed>
