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
34d56fe4
Commit
34d56fe4
authored
Oct 16, 2016
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Masked external timestamps
parent
b5150aa2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
11 deletions
+16
-11
fpga_version.vh
fpga_version.vh
+2
-1
camsync393.v
timing/camsync393.v
+14
-10
x393_parallel.bit
x393_parallel.bit
+0
-0
No files found.
fpga_version.vh
View file @
34d56fe4
...
@@ -35,7 +35,8 @@
...
@@ -35,7 +35,8 @@
* contains all the components and scripts required to completely simulate it
* contains all the components and scripts required to completely simulate it
* with at least one of the Free Software programs.
* with at least one of the Free Software programs.
*/
*/
parameter FPGA_VERSION = 32'h039300be; //parallel - adding odd/even pixels shift -0.066/12, 80.26%
parameter FPGA_VERSION = 32'h039300bf; //parallel - mask extrenal timestamps mode -0.043/17 79.56%
// parameter FPGA_VERSION = 32'h039300be; //parallel - adding odd/even pixels shift -0.066/12, 80.26%
// parameter FPGA_VERSION = 32'h039300bd; //hispi, trying the same -0.173/36, 80.95%
// parameter FPGA_VERSION = 32'h039300bd; //hispi, trying the same -0.173/36, 80.95%
// parameter FPGA_VERSION = 32'h039300bc; //parallel, 100kHz min i2c speed -0.076/8, 79.69%
// parameter FPGA_VERSION = 32'h039300bc; //parallel, 100kHz min i2c speed -0.076/8, 79.69%
// parameter FPGA_VERSION = 32'h039300bb; //parallel, adding i2c almost full. -0.101/8, 79.37%
// parameter FPGA_VERSION = 32'h039300bb; //parallel, adding i2c almost full. -0.101/8, 79.37%
...
...
timing/camsync393.v
View file @
34d56fe4
...
@@ -167,7 +167,8 @@ module camsync393 #(
...
@@ -167,7 +167,8 @@ module camsync393 #(
wire
en_pclk
;
wire
en_pclk
;
wire
eprst
=
prst
||
!
en_pclk
;
wire
eprst
=
prst
||
!
en_pclk
;
reg
ts_snd_en
;
// enable sending timestamp over sync line
reg
ts_snd_en
;
// enable sending timestamp over sync line
reg
ts_external
;
// 1 - use external timestamp, if available. 0 - always use local ts
reg
ts_external
;
// Combined bit 1 - use external timestamp, if available. 0 - always use local ts
reg
ts_external_m
;
// 1 - use external timestamp, if available. 0 - always use local ts (mode bit)
reg
triggered_mode_r
;
reg
triggered_mode_r
;
reg
[
31
:
0
]
ts_snd_sec
;
// [31:0] timestamp seconds to be sent over the sync line - multiplexed from master channel
reg
[
31
:
0
]
ts_snd_sec
;
// [31:0] timestamp seconds to be sent over the sync line - multiplexed from master channel
...
@@ -377,19 +378,22 @@ module camsync393 #(
...
@@ -377,19 +378,22 @@ module camsync393 #(
always
@
(
posedge
mclk
)
begin
always
@
(
posedge
mclk
)
begin
if
(
set_mode_reg_w
)
begin
if
(
set_mode_reg_w
)
begin
if
(
cmd_data
[
CAMSYNC_EN_BIT
])
en
<=
cmd_data
[
CAMSYNC_EN_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_EN_BIT
])
en
<=
cmd_data
[
CAMSYNC_EN_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_SNDEN_BIT
])
ts_snd_en
<=
cmd_data
[
CAMSYNC_SNDEN_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_SNDEN_BIT
])
ts_snd_en
<=
cmd_data
[
CAMSYNC_SNDEN_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_EXTERNAL_BIT
])
ts_external
<=
cmd_data
[
CAMSYNC_EXTERNAL_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_EXTERNAL_BIT
])
ts_external
_m
<=
cmd_data
[
CAMSYNC_EXTERNAL_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_TRIGGERED_BIT
])
triggered_mode_r
<=
cmd_data
[
CAMSYNC_TRIGGERED_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_TRIGGERED_BIT
])
triggered_mode_r
<=
cmd_data
[
CAMSYNC_TRIGGERED_BIT
-
1
]
;
if
(
cmd_data
[
CAMSYNC_MASTER_BIT
])
master_chn
<=
cmd_data
[
CAMSYNC_MASTER_BIT
-
1
-:
2
]
;
if
(
cmd_data
[
CAMSYNC_MASTER_BIT
])
master_chn
<=
cmd_data
[
CAMSYNC_MASTER_BIT
-
1
-:
2
]
;
// if (cmd_data[CAMSYNC_CHN_EN_BIT]) chn_en <= cmd_data[CAMSYNC_CHN_EN_BIT - 1 -: 4];
// if (cmd_data[CAMSYNC_CHN_EN_BIT]) chn_en <= cmd_data[CAMSYNC_CHN_EN_BIT - 1 -: 4];
// Making separate enables for each channel, so channel software will not disturb other channels
// Making separate enables for each channel, so channel software will not disturb other channels
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
3
])
chn_en
[
0
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
7
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
3
])
chn_en
[
0
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
7
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
2
])
chn_en
[
1
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
6
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
2
])
chn_en
[
1
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
6
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
1
])
chn_en
[
2
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
5
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
1
])
chn_en
[
2
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
5
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
0
])
chn_en
[
3
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
4
]
;
if
(
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
0
])
chn_en
[
3
]
<=
cmd_data
[
CAMSYNC_CHN_EN_BIT
-
4
]
;
end
end
// Do not try to use external timestamp in free run or internally triggered mode
ts_external
<=
ts_external_m
&&
!
input_use_intern
&&
triggered_mode_r
;
if
(
mrst
)
input_use
<=
0
;
if
(
mrst
)
input_use
<=
0
;
if
(
!
en
)
begin
if
(
!
en
)
begin
input_use
<=
0
;
input_use
<=
0
;
...
...
x393_parallel.bit
View file @
34d56fe4
No preview for this file type
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