Add start of tool-plugin section.
This commit is contained in:
@@ -25,6 +25,26 @@ Tool Plugins
|
|||||||
============
|
============
|
||||||
|
|
||||||
Hammer supports separatly managed plugins for different CAD tool vendors.
|
Hammer supports separatly managed plugins for different CAD tool vendors.
|
||||||
|
The types of tools(in there hammer names) supported currently include:
|
||||||
|
|
||||||
|
* synthesis
|
||||||
|
* par
|
||||||
|
* drc
|
||||||
|
* lvs
|
||||||
|
* sram_generator
|
||||||
|
* pcb
|
||||||
|
|
||||||
|
In order to configure your tool plugin of choice you will need to set several configuration variables.
|
||||||
|
First you should select which specific tool you want to use by setting ``vlsi.core.<tool_type>_tool`` to the name of your tool.
|
||||||
|
For example ``vlsi.core.par_tool: "innovus"``.
|
||||||
|
You will also need to point hammer to the folder that contains your tool plugin by setting ``vlsi.core.<tool_type>_tool_path``.
|
||||||
|
This directory should include a folder with the name of the tool as specified previously, which itself includes a python file ``__init__.py`` and a yaml file ``defaults.yml`` specifing the default values for any tool specific variables.
|
||||||
|
In addition you can also customize the version of the tools you use by setting ``<tool_type>.<tool_name>.version`` to a tool specific string.
|
||||||
|
Looking at the tools ``defaults.yml`` will inform you if there are other variables you would like to set for your use of this tool.
|
||||||
|
|
||||||
|
The ``__init__.py`` file should contain a variable, ``tool``, that points to the class implementing this tools Hammer support.
|
||||||
|
This class should be a subclass of ``Hammer<tool_type>Tool``, which will be a subclass of ``HammerTool``.
|
||||||
|
|
||||||
|
|
||||||
Technology Plugins
|
Technology Plugins
|
||||||
==================
|
==================
|
||||||
@@ -37,4 +57,4 @@ Configuration
|
|||||||
|
|
||||||
To configure a hammer flow the user needs to supply a yaml or json configuration file the chooses the tool and technology plugins and versions as well as any design specific configuration APIs.
|
To configure a hammer flow the user needs to supply a yaml or json configuration file the chooses the tool and technology plugins and versions as well as any design specific configuration APIs.
|
||||||
|
|
||||||
You can see the current set of all avaialable Hammer APIs `here <https://github.com/ucb-bar/hammer/blob/master/src/hammer-vlsi/defaults.yml>`.
|
You can see the current set of all avaialable Hammer APIs `here <https://github.com/ucb-bar/hammer/blob/master/src/hammer-vlsi/defaults.yml>`__.
|
||||||
|
|||||||
Reference in New Issue
Block a user