Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Commits
3f99b836
Commit
3f99b836
authored
3 years ago
by
Reinier van der Walle
Browse files
Options
Downloads
Patches
Plain Diff
added ring_lane
parent
3c0f1c8e
No related branches found
No related tags found
1 merge request
!157
Resolve L2SDP-276
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
libraries/base/ring/hdllib.cfg
+1
-0
1 addition, 0 deletions
libraries/base/ring/hdllib.cfg
libraries/base/ring/src/vhdl/ring_rx.vhd
+1
-1
1 addition, 1 deletion
libraries/base/ring/src/vhdl/ring_rx.vhd
libraries/base/ring/src/vhdl/ring_tx.vhd
+10
-10
10 additions, 10 deletions
libraries/base/ring/src/vhdl/ring_tx.vhd
with
12 additions
and
11 deletions
libraries/base/ring/hdllib.cfg
+
1
−
0
View file @
3f99b836
...
@@ -10,6 +10,7 @@ synth_files =
...
@@ -10,6 +10,7 @@ synth_files =
src/vhdl/ring_lane_info.vhd
src/vhdl/ring_lane_info.vhd
src/vhdl/ring_tx.vhd
src/vhdl/ring_tx.vhd
src/vhdl/ring_rx.vhd
src/vhdl/ring_rx.vhd
src/vhdl/ring_lane.vhd
test_bench_files
=
test_bench_files
=
tb/vhdl/tb_ring_lane_info.vhd
tb/vhdl/tb_ring_lane_info.vhd
...
...
This diff is collapsed.
Click to expand it.
libraries/base/ring/src/vhdl/ring_rx.vhd
+
1
−
1
View file @
3f99b836
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
--
--
-- Author: R. van der Walle
-- Author: R. van der Walle
-- Purpose: Handle
T
X side of ring design.
-- Purpose: Handle
R
X side of ring design.
-- Description: See https://support.astron.nl/confluence/x/jyu7Ag
-- Description: See https://support.astron.nl/confluence/x/jyu7Ag
-- Remark:
-- Remark:
-- . Note that the dp_fifo_fill_eop in dp_block_validate_err cannot handle
-- . Note that the dp_fifo_fill_eop in dp_block_validate_err cannot handle
...
...
This diff is collapsed.
Click to expand it.
libraries/base/ring/src/vhdl/ring_tx.vhd
+
10
−
10
View file @
3f99b836
...
@@ -39,6 +39,7 @@ USE work.ring_pkg.ALL;
...
@@ -39,6 +39,7 @@ USE work.ring_pkg.ALL;
ENTITY
ring_tx
IS
ENTITY
ring_tx
IS
GENERIC
(
GENERIC
(
g_lane_direction
:
NATURAL
:
=
1
;
g_lane_direction
:
NATURAL
:
=
1
;
g_use_dp_layer
:
BOOLEAN
:
=
TRUE
;
g_data_w
:
NATURAL
:
=
64
;
g_data_w
:
NATURAL
:
=
64
;
g_symbol_w
:
NATURAL
:
=
8
;
g_symbol_w
:
NATURAL
:
=
8
;
g_ring_pkt_type
:
STD_LOGIC_VECTOR
(
c_halfword_w
-1
DOWNTO
0
)
:
=
c_ring_pkt_type_bf
;
g_ring_pkt_type
:
STD_LOGIC_VECTOR
(
c_halfword_w
-1
DOWNTO
0
)
:
=
c_ring_pkt_type_bf
;
...
@@ -58,8 +59,8 @@ ENTITY ring_tx IS
...
@@ -58,8 +59,8 @@ ENTITY ring_tx IS
lane_tx_cable_sosi
:
OUT
t_dp_sosi
;
lane_tx_cable_sosi
:
OUT
t_dp_sosi
;
lane_tx_board_sosi
:
OUT
t_dp_sosi
;
lane_tx_board_sosi
:
OUT
t_dp_sosi
;
reg_bsn_monitor_v2_
mos
i
:
IN
t_mem_
mos
i
;
reg_bsn_monitor_v2_
cop
i
:
IN
t_mem_
cop
i
;
reg_bsn_monitor_v2_
mis
o
:
OUT
t_mem_
mis
o
;
reg_bsn_monitor_v2_
cip
o
:
OUT
t_mem_
cip
o
;
tx_select
:
IN
STD_LOGIC
;
tx_select
:
IN
STD_LOGIC
;
remove_channel
:
IN
STD_LOGIC_VECTOR
(
c_dp_stream_channel_w
-1
DOWNTO
0
);
remove_channel
:
IN
STD_LOGIC_VECTOR
(
c_dp_stream_channel_w
-1
DOWNTO
0
);
...
@@ -72,10 +73,9 @@ ARCHITECTURE str OF ring_tx IS
...
@@ -72,10 +73,9 @@ ARCHITECTURE str OF ring_tx IS
CONSTANT
c_use_empty
:
BOOLEAN
:
=
sel_a_b
(
g_symbol_w
=
g_data_w
,
FALSE
,
TRUE
);
CONSTANT
c_use_empty
:
BOOLEAN
:
=
sel_a_b
(
g_symbol_w
=
g_data_w
,
FALSE
,
TRUE
);
CONSTANT
c_empty_w
:
NATURAL
:
=
ceil_log2
(
g_data_w
/
g_symbol_w
);
CONSTANT
c_empty_w
:
NATURAL
:
=
ceil_log2
(
g_data_w
/
g_symbol_w
);
CONSTANT
c_use_dp_layer
:
BOOLEAN
:
=
TRUE
;
CONSTANT
c_nof_hdr_fields
:
NATURAL
:
=
sel_a_b
(
g_use_dp_layer
,
c_ring_dp_nof_hdr_fields
,
c_ring_eth_nof_hdr_fields
);
CONSTANT
c_nof_hdr_fields
:
NATURAL
:
=
sel_a_b
(
c_use_dp_layer
,
c_ring_dp_nof_hdr_fields
,
c_ring_eth_nof_hdr_fields
);
CONSTANT
c_hdr_field_sel
:
STD_LOGIC_VECTOR
(
c_nof_hdr_fields
-1
DOWNTO
0
)
:
=
sel_a_b
(
g_use_dp_layer
,
c_ring_dp_hdr_field_sel
,
c_ring_eth_hdr_field_sel
);
CONSTANT
c_hdr_field_sel
:
STD_LOGIC_VECTOR
(
c_nof_hdr_fields
-1
DOWNTO
0
)
:
=
sel_a_b
(
c_use_dp_layer
,
c_ring_dp_hdr_field_sel
,
c_ring_eth_hdr_field_sel
);
CONSTANT
c_hdr_field_arr
:
t_common_field_arr
(
c_nof_hdr_fields
-1
DOWNTO
0
)
:
=
sel_a_b
(
g_use_dp_layer
,
c_ring_dp_hdr_field_arr
,
c_ring_eth_hdr_field_arr
);
CONSTANT
c_hdr_field_arr
:
t_common_field_arr
(
c_nof_hdr_fields
-1
DOWNTO
0
)
:
=
sel_a_b
(
c_use_dp_layer
,
c_ring_dp_hdr_field_arr
,
c_ring_eth_hdr_field_arr
);
CONSTANT
c_fifo_size
:
NATURAL
:
=
5
;
-- Large enough to fit ETH/DP header.
CONSTANT
c_fifo_size
:
NATURAL
:
=
5
;
-- Large enough to fit ETH/DP header.
SIGNAL
validated_sosi
:
t_dp_sosi
;
SIGNAL
validated_sosi
:
t_dp_sosi
;
...
@@ -126,7 +126,7 @@ BEGIN
...
@@ -126,7 +126,7 @@ BEGIN
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_dst_mac"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_dst_mac"
))
<=
c_ring_eth_dst_mac
;
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_dst_mac"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_dst_mac"
))
<=
c_ring_eth_dst_mac
;
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_src_mac"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_src_mac"
))
<=
c_ring_eth_src_mac
;
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_src_mac"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_src_mac"
))
<=
c_ring_eth_src_mac
;
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_type"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_type"
))
<=
g_ring_pkt_type
;
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"eth_type"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"eth_type"
))
<=
g_ring_pkt_type
;
gen_hdr_dp
:
IF
c
_use_dp_layer
GENERATE
gen_hdr_dp
:
IF
g
_use_dp_layer
GENERATE
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_channel"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_channel"
))
<=
tx_sosi
.
channel
(
c_halfword_w
-1
DOWNTO
0
);
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_channel"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_channel"
))
<=
tx_sosi
.
channel
(
c_halfword_w
-1
DOWNTO
0
);
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_sync"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_sync"
))
<=
slv
(
tx_sosi
.
sync
);
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_sync"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_sync"
))
<=
slv
(
tx_sosi
.
sync
);
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_bsn"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_bsn"
))
<=
tx_sosi
.
bsn
(
62
DOWNTO
0
);
hdr_fields_in
(
field_hi
(
c_hdr_field_arr
,
"dp_bsn"
)
DOWNTO
field_lo
(
c_hdr_field_arr
,
"dp_bsn"
))
<=
tx_sosi
.
bsn
(
62
DOWNTO
0
);
...
@@ -189,7 +189,7 @@ BEGIN
...
@@ -189,7 +189,7 @@ BEGIN
END
PROCESS
;
END
PROCESS
;
-- BSN Monitors
-- BSN Monitors
gen_bsn_monitors
:
IF
c
_use_dp_layer
GENERATE
gen_bsn_monitors
:
IF
g
_use_dp_layer
GENERATE
-- Convert nof_hops to source RN
-- Convert nof_hops to source RN
p_hop_to_src_rn
:
PROCESS
(
validated_sosi
,
this_rn
,
N_rn
)
p_hop_to_src_rn
:
PROCESS
(
validated_sosi
,
this_rn
,
N_rn
)
BEGIN
BEGIN
...
@@ -216,8 +216,8 @@ BEGIN
...
@@ -216,8 +216,8 @@ BEGIN
PORT
MAP
(
PORT
MAP
(
mm_rst
=>
mm_rst
,
mm_rst
=>
mm_rst
,
mm_clk
=>
mm_clk
,
mm_clk
=>
mm_clk
,
reg_mosi
=>
reg_bsn_monitor_v2_
mos
i
,
reg_mosi
=>
reg_bsn_monitor_v2_
cop
i
,
reg_miso
=>
reg_bsn_monitor_v2_
mis
o
,
reg_miso
=>
reg_bsn_monitor_v2_
cip
o
,
dp_rst
=>
dp_rst
,
dp_rst
=>
dp_rst
,
dp_clk
=>
dp_clk
,
dp_clk
=>
dp_clk
,
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment