util.py
def createMMMC(design, path):
    """
    Create a mmmc file according to the design
    """
    mmmc = open(path, mode='w')
    mmmc.write("create_library_set -name %s -timing {%s}\n" % (design.lib_name, design.liberty_input))
    mmmc.write("create_rc_corner -name default_rc_corner -preRoute_res {1.0} -preRoute_cap {1.0} -preRoute_clkres {0.0} -preRoute_clkcap {0.0} -postRoute_res {1.0} -postRoute_cap {1.0} -postRoute_xcap {1.0} -postRoute_clkres {0.0} -postRoute_clkcap {0.0}\n")
    mmmc.write("create_delay_corner -name default_delay_corner -library_set {%s} -rc_corner {default_rc_corner}\n" % design.lib_name)
    mmmc.write("create_constraint_mode -name common -sdc_files {%s}\n" % os.path.join(getObjPath(design), design.top_name + ".sdc"))
    mmmc.write("create_analysis_view -name default_view_hold -constraint_mode {common} -delay_corner {default_delay_corner}\n")
    mmmc.write("create_analysis_view -name default_view_setup -constraint_mode {common} -delay_corner {default_delay_corner}\n")
    mmmc.write("set_analysis_view -setup {default_view_setup} -hold {default_view_hold}\n")
    mmmc.close()

    Create a mmmc file according to the design
    
Create a mmmc file according to the design
Create a mmmc file according to the design
def createMMMC(design, path):
    mmmc = open(path, mode='w')
    mmmc.write("create_library_set -name %s -timing {%s}\n" % (design.lib_name, design.liberty_input))
    mmmc.write("create_rc_corner -name default_rc_corner -preRoute_res {1.0} -preRoute_cap {1.0} -preRoute_clkres {0.0} -preRoute_clkcap {0.0} -postRoute_res {1.0} -postRoute_cap {1.0} -postRoute_xcap {1.0} -postRoute_clkres {0.0} -postRoute_clkcap {0.0}\n")
    mmmc.write("create_delay_corner -name default_delay_corner -library_set {%s} -rc_corner {default_rc_corner}\n" % design.lib_name)
    mmmc.write("create_constraint_mode -name common -sdc_files {%s}\n" % os.path.join(getObjPath(design), design.top_name + ".sdc"))
    mmmc.write("create_analysis_view -name default_view_hold -constraint_mode {common} -delay_corner {default_delay_corner}\n")
    mmmc.write("create_analysis_view -name default_view_setup -constraint_mode {common} -delay_corner {default_delay_corner}\n")
    mmmc.write("set_analysis_view -setup {default_view_setup} -hold {default_view_hold}\n")
    mmmc.close()
def createMMMC ( design , path ) : mmmc = open ( path , mode = 'w' ) mmmc . write ( "create_library_set -name %s -timing {%s}\n" % ( design . lib_name , design . liberty_input ) ) mmmc . write ( "create_rc_corner -name default_rc_corner -preRoute_res {1.0} -preRoute_cap {1.0} -preRoute_clkres {0.0} -preRoute_clkcap {0.0} -postRoute_res {1.0} -postRoute_cap {1.0} -postRoute_xcap {1.0} -postRoute_clkres {0.0} -postRoute_clkcap {0.0}\n" ) mmmc . write ( "create_delay_corner -name default_delay_corner -library_set {%s} -rc_corner {default_rc_corner}\n" % design . lib_name ) mmmc . write ( "create_constraint_mode -name common -sdc_files {%s}\n" % os . path . join ( getObjPath ( design ) , design . top_name + ".sdc" ) ) mmmc . write ( "create_analysis_view -name default_view_hold -constraint_mode {common} -delay_corner {default_delay_corner}\n" ) mmmc . write ( "create_analysis_view -name default_view_setup -constraint_mode {common} -delay_corner {default_delay_corner}\n" ) mmmc . write ( "set_analysis_view -setup {default_view_setup} -hold {default_view_hold}\n" ) mmmc . close ( )
Create a mmmc file according to the design
Create a mmmc file according to the design
"""
    Create a mmmc file according to the design
    """
design
path