aboutsummaryrefslogtreecommitdiffstats
path: root/clk_calc.py
blob: 11eda9f3a62b09991959c498cb931c0dd095314b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frequ in MHz
f=18.432
ftarg=64.0

# PLL range: 60 MHz <= PLL <= 130 MHz
# MUL range: 4 <= MUL <= 7

min_err_val=[1.0, 0.0]
min_err=f

for mul in range(1, 8):
    for div in range(1, 0x20):
        err=abs((f*mul/(1.0*div)) - ftarg)
        print(mul, div, err)
        if(err < min_err):
            min_err_val=[mul, div]
            print("last minerr: %f, new minerr: %f, mul: %d, div: %d" % (min_err, err, mul, div))
            min_err=err

print("MUL-DIV values:")
print(min_err_val)
print("Absolute error: %0.2f %% " % ((f*min_err_val[0]/min_err_val[1]-ftarg)/ftarg*100))