예제 #1
0
def trace_0(xn=3, yn=41, wmin=0.8, wmax=2.4):
    """ A basic trace straight down the middle of a 4096x4096 chip """
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=2000)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl
예제 #2
0
def trace_5(xn=3, yn=16, wmin=2.1, wmax=2.4,
            x0=1750, y0=-1750):
    """ A sheared trace extending off the chip to the bottom right"""
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=750)
        xl[i], yl[i] = translate(xl[i], yl[i], dx=x0, dy=y0)
        xl[i], yl[i] = shear(xl[i], yl[i], x0=x0, y0=y0, mx=-0.5)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl
예제 #3
0
def trace_4(xn=3, yn=16, wmin=0.8, wmax=1.0,
            x0=1200, y0=-300):
    """ A short straight horizontal trace in the centre right of the chip"""
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=750)
        xl[i], yl[i] = translate(xl[i], yl[i], dx=x0, dy=y0)
        xl[i], yl[i] = rotate(xl[i], yl[i], x0=x0, y0=y0, angle=90)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl
예제 #4
0
def trace_3(xn=3, yn=16, wmin=1.4, wmax=2.0,
            x0=1250, y0=1000, x1=0, y1=1000):
    """ A bent trace in the top right of the chip """
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=750)
        xl[i], yl[i] = translate(xl[i], yl[i], dx=x0, dy=y0)
        xl[i], yl[i] = curvify(xl[i], yl[i], x0=x1, y0=y1)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl
예제 #5
0
def trace_2(xn=3, yn=16, wmin=0.8, wmax=1.6,
            x0=-1250, y0=1000, angle=-30):
    """ A rotated trace in the top left of the chip """
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)  # .l = list
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=750)
        xl[i], yl[i] = translate(xl[i], yl[i], dx=x0, dy=y0)
        xl[i], yl[i] = rotate(xl[i], yl[i], x0=x0, y0=y0, angle=angle)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl
예제 #6
0
def trace_1(xn=3, yn=16, wmin=1.2, wmax=2.4,
            x0=-1250, y0=-1000, mx=-0.5, my=-0.5):
    """ A bi-directionally sheared trace in the bottom left of the chip """
    sl, wl, xl, yl = make_trace_lists(xn, yn, wmin=wmin, wmax=wmax)
    for i in range(len(xl)):
        xl[i], yl[i] = stretch(xl[i], yl[i], nx=250, ny=750)
        xl[i], yl[i] = translate(xl[i], yl[i], dx=x0, dy=y0)
        xl[i], yl[i] = shear(xl[i], yl[i], x0=x0, y0=y0, mx=mx, my=my)

    tbl = make_trace_table(sl, wl, xl, yl)

    return tbl