2.3. Hammer Tech defaults.yml
The defaults.yml
for a technology specifies some technology-specific Hammer IR and Meta Variables 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/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 specific to the technology should be set in this file. This file can also define technology-specific Hammer IR, in the the namespace technlogy.<tech_name>.<key_name>
. 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.