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
0ac1032e
Commit
0ac1032e
authored
2 years ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Default use MAC/IP/UDP, so these have to be MM programmed before packets can be send.
parent
cf62f522
Branches
Branches containing commit
No related tags found
1 merge request
!283
Resolve L2SDP-696
Pipeline
#36681
passed
2 years ago
Stage: simulation
Stage: synthesis
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+11
-7
11 additions, 7 deletions
applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+7
-0
7 additions, 0 deletions
...ofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
with
18 additions
and
7 deletions
applications/lofar2/libraries/sdp/src/vhdl/sdp_pkg.vhd
+
11
−
7
View file @
0ac1032e
...
@@ -237,9 +237,11 @@ PACKAGE sdp_pkg is
...
@@ -237,9 +237,11 @@ PACKAGE sdp_pkg is
--CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "1"&"101"&"111011111001"&"0101"&"0100"&"000000000"&"0000100"&"0"; -- previous 26 nov 2021
--CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "1"&"101"&"111011111001"&"0101"&"0100"&"000000000"&"0000100"&"0"; -- previous 26 nov 2021
--CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "0"&"100"&"000000010001"&"0100"&"0100"&"000000010"&"1000000"&"0"; -- initial
--CONSTANT c_sdp_stat_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_stat_nof_hdr_fields-1 DOWNTO 0) := "0"&"100"&"000000010001"&"0100"&"0100"&"000000010"&"1000000"&"0"; -- initial
-- Default use destination MAC/IP/UDP = 0, so these have to be MM programmed before
-- statistics offload packets can be send.
CONSTANT
c_sdp_stat_hdr_field_arr
:
t_common_field_arr
(
c_sdp_stat_nof_hdr_fields
-1
DOWNTO
0
)
:
=
(
CONSTANT
c_sdp_stat_hdr_field_arr
:
t_common_field_arr
(
c_sdp_stat_nof_hdr_fields
-1
DOWNTO
0
)
:
=
(
(
field_name_pad
(
"word_align"
),
"RW"
,
16
,
field_default
(
0
)
),
-- Tx TSE IP will strip these 2 padding bytes
(
field_name_pad
(
"word_align"
),
"RW"
,
16
,
field_default
(
0
)
),
-- Tx TSE IP will strip these 2 padding bytes
(
field_name_pad
(
"eth_dst_mac"
),
"RW"
,
48
,
field_default
(
c_sdp_stat_eth_dst_mac
)
),
(
field_name_pad
(
"eth_dst_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
--
c_sdp_stat_eth_dst_mac
(
field_name_pad
(
"eth_src_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
(
field_name_pad
(
"eth_src_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
(
field_name_pad
(
"eth_type"
),
"RW"
,
16
,
field_default
(
x"0800"
)
),
(
field_name_pad
(
"eth_type"
),
"RW"
,
16
,
field_default
(
x"0800"
)
),
...
@@ -254,10 +256,10 @@ PACKAGE sdp_pkg is
...
@@ -254,10 +256,10 @@ PACKAGE sdp_pkg is
(
field_name_pad
(
"ip_protocol"
),
"RW"
,
8
,
field_default
(
17
)
),
(
field_name_pad
(
"ip_protocol"
),
"RW"
,
8
,
field_default
(
17
)
),
(
field_name_pad
(
"ip_header_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_header_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_src_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_src_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_dst_addr"
),
"RW"
,
32
,
field_default
(
c_sdp_stat_ip_dst_addr
)
),
(
field_name_pad
(
"ip_dst_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
--
c_sdp_stat_ip_dst_addr
(
field_name_pad
(
"udp_src_port"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_src_port"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_dst_port"
),
"RW"
,
16
,
field_default
(
c_sdp_stat_udp_dst_port
)
),
(
field_name_pad
(
"udp_dst_port"
),
"RW"
,
16
,
field_default
(
0
)
),
--
c_sdp_stat_udp_dst_port
(
field_name_pad
(
"udp_total_length"
),
"RW"
,
16
,
field_default
(
0
)
),
-- differs for SST, BST, XST so set by data path
(
field_name_pad
(
"udp_total_length"
),
"RW"
,
16
,
field_default
(
0
)
),
-- differs for SST, BST, XST so set by data path
(
field_name_pad
(
"udp_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
...
@@ -370,8 +372,10 @@ PACKAGE sdp_pkg is
...
@@ -370,8 +372,10 @@ PACKAGE sdp_pkg is
--CONSTANT c_sdp_cep_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"1100"&"00000010"&"000110"&"0"; -- previous 27 sep 2022
--CONSTANT c_sdp_cep_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "101"&"111111111001"&"0111"&"1100"&"00000010"&"000110"&"0"; -- previous 27 sep 2022
--CONSTANT c_sdp_cep_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "100"&"000000010001"&"0100"&"0100"&"00000000"&"101000"&"0"; -- initial
--CONSTANT c_sdp_cep_hdr_field_sel : STD_LOGIC_VECTOR(c_sdp_cep_nof_hdr_fields-1 DOWNTO 0) := "100"&"000000010001"&"0100"&"0100"&"00000000"&"101000"&"0"; -- initial
CONSTANT
c_sdp_cep_hdr_field_arr
:
t_common_field_arr
(
c_sdp_cep_nof_hdr_fields
-1
DOWNTO
0
)
:
=
(
-- Default use source MAC/IP/UDP = 0 and destination MAC/IP/UDP = 0, so these have to be MM programmed
(
field_name_pad
(
"eth_dst_mac"
),
"RW"
,
48
,
field_default
(
c_sdp_cep_eth_dst_mac
)
),
-- before beamlet output packets can be send.
CONSTANT
c_sdp_cep_hdr_field_arr
:
t_common_field_arr
(
c_sdp_cep_nof_hdr_fields
-1
DOWNTO
0
)
:
=
(
(
field_name_pad
(
"eth_dst_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
-- c_sdp_cep_eth_dst_mac
(
field_name_pad
(
"eth_src_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
(
field_name_pad
(
"eth_src_mac"
),
"RW"
,
48
,
field_default
(
0
)
),
(
field_name_pad
(
"eth_type"
),
"RW"
,
16
,
field_default
(
x"0800"
)
),
(
field_name_pad
(
"eth_type"
),
"RW"
,
16
,
field_default
(
x"0800"
)
),
...
@@ -386,10 +390,10 @@ PACKAGE sdp_pkg is
...
@@ -386,10 +390,10 @@ PACKAGE sdp_pkg is
(
field_name_pad
(
"ip_protocol"
),
"RW"
,
8
,
field_default
(
17
)
),
(
field_name_pad
(
"ip_protocol"
),
"RW"
,
8
,
field_default
(
17
)
),
(
field_name_pad
(
"ip_header_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_header_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_src_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_src_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
(
field_name_pad
(
"ip_dst_addr"
),
"RW"
,
32
,
field_default
(
c_sdp_cep_ip_dst_addr
)
),
(
field_name_pad
(
"ip_dst_addr"
),
"RW"
,
32
,
field_default
(
0
)
),
--
c_sdp_cep_ip_dst_addr
(
field_name_pad
(
"udp_src_port"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_src_port"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_dst_port"
),
"RW"
,
16
,
field_default
(
c_sdp_cep_udp_dst_port
)
),
(
field_name_pad
(
"udp_dst_port"
),
"RW"
,
16
,
field_default
(
0
)
),
--
c_sdp_cep_udp_dst_port
(
field_name_pad
(
"udp_total_length"
),
"RW"
,
16
,
field_default
(
c_sdp_cep_udp_total_length
)
),
(
field_name_pad
(
"udp_total_length"
),
"RW"
,
16
,
field_default
(
c_sdp_cep_udp_total_length
)
),
(
field_name_pad
(
"udp_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
(
field_name_pad
(
"udp_checksum"
),
"RW"
,
16
,
field_default
(
0
)
),
...
...
This diff is collapsed.
Click to expand it.
applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+
7
−
0
View file @
0ac1032e
...
@@ -322,6 +322,13 @@ BEGIN
...
@@ -322,6 +322,13 @@ BEGIN
BEGIN
BEGIN
proc_common_wait_until_low
(
dp_clk
,
mm_rst
);
proc_common_wait_until_low
(
dp_clk
,
mm_rst
);
proc_common_wait_some_cycles
(
mm_clk
,
10
);
proc_common_wait_some_cycles
(
mm_clk
,
10
);
-- Write statistics offload destination MAC/IP/UDP
-- . obtain relative MM word addresses e.g. from lofar2_unb2c_sdp_station.mmap or from sdp.peripheral.yaml
proc_mem_mm_bus_wr
(
16
#
18
#
,
TO_UINT
(
c_sdp_stat_udp_dst_port
),
mm_clk
,
hdr_dat_miso
,
hdr_dat_mosi
);
proc_mem_mm_bus_wr
(
16
#
1
A
#
,
TO_UINT
(
c_sdp_stat_ip_dst_addr
),
mm_clk
,
hdr_dat_miso
,
hdr_dat_mosi
);
proc_mem_mm_bus_wr
(
16
#
29
#
,
TO_SINT
(
c_sdp_stat_eth_dst_mac
(
31
DOWNTO
0
)),
mm_clk
,
hdr_dat_miso
,
hdr_dat_mosi
);
-- use signed to fit 32 b in INTEGER
proc_mem_mm_bus_wr
(
16
#
2
A
#
,
TO_UINT
(
c_sdp_stat_eth_dst_mac
(
47
DOWNTO
32
)),
mm_clk
,
hdr_dat_miso
,
hdr_dat_mosi
);
-- Enable common variable delay.
-- Enable common variable delay.
proc_mem_mm_bus_wr
(
c_reg_enable_mm_addr_enable
,
1
,
mm_clk
,
enable_miso
,
enable_mosi
);
proc_mem_mm_bus_wr
(
c_reg_enable_mm_addr_enable
,
1
,
mm_clk
,
enable_miso
,
enable_mosi
);
proc_common_wait_some_cycles
(
mm_clk
,
c_cross_clock_domain_latency
);
proc_common_wait_some_cycles
(
mm_clk
,
c_cross_clock_domain_latency
);
...
...
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