code refactoring
This commit is contained in:
parent
5e7ea79887
commit
ddacbb6d2b
@ -607,14 +607,14 @@ begin
|
|||||||
|
|
||||||
AffirmIf(status_id,(status and SAMPLE_REJECTED_STATUS) = SAMPLE_REJECTED_STATUS, "Expected: 1", "Received: 0");
|
AffirmIf(status_id,(status and SAMPLE_REJECTED_STATUS) = SAMPLE_REJECTED_STATUS, "Expected: 1", "Received: 0");
|
||||||
|
|
||||||
Log("DDS Operation GET_SAMPLE_REJECTED_STATUS (Expected: Count 6, Change 1, Instance 1, REJECTED_BY_SAMPLES_LIMIT)", INFO);
|
Log("DDS Operation GET_SAMPLE_REJECTED_STATUS (Expected: Count 6, Change 1, Instance 1, REJECTED_BY_INSTANCES_LIMIT)", INFO);
|
||||||
dds := DEFAULT_DDS_READER_TEST;
|
dds := DEFAULT_DDS_READER_TEST;
|
||||||
dds.opcode := GET_SAMPLE_REJECTED_STATUS;
|
dds.opcode := GET_SAMPLE_REJECTED_STATUS;
|
||||||
dds.ret_code := RETCODE_OK;
|
dds.ret_code := RETCODE_OK;
|
||||||
dds.count := 6;
|
dds.count := 6;
|
||||||
dds.change := 1;
|
dds.change := 1;
|
||||||
dds.inst := kh4;
|
dds.inst := kh4;
|
||||||
dds.last_reason:= REJECTED_BY_SAMPLES_LIMIT;
|
dds.last_reason:= REJECTED_BY_INSTANCES_LIMIT;
|
||||||
start_dds;
|
start_dds;
|
||||||
wait_on_dds;
|
wait_on_dds;
|
||||||
wait_on_idle;
|
wait_on_idle;
|
||||||
|
|||||||
@ -1754,34 +1754,34 @@ begin
|
|||||||
ret_rtps <= OK;
|
ret_rtps <= OK;
|
||||||
-- DONE
|
-- DONE
|
||||||
stage_next <= IDLE;
|
stage_next <= IDLE;
|
||||||
-- RESOURCE_LIMITS_QOS (MAX_SAMPLES)
|
-- RESOURCE_LIMITS_QOS (MAX_INSTANCES) (Instance Memory Full)
|
||||||
elsif (empty_sample_list_head = empty_sample_list_tail) then
|
elsif (inst_empty_head = INSTANCE_MEMORY_MAX_ADDRESS) then
|
||||||
if (HISTORY_QOS = KEEP_ALL_HISTORY_QOS and RELIABILITY_QOS = RELIABLE_RELIABILITY_QOS) then
|
-- No Stale Instances available
|
||||||
|
if (stale_inst_cnt = 0) then
|
||||||
-- Reject Change
|
-- Reject Change
|
||||||
done_rtps <= '1';
|
done_rtps <= '1';
|
||||||
ret_rtps <= REJECTED;
|
ret_rtps <= REJECTED;
|
||||||
|
-- DONE
|
||||||
stage_next <= IDLE;
|
stage_next <= IDLE;
|
||||||
-- Update Sample Reject Status
|
-- Update Sample Reject Status
|
||||||
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
||||||
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
||||||
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
||||||
sample_rej_last_reason_next <= REJECTED_BY_SAMPLES_LIMIT;
|
sample_rej_last_reason_next <= REJECTED_BY_INSTANCES_LIMIT;
|
||||||
sample_rej_last_inst_next <= key_hash;
|
sample_rej_last_inst_next <= key_hash;
|
||||||
else
|
else
|
||||||
-- RESOURCE_LIMITS_QOS (MAX_INSTANCES) (Instance Memory Full)
|
-- RESOURCE_LIMITS_QOS (MAX_SAMPLES)
|
||||||
if (inst_empty_head = INSTANCE_MEMORY_MAX_ADDRESS) then
|
if (empty_sample_list_head = empty_sample_list_tail) then
|
||||||
-- No Stale Instances available
|
if (HISTORY_QOS = KEEP_ALL_HISTORY_QOS and RELIABILITY_QOS = RELIABLE_RELIABILITY_QOS) then
|
||||||
if (stale_inst_cnt = 0) then
|
|
||||||
-- Reject Change
|
-- Reject Change
|
||||||
done_rtps <= '1';
|
done_rtps <= '1';
|
||||||
ret_rtps <= REJECTED;
|
ret_rtps <= REJECTED;
|
||||||
-- DONE
|
|
||||||
stage_next <= IDLE;
|
stage_next <= IDLE;
|
||||||
-- Update Sample Reject Status
|
-- Update Sample Reject Status
|
||||||
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
||||||
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
||||||
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
||||||
sample_rej_last_reason_next <= REJECTED_BY_INSTANCES_LIMIT;
|
sample_rej_last_reason_next <= REJECTED_BY_SAMPLES_LIMIT;
|
||||||
sample_rej_last_inst_next <= key_hash;
|
sample_rej_last_inst_next <= key_hash;
|
||||||
else
|
else
|
||||||
-- Accept Change (Remove Oldest Sample)
|
-- Accept Change (Remove Oldest Sample)
|
||||||
@ -1797,6 +1797,33 @@ begin
|
|||||||
stage_next <= REMOVE_STALE_INSTANCE;
|
stage_next <= REMOVE_STALE_INSTANCE;
|
||||||
cnt_next <= 0;
|
cnt_next <= 0;
|
||||||
end if;
|
end if;
|
||||||
|
else
|
||||||
|
done_rtps <= '1';
|
||||||
|
ret_rtps <= OK;
|
||||||
|
|
||||||
|
-- Remove Stale Instance and Insert Instance
|
||||||
|
inst_op_start <= '1';
|
||||||
|
inst_opcode <= GET_INSTANCE;
|
||||||
|
inst_r.addr <= inst_occupied_head;
|
||||||
|
inst_r.field_flags <= IMF_SAMPLE_CNT_FLAG or IMF_WRITER_BITMAP_FLAG;
|
||||||
|
stage_next <= REMOVE_STALE_INSTANCE;
|
||||||
|
cnt_next <= 0;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
else
|
||||||
|
-- RESOURCE_LIMITS_QOS (MAX_SAMPLES)
|
||||||
|
if (empty_sample_list_head = empty_sample_list_tail) then
|
||||||
|
if (HISTORY_QOS = KEEP_ALL_HISTORY_QOS and RELIABILITY_QOS = RELIABLE_RELIABILITY_QOS) then
|
||||||
|
-- Reject Change
|
||||||
|
done_rtps <= '1';
|
||||||
|
ret_rtps <= REJECTED;
|
||||||
|
stage_next <= IDLE;
|
||||||
|
-- Update Sample Reject Status
|
||||||
|
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
||||||
|
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
||||||
|
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
||||||
|
sample_rej_last_reason_next <= REJECTED_BY_SAMPLES_LIMIT;
|
||||||
|
sample_rej_last_inst_next <= key_hash;
|
||||||
else
|
else
|
||||||
-- Accept Change (Remove Oldest Sample)
|
-- Accept Change (Remove Oldest Sample)
|
||||||
remove_oldest_sample_next <= '1';
|
remove_oldest_sample_next <= '1';
|
||||||
@ -1834,35 +1861,6 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
end if;
|
||||||
end if;
|
|
||||||
else
|
|
||||||
-- RESOURCE_LIMITS_QOS (MAX_INSTANCES) (Instance Memory Full)
|
|
||||||
if (inst_empty_head = INSTANCE_MEMORY_MAX_ADDRESS) then
|
|
||||||
-- No Stale Instances available
|
|
||||||
if (stale_inst_cnt = 0) then
|
|
||||||
-- Reject Change
|
|
||||||
done_rtps <= '1';
|
|
||||||
ret_rtps <= REJECTED;
|
|
||||||
-- DONE
|
|
||||||
stage_next <= IDLE;
|
|
||||||
-- Update Sample Reject Status
|
|
||||||
status_sig_next <= status_sig or SAMPLE_REJECTED_STATUS;
|
|
||||||
sample_rej_cnt_next <= sample_rej_cnt + 1;
|
|
||||||
sample_rej_cnt_change_next <= sample_rej_cnt_change + 1;
|
|
||||||
sample_rej_last_reason_next <= REJECTED_BY_INSTANCES_LIMIT;
|
|
||||||
sample_rej_last_inst_next <= key_hash;
|
|
||||||
else
|
|
||||||
done_rtps <= '1';
|
|
||||||
ret_rtps <= OK;
|
|
||||||
|
|
||||||
-- Remove Stale Instance and Insert Instance
|
|
||||||
inst_op_start <= '1';
|
|
||||||
inst_opcode <= GET_INSTANCE;
|
|
||||||
inst_r.addr <= inst_occupied_head;
|
|
||||||
inst_r.field_flags <= IMF_SAMPLE_CNT_FLAG or IMF_WRITER_BITMAP_FLAG;
|
|
||||||
stage_next <= REMOVE_STALE_INSTANCE;
|
|
||||||
cnt_next <= 0;
|
|
||||||
end if;
|
|
||||||
else
|
else
|
||||||
-- Accept Change
|
-- Accept Change
|
||||||
done_rtps <= '1';
|
done_rtps <= '1';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user