2.2. Hammer Tech defaults.yml¶
The defaults.yml
for a technology specifies some technology-specific Hammer IR that should be left as default unless you desire to override them. Some of the them work directly with the keys in the tech.json
.
Most of the keys in the defaults.yml
are a part of the vlsi
and technology
namespaces. An example of the setup of the defaults.yml
is located in hammer/src/hammer-vlsi/technology/asap7/defaults.yml
and certain important keys should be common to most technology plugins:
vlsi.core.node
defines the node that the place-and-route tool expects. It affects what kind of licenses are needed.vlsi.inputs
should at least have the nominal supplies and a typical pair of characterized setup & hold corners.vlsi.technology
needs to specify aplacement_site
as defined in the technology LEF, abump_block_cut_layer
to set blockages under bumps, and optionaltap_cell_interval
andtap_cell_offset
for placing well taps.technology.core
needs to specify the stackup to use, which layer the standard cell power rails are on, and a reference cell to draw the lowest layer power rails over.
Tool environment variables (commonly needed for DRC/LVS decks) and other necessary default options should be set in this file. As always, they can be overriden by other snippets of Hammer IR.
The data types for all keys in defaults.yml
can be found in defaults_types.yml
. When adding or overriding to defaults.yml
, make sure that said data types are updated accordingly to prevent problems with the type checker.