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
d5eb1015
Commit
d5eb1015
authored
1 year ago
by
Eric Kooistra
Browse files
Options
Downloads
Patches
Plain Diff
Use separate tb to verify dp_packet_unmerge.
parent
6ec7950c
No related branches found
No related tags found
1 merge request
!353
Resolve L2SDP-962
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
libraries/base/dp/tb/vhdl/tb_dp_packet_merge.vhd
+7
-28
7 additions, 28 deletions
libraries/base/dp/tb/vhdl/tb_dp_packet_merge.vhd
libraries/base/dp/tb/vhdl/tb_tb_dp_packet_merge.vhd
+20
-21
20 additions, 21 deletions
libraries/base/dp/tb/vhdl/tb_tb_dp_packet_merge.vhd
with
27 additions
and
49 deletions
libraries/base/dp/tb/vhdl/tb_dp_packet_merge.vhd
+
7
−
28
View file @
d5eb1015
...
...
@@ -21,7 +21,7 @@
-------------------------------------------------------------------------------
-- Purpose:
-- . Test bench for dp_packet_merge
and dp_packet_unmerge
-- . Test bench for dp_packet_merge
-- Description:
-- . The p_stimuli_st uses proc_dp_gen_block_data to generate g_nof_repeat packets for the DUT. The output of the DUT needs
-- to be similar e.g. by means of an inverse DUT component so that the proc_dp_verify_* procedures can be used to verify
...
...
@@ -29,6 +29,8 @@
-- verify that the test bench has yielded output results at all and that the output valid, sop, eop, and ready fits the
-- streaming interface specification.
-- . A seperate p_stimuli_mm process may be used to verify the nof_pkt input of the DUT.
-- . Use separate tb_dp_packet_merge_unmerge to verify dp_packet_unmerge, to have easier control
-- over expected output channel, err and empty of dp_packet_unmerge.
-- Usage:
-- > as 10
-- > run -all
...
...
@@ -67,8 +69,7 @@ entity tb_dp_packet_merge is
g_align_at_sync
:
boolean
:
=
false
;
g_verify_bsn_err
:
boolean
:
=
false
;
g_bsn_increment
:
natural
:
=
2
;
g_bsn_err_at_pkt_index
:
natural
:
=
6
;
-- force wrong snk_in.bsn for packet with this index, in range(g_nof_repeat)
g_use_dp_packet_unmerge
:
boolean
:
=
false
g_bsn_err_at_pkt_index
:
natural
:
=
6
-- force wrong snk_in.bsn for packet with this index, in range(g_nof_repeat)
);
end
tb_dp_packet_merge
;
...
...
@@ -205,7 +206,7 @@ begin
end
loop
;
-- Determine expected sosi field values after end of stimuli
--
--
. e_qual (account for merge size g_nof_pkt)
-- . e_qual (account for merge size g_nof_pkt)
-- . e_at_least
v_sosi
.
bsn
:
=
std_logic_vector
(
unsigned
(
c_bsn_init
)
+
c_verify_at_least
*
g_nof_pkt
);
v_sosi
.
channel
:
=
TO_DP_CHANNEL
(
c_channel_init
+
c_verify_at_least
*
g_nof_pkt
);
...
...
@@ -316,30 +317,8 @@ begin
------------------------------------------------------------------------------
-- Optional reverse DUT dp_packet_unmerge
------------------------------------------------------------------------------
no_dp_packet_unmerge
:
if
g_use_dp_packet_unmerge
=
false
generate
dp_packet_merge_src_in
<=
verify_snk_out
;
verify_snk_in
<=
dp_packet_merge_src_out
;
end
generate
;
gen_dp_packet_unmerge
:
if
g_use_dp_packet_unmerge
=
true
generate
u_dp_packet_unmerge
:
entity
work
.
dp_packet_unmerge
generic
map
(
g_nof_pkt
=>
g_nof_pkt
)
port
map
(
rst
=>
rst
,
clk
=>
clk
,
snk_out
=>
dp_packet_merge_src_in
,
snk_in
=>
dp_packet_merge_src_out
,
src_in
=>
dp_packet_unmerge_src_in
,
src_out
=>
dp_packet_unmerge_src_out
);
dp_packet_unmerge_src_in
<=
verify_snk_out
;
verify_snk_in
<=
dp_packet_unmerge_src_out
;
end
generate
;
dp_packet_merge_src_in
<=
verify_snk_out
;
verify_snk_in
<=
dp_packet_merge_src_out
;
-- Map to slv to ease monitoring in wave window
stimuli_data
<=
stimuli_src_out
.
data
(
g_data_w
-
1
downto
0
);
...
...
This diff is collapsed.
Click to expand it.
libraries/base/dp/tb/vhdl/tb_tb_dp_packet_merge.vhd
+
20
−
21
View file @
d5eb1015
...
...
@@ -50,29 +50,28 @@ begin
-- g_verify_bsn_err : boolean := false;
-- g_bsn_increment : natural := 0;
-- g_bsn_err_at_pkt_index : natural := 3;
-- g_use_dp_packet_unmerge : boolean := false
u_act_act_8_nof_0
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
0
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_1
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
1
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_2
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
2
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_4
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
4
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_5
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
5
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_6
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
6
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_7
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
7
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_act_act_8_nof_0
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
0
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_1
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
1
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_2
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
2
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_4
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
4
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_5
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
5
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_6
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
6
,
29
,
0
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_7
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
7
,
29
,
0
,
false
,
false
,
1
,
0
);
u_rnd_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
2
,
0
,
false
);
u_rnd_rnd_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_random
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
3
,
0
,
false
);
u_pls_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
4
,
0
,
false
);
u_pls_rnd_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_random
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
5
,
0
,
false
);
u_pls_pls_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_pulse
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
6
,
0
,
false
);
u_rnd_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
2
,
0
);
u_rnd_rnd_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_random
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
3
,
0
);
u_pls_act_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
4
,
0
);
u_pls_rnd_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_random
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
5
,
0
);
u_pls_pls_8_nof_3
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_pulse
,
e_pulse
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
false
,
6
,
0
);
u_rnd_act_8_nof_1
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
1
,
29
,
0
,
false
,
false
,
1
,
0
,
false
);
u_rnd_act_8_nof_3_gap
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
17
,
false
,
false
,
1
,
0
,
false
);
u_rnd_act_8_nof_1
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
1
,
29
,
0
,
false
,
false
,
1
,
0
);
u_rnd_act_8_nof_3_gap
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_random
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
17
,
false
,
false
,
1
,
0
);
u_act_act_8_nof_3_no_err
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
0
,
10
,
false
);
u_act_act_8_nof_3_err_10
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
10
,
false
);
u_act_act_8_nof_3_err_11
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
11
,
false
);
u_act_act_8_nof_3_err_12
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
12
,
false
);
u_act_act_8_nof_3_err_13
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
13
,
false
);
u_act_act_8_nof_3_no_err
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
0
,
10
);
u_act_act_8_nof_3_err_10
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
10
);
u_act_act_8_nof_3_err_11
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
11
);
u_act_act_8_nof_3_err_12
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
12
);
u_act_act_8_nof_3_err_13
:
entity
work
.
tb_dp_packet_merge
generic
map
(
e_active
,
e_active
,
8
,
c_nof_repeat
,
3
,
29
,
0
,
false
,
true
,
1
,
13
);
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