Skip to content

Adding Liberty to Hurricane bridge + python wrapper#156

Open
etyloppihacilem wants to merge 2 commits intolip6:mainfrom
etyloppihacilem:LibertyToHurricane
Open

Adding Liberty to Hurricane bridge + python wrapper#156
etyloppihacilem wants to merge 2 commits intolip6:mainfrom
etyloppihacilem:LibertyToHurricane

Conversation

@etyloppihacilem
Copy link
Copy Markdown
Contributor

@etyloppihacilem etyloppihacilem commented Apr 13, 2026

Adding Python wrappers, fixes across liberty lib

Tested and fixed Liberty to Hurricane bridge

Setting proper ownership of liberty library : when mapped to Hurricane, ownership is transferred to database.

How to use

Pdk configuration :

from coriolis import CRL

LibertyLib = CRL.LibertyLibrary(filepath="/.../path/to/liberty.lib")
if LibertyLib.load():
    print("Library file", liberty, "was successfully parsed.")
else:
    print("[ERROR] parsing of ", liberty, " was not successful. CG will fail.")
LibertyLib.mapLibertyToDb() # at this point db owns LibertyLib
print("Liberty informations were added to Hurricane database.")

Basic usage :

def example():
    from coriolis.Hurricane import DataBase
    from coriolis.CRL import getLibertyGroupFromCell

    db = DataBase.getDB()
    if db is None:
        print("There is no database yet...")
        return
    root = db.getRootLibrary()

    for lib in root.getLibraries():
        print("LIB :", lib.getName())
        for cell in lib.getCells():
            print(cell.getName())
            grp = getLibertyGroupFromCell(cell) # cell = Hurricane.Cell
            if grp is None:
                print("Pas de LibertyProperty attachée à cette cell")
            else:
                attr = grp.getAttribute("area")
                area = attr.getValue() if attr is not None else None
                print("area =", area)

Adding Python wrappers, fixes accross liberty lib
Fixing infinite loop
Tested and fixed Liberty to Hurricane bridge

Setting proper ownership of liberty library.

Changing name of LibertyToDb (because name was nonsense)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant