You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I haven't thought through what should happen here, yet.
Consider the following FIRRTL which contains layerblocks under an instance choice:
FIRRTL version 4.2.0circuitTop :
option Target :
X
layerA, bind :
extmoduleFoo :
module Bar enablelayerA :
public module Top enablelayerA :
instchoice divider of Foo, Target :
X => Bar
When compiled, this errors out with:
# firtool Foo.fir
Foo.fir:14:5: error: 'firrtl.instance_choice' op layers must be [@A], but got []
instchoice divider of Foo, Target :
^
Foo.fir:14:5: note: see current operation: "firrtl.instance_choice"() <{annotations = [], caseNames = [@Target::@X], layers = [], moduleNames = [@Foo, @Bar], name = "divider", nameKind = #firrtl<name_kind interesting_name>, portAnnotations = [], portDirections = array<i1>, portNames = []}> : () -> ()
Foo.fir:10:3: note: original module declared here
module Bar enablelayer A :
The text was updated successfully, but these errors were encountered:
As @rwy7 has pointed out, the issue here is that the external module does not have a layer enables (and it can't as we haven't defined this). So, therefore this is the same as if you had two instance choice modules where one did not have a layer enabled.
I haven't thought through what should happen here, yet.
Consider the following FIRRTL which contains layerblocks under an instance choice:
When compiled, this errors out with:
The text was updated successfully, but these errors were encountered: