diff --git a/sim/generate_datasim.py b/sim/generate_datasim.py index b7564db0617222eec55d64cbaafc408394e1acf6..9d321581f8bfd16b19497e5d7a7bb3c9b830badb 100644 --- a/sim/generate_datasim.py +++ b/sim/generate_datasim.py @@ -65,13 +65,21 @@ with open("bpmdata.txt", "w") as fp: trespmat = np.zeros((N_PSC, N_BPM), dtype="int64") trespmat[:50,:122] = respmat[:50] trespmat[50:,122:] = respmat[50:] +C_N_RND = 20 +SUMSAT=36 + K_A = 218 K_B = -186 K_iC = 325 K_D = -3225 -C_N_RND = 26 -SUMSAT=36 + + +K_A = 1024 +K_B = 0 +K_iC = 1024 +K_D = 0 + ## ----------------------- # Model computation diff --git a/sim/tc_basic.vhd b/sim/tc_basic.vhd index 31ad508001541b61c6f86e30b844473daad612a7..9a6deb7f7f057eec3dbca5d8c5eaef4dbd3ec1c1 100644 --- a/sim/tc_basic.vhd +++ b/sim/tc_basic.vhd @@ -88,14 +88,23 @@ begin log("==--- Configure the DUT ---==", INFO); log("+-- Global Config", INFO); + -- Correction coefficients - Write(ManagerRec, f_addr(16#0C#), f_sdata(218)); - Write(ManagerRec, f_addr(16#10#), f_sdata(-186)); - Write(ManagerRec, f_addr(16#14#), f_sdata(325)); - Write(ManagerRec, f_addr(16#18#), f_sdata(-3225)); + Write(ManagerRec, f_addr(16#10#), f_sdata(218)); + Write(ManagerRec, f_addr(16#14#), f_sdata(-186)); + Write(ManagerRec, f_addr(16#18#), f_sdata(325)); + Write(ManagerRec, f_addr(16#1C#), f_sdata(-3225)); + + Write(ManagerRec, f_addr(16#20#), f_sdata(128)); + Write(ManagerRec, f_addr(16#24#), f_sdata(0)); + Write(ManagerRec, f_addr(16#28#), f_sdata(8192)); + Write(ManagerRec, f_addr(16#2C#), f_sdata(0)); + + -- Rst corr and threshold + Write(ManagerRec, f_addr(8), f_sdata(10)); -- Enable - Write(ManagerRec, f_addr(8), f_sdata(5)); + Write(ManagerRec, f_addr(8), f_sdata(1)); log("+-- Writing orbit reference...", INFO);