Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

mgCreateMatchGroupInModgen

mgCreateMatchGroupInModgen(
d_modgenConId
l_tpObjects
t_twigMatchType
[ t_trunkMatchType ]
)
=> t / nil

Description

Creates a matchGroup in the specified Modgen storage.

Arguments

d_modgenConId

Modgen Constraint ID.

l_tpTrunkObjects

List of trunk topology objects.

t_twigMatchType

The match criteria for creating twigs that are connected to the trunks specified in the second argument. Value unknownType indicates that the twigs do match. Valid values are:

  • lengthenOnly
  • widenOnly
  • lengthenFirst
  • widenFirst
  • unknownType

t_trunkMatchType

The match criteria to be used to trim the trunks specified in the second argument. Valid values are:

  • matchLength - Trims trunks such that all the trunks in the list will have the same length.
  • unknownType (default) - Trunks do not match. If the argument is not specified, the default value is considered.

Value Returned

t

A matchGroup was created.

nil

Failed to create the matchGroup.

Example

Creates a matchGroup for netA with the widenFirst twig match type in the specified Modgen, with the Modgen figGroup ID set to mgId and the Modgen constraint ID set to cid. Also creates a matchGroup for netB with the lengthenOnly twig match type and trunk match type matchLength.

cv = mgId->cellView
netA = dbFindNetByName(cv "net5")
netB = dbFindNetByName(cv "net7")
when(and(netA netB)
  topoA = dbCreateTopology("TopologyA" netA)
  topoB = dbCreateTopology("TopologyB" netB)
  when(and(topoA topoB)
    trunkAA = dbCreateTrunk("TrunkAA" topoA "horizontal"))
    trunkAB = dbCreateTrunk("TrunkAB" topoA "horizontal"))
    trunkBA = dbCreateTrunk("TrunkBA" topoB "horizontal"))
    trunkBB = dbCreateTrunk("TrunkBB" topoB "horizontal"))
    when(and(trunkAA trunkAB trunkBA trunkBB)
      ;; Set the layers, widths, anchors and orthogonal offsets of the
      ;; trunks as appropriate here.
      mgCreateMatchGroupInModgen(cid list(trunkAA trunkAB) "widenFirst" "unknownType")
      mgCreateMatchGroupInModgen(cid list(trunkBA trunkBB) "lengthenOnly" "matchLength")
      mgAddTopologyToModgen(topoA cid)
      mgAddTopologyToModgen(topoB cid)
      mgAddTopologyToModgen(trunkAA cid)
      mgAddTopologyToModgen(trunkAB cid)
      mgAddTopologyToModgen(trunkBA cid)
      mgAddTopologyToModgen(trunkBB cid)
    ) ; end-when
  ) ; end-when
) ; end-when

Return to top
 ⠀
X