Commit Graph

6 Commits

Author SHA1 Message Date
Greek
70549853d5 code refactoring 2021-12-09 19:44:39 +01:00
Greek
ddc331d9ba Redesign Interface and Instance Handle Responses of dds_writer
The REGISTER_INSTANCE and LOOKUP_INSTANCE DDS Writer Operations return
an Instance Handle. Until now this instance Handle was returned via the
Data output interface of the dds_writer (ready_out, valid_out,
data_out_last_word_out).
This was changed, so that the dds_writer directly outputs the Instance
Handle via a dedicated port while asserting the done Signal.
This has the result that the <TYPENAME>_writer_wrapper no longer
"exports" data out signals from the dds_writer.
All relevant instantiations and testcases are changed accordingly
2021-12-09 19:44:38 +01:00
Greek
830d6c1409 Bug Fix and Redesign of TEMPLATE_key_holder
Until now it was assumed that a serialized key is the PLAIN_CDR2
Big Endian encoding of a <TYPENAME>KeyHolder Object [DDS_XTYPES v1.3, 7.6.8]
(I.e. the same blob that computes the MD5 key hash).
Taking other DDS implementations as reference (e.g. Cyclone DDS), it
seems they are using a normal Payload containing a KeyHolder(<TYPENAME>)
Object [DDS_XTYPES v1.3, 7.2.2.4.7] as the serialized key.
The Key Holder Template (together with the Type1 and Type2
implementations) were updated to reflect this change.
A bug fix were the Key Hash was not reset on a 'PUSH_SERIALIZED_KEY'
opcode was also fixed (together with the testbench).
2021-12-09 19:44:38 +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
63465e8e30 Remove default signal initialization from entire codebase 2021-11-19 18:50:18 +01:00
Greek
af1de8bab8 Make Templates for reader/writer wrapper and key_holder
Templates with the pre-defined code hull for the reader_wrapper,
writer_wrapper, and key_holder were created.
A "cookbook" of how to expand this TEMPLATES to create type specific IDL
conversions was also added.
The "code generation" is kept general to allow a code generator to
automatically produce this wrappers in the future.
2021-11-11 20:19:26 +01:00