Skip to content
  • Jean-Paul Chaput's avatar
    Clarify semantic of flatten Collections (walkthrough). · dfe4d80b
    Jean-Paul Chaput authored
    In the Cell/Instance hierarchy, the "terminal" and "leaf cell" concepts
    where not clearly defined and partially overlapping. Now, "Terminal" is
    the refer to the physical hierarchy (layout) and "TerminalNetlist" to
    the logical hierarchy (netlist). The logical hierarchy can be less deep
    than the physical one thanks to a Cell dedicated cell flags. Collections
    related to the physical hierarchy keep their old names, the one related
    to the logical hierarchy are renamed from "Leaf" to "TerminalNetlist".
    The name "Leaf" was too ambiguous (leaf for *what* hierarchy).
    
    * Change: In Hurricane::Device, set the "TerminalNetlist" flag once and
        for all. No need set it in all the derived classes again.
    * New: In Hurricane::MultiCapacitor, added new parameter "dummy" to
        create dummies around the capacity matrix.
    * Change: In Hurricane::Cell, remove "Leaf" related methods, replace
        them by "TerminalNetlist" one, especially Collections. Now we have
        two clear sets of Collections to walkthough the layout or the
        netlist.
          Change the "Terminal" flag into "TerminalNetlist".
    * Change: In Hurricane::CellCollections, rename "Leaf" into
        "TerminalNetlist" collections and apply the new semantic to the
        locators.
    * Change: In Hurricane::DataBase, Leaf to TerminalInstance renaming.
    * Change: In Hurricane::DeepNet, Leaf to TerminalInstance renaming.
    * Change: In Hurricane::HyperNet, Leaf to TerminalInstance renaming.
    * Change: In Hurricane::Instance, Leaf to TerminalInstance renaming.
    * Change: In Hurricane::Viewer::HierarchyInformations, Leaf to
        TerminalInstance renaming.
    * Change: In CRL::AllianceFramework, Leaf to TerminalInstance renaming.
    * Change: In CRL::Catalog, Leaf to TerminalInstance renaming.
    * Change: In CRL::ApParser, Leaf to TerminalInstance renaming.
    * Change: In EtesianEngine::AddFeeds, Leaf to TerminalInstance renaming.
    * Bug: In EtesianEngine::resetPlacement, move there the loop over
        non terminal netlist instances to flag fully placed sub-blocks
        as terminal for the netlist. Only then remove the feed cells
        from unplaced instances. Previously, the feed cells where stripped
        even from already placed instances.
    * Change: In Katana, Leaf to TerminalInstance renaming.
    * Bug: In Bora::PyDSlicingNode, allow the range parameter to be the
        Python None object when we do not want to pass one but need to
        have it as positional parameter.
    * Change: In Cumulus/clocktree/ClockTree.py, Leaf to TerminalInstance
        renaming.
    dfe4d80b