示例#1
0
            s0 = delay(clk, s0, 1)
            s1 = delay(clk, s1, 1)
            valid = delay(clk, valid, 1)

            #reorder
            s0, s1, valid = reorder(clk, s0, s1, valid, stage)

    return bit_reverse_order(clk, s0, s1, valid, 2**(num_stages-1))


clk = Clock("clk")
base_type = SFixed(16, 8)
subtype = Complex(base_type)


a = subtype.input("in")
b = subtype.input("in")
valid = Boolean().input("valid")
s0, s1, valid_out = fft(clk, a, b, valid, 3)

test = [1, 0, 1, 0, 1, 0, 1, 0]

clk.initialise()
for i in range(10):
    for i in range(4):
        a.set(test[i]), b.set(test[i+4]), valid.set(1)
        print(("%10s %10s %10s"%(s0.get(), s1.get(), valid_out.get())))
        clk.tick()
    valid.set(0)
    print(("%10s %10s %10s"%(s0.get(), s1.get(), valid_out.get())))
    clk.tick()