aboutsummaryrefslogtreecommitdiffstats
path: root/clk_calc.py
diff options
context:
space:
mode:
authorChristina Quast <chrysh.ng+git@gmail.com>2014-12-05 15:51:13 +0100
committerChristina Quast <chrysh.ng+git@gmail.com>2014-12-05 15:51:13 +0100
commit228265d7b33c81580a56295858ac14b67e91bf2f (patch)
tree8ac179c0028c3c2598708576fa8203b083a6e9cb /clk_calc.py
parentbc04ac800ab884f8bedfe7e913fe5c1be7a718fc (diff)
Clock calculator python script
Diffstat (limited to 'clk_calc.py')
-rw-r--r--clk_calc.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/clk_calc.py b/clk_calc.py
new file mode 100644
index 0000000..11eda9f
--- /dev/null
+++ b/clk_calc.py
@@ -0,0 +1,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))