-- HMQ: It total 10 HMQs have been defined. Each HMQ has 4 entries of 128 x 32 bits, each.
-- 8 "out HMQs" from the MT -> towards the host
-- - 0: HMQ from CPU0 with the WorldFIP payloads from periodic consumed variables
-- - 1: HMQ from CPU0 with the WorldFIP payloads from aperiodic consumed variables
-- (only for the case of identif variable, scheduled as periodic variable, by radMon app)
-- - 2: HMQ from CPU0 with the WorldFIP payloads from aperiodic consumed messages
-- - 3: HMQ from CPU0 with the WorldFIP payloads from periodic consumed diagnostic variables
-- (only for the case of the FIPdiag variable 0x067F)
-- - 4: HMQ from CPU0 with the WorldFIP payloads from aperiodic consumed diagnostic variables
-- (aperiodic presence and identification)
-- - 5: HMQ for debugging data from CPU0 and CPU1 towards the host
-- - 6: HMQ for the responses of CPU0 to the commands of the host, see below "in HMQ0"
-- (e.g.: acknowledgement of the configuration???)
-- - 7: HMQ for the responses of CPU1 to the commands of the host, see below "in HMQ1",
-- (e.g.: content of the report variable)
-- 2 "in HMQs" from the host -> towards MT
-- - 0: HMQ towards CPU0 with commands for the bus config, used only at startup (e.g.: HW_RESET,
-- PROGRAM_BA, BA_START, BA_RUNNING)
-- - 1: HMQ towards CPU1 with the payloads for produced WorldFIP frames (variables and messages;
-- CPU1 then puts this data into the Shared Memory for CPU0 to access and put them in the bus)
-- as well as requests for report data, requests for the scheduling of aperiodic traffic
-- (presence/ identification) etc (CPU1 again passes these requests into the Shared Memory).
constantC_HMQ_CONFIG:t_wrn_mqueue_config:=
(out_slot_count=>8,
out_slot_config=>
(0=>(width=>128,entries=>4),-- output of the MT CPU0 with WorldFIP period cons vars
1=>(width=>128,entries=>4),-- output of the MT CPU0 with WorldFIP aperiod cons vars
2=>(width=>128,entries=>4),-- output of the MT CPU0 with WorldFIP aperiod msgs
3=>(width=>128,entries=>4),-- output of the MT CPU1 with WorldFIP SMMPS period vars
4=>(width=>128,entries=>4),-- output of the MT CPU0 with WorldFIP SMMPS aperiod vars
5=>(width=>128,entries=>4),-- output of the MT CPU0 with IRQs to the application (var/msg programmed with an irq flag)
6=>(width=>128,entries=>4),-- output of the MT CPU0 command-response
7=>(width=>128,entries=>4),-- output of the MT CPU1 command-response
others=>(0,0)),
in_slot_count=>2,
in_slot_config=>
(0=>(width=>128,entries=>4),-- input to MT CPU0 with commands from the host for the bus config (commands like: PROGRAM_BA, HW_RESET, BA_START, BA_RUNNING)
1=>(width=>128,entries=>4),-- input to MT CPU1 with commands from the host for the control of CPU0 (commands like: BA_STOP, SET_VAR_PAYLOAD, SET_MSG_PAYLOAD, GET_REPORT, GET_PRESENT_LIST, GET_IDENT_VAR)
others=>(0,0)));-- (change of payload, stop BA, reset CPU0 etc through shared mem, host asking for report)