ucb-bar / chisel2-deprecated

chisel.eecs.berkeley.edu
387 stars 89 forks source link

Fixed subword regression. #613

Closed SebastianBoe closed 8 years ago

SebastianBoe commented 8 years ago

This fix does not create a combinational loop, but unfortunately I think it will require width to be known in some situations where before it could be inferred.

See related PR https://github.com/ucb-bar/chisel/pull/612

ghost commented 8 years ago

Can one of the admins verify this patch?

ucbjrl commented 8 years ago

ok to test

donggyukim commented 8 years ago

We cannot use its width, before width inference. Can you test #615 with your own tests?

ghost commented 8 years ago

On Dec 7, 2015, at 1:25 PM, Donggyu notifications@github.com wrote:

We cannot use its width, before width inference. Can you test #615 with your own tests?

� Reply to this email directly or view it on GitHub.

Will do.

ucbjrl commented 8 years ago

This fails in old rocket-chip BOOM configuration with:

[error] broadcast.scala:168: Node.width for node /*? in < (class uncore.BroadcastVoluntaryReleaseTracker)>*/ Chisel.UInt(OUTPUT, width=None, connect to 1 inputs: (?[Chisel.RegReset] in uncore.BroadcastVoluntaryReleaseTracker)) returns unknown width in class uncore.BroadcastVoluntaryReleaseTracker$$anonfun$4$$anonfun$apply$mcV$sp$1
Chisel.ChiselException: Node.width for node /*? in < (class uncore.BroadcastVoluntaryReleaseTracker)>*/ Chisel.UInt(OUTPUT, width=None, connect to 1 inputs: (?[Chisel.RegReset] in uncore.BroadcastVoluntaryReleaseTracker)) returns unknown width
    at uncore.BroadcastVoluntaryReleaseTracker$$anonfun$4$$anonfun$apply$mcV$sp$1.apply$mcV$sp(broadcast.scala:168)
[error] (rocketchip/*:elaborate) java.lang.reflect.InvocationTargetException
[error] Total time: 69 s, completed Dec 7, 2015 1:46:56 PM
make: *** [generated-src/Top.BOOMCPPConfig.h] Error 1
Build step 'Execute shell' marked build as failure
Sending e-mails to: ucbjrl@berkeley.edu
Finished: FAILURE

See #615

SebastianBoe commented 8 years ago

@donggyukim , I can confirm that this fixes the issue on my side.