-
Notifications
You must be signed in to change notification settings - Fork 17
Description
I believe it would be useful to be able to run designs through the alpha-release flow while setting an enumerated list of modules to black boxes to get statistics on the design as early feedback to the design process.
To set modules to black boxes is useful in the case where the current implementation is not yet ready or is impossible to realize in the alpha-release flow automatically: multipliers, RAM, too complex modules, etc.
I naively expect black boxes to be moduled as zero size, infinitely fast modules when there's no other information. This is course unrealistic, but as long as the interesting areas of the design to study are not involved in these parts of the design(for instance that the fMax problems are elsewhere), then zero size, infinitely fast black boxes is a perfectly good way to model parts of the design. Another advantage of of setting modules to such black boxes is to simply to speed up turnaround times for builds.
I'd be happy to provide a pull-request that demonstrates this workflow and demonstrates the failure belwo, but first it would be good to hear that there's agreement that this is a useful use-case for alpha-release.
To reproduce
When I try to modify synth.tcl to do a less agressive optimization and set certain modules to black boxes, the workflow fails in the floorplan with the error message below.
Modification to synth.tcl:
+blackbox ThingAMaBobUnit
+
# generic synthesis
-synth -top $::env(DESIGN_NAME) -flatten
+synth -noshare -noalumacc -top $::env(DESIGN_NAME)
Error message:
# make DESIGN_CONFIG=`pwd`/designs/harness.mk DESIGN_NAME=MyTopLevelModule
[deleted]
Mon Nov 4 08:17:24 UTC 2019
____ _____ _ ___ ___ ____ ____ _ _ _ _
|___ \ | ___| | / _ \ / _ \| _ \| _ \| | / \ | \ | |
__) | | |_ | | | | | | | | | |_) | |_) | | / _ \ | \| |
/ __/ _ | _| | |__| |_| | |_| | _ <| __/| |___ / ___ \| |\ |
|_____(_) |_| |_____\___/ \___/|_| \_\_| |_____/_/ \_\_| \_|
verilog2def \
[deleted]
Tcl_SetObjLength: negative length requested: -2147483644 (integer overflow?)