* Bug: In cumulus/plugins.block.block.py, always import Python modules using the exact same path. Otherwise the module may get imported twice and static variables are duplicated, generating a big mess. This was causing problem for the LUT in macro.py, and got SRAMs blocks encapsulated twice. * New: In cumulus/plugins.block.block.Block.addPlaceHolder(), create a "place holder" instance over a given area to prevent the placer from using it. Allow to make space reservation. * New: In cumulus/plugins.block.configuration.BlockConf, copy the toXPitch() and toYSlice() methods from spare in order to share them between modules. Still have to remove some other local copies. * New: In cumulus/plugins.block.spare.QuadTree, keep a list of all the X centers of the partitionned areas. For yse by the power lines. * New: In cumulus/plugins.chip.chip, move doPowerLayout() call from doChipFloorplan() to doConnectCore(), this is to delay the call until *after* the spare QuadTree has been created and we can align the power lines to the centers of the QuadTree. * New: In cumulus/plugins.chip.pads.Corona.doPowerLayout(), if a spare QuadTree has been created, align the power lines on the X center of the leaf areas. This is a cheap way to avoid DRC errors between the power BigVias and the wires from the various clock trees (on METAL5). * New: In cumulus/plugins.block.macro, add an ad-hoc patch for Staf's SRAMs. The blockage areas are slightly too narrow. We enlarge them by one pitch. |
||
---|---|---|
.. | ||
plugins | ||
tools | ||
Alliance.py | ||
CMakeLists.txt | ||
placeandroute.py | ||
ref.py |