summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJack Koenig2021-08-23 22:53:18 -0700
committerGitHub2021-08-23 22:53:18 -0700
commite2f5b13d457b80ff7047e70fcae61ab930bd2965 (patch)
treedc165d416200535f6ab6bfbf558d935025ae3b69 /core
parentf50ce19406e45982390162777fb62c8563c962c7 (diff)
parenta6eb2ad8b6ff50bf245d610891808e436b19ed01 (diff)
Merge pull request #2083 from chipsalliance/lazy-fir-emission
Lazy .fir Emission
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/chisel3/internal/firrtl/Converter.scala7
1 files changed, 7 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/internal/firrtl/Converter.scala b/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
index 8efb2abc..f56c3b15 100644
--- a/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
+++ b/core/src/main/scala/chisel3/internal/firrtl/Converter.scala
@@ -9,6 +9,7 @@ import chisel3.internal.{HasId, castToInt, throwException}
import scala.annotation.tailrec
import scala.collection.immutable.Queue
+import scala.collection.immutable.LazyList // Needed for 2.12 alias
private[chisel3] object Converter {
// TODO modeled on unpack method on Printable, refactor?
@@ -301,5 +302,11 @@ private[chisel3] object Converter {
def convert(circuit: Circuit): fir.Circuit =
fir.Circuit(fir.NoInfo, circuit.components.map(convert), circuit.name)
+
+ // TODO Unclear if this should just be the default
+ def convertLazily(circuit: Circuit): fir.Circuit = {
+ val lazyModules = LazyList() ++ circuit.components
+ fir.Circuit(fir.NoInfo, lazyModules.map(convert), circuit.name)
+ }
}