Doc clarification for Layout#create_cell

This commit is contained in:
Matthias Koefferlein 2022-02-07 23:27:10 +01:00
parent 88c56d8b64
commit e49b189f64
1 changed files with 31 additions and 15 deletions

View File

@ -1157,14 +1157,21 @@ Class<db::Layout> 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<db::Layout> 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"
) +