Update Inline QoS Generation related Testbench Code
This commit is contained in:
parent
c9f0d70979
commit
b5206f66f1
@ -824,7 +824,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -851,7 +852,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -875,7 +877,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -902,7 +905,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -926,7 +930,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -953,7 +958,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -977,7 +983,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1005,7 +1012,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1033,7 +1041,8 @@ begin
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1059,7 +1068,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_UNREGISTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1083,7 +1093,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
|
||||
@ -834,7 +834,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -861,7 +862,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -885,7 +887,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -912,7 +915,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -936,7 +940,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -963,7 +968,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -987,7 +993,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1015,7 +1022,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1043,7 +1051,8 @@ begin
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1069,7 +1078,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_UNREGISTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1093,7 +1103,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
|
||||
@ -805,7 +805,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -832,7 +833,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -856,7 +858,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -883,7 +886,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -907,7 +911,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -934,7 +939,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -958,7 +964,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -986,7 +993,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1014,7 +1022,8 @@ begin
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1040,7 +1049,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_UNREGISTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1064,7 +1074,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
|
||||
@ -820,7 +820,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -847,7 +848,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -871,7 +873,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -898,7 +901,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -922,7 +926,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -949,7 +954,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -973,7 +979,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1001,7 +1008,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1029,7 +1037,8 @@ begin
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1055,7 +1064,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_UNREGISTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
@ -1079,7 +1089,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
|
||||
@ -820,7 +820,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -848,7 +849,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -872,7 +874,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_LIFESPAN, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -900,7 +903,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -924,7 +928,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_STATUS_INFO, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -952,7 +957,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, -1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
start_user_test;
|
||||
@ -976,7 +982,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos, PID_KEY_HASH, +1);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -1005,7 +1012,8 @@ begin
|
||||
cc.kind := ALIVE_FILTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '1', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '1', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -1034,7 +1042,8 @@ begin
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
cc.instance := gen_key_hash;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.instance := HANDLE_NIL; -- No key Hash due to WITH_KEY=FALSE
|
||||
@ -1061,7 +1070,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_UNREGISTERED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
cc.payload := EMPTY_TEST_PACKET; -- No payload due to WITH_KEY=FALSE
|
||||
@ -1086,7 +1096,8 @@ begin
|
||||
cc := gen_cache_change(sub);
|
||||
cc.kind := NOT_ALIVE_DISPOSED;
|
||||
cc.src_timestamp := src_ts;
|
||||
gen_inline_qos(cc, life_ts, '0', sub.inlineQos);
|
||||
endpoint.lifespan := life_ts;
|
||||
gen_inline_qos(cc, endpoint, TRUE, '0', sub.inlineQos);
|
||||
gen_sentinel(sub.inlineQos);
|
||||
gen_rtps_handler_out(sub, get_loc(endpoint), FALSE, src_ts, endpoint.participant.guidPrefix, stimulus_user);
|
||||
gen_add_cache_change_dds(cc, life_ts, endpoint.nr, reference);
|
||||
|
||||
@ -69,55 +69,56 @@ begin
|
||||
|
||||
-- Unit Under Test
|
||||
uut : entity work.rtps_writer(arch)
|
||||
generic map (
|
||||
RELIABILTY_QOS => BEST_EFFORT_RELIABILITY_QOS,
|
||||
LIVELINESS_QOS => AUTOMATIC_LIVELINESS_QOS,
|
||||
DURABILITY_QOS => VOLATILE_DURABILITY_QOS,
|
||||
DESTINATION_ORDER_QOS => BY_RECEPTION_TIMESTAMP_DESTINATION_ORDER_QOS,
|
||||
ACKNACK_RESPONSE_DELAY => DURATION_ZERO,
|
||||
ACKNACK_SUPPRESSION_DELAY => DURATION_ZERO,
|
||||
LEASE_DURATION => DURATION_INFINITE,
|
||||
HEARTBEAT_PERIOD => DURATION_INFINITE,
|
||||
ENTITYID => DEFAULT_WRITER_ENTITYID,
|
||||
WITH_KEY => TRUE,
|
||||
PUSH_MODE => TRUE,
|
||||
INLINE_QOS => gen_inline_qos(NUM_READERS), -- TODO
|
||||
MAX_REMOTE_ENDPOINTS => MAX_REMOTE_ENDPOINTS
|
||||
)
|
||||
port map (
|
||||
clk => clk,
|
||||
reset => reset,
|
||||
time => TIME_ZERO,
|
||||
empty_user => '1',
|
||||
rd_user => open,
|
||||
data_in_user => (others => '0'),
|
||||
last_word_in_user => '0',
|
||||
empty_meta => empty_meta or packet_sent,
|
||||
rd_meta => rd_meta,
|
||||
data_in_meta => data_in_meta,
|
||||
last_word_in_meta => last_word_in_meta,
|
||||
alive_sig => open,
|
||||
wr_rtps => open,
|
||||
full_rtps => '0',
|
||||
last_word_out_rtps => open,
|
||||
data_out_rtps => open,
|
||||
assert_liveliness => '0',
|
||||
data_available => '0',
|
||||
start_hc => start_hc,
|
||||
opcode_hc => open,
|
||||
ack_hc => '0',
|
||||
seq_nr_hc => open,
|
||||
done_hc => '0',
|
||||
ret_hc => ERROR,
|
||||
get_data_hc => open,
|
||||
data_in_hc => (others => '0'),
|
||||
valid_in_hc => '0',
|
||||
ready_in_hc => open,
|
||||
last_word_in_hc => '0',
|
||||
cc_instance_handle => HANDLE_NIL,
|
||||
cc_kind => ALIVE,
|
||||
cc_source_timestamp => TIME_INVALID
|
||||
);
|
||||
generic map (
|
||||
RELIABILTY_QOS => BEST_EFFORT_RELIABILITY_QOS,
|
||||
LIVELINESS_QOS => AUTOMATIC_LIVELINESS_QOS,
|
||||
DURABILITY_QOS => VOLATILE_DURABILITY_QOS,
|
||||
DESTINATION_ORDER_QOS => BY_RECEPTION_TIMESTAMP_DESTINATION_ORDER_QOS,
|
||||
ACKNACK_RESPONSE_DELAY => DURATION_ZERO,
|
||||
ACKNACK_SUPPRESSION_DELAY => DURATION_ZERO,
|
||||
LEASE_DURATION => DURATION_INFINITE,
|
||||
HEARTBEAT_PERIOD => DURATION_INFINITE,
|
||||
ENTITYID => DEFAULT_WRITER_ENTITYID,
|
||||
WITH_KEY => TRUE,
|
||||
PUSH_MODE => TRUE,
|
||||
INLINE_QOS => gen_inline_qos(NUM_READERS), -- TODO
|
||||
MAX_REMOTE_ENDPOINTS => MAX_REMOTE_ENDPOINTS
|
||||
)
|
||||
port map (
|
||||
clk => clk,
|
||||
reset => reset,
|
||||
time => TIME_ZERO,
|
||||
empty_user => '1',
|
||||
rd_user => open,
|
||||
data_in_user => (others => '0'),
|
||||
last_word_in_user => '0',
|
||||
empty_meta => empty_meta or packet_sent,
|
||||
rd_meta => rd_meta,
|
||||
data_in_meta => data_in_meta,
|
||||
last_word_in_meta => last_word_in_meta,
|
||||
alive_sig => open,
|
||||
wr_rtps => open,
|
||||
full_rtps => '0',
|
||||
last_word_out_rtps => open,
|
||||
data_out_rtps => open,
|
||||
assert_liveliness => '0',
|
||||
data_available => '0',
|
||||
start_hc => start_hc,
|
||||
opcode_hc => open,
|
||||
ack_hc => '0',
|
||||
seq_nr_hc => open,
|
||||
done_hc => '0',
|
||||
ret_hc => ERROR,
|
||||
get_data_hc => open,
|
||||
data_in_hc => (others => '0'),
|
||||
valid_in_hc => '0',
|
||||
ready_in_hc => open,
|
||||
last_word_in_hc => '0',
|
||||
cc_instance_handle => HANDLE_NIL,
|
||||
cc_kind => ALIVE,
|
||||
cc_source_timestamp => TIME_INVALID,
|
||||
cc_seq_nr => SEQUENCENUMBER_UNKNOWN
|
||||
);
|
||||
|
||||
stimulus_prc : process
|
||||
variable RV : RandomPType;
|
||||
|
||||
@ -69,55 +69,56 @@ begin
|
||||
|
||||
-- Unit Under Test
|
||||
uut : entity work.rtps_writer(arch)
|
||||
generic map (
|
||||
RELIABILTY_QOS => RELIABLE_RELIABILITY_QOS,
|
||||
LIVELINESS_QOS => AUTOMATIC_LIVELINESS_QOS,
|
||||
DURABILITY_QOS => VOLATILE_DURABILITY_QOS,
|
||||
DESTINATION_ORDER_QOS => BY_RECEPTION_TIMESTAMP_DESTINATION_ORDER_QOS,
|
||||
ACKNACK_RESPONSE_DELAY => DURATION_ZERO,
|
||||
ACKNACK_SUPPRESSION_DELAY => DURATION_ZERO,
|
||||
LEASE_DURATION => DURATION_INFINITE,
|
||||
HEARTBEAT_PERIOD => DURATION_INFINITE,
|
||||
ENTITYID => DEFAULT_WRITER_ENTITYID,
|
||||
WITH_KEY => TRUE,
|
||||
PUSH_MODE => TRUE,
|
||||
INLINE_QOS => gen_inline_qos(NUM_READERS), -- TODO
|
||||
MAX_REMOTE_ENDPOINTS => MAX_REMOTE_ENDPOINTS
|
||||
)
|
||||
port map (
|
||||
clk => clk,
|
||||
reset => reset,
|
||||
time => TIME_ZERO,
|
||||
empty_user => '1',
|
||||
rd_user => open,
|
||||
data_in_user => (others => '0'),
|
||||
last_word_in_user => '0',
|
||||
empty_meta => empty_meta or packet_sent,
|
||||
rd_meta => rd_meta,
|
||||
data_in_meta => data_in_meta,
|
||||
last_word_in_meta => last_word_in_meta,
|
||||
alive_sig => open,
|
||||
wr_rtps => open,
|
||||
full_rtps => '0',
|
||||
last_word_out_rtps => open,
|
||||
data_out_rtps => open,
|
||||
assert_liveliness => '0',
|
||||
data_available => '0',
|
||||
start_hc => start_hc,
|
||||
opcode_hc => open,
|
||||
ack_hc => '0',
|
||||
seq_nr_hc => open,
|
||||
done_hc => '0',
|
||||
ret_hc => ERROR,
|
||||
get_data_hc => open,
|
||||
data_in_hc => (others => '0'),
|
||||
valid_in_hc => '0',
|
||||
ready_in_hc => open,
|
||||
last_word_in_hc => '0',
|
||||
cc_instance_handle => HANDLE_NIL,
|
||||
cc_kind => ALIVE,
|
||||
cc_source_timestamp => TIME_INVALID
|
||||
);
|
||||
generic map (
|
||||
RELIABILTY_QOS => RELIABLE_RELIABILITY_QOS,
|
||||
LIVELINESS_QOS => AUTOMATIC_LIVELINESS_QOS,
|
||||
DURABILITY_QOS => VOLATILE_DURABILITY_QOS,
|
||||
DESTINATION_ORDER_QOS => BY_RECEPTION_TIMESTAMP_DESTINATION_ORDER_QOS,
|
||||
ACKNACK_RESPONSE_DELAY => DURATION_ZERO,
|
||||
ACKNACK_SUPPRESSION_DELAY => DURATION_ZERO,
|
||||
LEASE_DURATION => DURATION_INFINITE,
|
||||
HEARTBEAT_PERIOD => DURATION_INFINITE,
|
||||
ENTITYID => DEFAULT_WRITER_ENTITYID,
|
||||
WITH_KEY => TRUE,
|
||||
PUSH_MODE => TRUE,
|
||||
INLINE_QOS => gen_inline_qos(NUM_READERS), -- TODO
|
||||
MAX_REMOTE_ENDPOINTS => MAX_REMOTE_ENDPOINTS
|
||||
)
|
||||
port map (
|
||||
clk => clk,
|
||||
reset => reset,
|
||||
time => TIME_ZERO,
|
||||
empty_user => '1',
|
||||
rd_user => open,
|
||||
data_in_user => (others => '0'),
|
||||
last_word_in_user => '0',
|
||||
empty_meta => empty_meta or packet_sent,
|
||||
rd_meta => rd_meta,
|
||||
data_in_meta => data_in_meta,
|
||||
last_word_in_meta => last_word_in_meta,
|
||||
alive_sig => open,
|
||||
wr_rtps => open,
|
||||
full_rtps => '0',
|
||||
last_word_out_rtps => open,
|
||||
data_out_rtps => open,
|
||||
assert_liveliness => '0',
|
||||
data_available => '0',
|
||||
start_hc => start_hc,
|
||||
opcode_hc => open,
|
||||
ack_hc => '0',
|
||||
seq_nr_hc => open,
|
||||
done_hc => '0',
|
||||
ret_hc => ERROR,
|
||||
get_data_hc => open,
|
||||
data_in_hc => (others => '0'),
|
||||
valid_in_hc => '0',
|
||||
ready_in_hc => open,
|
||||
last_word_in_hc => '0',
|
||||
cc_instance_handle => HANDLE_NIL,
|
||||
cc_kind => ALIVE,
|
||||
cc_source_timestamp => TIME_INVALID,
|
||||
cc_seq_nr => SEQUENCENUMBER_UNKNOWN
|
||||
);
|
||||
|
||||
stimulus_prc : process
|
||||
variable RV : RandomPType;
|
||||
|
||||
@ -265,9 +265,8 @@ package rtps_test_package is
|
||||
procedure gen_sentinel(output : inout TEST_PACKET_TYPE);
|
||||
procedure gen_parameter(pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); data : in TEST_PACKET_TYPE; output : inout TEST_PACKET_TYPE);
|
||||
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE);
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer);
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE);
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE);
|
||||
|
||||
|
||||
@ -2276,25 +2275,212 @@ package body rtps_test_package is
|
||||
end loop;
|
||||
end procedure;
|
||||
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : in DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
|
||||
variable tmp : natural := 0;
|
||||
begin
|
||||
-- Lifespan
|
||||
if (lifespan /= DEFAULT_LIFESPAN_QOS or pid = PID_LIFESPAN) then
|
||||
if (pid = PID_LIFESPAN) then
|
||||
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
-- ENDPOINT DATA QOS
|
||||
if (expectsInlineQoS) then
|
||||
-- TOPIC NAME
|
||||
tmp := string_len(endpoint.topic_name);
|
||||
if (pid = PID_TOPIC_NAME) then
|
||||
assert (((round_div(tmp,4)+1)*4)+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_TOPIC_NAME & endian_swap(littleEndian, int(((round_div(tmp,4)+1)*4)+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
|
||||
output.data(output.length) := PID_TOPIC_NAME & endian_swap(littleEndian, int((round_div(tmp,4)+1)*4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(lifespan(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(lifespan(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_LIFESPAN) then
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, int(tmp, CDR_LONG_WIDTH));
|
||||
output.length := output.length + 1;
|
||||
for i in 0 to round_div(tmp,4)-1 loop
|
||||
output.data(output.length) := endpoint.topic_name(i);
|
||||
output.length := output.length + 1;
|
||||
end loop;
|
||||
if (pid = PID_TOPIC_NAME) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
-- DURABILITY
|
||||
if (endpoint.durability /= DEFAULT_DURABILITY_QOS or pid = PID_DURABILITY) then
|
||||
if (pid = PID_DURABILITY) then
|
||||
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_DURABILITY & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_DURABILITY & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.durability);
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_DURABILITY) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- PRESENTATION
|
||||
if (endpoint.presentation /= DEFAULT_PRESENTATION_QOS or endpoint.coherent_access(0) /= boolean_to_std_logic(DEFAULT_COHERENT_ACCESS) or endpoint.ordered_access(0) /= boolean_to_std_logic(DEFAULT_ORDERED_ACCESS) or pid = PID_PRESENTATION) then
|
||||
if (pid = PID_PRESENTATION) then
|
||||
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_PRESENTATION & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_PRESENTATION & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.presentation);
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.coherent_access) & endian_swap(littleEndian, endpoint.ordered_access) & (0 to 15 => '0');
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_PRESENTATION) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- DEADLINE
|
||||
if (endpoint.deadline /= DEFAULT_DEADLINE_QOS or pid = PID_DEADLINE) then
|
||||
if (pid = PID_DEADLINE) then
|
||||
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_DEADLINE & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_DEADLINE & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.deadline(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.deadline(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_DEADLINE) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- LATENCY BUDGET
|
||||
if (endpoint.latency_budget /= DEFAULT_LATENCY_BUDGET_QOS or pid = PID_LATENCY_BUDGET) then
|
||||
if (pid = PID_LATENCY_BUDGET) then
|
||||
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_LATENCY_BUDGET & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_LATENCY_BUDGET & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.latency_budget(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.latency_budget(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_LATENCY_BUDGET) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- OWNERSHIP
|
||||
if (endpoint.ownership /= DEFAULT_OWNERSHIP_QOS or pid = PID_OWNERSHIP) then
|
||||
if (pid = PID_OWNERSHIP) then
|
||||
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_OWNERSHIP & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_OWNERSHIP & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.ownership);
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_OWNERSHIP) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- OWNERSHIP STRENGTH
|
||||
if (endpoint.ownership_strength /= DEFAULT_OWNERSHIP_STRENGTH_QOS or pid = PID_OWNERSHIP_STRENGTH) then
|
||||
if (pid = PID_OWNERSHIP_STRENGTH) then
|
||||
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_OWNERSHIP_STRENGTH & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_OWNERSHIP_STRENGTH & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.ownership_strength);
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_OWNERSHIP_STRENGTH) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- LIVELINESS
|
||||
if (endpoint.liveliness /= DEFAULT_LIVELINESS_QOS or endpoint.leaseDuration /= DEFAULT_LEASE_DURATION or pid = PID_LIVELINESS) then
|
||||
if (pid = PID_LIVELINESS) then
|
||||
assert (12+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_LIVELINESS & endian_swap(littleEndian, int(12+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_LIVELINESS & endian_swap(littleEndian, int(12,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.liveliness);
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.leaseDuration(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.leaseDuration(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_LIVELINESS) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- RELIABILITY
|
||||
if (endpoint.reliability /= DEFAULT_RELIABILTY_QOS or endpoint.max_blocking_time /= DEFAULT_MAX_BLOCKING_TIME or pid = PID_RELIABILITY) then
|
||||
if (pid = PID_RELIABILITY) then
|
||||
assert (12+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_RELIABILITY & endian_swap(littleEndian, int(12+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_RELIABILITY & endian_swap(littleEndian, int(12,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.reliability);
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.max_blocking_time(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.max_blocking_time(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_RELIABILITY) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- TRANSPORT PRIORITY
|
||||
if (endpoint.transport_priority /= DEFAULT_TRANSPORT_PRIORITY_QOS or pid = PID_TRANSPORT_PRIORITY) then
|
||||
if (pid = PID_TRANSPORT_PRIORITY) then
|
||||
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_TRANSPORT_PRIORITY & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_TRANSPORT_PRIORITY & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.transport_priority);
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_TRANSPORT_PRIORITY) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- LIFESPAN
|
||||
if (endpoint.lifespan /= DEFAULT_LIFESPAN_QOS or pid = PID_LIFESPAN) then
|
||||
if (pid = PID_LIFESPAN) then
|
||||
assert (8+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_LIFESPAN & endian_swap(littleEndian, int(8,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.lifespan(0)));
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, std_logic_vector(endpoint.lifespan(1)));
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_LIFESPAN) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
-- DESTINATION ORDER
|
||||
if (endpoint.destination_order /= DEFAULT_DESTINATION_ORDER_QOS or pid = PID_DESTINATION_ORDER) then
|
||||
if (pid = PID_DESTINATION_ORDER) then
|
||||
assert (4+(offset*4) >= 0) report "Parameter Length < 0" severity FAILURE;
|
||||
output.data(output.length) := PID_DESTINATION_ORDER & endian_swap(littleEndian, int(4+(offset*4),PARAMETER_LENGTH_WIDTH));
|
||||
else
|
||||
output.data(output.length) := PID_DESTINATION_ORDER & endian_swap(littleEndian, int(4,PARAMETER_LENGTH_WIDTH));
|
||||
end if;
|
||||
output.length := output.length + 1;
|
||||
output.data(output.length) := endian_swap(littleEndian, endpoint.destination_order);
|
||||
output.length := output.length + 1;
|
||||
if (pid = PID_DESTINATION_ORDER) then
|
||||
output.length := output.length + offset;
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
-- *INLINE-ONLY*
|
||||
-- Status Info
|
||||
if (ref.kind /= ALIVE or pid = PID_STATUS_INFO) then
|
||||
if (pid = PID_STATUS_INFO) then
|
||||
@ -2343,19 +2529,14 @@ package body rtps_test_package is
|
||||
end if;
|
||||
end procedure;
|
||||
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE; pid : in std_logic_vector(PARAMETER_ID_WIDTH-1 downto 0); offset : in integer) is
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; endpoint : in ENDPOINT_DATA_TYPE; expectsInlineQoS : in boolean; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE) is
|
||||
begin
|
||||
gen_inline_qos(ref,DEFAULT_LIFESPAN_QOS,'0',output,pid,offset);
|
||||
end procedure;
|
||||
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; lifespan : DURATION_TYPE; littleEndian : in std_logic; output : inout TEST_PACKET_TYPE) is
|
||||
begin
|
||||
gen_inline_qos(ref,lifespan,littleEndian,output,PID_PAD,0);
|
||||
gen_inline_qos(ref,endpoint,expectsInlineQoS,littleEndian,output,PID_PAD,0);
|
||||
end procedure;
|
||||
|
||||
procedure gen_inline_qos(ref : in CACHE_CHANGE_TYPE; output : inout TEST_PACKET_TYPE) is
|
||||
begin
|
||||
gen_inline_qos(ref,output,PID_PAD,0);
|
||||
gen_inline_qos(ref,DEFAULT_ENDPOINT_DATA,FALSE,'0',output,PID_PAD,0);
|
||||
end procedure;
|
||||
|
||||
function test_memory_match (A,B : TEST_MEMORY_TYPE) return boolean is
|
||||
|
||||
Loading…
Reference in New Issue
Block a user