Skip to content
GitLab
Explore
Sign in
Register
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
f6acd86f
Commit
f6acd86f
authored
3 years ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Added g_fast_mm_clk, g_nof_sync. Use rx_offload.sync because it is available.
parent
c7f24395
No related branches found
No related tags found
1 merge request
!241
Use dp_sop instead of mm_done and explained why. This makes the code for...
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+60
-60
60 additions, 60 deletions
...ofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
with
60 additions
and
60 deletions
applications/lofar2/libraries/sdp/tb/vhdl/tb_sdp_statistics_offload.vhd
+
60
−
60
View file @
f6acd86f
...
...
@@ -32,7 +32,7 @@
-- Usage:
-- > as 8
-- > run -a
-- . for header: view
test
_offload_sosi and the rx_sdp_stat_header.app fields
-- . for header: view
rx
_offload_sosi and the rx_sdp_stat_header.app fields
-- . for payload: view rx_val, rx_data and exp_data
-------------------------------------------------------------------------------
...
...
@@ -54,17 +54,20 @@ USE work.tb_sdp_pkg.ALL;
ENTITY
tb_sdp_statistics_offload
IS
GENERIC
(
-- All
g_fast_mm_clk
:
BOOLEAN
:
=
TRUE
;
-- When TRUE use 1 GHz mm_clk to speed up simulation, else use 100 MHz mm_clk
-- for real speed of u_dp_block_from_mm_dc in sdp_statistics_offload
g_statistics_type
:
STRING
:
=
"XST"
;
g_offload_time
:
NATURAL
:
=
50
;
g_reverse_word_order
:
BOOLEAN
:
=
TRUE
;
-- when TRUE then stream LSB word after MSB word.
g_gn_index
:
NATURAL
:
=
4
;
-- global node (GN) index, must be in range(O_rn, O_rn + N_rn), use > 0 to see effect of g_offload_time
g_nof_sync
:
NATURAL
:
=
3
;
-- simulate some sync periods, choose >= 3
-- BST
g_beamset_id
:
NATURAL
:
=
0
;
-- < c_sdp_N_beamsets
-- XST
g_O_rn
:
NATURAL
:
=
0
;
-- GN index of first ring node (RN)
g_N_rn
:
NATURAL
:
=
8
;
-- <= c_sdp_N_rn_max = 16, number of nodes in ring
g_P_sq
:
NATURAL
:
=
9
;
-- <= c_sdp_P_sq, nof available correlator cells
g_nof_crosslets
:
NATURAL
:
=
1
;
-- <= c_sdp_N_crosslets_max
g_nof_crosslets
:
NATURAL
:
=
4
;
-- <= c_sdp_N_crosslets_max
g_crosslets_direction
:
NATURAL
:
=
1
-- > 0 for crosslet transport in positive direction (incrementing RN), else 0 for negative direction
);
END
tb_sdp_statistics_offload
;
...
...
@@ -72,7 +75,8 @@ END tb_sdp_statistics_offload;
ARCHITECTURE
tb
OF
tb_sdp_statistics_offload
IS
CONSTANT
c_dp_clk_period
:
TIME
:
=
5
ns
;
-- 200 MHz
CONSTANT
c_mm_clk_period
:
TIME
:
=
1
ns
;
-- 1 GHz to speed up simulation
CONSTANT
c_mm_clk_period
:
TIME
:
=
sel_a_b
(
g_fast_mm_clk
,
1
,
10
)
*
1
ns
;
CONSTANT
c_mm_dp_clk_ratio
:
NATURAL
:
=
sel_a_b
(
c_mm_clk_period
>
c_dp_clk_period
,
c_mm_clk_period
/
c_dp_clk_period
,
1
);
CONSTANT
c_cross_clock_domain_latency
:
NATURAL
:
=
20
;
...
...
@@ -112,7 +116,8 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
CONSTANT
c_beamlet_index
:
NATURAL
:
=
g_beamset_id
*
c_sdp_S_sub_bf
;
CONSTANT
c_crosslets_info_rec
:
t_sdp_crosslets_info
:
=
(
offset_arr
=>
(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
15
),
step
=>
16
);
--CONSTANT c_crosslets_info_rec : t_sdp_crosslets_info := (offset_arr => (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15), step => 16);
CONSTANT
c_crosslets_info_rec
:
t_sdp_crosslets_info
:
=
(
offset_arr
=>
(
0
,
1
,
2
,
3
,
4
,
5
,
6
,
10
,
11
,
12
,
13
,
14
,
15
,
16
,
17
),
step
=>
7
);
CONSTANT
c_crosslets_info_slv
:
STD_LOGIC_VECTOR
(
c_sdp_crosslets_info_reg_w
-1
DOWNTO
0
)
:
=
func_sdp_map_crosslets_info
(
c_crosslets_info_rec
);
-- Crosslets settings
...
...
@@ -143,10 +148,9 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
-- Define block timing.
CONSTANT
c_bsn_init
:
NATURAL
:
=
0
;
-- Sufficient c_nof_block_per_sync to fit more than c_nof_packets_max offload packets per sync interval.
CONSTANT
c_nof_block_per_sync
:
NATURAL
:
=
3
+
ceil_div
(
c_offload_time
,
c_packet_size
)
+
c_nof_packets_max
;
CONSTANT
c_nof_block_per_sync
:
NATURAL
:
=
3
+
c_mm_dp_clk_ratio
*
(
ceil_div
(
c_offload_time
,
c_packet_size
)
+
c_nof_packets_max
)
;
CONSTANT
c_nof_clk_per_block
:
NATURAL
:
=
c_packet_size
;
CONSTANT
c_nof_clk_per_sync
:
NATURAL
:
=
c_nof_block_per_sync
*
c_nof_clk_per_block
;
CONSTANT
c_nof_sync
:
NATURAL
:
=
3
;
SIGNAL
tb_end
:
STD_LOGIC
:
=
'0'
;
...
...
@@ -172,15 +176,15 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
SIGNAL
in_crosslets_info_rec
:
t_sdp_crosslets_info
;
SIGNAL
in_crosslets_info_slv
:
STD_LOGIC_VECTOR
(
c_sdp_crosslets_info_reg_w
-1
DOWNTO
0
);
SIGNAL
offload_data
:
STD_LOGIC_VECTOR
(
c_word_w
-1
DOWNTO
0
);
-- 32 bit
SIGNAL
offload_sosi
:
t_dp_sosi
;
SIGNAL
offload_siso
:
t_dp_siso
:
=
c_dp_siso_rst
;
SIGNAL
sdp_
offload_data
:
STD_LOGIC_VECTOR
(
c_word_w
-1
DOWNTO
0
);
-- 32 bit
SIGNAL
sdp_
offload_sosi
:
t_dp_sosi
;
SIGNAL
sdp_
offload_siso
:
t_dp_siso
:
=
c_dp_siso_rst
;
SIGNAL
test
_offload_en
:
STD_LOGIC
:
=
'0'
;
SIGNAL
test
_offload_data
:
STD_LOGIC_VECTOR
(
c_word_w
-1
DOWNTO
0
);
-- 32 bit
SIGNAL
test
_offload_sosi
:
t_dp_sosi
:
=
c_dp_sosi_rst
;
SIGNAL
test
_offload_sop_cnt
:
NATURAL
:
=
0
;
SIGNAL
test
_offload_eop_cnt
:
NATURAL
:
=
0
;
SIGNAL
rx
_offload_en
:
STD_LOGIC
:
=
'0'
;
SIGNAL
rx
_offload_data
:
STD_LOGIC_VECTOR
(
c_word_w
-1
DOWNTO
0
);
-- 32 bit
SIGNAL
rx
_offload_sosi
:
t_dp_sosi
:
=
c_dp_sosi_rst
;
SIGNAL
rx
_offload_sop_cnt
:
NATURAL
:
=
0
;
SIGNAL
rx
_offload_eop_cnt
:
NATURAL
:
=
0
;
SIGNAL
rx_hdr_fields_out
:
STD_LOGIC_VECTOR
(
1023
DOWNTO
0
);
SIGNAL
rx_hdr_fields_raw
:
STD_LOGIC_VECTOR
(
1023
DOWNTO
0
)
:
=
(
OTHERS
=>
'0'
);
...
...
@@ -213,13 +217,12 @@ ARCHITECTURE tb OF tb_sdp_statistics_offload IS
SIGNAL
ram_wr_en
:
STD_LOGIC
;
SIGNAL
init_ram_done
:
STD_LOGIC
:
=
'0'
;
SIGNAL
in_sync_cnt
:
NATURAL
:
=
0
;
SIGNAL
test_sync_cnt
:
INTEGER
:
=
0
;
SIGNAL
rx_sync_cnt
:
INTEGER
:
=
0
;
SIGNAL
rx_packet_cnt
:
NATURAL
:
=
0
;
SIGNAL
rx_valid_cnt
:
NATURAL
:
=
0
;
-- Debug signals, to view in Wave window
SIGNAL
dbg_c_mm_dp_clk_ratio
:
NATURAL
:
=
c_mm_dp_clk_ratio
;
SIGNAL
dbg_c_nof_statistics_per_packet
:
NATURAL
:
=
c_nof_statistics_per_packet
;
SIGNAL
dbg_c_udp_total_length
:
NATURAL
:
=
c_udp_total_length
;
SIGNAL
dbg_c_ip_total_length
:
NATURAL
:
=
c_ip_total_length
;
...
...
@@ -251,7 +254,7 @@ BEGIN
mm_rst
<=
'1'
,
'0'
AFTER
c_mm_clk_period
*
7
;
mm_clk
<=
(
NOT
mm_clk
)
OR
tb_end
AFTER
c_mm_clk_period
/
2
;
-- Fill
ram
with data, data is same as address number.
-- Fill
statistics RAM
with data, data is same as address number.
p_mm_statistics_ram
:
PROCESS
BEGIN
ram_wr_en
<=
'0'
;
...
...
@@ -271,10 +274,10 @@ BEGIN
WAIT
;
END
PROCESS
;
-- Start the input
-- Start the input
when statistics RAM is initialized
p_in_sosi
:
PROCESS
BEGIN
proc_common_wait_until_
low
(
dp_clk
,
dp_rst
);
proc_common_wait_until_
high
(
mm_clk
,
init_ram_done
);
proc_common_wait_some_cycles
(
dp_clk
,
10
);
in_sosi
.
bsn
<=
TO_DP_BSN
(
c_bsn_init
);
in_sosi
.
valid
<=
'1'
;
...
...
@@ -311,12 +314,14 @@ BEGIN
-- Enable the statistics offload when input is running
p_enable_trigger
:
PROCESS
BEGIN
proc_common_wait_until_high
(
mm_clk
,
init_ram_done
);
-- Wait at least one sync interval, so that DUT can have measured the integration_interval
proc_common_wait_until_hi_lo
(
dp_clk
,
in_sosi
.
sync
);
proc_common_wait_some_cycles
(
mm_clk
,
10
);
-- Enable common variable delay.
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
(
dp_clk
,
1
);
test
_offload_en
<=
'1'
;
rx
_offload_en
<=
'1'
;
WAIT
;
END
PROCESS
;
...
...
@@ -324,41 +329,39 @@ BEGIN
p_test_counters
:
PROCESS
(
dp_clk
)
BEGIN
IF
rising_edge
(
dp_clk
)
THEN
-- Count
test
_offload_sosi packets
IF
test
_offload_sosi
.
sop
=
'1'
THEN
test
_offload_sop_cnt
<=
test
_offload_sop_cnt
+
1
;
-- early count
-- Count
rx
_offload_sosi packets
IF
rx
_offload_sosi
.
sop
=
'1'
THEN
rx
_offload_sop_cnt
<=
rx
_offload_sop_cnt
+
1
;
-- early count
END
IF
;
IF
test
_offload_sosi
.
eop
=
'1'
THEN
test
_offload_eop_cnt
<=
test
_offload_eop_cnt
+
1
;
-- after count
IF
rx
_offload_sosi
.
eop
=
'1'
THEN
rx
_offload_eop_cnt
<=
rx
_offload_eop_cnt
+
1
;
-- after count
END
IF
;
END
IF
;
END
PROCESS
;
-- Count sync intervals using in_sosi.sync, because there is no test_offload_sosi.sync
in_sync_cnt
<=
in_sync_cnt
+
1
WHEN
rising_edge
(
dp_clk
)
AND
in_sosi
.
sync
=
'1'
;
test_sync_cnt
<=
in_sync_cnt
-
1
;
-- optionally adjust to fit test_offload_sosi
rx_sync_cnt
<=
rx_sync_cnt
+
1
WHEN
rising_edge
(
dp_clk
)
AND
rx_offload_sosi
.
sync
=
'1'
;
-- derive current X_sq correlator cell index
cur_X_sq_cell
<=
(
test
_offload_eop_cnt
/
g_nof_crosslets
)
MOD
c_nof_used_P_sq
;
cur_X_sq_cell
<=
(
rx
_offload_eop_cnt
/
g_nof_crosslets
)
MOD
c_nof_used_P_sq
;
-- derive current N_crosslets index index
cur_crosslet
<=
test
_offload_eop_cnt
MOD
g_nof_crosslets
;
cur_crosslet
<=
rx
_offload_eop_cnt
MOD
g_nof_crosslets
;
-- derive source RN index
source_rn
<=
func_ring_nof_hops_to_source_rn
(
cur_X_sq_cell
,
rn_index
,
g_N_rn
,
g_crosslets_direction
);
source_gn
<=
g_O_rn
+
source_rn
;
-- Prepare exp_sdp_stat_header before
test
_offload_sosi.eop, so that p_exp_sdp_stat_header can
-- verify it at
test
_offload_sosi.eop.
-- Prepare exp_sdp_stat_header before
rx
_offload_sosi.eop, so that p_exp_sdp_stat_header can
-- verify it at
rx
_offload_sosi.eop.
-- For all statistics
exp_dp_bsn
<=
TO_SVEC
(
c_bsn_init
+
1
+
test
_sync_cnt
*
c_nof_block_per_sync
,
64
);
exp_dp_bsn
<=
TO_SVEC
(
c_bsn_init
+
1
+
rx
_sync_cnt
*
c_nof_block_per_sync
,
64
);
-- SST
exp_sst_signal_input
<=
rx_packet_cnt
+
c_sdp_S_pn
*
gn_index
;
-- BST
exp_bst_beamlet_index
<=
c_beamlet_index
;
-- XST
-- . prepare expected XST subband_index
exp_subband_index
<=
(
c_crosslets_info_rec
.
offset_arr
(
cur_crosslet
)
+
test
_sync_cnt
*
c_crosslets_info_rec
.
step
)
MOD
c_sdp_N_sub
;
exp_subband_index
<=
(
c_crosslets_info_rec
.
offset_arr
(
cur_crosslet
)
+
rx
_sync_cnt
*
c_crosslets_info_rec
.
step
)
MOD
c_sdp_N_sub
;
-- . prepare expected XST signal_input_A index
exp_xst_signal_input_A
<=
(
gn_index
MOD
c_sdp_N_pn_max
)
*
c_sdp_S_pn
;
...
...
@@ -433,25 +436,22 @@ BEGIN
rx_sdp_stat_header
<=
func_sdp_map_stat_header
(
rx_hdr_fields_raw
);
p_verify_header
:
PROCESS
(
test
_offload_sosi
)
p_verify_header
:
PROCESS
(
rx
_offload_sosi
)
VARIABLE
v_bool
:
BOOLEAN
;
BEGIN
-- Prepare exp_sdp_stat_header before
test
_offload_sosi.eop, so that it can be verified at
test
_offload_sosi.eop
IF
test
_offload_sosi
.
eop
=
'1'
THEN
-- Prepare exp_sdp_stat_header before
rx
_offload_sosi.eop, so that it can be verified at
rx
_offload_sosi.eop
IF
rx
_offload_sosi
.
eop
=
'1'
THEN
v_bool
:
=
func_sdp_verify_stat_header
(
g_statistics_type
,
rx_sdp_stat_header
,
exp_sdp_stat_header
);
END
IF
;
END
PROCESS
;
-- Count number of packets in a sync interval.
-- There is no active test_offload_sosi.sync to restart the count, therefore
-- use in_sosi.sync to reset the count for the next test_offload_sosi.sync
-- interval
p_rx_packet_cnt
:
PROCESS
(
dp_clk
)
BEGIN
IF
rising_edge
(
dp_clk
)
THEN
IF
in
_sosi
.
sync
=
'1'
THEN
IF
rx_offload
_sosi
.
sync
=
'1'
THEN
rx_packet_cnt
<=
0
;
ELSIF
test
_offload_sosi
.
eop
=
'1'
THEN
ELSIF
rx
_offload_sosi
.
eop
=
'1'
THEN
rx_packet_cnt
<=
rx_packet_cnt
+
1
;
END
IF
;
END
IF
;
...
...
@@ -461,7 +461,7 @@ BEGIN
p_verify_nof_packets
:
PROCESS
(
dp_clk
)
BEGIN
IF
rising_edge
(
dp_clk
)
THEN
IF
in
_sosi
.
sync
=
'1'
AND
in
_sync_cnt
>
1
THEN
IF
rx_offload
_sosi
.
sync
=
'1'
AND
rx
_sync_cnt
>
1
THEN
ASSERT
rx_packet_cnt
=
c_rx_nof_packets
REPORT
"Wrong number of packets per sync interval"
SEVERITY
ERROR
;
END
IF
;
END
IF
;
...
...
@@ -470,10 +470,10 @@ BEGIN
p_verify_nof_valid_per_packet
:
PROCESS
(
dp_clk
)
BEGIN
IF
rising_edge
(
dp_clk
)
THEN
IF
test
_offload_sosi
.
eop
=
'1'
THEN
IF
rx
_offload_sosi
.
eop
=
'1'
THEN
rx_valid_cnt
<=
0
;
ASSERT
rx_valid_cnt
=
c_packet_size
-
1
REPORT
"Wrong number of valid per packet"
SEVERITY
ERROR
;
ELSIF
test
_offload_sosi
.
valid
=
'1'
THEN
ELSIF
rx
_offload_sosi
.
valid
=
'1'
THEN
rx_valid_cnt
<=
rx_valid_cnt
+
1
;
END
IF
;
END
IF
;
...
...
@@ -493,8 +493,8 @@ BEGIN
BEGIN
IF
rising_edge
(
dp_clk
)
THEN
rx_val
<=
'0'
;
v_rx_data
:
=
TO_UINT
(
test
_offload_sosi
.
data
);
IF
test
_offload_sosi
.
valid
=
'1'
THEN
v_rx_data
:
=
TO_UINT
(
rx
_offload_sosi
.
data
);
IF
rx
_offload_sosi
.
valid
=
'1'
THEN
IF
g_statistics_type
=
"SST"
THEN
-- Indices:
-- W: 0 1 2 3 4 5 ... 1022 1023
...
...
@@ -517,7 +517,7 @@ BEGIN
-- c_mm_data_size / c_sdp_W_statistic_sz = 1
U
:
=
S
;
-- range c_sdp_N_sub = 512 SST values
I
:
=
W
MOD
c_mm_user_size
;
-- range c_mm_user_size = c_sdp_W_statistic_sz = 2 words
P
:
=
rx_packet_cnt
;
-- range c_nof_packets_max = 12 = c_sdp_S_pn
P
ackets
P
:
=
rx_packet_cnt
MOD
c_rx_nof_packets
;
-- range c_nof_packets_max = 12 = c_sdp_S_pn
p
ackets
J
:
=
P
MOD
c_mm_nof_step
;
-- range c_mm_nof_step = 2 = c_sdp_Q_fft
v_exp_data
:
=
S
*
4
;
-- due to c_mm_step_size = 4 = c_sdp_W_statistic_sz * c_sdp_Q_fft;
...
...
@@ -548,7 +548,7 @@ BEGIN
-- c_mm_data_size / c_sdp_W_statistic_sz = 2 = c_sdp_N_pol_bf
B
:
=
D
;
-- range c_sdp_S_sub_bf = 488 dual polarization BST values
I
:
=
W
MOD
c_mm_user_size
;
-- range c_mm_user_size = c_sdp_W_statistic_sz = 2 words
P
:
=
rx_packet_cnt
;
-- range c_nof_packets_max = 1
P
:
=
rx_packet_cnt
MOD
c_rx_nof_packets
;
-- range c_nof_packets_max = 1
packet
v_exp_data
:
=
S
*
c_mm_user_size
;
-- c_mm_user_size = 2
IF
g_reverse_word_order
=
FALSE
THEN
...
...
@@ -589,7 +589,7 @@ BEGIN
-- c_mm_data_size / c_sdp_W_statistic_sz = 2 = c_nof_complex
X
:
=
D
;
-- range c_sdp_X_sq = 144 complex XST values
I
:
=
W
MOD
c_mm_user_size
;
-- range c_mm_user_size = c_sdp_W_statistic_sz = 2 words
P
:
=
rx_packet_cnt
;
-- range c_rx_nof_
packets
P
:
=
rx_packet_cnt
MOD
c_rx_nof_packets
;
-- range c_nof_packets_max = c_nof_used_P_sq * g_nof_crosslets
packets
J
:
=
P
MOD
g_nof_crosslets
;
-- range g_nof_crosslets
K
:
=
P
/
g_nof_crosslets
;
-- range c_nof_used_P_sq
...
...
@@ -615,7 +615,7 @@ BEGIN
p_dp_end
:
PROCESS
BEGIN
proc_common_wait_until_high
(
mm_clk
,
init_ram_done
);
proc_common_wait_some_cycles
(
dp_clk
,
c
_nof_sync
*
c_nof_clk_per_sync
);
-- will show some sync periods
proc_common_wait_some_cycles
(
dp_clk
,
g
_nof_sync
*
c_nof_clk_per_sync
);
-- will show some sync periods
tb_end
<=
'1'
;
WAIT
;
END
PROCESS
;
...
...
@@ -659,10 +659,10 @@ BEGIN
reg_hdr_dat_mosi
=>
offload_rx_hdr_dat_mosi
,
reg_hdr_dat_miso
=>
offload_rx_hdr_dat_miso
,
snk_in_arr
(
0
)
=>
offload_sosi
,
snk_out_arr
(
0
)
=>
offload_siso
,
snk_in_arr
(
0
)
=>
sdp_
offload_sosi
,
snk_out_arr
(
0
)
=>
sdp_
offload_siso
,
src_out_arr
(
0
)
=>
test
_offload_sosi
,
src_out_arr
(
0
)
=>
rx
_offload_sosi
,
hdr_fields_out_arr
(
0
)
=>
rx_hdr_fields_out
,
hdr_fields_raw_arr
(
0
)
=>
rx_hdr_fields_raw
...
...
@@ -697,8 +697,8 @@ BEGIN
-- ST
in_sosi
=>
in_sosi
,
out_sosi
=>
offload_sosi
,
out_siso
=>
offload_siso
,
out_sosi
=>
sdp_
offload_sosi
,
out_siso
=>
sdp_
offload_siso
,
-- Inputs from other blocks
eth_src_mac
=>
c_eth_src_mac
,
...
...
@@ -717,7 +717,7 @@ BEGIN
ASSERT
c_crosslets_info_rec
=
func_sdp_map_crosslets_info
(
c_crosslets_info_slv
)
REPORT
"Error in func_sdp_map_crosslets_info()"
SEVERITY
FAILURE
;
-- To view the 32 bit 1GbE offload data more easily in the Wave window
offload_data
<=
offload_sosi
.
data
(
c_word_w
-1
DOWNTO
0
);
test
_offload_data
<=
test
_offload_sosi
.
data
(
c_word_w
-1
DOWNTO
0
);
sdp_
offload_data
<=
sdp_
offload_sosi
.
data
(
c_word_w
-1
DOWNTO
0
);
rx
_offload_data
<=
rx
_offload_sosi
.
data
(
c_word_w
-1
DOWNTO
0
);
END
tb
;
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