Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
x393
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
x393
Commits
494d6c95
Commit
494d6c95
authored
Apr 06, 2015
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented measurement/processing of address/bank lines output delays
parent
c9bb19f1
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1149 additions
and
1070 deletions
+1149
-1070
get_test_dq_dqs_data.py
py393/get_test_dq_dqs_data.py
+240
-40
test_mcntrl.py
py393/test_mcntrl.py
+11
-8
verilog_utils.py
py393/verilog_utils.py
+78
-1
x393_lma.py
py393/x393_lma.py
+0
-15
x393_mcntrl_adjust.py
py393/x393_mcntrl_adjust.py
+787
-993
x393_mcntrl_tests.py
py393/x393_mcntrl_tests.py
+5
-5
x393_mcntrl_timing.py
py393/x393_mcntrl_timing.py
+11
-5
x393_pio_sequences.py
py393/x393_pio_sequences.py
+17
-3
No files found.
py393/get_test_dq_dqs_data.py
View file @
494d6c95
...
...
@@ -833,44 +833,63 @@ def get_adjust_cmda_odelay():
'cmda_odly_period'
:
-
1
,
'cmda_fine_corr'
:[
0.030713940147897745
,
-
0.31142995369410897
,
0.25855967931439255
,
0.33272217450114078
,
-
0.044430686684212156
],
'cmda_odly_b'
:
45.0047826387
,
'cmda_bspe'
:[{
'ldly'
:
45
,
'period'
:
-
1
,
'err'
:
-
0.035496578892797004
},
{
'ldly'
:
44
,
'period'
:
-
1
,
'err'
:
0.44070548107222152
},
{
'ldly'
:
42
,
'period'
:
-
1
,
'err'
:
-
0.46122745179348357
},
{
'ldly'
:
41
,
'period'
:
-
1
,
'err'
:
0.50981961434792566
},
{
'ldly'
:
39
,
'period'
:
-
1
,
'err'
:
-
0.35612221952906253
},
{
'ldly'
:
38
,
'period'
:
-
1
,
'err'
:
-
0.33221764758151551
},
{
'ldly'
:
37
,
'period'
:
-
1
,
'err'
:
0.1430022807381377
},
{
'ldly'
:
35
,
'period'
:
-
1
,
'err'
:
-
0.22809454696245979
},
{
'ldly'
:
34
,
'period'
:
-
1
,
'err'
:
0.24810751300255873
},
{
'ldly'
:
33
,
'period'
:
-
1
,
'err'
:
0.27201208495010576
},
{
'ldly'
:
31
,
'period'
:
-
1
,
'err'
:
0.31722164627826288
},
{
'ldly'
:
30
,
'period'
:
-
1
,
'err'
:
0.37613518556916148
},
{
'ldly'
:
28
,
'period'
:
-
1
,
'err'
:
-
0.52481561565117474
},
{
'ldly'
:
27
,
'period'
:
-
1
,
'err'
:
-
0.049595687331521532
},
{
'ldly'
:
25
,
'period'
:
-
1
,
'err'
:
-
0.42069251503212257
},
{
'ldly'
:
24
,
'period'
:
-
1
,
'err'
:
0.055509544932892396
},
{
'ldly'
:
23
,
'period'
:
-
1
,
'err'
:
0.079414116880446528
},
{
'ldly'
:
21
,
'period'
:
-
1
,
'err'
:
0.1246236782086001
},
{
'ldly'
:
20
,
'period'
:
-
1
,
'err'
:
0.18353721749949869
},
{
'ldly'
:
19
,
'period'
:
-
1
,
'err'
:
0.65973927746451366
},
{
'ldly'
:
17
,
'period'
:
-
1
,
'err'
:
-
0.24219365540118432
},
{
'ldly'
:
15
,
'period'
:
-
1
,
'err'
:
-
0.61329048310178536
},
{
'ldly'
:
14
,
'period'
:
-
1
,
'err'
:
-
0.13708842313677039
},
{
'ldly'
:
13
,
'period'
:
-
1
,
'err'
:
-
0.11318385118921803
},
{
'ldly'
:
11
,
'period'
:
-
1
,
'err'
:
-
0.067974289861062687
},
{
'ldly'
:
10
,
'period'
:
-
1
,
'err'
:
-
0.0090607505701782998
},
{
'ldly'
:
9
,
'period'
:
-
1
,
'err'
:
0.46714130939483667
},
{
'ldly'
:
7
,
'period'
:
-
1
,
'err'
:
-
0.4347916234708622
},
{
'ldly'
:
6
,
'period'
:
-
1
,
'err'
:
0.53625544267054437
},
{
'ldly'
:
4
,
'period'
:
-
1
,
'err'
:
-
0.32968639120644738
},
{
'ldly'
:
3
,
'period'
:
-
1
,
'err'
:
-
0.30578181925889458
},
{
'ldly'
:
2
,
'period'
:
-
1
,
'err'
:
0.16943810906075885
},
{
'ldly'
:
0
,
'period'
:
-
1
,
'err'
:
-
0.20165871863984108
},
{
'ldly'
:
156
,
'period'
:
0
,
'err'
:
0.62311009744971102
},
{
'ldly'
:
154
,
'period'
:
0
,
'err'
:
-
0.24283173642726297
},
{
'ldly'
:
153
,
'period'
:
0
,
'err'
:
-
0.21892716447970884
},
{
'ldly'
:
151
,
'period'
:
0
,
'err'
:
-
0.17371760315154461
},
{
'ldly'
:
150
,
'period'
:
0
,
'err'
:
-
0.11480406386064601
},
{
'ldly'
:
149
,
'period'
:
0
,
'err'
:
0.36139799610438672
},
{
'ldly'
:
148
,
'period'
:
0
,
'err'
:
0.38530256805194085
},
{
'ldly'
:
146
,
'period'
:
0
,
'err'
:
0.43051212938004824
},
{
'ldly'
:
144
,
'period'
:
0
,
'err'
:
-
0.43542970449692575
},
{
'ldly'
:
143
,
'period'
:
0
,
'err'
:
-
0.41152513254937162
},
{
'ldly'
:
142
,
'period'
:
0
,
'err'
:
0.063694795770260271
},
{
'ldly'
:
140
,
'period'
:
0
,
'err'
:
-
0.30740203193033722
},
{
'ldly'
:
139
,
'period'
:
0
,
'err'
:
0.16880002803469552
},
{
'ldly'
:
138
,
'period'
:
0
,
'err'
:
0.19270459998224965
},
{
'ldly'
:
136
,
'period'
:
0
,
'err'
:
0.23791416131038545
},
{
'ldly'
:
135
,
'period'
:
0
,
'err'
:
0.29682770060128405
},
{
'ldly'
:
133
,
'period'
:
0
,
'err'
:
-
0.6041231006190344
},
{
'ldly'
:
132
,
'period'
:
0
,
'err'
:
-
0.12890317229940251
},
{
'ldly'
:
130
,
'period'
:
0
,
'err'
:
-
0.5
},
{
'ldly'
:
129
,
'period'
:
0
,
'err'
:
-
0.023797940034967269
},
{
'ldly'
:
128
,
'period'
:
0
,
'err'
:
0.00010663191257265225
},
{
'ldly'
:
126
,
'period'
:
0
,
'err'
:
0.045316193240722669
},
{
'ldly'
:
125
,
'period'
:
0
,
'err'
:
0.10422973253162127
},
{
'ldly'
:
124
,
'period'
:
0
,
'err'
:
0.58043179249663979
},
{
'ldly'
:
122
,
'period'
:
0
,
'err'
:
-
0.32150114036905109
},
{
'ldly'
:
121
,
'period'
:
0
,
'err'
:
0.64954592577234394
},
{
'ldly'
:
119
,
'period'
:
0
,
'err'
:
-
0.21639590810464426
},
{
'ldly'
:
118
,
'period'
:
0
,
'err'
:
-
0.19249133615709013
},
{
'ldly'
:
116
,
'period'
:
0
,
'err'
:
-
0.14728177482894012
},
{
'ldly'
:
115
,
'period'
:
0
,
'err'
:
-
0.088368235538041517
},
{
'ldly'
:
114
,
'period'
:
0
,
'err'
:
0.387833824426977
},
{
'ldly'
:
113
,
'period'
:
0
,
'err'
:
0.41173839637453113
},
{
'ldly'
:
111
,
'period'
:
0
,
'err'
:
0.45694795770268115
},
{
'ldly'
:
109
,
'period'
:
0
,
'err'
:
-
0.40899387617430705
},
{
'ldly'
:
108
,
'period'
:
0
,
'err'
:
-
0.38508930422675292
},
{
'ldly'
:
107
,
'period'
:
0
,
'err'
:
0.090130624092907397
},
{
'ldly'
:
105
,
'period'
:
0
,
'err'
:
-
0.2809662036077043
},
{
'ldly'
:
104
,
'period'
:
0
,
'err'
:
0.19523585635731422
},
{
'ldly'
:
103
,
'period'
:
0
,
'err'
:
0.21914042830486835
},
{
'ldly'
:
101
,
'period'
:
0
,
'err'
:
0.26434998963301837
},
{
'ldly'
:
100
,
'period'
:
0
,
'err'
:
0.32326352892391697
},
{
'ldly'
:
98
,
'period'
:
0
,
'err'
:
-
0.5776872722964157
},
{
'ldly'
:
97
,
'period'
:
0
,
'err'
:
-
0.10246734397675539
},
{
'ldly'
:
95
,
'period'
:
0
,
'err'
:
-
0.47356417167736709
},
{
'ldly'
:
94
,
'period'
:
0
,
'err'
:
0.0026378882876372245
},
{
'ldly'
:
93
,
'period'
:
0
,
'err'
:
0.026542460235191356
},
{
'ldly'
:
91
,
'period'
:
0
,
'err'
:
0.071752021563355584
},
{
'ldly'
:
90
,
'period'
:
0
,
'err'
:
0.13066556085423997
},
{
'ldly'
:
89
,
'period'
:
0
,
'err'
:
0.60686762081925849
},
{
'ldly'
:
87
,
'period'
:
0
,
'err'
:
-
0.29506531204643238
},
{
'ldly'
:
85
,
'period'
:
0
,
'err'
:
-
0.66616213974704408
},
{
'ldly'
:
84
,
'period'
:
0
,
'err'
:
-
0.18996007978202556
},
{
'ldly'
:
83
,
'period'
:
0
,
'err'
:
-
0.16605550783447143
},
{
'ldly'
:
81
,
'period'
:
0
,
'err'
:
-
0.12084594650632141
},
{
'ldly'
:
80
,
'period'
:
0
,
'err'
:
-
0.061932407215422813
},
{
'ldly'
:
79
,
'period'
:
0
,
'err'
:
0.41426965274959571
},
{
'ldly'
:
78
,
'period'
:
0
,
'err'
:
0.43817422469714984
},
{
'ldly'
:
76
,
'period'
:
0
,
'err'
:
0.48338378602529986
},
{
'ldly'
:
74
,
'period'
:
0
,
'err'
:
-
0.38255804785168834
},
{
'ldly'
:
73
,
'period'
:
0
,
'err'
:
-
0.35865347590413421
},
{
'ldly'
:
72
,
'period'
:
0
,
'err'
:
0.1165664524155261
},
{
'ldly'
:
70
,
'period'
:
0
,
'err'
:
-
0.2545303752850856
},
{
'ldly'
:
69
,
'period'
:
0
,
'err'
:
0.22167168467993292
},
{
'ldly'
:
68
,
'period'
:
0
,
'err'
:
0.24557625662748706
},
{
'ldly'
:
66
,
'period'
:
0
,
'err'
:
0.29078581795562286
},
{
'ldly'
:
65
,
'period'
:
0
,
'err'
:
0.34969935724652146
},
{
'ldly'
:
63
,
'period'
:
0
,
'err'
:
-
0.5512514439738041
},
{
'ldly'
:
62
,
'period'
:
0
,
'err'
:
-
0.076031515654150894
},
{
'ldly'
:
60
,
'period'
:
0
,
'err'
:
-
0.44712834335474838
},
{
'ldly'
:
59
,
'period'
:
0
,
'err'
:
0.029073716610277245
},
{
'ldly'
:
58
,
'period'
:
0
,
'err'
:
0.052978288557824271
},
{
'ldly'
:
56
,
'period'
:
0
,
'err'
:
0.098187849885967182
},
{
'ldly'
:
55
,
'period'
:
0
,
'err'
:
0.15710138917686578
},
{
'ldly'
:
54
,
'period'
:
0
,
'err'
:
0.6333034491418843
},
{
'ldly'
:
52
,
'period'
:
0
,
'err'
:
-
0.26862948372382078
},
{
'ldly'
:
50
,
'period'
:
0
,
'err'
:
-
0.63972631142441827
},
{
'ldly'
:
49
,
'period'
:
0
,
'err'
:
-
0.16352425145939975
},
{
'ldly'
:
48
,
'period'
:
0
,
'err'
:
-
0.13961967951185272
},
{
'ldly'
:
46
,
'period'
:
0
,
'err'
:
-
0.094410118183695602
}],
'cmda_bspe'
:[{
'ldly'
:
45
,
'period'
:
-
1
,
'err'
:
0.43100421590990123
,
'zerr'
:
None
},
{
'ldly'
:
44
,
'period'
:
-
1
,
'err'
:
0.41358075886379453
,
'zerr'
:
None
},
{
'ldly'
:
43
,
'period'
:
-
1
,
'err'
:
0.17296058239455903
,
'zerr'
:
None
},
{
'ldly'
:
40
,
'period'
:
-
1
,
'err'
:
-
0.37272790102976927
,
'zerr'
:
None
},
{
'ldly'
:
39
,
'period'
:
-
1
,
'err'
:
-
0.39015135807586176
,
'zerr'
:
None
},
{
'ldly'
:
38
,
'period'
:
-
1
,
'err'
:
-
0.63077153454509727
,
'zerr'
:
None
},
{
'ldly'
:
36
,
'period'
:
-
1
,
'err'
:
-
0.27614900822447197
,
'zerr'
:
None
},
{
'ldly'
:
35
,
'period'
:
-
1
,
'err'
:
0.22229594305067479
,
'zerr'
:
None
},
{
'ldly'
:
34
,
'period'
:
-
1
,
'err'
:
0.2048724860045823
,
'zerr'
:
None
},
{
'ldly'
:
33
,
'period'
:
-
1
,
'err'
:
-
0.035747690464653203
,
'zerr'
:
None
},
{
'ldly'
:
31
,
'period'
:
-
1
,
'err'
:
0.31887483585598986
,
'zerr'
:
None
},
{
'ldly'
:
29
,
'period'
:
-
1
,
'err'
:
-
0.59885963093509176
,
'zerr'
:
None
},
{
'ldly'
:
29
,
'period'
:
-
1
,
'err'
:
0.79989633008502281
,
'zerr'
:
None
},
{
'ldly'
:
27
,
'period'
:
-
1
,
'err'
:
0.10498306724723605
,
'zerr'
:
None
},
{
'ldly'
:
25
,
'period'
:
-
1
,
'err'
:
0.013587670191459011
,
'zerr'
:
None
},
{
'ldly'
:
24
,
'period'
:
-
1
,
'err'
:
-
0.0038357868546334828
,
'zerr'
:
None
},
{
'ldly'
:
23
,
'period'
:
-
1
,
'err'
:
-
0.24445596332387964
,
'zerr'
:
None
},
{
'ldly'
:
21
,
'period'
:
-
1
,
'err'
:
0.11016656299676342
,
'zerr'
:
None
},
{
'ldly'
:
20
,
'period'
:
-
1
,
'err'
:
0.60861151427190308
,
'zerr'
:
None
},
{
'ldly'
:
19
,
'period'
:
-
1
,
'err'
:
0.59118805722581058
,
'zerr'
:
None
},
{
'ldly'
:
17
,
'period'
:
-
1
,
'err'
:
-
0.10372520561197618
,
'zerr'
:
None
},
{
'ldly'
:
15
,
'period'
:
-
1
,
'err'
:
-
0.19512060266775144
,
'zerr'
:
None
},
{
'ldly'
:
14
,
'period'
:
-
1
,
'err'
:
-
0.21254405971385992
,
'zerr'
:
None
},
{
'ldly'
:
13
,
'period'
:
-
1
,
'err'
:
-
0.45316423618309187
,
'zerr'
:
None
},
{
'ldly'
:
11
,
'period'
:
-
1
,
'err'
:
-
0.098541709862450588
,
'zerr'
:
None
},
{
'ldly'
:
10
,
'period'
:
-
1
,
'err'
:
0.39990324141269262
,
'zerr'
:
None
},
{
'ldly'
:
9
,
'period'
:
-
1
,
'err'
:
0.38247978436659835
,
'zerr'
:
None
},
{
'ldly'
:
8
,
'period'
:
-
1
,
'err'
:
0.1418596078973513
,
'zerr'
:
None
},
{
'ldly'
:
5
,
'period'
:
-
1
,
'err'
:
-
0.40382887552697877
,
'zerr'
:
None
},
{
'ldly'
:
4
,
'period'
:
-
1
,
'err'
:
-
0.42125233257307215
,
'zerr'
:
None
},
{
'ldly'
:
3
,
'period'
:
-
1
,
'err'
:
-
0.66187250904230499
,
'zerr'
:
None
},
{
'ldly'
:
2
,
'period'
:
-
1
,
'err'
:
0.28259036560925455
,
'zerr'
:
None
},
{
'ldly'
:
0
,
'period'
:
-
1
,
'err'
:
0.19119496855347978
,
'zerr'
:
None
},
{
'ldly'
:
155
,
'period'
:
0
,
'err'
:
-
0.070716704678972064
,
'zerr'
:
0.0089285714285713969
},
{
'ldly'
:
154
,
'period'
:
0
,
'err'
:
-
0.088140161725078769
,
'zerr'
:
0.017857142857142905
},
{
'ldly'
:
153
,
'period'
:
0
,
'err'
:
-
0.32876033819428585
,
'zerr'
:
0.026785714285714302
},
{
'ldly'
:
151
,
'period'
:
0
,
'err'
:
0.025862188126325236
,
'zerr'
:
0.035714285714285698
},
{
'ldly'
:
150
,
'period'
:
0
,
'err'
:
0.52430713940148621
,
'zerr'
:
0.044642857142857095
},
{
'ldly'
:
149
,
'period'
:
0
,
'err'
:
0.50688368235537951
,
'zerr'
:
0.053571428571428603
},
{
'ldly'
:
147
,
'period'
:
0
,
'err'
:
-
0.18802958048237883
,
'zerr'
:
0.0625
},
{
'ldly'
:
145
,
'period'
:
0
,
'err'
:
-
0.27942497753818429
,
'zerr'
:
0.071428571428571397
},
{
'ldly'
:
144
,
'period'
:
0
,
'err'
:
-
0.296848434584291
,
'zerr'
:
0.080357142857142905
},
{
'ldly'
:
143
,
'period'
:
0
,
'err'
:
-
0.53746861105349808
,
'zerr'
:
0.089285714285714302
},
{
'ldly'
:
141
,
'period'
:
0
,
'err'
:
-
0.18284608473288699
,
'zerr'
:
0.098214285714285698
},
{
'ldly'
:
140
,
'period'
:
0
,
'err'
:
0.31559886654227398
,
'zerr'
:
0.1071428571428571
},
{
'ldly'
:
139
,
'period'
:
0
,
'err'
:
0.29817540949616728
,
'zerr'
:
0.1160714285714286
},
{
'ldly'
:
138
,
'period'
:
0
,
'err'
:
0.057555233026931774
,
'zerr'
:
0.125
},
{
'ldly'
:
136
,
'period'
:
0
,
'err'
:
0.41217775934757128
,
'zerr'
:
0.1339285714285714
},
{
'ldly'
:
134
,
'period'
:
0
,
'err'
:
-
0.50555670744350323
,
'zerr'
:
0.1428571428571429
},
{
'ldly'
:
133
,
'period'
:
0
,
'err'
:
-
0.74617688391271031
,
'zerr'
:
0.1517857142857143
},
{
'ldly'
:
132
,
'period'
:
0
,
'err'
:
0.19828599073883879
,
'zerr'
:
0.1607142857142857
},
{
'ldly'
:
130
,
'period'
:
0
,
'err'
:
0.10689059368303333
,
'zerr'
:
0.1696428571428571
},
{
'ldly'
:
129
,
'period'
:
0
,
'err'
:
0.089467136636955047
,
'zerr'
:
0.1785714285714286
},
{
'ldly'
:
128
,
'period'
:
0
,
'err'
:
-
0.15115303983229467
,
'zerr'
:
0.1875
},
{
'ldly'
:
126
,
'period'
:
0
,
'err'
:
0.20346948648837326
,
'zerr'
:
0.1964285714285714
},
{
'ldly'
:
125
,
'period'
:
0
,
'err'
:
0.70191443776349161
,
'zerr'
:
0.2053571428571429
},
{
'ldly'
:
124
,
'period'
:
0
,
'err'
:
0.68449098071741332
,
'zerr'
:
0.2142857142857143
},
{
'ldly'
:
122
,
'period'
:
0
,
'err'
:
-
0.010422282120373438
,
'zerr'
:
0.2232142857142857
},
{
'ldly'
:
120
,
'period'
:
0
,
'err'
:
-
0.10181767917615048
,
'zerr'
:
0.2321428571428571
},
{
'ldly'
:
119
,
'period'
:
0
,
'err'
:
-
0.11924113622225718
,
'zerr'
:
0.2410714285714286
},
{
'ldly'
:
118
,
'period'
:
0
,
'err'
:
-
0.35986131269149269
,
'zerr'
:
0.25
},
{
'ldly'
:
116
,
'period'
:
0
,
'err'
:
-
0.0052387863708389659
,
'zerr'
:
0.2589285714285714
},
{
'ldly'
:
115
,
'period'
:
0
,
'err'
:
0.49320616490429359
,
'zerr'
:
0.2678571428571429
},
{
'ldly'
:
114
,
'period'
:
0
,
'err'
:
0.47578270785820109
,
'zerr'
:
0.2767857142857143
},
{
'ldly'
:
112
,
'period'
:
0
,
'err'
:
-
0.21913055497959988
,
'zerr'
:
0.2857142857142857
},
{
'ldly'
:
110
,
'period'
:
0
,
'err'
:
-
0.31052595203537692
,
'zerr'
:
0.2946428571428571
},
{
'ldly'
:
109
,
'period'
:
0
,
'err'
:
-
0.32794940908146941
,
'zerr'
:
0.3035714285714286
},
{
'ldly'
:
108
,
'period'
:
0
,
'err'
:
-
0.56856958555070491
,
'zerr'
:
0.3125
},
{
'ldly'
:
106
,
'period'
:
0
,
'err'
:
-
0.2139470592300512
,
'zerr'
:
0.3214285714285714
},
{
'ldly'
:
105
,
'period'
:
0
,
'err'
:
0.28449789204506715
,
'zerr'
:
0.3303571428571429
},
{
'ldly'
:
104
,
'period'
:
0
,
'err'
:
0.26707443499898886
,
'zerr'
:
0.3392857142857143
},
{
'ldly'
:
103
,
'period'
:
0
,
'err'
:
0.02645425852973915
,
'zerr'
:
0.3482142857142857
},
{
'ldly'
:
101
,
'period'
:
0
,
'err'
:
0.38107678485039287
,
'zerr'
:
0.3571428571428571
},
{
'ldly'
:
99
,
'period'
:
0
,
'err'
:
-
0.53665768194068164
,
'zerr'
:
0.3660714285714286
},
{
'ldly'
:
98
,
'period'
:
0
,
'err'
:
-
0.77727785840993135
,
'zerr'
:
0.375
},
{
'ldly'
:
97
,
'period'
:
0
,
'err'
:
0.16718501624164617
,
'zerr'
:
0.3839285714285714
},
{
'ldly'
:
95
,
'period'
:
0
,
'err'
:
0.075789619185854917
,
'zerr'
:
0.3928571428571429
},
{
'ldly'
:
94
,
'period'
:
0
,
'err'
:
0.058366162139762423
,
'zerr'
:
0.4017857142857143
},
{
'ldly'
:
93
,
'period'
:
0
,
'err'
:
-
0.18225401432947308
,
'zerr'
:
0.4107142857142857
},
{
'ldly'
:
91
,
'period'
:
0
,
'err'
:
0.17236851199116643
,
'zerr'
:
0.4196428571428571
},
{
'ldly'
:
90
,
'period'
:
0
,
'err'
:
0.67081346326631319
,
'zerr'
:
0.4285714285714286
},
{
'ldly'
:
89
,
'period'
:
0
,
'err'
:
0.65339000622020649
,
'zerr'
:
0.4375
},
{
'ldly'
:
87
,
'period'
:
0
,
'err'
:
-
0.041523256617580273
,
'zerr'
:
0.4464285714285714
},
{
'ldly'
:
85
,
'period'
:
0
,
'err'
:
-
0.13291865367335731
,
'zerr'
:
0.4553571428571429
},
{
'ldly'
:
84
,
'period'
:
0
,
'err'
:
-
0.15034211071944981
,
'zerr'
:
0.4642857142857143
},
{
'ldly'
:
83
,
'period'
:
0
,
'err'
:
-
0.39096228718868531
,
'zerr'
:
0.4732142857142857
},
{
'ldly'
:
81
,
'period'
:
0
,
'err'
:
-
0.036339760868045801
,
'zerr'
:
0.4821428571428571
},
{
'ldly'
:
80
,
'period'
:
0
,
'err'
:
0.46210519040708675
,
'zerr'
:
0.4910714285714286
},
{
'ldly'
:
79
,
'period'
:
0
,
'err'
:
0.44468173336099426
,
'zerr'
:
None
},
{
'ldly'
:
78
,
'period'
:
0
,
'err'
:
0.20406155689175876
,
'zerr'
:
None
},
{
'ldly'
:
75
,
'period'
:
0
,
'err'
:
-
0.34162692653256954
,
'zerr'
:
None
},
{
'ldly'
:
74
,
'period'
:
0
,
'err'
:
-
0.35905038357867625
,
'zerr'
:
None
},
{
'ldly'
:
73
,
'period'
:
0
,
'err'
:
-
0.59967056004791175
,
'zerr'
:
None
},
{
'ldly'
:
71
,
'period'
:
0
,
'err'
:
-
0.24504803372725803
,
'zerr'
:
None
},
{
'ldly'
:
70
,
'period'
:
0
,
'err'
:
0.25339691754787452
,
'zerr'
:
None
},
{
'ldly'
:
69
,
'period'
:
0
,
'err'
:
0.23597346050178203
,
'zerr'
:
None
},
{
'ldly'
:
68
,
'period'
:
0
,
'err'
:
-
0.004646715967467685
,
'zerr'
:
None
},
{
'ldly'
:
66
,
'period'
:
0
,
'err'
:
0.34997581035320025
,
'zerr'
:
None
},
{
'ldly'
:
64
,
'period'
:
0
,
'err'
:
-
0.56775865643788848
,
'zerr'
:
None
},
{
'ldly'
:
63
,
'period'
:
0
,
'err'
:
-
0.80837883290711687
,
'zerr'
:
None
},
{
'ldly'
:
62
,
'period'
:
0
,
'err'
:
0.13608404174443933
,
'zerr'
:
None
},
{
'ldly'
:
60
,
'period'
:
0
,
'err'
:
0.044688644688662293
,
'zerr'
:
None
},
{
'ldly'
:
59
,
'period'
:
0
,
'err'
:
0.027265187642562694
,
'zerr'
:
None
},
{
'ldly'
:
58
,
'period'
:
0
,
'err'
:
-
0.21335498882667281
,
'zerr'
:
None
},
{
'ldly'
:
56
,
'period'
:
0
,
'err'
:
0.1412675374939667
,
'zerr'
:
None
},
{
'ldly'
:
55
,
'period'
:
0
,
'err'
:
0.63971248876911346
,
'zerr'
:
None
},
{
'ldly'
:
54
,
'period'
:
0
,
'err'
:
0.62228903172302097
,
'zerr'
:
None
},
{
'ldly'
:
52
,
'period'
:
0
,
'err'
:
-
0.072624231114787108
,
'zerr'
:
None
},
{
'ldly'
:
50
,
'period'
:
0
,
'err'
:
-
0.16401962817055704
,
'zerr'
:
None
},
{
'ldly'
:
49
,
'period'
:
0
,
'err'
:
-
0.18144308521664954
,
'zerr'
:
None
},
{
'ldly'
:
48
,
'period'
:
0
,
'err'
:
-
0.42206326168588504
,
'zerr'
:
None
},
{
'ldly'
:
46
,
'period'
:
0
,
'err'
:
-
0.06744073536524553
,
'zerr'
:
None
}],
'cmda_odly_a'
:
-
1.40105743313
}
def
get_wlev_data
():
...
...
@@ -1269,7 +1288,188 @@ def get_dqo_dqso_parameters():
'tSDQ'
:
[
15.062858793982121
,
15.093269292211088
,
13.857648042108643
,
15.372410224633164
,
14.89693566662233
,
15.137308145825395
,
15.05525240191758
,
15.212525836468172
],
'tFDQS'
:
[
-
16.519482411323562
,
-
11.874469319430489
,
0.30593102975170644
,
11.211763791113706
]}
]
def
get_addr_meas
():
return
[
[[
124
,
129
,
124
,
124
,
124
,
124
,
129
,
124
,
128
,
129
,
124
,
124
,
119
,
124
,
124
,
124
,
129
,
124
],
[
124
,
127
,
124
,
124
,
124
,
124
,
126
,
119
,
124
,
128
,
124
,
124
,
119
,
124
,
124
,
122
,
128
,
124
],
[
119
,
126
,
122
,
122
,
124
,
121
,
124
,
119
,
124
,
126
,
120
,
124
,
119
,
123
,
124
,
121
,
124
,
122
],
[
119
,
124
,
119
,
119
,
119
,
119
,
124
,
119
,
124
,
124
,
119
,
122
,
114
,
120
,
122
,
119
,
124
,
119
],
[
119
,
124
,
119
,
119
,
119
,
119
,
124
,
115
,
122
,
124
,
119
,
119
,
114
,
119
,
119
,
119
,
124
,
119
],
[
117
,
121
,
119
,
117
,
119
,
119
,
119
,
114
,
120
,
122
,
118
,
119
,
114
,
119
,
119
,
115
,
121
,
119
],
[
114
,
119
,
115
,
114
,
116
,
115
,
119
,
114
,
119
,
120
,
115
,
119
,
114
,
118
,
119
,
114
,
119
,
115
],
[
114
,
119
,
114
,
114
,
114
,
114
,
119
,
113
,
119
,
119
,
114
,
115
,
109
,
114
,
114
,
114
,
119
,
114
],
[
114
,
119
,
114
,
114
,
114
,
114
,
117
,
112
,
116
,
119
,
114
,
114
,
109
,
114
,
114
,
114
,
119
,
114
],
[
112
,
114
,
114
,
112
,
112
,
113
,
114
,
109
,
114
,
116
,
112
,
114
,
109
,
114
,
114
,
112
,
114
,
113
],
[
109
,
114
,
110
,
109
,
109
,
110
,
114
,
109
,
114
,
114
,
109
,
113
,
108
,
110
,
112
,
109
,
114
,
110
],
[
109
,
114
,
109
,
109
,
109
,
109
,
114
,
107
,
113
,
114
,
109
,
110
,
104
,
109
,
110
,
109
,
114
,
109
],
[
109
,
112
,
109
,
109
,
109
,
109
,
111
,
104
,
110
,
114
,
109
,
109
,
104
,
109
,
109
,
109
,
113
,
109
],
[
106
,
109
,
108
,
106
,
107
,
108
,
109
,
104
,
109
,
110
,
109
,
109
,
104
,
108
,
109
,
107
,
109
,
108
],
[
104
,
109
,
105
,
104
,
104
,
104
,
109
,
104
,
109
,
109
,
104
,
108
,
102
,
105
,
107
,
104
,
109
,
104
],
[
104
,
109
,
104
,
104
,
104
,
104
,
108
,
102
,
107
,
109
,
104
,
104
,
99
,
104
,
104
,
104
,
109
,
104
],
[
102
,
106
,
104
,
104
,
104
,
104
,
104
,
99
,
104
,
107
,
104
,
104
,
99
,
104
,
104
,
102
,
104
,
104
],
[
99
,
104
,
100
,
99
,
100
,
100
,
104
,
99
,
104
,
104
,
103
,
104
,
98
,
101
,
104
,
99
,
104
,
100
],
[
99
,
104
,
99
,
99
,
99
,
99
,
104
,
98
,
104
,
104
,
99
,
100
,
95
,
99
,
100
,
99
,
104
,
99
],
[
97
,
101
,
99
,
99
,
99
,
99
,
101
,
94
,
100
,
101
,
99
,
99
,
94
,
99
,
99
,
97
,
101
,
99
],
[
95
,
99
,
97
,
97
,
97
,
97
,
99
,
94
,
99
,
99
,
99
,
99
,
94
,
98
,
99
,
94
,
99
,
96
],
[
94
,
99
,
94
,
94
,
94
,
94
,
99
,
94
,
99
,
99
,
95
,
96
,
92
,
94
,
95
,
94
,
99
,
94
],
[
94
,
98
,
94
,
94
,
94
,
94
,
96
,
91
,
96
,
99
,
94
,
94
,
89
,
94
,
94
,
94
,
99
,
94
],
[
92
,
96
,
92
,
94
,
94
,
94
,
95
,
89
,
94
,
95
,
94
,
94
,
89
,
94
,
94
,
92
,
95
,
93
],
[
89
,
94
,
90
,
89
,
91
,
91
,
94
,
89
,
94
,
94
,
93
,
94
,
89
,
93
,
93
,
89
,
94
,
90
],
[
89
,
94
,
89
,
89
,
89
,
89
,
94
,
89
,
94
,
94
,
89
,
93
,
88
,
89
,
90
,
89
,
94
,
89
],
[
89
,
92
,
89
,
89
,
89
,
89
,
92
,
87
,
90
,
94
,
89
,
89
,
84
,
89
,
89
,
89
,
93
,
89
],
[
87
,
89
,
87
,
89
,
89
,
89
,
89
,
84
,
89
,
91
,
89
,
89
,
84
,
89
,
89
,
87
,
90
,
89
],
[
84
,
89
,
84
,
84
,
84
,
85
,
89
,
84
,
89
,
89
,
85
,
89
,
83
,
84
,
85
,
84
,
89
,
84
],
[
84
,
89
,
84
,
84
,
84
,
84
,
87
,
83
,
86
,
88
,
84
,
84
,
79
,
84
,
84
,
84
,
89
,
84
],
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
[
66
,
69
,
67
,
65
,
69
,
69
,
69
,
64
,
69
,
69
,
69
,
69
,
64
,
68
,
67
,
66
,
69
,
68
],
[
64
,
69
,
65
,
64
,
67
,
68
,
69
,
64
,
69
,
69
,
67
,
65
,
64
,
65
,
64
,
64
,
69
,
65
],
[
64
,
69
,
64
,
64
,
64
,
64
,
66
,
64
,
65
,
66
,
64
,
64
,
61
,
64
,
64
,
64
,
68
,
64
],
[
64
,
64
,
64
,
62
,
64
,
64
,
64
,
60
,
64
,
64
,
64
,
64
,
59
,
64
,
64
,
64
,
64
,
64
],
[
62
,
64
,
64
,
59
,
64
,
64
,
64
,
59
,
64
,
64
,
64
,
63
,
59
,
63
,
62
,
62
,
64
,
63
],
[
59
,
64
,
61
,
59
,
61
,
62
,
64
,
59
,
63
,
64
,
62
,
60
,
59
,
61
,
60
,
59
,
64
,
60
],
[
59
,
59
,
59
,
57
,
59
,
59
,
59
,
57
,
59
,
59
,
59
,
59
,
54
,
59
,
59
,
59
,
59
,
59
],
[
56
,
59
,
59
,
55
,
59
,
59
,
59
,
54
,
59
,
59
,
58
,
59
,
54
,
59
,
57
,
56
,
59
,
59
],
[
54
,
59
,
55
,
54
,
55
,
58
,
57
,
54
,
56
,
59
,
55
,
55
,
53
,
56
,
55
,
54
,
59
,
56
],
[
54
,
56
,
54
,
54
,
54
,
54
,
54
,
54
,
54
,
56
,
54
,
54
,
49
,
54
,
54
,
54
,
57
,
54
],
[
54
,
54
,
54
,
52
,
54
,
54
,
54
,
49
,
54
,
54
,
54
,
54
,
49
,
54
,
54
,
54
,
54
,
54
],
[
52
,
54
,
53
,
49
,
51
,
54
,
52
,
49
,
52
,
54
,
51
,
52
,
49
,
51
,
50
,
51
,
54
,
52
],
[
49
,
53
,
49
,
49
,
49
,
51
,
51
,
49
,
50
,
52
,
49
,
49
,
47
,
49
,
49
,
49
,
53
,
50
],
[
49
,
49
,
49
,
47
,
49
,
49
,
49
,
44
,
49
,
49
,
49
,
49
,
44
,
49
,
49
,
49
,
49
,
49
],
[
47
,
49
,
49
,
44
,
47
,
49
,
47
,
44
,
49
,
49
,
49
,
48
,
44
,
47
,
47
,
47
,
49
,
48
],
[
44
,
49
,
44
,
44
,
45
,
46
,
44
,
44
,
44
,
47
,
44
,
45
,
43
,
44
,
44
,
44
,
49
,
45
],
[
44
,
45
,
44
,
44
,
44
,
44
,
44
,
42
,
44
,
44
,
44
,
44
,
39
,
44
,
44
,
44
,
45
,
44
],
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
[
128
,
134
,
129
,
129
,
129
,
129
,
133
,
124
,
132
,
134
,
129
,
129
,
124
,
129
,
129
,
129
,
134
,
129
],
[
129
,
132
,
129
,
127
,
129
,
128
,
130
,
124
,
129
,
132
,
129
,
129
,
124
,
129
,
129
,
126
,
132
,
129
]]
,
[[
121
,
129
,
124
,
124
,
127
,
124
,
124
,
123
,
127
,
129
,
124
,
124
,
123
,
124
,
126
,
121
,
128
,
124
],
[
119
,
127
,
124
,
123
,
124
,
124
,
124
,
119
,
125
,
129
,
124
,
124
,
119
,
124
,
124
,
119
,
126
,
124
],
[
119
,
124
,
121
,
119
,
124
,
124
,
123
,
119
,
124
,
128
,
123
,
124
,
119
,
124
,
124
,
119
,
124
,
122
],
[
118
,
124
,
119
,
119
,
122
,
122
,
119
,
119
,
124
,
124
,
119
,
121
,
119
,
120
,
124
,
118
,
124
,
119
],
[
114
,
123
,
119
,
119
,
120
,
119
,
119
,
117
,
123
,
124
,
119
,
119
,
116
,
119
,
119
,
115
,
121
,
119
],
[
114
,
119
,
118
,
115
,
119
,
119
,
119
,
114
,
119
,
124
,
119
,
119
,
114
,
119
,
119
,
114
,
119
,
118
],
[
114
,
119
,
115
,
114
,
119
,
119
,
117
,
114
,
119
,
123
,
116
,
118
,
114
,
116
,
119
,
114
,
119
,
116
],
[
111
,
118
,
114
,
114
,
114
,
114
,
114
,
113
,
117
,
119
,
114
,
114
,
112
,
114
,
115
,
112
,
118
,
114
],
[
109
,
116
,
114
,
114
,
114
,
114
,
114
,
110
,
117
,
119
,
114
,
114
,
111
,
114
,
114
,
109
,
116
,
114
],
[
109
,
114
,
114
,
111
,
114
,
114
,
114
,
109
,
114
,
119
,
114
,
114
,
109
,
114
,
114
,
109
,
114
,
113
],
[
109
,
114
,
109
,
109
,
112
,
114
,
113
,
109
,
114
,
116
,
111
,
113
,
109
,
111
,
114
,
109
,
114
,
109
],
[
107
,
113
,
109
,
109
,
110
,
110
,
109
,
107
,
113
,
114
,
109
,
109
,
109
,
109
,
111
,
108
,
112
,
109
],
[
104
,
109
,
109
,
108
,
109
,
109
,
109
,
104
,
111
,
114
,
109
,
109
,
106
,
109
,
109
,
104
,
110
,
109
],
[
104
,
109
,
109
,
107
,
109
,
109
,
109
,
104
,
109
,
114
,
109
,
109
,
104
,
109
,
109
,
104
,
109
,
109
],
[
103
,
107
,
104
,
104
,
107
,
107
,
104
,
104
,
109
,
109
,
104
,
105
,
104
,
104
,
107
,
103
,
109
,
104
],
[
101
,
106
,
104
,
104
,
104
,
104
,
104
,
99
,
106
,
109
,
104
,
104
,
103
,
104
,
104
,
101
,
106
,
104
],
[
99
,
104
,
104
,
102
,
104
,
104
,
104
,
99
,
104
,
109
,
104
,
104
,
99
,
104
,
104
,
99
,
104
,
104
],
[
99
,
104
,
99
,
99
,
103
,
104
,
101
,
99
,
104
,
105
,
102
,
102
,
99
,
101
,
104
,
99
,
104
,
101
],
[
97
,
103
,
99
,
99
,
99
,
99
,
99
,
96
,
101
,
104
,
99
,
99
,
99
,
99
,
99
,
97
,
102
,
99
],
[
94
,
99
,
99
,
98
,
99
,
99
,
99
,
94
,
99
,
104
,
99
,
99
,
96
,
99
,
99
,
94
,
99
,
99
],
[
94
,
99
,
97
,
96
,
98
,
99
,
98
,
94
,
99
,
103
,
99
,
99
,
94
,
99
,
99
,
94
,
99
,
97
],
[
93
,
97
,
94
,
94
,
95
,
95
,
94
,
92
,
97
,
99
,
94
,
94
,
94
,
94
,
94
,
93
,
97
,
94
],
[
90
,
95
,
94
,
94
,
94
,
94
,
94
,
89
,
95
,
99
,
94
,
94
,
92
,
94
,
94
,
89
,
95
,
94
],
[
89
,
94
,
94
,
93
,
94
,
94
,
94
,
89
,
94
,
98
,
94
,
94
,
89
,
94
,
94
,
89
,
94
,
93
],
[
89
,
94
,
90
,
89
,
92
,
93
,
92
,
89
,
94
,
94
,
91
,
91
,
89
,
92
,
94
,
89
,
94
,
89
],
[
88
,
92
,
89
,
89
,
89
,
90
,
89
,
88
,
92
,
94
,
89
,
89
,
89
,
89
,
91
,
88
,
93
,
89
],
[
86
,
90
,
89
,
89
,
89
,
89
,
89
,
85
,
89
,
94
,
89
,
89
,
88
,
89
,
89
,
86
,
90
,
89
],
[
84
,
89
,
88
,
87
,
89
,
89
,
89
,
84
,
89
,
93
,
89
,
89
,
85
,
89
,
89
,
84
,
89
,
89
],
[
84
,
88
,
84
,
84
,
85
,
87
,
84
,
84
,
89
,
89
,
84
,
84
,
84
,
84
,
87
,
83
,
89
,
84
],
[
82
,
85
,
84
,
84
,
84
,
84
,
84
,
81
,
84
,
89
,
84
,
84
,
83
,
84
,
84
,
80
,
87
,
84
],
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
[
64
,
67
,
64
,
64
,
67
,
67
,
65
,
64
,
68
,
69
,
66
,
64
,
64
,
65
,
67
,
64
,
68
,
64
],
[
63
,
65
,
64
,
64
,
64
,
64
,
64
,
62
,
65
,
69
,
64
,
64
,
64
,
64
,
64
,
63
,
66
,
64
],
[
59
,
64
,
64
,
64
,
64
,
64
,
64
,
60
,
64
,
68
,
64
,
64
,
61
,
64
,
64
,
59
,
64
,
63
],
[
59
,
64
,
60
,
61
,
64
,
64
,
60
,
59
,
64
,
64
,
61
,
62
,
59
,
63
,
63
,
59
,
64
,
60
],
[
59
,
64
,
59
,
59
,
62
,
61
,
59
,
59
,
61
,
64
,
59
,
59
,
59
,
59
,
61
,
59
,
63
,
59
],
[
59
,
60
,
59
,
59
,
59
,
59
,
59
,
57
,
59
,
64
,
59
,
59
,
59
,
59
,
59
,
59
,
61
,
59
],
[
54
,
59
,
56
,
54
,
57
,
59
,
55
,
54
,
58
,
59
,
54
,
57
,
54
,
58
,
57
,
54
,
59
,
56
],
[
54
,
56
,
54
,
54
,
54
,
57
,
54
,
53
,
56
,
59
,
54
,
54
,
54
,
55
,
54
,
54
,
57
,
54
],
[
53
,
54
,
54
,
54
,
54
,
54
,
54
,
50
,
54
,
59
,
54
,
54
,
54
,
54
,
54
,
53
,
54
,
54
],
[
49
,
54
,
54
,
52
,
54
,
54
,
53
,
49
,
54
,
55
,
52
,
54
,
49
,
54
,
54
,
49
,
54
,
54
],
[
49
,
52
,
52
,
49
,
50
,
54
,
49
,
49
,
52
,
54
,
49
,
51
,
49
,
53
,
52
,
49
,
52
,
52
],
[
49
,
49
,
49
,
49
,
49
,
52
,
49
,
48
,
49
,
54
,
49
,
49
,
49
,
49
,
49
,
49
,
49
,
49
],
[
48
,
49
,
49
,
49
,
49
,
49
,
49
,
46
,
49
,
52
,
49
,
49
,
48
,
49
,
49
,
48
,
49
,
49
],
[
44
,
46
,
47
,
44
,
45
,
49
,
44
,
44
,
47
,
49
,
44
,
45
,
44
,
47
,
47
,
44
,
46
,
47
],
[
44
,
44
,
44
,
44
,
44
,
49
,
44
,
44
,
44
,
49
,
44
,
44
,
44
,
44
,
44
,
44
,
44
,
44
],
[
43
,
44
,
44
,
44
,
44
,
45
,
44
,
41
,
44
,
48
,
44
,
44
,
43
,
44
,
44
,
43
,
44
,
44
],
[
39
,
44
,
44
,
42
,
42
,
44
,
41
,
39
,
44
,
44
,
39
,
44
,
39
,
44
,
44
,
39
,
44
,
44
],
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
None
,
[
124
,
133
,
129
,
129
,
129
,
129
,
129
,
124
,
131
,
134
,
129
,
129
,
124
,
129
,
129
,
124
,
132
,
129
],
[
124
,
131
,
128
,
127
,
129
,
129
,
129
,
124
,
129
,
134
,
129
,
129
,
124
,
129
,
129
,
124
,
130
,
127
]]
,
]
def
get_addr_odly
():
return
{
'dlys'
:[[
46
,
49
,
48
,
47
,
48
,
49
,
48
,
45
,
49
,
50
,
48
,
48
,
45
,
48
,
48
,
46
,
49
,
48
],
[
45
,
48
,
46
,
45
,
46
,
48
,
46
,
44
,
47
,
49
,
45
,
46
,
44
,
46
,
45
,
45
,
48
,
46
],
[
44
,
45
,
44
,
44
,
44
,
46
,
44
,
43
,
45
,
48
,
44
,
44
,
43
,
44
,
44
,
44
,
46
,
44
],
[
43
,
44
,
44
,
43
,
44
,
44
,
44
,
41
,
44
,
45
,
44
,
44
,
41
,
44
,
44
,
43
,
44
,
44
],
[
40
,
44
,
43
,
40
,
43
,
44
,
42
,
39
,
43
,
44
,
42
,
43
,
39
,
43
,
42
,
40
,
44
,
43
],
[
39
,
42
,
40
,
39
,
40
,
43
,
40
,
39
,
41
,
43
,
40
,
40
,
39
,
40
,
40
,
39
,
43
,
40
],
[
39
,
40
,
39
,
39
,
39
,
40
,
39
,
38
,
39
,
42
,
39
,
39
,
38
,
39
,
39
,
39
,
40
,
39
],
[
37
,
39
,
38
,
37
,
38
,
39
,
38
,
35
,
39
,
40
,
38
,
38
,
35
,
38
,
38
,
37
,
39
,
38
],
[
35
,
38
,
37
,
35
,
37
,
38
,
36
,
34
,
38
,
39
,
36
,
37
,
34
,
37
,
36
,
35
,
38
,
37
],
[
34
,
36
,
35
,
34
,
35
,
37
,
34
,
33
,
35
,
38
,
34
,
35
,
33
,
35
,
34
,
34
,
36
,
35
],
[
33
,
34
,
34
,
33
,
34
,
35
,
34
,
32
,
34
,
35
,
34
,
34
,
32
,
34
,
34
,
33
,
34
,
34
],
[
32
,
34
,
33
,
31
,
33
,
34
,
33
,
30
,
33
,
34
,
33
,
33
,
30
,
33
,
33
,
32
,
34
,
33
],
[
30
,
33
,
31
,
29
,
30
,
33
,
30
,
29
,
31
,
33
,
30
,
30
,
29
,
31
,
30
,
30
,
33
,
31
],
[
29
,
30
,
29
,
29
,
29
,
31
,
29
,
28
,
29
,
32
,
29
,
29
,
28
,
29
,
29
,
29
,
30
,
29
],
[
28
,
29
,
29
,
28
,
29
,
29
,
28
,
26
,
29
,
30
,
28
,
29
,
26
,
29
,
28
,
28
,
29
,
29
],
[
26
,
28
,
28
,
25
,
27
,
29
,
26
,
24
,
28
,
29
,
27
,
27
,
24
,
28
,
27
,
26
,
28
,
28
],
[
24
,
26
,
25
,
24
,
25
,
28
,
24
,
24
,
25
,
28
,
25
,
25
,
24
,
25
,
25
,
24
,
27
,
25
],
[
24
,
24
,
24
,
23
,
24
,
25
,
24
,
23
,
24
,
25
,
24
,
24
,
23
,
24
,
24
,
24
,
25
,
24
],
[
23
,
24
,
23
,
22
,
23
,
24
,
23
,
20
,
23
,
24
,
23
,
23
,
20
,
23
,
23
,
23
,
24
,
23
],
[
20
,
23
,
22
,
20
,
21
,
23
,
20
,
19
,
22
,
23
,
20
,
21
,
19
,
22
,
20
,
20
,
23
,
22
],
[
19
,
20
,
20
,
19
,
19
,
22
,
19
,
18
,
20
,
22
,
19
,
19
,
19
,
20
,
19
,
19
,
20
,
20
],
[
18
,
19
,
19
,
18
,
19
,
20
,
18
,
17
,
19
,
20
,
19
,
19
,
17
,
19
,
18
,
18
,
19
,
19
],
[
17
,
18
,
18
,
16
,
18
,
19
,
16
,
15
,
18
,
19
,
17
,
18
,
15
,
18
,
17
,
17
,
18
,
18
],
[
15
,
16
,
16
,
14
,
15
,
18
,
14
,
14
,
15
,
18
,
15
,
15
,
14
,
15
,
15
,
15
,
17
,
16
],
[
14
,
14
,
14
,
14
,
14
,
16
,
14
,
13
,
14
,
15
,
14
,
14
,
13
,
14
,
14
,
14
,
15
,
14
],
[
13
,
14
,
14
,
12
,
13
,
15
,
13
,
11
,
13
,
14
,
13
,
13
,
11
,
14
,
13
,
13
,
14
,
14
],
[
11
,
13
,
13
,
10
,
12
,
14
,
10
,
9
,
12
,
13
,
11
,
12
,
10
,
12
,
10
,
11
,
13
,
13
],
[
9
,
10
,
10
,
9
,
10
,
13
,
9
,
9
,
10
,
12
,
9
,
10
,
9
,
10
,
9
,
9
,
10
,
10
],
[
9
,
9
,
9
,
8
,
9
,
10
,
8
,
8
,
9
,
10
,
9
,
9
,
8
,
9
,
9
,
9
,
9
,
9
],
[
8
,
8
,
8
,
6
,
8
,
9
,
7
,
5
,
8
,
9
,
8
,
8
,
5
,
8
,
7
,
8
,
8
,
8
],
[
5
,
7
,
7
,
5
,
6
,
9
,
5
,
4
,
5
,
8
,
5
,
5
,
4
,
6
,
5
,
5
,
7
,
7
],
[
4
,
5
,
5
,
4
,
4
,
7
,
4
,
3
,
4
,
5
,
4
,
4
,
4
,
4
,
4
,
4
,
5
,
5
],
[
3
,
4
,
4
,
3
,
4
,
5
,
3
,
2
,
4
,
4
,
3
,
3
,
2
,
4
,
3
,
3
,
4
,
4
],
[
2
,
3
,
3
,
0
,
2
,
4
,
0
,
0
,
2
,
4
,
2
,
2
,
0
,
3
,
1
,
2
,
3
,
3
],
[
0
,
0
,
0
,
0
,
0
,
3
,
0
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
[
150
,
158
,
154
,
153
,
154
,
154
,
157
,
150
,
157
,
159
,
154
,
154
,
149
,
154
,
155
,
150
,
158
,
153
],
[
149
,
156
,
152
,
152
,
153
,
152
,
155
,
149
,
155
,
159
,
153
,
154
,
149
,
153
,
154
,
149
,
156
,
152
],
[
148
,
154
,
150
,
150
,
152
,
150
,
154
,
148
,
154
,
157
,
151
,
153
,
147
,
151
,
153
,
148
,
154
,
150
],
[
147
,
154
,
149
,
149
,
150
,
149
,
153
,
145
,
153
,
155
,
149
,
150
,
145
,
149
,
151
,
147
,
154
,
149
],
[
145
,
153
,
148
,
148
,
149
,
148
,
150
,
144
,
151
,
154
,
149
,
149
,
144
,
149
,
149
,
145
,
152
,
148
],
[
144
,
150
,
146
,
145
,
148
,
147
,
149
,
144
,
149
,
153
,
148
,
148
,
143
,
148
,
149
,
144
,
150
,
146
],
[
143
,
149
,
145
,
144
,
145
,
145
,
148
,
142
,
149
,
150
,
145
,
147
,
141
,
145
,
148
,
143
,
149
,
144
],
[
141
,
148
,
144
,
144
,
144
,
144
,
147
,
140
,
148
,
149
,
144
,
145
,
140
,
144
,
145
,
141
,
148
,
144
],
[
139
,
146
,
143
,
142
,
144
,
143
,
145
,
139
,
145
,
149
,
143
,
144
,
139
,
143
,
144
,
139
,
146
,
143
],
[
139
,
144
,
140
,
140
,
142
,
141
,
144
,
138
,
144
,
147
,
142
,
143
,
138
,
142
,
143
,
139
,
144
,
140
],
[
138
,
144
,
139
,
139
,
140
,
139
,
143
,
137
,
143
,
145
,
140
,
140
,
135
,
140
,
141
,
138
,
144
,
139
],
[
135
,
143
,
138
,
138
,
139
,
139
,
140
,
135
,
141
,
144
,
139
,
139
,
134
,
139
,
139
,
135
,
143
,
138
],
[
134
,
140
,
137
,
136
,
138
,
138
,
139
,
134
,
139
,
143
,
138
,
139
,
134
,
138
,
139
,
134
,
140
,
137
],
[
133
,
139
,
135
,
134
,
136
,
135
,
138
,
133
,
139
,
141
,
135
,
137
,
132
,
135
,
138
,
133
,
139
,
135
],
[
132
,
138
,
134
,
134
,
134
,
134
,
137
,
130
,
138
,
139
,
134
,
135
,
130
,
134
,
135
,
132
,
138
,
134
],
[
130
,
137
,
133
,
133
,
134
,
133
,
135
,
129
,
135
,
139
,
134
,
134
,
129
,
134
,
134
,
130
,
136
,
133
],
[
129
,
135
,
131
,
130
,
133
,
132
,
134
,
129
,
134
,
137
,
132
,
133
,
128
,
132
,
133
,
129
,
134
,
131
],
[
128
,
134
,
129
,
129
,
130
,
130
,
133
,
128
,
133
,
135
,
130
,
131
,
127
,
130
,
132
,
128
,
134
,
129
],
[
126
,
133
,
129
,
128
,
129
,
129
,
130
,
125
,
132
,
134
,
129
,
129
,
125
,
129
,
130
,
126
,
133
,
129
],
[
125
,
130
,
128
,
127
,
128
,
128
,
129
,
124
,
130
,
133
,
128
,
129
,
124
,
128
,
129
,
124
,
130
,
128
],
[
124
,
129
,
125
,
125
,
127
,
126
,
129
,
123
,
129
,
131
,
126
,
128
,
123
,
126
,
128
,
124
,
129
,
125
],
[
123
,
128
,
124
,
124
,
125
,
124
,
127
,
122
,
128
,
129
,
124
,
125
,
121
,
125
,
125
,
123
,
128
,
124
],
[
120
,
127
,
123
,
123
,
124
,
124
,
125
,
120
,
125
,
129
,
124
,
124
,
119
,
124
,
124
,
120
,
127
,
123
],
[
119
,
125
,
122
,
121
,
123
,
123
,
124
,
119
,
124
,
127
,
123
,
123
,
119
,
123
,
124
,
119
,
125
,
122
],
[
119
,
124
,
120
,
119
,
120
,
120
,
123
,
118
,
123
,
125
,
120
,
122
,
118
,
120
,
122
,
118
,
124
,
120
],
[
117
,
123
,
119
,
119
,
119
,
119
,
121
,
116
,
122
,
124
,
119
,
120
,
115
,
119
,
120
,
117
,
123
,
119
],
[
115
,
120
,
118
,
118
,
119
,
118
,
119
,
114
,
120
,
123
,
118
,
119
,
114
,
118
,
119
,
115
,
120
,
118
],
[
114
,
119
,
116
,
115
,
117
,
117
,
119
,
114
,
119
,
121
,
117
,
118
,
113
,
117
,
118
,
114
,
119
,
116
],
[
113
,
118
,
114
,
114
,
115
,
115
,
117
,
113
,
118
,
119
,
115
,
115
,
112
,
115
,
116
,
113
,
118
,
114
],
[
112
,
117
,
114
,
113
,
114
,
114
,
115
,
110
,
115
,
119
,
114
,
114
,
110
,
114
,
114
,
111
,
117
,
114
],
[
110
,
115
,
113
,
112
,
113
,
113
,
114
,
109
,
114
,
117
,
113
,
114
,
109
,
113
,
114
,
110
,
115
,
113
],
[
109
,
114
,
110
,
110
,
111
,
111
,
113
,
108
,
114
,
115
,
111
,
112
,
108
,
111
,
113
,
109
,
114
,
110
],
[
108
,
113
,
109
,
109
,
109
,
109
,
111
,
107
,
112
,
114
,
109
,
110
,
106
,
109
,
110
,
108
,
113
,
109
],
[
105
,
110
,
108
,
108
,
109
,
109
,
109
,
105
,
110
,
113
,
109
,
109
,
104
,
109
,
109
,
105
,
110
,
108
],
[
104
,
109
,
107
,
105
,
108
,
108
,
109
,
104
,
109
,
111
,
108
,
108
,
104
,
108
,
108
,
104
,
109
,
107
],
[
104
,
109
,
105
,
104
,
105
,
105
,
108
,
103
,
108
,
109
,
105
,
106
,
103
,
105
,
106
,
104
,
109
,
105
],
[
103
,
107
,
104
,
104
,
104
,
104
,
105
,
101
,
106
,
109
,
104
,
104
,
100
,
104
,
104
,
102
,
107
,
104
],
[
100
,
105
,
103
,
102
,
103
,
103
,
104
,
99
,
104
,
108
,
103
,
104
,
99
,
103
,
104
,
100
,
105
,
103
],
[
99
,
104
,
101
,
100
,
102
,
102
,
103
,
99
,
104
,
105
,
101
,
103
,
98
,
102
,
103
,
99
,
104
,
100
],
[
98
,
103
,
99
,
99
,
100
,
100
,
101
,
98
,
102
,
104
,
100
,
100
,
97
,
100
,
100
,
98
,
103
,
99
],
[
97
,
101
,
99
,
98
,
99
,
99
,
99
,
95
,
100
,
103
,
99
,
99
,
95
,
99
,
99
,
97
,
101
,
99
],
[
95
,
99
,
98
,
96
,
98
,
98
,
99
,
94
,
99
,
101
,
98
,
98
,
94
,
98
,
98
,
95
,
99
,
98
],
[
94
,
99
,
95
,
94
,
96
,
96
,
98
,
93
,
98
,
99
,
95
,
97
,
93
,
95
,
97
,
94
,
99
,
95
],
[
93
,
97
,
94
,
94
,
94
,
95
,
95
,
92
,
96
,
99
,
94
,
95
,
91
,
94
,
95
,
93
,
98
,
94
],
[
91
,
95
,
93
,
93
,
94
,
94
,
94
,
90
,
94
,
98
,
93
,
94
,
89
,
94
,
94
,
90
,
95
,
93
],
[
89
,
94
,
92
,
90
,
93
,
93
,
93
,
89
,
94
,
95
,
92
,
93
,
89
,
92
,
93
,
89
,
94
,
92
],
[
89
,
93
,
90
,
89
,
90
,
90
,
91
,
88
,
93
,
94
,
90
,
90
,
88
,
90
,
90
,
89
,
93
,
90
],
[
88
,
91
,
89
,
88
,
89
,
89
,
89
,
86
,
90
,
93
,
89
,
89
,
85
,
89
,
89
,
88
,
91
,
89
],
[
85
,
89
,
88
,
87
,
88
,
89
,
89
,
84
,
89
,
91
,
88
,
88
,
84
,
88
,
88
,
85
,
89
,
88
],
[
84
,
89
,
85
,
85
,
86
,
87
,
88
,
84
,
88
,
89
,
86
,
87
,
84
,
86
,
87
,
84
,
89
,
85
],
[
83
,
88
,
84
,
84
,
85
,
85
,
85
,
83
,
86
,
89
,
84
,
85
,
82
,
85
,
85
,
83
,
88
,
84
],
[
82
,
85
,
84
,
83
,
84
,
84
,
84
,
80
,
84
,
88
,
84
,
84
,
80
,
84
,
84
,
82
,
85
,
84
],
[
80
,
84
,
82
,
80
,
83
,
83
,
83
,
79
,
84
,
85
,
83
,
83
,
79
,
83
,
83
,
80
,
84
,
82
],
[
79
,
83
,
80
,
79
,
80
,
82
,
82
,
78
,
83
,
84
,
80
,
81
,
78
,
80
,
81
,
79
,
83
,
80
],
[
78
,
81
,
79
,
79
,
79
,
80
,
80
,
77
,
80
,
83
,
79
,
79
,
76
,
79
,
79
,
78
,
82
,
79
],
[
76
,
79
,
78
,
77
,
78
,
79
,
79
,
75
,
79
,
81
,
78
,
79
,
75
,
78
,
79
,
76
,
80
,
78
],
[
74
,
79
,
77
,
75
,
77
,
78
,
78
,
74
,
78
,
79
,
77
,
78
,
74
,
77
,
77
,
74
,
79
,
76
],
[
74
,
78
,
75
,
74
,
75
,
75
,
75
,
73
,
77
,
79
,
75
,
75
,
73
,
75
,
75
,
74
,
78
,
75
],
[
73
,
75
,
74
,
73
,
74
,
74
,
74
,
71
,
75
,
78
,
74
,
74
,
70
,
74
,
74
,
73
,
75
,
74
],
[
70
,
74
,
73
,
71
,
73
,
74
,
73
,
69
,
74
,
75
,
73
,
73
,
69
,
73
,
73
,
70
,
74
,
73
],
[
69
,
73
,
70
,
70
,
71
,
73
,
72
,
69
,
73
,
74
,
70
,
71
,
69
,
71
,
71
,
69
,
73
,
70
],
[
68
,
72
,
69
,
69
,
69
,
70
,
70
,
68
,
70
,
73
,
69
,
69
,
67
,
69
,
69
,
68
,
72
,
69
],
[
67
,
70
,
69
,
68
,
69
,
69
,
69
,
65
,
69
,
71
,
69
,
69
,
65
,
69
,
69
,
67
,
70
,
69
],
[
65
,
69
,
67
,
65
,
68
,
68
,
68
,
64
,
68
,
69
,
67
,
68
,
64
,
68
,
68
,
65
,
69
,
67
],
[
64
,
68
,
65
,
64
,
65
,
67
,
65
,
63
,
67
,
69
,
65
,
65
,
63
,
65
,
65
,
64
,
68
,
65
],
[
63
,
65
,
64
,
63
,
64
,
65
,
64
,
62
,
65
,
68
,
64
,
64
,
62
,
64
,
64
,
63
,
65
,
64
],
[
61
,
64
,
63
,
62
,
63
,
64
,
63
,
60
,
64
,
65
,
63
,
63
,
60
,
63
,
63
,
61
,
64
,
63
],
[
59
,
63
,
61
,
60
,
62
,
63
,
62
,
59
,
63
,
64
,
61
,
62
,
59
,
62
,
62
,
59
,
63
,
61
],
[
59
,
62
,
60
,
59
,
60
,
61
,
60
,
58
,
60
,
63
,
59
,
60
,
58
,
60
,
60
,
59
,
62
,
59
],
[
58
,
60
,
59
,
58
,
59
,
59
,
59
,
56
,
59
,
62
,
59
,
59
,
56
,
59
,
59
,
58
,
60
,
59
],
[
55
,
59
,
58
,
56
,
58
,
59
,
58
,
54
,
59
,
60
,
58
,
58
,
54
,
58
,
58
,
55
,
59
,
58
],
[
54
,
58
,
55
,
54
,
55
,
58
,
55
,
54
,
57
,
59
,
55
,
55
,
54
,
55
,
55
,
54
,
58
,
55
],
[
54
,
55
,
54
,
54
,
54
,
55
,
54
,
53
,
55
,
58
,
54
,
54
,
53
,
54
,
54
,
54
,
55
,
54
],
[
52
,
54
,
53
,
53
,
54
,
54
,
54
,
50
,
54
,
55
,
53
,
54
,
50
,
54
,
53
,
52
,
54
,
53
],
[
50
,
53
,
52
,
50
,
52
,
53
,
52
,
49
,
53
,
54
,
52
,
52
,
49
,
52
,
52
,
50
,
54
,
52
],
[
49
,
52
,
50
,
49
,
50
,
52
,
50
,
48
,
51
,
53
,
50
,
50
,
48
,
50
,
50
,
49
,
52
,
50
],
[
48
,
50
,
49
,
48
,
49
,
50
,
49
,
47
,
49
,
52
,
49
,
49
,
47
,
49
,
49
,
48
,
50
,
49
]]
,
'err'
:
[
13.962964335319754
,
14.46429395531473
,
14.75460153980027
,
13.475517581958847
,
13.284416516290385
,
11.663797035212177
,
13.653748010915642
,
13.26165170209461
,
13.24815971580258
,
13.704740921594585
,
13.721711458162027
,
10.926952106844219
,
13.867842460076481
,
14.293172159036494
,
14.579460380045766
,
15.03997746648367
,
14.201679362112287
,
14.444065341711763
,
11.902270769685195
,
14.691612876379189
,
14.370267185984012
,
13.047294014283374
,
12.169228459682493
,
14.214054982108628
,
14.937184479560138
,
14.882721298587882
,
14.130903608506884
,
14.691101466192158
,
12.788451840377483
,
14.27987313699716
,
14.877840276142166
,
14.177382339396281
,
14.252554270784621
,
14.153712070169313
,
32.15463688611945
,
14.375792433964307
,
14.47064949941523
,
12.743269820884052
,
13.631768130732326
,
11.913216891477532
,
12.919801879321767
,
15.279078580885198
,
14.464812795898979
,
14.166895907396338
,
14.231010953645637
,
12.060641939813195
,
14.931975247365244
,
14.894368450250568
,
15.06971394322909
,
13.460529401296299
,
12.562129828223988
,
14.936693256444869
,
14.13972897214262
,
13.260296600784386
,
15.151668447706925
,
13.001226656316703
,
14.699922303124367
,
13.153026300941747
,
14.022030075945622
,
14.367512628437908
,
13.321350576140958
,
14.24115686407913
,
11.60517732129847
,
13.907016890931118
,
11.318156851370532
,
14.99552948232531
,
13.675968792989352
,
14.628795379333951
,
13.11746192259443
,
10.453520400424622
,
13.26883790741158
,
14.336915207258699
,
14.433672210448094
,
13.35445753477461
,
14.946750782743038
,
13.508349920166893
,
13.155903701367151
,
13.548932970055375
,
15.14066196451904
,
14.873022872787715
,
12.050849264783665
,
13.367169640438078
,
14.90439925518558
,
14.237414094496671
,
14.303694905719112
,
15.277141503528128
,
14.593770304643385
,
11.316277920408083
,
11.287929747718408
,
13.904513352755657
,
14.891896781228297
,
14.068586037783916
,
14.519374974788207
,
13.69447679097857
,
12.20856370903175
,
15.196749766163066
,
14.898141003024193
,
14.461878126555803
,
14.769898671009742
,
11.630730056896027
,
13.579206090805656
,
13.604613044049984
,
15.245506993501749
,
15.226149353881738
,
12.115686678627299
,
14.664276968544982
,
12.028151996881661
,
14.520569557289946
,
14.509640286205013
,
14.260103653888109
,
12.974029693548346
,
10.81030248279012
]
}
...
...
py393/test_mcntrl.py
View file @
494d6c95
...
...
@@ -54,6 +54,7 @@ import x393_pio_sequences
import
x393_mcntrl_timing
import
x393_mcntrl_buffers
import
x393_mcntrl_tests
import
x393_mcntrl_eyepatterns
import
x393_mcntrl_adjust
import
vrlg
__all__
=
[]
...
...
@@ -325,8 +326,9 @@ USAGE
x393tasks
=
x393_axi_control_status
.
X393AxiControlStatus
(
verbose
,
args
.
simulated
)
x393Pio
=
x393_pio_sequences
.
X393PIOSequences
(
verbose
,
args
.
simulated
)
x393Timing
=
x393_mcntrl_timing
.
X393McntrlTiming
(
verbose
,
args
.
simulated
)
x393Buffers
=
x393_mcntrl_buffers
.
X393McntrlBuffers
(
verbose
,
args
.
simulated
)
x393Buffers
=
x393_mcntrl_buffers
.
X393McntrlBuffers
(
verbose
,
args
.
simulated
)
x393Tests
=
x393_mcntrl_tests
.
X393McntrlTests
(
verbose
,
args
.
simulated
)
x393Eyepatterns
=
x393_mcntrl_eyepatterns
.
X393McntrlEyepattern
(
verbose
,
args
.
simulated
)
x393Adjust
=
x393_mcntrl_adjust
.
X393McntrlAdjust
(
verbose
,
args
.
simulated
)
'''
...
...
@@ -350,6 +352,7 @@ USAGE
extractTasks
(
x393_mcntrl_timing
.
X393McntrlTiming
,
x393Timing
)
extractTasks
(
x393_mcntrl_buffers
.
X393McntrlBuffers
,
x393Buffers
)
extractTasks
(
x393_mcntrl_tests
.
X393McntrlTests
,
x393Tests
)
extractTasks
(
x393_mcntrl_eyepatterns
.
X393McntrlEyepattern
,
x393Eyepatterns
)
extractTasks
(
x393_mcntrl_adjust
.
X393McntrlAdjust
,
x393Adjust
)
for
cmdLine
in
commands
:
...
...
py393/verilog_utils.py
View file @
494d6c95
...
...
@@ -31,6 +31,7 @@ __status__ = "Development"
#import sys
#import x393_mem
#MCNTRL_TEST01_CHN4_STATUS_CNTRL=0
NUM_FINE_STEPS
=
5
def
hx
(
obj
,
length
=
None
):
frmt
=
"0x
%
x"
if
(
length
):
...
...
@@ -170,3 +171,79 @@ def smooth2d(arr2d):
smooth
.
append
(
row
)
return
smooth
def
split_delay
(
dly
):
"""
Convert hardware composite delay into continuous one
<dly> 8-bit (5+3) hardware delay value (or a list of delays)
Returns continuous delay value (or a list of delays)
"""
if
isinstance
(
dly
,
list
)
or
isinstance
(
dly
,
tuple
):
rslt
=
[]
for
d
in
dly
:
rslt
.
append
(
split_delay
(
d
))
return
rslt
try
:
if
isinstance
(
dly
,
float
):
dly
=
int
(
dly
+
0.5
)
dly_int
=
dly
>>
3
dly_fine
=
dly
&
0x7
if
dly_fine
>
(
NUM_FINE_STEPS
-
1
):
dly_fine
=
NUM_FINE_STEPS
-
1
return
dly_int
*
NUM_FINE_STEPS
+
dly_fine
except
:
return
None
def
combine_delay
(
dly
):
"""
Convert continuous delay value to the 5+3 bit encoded one
<dly> continuous (0..159) delay (or a list of delays)
Returns 8-bit (5+3) hardware delay value (or a list of delays)
"""
if
isinstance
(
dly
,
list
)
or
isinstance
(
dly
,
tuple
):
rslt
=
[]
for
d
in
dly
:
rslt
.
append
(
combine_delay
(
d
))
return
rslt
try
:
if
isinstance
(
dly
,
float
):
dly
=
int
(
dly
+
0.5
)
return
((
dly
/
NUM_FINE_STEPS
)
<<
3
)
+
(
dly
%
NUM_FINE_STEPS
)
except
:
return
None
def
convert_mem16_to_w32
(
mem16
):
"""
Convert a list of 16-bit memory words
into a list of 32-bit data as encoded in the buffer memory
Each 4 of the input words provide 2 of the output elements
<mem16> - a list of the memory data
Returns a list of 32-bit buffer data
"""
res32
=
[]
for
i
in
range
(
0
,
len
(
mem16
),
4
):
res32
.
append
(((
mem16
[
i
+
3
]
&
0xff
)
<<
24
)
|
((
mem16
[
i
+
2
]
&
0xff
)
<<
16
)
|
((
mem16
[
i
+
1
]
&
0xff
)
<<
8
)
|
((
mem16
[
i
+
0
]
&
0xff
)
<<
0
))
res32
.
append
((((
mem16
[
i
+
3
]
>>
8
)
&
0xff
)
<<
24
)
|
(((
mem16
[
i
+
2
]
>>
8
)
&
0xff
)
<<
16
)
|
(((
mem16
[
i
+
1
]
>>
8
)
&
0xff
)
<<
8
)
|
(((
mem16
[
i
+
0
]
>>
8
)
&
0xff
)
<<
0
))
return
res32
def
convert_w32_to_mem16
(
w32
):
"""
Convert a list of 32-bit data as encoded in the buffer memory
into a list of 16-bit memory words (so each bit corresponds to DQ line
Each 2 of the input words provide 4 of the output elements
<w32> - a list of the 32-bit buffer data
Returns a list of 16-bit memory data
"""
mem16
=
[]
for
i
in
range
(
0
,
len
(
w32
),
2
):
mem16
.
append
(((
w32
[
i
]
>>
0
)
&
0xff
)
|
(((
w32
[
i
+
1
]
>>
0
)
&
0xff
)
<<
8
))
mem16
.
append
(((
w32
[
i
]
>>
8
)
&
0xff
)
|
(((
w32
[
i
+
1
]
>>
8
)
&
0xff
)
<<
8
))
mem16
.
append
(((
w32
[
i
]
>>
16
)
&
0xff
)
|
(((
w32
[
i
+
1
]
>>
16
)
&
0xff
)
<<
8
))
mem16
.
append
(((
w32
[
i
]
>>
24
)
&
0xff
)
|
(((
w32
[
i
+
1
]
>>
24
)
&
0xff
)
<<
8
))
return
mem16
py393/x393_lma.py
View file @
494d6c95
...
...
@@ -1208,28 +1208,13 @@ class X393LMA(object):
bDQ
=
None
break
bDQ
.
append
(
bestDQ
)
#tuple(delay,signed error in ps)
"""
fullBitErr=bestDiff # +asym_err[b] #TODO: Restore the full error!
if (errDQ is None) or (abs(fullBitErr) > abs (errDQ)):
errDQ= fullBitErr
"""
fullBitErr
=
abs
(
bestDiff
)
+
asym_err
[
b
]
#TODO: Restore the full error!
# dbg_errs[b]=abs(bestDiff)
if
(
errDQ
is
None
)
or
(
fullBitErr
>
errDQ
):
errDQ
=
fullBitErr
# dbg_worstBit=b
someData
=
True
vDQ
.
append
(
bDQ
)
vErr
.
append
(
errDQ
)
## if dbg_worstBit is None:
## vErr.append(None)
## else:
# vErr.append(asym_err[dbg_worstBit])
# vErr.append(10*dbg_worstBit)
# vErr.append(dbg_errs[2])
## vErr.append(dbg_errs[5])
# print ("enl=%d, dly=%d, err=%s"%(enl,dly,str(errDQ)))
if
someData
:
dqForDqs
.
append
(
vDQ
)
maxErrDqs
.
append
(
vErr
)
...
...
py393/x393_mcntrl_adjust.py
View file @
494d6c95
This source diff could not be displayed because it is too large. You can
view the blob
instead.
py393/x393_mcntrl_tests.py
View file @
494d6c95
...
...
@@ -38,12 +38,12 @@ import x393_axi_control_status
from
x393_pio_sequences
import
X393PIOSequences
from
x393_mcntrl_timing
import
X393McntrlTiming
from
x393_mcntrl_buffers
import
X393McntrlBuffers
from
x393_mcntrl_adjust
import
X393McntrlAdjust
#
from x393_mcntrl_adjust import X393McntrlAdjust
#from verilog_utils import * # concat, bits
#from verilog_utils import hx, concat, bits, getParWidth
from
verilog_utils
import
concat
#, getParWidth
from
verilog_utils
import
concat
,
convert_w32_to_mem16
#, getParWidth
#from x393_axi_control_status import concat, bits
from
time
import
sleep
#
from time import sleep
import
vrlg
class
X393McntrlTests
(
object
):
DRY_MODE
=
True
# True
...
...
@@ -63,7 +63,7 @@ class X393McntrlTests(object):
self
.
x393_pio_sequences
=
X393PIOSequences
(
debug_mode
,
dry_mode
)
self
.
x393_mcntrl_timing
=
X393McntrlTiming
(
debug_mode
,
dry_mode
)
self
.
x393_mcntrl_buffers
=
X393McntrlBuffers
(
debug_mode
,
dry_mode
)
self
.
x393_mcntrl_adjust
=
X393McntrlAdjust
(
debug_mode
,
dry_mode
)
#
self.x393_mcntrl_adjust= X393McntrlAdjust(debug_mode,dry_mode)
# self.__dict__.update(VerilogParameters.__dict__["_VerilogParameters__shared_state"]) # Add verilog parameters to the class namespace
try
:
self
.
verbose
=
vrlg
.
VERBOSE
...
...
@@ -334,7 +334,7 @@ class X393McntrlTests(object):
256
,
# num,
0
,
# show_rslt,
wait_complete
)
# Wait for operation to complete
read16
=
self
.
x393_mcntrl_adjust
.
convert_w32_to_mem16
(
rd_buf
)
# 512x16 bit, same as DDR3 DQ over time
read16
=
convert_w32_to_mem16
(
rd_buf
)
# 512x16 bit, same as DDR3 DQ over time
sum_read16
=
0
for
d
in
read16
:
sum_read16
+=
d
...
...
py393/x393_mcntrl_timing.py
View file @
494d6c95
...
...
@@ -336,6 +336,7 @@ class X393McntrlTiming(object):
List elements may be None, those values will not be overwritten
if delay is None will restore default values
@param indx if present, delay only applies to the specified index (delay should be int/long)
@param quiet reduce output
"""
if
delay
is
None
:
delay
=
[]
...
...
@@ -357,13 +358,16 @@ class X393McntrlTiming(object):
def
axi_set_bank_odelay
(
self
,
delay
=
None
,
# input [7:0] delay;
indx
=
None
):
# address index
indx
=
None
,
# address index
quiet
=
1
):
"""
Set output delays for bank lines only
@param delay 8-bit (5+3) delay value to use or list/tuple containing individual values
List elements may be None, those values will not be overwritten
if delay is None will restore default values
@param indx if present, delay only applies to the specified index (delay should be int/long)
@param quiet reduce output
"""
bank_offset
=
24
if
delay
is
None
:
...
...
@@ -379,20 +383,22 @@ class X393McntrlTiming(object):
for
i
in
range
(
len
(
delay
)):
if
(
i
!=
indx
):
delay
[
i
]
=
None
if
self
.
DEBUG_MODE
>
1
:
if
quiet
<
2
:
print
(
"SET BANK ODELAY="
+
hexMultiple
(
delay
))
self
.
axi_set_multiple_delays
(
vrlg
.
LD_DLY_CMDA
,
bank_offset
,
0
,
delay
,
"DLY_CMDA"
)
# length will be determined by len(delay)
self
.
x393_axi_tasks
.
write_contol_register
(
vrlg
.
DLY_SET
,
0
)
# set all delays
def
axi_set_cmd_odelay
(
self
,
delay
=
None
,
# input [7:0] delay;
indx
=
None
):
# address index
indx
=
None
,
# address index
quiet
=
1
):
"""
Set output delays for command lines only. command=(we,ras,cas,cke,odt)
@param delay 8-bit (5+3) delay value to use or list/tuple containing individual values
List elements may be None, those values will not be overwritten
if delay is None will restore default values
@param indx if present, delay only applies to the specified index (delay should be int/long)
@param quiet reduce output
"""
command_offset
=
24
+
3
if
delay
is
None
:
...
...
@@ -408,7 +414,7 @@ class X393McntrlTiming(object):
for
i
in
range
(
len
(
delay
)):
if
(
i
!=
indx
):
delay
[
i
]
=
None
if
self
.
DEBUG_MODE
>
1
:
if
quiet
<
2
:
print
(
"SET COMMAND ODELAY="
+
hexMultiple
(
delay
))
self
.
axi_set_multiple_delays
(
vrlg
.
LD_DLY_CMDA
,
command_offset
,
0
,
delay
,
"DLY_CMDA"
)
# length will be determined by len(delay)
self
.
x393_axi_tasks
.
write_contol_register
(
vrlg
.
DLY_SET
,
0
)
# set all delays
...
...
py393/x393_pio_sequences.py
View file @
494d6c95
...
...
@@ -783,6 +783,8 @@ class X393PIOSequences(object):
t_rfc
,
# input[9:0]t_rfc; # =50 for tCK=2.5ns
t_refi
,
# input[7:0]t_refi; # 48/97 for normal, 8 - for simulation
en_refresh
=
0
,
ra
=
0
,
# used only for calibration of the address line output delay
ba
=
0
,
verbose
=
0
):
"""
Setup refresh sequence at parameter defined address in the sequencer memory
...
...
@@ -794,7 +796,7 @@ class X393PIOSequences(object):
print
(
"**** SET REFRESH: tRFC=
%
d, tREFI=
%
d"
%
(
t_rfc
,
t_refi
))
cmd_addr
=
vrlg
.
MCONTR_CMD_WR_ADDR
+
vrlg
.
REFRESH_OFFSET
# addr bank RCW ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD NOP, B_RST
data
=
self
.
func_encode_cmd
(
0
,
0
,
6
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
data
=
self
.
func_encode_cmd
(
ra
,
ba
,
6
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
# =50 tREFI=260 ns before next ACTIVATE or REFRESH, @2.5ns clock, @5ns cycle
...
...
@@ -1058,8 +1060,20 @@ class X393PIOSequences(object):
print
()
return
data
def
manual_refresh
(
self
,
wait_complete
=
1
):
# Wait for operation to complete
"""
Run refresh cycle
<wait_complete> wait read pattern operation to complete (0 - may initiate multiple PS PIO operations)
"""
self
.
schedule_ps_pio
(
# schedule software-control memory operation (may need to check FIFO status first)
vrlg
.
REFRESH_OFFSET
,
# input [9:0] seq_addr; # sequence start address
0
,
# input [1:0] page; # buffer page number
0
,
# input urgent; # high priority request (only for competion with other channels, will not pass in this FIFO)
0
,
# input chn; # channel buffer to use: 0 - memory read, 1 - memory write
wait_complete
)
# `PS_PIO_WAIT_COMPLETE ) # wait_complete; # Do not request a newe transaction from the scheduler until previous memory transaction is finished
self
.
wait_ps_pio_done
(
vrlg
.
DEFAULT_STATUS_MODE
,
1
)
# wait previous memory transaction finished before changing delays (effective immediately)
def
restart_ddr3
(
self
,
wait_complete
=
True
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment