From e49b189f64a587f5821d3154a210f0f18ce46c69 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 7 Feb 2022 23:27:10 +0100 Subject: [PATCH] Doc clarification for Layout#create_cell --- src/db/db/gsiDeclDbLayout.cc | 46 ++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc index 404f377a7..6621b11f6 100644 --- a/src/db/db/gsiDeclDbLayout.cc +++ b/src/db/db/gsiDeclDbLayout.cc @@ -1157,14 +1157,21 @@ Class decl_Layout ("db", "Layout", "\n" "This method has been introduce in version 0.23 and replaces \\add_cell.\n" ) + - gsi::method_ext ("create_cell", &create_cell2, gsi::arg ("name"), gsi::arg ("params"), - "@brief Creates a cell as a PCell variant with the given name\n" - "@param name The name of the PCell and the name of the cell to create\n" + gsi::method_ext ("create_cell", &create_cell2, gsi::arg ("pcell_name"), gsi::arg ("params"), + "@brief Creates a cell as a PCell variant for the PCell with the given name\n" + "@param pcell_name The name of the PCell and also the name of the cell to create\n" "@param params The PCell parameters (key/value dictionary)\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if the PCell has already been used with these parameters.\n" "\n" - "This method will look up the PCell by the given name and create a new PCell variant " - "with the given parameters. The parameters are specified as a key/value dictionary with " + "PCells are instantiated by creating a PCell variant. A PCell variant is linked to the PCell and represents " + "this PCell with a particular parameter set.\n" + "\n" + "This method will look up the PCell by the PCell name and create a new PCell variant " + "for the given parameters. If the PCell has already been instantiated with the same parameters, the " + "original variant will be returned. Hence this method is not strictly creating a cell - only if the required variant has " + "not been created yet.\n" + "\n" + "The parameters are specified as a key/value dictionary with " "the names being the ones from the PCell declaration.\n" "\n" "If no PCell with the given name exists, nil is returned.\n" @@ -1175,25 +1182,34 @@ Class decl_Layout ("db", "Layout", "@brief Creates a cell with the given name\n" "@param name The name of the library cell and the name of the cell to create\n" "@param lib_name The name of the library where to take the cell from\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if the library cell has already been used in this layout.\n" + "\n" + "Library cells are imported by creating a 'library proxy'. This is a cell which represents " + "the library cell in the framework of the current layout. The library proxy is linked to the " + "library and will be updated if the library cell is changed.\n" + "\n" + "This method will look up the cell by the given name in the specified library and create a new library proxy for this cell.\n" + "If the same library cell has already been used, the original library proxy is returned. Hence, strictly speaking this " + "method does not always create a new cell but may return a reference to an existing cell.\n" "\n" - "This method will look up the cell by the given name in the specified library and create a new library proxy to this cell.\n" "If the library name is not valid, nil is returned.\n" "\n" "This method has been introduce in version 0.24.\n" ) + - gsi::method_ext ("create_cell", &create_cell4, gsi::arg ("name"), gsi::arg ("lib_name"), gsi::arg ("params"), - "@brief Creates a cell with the given name\n" - "@param name The name of the PCell and the name of the cell to create\n" + gsi::method_ext ("create_cell", &create_cell4, gsi::arg ("pcell_name"), gsi::arg ("lib_name"), gsi::arg ("params"), + "@brief Creates a cell for a PCell with the given PCell name from the given library\n" + "@param pcell_name The name of the PCell and also the name of the cell to create\n" "@param lib_name The name of the library where to take the PCell from\n" "@param params The PCell parameters (key/value dictionary)\n" - "@return The \\Cell object of the newly created cell.\n" + "@return The \\Cell object of the newly created cell or an existing cell if this PCell has already been used with the given parameters\n" "\n" - "This method will look up the PCell by the given name in the specified library and create a new PCell variant " - "with the given parameters. The parameters are specified as a key/value dictionary with " + "This method will look up the PCell by the PCell name in the specified library and create a new PCell variant " + "for the given parameters plus the library proxy. The parameters must be specified as a key/value dictionary with " "the names being the ones from the PCell declaration.\n" "\n" - "If no PCell with the given name exists or the library name is not valid, nil is returned.\n" + "If no PCell with the given name exists or the library name is not valid, nil is returned. Note that " + "this function - despite the name - may not always create a new cell, but return an existing cell if the " + "PCell from the library has already been used with the given parameters.\n" "\n" "This method has been introduce in version 0.24.\n" ) +