Blind implementation of READER rtps_endpoint

This commit is contained in:
Greek 2021-01-11 12:18:59 +01:00
parent 349db19edd
commit d0709db3a2
3 changed files with 1835 additions and 0 deletions

View File

@ -49,6 +49,16 @@ package rtps_config_package is
constant OPCODE_PARTICIPANT_UNMATCH : std_logic_vector(ENDPOINT_MATCH_OPCODE_WIDTH-1 downto 0) := x"55000002";
constant OPCODE_LIVELINESS_UPDATE : std_logic_vector(ENDPOINT_MATCH_OPCODE_WIDTH-1 downto 0) := x"55000003";
type HISTORY_CACHE_OPCODE_TYPE is (NOP, ADD_CACHE_CHANGE);
type KEY_GENERATOR_OPCODE_TYPE is (NOP, WRITE_PAYLOAD, READ_KEY, READ_SIZE);
-- Status Info Flags
constant DISPOSED_FLAG : natural := 0;
constant UNREGISTERED_FLAG : natural := 1;
constant FILTERED_FLAG : natural := 2;
constant PAYLOAD_FLAG : natural := 29;
constant KEY_HASH_FLAG : natural := 30;
constant READ_FLAG : natural := 31;
-- Marks the Reader Endpoint in the Endpoint Array
constant ENDPOINT_READERS : std_logic_vector(0 to NUM_ENDPOINTS-1) := (0 to NUM_READERS-1 => '1', others => '0');

1822
src/rtps_endpoint.vhd Normal file

File diff suppressed because it is too large Load Diff

View File

@ -47,6 +47,8 @@ package rtps_package is
constant COUNT_WIDTH : natural := CDR_LONG_WIDTH;
constant SUBMESSAGE_DATA_EXTRA_FLAGS_WIDTH : natural := 16;
constant MAX_BITMAP_WIDTH : natural := 256;
constant KEY_HASH_WIDTH : natural := 128;
constant STATUS_INFO_WIDTH : natural := 32;
-- *TYPES DEFINITION*
-- Generic Types
@ -59,6 +61,7 @@ package rtps_package is
type GUIDPREFIX_TYPE is array (0 to (GUIDPREFIX_WIDTH/WORD_WIDTH)-1) of std_logic_vector(WORD_WIDTH-1 downto 0);
type GUID_TYPE is array (0 to (GUID_WIDTH/WORD_WIDTH)-1) of std_logic_vector(WORD_WIDTH-1 downto 0);
type BITMAP_TYPE is array (0 to (MAX_BITMAP_WIDTH/WORD_WIDTH)-1) of std_logic_vector(0 to WORD_WIDTH-1);
type KEY_HASH_TYPE is array (0 to (KEY_HASH_WIDTH/WORD_WIDTH)-1) of std_logic_vector(WORD_WIDTH-1 downto 0);
-- Helper Function
function gen_duration(s,ns : integer) return DURATION_TYPE;