Commit Graph

43 Commits

Author SHA1 Message Date
Greek
e0280ea490 Define RTPS/DDS Configuration in record type 2022-01-16 16:16:58 +01:00
Greek
4b81cf9484 Propagate LIFESPAN through ENDPOINT_MATCH_FRAME instead of inline QoS
Since we disabled the 'expectsInlineQoS' Flag due to Cyclone DDS
compatibility, we no longer have access to the lifespan of the remote
writers.
The Endpoint Match Format was changed to also send the Lifespan Duration
from the rtps_builtin_endpoint.
2021-12-23 16:20:18 +01:00
Greek
20dff4a208 BUG FIX: Default Reliability is different for Readers and Writers 2021-12-15 16:49:32 +01:00
Greek
3a1aeb818e Remove TRANSPORT_PRIORITY_QOS
According to RTPS Specification, the TRANSPORT_PRIORITY_QOS is only for
Topic Data.
2021-12-15 16:30:31 +01:00
Greek
6d609a5a34 CYCLONE DDS Compatibility: Remove expectsinlineQoS Flag
Apparently Cyclone DDS does not support Readers with the inline QoS
Flag.
Change rtps_test_package to generate only necessary PIDs (e.g. no
PID_EXPECTS_INLINE_QOS for writers)
2021-12-15 15:58:07 +01:00
Greek
02f0fbfb98 Add PREFER_MULTICAST generic in rtps_buildin_endpoint
Until now the rtps_builtin_endpoint was using the last parsed Locator as
the Locator of choice.
The rtps_builtin_endpoint was extended with a PREFER_MULTICAST boolean
generic that allows to influence which locators are used.
Test1 of rtps_builtin_endpoint was split in two, to test both settings
of the generic.
2021-12-13 14:31:33 +01:00
Greek
48468d1131 BUG FIX: PID is affected by endianness 2021-12-11 12:20:52 +01:00
5d9acb6f41 Add directive to allow QSYS Compilation
QSYS does not allow to change the VHDL version of processed files.
All respective files have to have a comment directive forcing the VHDL version.
2021-12-09 19:44:38 +01:00
Greek
cffaafb284 Code refactoring 2021-11-20 16:01:57 +01:00
Greek
27aa801e74 Add Level 1 Test 1 of TYPE2 key_holder
The writer_wrapper is used to push normal payloads, and the serialized
key is hardcoded and compared to the output.
2021-11-07 16:19:31 +01:00
Greek
eef62e17ce Add Level 1 Test 1 for Type2 Reader and Writer Wrapper
By connecting the output of the writer_wrapper to the input of the
reader_wrapper we can effectively test the encoding/decoding.
Since the writer_wrapper only uses Big Endian we cannot test Little
Endian handling.
2021-11-05 14:26:45 +01:00
Greek
609ed2d686 Code Refactor 2021-05-15 20:39:56 +02:00
Greek
4392aa8288 Parse PID_STATUS_INFO in RTPS Builtin Endpoint
The inline-QoS of PDP Packets is parsed, and Participants/Endpoints can
be unmatched by Unregister/Dispose Status Info Updates.
Test 1,2,3 was extended to test this functionality.
NOTE: PID_KEY_HASH is a requirement (at least for unmatching Endpoints),
as serialized key payloads are unsupported.
2021-05-14 12:08:21 +02:00
Greek
90a4c7928a Backport Memory Controller to rtps_builtin_endpoint
Backport Memory Controller and Memory FSM from RTPS/DDS Endpoints to
RTPS Builtin Endpoint.
The Memory is now using a single linked list and the FSM uses Frame Field
Flags.
The main FSM uses check_time to initiate stale checks, and the stale
checks are done in the main FSM.
Testbench was modified to accomodate the changes (Previous L0 Test4 was
removed and integrated in L0 Test 1).
2021-05-11 13:23:55 +02:00
Greek
7f7b7a6164 Add Documentation to rtps_test_package 2021-05-06 15:59:07 +02:00
Greek
7a096de5c1 Add test 4 of DDS Reader
Test Deadline Handling of the DDS Reader.
Test the GET_REQUESTED_DEADLINE_MISSED_STATUS DDS Operation.
Add Documentation to some Testbenches.
2021-04-26 12:57:09 +02:00
Greek
0beafe13b3 Add test 3 of the DDS Reader
Test the DDS READ, TAKE, READ_NEXT_SAMPLE, TAKE_NEXT_SAMPLE,
READ_INSTANCE, TAKE_INSTANCE, READ_NEXT_INSTANCE, TAKE_NEXT_INSTANCE
Operations.
Backport fixes to previous testbenches.
Change handling of DISPOSE Samples of unknown Instances.
2021-04-25 16:12:22 +02:00
Greek
bac011905a Add Test 1 of DDS Reader
Test RTPS Operations ADD_CACHE_CHANGE, and REMOVE_WRITER of DDS Reader.
Port changes and code refoctoring in DDS Writer.
2021-04-11 16:39:17 +02:00
Greek
a6802cc538 Add Test1 of DDS Writer
Test RTPS GET_MIN_SN, GET_MAX_SN, GET_CACHE_CHANGE, REMOVE_CACHE_CHANGE,
ACK_CACHE_CHANGE, and NACK_CACHE_CHANGE Operations.
Test DDS Register, Unregister, Write, Dispose, and Lookup Instance
Operations.
2021-03-21 18:49:59 +01:00
Greek
7ccf850adc Testbench Code Refactoring 2021-03-02 17:36:07 +01:00
Greek
b5206f66f1 Update Inline QoS Generation related Testbench Code 2021-03-02 13:53:12 +01:00
Greek
c9f0d70979 Add Test1 of RTPS Writer
Test metatraffic behaviour of RTPS Writer.
Compiling and Passing.
2021-02-26 14:39:53 +01:00
Greek
268e166b4f Update Cache Change Generation related Testbench Code
Remove littleEndian from Cache Change, and add it as explicit parameter
to inline-QoS Generator functions.
2021-02-26 14:39:53 +01:00
Greek
260acba5b6 Add test 3 of RTPS Reader
Test Liveliness Handling of RTPS Reader.
Test 2 expanded with extra case for Little Endian Handling.
Compiling and Passing
2021-02-22 12:16:47 +01:00
Greek
4530688c8b Add test 2 of RTPS Reader
Test user traffic handling (DATA, HEARTBEAT, GAP).
Compiling and Passing
2021-02-21 00:02:22 +01:00
Greek
1dc1d89f98 Add Test1 of RTPS Reader
Test metatraffic behaviour of RTPS Reader.
Compiling and Passing.
2021-02-20 14:08:06 +01:00
Greek
7244fffacd Memory Size of rtps_builtin_endpoint made Generic
Each Entity that contains a memory will have an independent size
generic. The testbench was modified to accomodate different RAM memory
sizes. This in effect makes all Memory related stuff pre-entity
dependant. The rtps_test_package needs updated Frame Sizes for the Tests
to work properly.
2021-02-17 10:51:57 +01:00
Greek
bfdc366273 Modify Endpoint Match Frame, Fix Test Suite
The reader falgs (Expects In-line QoS, Expects Historical Data, Is Best
Effort) of the remote reader is transfered in the Metatraffic Endpoint
Match Frame.
The Level 1 rtps_builtin_endpoint test was also fixed.
2021-02-15 13:50:48 +01:00
Greek
a00f942826 change rtps_handler output format
While previously we sent the EntityID before the GUID Prefix (for some
reason), we changed swaped the order to allow easier decoding (by having
uniform format for all inputs)
2020-12-18 16:19:57 +01:00
Greek
3566eb1282 * Added rtps_builting_endpoint_test7
- Compiling and Passing
2020-12-06 23:55:28 +01:00
Greek
929fbe5c80 * Update rtps_builtin_endpoint_test7
- Add participant Announcement check
* bug Fix in rtps_config_package
	- Fix Participant Announcement Generation
2020-12-06 18:25:19 +01:00
Greek
0f50e66942 * Add FWFT FIFO
* Added rtps_builtin_endpoint_test7 Level 1 testbench
	- Compiling and Passing
* Various Bug Fixes in rtps_builtin_endpoint
2020-12-06 17:26:15 +01:00
Greek
c1bb9a7bd2 * Re-design rtps_handler
- Input format is now a decoded UDP Packet (Documented in REF.txt)
	  This allows the whole RTPS system to use universal input and output.
2020-11-30 15:48:47 +01:00
Greek
fec81c0b43 * Re-design rtps_builtin_endpoint
- Remove endpoint data from memory. Store only participant data
	- Write PARTICIPANT_UNMATCH_FRAME to all endpoints on remote participant removal
	- Write ENDPOINT_MATCH and ENDPOINT_UNMATCH frames for all remote endpoints
* Update testbenches to accomodate re-design
* Streamline scorboard reference pushing and testbench completion detection
2020-11-29 23:34:28 +01:00
Greek
472af656b3 * Added rtps_builtin_endpoint_test3
- Compiling and Passing
2020-11-28 10:12:35 +01:00
Greek
02be7bb0a3 * Update rtps_test_package
- Unify get_loc functions
	- Overload functions with less parameters for defaults
	- Add Parameter Corruption Injection to Participant and Endpoint Data Generators
2020-11-27 12:34:28 +01:00
Greek
e358244578 * Add universal Test Result File for all Testbenches 2020-11-26 18:40:50 +01:00
Greek
32fd1ac31e * Add modelsim.ini File in gitignore
* Small change in rtps_builtin_endpoint_test1
	- Empty Signal was not toggling
* Added rtps_builtin_endpoint_test2
	- Compiling and Passing
* Update rtps_test_package
* Various bug Fixes in rtps_builtin_endpoint
2020-11-26 18:04:59 +01:00
Greek
521e2466f5 * Add new DEFAULT values in packages
* Add test RAM (Used for testbenches)
* Add Data Structures and functions to check memory contents
* Add rtps_builtin_endpoint_test1
	- Compiles and Passes
* Various bug fixes in rtps_builtin_endpoint to Pass testbench
2020-11-23 12:20:05 +01:00
Greek
16bd4558de * rtps_handler
- Handle case where packet end = submessage end (Avoid extra stage switches)
	- Fix last_word_out
	- Fix case where rd and empty are both high (INFO_TS)
* Modify Endpoint Frame format of GAP
	- Add dummy word to avoid complexity
* rtps_handler Testbench
	- Add check for last_word_out
2020-11-21 21:10:26 +01:00
Greek
9b4a2ed073 * Various Bug Fixes in rtps_handler
* rtps_handler_test1 Complete and Passing
2020-11-17 15:26:20 +01:00
Greek
9c95e58e32 * Added OSVVM Library as Submodule
* Merged stimulus generation procedures to one single procedure
* Integrated OSVVM into testbench
* Generated OSVVM Project Script File
* Various Bug Fixes to compile testbench
2020-11-15 20:34:39 +01:00
Greek
a792cb7d8a * Added testbench package
* First rtps_handler Testbench
NOTE: Not tested/compiled.
2020-11-13 11:52:38 +01:00