ICCompiler MCMM Flow - create_scenario

Last modified 2012-10-31

Sini

The PnR tools now have concurrent multi-corner and multimode analysis and optimization capabilities. In ICCompiler, we create `scenarios` to specify the different corners and modes the design should operate on. In a `scenario`, you can have constraints which determine the mode of operation, and different libraries(or opertaing conditions) which determine the corners. You also set up the TLUPLus files and specify derating factors.

ICCompiler uses the command `createscenario` to specify a new scenario. When you run this command, the scenario created becomes the `currentscenario` and all previous scenario specific commands are removed from the design. I usually create a separate file for my scenarios named createscenarios.tcl , for ease of editing and debugging. I am saving it here more for my future reference, but if you find it helpful, way to go, me!

removescenario -all

createscenario scanmin source $scripts/minoperatingconditions.tcl settluplusfiles \ -maxtluplus $tluplusmax \ -mintluplus $tluplusmin \ -tech2itfmap $tluplusmap checktluplusfiles readsdc $sdcfilescan removeidealnetwork -all settimingderate -min -early 0.9 settimingderate -min -late 1 settimingderate -max -early 1 settimingderate -max -late 1.1

createscenario scanmax source $scripts/maxoperatingconditions.tcl settluplusfiles \ -maxtluplus $tluplusmax \ -mintluplus $tluplusmin \ -tech2itfmap $tluplusmap checktluplusfiles readsdc $sdcfilescan removeidealnetwork -all settimingderate -min -early 0.9 settimingderate -min -late 1 settimingderate -max -early 1 settimingderate -max -late 1.1

createscenario funcmin source $scripts/minoperatingconditions.tcl settluplusfiles \ -maxtluplus $tluplusmax \ -mintluplus $tluplusmin \ -tech2itfmap $tluplusmap checktluplusfiles readsdc $sdcfilefuncmin removeidealnetwork -all settimingderate -min -early 0.9 settimingderate -min -late 1 settimingderate -max -early 1 settimingderate -max -late 1.1

createscenario funcmax source $scripts/maxoperatingconditions.tcl settluplusfiles \ -maxtluplus $tluplusmax \ -mintluplus $tluplusmin \ -tech2itfmap $tluplusmap checktluplusfiles readsdc $sdcfilefuncmax removeidealnetwork -all settimingderate -min -early 0.9 settimingderate -min -late 1 settimingderate -max -early 1 settimingderate -max -late 1.1

Fairly easy to read I should say.