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
faaa504f
Commit
faaa504f
authored
Mar 31, 2015
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added DQS_IDELAY vs PHASE measurement/calculation
parent
3d603296
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1093 additions
and
76 deletions
+1093
-76
get_test_dq_dqs_data.py
py393/get_test_dq_dqs_data.py
+321
-1
x393_lma.py
py393/x393_lma.py
+317
-25
x393_mcntrl_adjust.py
py393/x393_mcntrl_adjust.py
+440
-39
x393_pio_sequences.py
py393/x393_pio_sequences.py
+15
-11
No files found.
py393/get_test_dq_dqs_data.py
View file @
faaa504f
This diff is collapsed.
Click to expand it.
py393/x393_lma.py
View file @
faaa504f
This diff is collapsed.
Click to expand it.
py393/x393_mcntrl_adjust.py
View file @
faaa504f
This diff is collapsed.
Click to expand it.
py393/x393_pio_sequences.py
View file @
faaa504f
...
@@ -441,13 +441,17 @@ class X393PIOSequences(object):
...
@@ -441,13 +441,17 @@ class X393PIOSequences(object):
ba
,
# input [ 2:0] ba;
ba
,
# input [ 2:0] ba;
ra
,
# input [14:0] ra;
ra
,
# input [14:0] ra;
ca
,
#input [ 9:0] ca;
ca
,
#input [ 9:0] ca;
num8
=
64
,
sel
=
1
,
verbose
=
0
):
verbose
=
0
):
"""
"""
Setup read block sequence at parameter defined address in the sequencer memory
Setup read block sequence at parameter defined address in the sequencer memory
<ba> 3-bit memory bank address
@ba 3-bit memory bank address
<ra> 15-bit memory row address
@ra 15-bit memory row address
<ca> 10-bit memory column address
@ca 10-bit memory column address
<verbose> print data being written (default: False)
@num8 - number of 8-bursts to read (maximal 64, min- 2)
@sel - 0 - early, 1 - late read command
@verbose print data being written (default: False)
"""
"""
cmd_addr
=
vrlg
.
MCONTR_CMD_WR_ADDR
+
vrlg
.
READ_BLOCK_OFFSET
cmd_addr
=
vrlg
.
MCONTR_CMD_WR_ADDR
+
vrlg
.
READ_BLOCK_OFFSET
...
@@ -464,34 +468,34 @@ class X393PIOSequences(object):
...
@@ -464,34 +468,34 @@ class X393PIOSequences(object):
# first read
# first read
# read
# read
# addr bank RCW ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD NOP, B_RST
# addr bank RCW ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD NOP, B_RST
data
=
self
.
func_encode_cmd
(
ca
&
0x3ff
,
ba
,
2
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
0
)
data
=
self
.
func_encode_cmd
(
ca
&
0x3ff
,
ba
,
2
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
# nop
# nop
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
0
)
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
1
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
#repeat remaining reads
#repeat remaining reads
for
i
in
range
(
1
,
64
):
for
i
in
range
(
1
,
num8
):
# read
# read
# addr bank RCW ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD NOP, B_RST
# addr bank RCW ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD NOP, B_RST
data
=
self
.
func_encode_cmd
((
ca
&
0x3ff
)
+
(
i
<<
3
),
ba
,
2
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
1
,
0
)
data
=
self
.
func_encode_cmd
((
ca
&
0x3ff
)
+
(
i
<<
3
),
ba
,
2
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
1
,
0
,
1
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
# nop - all 3 below are the same? - just repeat?
# nop - all 3 below are the same? - just repeat?
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
# nop
# nop
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
# nop
# nop
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
# skip done bank ODT CKE SEL DQEN DQSEN DQSTGL DCI B_WR B_RD B_RST
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
data
=
self
.
func_encode_skip
(
0
,
0
,
ba
,
0
,
0
,
sel
,
0
,
0
,
0
,
1
,
0
,
0
,
0
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
self
.
x393_mem
.
axi_write_single_w
(
cmd_addr
,
data
,
verbose
)
cmd_addr
+=
1
cmd_addr
+=
1
# tRTP = 4*tCK is already satisfied, no skip here
# tRTP = 4*tCK is already satisfied, no skip here
...
...
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