Exemple #1
0
def space(cell, rdb, layer, value, angle=90):
    rdb_category = rdb.create_category('{}_Space'.format(layer))
    rdb_category.description = '{} [{:1.3f} um] - Minimum feature spacing violation'.format(
        layer, value)
    # message_loud('lymask doing {}'.format(rdb_category.name()))

    # do it
    polys = as_region(cell, layer)
    # violations = fast_space(polys, value / dbu, angle)
    violations = turbo(polys,
                       'space_check',
                       [value / dbu, False, None, angle, None, None],
                       tile_border=1.1 * value,
                       job_name='{}_Space'.format(layer))
    rdb_create(rdb, cell, rdb_category, violations)
Exemple #2
0
def width(cell, rdb, layer, value, angle=90):
    rdb_category = rdb.create_category('{}_Width'.format(layer))
    rdb_category.description = '{} [{:1.3f} um] - Minimum feature width violation'.format(
        layer, value)
    # message_loud('lymask doing {}'.format(rdb_category.name()))

    # do it
    polys = as_region(cell, layer)
    # violations = polys.width_check(value / dbu, False, pya.Region.Square, angle, None, None)
    violations = turbo(polys,
                       'width_check',
                       [value / dbu, False, None, angle, None, None],
                       tile_border=1.1 * value,
                       job_name='{}_Width'.format(layer))
    rdb_create(rdb, cell, rdb_category, violations)
Exemple #3
0
def inclusion(cell, rdb, inner, outer, include):
    rdb_category = rdb.create_category('{} in {}'.format(inner, outer))
    rdb_category.description = '{} in {} [{:1.3f} um] - Minimum inclusion violation'.format(
        inner, outer, include)

    # do it
    rin = as_region(cell, inner)
    rout = as_region(cell, outer)
    # violations = rin.sized(include / dbu) - rout
    big_rin = turbo(rin,
                    'sized',
                    include / dbu,
                    tile_border=1.1 * include,
                    job_name='{} in {}'.format(inner, outer))
    violations = big_rin - rout

    rdb_create(rdb, cell, rdb_category, violations)