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
7a4e8e08
Commit
7a4e8e08
authored
Sep 07, 2015
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
done with testing sensor channles, starting debugging compressor
parent
608bcbd9
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
37 deletions
+44
-37
.project
.project
+8
-8
cmprs_afi_mux.v
axi/cmprs_afi_mux.v
+5
-4
cmprs_frame_sync.v
compressor_jp/cmprs_frame_sync.v
+3
-2
jp_channel.v
compressor_jp/jp_channel.v
+9
-4
fpga_version.vh
fpga_version.vh
+1
-1
x393_cmprs.py
py393/x393_cmprs.py
+18
-18
No files found.
.project
View file @
7a4e8e08
...
@@ -62,42 +62,42 @@
...
@@ -62,42 +62,42 @@
<link>
<link>
<name>
vivado_logs/VivadoBitstream.log
</name>
<name>
vivado_logs/VivadoBitstream.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoBitstream-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoBitstream-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoOpt.log
</name>
<name>
vivado_logs/VivadoOpt.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOpt-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOpt-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoOptPhys.log
</name>
<name>
vivado_logs/VivadoOptPhys.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOptPhys-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOptPhys-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoOptPower.log
</name>
<name>
vivado_logs/VivadoOptPower.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOptPower-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoOptPower-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoPlace.log
</name>
<name>
vivado_logs/VivadoPlace.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoPlace-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoPlace-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoRoute.log
</name>
<name>
vivado_logs/VivadoRoute.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoRoute-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoRoute-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoSynthesis.log
</name>
<name>
vivado_logs/VivadoSynthesis.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoSynthesis-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoSynthesis-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoTimimgSummaryReportImplemented.log
</name>
<name>
vivado_logs/VivadoTimimgSummaryReportImplemented.log
</name>
<type>
1
</type>
<type>
1
</type>
<location>
/home/andrey/git/x393/vivado_logs/VivadoTimimgSummaryReportImplemented-20150906
14183270
3.log
</location>
<location>
/home/andrey/git/x393/vivado_logs/VivadoTimimgSummaryReportImplemented-20150906
23514893
3.log
</location>
</link>
</link>
<link>
<link>
<name>
vivado_logs/VivadoTimimgSummaryReportSynthesis.log
</name>
<name>
vivado_logs/VivadoTimimgSummaryReportSynthesis.log
</name>
...
...
axi/cmprs_afi_mux.v
View file @
7a4e8e08
...
@@ -276,8 +276,8 @@ each group of 4 bits per channel : bits [1:0] - select, bit[2] - sset (0 - nop),
...
@@ -276,8 +276,8 @@ each group of 4 bits per channel : bits [1:0] - select, bit[2] - sset (0 - nop),
assign
afi_wrissuecap1en
=
1'b0
;
assign
afi_wrissuecap1en
=
1'b0
;
`ifdef
DEBUG_RING
`ifdef
DEBUG_RING
debug_slave
#(
debug_slave
#(
.
SHIFT_WIDTH
(
32
)
,
.
SHIFT_WIDTH
(
64
)
,
.
READ_WIDTH
(
32
)
,
.
READ_WIDTH
(
64
)
,
.
WRITE_WIDTH
(
32
)
,
.
WRITE_WIDTH
(
32
)
,
.
DEBUG_CMD_LATENCY
(
DEBUG_CMD_LATENCY
)
.
DEBUG_CMD_LATENCY
(
DEBUG_CMD_LATENCY
)
)
debug_slave_i
(
)
debug_slave_i
(
...
@@ -287,8 +287,9 @@ each group of 4 bits per channel : bits [1:0] - select, bit[2] - sset (0 - nop),
...
@@ -287,8 +287,9 @@ each group of 4 bits per channel : bits [1:0] - select, bit[2] - sset (0 - nop),
.
debug_sl
(
debug_sl
)
,
// input
.
debug_sl
(
debug_sl
)
,
// input
.
debug_do
(
debug_do
)
,
// output
.
debug_do
(
debug_do
)
,
// output
.
rd_data
(
{
.
rd_data
(
{
32'b0
left_to_eof
[
31
:
0
]
,
24'b0
,
fifo_count0
[
7
:
0
]
}
)
,
// input[31:0]
}
)
,
// input[31:0]
.
wr_data
()
,
// output[31:0] - not used
.
wr_data
()
,
// output[31:0] - not used
.
stb
()
// output - not used
.
stb
()
// output - not used
...
...
compressor_jp/cmprs_frame_sync.v
View file @
7a4e8e08
...
@@ -134,7 +134,8 @@ module cmprs_frame_sync#(
...
@@ -134,7 +134,8 @@ module cmprs_frame_sync#(
line_numbers_sync
<=
(
line_unfinished_src
>
line_unfinished
)
;
line_numbers_sync
<=
(
line_unfinished_src
>
line_unfinished
)
;
// suspend <= !bonded_mode && ((sigle_frame_buf ? frames_differ : frames_numbers_differ) || line_numbers_sync);
// suspend <= !bonded_mode && ((sigle_frame_buf ? frames_differ : frames_numbers_differ) || line_numbers_sync);
suspend
<=
bonded_mode
&&
((
sigle_frame_buf
?
frames_differ
:
frames_numbers_differ
)
||
!
line_numbers_sync
)
;
// suspend <= bonded_mode && ((sigle_frame_buf ? frames_differ : frames_numbers_differ) || !line_numbers_sync);
suspend
<=
bonded_mode
&&
!
((
sigle_frame_buf
?
frames_differ
:
frames_numbers_differ
)
||
line_numbers_sync
)
;
end
end
...
...
compressor_jp/jp_channel.v
View file @
7a4e8e08
...
@@ -345,8 +345,8 @@ module jp_channel#(
...
@@ -345,8 +345,8 @@ module jp_channel#(
`ifdef
DEBUG_RING
`ifdef
DEBUG_RING
debug_slave
#(
debug_slave
#(
.
SHIFT_WIDTH
(
32
)
,
.
SHIFT_WIDTH
(
96
)
,
.
READ_WIDTH
(
32
)
,
.
READ_WIDTH
(
96
)
,
.
WRITE_WIDTH
(
32
)
,
.
WRITE_WIDTH
(
32
)
,
.
DEBUG_CMD_LATENCY
(
DEBUG_CMD_LATENCY
)
.
DEBUG_CMD_LATENCY
(
DEBUG_CMD_LATENCY
)
)
debug_slave_i
(
)
debug_slave_i
(
...
@@ -356,8 +356,13 @@ module jp_channel#(
...
@@ -356,8 +356,13 @@ module jp_channel#(
.
debug_sl
(
debug_sl
)
,
// input
.
debug_sl
(
debug_sl
)
,
// input
.
debug_do
(
debug_do
)
,
// output
.
debug_do
(
debug_do
)
,
// output
.
rd_data
(
{
.
rd_data
(
{
32'b0
16'b0
,
fifo_count
[
7
:
0
]
,
6'b0
,
sigle_frame_buf
,
suspend
,
frame_number_dst
[
15
:
0
]
,
line_unfinished_dst
[
15
:
0
]
,
frame_number_src
[
15
:
0
]
,
line_unfinished_src
[
15
:
0
]
}
)
,
// input[31:0]
}
)
,
// input[31:0]
.
wr_data
()
,
// output[31:0] - not used
.
wr_data
()
,
// output[31:0] - not used
.
stb
()
// output - not used
.
stb
()
// output - not used
...
...
fpga_version.vh
View file @
7a4e8e08
parameter FPGA_VERSION = 32'h0393001d;
parameter FPGA_VERSION = 32'h0393001e;
\ No newline at end of file
\ No newline at end of file
py393/x393_cmprs.py
View file @
7a4e8e08
...
@@ -140,31 +140,31 @@ class X393Cmprs(object):
...
@@ -140,31 +140,31 @@ class X393Cmprs(object):
"""
"""
data
=
0
;
data
=
0
;
if
not
run_mode
is
None
:
if
not
run_mode
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_RUN
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_RUN
)
data
|=
(
run_mode
&
((
1
<<
vrlg
.
CMPRS_CBIT_RUN_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_RUN
-
vrlg
.
CMPRS_CBIT_RUN_BITS
)
data
|=
(
run_mode
&
((
1
<<
vrlg
.
CMPRS_CBIT_RUN_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_RUN
-
vrlg
.
CMPRS_CBIT_RUN_BITS
)
if
not
qbank
is
None
:
if
not
qbank
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_QBANK
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_QBANK
)
data
|=
(
qbank
&
((
1
<<
vrlg
.
CMPRS_CBIT_QBANK_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_QBANK
-
vrlg
.
CMPRS_CBIT_QBANK_BITS
)
data
|=
(
qbank
&
((
1
<<
vrlg
.
CMPRS_CBIT_QBANK_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_QBANK
-
vrlg
.
CMPRS_CBIT_QBANK_BITS
)
if
not
dc_sub
is
None
:
if
not
dc_sub
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_DCSUB
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_DCSUB
)
data
|=
(
dc_sub
&
((
1
<<
vrlg
.
CMPRS_CBIT_DCSUB_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_DCSUB
-
vrlg
.
CMPRS_CBIT_DCSUB_BITS
)
data
|=
(
dc_sub
&
((
1
<<
vrlg
.
CMPRS_CBIT_DCSUB_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_DCSUB
-
vrlg
.
CMPRS_CBIT_DCSUB_BITS
)
if
not
cmode
is
None
:
if
not
cmode
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_CMODE
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_CMODE
)
data
|=
(
cmode
&
((
1
<<
vrlg
.
CMPRS_CBIT_CMODE_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_CMODE
-
vrlg
.
CMPRS_CBIT_CMODE_BITS
)
data
|=
(
cmode
&
((
1
<<
vrlg
.
CMPRS_CBIT_CMODE_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_CMODE
-
vrlg
.
CMPRS_CBIT_CMODE_BITS
)
if
not
multi_frame
is
None
:
if
not
multi_frame
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_FRAMES
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_FRAMES
)
data
|=
(
multi_frame
&
((
1
<<
vrlg
.
CMPRS_CBIT_FRAMES_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_FRAMES
-
vrlg
.
CMPRS_CBIT_FRAMES_BITS
)
data
|=
(
multi_frame
&
((
1
<<
vrlg
.
CMPRS_CBIT_FRAMES_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_FRAMES
-
vrlg
.
CMPRS_CBIT_FRAMES_BITS
)
if
not
bayer
is
None
:
if
not
bayer
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_BAYER
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_BAYER
)
data
|=
(
bayer
&
((
1
<<
vrlg
.
CMPRS_CBIT_BAYER_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_BAYER
-
vrlg
.
CMPRS_CBIT_BAYER_BITS
)
data
|=
(
bayer
&
((
1
<<
vrlg
.
CMPRS_CBIT_BAYER_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_BAYER
-
vrlg
.
CMPRS_CBIT_BAYER_BITS
)
if
not
focus_mode
is
None
:
if
not
focus_mode
is
None
:
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_FOCUS
_BITS
)
data
|=
(
1
<<
vrlg
.
CMPRS_CBIT_FOCUS
)
data
|=
(
focus_mode
&
((
1
<<
vrlg
.
CMPRS_CBIT_FOCUS_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_FOCUS
-
vrlg
.
CMPRS_CBIT_FOCUS_BITS
)
data
|=
(
focus_mode
&
((
1
<<
vrlg
.
CMPRS_CBIT_FOCUS_BITS
)
-
1
))
<<
(
vrlg
.
CMPRS_CBIT_FOCUS
-
vrlg
.
CMPRS_CBIT_FOCUS_BITS
)
return
data
return
data
...
@@ -324,17 +324,17 @@ class X393Cmprs(object):
...
@@ -324,17 +324,17 @@ class X393Cmprs(object):
self
.
x393_axi_tasks
.
write_control_register
(
self
.
x393_axi_tasks
.
write_control_register
(
base_addr
+
vrlg
.
MCNTRL_TILED_MODE
,
base_addr
+
vrlg
.
MCNTRL_TILED_MODE
,
mode
);
mode
);
def
compressor_run
(
self
,
# may use compressor_control with the same arguments
#
def compressor_run(self, # may use compressor_control with the same arguments
num_sensor
,
#
num_sensor,
run_mode
):
#
run_mode):
"""
#
"""
Compressor reset.run/single (alias of compressor_control)
#
Compressor reset.run/single (alias of compressor_control)
@param num_sensor - sensor port number (0..3)
#
@param num_sensor - sensor port number (0..3)
@param run_mode - 0 - reset, 2 - run single from memory, 3 - run repetitive
#
@param run_mode - 0 - reset, 2 - run single from memory, 3 - run repetitive
"""
#
"""
self
.
compressor_control
(
#
self.compressor_control(
num_sensor
=
num_sensor
,
# sensor channel number (0..3)
#
num_sensor = num_sensor, # sensor channel number (0..3)
run_mode
=
run_mode
)
#0 - reset, 2 - run single from memory, 3 - run repetitive
#
run_mode = run_mode) #0 - reset, 2 - run single from memory, 3 - run repetitive
def
setup_compressor_channel
(
self
,
def
setup_compressor_channel
(
self
,
num_sensor
,
num_sensor
,
...
...
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