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
17f8ab3e
Commit
17f8ab3e
authored
1 year ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Assemble hdr offload info for multi destination.
parent
75f505c4
No related branches found
No related tags found
1 merge request
!359
Clarify g_nof_destinations_max design revision parameter and package constants...
Pipeline
#59509
passed
1 year ago
Stage: linting
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
+127
-37
127 additions, 37 deletions
...s/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
with
127 additions
and
37 deletions
applications/lofar2/libraries/sdp/src/vhdl/sdp_beamformer_output.vhd
+
127
−
37
View file @
17f8ab3e
...
@@ -97,7 +97,14 @@ architecture str of sdp_beamformer_output is
...
@@ -97,7 +97,14 @@ architecture str of sdp_beamformer_output is
constant
c_fifo_fill
:
natural
:
=
c_sdp_cep_payload_nof_longwords
;
-- 976
constant
c_fifo_fill
:
natural
:
=
c_sdp_cep_payload_nof_longwords
;
-- 976
constant
c_fifo_size
:
natural
:
=
true_log_pow2
(
c_sdp_cep_payload_nof_longwords
)
*
c_sdp_N_beamsets
;
-- 2048
constant
c_fifo_size
:
natural
:
=
true_log_pow2
(
c_sdp_cep_payload_nof_longwords
)
*
c_sdp_N_beamsets
;
-- 2048
-- field_sel = '0' for DP (dynamic), '1' for MM (fixed or programmable via MM of dp_offload_tx_v3)
-- Multi destination info (mdi)
constant
c_nof_destinations_w
:
natural
:
=
ceil_log2
(
g_nof_destinations_max
+
1
);
constant
c_mdi_slv_w
:
natural
:
=
c_nof_destinations_w
*
2
+
c_sdp_bdo_reorder_nof_blocks_w
+
c_sdp_nof_beamlets_per_block_w
;
-- . field_sel = '0' for DP (dynamic), '1' for MM (fixed or programmable via MM of dp_offload_tx_v3)
constant
c_cep_hdr_field_sel
:
std_logic_vector
(
c_sdp_cep_nof_hdr_fields
-
1
downto
0
)
:
=
constant
c_cep_hdr_field_sel
:
std_logic_vector
(
c_sdp_cep_nof_hdr_fields
-
1
downto
0
)
:
=
sel_a_b
(
g_nof_destinations_max
=
1
,
func_sdp_cep_hdr_field_sel_dst
(
'1'
),
sel_a_b
(
g_nof_destinations_max
=
1
,
func_sdp_cep_hdr_field_sel_dst
(
'1'
),
func_sdp_cep_hdr_field_sel_dst
(
'0'
));
func_sdp_cep_hdr_field_sel_dst
(
'0'
));
...
@@ -119,10 +126,10 @@ architecture str of sdp_beamformer_output is
...
@@ -119,10 +126,10 @@ architecture str of sdp_beamformer_output is
signal
dp_packet_reorder_word
:
t_sdp_dual_pol_beamlet_in_word
;
signal
dp_packet_reorder_word
:
t_sdp_dual_pol_beamlet_in_word
;
signal
dp_repack_longword_src_out
:
t_dp_sosi
;
signal
dp_repack_longword_src_out
:
t_dp_sosi
;
signal
dp_repack_longword
:
t_sdp_dual_pol_beamlet_in_longword
;
signal
dp_repack_longword
:
t_sdp_dual_pol_beamlet_in_longword
;
signal
dp_fifo_
fill_eop
_src_out
:
t_dp_sosi
;
signal
dp_fifo_
data
_src_out
:
t_dp_sosi
;
signal
dp_fifo_
fill_eop
_src_in
:
t_dp_siso
;
signal
dp_fifo_
data
_src_in
:
t_dp_siso
;
signal
dp_pipeline_src_out
:
t_dp_sosi
;
signal
dp_pipeline_
data_
src_out
:
t_dp_sosi
;
signal
dp_pipeline_src_in
:
t_dp_siso
;
signal
dp_pipeline_
data_
src_in
:
t_dp_siso
;
signal
dp_offload_tx_src_out
:
t_dp_sosi
;
signal
dp_offload_tx_src_out
:
t_dp_sosi
;
signal
dp_offload_tx_src_in
:
t_dp_siso
;
signal
dp_offload_tx_src_in
:
t_dp_siso
;
signal
ip_checksum_src_out
:
t_dp_sosi
;
signal
ip_checksum_src_out
:
t_dp_sosi
;
...
@@ -134,11 +141,28 @@ architecture str of sdp_beamformer_output is
...
@@ -134,11 +141,28 @@ architecture str of sdp_beamformer_output is
signal
payload_err
:
std_logic_vector
(
0
downto
0
);
signal
payload_err
:
std_logic_vector
(
0
downto
0
);
signal
station_info
:
std_logic_vector
(
15
downto
0
)
:
=
(
others
=>
'0'
);
signal
station_info
:
std_logic_vector
(
15
downto
0
)
:
=
(
others
=>
'0'
);
-- Multiple destinations
-- Multiple destinations info (mdi)
signal
destinations_info
:
t_sdp_bdo_destinations_info
;
signal
multi_destinations_info
:
t_sdp_bdo_destinations_info
;
signal
eth_dst_mac
:
std_logic_vector
(
c_network_eth_mac_addr_w
-
1
downto
0
);
signal
mdi_hdr_eth_dst_mac
:
std_logic_vector
(
c_network_eth_mac_addr_w
-
1
downto
0
);
signal
ip_dst_addr
:
std_logic_vector
(
c_network_ip_addr_w
-
1
downto
0
);
signal
mdi_hdr_ip_dst_addr
:
std_logic_vector
(
c_network_ip_addr_w
-
1
downto
0
);
signal
udp_dst_port
:
std_logic_vector
(
c_network_udp_port_w
-
1
downto
0
);
signal
mdi_hdr_udp_dst_port
:
std_logic_vector
(
c_network_udp_port_w
-
1
downto
0
);
-- . index for destination MAC/IP/UDP
signal
mdi_destination_index
:
natural
;
signal
mdi_destination_index_slv
:
std_logic_vector
(
c_nof_destinations_w
-
1
downto
0
);
-- . header fields
signal
mdi_nof_blocks_per_packet
:
natural
;
signal
mdi_nof_blocks_per_packet_slv
:
std_logic_vector
(
c_sdp_bdo_reorder_nof_blocks_w
-
1
downto
0
);
signal
mdi_nof_beamlets_per_block_per_destination
:
natural
;
signal
mdi_nof_beamlets_per_block_per_destination_slv
:
std_logic_vector
(
c_sdp_nof_beamlets_per_block_w
-
1
downto
0
);
signal
mdi_beamlet_index_per_destination
:
natural
;
signal
mdi_beamlet_index_per_destination_slv
:
std_logic_vector
(
c_nof_destinations_w
-
1
downto
0
);
signal
mdi_fifo_in_slv
:
std_logic_vector
(
c_mdi_slv_w
-
1
downto
0
);
signal
mdi_fifo_out_slv
:
std_logic_vector
(
c_mdi_slv_w
-
1
downto
0
);
signal
mdi_hdr_destination_index
:
natural
;
signal
mdi_hdr_nof_blocks_per_packet
:
natural
;
signal
mdi_hdr_nof_beamlets_per_block_per_destination
:
natural
;
signal
mdi_hdr_beamlet_index_per_destination
:
natural
;
-- Default set all data path driven header fields to 0
-- Default set all data path driven header fields to 0
signal
dp_offload_tx_hdr_fields
:
std_logic_vector
(
1023
downto
0
)
:
=
(
others
=>
'0'
);
signal
dp_offload_tx_hdr_fields
:
std_logic_vector
(
1023
downto
0
)
:
=
(
others
=>
'0'
);
...
@@ -278,11 +302,78 @@ begin
...
@@ -278,11 +302,78 @@ begin
reg_destinations_copi
=>
reg_destinations_copi
,
reg_destinations_copi
=>
reg_destinations_copi
,
reg_destinations_cipo
=>
reg_destinations_cipo
,
reg_destinations_cipo
=>
reg_destinations_cipo
,
destinations_info
=>
destinations_info
,
destinations_info
=>
multi_
destinations_info
,
snk_in
=>
dp_repack_beamlet_src_out
,
snk_in
=>
dp_repack_beamlet_src_out
,
src_out
=>
dp_packet_reorder_src_out
src_out
=>
dp_packet_reorder_src_out
,
-- Streaming data output info per destination index
destination_index
=>
mdi_destination_index
,
nof_blocks_per_packet
=>
mdi_nof_blocks_per_packet
,
nof_beamlets_per_block_per_destination
=>
mdi_nof_beamlets_per_block_per_destination
,
beamlet_index_per_destination
=>
mdi_beamlet_index_per_destination
);
);
-----------------------------------------------------------------------------
-- FIFO: to align multi destination info
-----------------------------------------------------------------------------
mdi_destination_index_slv
<=
to_uvec
(
mdi_destination_index
,
c_nof_destinations_w
);
mdi_nof_blocks_per_packet_slv
<=
to_uvec
(
mdi_nof_blocks_per_packet
,
c_sdp_bdo_reorder_nof_blocks_w
);
mdi_nof_beamlets_per_block_per_destination_slv
<=
to_uvec
(
mdi_nof_beamlets_per_block_per_destination
,
c_sdp_nof_beamlets_per_block_w
);
mdi_beamlet_index_per_destination_slv
<=
to_uvec
(
mdi_beamlet_index_per_destination
,
c_nof_destinations_w
);
-- Concat into slv
mdi_fifo_in_slv
<=
func_slv_concat
(
mdi_destination_index_slv
,
mdi_nof_blocks_per_packet_slv
,
mdi_nof_beamlets_per_block_per_destination_slv
,
mdi_beamlet_index_per_destination_slv
);
-- Similar purpose as u_common_fifo_err, but from input sop to output sop.
u_common_fifo_mdi
:
entity
common_lib
.
common_fifo_sc
generic
map
(
g_dat_w
=>
c_mdi_slv_w
,
g_nof_words
=>
c_sdp_N_beamsets
+
2
)
port
map
(
rst
=>
dp_rst
,
clk
=>
dp_clk
,
wr_dat
=>
mdi_fifo_in_slv
,
wr_req
=>
dp_packet_reorder_src_out
.
sop
,
rd_dat
=>
mdi_fifo_out_slv
,
rd_req
=>
dp_fifo_data_src_out
.
sop
);
-- Extract from slv
mdi_hdr_destination_index
<=
to_uint
(
func_slv_extract
(
c_nof_destinations_w
,
c_sdp_bdo_reorder_nof_blocks_w
,
c_sdp_nof_beamlets_per_block_w
,
c_nof_destinations_w
,
mdi_fifo_out_slv
,
0
));
mdi_hdr_nof_blocks_per_packet
<=
to_uint
(
func_slv_extract
(
c_nof_destinations_w
,
c_sdp_bdo_reorder_nof_blocks_w
,
c_sdp_nof_beamlets_per_block_w
,
c_nof_destinations_w
,
mdi_fifo_out_slv
,
1
));
mdi_hdr_nof_beamlets_per_block_per_destination
<=
to_uint
(
func_slv_extract
(
c_nof_destinations_w
,
c_sdp_bdo_reorder_nof_blocks_w
,
c_sdp_nof_beamlets_per_block_w
,
c_nof_destinations_w
,
mdi_fifo_out_slv
,
2
));
mdi_hdr_beamlet_index_per_destination
<=
to_uint
(
func_slv_extract
(
c_nof_destinations_w
,
c_sdp_bdo_reorder_nof_blocks_w
,
c_sdp_nof_beamlets_per_block_w
,
c_nof_destinations_w
,
mdi_fifo_out_slv
,
3
));
-- Select destination MAC/IP/UDP, pipeline to easing timing closure
p_pipeline
:
process
(
dp_clk
)
begin
if
rising_edge
(
dp_clk
)
then
mdi_hdr_eth_dst_mac
<=
multi_destinations_info
.
eth_destination_mac_arr
(
mdi_hdr_destination_index
);
mdi_hdr_ip_dst_addr
<=
multi_destinations_info
.
ip_destination_address_arr
(
mdi_hdr_destination_index
);
mdi_hdr_udp_dst_port
<=
multi_destinations_info
.
udp_destination_port_arr
(
mdi_hdr_destination_index
);
end
if
;
end
process
;
end
generate
;
end
generate
;
-- Debug signals for view in Wave window
-- Debug signals for view in Wave window
...
@@ -314,11 +405,11 @@ begin
...
@@ -314,11 +405,11 @@ begin
dp_repack_longword
<=
unpack_data
(
dp_repack_longword_src_out
.
data
(
c_longword_w
-
1
downto
0
));
dp_repack_longword
<=
unpack_data
(
dp_repack_longword_src_out
.
data
(
c_longword_w
-
1
downto
0
));
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-- FIFO
-- FIFO
: to be able to insert header in u_dp_offload_tx_v3
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-- Pass on dp_repack_longword_src_out.err field not here, but via separate
-- Pass on dp_repack_longword_src_out.err field not here, but via separate
-- u_common_fifo_
sc_
err.
-- u_common_fifo_err.
u_dp_fifo_
fill_eop_sc
:
entity
dp_lib
.
dp_fifo_fill_eop_sc
u_dp_fifo_
data
:
entity
dp_lib
.
dp_fifo_fill_eop_sc
generic
map
(
generic
map
(
g_data_w
=>
c_longword_w
,
g_data_w
=>
c_longword_w
,
g_empty_w
=>
c_byte_w
,
g_empty_w
=>
c_byte_w
,
...
@@ -334,16 +425,17 @@ begin
...
@@ -334,16 +425,17 @@ begin
clk
=>
dp_clk
,
clk
=>
dp_clk
,
rst
=>
dp_rst
,
rst
=>
dp_rst
,
snk_in
=>
dp_repack_longword_src_out
,
snk_in
=>
dp_repack_longword_src_out
,
src_out
=>
dp_fifo_
fill_eop
_src_out
,
src_out
=>
dp_fifo_
data
_src_out
,
src_in
=>
dp_fifo_
fill_eop
_src_in
src_in
=>
dp_fifo_
data
_src_in
);
);
-- FIFO: to store and align payload error bit from eop to sop
-- Simple fifo to store the payload error bit at eop of FIFO input to be used
-- Simple fifo to store the payload error bit at eop of FIFO input to be used
-- at sop of FIFO output, so that payload_err can then be used in the packet
-- at sop of FIFO output, so that payload_err can then be used in the packet
-- header. Typically the u_dp_fifo_
fill_eop
will store between 0 and
-- header. Typically the u_dp_fifo_
data
will store between 0 and
-- c_sdp_N_beamsets = 2 packets. Choose g_nof_words > c_sdp_N_beamsets to
-- c_sdp_N_beamsets = 2 packets. Choose g_nof_words > c_sdp_N_beamsets to
-- have some margin compared to c_fifo_size of the data FIFO.
-- have some margin compared to c_fifo_size of the data FIFO.
u_common_fifo_
sc_
err
:
entity
common_lib
.
common_fifo_sc
u_common_fifo_err
:
entity
common_lib
.
common_fifo_sc
generic
map
(
generic
map
(
g_dat_w
=>
1
,
g_dat_w
=>
1
,
g_nof_words
=>
c_sdp_N_beamsets
+
2
g_nof_words
=>
c_sdp_N_beamsets
+
2
...
@@ -354,11 +446,11 @@ begin
...
@@ -354,11 +446,11 @@ begin
wr_dat
=>
dp_repack_longword_src_out
.
err
(
0
downto
0
),
wr_dat
=>
dp_repack_longword_src_out
.
err
(
0
downto
0
),
wr_req
=>
dp_repack_longword_src_out
.
eop
,
wr_req
=>
dp_repack_longword_src_out
.
eop
,
rd_dat
=>
payload_err
,
rd_dat
=>
payload_err
,
rd_req
=>
dp_fifo_
fill_eop
_src_out
.
sop
rd_req
=>
dp_fifo_
data
_src_out
.
sop
);
);
-- Pipeline
FIFO outp
ut to align payload_err at dp_pipeline_src_out.sop
-- Pipeline
dp_fifo_data_src_o
ut to align payload_err at dp_pipeline_
data_
src_out.sop
u_pipeline
:
entity
dp_lib
.
dp_pipeline
u_pipeline
_data
:
entity
dp_lib
.
dp_pipeline
generic
map
(
generic
map
(
g_pipeline
=>
1
g_pipeline
=>
1
)
)
...
@@ -366,11 +458,11 @@ begin
...
@@ -366,11 +458,11 @@ begin
rst
=>
dp_rst
,
rst
=>
dp_rst
,
clk
=>
dp_clk
,
clk
=>
dp_clk
,
-- ST sink
-- ST sink
snk_out
=>
dp_fifo_
fill_eop
_src_in
,
snk_out
=>
dp_fifo_
data
_src_in
,
snk_in
=>
dp_fifo_
fill_eop
_src_out
,
snk_in
=>
dp_fifo_
data
_src_out
,
-- ST source
-- ST source
src_in
=>
dp_pipeline_src_in
,
src_in
=>
dp_pipeline_
data_
src_in
,
src_out
=>
dp_pipeline_src_out
src_out
=>
dp_pipeline_
data_
src_out
);
);
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
...
@@ -431,7 +523,7 @@ begin
...
@@ -431,7 +523,7 @@ begin
--
--
-- DP dp_bsn
-- DP dp_bsn
p_assemble_offload_info
:
process
(
destination
s_info
)
p_assemble_offload_info
:
process
(
mdi_hdr_nof_blocks_per_packet
,
mdi_hdr_nof_beamlets_per_block_per_
destination
)
begin
begin
if
g_nof_destinations_max
=
1
then
if
g_nof_destinations_max
=
1
then
-- Use constant defaults for beamlet data output to one destination.
-- Use constant defaults for beamlet data output to one destination.
...
@@ -439,10 +531,8 @@ begin
...
@@ -439,10 +531,8 @@ begin
nof_beamlets_per_block
<=
c_sdp_S_sub_bf
;
-- = 488 dual pol beamlets;
nof_beamlets_per_block
<=
c_sdp_S_sub_bf
;
-- = 488 dual pol beamlets;
else
else
-- Use dynamic sizes for beamlet data output to multiple destination.
-- Use dynamic sizes for beamlet data output to multiple destination.
nof_blocks_per_packet
<=
destinations_info
.
nof_blocks_per_packet
;
nof_blocks_per_packet
<=
mdi_hdr_nof_blocks_per_packet
;
nof_beamlets_per_block
<=
c_sdp_S_sub_bf
;
-- = 488 dual pol beamlets;
nof_beamlets_per_block
<=
mdi_hdr_nof_beamlets_per_block_per_destination
;
-- TODO check channel field to set destination addresses in dp_offload_tx_hdr_fields
end
if
;
end
if
;
end
process
;
end
process
;
...
@@ -460,9 +550,9 @@ begin
...
@@ -460,9 +550,9 @@ begin
-- Use MM programmable destination MAC/IP/UDP from dp_offload_tx_v3 for one destination
-- Use MM programmable destination MAC/IP/UDP from dp_offload_tx_v3 for one destination
-- Use DP programmable destination MAC/IP/UDP from sdp_bdo_destinations_reg for multiple destinations
-- Use DP programmable destination MAC/IP/UDP from sdp_bdo_destinations_reg for multiple destinations
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"eth_dst_mac"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"eth_dst_mac"
))
<=
eth_dst_mac
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"eth_dst_mac"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"eth_dst_mac"
))
<=
mdi_hdr_
eth_dst_mac
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"ip_dst_addr"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"ip_dst_addr"
))
<=
ip_dst_addr
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"ip_dst_addr"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"ip_dst_addr"
))
<=
mdi_hdr_
ip_dst_addr
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"udp_dst_port"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"udp_dst_port"
))
<=
udp_dst_port
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"udp_dst_port"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"udp_dst_port"
))
<=
mdi_hdr_
udp_dst_port
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_observation_id"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_observation_id"
))
<=
sdp_info
.
observation_id
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_observation_id"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_observation_id"
))
<=
sdp_info
.
observation_id
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_station_info"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_station_info"
))
<=
station_info
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_station_info"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_station_info"
))
<=
station_info
;
...
@@ -480,7 +570,7 @@ begin
...
@@ -480,7 +570,7 @@ begin
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_nof_beamlets_per_block"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_nof_beamlets_per_block"
))
<=
TO_UVEC
(
nof_beamlets_per_block
,
c_halfword_w
);
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_nof_beamlets_per_block"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_nof_beamlets_per_block"
))
<=
TO_UVEC
(
nof_beamlets_per_block
,
c_halfword_w
);
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_block_period"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_block_period"
))
<=
sdp_info
.
block_period
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"sdp_block_period"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"sdp_block_period"
))
<=
sdp_info
.
block_period
;
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"dp_bsn"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"dp_bsn"
))
<=
dp_pipeline_src_out
.
bsn
(
63
downto
0
);
dp_offload_tx_hdr_fields
(
field_hi
(
c_sdp_cep_hdr_field_arr
,
"dp_bsn"
)
downto
field_lo
(
c_sdp_cep_hdr_field_arr
,
"dp_bsn"
))
<=
dp_pipeline_
data_
src_out
.
bsn
(
63
downto
0
);
-- For viewing the header fields in wave window
-- For viewing the header fields in wave window
dp_offload_tx_header
<=
func_sdp_map_cep_header
(
dp_offload_tx_hdr_fields
);
dp_offload_tx_header
<=
func_sdp_map_cep_header
(
dp_offload_tx_hdr_fields
);
...
@@ -507,8 +597,8 @@ begin
...
@@ -507,8 +597,8 @@ begin
reg_hdr_dat_mosi
=>
reg_hdr_dat_mosi
,
reg_hdr_dat_mosi
=>
reg_hdr_dat_mosi
,
reg_hdr_dat_miso
=>
reg_hdr_dat_miso
,
reg_hdr_dat_miso
=>
reg_hdr_dat_miso
,
snk_in_arr
(
0
)
=>
dp_pipeline_src_out
,
snk_in_arr
(
0
)
=>
dp_pipeline_
data_
src_out
,
snk_out_arr
(
0
)
=>
dp_pipeline_src_in
,
snk_out_arr
(
0
)
=>
dp_pipeline_
data_
src_in
,
src_out_arr
(
0
)
=>
dp_offload_tx_src_out
,
src_out_arr
(
0
)
=>
dp_offload_tx_src_out
,
src_in_arr
(
0
)
=>
dp_offload_tx_src_in
,
src_in_arr
(
0
)
=>
dp_offload_tx_src_in
,
...
...
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