coriolis/cumulus/src/CMakeLists.txt

28 lines
1.9 KiB
CMake
Raw Normal View History

Support for Python plugins in CellViewer/Unicorn. ClockTree plugin. * New: In Hurricane, in CellViewer, create a simpler API to graft menu and actions into the menubar. Mainly addToMenu() which take care of the QAction creation but also locate the relevant QMenu, base on the Qt object name. Regroup all the widget & action creation inside the body of the constructor, this way almost all actions can be removed from the attributes of the CellViewer. addToMenu() is supplied in three flavors: 1. For C++ callbacks in GraphicToolEngines (with a binded member function method). 2. For running Python scripts to be used by the plugin system. 3. To insert separator in menus (to give a more homogeneous look). Remove the last remnants of Stratus scripts (unificated with basic Python scripts). * New: In Hurricane, in PyCellViewer, export the interface to graft Python scripts into the CellViewer menu tree. * Change: In Etesian, in GraphicEtesianEngine, use the new API to graft menus & callbacks into the CellViewer. * Change: In Mauka, in GraphicMaukaEngine, use the new API to graft menus & callbacks into the CellViewer. * Change: In Kite, in GraphicKiteEngine, use the new API to graft menus & callbacks into the CellViewer. * New: In Cumulus, install Python scripts as plugins for Unicorn under <PYTHON_SITE_PACKAGES>/cumulus/plugins/. * New: In Unicorn, in UnicornGui, make uses of the new API for creating menus in the CellViewer. Creates the stem menu for the P&R tools. Add a Python initialization mechanism to read the plugins installeds into <PYTHON_SITE_PACKAGES>/cumulus/plugins/.
2014-06-25 12:50:34 -05:00
# -*- explicit-buffer-name: "CMakeLists.txt<cumulus/src>" -*-
2010-07-12 10:31:29 -05:00
set ( pySources ${CMAKE_CURRENT_SOURCE_DIR}/placeandroute.py
${CMAKE_CURRENT_SOURCE_DIR}/ref.py
${CMAKE_CURRENT_SOURCE_DIR}/Alliance.py
2010-07-12 10:31:29 -05:00
)
set ( pyPlugins ${CMAKE_CURRENT_SOURCE_DIR}/plugins/__init__.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/ChipPlugin.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/ClockTreePlugin.py
Bug fixes for MOSIS SCMOS_DEEP support. * Change: In Hurricane, the NetRoutingProperty is moved into Hurricane from Katabatic. Needed for Knik to be able to access thoses informations. * Change: In Hurricane, in RoutingPad::setOnBestComponent(), now in case of identical area, select the component of lowest id. This should not be needed if the component ordering was fully deterministic as it should be (will investigate later). This is to ensure that the choosen component is always the same, especially between save/load of a global routing. * Bug: In Katabatic, in AutoContactHTee::updateTopology(), invalidate the segments only if the topology is valid (no NULL in the cached segments). * Bug: In Katabatic, in GCellTopology::construct(), throw an error if the topology is bad instead of trying to continue (and core dump later... ). * Bug: In Kite, in BuildPowerRails, distinguish the name of the master net in the pad (for vddi, vssi, vdde, vsse, ck, cki & cko) and the name of the net in the *chip* netlist. Must use the later to make comparison as they may differs. * Change: In Knik, in save/load solution, exclude nets that are not globally routed by Knik. That is which NetRoutingProperty is not *Automatic*. * Bug: In Cumulus, in chip.BlockPower take account of the layer width extention to sligthy shrink the connector thus avoiding a notch with standart cell in some cases. * Change: In Cumulus, in chip.ClockTree disable the use of fixed Steiner trees for the leaf clocks, as it seems overconstrained for the router. First move was to lower them in M2/M3 (instead of M3/M4) but that was not sufficent. * New: In Cumulus, RSavePlugin for recursively saving a physical hierarchy. * New: In documentation, first embryo for RDS file. Should have been in Alliance git, but I prefer to keep newest doc in Coriolis.
2014-09-21 09:44:37 -05:00
${CMAKE_CURRENT_SOURCE_DIR}/plugins/RSavePlugin.py
Support for Net alias names. Blif parser enhancements. * New: In Hurricane, In Net & Cell, support for Net aliases names. Use a structure based on a simple ring of NetAliasHook. The Net holds a global map, sorted by names of all the aliases of all Nets. Elements NetAliasesHook of the map are slaves of ring whose master is an attribute of the Net (it is *not* in the map, as the primary name of the Net). In case of merge, the aliases of both Nets are merged and the name of the merged one become an alias. The Cell::getNet() looks in both the Net map and the aliases to find a Net by name. * Bug: In CRL Core, in coriolisInit.py, reoder the loading of the configuration files so the real technology is read as early as possible to set up the <gridsPerLambda> factor before any lambda is actually computed... * Bug: In CRL Core, in AcmSigda, do not try to fed the file when it has failed to be opened. Throw a clean exception instead. * New: In CRL Core, in Toolbox, add a NamingScheme object to convert a design into VHDL compliant names (mainly from Blif/Verilog). This is extensible in any case. * New: In CRL Core, in BlifParser, slightly more informative warning messages. Align the loading progress information on the other parsers. Add a capability to select which component of the design will be returned, if there are more than one. Use the "." as separator. For exemple you can request "Processor.Alu", which will load the "Alu" component from the design in "Processor.blif". To be able to save a Blif loaded design, systematically convert all the name for VHDL compliance, as it is the format used by the Coriolis native files (vst). Export the Blif parser to the Python interface. * New: In Kite, In NegociateWindow, add a counter of the number of remaining events. Gives an idea of the ETA... * New: In Unicorn, in cgt.by, add an option to load a Blif design from the command line. * New: In Cumulus, new RSave plugin to save both netlist & layout. Partly redundant with the previous one. Have to better organize that later.
2015-04-16 08:40:02 -05:00
${CMAKE_CURRENT_SOURCE_DIR}/plugins/RSavePluginAll.py
)
set ( pyPluginCT ${CMAKE_CURRENT_SOURCE_DIR}/plugins/clocktree/__init__.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/clocktree/RSMT.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/clocktree/ClockTree.py
)
set ( pyPluginChip ${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/__init__.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/BlockPower.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/BlockCorona.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/PadsCorona.py
${CMAKE_CURRENT_SOURCE_DIR}/plugins/chip/Configuration.py
Support for Python plugins in CellViewer/Unicorn. ClockTree plugin. * New: In Hurricane, in CellViewer, create a simpler API to graft menu and actions into the menubar. Mainly addToMenu() which take care of the QAction creation but also locate the relevant QMenu, base on the Qt object name. Regroup all the widget & action creation inside the body of the constructor, this way almost all actions can be removed from the attributes of the CellViewer. addToMenu() is supplied in three flavors: 1. For C++ callbacks in GraphicToolEngines (with a binded member function method). 2. For running Python scripts to be used by the plugin system. 3. To insert separator in menus (to give a more homogeneous look). Remove the last remnants of Stratus scripts (unificated with basic Python scripts). * New: In Hurricane, in PyCellViewer, export the interface to graft Python scripts into the CellViewer menu tree. * Change: In Etesian, in GraphicEtesianEngine, use the new API to graft menus & callbacks into the CellViewer. * Change: In Mauka, in GraphicMaukaEngine, use the new API to graft menus & callbacks into the CellViewer. * Change: In Kite, in GraphicKiteEngine, use the new API to graft menus & callbacks into the CellViewer. * New: In Cumulus, install Python scripts as plugins for Unicorn under <PYTHON_SITE_PACKAGES>/cumulus/plugins/. * New: In Unicorn, in UnicornGui, make uses of the new API for creating menus in the CellViewer. Creates the stem menu for the P&R tools. Add a Python initialization mechanism to read the plugins installeds into <PYTHON_SITE_PACKAGES>/cumulus/plugins/.
2014-06-25 12:50:34 -05:00
)
2010-07-12 10:31:29 -05:00
install ( FILES ${pySources} DESTINATION ${PYTHON_SITE_PACKAGES}/cumulus )
install ( FILES ${pyPlugins} DESTINATION ${PYTHON_SITE_PACKAGES}/cumulus/plugins )
install ( FILES ${pyPluginCT} DESTINATION ${PYTHON_SITE_PACKAGES}/cumulus/plugins/clocktree )
install ( FILES ${pyPluginChip} DESTINATION ${PYTHON_SITE_PACKAGES}/cumulus/plugins/chip )