blob: 1f720d925f12f81558d67a2e27ed56cb3f3354d2 [file] [log] [blame]
/********************************************************************************
* Marvell GPL License Option
*
* If you received this File from Marvell, you may opt to use, redistribute and/or
* modify this File in accordance with the terms and conditions of the General
* Public License Version 2, June 1991 (the "GPL License"), a copy of which is
* available along with the File in the license.txt file or by writing to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
* on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
*
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
* DISCLAIMED. The GPL License provides additional details about this warranty
* disclaimer.
******************************************************************************/
//////
/// don't edit! auto-generated by docc: vpro_spec.h
////////////////////////////////////////////////////////////
#ifndef vpro_spec_h
#define vpro_spec_h (){}
#include "ctypes.h"
#pragma pack(1)
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DOCC_H_BITOPS_
#define _DOCC_H_BITOPS_ (){}
#define _bSETMASK_(b) ((b)<32 ? (1<<((b)&31)) : 0)
#define _NSETMASK_(msb,lsb) (_bSETMASK_((msb)+1)-_bSETMASK_(lsb))
#define _bCLRMASK_(b) (~_bSETMASK_(b))
#define _NCLRMASK_(msb,lsb) (~_NSETMASK_(msb,lsb))
#define _BFGET_(r,msb,lsb) (_NSETMASK_((msb)-(lsb),0)&((r)>>(lsb)))
#define _BFSET_(r,msb,lsb,v) do{ (r)&=_NCLRMASK_(msb,lsb); (r)|=_NSETMASK_(msb,lsb)&((v)<<(lsb)); }while(0)
#endif
//////
///
/// $INTERFACE SemaINTR (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mask (W-)
/// %unsigned 1 empty 0x0
/// ###
/// * Enable interrupt on 'empty' condition
/// ###
/// %unsigned 1 full 0x0
/// ###
/// * Enable interrupt on 'full' condition
/// ###
/// %unsigned 1 almostEmpty 0x0
/// ###
/// * Enable interrupt on 'almostEmpty' condition
/// ###
/// %unsigned 1 almostFull 0x0
/// ###
/// * Enable interrupt on 'almostFull' condition
/// ###
/// %% 28 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 4b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaINTR
#define h_SemaINTR (){}
#define RA_SemaINTR_mask 0x0000
#define BA_SemaINTR_mask_empty 0x0000
#define B16SemaINTR_mask_empty 0x0000
#define LSb32SemaINTR_mask_empty 0
#define LSb16SemaINTR_mask_empty 0
#define bSemaINTR_mask_empty 1
#define MSK32SemaINTR_mask_empty 0x00000001
#define BA_SemaINTR_mask_full 0x0000
#define B16SemaINTR_mask_full 0x0000
#define LSb32SemaINTR_mask_full 1
#define LSb16SemaINTR_mask_full 1
#define bSemaINTR_mask_full 1
#define MSK32SemaINTR_mask_full 0x00000002
#define BA_SemaINTR_mask_almostEmpty 0x0000
#define B16SemaINTR_mask_almostEmpty 0x0000
#define LSb32SemaINTR_mask_almostEmpty 2
#define LSb16SemaINTR_mask_almostEmpty 2
#define bSemaINTR_mask_almostEmpty 1
#define MSK32SemaINTR_mask_almostEmpty 0x00000004
#define BA_SemaINTR_mask_almostFull 0x0000
#define B16SemaINTR_mask_almostFull 0x0000
#define LSb32SemaINTR_mask_almostFull 3
#define LSb16SemaINTR_mask_almostFull 3
#define bSemaINTR_mask_almostFull 1
#define MSK32SemaINTR_mask_almostFull 0x00000008
///////////////////////////////////////////////////////////
typedef struct SIE_SemaINTR {
///////////////////////////////////////////////////////////
#define GET32SemaINTR_mask_empty(r32) _BFGET_(r32, 0, 0)
#define SET32SemaINTR_mask_empty(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaINTR_mask_empty(r16) _BFGET_(r16, 0, 0)
#define SET16SemaINTR_mask_empty(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaINTR_mask_full(r32) _BFGET_(r32, 1, 1)
#define SET32SemaINTR_mask_full(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaINTR_mask_full(r16) _BFGET_(r16, 1, 1)
#define SET16SemaINTR_mask_full(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaINTR_mask_almostEmpty(r32) _BFGET_(r32, 2, 2)
#define SET32SemaINTR_mask_almostEmpty(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaINTR_mask_almostEmpty(r16) _BFGET_(r16, 2, 2)
#define SET16SemaINTR_mask_almostEmpty(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaINTR_mask_almostFull(r32) _BFGET_(r32, 3, 3)
#define SET32SemaINTR_mask_almostFull(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaINTR_mask_almostFull(r16) _BFGET_(r16, 3, 3)
#define SET16SemaINTR_mask_almostFull(r16,v) _BFSET_(r16, 3, 3,v)
#define w32SemaINTR_mask {\
UNSG32 umask_empty : 1;\
UNSG32 umask_full : 1;\
UNSG32 umask_almostEmpty : 1;\
UNSG32 umask_almostFull : 1;\
UNSG32 RSVDx0_b4 : 28;\
}
union { UNSG32 u32SemaINTR_mask;
struct w32SemaINTR_mask;
};
///////////////////////////////////////////////////////////
} SIE_SemaINTR;
typedef union T32SemaINTR_mask
{ UNSG32 u32;
struct w32SemaINTR_mask;
} T32SemaINTR_mask;
///////////////////////////////////////////////////////////
typedef union TSemaINTR_mask
{ UNSG32 u32[1];
struct {
struct w32SemaINTR_mask;
};
} TSemaINTR_mask;
///////////////////////////////////////////////////////////
SIGN32 SemaINTR_drvrd(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaINTR_drvwr(SIE_SemaINTR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaINTR_reset(SIE_SemaINTR *p);
SIGN32 SemaINTR_cmp (SIE_SemaINTR *p, SIE_SemaINTR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaINTR_check(p,pie,pfx,hLOG) SemaINTR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaINTR_print(p, pfx,hLOG) SemaINTR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaINTR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE Semaphore biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 16 DEPTH 0xF
/// ###
/// * Max level of semaphore
/// * Note: write this register will trigger counter reset
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00004 (P)
/// # 0x00004 INTR
/// $SemaINTR INTR REG [3]
/// ###
/// * Interrupt mask for 3 CPUs
/// ###
/// @ 0x00010 mask (W-)
/// %unsigned 1 full 0x0
/// %unsigned 1 emp 0x0
/// ###
/// * When full bit is set to one, to the producer, the semaphore will never be full, so that the producer will never be blocked.
/// * When emp bit is set to one, to the consumer, the semaphore will never be empty, so that the consumer will never be blocked.
/// * When the emp/full bit is set, the semaphore/FIFO pointer will be maintained, but the counter will be not correct anymore.
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 20B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_Semaphore
#define h_Semaphore (){}
#define RA_Semaphore_CFG 0x0000
#define BA_Semaphore_CFG_DEPTH 0x0000
#define B16Semaphore_CFG_DEPTH 0x0000
#define LSb32Semaphore_CFG_DEPTH 0
#define LSb16Semaphore_CFG_DEPTH 0
#define bSemaphore_CFG_DEPTH 16
#define MSK32Semaphore_CFG_DEPTH 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_Semaphore_INTR 0x0004
///////////////////////////////////////////////////////////
#define RA_Semaphore_mask 0x0010
#define BA_Semaphore_mask_full 0x0010
#define B16Semaphore_mask_full 0x0010
#define LSb32Semaphore_mask_full 0
#define LSb16Semaphore_mask_full 0
#define bSemaphore_mask_full 1
#define MSK32Semaphore_mask_full 0x00000001
#define BA_Semaphore_mask_emp 0x0010
#define B16Semaphore_mask_emp 0x0010
#define LSb32Semaphore_mask_emp 1
#define LSb16Semaphore_mask_emp 1
#define bSemaphore_mask_emp 1
#define MSK32Semaphore_mask_emp 0x00000002
///////////////////////////////////////////////////////////
typedef struct SIE_Semaphore {
///////////////////////////////////////////////////////////
#define GET32Semaphore_CFG_DEPTH(r32) _BFGET_(r32,15, 0)
#define SET32Semaphore_CFG_DEPTH(r32,v) _BFSET_(r32,15, 0,v)
#define GET16Semaphore_CFG_DEPTH(r16) _BFGET_(r16,15, 0)
#define SET16Semaphore_CFG_DEPTH(r16,v) _BFSET_(r16,15, 0,v)
#define w32Semaphore_CFG {\
UNSG32 uCFG_DEPTH : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32Semaphore_CFG;
struct w32Semaphore_CFG;
};
///////////////////////////////////////////////////////////
SIE_SemaINTR ie_INTR[3];
///////////////////////////////////////////////////////////
#define GET32Semaphore_mask_full(r32) _BFGET_(r32, 0, 0)
#define SET32Semaphore_mask_full(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16Semaphore_mask_full(r16) _BFGET_(r16, 0, 0)
#define SET16Semaphore_mask_full(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32Semaphore_mask_emp(r32) _BFGET_(r32, 1, 1)
#define SET32Semaphore_mask_emp(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16Semaphore_mask_emp(r16) _BFGET_(r16, 1, 1)
#define SET16Semaphore_mask_emp(r16,v) _BFSET_(r16, 1, 1,v)
#define w32Semaphore_mask {\
UNSG32 umask_full : 1;\
UNSG32 umask_emp : 1;\
UNSG32 RSVDx10_b2 : 30;\
}
union { UNSG32 u32Semaphore_mask;
struct w32Semaphore_mask;
};
///////////////////////////////////////////////////////////
} SIE_Semaphore;
typedef union T32Semaphore_CFG
{ UNSG32 u32;
struct w32Semaphore_CFG;
} T32Semaphore_CFG;
typedef union T32Semaphore_mask
{ UNSG32 u32;
struct w32Semaphore_mask;
} T32Semaphore_mask;
///////////////////////////////////////////////////////////
typedef union TSemaphore_CFG
{ UNSG32 u32[1];
struct {
struct w32Semaphore_CFG;
};
} TSemaphore_CFG;
typedef union TSemaphore_mask
{ UNSG32 u32[1];
struct {
struct w32Semaphore_mask;
};
} TSemaphore_mask;
///////////////////////////////////////////////////////////
SIGN32 Semaphore_drvrd(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 Semaphore_drvwr(SIE_Semaphore *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void Semaphore_reset(SIE_Semaphore *p);
SIGN32 Semaphore_cmp (SIE_Semaphore *p, SIE_Semaphore *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define Semaphore_check(p,pie,pfx,hLOG) Semaphore_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define Semaphore_print(p, pfx,hLOG) Semaphore_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: Semaphore
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 CNT
/// ###
/// * Semaphore counter level
/// ###
/// %unsigned 16 PTR
/// ###
/// * Semaphore pointer:
/// * producer-wptr or consumer-rptr
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQuery
#define h_SemaQuery (){}
#define RA_SemaQuery_RESP 0x0000
#define BA_SemaQuery_RESP_CNT 0x0000
#define B16SemaQuery_RESP_CNT 0x0000
#define LSb32SemaQuery_RESP_CNT 0
#define LSb16SemaQuery_RESP_CNT 0
#define bSemaQuery_RESP_CNT 16
#define MSK32SemaQuery_RESP_CNT 0x0000FFFF
#define BA_SemaQuery_RESP_PTR 0x0002
#define B16SemaQuery_RESP_PTR 0x0002
#define LSb32SemaQuery_RESP_PTR 16
#define LSb16SemaQuery_RESP_PTR 0
#define bSemaQuery_RESP_PTR 16
#define MSK32SemaQuery_RESP_PTR 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQuery {
///////////////////////////////////////////////////////////
#define GET32SemaQuery_RESP_CNT(r32) _BFGET_(r32,15, 0)
#define SET32SemaQuery_RESP_CNT(r32,v) _BFSET_(r32,15, 0,v)
#define GET16SemaQuery_RESP_CNT(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_CNT(r16,v) _BFSET_(r16,15, 0,v)
#define GET32SemaQuery_RESP_PTR(r32) _BFGET_(r32,31,16)
#define SET32SemaQuery_RESP_PTR(r32,v) _BFSET_(r32,31,16,v)
#define GET16SemaQuery_RESP_PTR(r16) _BFGET_(r16,15, 0)
#define SET16SemaQuery_RESP_PTR(r16,v) _BFSET_(r16,15, 0,v)
#define w32SemaQuery_RESP {\
UNSG32 uRESP_CNT : 16;\
UNSG32 uRESP_PTR : 16;\
}
union { UNSG32 u32SemaQuery_RESP;
struct w32SemaQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_SemaQuery;
typedef union T32SemaQuery_RESP
{ UNSG32 u32;
struct w32SemaQuery_RESP;
} T32SemaQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TSemaQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32SemaQuery_RESP;
};
} TSemaQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 SemaQuery_drvrd(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQuery_drvwr(SIE_SemaQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQuery_reset(SIE_SemaQuery *p);
SIGN32 SemaQuery_cmp (SIE_SemaQuery *p, SIE_SemaQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQuery_check(p,pie,pfx,hLOG) SemaQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQuery_print(p, pfx,hLOG) SemaQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaQueryMap (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 ADDR (P)
/// %unsigned 2 byte
/// %unsigned 5 ID
/// ###
/// * Semaphore cell index
/// ###
/// %unsigned 1 master
/// : producer 0x0
/// : consumer 0x1
/// ###
/// * Select which counter to read
/// ###
/// %% 24 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaQueryMap
#define h_SemaQueryMap (){}
#define RA_SemaQueryMap_ADDR 0x0000
#define BA_SemaQueryMap_ADDR_byte 0x0000
#define B16SemaQueryMap_ADDR_byte 0x0000
#define LSb32SemaQueryMap_ADDR_byte 0
#define LSb16SemaQueryMap_ADDR_byte 0
#define bSemaQueryMap_ADDR_byte 2
#define MSK32SemaQueryMap_ADDR_byte 0x00000003
#define BA_SemaQueryMap_ADDR_ID 0x0000
#define B16SemaQueryMap_ADDR_ID 0x0000
#define LSb32SemaQueryMap_ADDR_ID 2
#define LSb16SemaQueryMap_ADDR_ID 2
#define bSemaQueryMap_ADDR_ID 5
#define MSK32SemaQueryMap_ADDR_ID 0x0000007C
#define BA_SemaQueryMap_ADDR_master 0x0000
#define B16SemaQueryMap_ADDR_master 0x0000
#define LSb32SemaQueryMap_ADDR_master 7
#define LSb16SemaQueryMap_ADDR_master 7
#define bSemaQueryMap_ADDR_master 1
#define MSK32SemaQueryMap_ADDR_master 0x00000080
#define SemaQueryMap_ADDR_master_producer 0x0
#define SemaQueryMap_ADDR_master_consumer 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_SemaQueryMap {
///////////////////////////////////////////////////////////
#define GET32SemaQueryMap_ADDR_byte(r32) _BFGET_(r32, 1, 0)
#define SET32SemaQueryMap_ADDR_byte(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16SemaQueryMap_ADDR_byte(r16) _BFGET_(r16, 1, 0)
#define SET16SemaQueryMap_ADDR_byte(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32SemaQueryMap_ADDR_ID(r32) _BFGET_(r32, 6, 2)
#define SET32SemaQueryMap_ADDR_ID(r32,v) _BFSET_(r32, 6, 2,v)
#define GET16SemaQueryMap_ADDR_ID(r16) _BFGET_(r16, 6, 2)
#define SET16SemaQueryMap_ADDR_ID(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32SemaQueryMap_ADDR_master(r32) _BFGET_(r32, 7, 7)
#define SET32SemaQueryMap_ADDR_master(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaQueryMap_ADDR_master(r16) _BFGET_(r16, 7, 7)
#define SET16SemaQueryMap_ADDR_master(r16,v) _BFSET_(r16, 7, 7,v)
#define w32SemaQueryMap_ADDR {\
UNSG32 uADDR_byte : 2;\
UNSG32 uADDR_ID : 5;\
UNSG32 uADDR_master : 1;\
UNSG32 RSVDx0_b8 : 24;\
}
union { UNSG32 u32SemaQueryMap_ADDR;
struct w32SemaQueryMap_ADDR;
};
///////////////////////////////////////////////////////////
} SIE_SemaQueryMap;
typedef union T32SemaQueryMap_ADDR
{ UNSG32 u32;
struct w32SemaQueryMap_ADDR;
} T32SemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
typedef union TSemaQueryMap_ADDR
{ UNSG32 u32[1];
struct {
struct w32SemaQueryMap_ADDR;
};
} TSemaQueryMap_ADDR;
///////////////////////////////////////////////////////////
SIGN32 SemaQueryMap_drvrd(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaQueryMap_drvwr(SIE_SemaQueryMap *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaQueryMap_reset(SIE_SemaQueryMap *p);
SIGN32 SemaQueryMap_cmp (SIE_SemaQueryMap *p, SIE_SemaQueryMap *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaQueryMap_check(p,pie,pfx,hLOG) SemaQueryMap_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaQueryMap_print(p, pfx,hLOG) SemaQueryMap_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaQueryMap
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE SemaHub biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Query (R-)
/// # 0x00000 counter
/// $SemaQuery counter MEM [64]
/// ###
/// * Access address as defined above
/// ###
/// @ 0x00100 ARR (P)
/// # 0x00100 cell
/// $Semaphore cell REG [32]
/// ###
/// * Up-to 32 semaphore cells
/// ###
/// @ 0x00380 PUSH (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU increases PCounter by delta (range from 0 to 255)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00384 POP (W-)
/// %unsigned 8 ID
/// %unsigned 8 delta
/// ###
/// * CPU decreases CCounter by delta (range from 0 to 255)
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00388 empty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'empty' status
/// ###
/// @ 0x0038C full (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'full' status
/// ###
/// @ 0x00390 almostEmpty (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostEmpty' status
/// ###
/// @ 0x00394 almostFull (WOC-)
/// %unsigned 1 ST_0i 0x0
/// %unsigned 1 ST_1i 0x0
/// %unsigned 1 ST_2i 0x0
/// %unsigned 1 ST_3i 0x0
/// %unsigned 1 ST_4i 0x0
/// %unsigned 1 ST_5i 0x0
/// %unsigned 1 ST_6i 0x0
/// %unsigned 1 ST_7i 0x0
/// %unsigned 1 ST_8i 0x0
/// %unsigned 1 ST_9i 0x0
/// %unsigned 1 ST_10i 0x0
/// %unsigned 1 ST_11i 0x0
/// %unsigned 1 ST_12i 0x0
/// %unsigned 1 ST_13i 0x0
/// %unsigned 1 ST_14i 0x0
/// %unsigned 1 ST_15i 0x0
/// %unsigned 1 ST_16i 0x0
/// %unsigned 1 ST_17i 0x0
/// %unsigned 1 ST_18i 0x0
/// %unsigned 1 ST_19i 0x0
/// %unsigned 1 ST_20i 0x0
/// %unsigned 1 ST_21i 0x0
/// %unsigned 1 ST_22i 0x0
/// %unsigned 1 ST_23i 0x0
/// %unsigned 1 ST_24i 0x0
/// %unsigned 1 ST_25i 0x0
/// %unsigned 1 ST_26i 0x0
/// %unsigned 1 ST_27i 0x0
/// %unsigned 1 ST_28i 0x0
/// %unsigned 1 ST_29i 0x0
/// %unsigned 1 ST_30i 0x0
/// %unsigned 1 ST_31i 0x0
/// ###
/// * All cell 'almostFull' status
/// ###
/// @ 0x00398 (W-)
/// # # Stuffing bytes...
/// %% 832
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1024B, bits: 1152b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_SemaHub
#define h_SemaHub (){}
#define RA_SemaHub_Query 0x0000
#define RA_SemaHub_counter 0x0000
///////////////////////////////////////////////////////////
#define RA_SemaHub_ARR 0x0100
#define RA_SemaHub_cell 0x0100
///////////////////////////////////////////////////////////
#define RA_SemaHub_PUSH 0x0380
#define BA_SemaHub_PUSH_ID 0x0380
#define B16SemaHub_PUSH_ID 0x0380
#define LSb32SemaHub_PUSH_ID 0
#define LSb16SemaHub_PUSH_ID 0
#define bSemaHub_PUSH_ID 8
#define MSK32SemaHub_PUSH_ID 0x000000FF
#define BA_SemaHub_PUSH_delta 0x0381
#define B16SemaHub_PUSH_delta 0x0380
#define LSb32SemaHub_PUSH_delta 8
#define LSb16SemaHub_PUSH_delta 8
#define bSemaHub_PUSH_delta 8
#define MSK32SemaHub_PUSH_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_POP 0x0384
#define BA_SemaHub_POP_ID 0x0384
#define B16SemaHub_POP_ID 0x0384
#define LSb32SemaHub_POP_ID 0
#define LSb16SemaHub_POP_ID 0
#define bSemaHub_POP_ID 8
#define MSK32SemaHub_POP_ID 0x000000FF
#define BA_SemaHub_POP_delta 0x0385
#define B16SemaHub_POP_delta 0x0384
#define LSb32SemaHub_POP_delta 8
#define LSb16SemaHub_POP_delta 8
#define bSemaHub_POP_delta 8
#define MSK32SemaHub_POP_delta 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_SemaHub_empty 0x0388
#define BA_SemaHub_empty_ST_0i 0x0388
#define B16SemaHub_empty_ST_0i 0x0388
#define LSb32SemaHub_empty_ST_0i 0
#define LSb16SemaHub_empty_ST_0i 0
#define bSemaHub_empty_ST_0i 1
#define MSK32SemaHub_empty_ST_0i 0x00000001
#define BA_SemaHub_empty_ST_1i 0x0388
#define B16SemaHub_empty_ST_1i 0x0388
#define LSb32SemaHub_empty_ST_1i 1
#define LSb16SemaHub_empty_ST_1i 1
#define bSemaHub_empty_ST_1i 1
#define MSK32SemaHub_empty_ST_1i 0x00000002
#define BA_SemaHub_empty_ST_2i 0x0388
#define B16SemaHub_empty_ST_2i 0x0388
#define LSb32SemaHub_empty_ST_2i 2
#define LSb16SemaHub_empty_ST_2i 2
#define bSemaHub_empty_ST_2i 1
#define MSK32SemaHub_empty_ST_2i 0x00000004
#define BA_SemaHub_empty_ST_3i 0x0388
#define B16SemaHub_empty_ST_3i 0x0388
#define LSb32SemaHub_empty_ST_3i 3
#define LSb16SemaHub_empty_ST_3i 3
#define bSemaHub_empty_ST_3i 1
#define MSK32SemaHub_empty_ST_3i 0x00000008
#define BA_SemaHub_empty_ST_4i 0x0388
#define B16SemaHub_empty_ST_4i 0x0388
#define LSb32SemaHub_empty_ST_4i 4
#define LSb16SemaHub_empty_ST_4i 4
#define bSemaHub_empty_ST_4i 1
#define MSK32SemaHub_empty_ST_4i 0x00000010
#define BA_SemaHub_empty_ST_5i 0x0388
#define B16SemaHub_empty_ST_5i 0x0388
#define LSb32SemaHub_empty_ST_5i 5
#define LSb16SemaHub_empty_ST_5i 5
#define bSemaHub_empty_ST_5i 1
#define MSK32SemaHub_empty_ST_5i 0x00000020
#define BA_SemaHub_empty_ST_6i 0x0388
#define B16SemaHub_empty_ST_6i 0x0388
#define LSb32SemaHub_empty_ST_6i 6
#define LSb16SemaHub_empty_ST_6i 6
#define bSemaHub_empty_ST_6i 1
#define MSK32SemaHub_empty_ST_6i 0x00000040
#define BA_SemaHub_empty_ST_7i 0x0388
#define B16SemaHub_empty_ST_7i 0x0388
#define LSb32SemaHub_empty_ST_7i 7
#define LSb16SemaHub_empty_ST_7i 7
#define bSemaHub_empty_ST_7i 1
#define MSK32SemaHub_empty_ST_7i 0x00000080
#define BA_SemaHub_empty_ST_8i 0x0389
#define B16SemaHub_empty_ST_8i 0x0388
#define LSb32SemaHub_empty_ST_8i 8
#define LSb16SemaHub_empty_ST_8i 8
#define bSemaHub_empty_ST_8i 1
#define MSK32SemaHub_empty_ST_8i 0x00000100
#define BA_SemaHub_empty_ST_9i 0x0389
#define B16SemaHub_empty_ST_9i 0x0388
#define LSb32SemaHub_empty_ST_9i 9
#define LSb16SemaHub_empty_ST_9i 9
#define bSemaHub_empty_ST_9i 1
#define MSK32SemaHub_empty_ST_9i 0x00000200
#define BA_SemaHub_empty_ST_10i 0x0389
#define B16SemaHub_empty_ST_10i 0x0388
#define LSb32SemaHub_empty_ST_10i 10
#define LSb16SemaHub_empty_ST_10i 10
#define bSemaHub_empty_ST_10i 1
#define MSK32SemaHub_empty_ST_10i 0x00000400
#define BA_SemaHub_empty_ST_11i 0x0389
#define B16SemaHub_empty_ST_11i 0x0388
#define LSb32SemaHub_empty_ST_11i 11
#define LSb16SemaHub_empty_ST_11i 11
#define bSemaHub_empty_ST_11i 1
#define MSK32SemaHub_empty_ST_11i 0x00000800
#define BA_SemaHub_empty_ST_12i 0x0389
#define B16SemaHub_empty_ST_12i 0x0388
#define LSb32SemaHub_empty_ST_12i 12
#define LSb16SemaHub_empty_ST_12i 12
#define bSemaHub_empty_ST_12i 1
#define MSK32SemaHub_empty_ST_12i 0x00001000
#define BA_SemaHub_empty_ST_13i 0x0389
#define B16SemaHub_empty_ST_13i 0x0388
#define LSb32SemaHub_empty_ST_13i 13
#define LSb16SemaHub_empty_ST_13i 13
#define bSemaHub_empty_ST_13i 1
#define MSK32SemaHub_empty_ST_13i 0x00002000
#define BA_SemaHub_empty_ST_14i 0x0389
#define B16SemaHub_empty_ST_14i 0x0388
#define LSb32SemaHub_empty_ST_14i 14
#define LSb16SemaHub_empty_ST_14i 14
#define bSemaHub_empty_ST_14i 1
#define MSK32SemaHub_empty_ST_14i 0x00004000
#define BA_SemaHub_empty_ST_15i 0x0389
#define B16SemaHub_empty_ST_15i 0x0388
#define LSb32SemaHub_empty_ST_15i 15
#define LSb16SemaHub_empty_ST_15i 15
#define bSemaHub_empty_ST_15i 1
#define MSK32SemaHub_empty_ST_15i 0x00008000
#define BA_SemaHub_empty_ST_16i 0x038A
#define B16SemaHub_empty_ST_16i 0x038A
#define LSb32SemaHub_empty_ST_16i 16
#define LSb16SemaHub_empty_ST_16i 0
#define bSemaHub_empty_ST_16i 1
#define MSK32SemaHub_empty_ST_16i 0x00010000
#define BA_SemaHub_empty_ST_17i 0x038A
#define B16SemaHub_empty_ST_17i 0x038A
#define LSb32SemaHub_empty_ST_17i 17
#define LSb16SemaHub_empty_ST_17i 1
#define bSemaHub_empty_ST_17i 1
#define MSK32SemaHub_empty_ST_17i 0x00020000
#define BA_SemaHub_empty_ST_18i 0x038A
#define B16SemaHub_empty_ST_18i 0x038A
#define LSb32SemaHub_empty_ST_18i 18
#define LSb16SemaHub_empty_ST_18i 2
#define bSemaHub_empty_ST_18i 1
#define MSK32SemaHub_empty_ST_18i 0x00040000
#define BA_SemaHub_empty_ST_19i 0x038A
#define B16SemaHub_empty_ST_19i 0x038A
#define LSb32SemaHub_empty_ST_19i 19
#define LSb16SemaHub_empty_ST_19i 3
#define bSemaHub_empty_ST_19i 1
#define MSK32SemaHub_empty_ST_19i 0x00080000
#define BA_SemaHub_empty_ST_20i 0x038A
#define B16SemaHub_empty_ST_20i 0x038A
#define LSb32SemaHub_empty_ST_20i 20
#define LSb16SemaHub_empty_ST_20i 4
#define bSemaHub_empty_ST_20i 1
#define MSK32SemaHub_empty_ST_20i 0x00100000
#define BA_SemaHub_empty_ST_21i 0x038A
#define B16SemaHub_empty_ST_21i 0x038A
#define LSb32SemaHub_empty_ST_21i 21
#define LSb16SemaHub_empty_ST_21i 5
#define bSemaHub_empty_ST_21i 1
#define MSK32SemaHub_empty_ST_21i 0x00200000
#define BA_SemaHub_empty_ST_22i 0x038A
#define B16SemaHub_empty_ST_22i 0x038A
#define LSb32SemaHub_empty_ST_22i 22
#define LSb16SemaHub_empty_ST_22i 6
#define bSemaHub_empty_ST_22i 1
#define MSK32SemaHub_empty_ST_22i 0x00400000
#define BA_SemaHub_empty_ST_23i 0x038A
#define B16SemaHub_empty_ST_23i 0x038A
#define LSb32SemaHub_empty_ST_23i 23
#define LSb16SemaHub_empty_ST_23i 7
#define bSemaHub_empty_ST_23i 1
#define MSK32SemaHub_empty_ST_23i 0x00800000
#define BA_SemaHub_empty_ST_24i 0x038B
#define B16SemaHub_empty_ST_24i 0x038A
#define LSb32SemaHub_empty_ST_24i 24
#define LSb16SemaHub_empty_ST_24i 8
#define bSemaHub_empty_ST_24i 1
#define MSK32SemaHub_empty_ST_24i 0x01000000
#define BA_SemaHub_empty_ST_25i 0x038B
#define B16SemaHub_empty_ST_25i 0x038A
#define LSb32SemaHub_empty_ST_25i 25
#define LSb16SemaHub_empty_ST_25i 9
#define bSemaHub_empty_ST_25i 1
#define MSK32SemaHub_empty_ST_25i 0x02000000
#define BA_SemaHub_empty_ST_26i 0x038B
#define B16SemaHub_empty_ST_26i 0x038A
#define LSb32SemaHub_empty_ST_26i 26
#define LSb16SemaHub_empty_ST_26i 10
#define bSemaHub_empty_ST_26i 1
#define MSK32SemaHub_empty_ST_26i 0x04000000
#define BA_SemaHub_empty_ST_27i 0x038B
#define B16SemaHub_empty_ST_27i 0x038A
#define LSb32SemaHub_empty_ST_27i 27
#define LSb16SemaHub_empty_ST_27i 11
#define bSemaHub_empty_ST_27i 1
#define MSK32SemaHub_empty_ST_27i 0x08000000
#define BA_SemaHub_empty_ST_28i 0x038B
#define B16SemaHub_empty_ST_28i 0x038A
#define LSb32SemaHub_empty_ST_28i 28
#define LSb16SemaHub_empty_ST_28i 12
#define bSemaHub_empty_ST_28i 1
#define MSK32SemaHub_empty_ST_28i 0x10000000
#define BA_SemaHub_empty_ST_29i 0x038B
#define B16SemaHub_empty_ST_29i 0x038A
#define LSb32SemaHub_empty_ST_29i 29
#define LSb16SemaHub_empty_ST_29i 13
#define bSemaHub_empty_ST_29i 1
#define MSK32SemaHub_empty_ST_29i 0x20000000
#define BA_SemaHub_empty_ST_30i 0x038B
#define B16SemaHub_empty_ST_30i 0x038A
#define LSb32SemaHub_empty_ST_30i 30
#define LSb16SemaHub_empty_ST_30i 14
#define bSemaHub_empty_ST_30i 1
#define MSK32SemaHub_empty_ST_30i 0x40000000
#define BA_SemaHub_empty_ST_31i 0x038B
#define B16SemaHub_empty_ST_31i 0x038A
#define LSb32SemaHub_empty_ST_31i 31
#define LSb16SemaHub_empty_ST_31i 15
#define bSemaHub_empty_ST_31i 1
#define MSK32SemaHub_empty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_full 0x038C
#define BA_SemaHub_full_ST_0i 0x038C
#define B16SemaHub_full_ST_0i 0x038C
#define LSb32SemaHub_full_ST_0i 0
#define LSb16SemaHub_full_ST_0i 0
#define bSemaHub_full_ST_0i 1
#define MSK32SemaHub_full_ST_0i 0x00000001
#define BA_SemaHub_full_ST_1i 0x038C
#define B16SemaHub_full_ST_1i 0x038C
#define LSb32SemaHub_full_ST_1i 1
#define LSb16SemaHub_full_ST_1i 1
#define bSemaHub_full_ST_1i 1
#define MSK32SemaHub_full_ST_1i 0x00000002
#define BA_SemaHub_full_ST_2i 0x038C
#define B16SemaHub_full_ST_2i 0x038C
#define LSb32SemaHub_full_ST_2i 2
#define LSb16SemaHub_full_ST_2i 2
#define bSemaHub_full_ST_2i 1
#define MSK32SemaHub_full_ST_2i 0x00000004
#define BA_SemaHub_full_ST_3i 0x038C
#define B16SemaHub_full_ST_3i 0x038C
#define LSb32SemaHub_full_ST_3i 3
#define LSb16SemaHub_full_ST_3i 3
#define bSemaHub_full_ST_3i 1
#define MSK32SemaHub_full_ST_3i 0x00000008
#define BA_SemaHub_full_ST_4i 0x038C
#define B16SemaHub_full_ST_4i 0x038C
#define LSb32SemaHub_full_ST_4i 4
#define LSb16SemaHub_full_ST_4i 4
#define bSemaHub_full_ST_4i 1
#define MSK32SemaHub_full_ST_4i 0x00000010
#define BA_SemaHub_full_ST_5i 0x038C
#define B16SemaHub_full_ST_5i 0x038C
#define LSb32SemaHub_full_ST_5i 5
#define LSb16SemaHub_full_ST_5i 5
#define bSemaHub_full_ST_5i 1
#define MSK32SemaHub_full_ST_5i 0x00000020
#define BA_SemaHub_full_ST_6i 0x038C
#define B16SemaHub_full_ST_6i 0x038C
#define LSb32SemaHub_full_ST_6i 6
#define LSb16SemaHub_full_ST_6i 6
#define bSemaHub_full_ST_6i 1
#define MSK32SemaHub_full_ST_6i 0x00000040
#define BA_SemaHub_full_ST_7i 0x038C
#define B16SemaHub_full_ST_7i 0x038C
#define LSb32SemaHub_full_ST_7i 7
#define LSb16SemaHub_full_ST_7i 7
#define bSemaHub_full_ST_7i 1
#define MSK32SemaHub_full_ST_7i 0x00000080
#define BA_SemaHub_full_ST_8i 0x038D
#define B16SemaHub_full_ST_8i 0x038C
#define LSb32SemaHub_full_ST_8i 8
#define LSb16SemaHub_full_ST_8i 8
#define bSemaHub_full_ST_8i 1
#define MSK32SemaHub_full_ST_8i 0x00000100
#define BA_SemaHub_full_ST_9i 0x038D
#define B16SemaHub_full_ST_9i 0x038C
#define LSb32SemaHub_full_ST_9i 9
#define LSb16SemaHub_full_ST_9i 9
#define bSemaHub_full_ST_9i 1
#define MSK32SemaHub_full_ST_9i 0x00000200
#define BA_SemaHub_full_ST_10i 0x038D
#define B16SemaHub_full_ST_10i 0x038C
#define LSb32SemaHub_full_ST_10i 10
#define LSb16SemaHub_full_ST_10i 10
#define bSemaHub_full_ST_10i 1
#define MSK32SemaHub_full_ST_10i 0x00000400
#define BA_SemaHub_full_ST_11i 0x038D
#define B16SemaHub_full_ST_11i 0x038C
#define LSb32SemaHub_full_ST_11i 11
#define LSb16SemaHub_full_ST_11i 11
#define bSemaHub_full_ST_11i 1
#define MSK32SemaHub_full_ST_11i 0x00000800
#define BA_SemaHub_full_ST_12i 0x038D
#define B16SemaHub_full_ST_12i 0x038C
#define LSb32SemaHub_full_ST_12i 12
#define LSb16SemaHub_full_ST_12i 12
#define bSemaHub_full_ST_12i 1
#define MSK32SemaHub_full_ST_12i 0x00001000
#define BA_SemaHub_full_ST_13i 0x038D
#define B16SemaHub_full_ST_13i 0x038C
#define LSb32SemaHub_full_ST_13i 13
#define LSb16SemaHub_full_ST_13i 13
#define bSemaHub_full_ST_13i 1
#define MSK32SemaHub_full_ST_13i 0x00002000
#define BA_SemaHub_full_ST_14i 0x038D
#define B16SemaHub_full_ST_14i 0x038C
#define LSb32SemaHub_full_ST_14i 14
#define LSb16SemaHub_full_ST_14i 14
#define bSemaHub_full_ST_14i 1
#define MSK32SemaHub_full_ST_14i 0x00004000
#define BA_SemaHub_full_ST_15i 0x038D
#define B16SemaHub_full_ST_15i 0x038C
#define LSb32SemaHub_full_ST_15i 15
#define LSb16SemaHub_full_ST_15i 15
#define bSemaHub_full_ST_15i 1
#define MSK32SemaHub_full_ST_15i 0x00008000
#define BA_SemaHub_full_ST_16i 0x038E
#define B16SemaHub_full_ST_16i 0x038E
#define LSb32SemaHub_full_ST_16i 16
#define LSb16SemaHub_full_ST_16i 0
#define bSemaHub_full_ST_16i 1
#define MSK32SemaHub_full_ST_16i 0x00010000
#define BA_SemaHub_full_ST_17i 0x038E
#define B16SemaHub_full_ST_17i 0x038E
#define LSb32SemaHub_full_ST_17i 17
#define LSb16SemaHub_full_ST_17i 1
#define bSemaHub_full_ST_17i 1
#define MSK32SemaHub_full_ST_17i 0x00020000
#define BA_SemaHub_full_ST_18i 0x038E
#define B16SemaHub_full_ST_18i 0x038E
#define LSb32SemaHub_full_ST_18i 18
#define LSb16SemaHub_full_ST_18i 2
#define bSemaHub_full_ST_18i 1
#define MSK32SemaHub_full_ST_18i 0x00040000
#define BA_SemaHub_full_ST_19i 0x038E
#define B16SemaHub_full_ST_19i 0x038E
#define LSb32SemaHub_full_ST_19i 19
#define LSb16SemaHub_full_ST_19i 3
#define bSemaHub_full_ST_19i 1
#define MSK32SemaHub_full_ST_19i 0x00080000
#define BA_SemaHub_full_ST_20i 0x038E
#define B16SemaHub_full_ST_20i 0x038E
#define LSb32SemaHub_full_ST_20i 20
#define LSb16SemaHub_full_ST_20i 4
#define bSemaHub_full_ST_20i 1
#define MSK32SemaHub_full_ST_20i 0x00100000
#define BA_SemaHub_full_ST_21i 0x038E
#define B16SemaHub_full_ST_21i 0x038E
#define LSb32SemaHub_full_ST_21i 21
#define LSb16SemaHub_full_ST_21i 5
#define bSemaHub_full_ST_21i 1
#define MSK32SemaHub_full_ST_21i 0x00200000
#define BA_SemaHub_full_ST_22i 0x038E
#define B16SemaHub_full_ST_22i 0x038E
#define LSb32SemaHub_full_ST_22i 22
#define LSb16SemaHub_full_ST_22i 6
#define bSemaHub_full_ST_22i 1
#define MSK32SemaHub_full_ST_22i 0x00400000
#define BA_SemaHub_full_ST_23i 0x038E
#define B16SemaHub_full_ST_23i 0x038E
#define LSb32SemaHub_full_ST_23i 23
#define LSb16SemaHub_full_ST_23i 7
#define bSemaHub_full_ST_23i 1
#define MSK32SemaHub_full_ST_23i 0x00800000
#define BA_SemaHub_full_ST_24i 0x038F
#define B16SemaHub_full_ST_24i 0x038E
#define LSb32SemaHub_full_ST_24i 24
#define LSb16SemaHub_full_ST_24i 8
#define bSemaHub_full_ST_24i 1
#define MSK32SemaHub_full_ST_24i 0x01000000
#define BA_SemaHub_full_ST_25i 0x038F
#define B16SemaHub_full_ST_25i 0x038E
#define LSb32SemaHub_full_ST_25i 25
#define LSb16SemaHub_full_ST_25i 9
#define bSemaHub_full_ST_25i 1
#define MSK32SemaHub_full_ST_25i 0x02000000
#define BA_SemaHub_full_ST_26i 0x038F
#define B16SemaHub_full_ST_26i 0x038E
#define LSb32SemaHub_full_ST_26i 26
#define LSb16SemaHub_full_ST_26i 10
#define bSemaHub_full_ST_26i 1
#define MSK32SemaHub_full_ST_26i 0x04000000
#define BA_SemaHub_full_ST_27i 0x038F
#define B16SemaHub_full_ST_27i 0x038E
#define LSb32SemaHub_full_ST_27i 27
#define LSb16SemaHub_full_ST_27i 11
#define bSemaHub_full_ST_27i 1
#define MSK32SemaHub_full_ST_27i 0x08000000
#define BA_SemaHub_full_ST_28i 0x038F
#define B16SemaHub_full_ST_28i 0x038E
#define LSb32SemaHub_full_ST_28i 28
#define LSb16SemaHub_full_ST_28i 12
#define bSemaHub_full_ST_28i 1
#define MSK32SemaHub_full_ST_28i 0x10000000
#define BA_SemaHub_full_ST_29i 0x038F
#define B16SemaHub_full_ST_29i 0x038E
#define LSb32SemaHub_full_ST_29i 29
#define LSb16SemaHub_full_ST_29i 13
#define bSemaHub_full_ST_29i 1
#define MSK32SemaHub_full_ST_29i 0x20000000
#define BA_SemaHub_full_ST_30i 0x038F
#define B16SemaHub_full_ST_30i 0x038E
#define LSb32SemaHub_full_ST_30i 30
#define LSb16SemaHub_full_ST_30i 14
#define bSemaHub_full_ST_30i 1
#define MSK32SemaHub_full_ST_30i 0x40000000
#define BA_SemaHub_full_ST_31i 0x038F
#define B16SemaHub_full_ST_31i 0x038E
#define LSb32SemaHub_full_ST_31i 31
#define LSb16SemaHub_full_ST_31i 15
#define bSemaHub_full_ST_31i 1
#define MSK32SemaHub_full_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostEmpty 0x0390
#define BA_SemaHub_almostEmpty_ST_0i 0x0390
#define B16SemaHub_almostEmpty_ST_0i 0x0390
#define LSb32SemaHub_almostEmpty_ST_0i 0
#define LSb16SemaHub_almostEmpty_ST_0i 0
#define bSemaHub_almostEmpty_ST_0i 1
#define MSK32SemaHub_almostEmpty_ST_0i 0x00000001
#define BA_SemaHub_almostEmpty_ST_1i 0x0390
#define B16SemaHub_almostEmpty_ST_1i 0x0390
#define LSb32SemaHub_almostEmpty_ST_1i 1
#define LSb16SemaHub_almostEmpty_ST_1i 1
#define bSemaHub_almostEmpty_ST_1i 1
#define MSK32SemaHub_almostEmpty_ST_1i 0x00000002
#define BA_SemaHub_almostEmpty_ST_2i 0x0390
#define B16SemaHub_almostEmpty_ST_2i 0x0390
#define LSb32SemaHub_almostEmpty_ST_2i 2
#define LSb16SemaHub_almostEmpty_ST_2i 2
#define bSemaHub_almostEmpty_ST_2i 1
#define MSK32SemaHub_almostEmpty_ST_2i 0x00000004
#define BA_SemaHub_almostEmpty_ST_3i 0x0390
#define B16SemaHub_almostEmpty_ST_3i 0x0390
#define LSb32SemaHub_almostEmpty_ST_3i 3
#define LSb16SemaHub_almostEmpty_ST_3i 3
#define bSemaHub_almostEmpty_ST_3i 1
#define MSK32SemaHub_almostEmpty_ST_3i 0x00000008
#define BA_SemaHub_almostEmpty_ST_4i 0x0390
#define B16SemaHub_almostEmpty_ST_4i 0x0390
#define LSb32SemaHub_almostEmpty_ST_4i 4
#define LSb16SemaHub_almostEmpty_ST_4i 4
#define bSemaHub_almostEmpty_ST_4i 1
#define MSK32SemaHub_almostEmpty_ST_4i 0x00000010
#define BA_SemaHub_almostEmpty_ST_5i 0x0390
#define B16SemaHub_almostEmpty_ST_5i 0x0390
#define LSb32SemaHub_almostEmpty_ST_5i 5
#define LSb16SemaHub_almostEmpty_ST_5i 5
#define bSemaHub_almostEmpty_ST_5i 1
#define MSK32SemaHub_almostEmpty_ST_5i 0x00000020
#define BA_SemaHub_almostEmpty_ST_6i 0x0390
#define B16SemaHub_almostEmpty_ST_6i 0x0390
#define LSb32SemaHub_almostEmpty_ST_6i 6
#define LSb16SemaHub_almostEmpty_ST_6i 6
#define bSemaHub_almostEmpty_ST_6i 1
#define MSK32SemaHub_almostEmpty_ST_6i 0x00000040
#define BA_SemaHub_almostEmpty_ST_7i 0x0390
#define B16SemaHub_almostEmpty_ST_7i 0x0390
#define LSb32SemaHub_almostEmpty_ST_7i 7
#define LSb16SemaHub_almostEmpty_ST_7i 7
#define bSemaHub_almostEmpty_ST_7i 1
#define MSK32SemaHub_almostEmpty_ST_7i 0x00000080
#define BA_SemaHub_almostEmpty_ST_8i 0x0391
#define B16SemaHub_almostEmpty_ST_8i 0x0390
#define LSb32SemaHub_almostEmpty_ST_8i 8
#define LSb16SemaHub_almostEmpty_ST_8i 8
#define bSemaHub_almostEmpty_ST_8i 1
#define MSK32SemaHub_almostEmpty_ST_8i 0x00000100
#define BA_SemaHub_almostEmpty_ST_9i 0x0391
#define B16SemaHub_almostEmpty_ST_9i 0x0390
#define LSb32SemaHub_almostEmpty_ST_9i 9
#define LSb16SemaHub_almostEmpty_ST_9i 9
#define bSemaHub_almostEmpty_ST_9i 1
#define MSK32SemaHub_almostEmpty_ST_9i 0x00000200
#define BA_SemaHub_almostEmpty_ST_10i 0x0391
#define B16SemaHub_almostEmpty_ST_10i 0x0390
#define LSb32SemaHub_almostEmpty_ST_10i 10
#define LSb16SemaHub_almostEmpty_ST_10i 10
#define bSemaHub_almostEmpty_ST_10i 1
#define MSK32SemaHub_almostEmpty_ST_10i 0x00000400
#define BA_SemaHub_almostEmpty_ST_11i 0x0391
#define B16SemaHub_almostEmpty_ST_11i 0x0390
#define LSb32SemaHub_almostEmpty_ST_11i 11
#define LSb16SemaHub_almostEmpty_ST_11i 11
#define bSemaHub_almostEmpty_ST_11i 1
#define MSK32SemaHub_almostEmpty_ST_11i 0x00000800
#define BA_SemaHub_almostEmpty_ST_12i 0x0391
#define B16SemaHub_almostEmpty_ST_12i 0x0390
#define LSb32SemaHub_almostEmpty_ST_12i 12
#define LSb16SemaHub_almostEmpty_ST_12i 12
#define bSemaHub_almostEmpty_ST_12i 1
#define MSK32SemaHub_almostEmpty_ST_12i 0x00001000
#define BA_SemaHub_almostEmpty_ST_13i 0x0391
#define B16SemaHub_almostEmpty_ST_13i 0x0390
#define LSb32SemaHub_almostEmpty_ST_13i 13
#define LSb16SemaHub_almostEmpty_ST_13i 13
#define bSemaHub_almostEmpty_ST_13i 1
#define MSK32SemaHub_almostEmpty_ST_13i 0x00002000
#define BA_SemaHub_almostEmpty_ST_14i 0x0391
#define B16SemaHub_almostEmpty_ST_14i 0x0390
#define LSb32SemaHub_almostEmpty_ST_14i 14
#define LSb16SemaHub_almostEmpty_ST_14i 14
#define bSemaHub_almostEmpty_ST_14i 1
#define MSK32SemaHub_almostEmpty_ST_14i 0x00004000
#define BA_SemaHub_almostEmpty_ST_15i 0x0391
#define B16SemaHub_almostEmpty_ST_15i 0x0390
#define LSb32SemaHub_almostEmpty_ST_15i 15
#define LSb16SemaHub_almostEmpty_ST_15i 15
#define bSemaHub_almostEmpty_ST_15i 1
#define MSK32SemaHub_almostEmpty_ST_15i 0x00008000
#define BA_SemaHub_almostEmpty_ST_16i 0x0392
#define B16SemaHub_almostEmpty_ST_16i 0x0392
#define LSb32SemaHub_almostEmpty_ST_16i 16
#define LSb16SemaHub_almostEmpty_ST_16i 0
#define bSemaHub_almostEmpty_ST_16i 1
#define MSK32SemaHub_almostEmpty_ST_16i 0x00010000
#define BA_SemaHub_almostEmpty_ST_17i 0x0392
#define B16SemaHub_almostEmpty_ST_17i 0x0392
#define LSb32SemaHub_almostEmpty_ST_17i 17
#define LSb16SemaHub_almostEmpty_ST_17i 1
#define bSemaHub_almostEmpty_ST_17i 1
#define MSK32SemaHub_almostEmpty_ST_17i 0x00020000
#define BA_SemaHub_almostEmpty_ST_18i 0x0392
#define B16SemaHub_almostEmpty_ST_18i 0x0392
#define LSb32SemaHub_almostEmpty_ST_18i 18
#define LSb16SemaHub_almostEmpty_ST_18i 2
#define bSemaHub_almostEmpty_ST_18i 1
#define MSK32SemaHub_almostEmpty_ST_18i 0x00040000
#define BA_SemaHub_almostEmpty_ST_19i 0x0392
#define B16SemaHub_almostEmpty_ST_19i 0x0392
#define LSb32SemaHub_almostEmpty_ST_19i 19
#define LSb16SemaHub_almostEmpty_ST_19i 3
#define bSemaHub_almostEmpty_ST_19i 1
#define MSK32SemaHub_almostEmpty_ST_19i 0x00080000
#define BA_SemaHub_almostEmpty_ST_20i 0x0392
#define B16SemaHub_almostEmpty_ST_20i 0x0392
#define LSb32SemaHub_almostEmpty_ST_20i 20
#define LSb16SemaHub_almostEmpty_ST_20i 4
#define bSemaHub_almostEmpty_ST_20i 1
#define MSK32SemaHub_almostEmpty_ST_20i 0x00100000
#define BA_SemaHub_almostEmpty_ST_21i 0x0392
#define B16SemaHub_almostEmpty_ST_21i 0x0392
#define LSb32SemaHub_almostEmpty_ST_21i 21
#define LSb16SemaHub_almostEmpty_ST_21i 5
#define bSemaHub_almostEmpty_ST_21i 1
#define MSK32SemaHub_almostEmpty_ST_21i 0x00200000
#define BA_SemaHub_almostEmpty_ST_22i 0x0392
#define B16SemaHub_almostEmpty_ST_22i 0x0392
#define LSb32SemaHub_almostEmpty_ST_22i 22
#define LSb16SemaHub_almostEmpty_ST_22i 6
#define bSemaHub_almostEmpty_ST_22i 1
#define MSK32SemaHub_almostEmpty_ST_22i 0x00400000
#define BA_SemaHub_almostEmpty_ST_23i 0x0392
#define B16SemaHub_almostEmpty_ST_23i 0x0392
#define LSb32SemaHub_almostEmpty_ST_23i 23
#define LSb16SemaHub_almostEmpty_ST_23i 7
#define bSemaHub_almostEmpty_ST_23i 1
#define MSK32SemaHub_almostEmpty_ST_23i 0x00800000
#define BA_SemaHub_almostEmpty_ST_24i 0x0393
#define B16SemaHub_almostEmpty_ST_24i 0x0392
#define LSb32SemaHub_almostEmpty_ST_24i 24
#define LSb16SemaHub_almostEmpty_ST_24i 8
#define bSemaHub_almostEmpty_ST_24i 1
#define MSK32SemaHub_almostEmpty_ST_24i 0x01000000
#define BA_SemaHub_almostEmpty_ST_25i 0x0393
#define B16SemaHub_almostEmpty_ST_25i 0x0392
#define LSb32SemaHub_almostEmpty_ST_25i 25
#define LSb16SemaHub_almostEmpty_ST_25i 9
#define bSemaHub_almostEmpty_ST_25i 1
#define MSK32SemaHub_almostEmpty_ST_25i 0x02000000
#define BA_SemaHub_almostEmpty_ST_26i 0x0393
#define B16SemaHub_almostEmpty_ST_26i 0x0392
#define LSb32SemaHub_almostEmpty_ST_26i 26
#define LSb16SemaHub_almostEmpty_ST_26i 10
#define bSemaHub_almostEmpty_ST_26i 1
#define MSK32SemaHub_almostEmpty_ST_26i 0x04000000
#define BA_SemaHub_almostEmpty_ST_27i 0x0393
#define B16SemaHub_almostEmpty_ST_27i 0x0392
#define LSb32SemaHub_almostEmpty_ST_27i 27
#define LSb16SemaHub_almostEmpty_ST_27i 11
#define bSemaHub_almostEmpty_ST_27i 1
#define MSK32SemaHub_almostEmpty_ST_27i 0x08000000
#define BA_SemaHub_almostEmpty_ST_28i 0x0393
#define B16SemaHub_almostEmpty_ST_28i 0x0392
#define LSb32SemaHub_almostEmpty_ST_28i 28
#define LSb16SemaHub_almostEmpty_ST_28i 12
#define bSemaHub_almostEmpty_ST_28i 1
#define MSK32SemaHub_almostEmpty_ST_28i 0x10000000
#define BA_SemaHub_almostEmpty_ST_29i 0x0393
#define B16SemaHub_almostEmpty_ST_29i 0x0392
#define LSb32SemaHub_almostEmpty_ST_29i 29
#define LSb16SemaHub_almostEmpty_ST_29i 13
#define bSemaHub_almostEmpty_ST_29i 1
#define MSK32SemaHub_almostEmpty_ST_29i 0x20000000
#define BA_SemaHub_almostEmpty_ST_30i 0x0393
#define B16SemaHub_almostEmpty_ST_30i 0x0392
#define LSb32SemaHub_almostEmpty_ST_30i 30
#define LSb16SemaHub_almostEmpty_ST_30i 14
#define bSemaHub_almostEmpty_ST_30i 1
#define MSK32SemaHub_almostEmpty_ST_30i 0x40000000
#define BA_SemaHub_almostEmpty_ST_31i 0x0393
#define B16SemaHub_almostEmpty_ST_31i 0x0392
#define LSb32SemaHub_almostEmpty_ST_31i 31
#define LSb16SemaHub_almostEmpty_ST_31i 15
#define bSemaHub_almostEmpty_ST_31i 1
#define MSK32SemaHub_almostEmpty_ST_31i 0x80000000
///////////////////////////////////////////////////////////
#define RA_SemaHub_almostFull 0x0394
#define BA_SemaHub_almostFull_ST_0i 0x0394
#define B16SemaHub_almostFull_ST_0i 0x0394
#define LSb32SemaHub_almostFull_ST_0i 0
#define LSb16SemaHub_almostFull_ST_0i 0
#define bSemaHub_almostFull_ST_0i 1
#define MSK32SemaHub_almostFull_ST_0i 0x00000001
#define BA_SemaHub_almostFull_ST_1i 0x0394
#define B16SemaHub_almostFull_ST_1i 0x0394
#define LSb32SemaHub_almostFull_ST_1i 1
#define LSb16SemaHub_almostFull_ST_1i 1
#define bSemaHub_almostFull_ST_1i 1
#define MSK32SemaHub_almostFull_ST_1i 0x00000002
#define BA_SemaHub_almostFull_ST_2i 0x0394
#define B16SemaHub_almostFull_ST_2i 0x0394
#define LSb32SemaHub_almostFull_ST_2i 2
#define LSb16SemaHub_almostFull_ST_2i 2
#define bSemaHub_almostFull_ST_2i 1
#define MSK32SemaHub_almostFull_ST_2i 0x00000004
#define BA_SemaHub_almostFull_ST_3i 0x0394
#define B16SemaHub_almostFull_ST_3i 0x0394
#define LSb32SemaHub_almostFull_ST_3i 3
#define LSb16SemaHub_almostFull_ST_3i 3
#define bSemaHub_almostFull_ST_3i 1
#define MSK32SemaHub_almostFull_ST_3i 0x00000008
#define BA_SemaHub_almostFull_ST_4i 0x0394
#define B16SemaHub_almostFull_ST_4i 0x0394
#define LSb32SemaHub_almostFull_ST_4i 4
#define LSb16SemaHub_almostFull_ST_4i 4
#define bSemaHub_almostFull_ST_4i 1
#define MSK32SemaHub_almostFull_ST_4i 0x00000010
#define BA_SemaHub_almostFull_ST_5i 0x0394
#define B16SemaHub_almostFull_ST_5i 0x0394
#define LSb32SemaHub_almostFull_ST_5i 5
#define LSb16SemaHub_almostFull_ST_5i 5
#define bSemaHub_almostFull_ST_5i 1
#define MSK32SemaHub_almostFull_ST_5i 0x00000020
#define BA_SemaHub_almostFull_ST_6i 0x0394
#define B16SemaHub_almostFull_ST_6i 0x0394
#define LSb32SemaHub_almostFull_ST_6i 6
#define LSb16SemaHub_almostFull_ST_6i 6
#define bSemaHub_almostFull_ST_6i 1
#define MSK32SemaHub_almostFull_ST_6i 0x00000040
#define BA_SemaHub_almostFull_ST_7i 0x0394
#define B16SemaHub_almostFull_ST_7i 0x0394
#define LSb32SemaHub_almostFull_ST_7i 7
#define LSb16SemaHub_almostFull_ST_7i 7
#define bSemaHub_almostFull_ST_7i 1
#define MSK32SemaHub_almostFull_ST_7i 0x00000080
#define BA_SemaHub_almostFull_ST_8i 0x0395
#define B16SemaHub_almostFull_ST_8i 0x0394
#define LSb32SemaHub_almostFull_ST_8i 8
#define LSb16SemaHub_almostFull_ST_8i 8
#define bSemaHub_almostFull_ST_8i 1
#define MSK32SemaHub_almostFull_ST_8i 0x00000100
#define BA_SemaHub_almostFull_ST_9i 0x0395
#define B16SemaHub_almostFull_ST_9i 0x0394
#define LSb32SemaHub_almostFull_ST_9i 9
#define LSb16SemaHub_almostFull_ST_9i 9
#define bSemaHub_almostFull_ST_9i 1
#define MSK32SemaHub_almostFull_ST_9i 0x00000200
#define BA_SemaHub_almostFull_ST_10i 0x0395
#define B16SemaHub_almostFull_ST_10i 0x0394
#define LSb32SemaHub_almostFull_ST_10i 10
#define LSb16SemaHub_almostFull_ST_10i 10
#define bSemaHub_almostFull_ST_10i 1
#define MSK32SemaHub_almostFull_ST_10i 0x00000400
#define BA_SemaHub_almostFull_ST_11i 0x0395
#define B16SemaHub_almostFull_ST_11i 0x0394
#define LSb32SemaHub_almostFull_ST_11i 11
#define LSb16SemaHub_almostFull_ST_11i 11
#define bSemaHub_almostFull_ST_11i 1
#define MSK32SemaHub_almostFull_ST_11i 0x00000800
#define BA_SemaHub_almostFull_ST_12i 0x0395
#define B16SemaHub_almostFull_ST_12i 0x0394
#define LSb32SemaHub_almostFull_ST_12i 12
#define LSb16SemaHub_almostFull_ST_12i 12
#define bSemaHub_almostFull_ST_12i 1
#define MSK32SemaHub_almostFull_ST_12i 0x00001000
#define BA_SemaHub_almostFull_ST_13i 0x0395
#define B16SemaHub_almostFull_ST_13i 0x0394
#define LSb32SemaHub_almostFull_ST_13i 13
#define LSb16SemaHub_almostFull_ST_13i 13
#define bSemaHub_almostFull_ST_13i 1
#define MSK32SemaHub_almostFull_ST_13i 0x00002000
#define BA_SemaHub_almostFull_ST_14i 0x0395
#define B16SemaHub_almostFull_ST_14i 0x0394
#define LSb32SemaHub_almostFull_ST_14i 14
#define LSb16SemaHub_almostFull_ST_14i 14
#define bSemaHub_almostFull_ST_14i 1
#define MSK32SemaHub_almostFull_ST_14i 0x00004000
#define BA_SemaHub_almostFull_ST_15i 0x0395
#define B16SemaHub_almostFull_ST_15i 0x0394
#define LSb32SemaHub_almostFull_ST_15i 15
#define LSb16SemaHub_almostFull_ST_15i 15
#define bSemaHub_almostFull_ST_15i 1
#define MSK32SemaHub_almostFull_ST_15i 0x00008000
#define BA_SemaHub_almostFull_ST_16i 0x0396
#define B16SemaHub_almostFull_ST_16i 0x0396
#define LSb32SemaHub_almostFull_ST_16i 16
#define LSb16SemaHub_almostFull_ST_16i 0
#define bSemaHub_almostFull_ST_16i 1
#define MSK32SemaHub_almostFull_ST_16i 0x00010000
#define BA_SemaHub_almostFull_ST_17i 0x0396
#define B16SemaHub_almostFull_ST_17i 0x0396
#define LSb32SemaHub_almostFull_ST_17i 17
#define LSb16SemaHub_almostFull_ST_17i 1
#define bSemaHub_almostFull_ST_17i 1
#define MSK32SemaHub_almostFull_ST_17i 0x00020000
#define BA_SemaHub_almostFull_ST_18i 0x0396
#define B16SemaHub_almostFull_ST_18i 0x0396
#define LSb32SemaHub_almostFull_ST_18i 18
#define LSb16SemaHub_almostFull_ST_18i 2
#define bSemaHub_almostFull_ST_18i 1
#define MSK32SemaHub_almostFull_ST_18i 0x00040000
#define BA_SemaHub_almostFull_ST_19i 0x0396
#define B16SemaHub_almostFull_ST_19i 0x0396
#define LSb32SemaHub_almostFull_ST_19i 19
#define LSb16SemaHub_almostFull_ST_19i 3
#define bSemaHub_almostFull_ST_19i 1
#define MSK32SemaHub_almostFull_ST_19i 0x00080000
#define BA_SemaHub_almostFull_ST_20i 0x0396
#define B16SemaHub_almostFull_ST_20i 0x0396
#define LSb32SemaHub_almostFull_ST_20i 20
#define LSb16SemaHub_almostFull_ST_20i 4
#define bSemaHub_almostFull_ST_20i 1
#define MSK32SemaHub_almostFull_ST_20i 0x00100000
#define BA_SemaHub_almostFull_ST_21i 0x0396
#define B16SemaHub_almostFull_ST_21i 0x0396
#define LSb32SemaHub_almostFull_ST_21i 21
#define LSb16SemaHub_almostFull_ST_21i 5
#define bSemaHub_almostFull_ST_21i 1
#define MSK32SemaHub_almostFull_ST_21i 0x00200000
#define BA_SemaHub_almostFull_ST_22i 0x0396
#define B16SemaHub_almostFull_ST_22i 0x0396
#define LSb32SemaHub_almostFull_ST_22i 22
#define LSb16SemaHub_almostFull_ST_22i 6
#define bSemaHub_almostFull_ST_22i 1
#define MSK32SemaHub_almostFull_ST_22i 0x00400000
#define BA_SemaHub_almostFull_ST_23i 0x0396
#define B16SemaHub_almostFull_ST_23i 0x0396
#define LSb32SemaHub_almostFull_ST_23i 23
#define LSb16SemaHub_almostFull_ST_23i 7
#define bSemaHub_almostFull_ST_23i 1
#define MSK32SemaHub_almostFull_ST_23i 0x00800000
#define BA_SemaHub_almostFull_ST_24i 0x0397
#define B16SemaHub_almostFull_ST_24i 0x0396
#define LSb32SemaHub_almostFull_ST_24i 24
#define LSb16SemaHub_almostFull_ST_24i 8
#define bSemaHub_almostFull_ST_24i 1
#define MSK32SemaHub_almostFull_ST_24i 0x01000000
#define BA_SemaHub_almostFull_ST_25i 0x0397
#define B16SemaHub_almostFull_ST_25i 0x0396
#define LSb32SemaHub_almostFull_ST_25i 25
#define LSb16SemaHub_almostFull_ST_25i 9
#define bSemaHub_almostFull_ST_25i 1
#define MSK32SemaHub_almostFull_ST_25i 0x02000000
#define BA_SemaHub_almostFull_ST_26i 0x0397
#define B16SemaHub_almostFull_ST_26i 0x0396
#define LSb32SemaHub_almostFull_ST_26i 26
#define LSb16SemaHub_almostFull_ST_26i 10
#define bSemaHub_almostFull_ST_26i 1
#define MSK32SemaHub_almostFull_ST_26i 0x04000000
#define BA_SemaHub_almostFull_ST_27i 0x0397
#define B16SemaHub_almostFull_ST_27i 0x0396
#define LSb32SemaHub_almostFull_ST_27i 27
#define LSb16SemaHub_almostFull_ST_27i 11
#define bSemaHub_almostFull_ST_27i 1
#define MSK32SemaHub_almostFull_ST_27i 0x08000000
#define BA_SemaHub_almostFull_ST_28i 0x0397
#define B16SemaHub_almostFull_ST_28i 0x0396
#define LSb32SemaHub_almostFull_ST_28i 28
#define LSb16SemaHub_almostFull_ST_28i 12
#define bSemaHub_almostFull_ST_28i 1
#define MSK32SemaHub_almostFull_ST_28i 0x10000000
#define BA_SemaHub_almostFull_ST_29i 0x0397
#define B16SemaHub_almostFull_ST_29i 0x0396
#define LSb32SemaHub_almostFull_ST_29i 29
#define LSb16SemaHub_almostFull_ST_29i 13
#define bSemaHub_almostFull_ST_29i 1
#define MSK32SemaHub_almostFull_ST_29i 0x20000000
#define BA_SemaHub_almostFull_ST_30i 0x0397
#define B16SemaHub_almostFull_ST_30i 0x0396
#define LSb32SemaHub_almostFull_ST_30i 30
#define LSb16SemaHub_almostFull_ST_30i 14
#define bSemaHub_almostFull_ST_30i 1
#define MSK32SemaHub_almostFull_ST_30i 0x40000000
#define BA_SemaHub_almostFull_ST_31i 0x0397
#define B16SemaHub_almostFull_ST_31i 0x0396
#define LSb32SemaHub_almostFull_ST_31i 31
#define LSb16SemaHub_almostFull_ST_31i 15
#define bSemaHub_almostFull_ST_31i 1
#define MSK32SemaHub_almostFull_ST_31i 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_SemaHub {
///////////////////////////////////////////////////////////
SIE_SemaQuery ie_counter[64];
///////////////////////////////////////////////////////////
SIE_Semaphore ie_cell[32];
///////////////////////////////////////////////////////////
#define GET32SemaHub_PUSH_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_PUSH_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_PUSH_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_PUSH_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_PUSH_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_PUSH_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_PUSH_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_PUSH_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_PUSH {\
UNSG32 uPUSH_ID : 8;\
UNSG32 uPUSH_delta : 8;\
UNSG32 RSVDx380_b16 : 16;\
}
union { UNSG32 u32SemaHub_PUSH;
struct w32SemaHub_PUSH;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_POP_ID(r32) _BFGET_(r32, 7, 0)
#define SET32SemaHub_POP_ID(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16SemaHub_POP_ID(r16) _BFGET_(r16, 7, 0)
#define SET16SemaHub_POP_ID(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32SemaHub_POP_delta(r32) _BFGET_(r32,15, 8)
#define SET32SemaHub_POP_delta(r32,v) _BFSET_(r32,15, 8,v)
#define GET16SemaHub_POP_delta(r16) _BFGET_(r16,15, 8)
#define SET16SemaHub_POP_delta(r16,v) _BFSET_(r16,15, 8,v)
#define w32SemaHub_POP {\
UNSG32 uPOP_ID : 8;\
UNSG32 uPOP_delta : 8;\
UNSG32 RSVDx384_b16 : 16;\
}
union { UNSG32 u32SemaHub_POP;
struct w32SemaHub_POP;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_empty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_empty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_empty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_empty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_empty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_empty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_empty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_empty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_empty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_empty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_empty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_empty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_empty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_empty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_empty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_empty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_empty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_empty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_empty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_empty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_empty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_empty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_empty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_empty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_empty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_empty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_empty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_empty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_empty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_empty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_empty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_empty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_empty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_empty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_empty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_empty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_empty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_empty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_empty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_empty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_empty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_empty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_empty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_empty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_empty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_empty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_empty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_empty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_empty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_empty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_empty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_empty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_empty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_empty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_empty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_empty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_empty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_empty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_empty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_empty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_empty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_empty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_empty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_empty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_empty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_empty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_empty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_empty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_empty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_empty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_empty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_empty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_empty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_empty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_empty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_empty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_empty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_empty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_empty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_empty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_empty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_empty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_empty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_empty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_empty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_empty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_empty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_empty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_empty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_empty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_empty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_empty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_empty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_empty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_empty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_empty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_empty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_empty {\
UNSG32 uempty_ST_0i : 1;\
UNSG32 uempty_ST_1i : 1;\
UNSG32 uempty_ST_2i : 1;\
UNSG32 uempty_ST_3i : 1;\
UNSG32 uempty_ST_4i : 1;\
UNSG32 uempty_ST_5i : 1;\
UNSG32 uempty_ST_6i : 1;\
UNSG32 uempty_ST_7i : 1;\
UNSG32 uempty_ST_8i : 1;\
UNSG32 uempty_ST_9i : 1;\
UNSG32 uempty_ST_10i : 1;\
UNSG32 uempty_ST_11i : 1;\
UNSG32 uempty_ST_12i : 1;\
UNSG32 uempty_ST_13i : 1;\
UNSG32 uempty_ST_14i : 1;\
UNSG32 uempty_ST_15i : 1;\
UNSG32 uempty_ST_16i : 1;\
UNSG32 uempty_ST_17i : 1;\
UNSG32 uempty_ST_18i : 1;\
UNSG32 uempty_ST_19i : 1;\
UNSG32 uempty_ST_20i : 1;\
UNSG32 uempty_ST_21i : 1;\
UNSG32 uempty_ST_22i : 1;\
UNSG32 uempty_ST_23i : 1;\
UNSG32 uempty_ST_24i : 1;\
UNSG32 uempty_ST_25i : 1;\
UNSG32 uempty_ST_26i : 1;\
UNSG32 uempty_ST_27i : 1;\
UNSG32 uempty_ST_28i : 1;\
UNSG32 uempty_ST_29i : 1;\
UNSG32 uempty_ST_30i : 1;\
UNSG32 uempty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_empty;
struct w32SemaHub_empty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_full_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_full_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_full_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_full_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_full_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_full_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_full_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_full_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_full_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_full_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_full_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_full_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_full_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_full_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_full_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_full_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_full_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_full_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_full_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_full_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_full_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_full_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_full_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_full_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_full_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_full_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_full_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_full_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_full_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_full_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_full_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_full_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_full_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_full_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_full_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_full_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_full_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_full_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_full_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_full_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_full_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_full_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_full_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_full_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_full_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_full_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_full_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_full_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_full_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_full_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_full_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_full_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_full_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_full_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_full_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_full_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_full_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_full_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_full_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_full_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_full_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_full_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_full_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_full_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_full_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_full_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_full_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_full_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_full_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_full_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_full_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_full_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_full_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_full_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_full_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_full_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_full_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_full_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_full_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_full_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_full_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_full_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_full_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_full_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_full_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_full_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_full_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_full_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_full_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_full_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_full_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_full_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_full_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_full_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_full_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_full_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_full_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_full {\
UNSG32 ufull_ST_0i : 1;\
UNSG32 ufull_ST_1i : 1;\
UNSG32 ufull_ST_2i : 1;\
UNSG32 ufull_ST_3i : 1;\
UNSG32 ufull_ST_4i : 1;\
UNSG32 ufull_ST_5i : 1;\
UNSG32 ufull_ST_6i : 1;\
UNSG32 ufull_ST_7i : 1;\
UNSG32 ufull_ST_8i : 1;\
UNSG32 ufull_ST_9i : 1;\
UNSG32 ufull_ST_10i : 1;\
UNSG32 ufull_ST_11i : 1;\
UNSG32 ufull_ST_12i : 1;\
UNSG32 ufull_ST_13i : 1;\
UNSG32 ufull_ST_14i : 1;\
UNSG32 ufull_ST_15i : 1;\
UNSG32 ufull_ST_16i : 1;\
UNSG32 ufull_ST_17i : 1;\
UNSG32 ufull_ST_18i : 1;\
UNSG32 ufull_ST_19i : 1;\
UNSG32 ufull_ST_20i : 1;\
UNSG32 ufull_ST_21i : 1;\
UNSG32 ufull_ST_22i : 1;\
UNSG32 ufull_ST_23i : 1;\
UNSG32 ufull_ST_24i : 1;\
UNSG32 ufull_ST_25i : 1;\
UNSG32 ufull_ST_26i : 1;\
UNSG32 ufull_ST_27i : 1;\
UNSG32 ufull_ST_28i : 1;\
UNSG32 ufull_ST_29i : 1;\
UNSG32 ufull_ST_30i : 1;\
UNSG32 ufull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_full;
struct w32SemaHub_full;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostEmpty_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostEmpty_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostEmpty_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostEmpty_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostEmpty_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostEmpty_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostEmpty_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostEmpty_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostEmpty_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostEmpty_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostEmpty_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostEmpty_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostEmpty_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostEmpty_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostEmpty_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostEmpty_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostEmpty_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostEmpty_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostEmpty_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostEmpty_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostEmpty_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostEmpty_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostEmpty_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostEmpty_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostEmpty_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostEmpty_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostEmpty_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostEmpty_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostEmpty_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostEmpty_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostEmpty_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostEmpty_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostEmpty_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostEmpty_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostEmpty_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostEmpty_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostEmpty_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostEmpty_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostEmpty_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostEmpty_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostEmpty_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostEmpty_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostEmpty_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostEmpty_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostEmpty_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostEmpty_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostEmpty_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostEmpty_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostEmpty_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostEmpty_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostEmpty_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostEmpty_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostEmpty_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostEmpty_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostEmpty_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostEmpty_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostEmpty_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostEmpty_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostEmpty_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostEmpty_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostEmpty_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostEmpty_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostEmpty_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostEmpty_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostEmpty_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostEmpty_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostEmpty_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostEmpty_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostEmpty_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostEmpty_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostEmpty_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostEmpty_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostEmpty_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostEmpty_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostEmpty_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostEmpty_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostEmpty_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostEmpty_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostEmpty_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostEmpty_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostEmpty_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostEmpty_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostEmpty_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostEmpty_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostEmpty_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostEmpty_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostEmpty_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostEmpty_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostEmpty_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostEmpty_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostEmpty_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostEmpty_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostEmpty_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostEmpty_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostEmpty_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostEmpty_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostEmpty_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostEmpty {\
UNSG32 ualmostEmpty_ST_0i : 1;\
UNSG32 ualmostEmpty_ST_1i : 1;\
UNSG32 ualmostEmpty_ST_2i : 1;\
UNSG32 ualmostEmpty_ST_3i : 1;\
UNSG32 ualmostEmpty_ST_4i : 1;\
UNSG32 ualmostEmpty_ST_5i : 1;\
UNSG32 ualmostEmpty_ST_6i : 1;\
UNSG32 ualmostEmpty_ST_7i : 1;\
UNSG32 ualmostEmpty_ST_8i : 1;\
UNSG32 ualmostEmpty_ST_9i : 1;\
UNSG32 ualmostEmpty_ST_10i : 1;\
UNSG32 ualmostEmpty_ST_11i : 1;\
UNSG32 ualmostEmpty_ST_12i : 1;\
UNSG32 ualmostEmpty_ST_13i : 1;\
UNSG32 ualmostEmpty_ST_14i : 1;\
UNSG32 ualmostEmpty_ST_15i : 1;\
UNSG32 ualmostEmpty_ST_16i : 1;\
UNSG32 ualmostEmpty_ST_17i : 1;\
UNSG32 ualmostEmpty_ST_18i : 1;\
UNSG32 ualmostEmpty_ST_19i : 1;\
UNSG32 ualmostEmpty_ST_20i : 1;\
UNSG32 ualmostEmpty_ST_21i : 1;\
UNSG32 ualmostEmpty_ST_22i : 1;\
UNSG32 ualmostEmpty_ST_23i : 1;\
UNSG32 ualmostEmpty_ST_24i : 1;\
UNSG32 ualmostEmpty_ST_25i : 1;\
UNSG32 ualmostEmpty_ST_26i : 1;\
UNSG32 ualmostEmpty_ST_27i : 1;\
UNSG32 ualmostEmpty_ST_28i : 1;\
UNSG32 ualmostEmpty_ST_29i : 1;\
UNSG32 ualmostEmpty_ST_30i : 1;\
UNSG32 ualmostEmpty_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostEmpty;
struct w32SemaHub_almostEmpty;
};
///////////////////////////////////////////////////////////
#define GET32SemaHub_almostFull_ST_0i(r32) _BFGET_(r32, 0, 0)
#define SET32SemaHub_almostFull_ST_0i(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16SemaHub_almostFull_ST_0i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_0i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_1i(r32) _BFGET_(r32, 1, 1)
#define SET32SemaHub_almostFull_ST_1i(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16SemaHub_almostFull_ST_1i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_1i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_2i(r32) _BFGET_(r32, 2, 2)
#define SET32SemaHub_almostFull_ST_2i(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16SemaHub_almostFull_ST_2i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_2i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_3i(r32) _BFGET_(r32, 3, 3)
#define SET32SemaHub_almostFull_ST_3i(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16SemaHub_almostFull_ST_3i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_3i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_4i(r32) _BFGET_(r32, 4, 4)
#define SET32SemaHub_almostFull_ST_4i(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16SemaHub_almostFull_ST_4i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_4i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_5i(r32) _BFGET_(r32, 5, 5)
#define SET32SemaHub_almostFull_ST_5i(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16SemaHub_almostFull_ST_5i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_5i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_6i(r32) _BFGET_(r32, 6, 6)
#define SET32SemaHub_almostFull_ST_6i(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16SemaHub_almostFull_ST_6i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_6i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_7i(r32) _BFGET_(r32, 7, 7)
#define SET32SemaHub_almostFull_ST_7i(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16SemaHub_almostFull_ST_7i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_7i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_8i(r32) _BFGET_(r32, 8, 8)
#define SET32SemaHub_almostFull_ST_8i(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16SemaHub_almostFull_ST_8i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_8i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_9i(r32) _BFGET_(r32, 9, 9)
#define SET32SemaHub_almostFull_ST_9i(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16SemaHub_almostFull_ST_9i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_9i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_10i(r32) _BFGET_(r32,10,10)
#define SET32SemaHub_almostFull_ST_10i(r32,v) _BFSET_(r32,10,10,v)
#define GET16SemaHub_almostFull_ST_10i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_10i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_11i(r32) _BFGET_(r32,11,11)
#define SET32SemaHub_almostFull_ST_11i(r32,v) _BFSET_(r32,11,11,v)
#define GET16SemaHub_almostFull_ST_11i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_11i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_12i(r32) _BFGET_(r32,12,12)
#define SET32SemaHub_almostFull_ST_12i(r32,v) _BFSET_(r32,12,12,v)
#define GET16SemaHub_almostFull_ST_12i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_12i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_13i(r32) _BFGET_(r32,13,13)
#define SET32SemaHub_almostFull_ST_13i(r32,v) _BFSET_(r32,13,13,v)
#define GET16SemaHub_almostFull_ST_13i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_13i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_14i(r32) _BFGET_(r32,14,14)
#define SET32SemaHub_almostFull_ST_14i(r32,v) _BFSET_(r32,14,14,v)
#define GET16SemaHub_almostFull_ST_14i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_14i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_15i(r32) _BFGET_(r32,15,15)
#define SET32SemaHub_almostFull_ST_15i(r32,v) _BFSET_(r32,15,15,v)
#define GET16SemaHub_almostFull_ST_15i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_15i(r16,v) _BFSET_(r16,15,15,v)
#define GET32SemaHub_almostFull_ST_16i(r32) _BFGET_(r32,16,16)
#define SET32SemaHub_almostFull_ST_16i(r32,v) _BFSET_(r32,16,16,v)
#define GET16SemaHub_almostFull_ST_16i(r16) _BFGET_(r16, 0, 0)
#define SET16SemaHub_almostFull_ST_16i(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32SemaHub_almostFull_ST_17i(r32) _BFGET_(r32,17,17)
#define SET32SemaHub_almostFull_ST_17i(r32,v) _BFSET_(r32,17,17,v)
#define GET16SemaHub_almostFull_ST_17i(r16) _BFGET_(r16, 1, 1)
#define SET16SemaHub_almostFull_ST_17i(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32SemaHub_almostFull_ST_18i(r32) _BFGET_(r32,18,18)
#define SET32SemaHub_almostFull_ST_18i(r32,v) _BFSET_(r32,18,18,v)
#define GET16SemaHub_almostFull_ST_18i(r16) _BFGET_(r16, 2, 2)
#define SET16SemaHub_almostFull_ST_18i(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32SemaHub_almostFull_ST_19i(r32) _BFGET_(r32,19,19)
#define SET32SemaHub_almostFull_ST_19i(r32,v) _BFSET_(r32,19,19,v)
#define GET16SemaHub_almostFull_ST_19i(r16) _BFGET_(r16, 3, 3)
#define SET16SemaHub_almostFull_ST_19i(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32SemaHub_almostFull_ST_20i(r32) _BFGET_(r32,20,20)
#define SET32SemaHub_almostFull_ST_20i(r32,v) _BFSET_(r32,20,20,v)
#define GET16SemaHub_almostFull_ST_20i(r16) _BFGET_(r16, 4, 4)
#define SET16SemaHub_almostFull_ST_20i(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32SemaHub_almostFull_ST_21i(r32) _BFGET_(r32,21,21)
#define SET32SemaHub_almostFull_ST_21i(r32,v) _BFSET_(r32,21,21,v)
#define GET16SemaHub_almostFull_ST_21i(r16) _BFGET_(r16, 5, 5)
#define SET16SemaHub_almostFull_ST_21i(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32SemaHub_almostFull_ST_22i(r32) _BFGET_(r32,22,22)
#define SET32SemaHub_almostFull_ST_22i(r32,v) _BFSET_(r32,22,22,v)
#define GET16SemaHub_almostFull_ST_22i(r16) _BFGET_(r16, 6, 6)
#define SET16SemaHub_almostFull_ST_22i(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32SemaHub_almostFull_ST_23i(r32) _BFGET_(r32,23,23)
#define SET32SemaHub_almostFull_ST_23i(r32,v) _BFSET_(r32,23,23,v)
#define GET16SemaHub_almostFull_ST_23i(r16) _BFGET_(r16, 7, 7)
#define SET16SemaHub_almostFull_ST_23i(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32SemaHub_almostFull_ST_24i(r32) _BFGET_(r32,24,24)
#define SET32SemaHub_almostFull_ST_24i(r32,v) _BFSET_(r32,24,24,v)
#define GET16SemaHub_almostFull_ST_24i(r16) _BFGET_(r16, 8, 8)
#define SET16SemaHub_almostFull_ST_24i(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32SemaHub_almostFull_ST_25i(r32) _BFGET_(r32,25,25)
#define SET32SemaHub_almostFull_ST_25i(r32,v) _BFSET_(r32,25,25,v)
#define GET16SemaHub_almostFull_ST_25i(r16) _BFGET_(r16, 9, 9)
#define SET16SemaHub_almostFull_ST_25i(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32SemaHub_almostFull_ST_26i(r32) _BFGET_(r32,26,26)
#define SET32SemaHub_almostFull_ST_26i(r32,v) _BFSET_(r32,26,26,v)
#define GET16SemaHub_almostFull_ST_26i(r16) _BFGET_(r16,10,10)
#define SET16SemaHub_almostFull_ST_26i(r16,v) _BFSET_(r16,10,10,v)
#define GET32SemaHub_almostFull_ST_27i(r32) _BFGET_(r32,27,27)
#define SET32SemaHub_almostFull_ST_27i(r32,v) _BFSET_(r32,27,27,v)
#define GET16SemaHub_almostFull_ST_27i(r16) _BFGET_(r16,11,11)
#define SET16SemaHub_almostFull_ST_27i(r16,v) _BFSET_(r16,11,11,v)
#define GET32SemaHub_almostFull_ST_28i(r32) _BFGET_(r32,28,28)
#define SET32SemaHub_almostFull_ST_28i(r32,v) _BFSET_(r32,28,28,v)
#define GET16SemaHub_almostFull_ST_28i(r16) _BFGET_(r16,12,12)
#define SET16SemaHub_almostFull_ST_28i(r16,v) _BFSET_(r16,12,12,v)
#define GET32SemaHub_almostFull_ST_29i(r32) _BFGET_(r32,29,29)
#define SET32SemaHub_almostFull_ST_29i(r32,v) _BFSET_(r32,29,29,v)
#define GET16SemaHub_almostFull_ST_29i(r16) _BFGET_(r16,13,13)
#define SET16SemaHub_almostFull_ST_29i(r16,v) _BFSET_(r16,13,13,v)
#define GET32SemaHub_almostFull_ST_30i(r32) _BFGET_(r32,30,30)
#define SET32SemaHub_almostFull_ST_30i(r32,v) _BFSET_(r32,30,30,v)
#define GET16SemaHub_almostFull_ST_30i(r16) _BFGET_(r16,14,14)
#define SET16SemaHub_almostFull_ST_30i(r16,v) _BFSET_(r16,14,14,v)
#define GET32SemaHub_almostFull_ST_31i(r32) _BFGET_(r32,31,31)
#define SET32SemaHub_almostFull_ST_31i(r32,v) _BFSET_(r32,31,31,v)
#define GET16SemaHub_almostFull_ST_31i(r16) _BFGET_(r16,15,15)
#define SET16SemaHub_almostFull_ST_31i(r16,v) _BFSET_(r16,15,15,v)
#define w32SemaHub_almostFull {\
UNSG32 ualmostFull_ST_0i : 1;\
UNSG32 ualmostFull_ST_1i : 1;\
UNSG32 ualmostFull_ST_2i : 1;\
UNSG32 ualmostFull_ST_3i : 1;\
UNSG32 ualmostFull_ST_4i : 1;\
UNSG32 ualmostFull_ST_5i : 1;\
UNSG32 ualmostFull_ST_6i : 1;\
UNSG32 ualmostFull_ST_7i : 1;\
UNSG32 ualmostFull_ST_8i : 1;\
UNSG32 ualmostFull_ST_9i : 1;\
UNSG32 ualmostFull_ST_10i : 1;\
UNSG32 ualmostFull_ST_11i : 1;\
UNSG32 ualmostFull_ST_12i : 1;\
UNSG32 ualmostFull_ST_13i : 1;\
UNSG32 ualmostFull_ST_14i : 1;\
UNSG32 ualmostFull_ST_15i : 1;\
UNSG32 ualmostFull_ST_16i : 1;\
UNSG32 ualmostFull_ST_17i : 1;\
UNSG32 ualmostFull_ST_18i : 1;\
UNSG32 ualmostFull_ST_19i : 1;\
UNSG32 ualmostFull_ST_20i : 1;\
UNSG32 ualmostFull_ST_21i : 1;\
UNSG32 ualmostFull_ST_22i : 1;\
UNSG32 ualmostFull_ST_23i : 1;\
UNSG32 ualmostFull_ST_24i : 1;\
UNSG32 ualmostFull_ST_25i : 1;\
UNSG32 ualmostFull_ST_26i : 1;\
UNSG32 ualmostFull_ST_27i : 1;\
UNSG32 ualmostFull_ST_28i : 1;\
UNSG32 ualmostFull_ST_29i : 1;\
UNSG32 ualmostFull_ST_30i : 1;\
UNSG32 ualmostFull_ST_31i : 1;\
}
union { UNSG32 u32SemaHub_almostFull;
struct w32SemaHub_almostFull;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx398 [104];
///////////////////////////////////////////////////////////
} SIE_SemaHub;
typedef union T32SemaHub_PUSH
{ UNSG32 u32;
struct w32SemaHub_PUSH;
} T32SemaHub_PUSH;
typedef union T32SemaHub_POP
{ UNSG32 u32;
struct w32SemaHub_POP;
} T32SemaHub_POP;
typedef union T32SemaHub_empty
{ UNSG32 u32;
struct w32SemaHub_empty;
} T32SemaHub_empty;
typedef union T32SemaHub_full
{ UNSG32 u32;
struct w32SemaHub_full;
} T32SemaHub_full;
typedef union T32SemaHub_almostEmpty
{ UNSG32 u32;
struct w32SemaHub_almostEmpty;
} T32SemaHub_almostEmpty;
typedef union T32SemaHub_almostFull
{ UNSG32 u32;
struct w32SemaHub_almostFull;
} T32SemaHub_almostFull;
///////////////////////////////////////////////////////////
typedef union TSemaHub_PUSH
{ UNSG32 u32[1];
struct {
struct w32SemaHub_PUSH;
};
} TSemaHub_PUSH;
typedef union TSemaHub_POP
{ UNSG32 u32[1];
struct {
struct w32SemaHub_POP;
};
} TSemaHub_POP;
typedef union TSemaHub_empty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_empty;
};
} TSemaHub_empty;
typedef union TSemaHub_full
{ UNSG32 u32[1];
struct {
struct w32SemaHub_full;
};
} TSemaHub_full;
typedef union TSemaHub_almostEmpty
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostEmpty;
};
} TSemaHub_almostEmpty;
typedef union TSemaHub_almostFull
{ UNSG32 u32[1];
struct {
struct w32SemaHub_almostFull;
};
} TSemaHub_almostFull;
///////////////////////////////////////////////////////////
SIGN32 SemaHub_drvrd(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 SemaHub_drvwr(SIE_SemaHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void SemaHub_reset(SIE_SemaHub *p);
SIGN32 SemaHub_cmp (SIE_SemaHub *p, SIE_SemaHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define SemaHub_check(p,pie,pfx,hLOG) SemaHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define SemaHub_print(p, pfx,hLOG) SemaHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: SemaHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FiFo biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 20 BASE
/// ###
/// * Base address (byte-address) of a FIFO in the shared SRAM. A channel's read/write pointers will be added to this “BASE” to get exact location of shared SRAM.
/// * Note: aligned with base SRAM data bus.
/// * For example, if SRAM data is 64-bit, then base[2:0] should be 3'b0;
/// ###
/// %% 12 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to this register will enable this channel, or 0 to this register will disable this channel.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to clear FIFO pointers to 0.
/// * Note :
/// * CPU should make sure to disabled the channel (write 0 to START_EN register) before issue clear command, otherwise the clear request will be ignored.
/// * Do not restart the channel when clear operation is in process.
/// * HW will make sure there is no pending transactions before execute the clear operation.
/// * Associated semaphore cell needs reset separately by re-write “CFG_DEPTH”
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * No support for now
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 23b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FiFo
#define h_FiFo (){}
#define RA_FiFo_CFG 0x0000
#define BA_FiFo_CFG_BASE 0x0000
#define B16FiFo_CFG_BASE 0x0000
#define LSb32FiFo_CFG_BASE 0
#define LSb16FiFo_CFG_BASE 0
#define bFiFo_CFG_BASE 20
#define MSK32FiFo_CFG_BASE 0x000FFFFF
///////////////////////////////////////////////////////////
#define RA_FiFo_START 0x0004
#define BA_FiFo_START_EN 0x0004
#define B16FiFo_START_EN 0x0004
#define LSb32FiFo_START_EN 0
#define LSb16FiFo_START_EN 0
#define bFiFo_START_EN 1
#define MSK32FiFo_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_CLEAR 0x0008
#define BA_FiFo_CLEAR_EN 0x0008
#define B16FiFo_CLEAR_EN 0x0008
#define LSb32FiFo_CLEAR_EN 0
#define LSb16FiFo_CLEAR_EN 0
#define bFiFo_CLEAR_EN 1
#define MSK32FiFo_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_FiFo_FLUSH 0x000C
#define BA_FiFo_FLUSH_EN 0x000C
#define B16FiFo_FLUSH_EN 0x000C
#define LSb32FiFo_FLUSH_EN 0
#define LSb16FiFo_FLUSH_EN 0
#define bFiFo_FLUSH_EN 1
#define MSK32FiFo_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_FiFo {
///////////////////////////////////////////////////////////
#define GET32FiFo_CFG_BASE(r32) _BFGET_(r32,19, 0)
#define SET32FiFo_CFG_BASE(r32,v) _BFSET_(r32,19, 0,v)
#define w32FiFo_CFG {\
UNSG32 uCFG_BASE : 20;\
UNSG32 RSVDx0_b20 : 12;\
}
union { UNSG32 u32FiFo_CFG;
struct w32FiFo_CFG;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32FiFo_START;
struct w32FiFo_START;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32FiFo_CLEAR;
struct w32FiFo_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32FiFo_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32FiFo_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16FiFo_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16FiFo_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32FiFo_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32FiFo_FLUSH;
struct w32FiFo_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_FiFo;
typedef union T32FiFo_CFG
{ UNSG32 u32;
struct w32FiFo_CFG;
} T32FiFo_CFG;
typedef union T32FiFo_START
{ UNSG32 u32;
struct w32FiFo_START;
} T32FiFo_START;
typedef union T32FiFo_CLEAR
{ UNSG32 u32;
struct w32FiFo_CLEAR;
} T32FiFo_CLEAR;
typedef union T32FiFo_FLUSH
{ UNSG32 u32;
struct w32FiFo_FLUSH;
} T32FiFo_FLUSH;
///////////////////////////////////////////////////////////
typedef union TFiFo_CFG
{ UNSG32 u32[1];
struct {
struct w32FiFo_CFG;
};
} TFiFo_CFG;
typedef union TFiFo_START
{ UNSG32 u32[1];
struct {
struct w32FiFo_START;
};
} TFiFo_START;
typedef union TFiFo_CLEAR
{ UNSG32 u32[1];
struct {
struct w32FiFo_CLEAR;
};
} TFiFo_CLEAR;
typedef union TFiFo_FLUSH
{ UNSG32 u32[1];
struct {
struct w32FiFo_FLUSH;
};
} TFiFo_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 FiFo_drvrd(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FiFo_drvwr(SIE_FiFo *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FiFo_reset(SIE_FiFo *p);
SIGN32 FiFo_cmp (SIE_FiFo *p, SIE_FiFo *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FiFo_check(p,pie,pfx,hLOG) FiFo_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FiFo_print(p, pfx,hLOG) FiFo_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FiFo
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HBO biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 FiFoCtl
/// $SemaHub FiFoCtl REG
/// @ 0x00400 ARR (P)
/// # 0x00400 FiFo
/// $FiFo FiFo REG [32]
/// ###
/// * Up-to 32 FIFO channels
/// * FiFo[N] is controlled by HBO.FiFoCtl.Channel[N]
/// ###
/// @ 0x00600 BUSY (R-)
/// %unsigned 32 ST
/// ###
/// * Per channel status
/// * Indicate the clear operation status.
/// * 1: clear is in process.
/// * 0 : clear is done.
/// ###
/// @ 0x00604 (W-)
/// # # Stuffing bytes...
/// %% 2016
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 1792B, bits: 1920b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HBO
#define h_HBO (){}
#define RA_HBO_FiFoCtl 0x0000
///////////////////////////////////////////////////////////
#define RA_HBO_ARR 0x0400
#define RA_HBO_FiFo 0x0400
///////////////////////////////////////////////////////////
#define RA_HBO_BUSY 0x0600
#define BA_HBO_BUSY_ST 0x0600
#define B16HBO_BUSY_ST 0x0600
#define LSb32HBO_BUSY_ST 0
#define LSb16HBO_BUSY_ST 0
#define bHBO_BUSY_ST 32
#define MSK32HBO_BUSY_ST 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_HBO {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_FiFoCtl;
///////////////////////////////////////////////////////////
SIE_FiFo ie_FiFo[32];
///////////////////////////////////////////////////////////
#define GET32HBO_BUSY_ST(r32) _BFGET_(r32,31, 0)
#define SET32HBO_BUSY_ST(r32,v) _BFSET_(r32,31, 0,v)
#define w32HBO_BUSY {\
UNSG32 uBUSY_ST : 32;\
}
union { UNSG32 u32HBO_BUSY;
struct w32HBO_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx604 [252];
///////////////////////////////////////////////////////////
} SIE_HBO;
typedef union T32HBO_BUSY
{ UNSG32 u32;
struct w32HBO_BUSY;
} T32HBO_BUSY;
///////////////////////////////////////////////////////////
typedef union THBO_BUSY
{ UNSG32 u32[1];
struct {
struct w32HBO_BUSY;
};
} THBO_BUSY;
///////////////////////////////////////////////////////////
SIGN32 HBO_drvrd(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HBO_drvwr(SIE_HBO *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HBO_reset(SIE_HBO *p);
SIGN32 HBO_cmp (SIE_HBO *p, SIE_HBO *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HBO_check(p,pie,pfx,hLOG) HBO_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HBO_print(p, pfx,hLOG) HBO_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HBO
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LLDesFmt biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 mem (P)
/// %unsigned 16 size
/// ###
/// * The size of one piece of scattered memory.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LLDesFmt
#define h_LLDesFmt (){}
#define RA_LLDesFmt_mem 0x0000
#define BA_LLDesFmt_mem_size 0x0000
#define B16LLDesFmt_mem_size 0x0000
#define LSb32LLDesFmt_mem_size 0
#define LSb16LLDesFmt_mem_size 0
#define bLLDesFmt_mem_size 16
#define MSK32LLDesFmt_mem_size 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_LLDesFmt {
///////////////////////////////////////////////////////////
#define GET32LLDesFmt_mem_size(r32) _BFGET_(r32,15, 0)
#define SET32LLDesFmt_mem_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16LLDesFmt_mem_size(r16) _BFGET_(r16,15, 0)
#define SET16LLDesFmt_mem_size(r16,v) _BFSET_(r16,15, 0,v)
#define w32LLDesFmt_mem {\
UNSG32 umem_size : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32LLDesFmt_mem;
struct w32LLDesFmt_mem;
};
///////////////////////////////////////////////////////////
} SIE_LLDesFmt;
typedef union T32LLDesFmt_mem
{ UNSG32 u32;
struct w32LLDesFmt_mem;
} T32LLDesFmt_mem;
///////////////////////////////////////////////////////////
typedef union TLLDesFmt_mem
{ UNSG32 u32[1];
struct {
struct w32LLDesFmt_mem;
};
} TLLDesFmt_mem;
///////////////////////////////////////////////////////////
SIGN32 LLDesFmt_drvrd(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LLDesFmt_drvwr(SIE_LLDesFmt *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LLDesFmt_reset(SIE_LLDesFmt *p);
SIGN32 LLDesFmt_cmp (SIE_LLDesFmt *p, SIE_LLDesFmt *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LLDesFmt_check(p,pie,pfx,hLOG) LLDesFmt_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LLDesFmt_print(p, pfx,hLOG) LLDesFmt_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LLDesFmt
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmdHDR (4,4)
/// ###
/// * 32-bit dHub command header
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 DESC (W-)
/// %unsigned 16 size
/// ###
/// * amount of data to be transferred, in bytes or MTU.
/// * Size of 0 is forbidden.
/// ###
/// %unsigned 1 sizeMTU
/// ###
/// * 0: size given in bytes;
/// * 1: size given in MTU (see dHubChCtl.CFG.MTU for MTU size definition)
/// ###
/// %unsigned 1 semOpMTU
/// ###
/// * 0: semaphore operations applied on dHubCmd level
/// * 1: semaphore operations applied on MTU level
/// ###
/// %unsigned 5 chkSemId
/// ###
/// * ID of semaphore to check before cmd / MTU;
/// * 0 indicates semaphore check is disabled
/// ###
/// %unsigned 5 updSemId
/// ###
/// * ID of semaphore to update after cmd / MTU;
/// * 0 indicates semaphore update is disabled
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon command finish
/// * end dHubCmdHDR
/// ###
/// %% 3 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 29b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmdHDR
#define h_dHubCmdHDR (){}
#define RA_dHubCmdHDR_DESC 0x0000
#define BA_dHubCmdHDR_DESC_size 0x0000
#define B16dHubCmdHDR_DESC_size 0x0000
#define LSb32dHubCmdHDR_DESC_size 0
#define LSb16dHubCmdHDR_DESC_size 0
#define bdHubCmdHDR_DESC_size 16
#define MSK32dHubCmdHDR_DESC_size 0x0000FFFF
#define BA_dHubCmdHDR_DESC_sizeMTU 0x0002
#define B16dHubCmdHDR_DESC_sizeMTU 0x0002
#define LSb32dHubCmdHDR_DESC_sizeMTU 16
#define LSb16dHubCmdHDR_DESC_sizeMTU 0
#define bdHubCmdHDR_DESC_sizeMTU 1
#define MSK32dHubCmdHDR_DESC_sizeMTU 0x00010000
#define BA_dHubCmdHDR_DESC_semOpMTU 0x0002
#define B16dHubCmdHDR_DESC_semOpMTU 0x0002
#define LSb32dHubCmdHDR_DESC_semOpMTU 17
#define LSb16dHubCmdHDR_DESC_semOpMTU 1
#define bdHubCmdHDR_DESC_semOpMTU 1
#define MSK32dHubCmdHDR_DESC_semOpMTU 0x00020000
#define BA_dHubCmdHDR_DESC_chkSemId 0x0002
#define B16dHubCmdHDR_DESC_chkSemId 0x0002
#define LSb32dHubCmdHDR_DESC_chkSemId 18
#define LSb16dHubCmdHDR_DESC_chkSemId 2
#define bdHubCmdHDR_DESC_chkSemId 5
#define MSK32dHubCmdHDR_DESC_chkSemId 0x007C0000
#define BA_dHubCmdHDR_DESC_updSemId 0x0002
#define B16dHubCmdHDR_DESC_updSemId 0x0002
#define LSb32dHubCmdHDR_DESC_updSemId 23
#define LSb16dHubCmdHDR_DESC_updSemId 7
#define bdHubCmdHDR_DESC_updSemId 5
#define MSK32dHubCmdHDR_DESC_updSemId 0x0F800000
#define BA_dHubCmdHDR_DESC_interrupt 0x0003
#define B16dHubCmdHDR_DESC_interrupt 0x0002
#define LSb32dHubCmdHDR_DESC_interrupt 28
#define LSb16dHubCmdHDR_DESC_interrupt 12
#define bdHubCmdHDR_DESC_interrupt 1
#define MSK32dHubCmdHDR_DESC_interrupt 0x10000000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmdHDR {
///////////////////////////////////////////////////////////
#define GET32dHubCmdHDR_DESC_size(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmdHDR_DESC_size(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmdHDR_DESC_size(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmdHDR_DESC_size(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmdHDR_DESC_sizeMTU(r32) _BFGET_(r32,16,16)
#define SET32dHubCmdHDR_DESC_sizeMTU(r32,v) _BFSET_(r32,16,16,v)
#define GET16dHubCmdHDR_DESC_sizeMTU(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmdHDR_DESC_sizeMTU(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32dHubCmdHDR_DESC_semOpMTU(r32) _BFGET_(r32,17,17)
#define SET32dHubCmdHDR_DESC_semOpMTU(r32,v) _BFSET_(r32,17,17,v)
#define GET16dHubCmdHDR_DESC_semOpMTU(r16) _BFGET_(r16, 1, 1)
#define SET16dHubCmdHDR_DESC_semOpMTU(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32dHubCmdHDR_DESC_chkSemId(r32) _BFGET_(r32,22,18)
#define SET32dHubCmdHDR_DESC_chkSemId(r32,v) _BFSET_(r32,22,18,v)
#define GET16dHubCmdHDR_DESC_chkSemId(r16) _BFGET_(r16, 6, 2)
#define SET16dHubCmdHDR_DESC_chkSemId(r16,v) _BFSET_(r16, 6, 2,v)
#define GET32dHubCmdHDR_DESC_updSemId(r32) _BFGET_(r32,27,23)
#define SET32dHubCmdHDR_DESC_updSemId(r32,v) _BFSET_(r32,27,23,v)
#define GET16dHubCmdHDR_DESC_updSemId(r16) _BFGET_(r16,11, 7)
#define SET16dHubCmdHDR_DESC_updSemId(r16,v) _BFSET_(r16,11, 7,v)
#define GET32dHubCmdHDR_DESC_interrupt(r32) _BFGET_(r32,28,28)
#define SET32dHubCmdHDR_DESC_interrupt(r32,v) _BFSET_(r32,28,28,v)
#define GET16dHubCmdHDR_DESC_interrupt(r16) _BFGET_(r16,12,12)
#define SET16dHubCmdHDR_DESC_interrupt(r16,v) _BFSET_(r16,12,12,v)
#define w32dHubCmdHDR_DESC {\
UNSG32 uDESC_size : 16;\
UNSG32 uDESC_sizeMTU : 1;\
UNSG32 uDESC_semOpMTU : 1;\
UNSG32 uDESC_chkSemId : 5;\
UNSG32 uDESC_updSemId : 5;\
UNSG32 uDESC_interrupt : 1;\
UNSG32 RSVDx0_b29 : 3;\
}
union { UNSG32 u32dHubCmdHDR_DESC;
struct w32dHubCmdHDR_DESC;
};
///////////////////////////////////////////////////////////
} SIE_dHubCmdHDR;
typedef union T32dHubCmdHDR_DESC
{ UNSG32 u32;
struct w32dHubCmdHDR_DESC;
} T32dHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
typedef union TdHubCmdHDR_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmdHDR_DESC;
};
} TdHubCmdHDR_DESC;
///////////////////////////////////////////////////////////
SIGN32 dHubCmdHDR_drvrd(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmdHDR_drvwr(SIE_dHubCmdHDR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmdHDR_reset(SIE_dHubCmdHDR *p);
SIGN32 dHubCmdHDR_cmp (SIE_dHubCmdHDR *p, SIE_dHubCmdHDR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmdHDR_check(p,pie,pfx,hLOG) dHubCmdHDR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmdHDR_print(p, pfx,hLOG) dHubCmdHDR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmdHDR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd biu (4,4)
/// ###
/// * 64-bit dHub command issued by read/write masters
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address, in bytes; not necessarily MTU aligned.
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// # 0x00004 HDR
/// $dHubCmdHDR HDR REG
/// ###
/// * end dHubCmd
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 61b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd
#define h_dHubCmd (){}
#define RA_dHubCmd_MEM 0x0000
#define BA_dHubCmd_MEM_addr 0x0000
#define B16dHubCmd_MEM_addr 0x0000
#define LSb32dHubCmd_MEM_addr 0
#define LSb16dHubCmd_MEM_addr 0
#define bdHubCmd_MEM_addr 32
#define MSK32dHubCmd_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd_HDR 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd {
///////////////////////////////////////////////////////////
#define GET32dHubCmd_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd_MEM;
struct w32dHubCmd_MEM;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR;
///////////////////////////////////////////////////////////
} SIE_dHubCmd;
typedef union T32dHubCmd_MEM
{ UNSG32 u32;
struct w32dHubCmd_MEM;
} T32dHubCmd_MEM;
///////////////////////////////////////////////////////////
typedef union TdHubCmd_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd_MEM;
};
} TdHubCmd_MEM;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd_drvrd(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd_drvwr(SIE_dHubCmd *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd_reset(SIE_dHubCmd *p);
SIGN32 dHubCmd_cmp (SIE_dHubCmd *p, SIE_dHubCmd *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd_check(p,pie,pfx,hLOG) dHubCmd_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd_print(p, pfx,hLOG) dHubCmd_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubChannel biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CFG (W-)
/// %unsigned 2 MTU
/// : 8byte 0x0
/// : 32byte 0x1
/// : 128byte 0x2
/// : 1024byte 0x3
/// ###
/// * Minimum transfer unit of the channel
/// ###
/// %unsigned 1 QoS
/// ###
/// * Write 1 to turn on QoS detection
/// ###
/// %unsigned 1 selfLoop
/// ###
/// * Write 1 to enable cmd looping support; 0 to turn off
/// ###
/// %unsigned 1 intrCtl 0x0
/// : cmdDone 0x0
/// : chIdle 0x1
/// ###
/// * 0 : default vlaue, the interrupt is triggered by the finish of the dHub command if the interrupt bit is defined in the dHub command.
/// * 1 : The interrupt is triggered if the dHub channel is idle ( no busy and no pending and the corresponding dHub command Q is empty).
/// ###
/// %% 27 # Stuffing bits...
/// @ 0x00004 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00008 CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the channel controller state
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C FLUSH (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to start the data flushing process. Invalid for read (M2H) channels
/// * end dHubChannel
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 8b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubChannel
#define h_dHubChannel (){}
#define RA_dHubChannel_CFG 0x0000
#define BA_dHubChannel_CFG_MTU 0x0000
#define B16dHubChannel_CFG_MTU 0x0000
#define LSb32dHubChannel_CFG_MTU 0
#define LSb16dHubChannel_CFG_MTU 0
#define bdHubChannel_CFG_MTU 2
#define MSK32dHubChannel_CFG_MTU 0x00000003
#define dHubChannel_CFG_MTU_8byte 0x0
#define dHubChannel_CFG_MTU_32byte 0x1
#define dHubChannel_CFG_MTU_128byte 0x2
#define dHubChannel_CFG_MTU_1024byte 0x3
#define BA_dHubChannel_CFG_QoS 0x0000
#define B16dHubChannel_CFG_QoS 0x0000
#define LSb32dHubChannel_CFG_QoS 2
#define LSb16dHubChannel_CFG_QoS 2
#define bdHubChannel_CFG_QoS 1
#define MSK32dHubChannel_CFG_QoS 0x00000004
#define BA_dHubChannel_CFG_selfLoop 0x0000
#define B16dHubChannel_CFG_selfLoop 0x0000
#define LSb32dHubChannel_CFG_selfLoop 3
#define LSb16dHubChannel_CFG_selfLoop 3
#define bdHubChannel_CFG_selfLoop 1
#define MSK32dHubChannel_CFG_selfLoop 0x00000008
#define BA_dHubChannel_CFG_intrCtl 0x0000
#define B16dHubChannel_CFG_intrCtl 0x0000
#define LSb32dHubChannel_CFG_intrCtl 4
#define LSb16dHubChannel_CFG_intrCtl 4
#define bdHubChannel_CFG_intrCtl 1
#define MSK32dHubChannel_CFG_intrCtl 0x00000010
#define dHubChannel_CFG_intrCtl_cmdDone 0x0
#define dHubChannel_CFG_intrCtl_chIdle 0x1
///////////////////////////////////////////////////////////
#define RA_dHubChannel_START 0x0004
#define BA_dHubChannel_START_EN 0x0004
#define B16dHubChannel_START_EN 0x0004
#define LSb32dHubChannel_START_EN 0
#define LSb16dHubChannel_START_EN 0
#define bdHubChannel_START_EN 1
#define MSK32dHubChannel_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_CLEAR 0x0008
#define BA_dHubChannel_CLEAR_EN 0x0008
#define B16dHubChannel_CLEAR_EN 0x0008
#define LSb32dHubChannel_CLEAR_EN 0
#define LSb16dHubChannel_CLEAR_EN 0
#define bdHubChannel_CLEAR_EN 1
#define MSK32dHubChannel_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubChannel_FLUSH 0x000C
#define BA_dHubChannel_FLUSH_EN 0x000C
#define B16dHubChannel_FLUSH_EN 0x000C
#define LSb32dHubChannel_FLUSH_EN 0
#define LSb16dHubChannel_FLUSH_EN 0
#define bdHubChannel_FLUSH_EN 1
#define MSK32dHubChannel_FLUSH_EN 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_dHubChannel {
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CFG_MTU(r32) _BFGET_(r32, 1, 0)
#define SET32dHubChannel_CFG_MTU(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16dHubChannel_CFG_MTU(r16) _BFGET_(r16, 1, 0)
#define SET16dHubChannel_CFG_MTU(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32dHubChannel_CFG_QoS(r32) _BFGET_(r32, 2, 2)
#define SET32dHubChannel_CFG_QoS(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16dHubChannel_CFG_QoS(r16) _BFGET_(r16, 2, 2)
#define SET16dHubChannel_CFG_QoS(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32dHubChannel_CFG_selfLoop(r32) _BFGET_(r32, 3, 3)
#define SET32dHubChannel_CFG_selfLoop(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16dHubChannel_CFG_selfLoop(r16) _BFGET_(r16, 3, 3)
#define SET16dHubChannel_CFG_selfLoop(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32dHubChannel_CFG_intrCtl(r32) _BFGET_(r32, 4, 4)
#define SET32dHubChannel_CFG_intrCtl(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16dHubChannel_CFG_intrCtl(r16) _BFGET_(r16, 4, 4)
#define SET16dHubChannel_CFG_intrCtl(r16,v) _BFSET_(r16, 4, 4,v)
#define w32dHubChannel_CFG {\
UNSG32 uCFG_MTU : 2;\
UNSG32 uCFG_QoS : 1;\
UNSG32 uCFG_selfLoop : 1;\
UNSG32 uCFG_intrCtl : 1;\
UNSG32 RSVDx0_b5 : 27;\
}
union { UNSG32 u32dHubChannel_CFG;
struct w32dHubChannel_CFG;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx4_b1 : 31;\
}
union { UNSG32 u32dHubChannel_START;
struct w32dHubChannel_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubChannel_CLEAR;
struct w32dHubChannel_CLEAR;
};
///////////////////////////////////////////////////////////
#define GET32dHubChannel_FLUSH_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubChannel_FLUSH_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubChannel_FLUSH_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubChannel_FLUSH_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubChannel_FLUSH {\
UNSG32 uFLUSH_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubChannel_FLUSH;
struct w32dHubChannel_FLUSH;
};
///////////////////////////////////////////////////////////
} SIE_dHubChannel;
typedef union T32dHubChannel_CFG
{ UNSG32 u32;
struct w32dHubChannel_CFG;
} T32dHubChannel_CFG;
typedef union T32dHubChannel_START
{ UNSG32 u32;
struct w32dHubChannel_START;
} T32dHubChannel_START;
typedef union T32dHubChannel_CLEAR
{ UNSG32 u32;
struct w32dHubChannel_CLEAR;
} T32dHubChannel_CLEAR;
typedef union T32dHubChannel_FLUSH
{ UNSG32 u32;
struct w32dHubChannel_FLUSH;
} T32dHubChannel_FLUSH;
///////////////////////////////////////////////////////////
typedef union TdHubChannel_CFG
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CFG;
};
} TdHubChannel_CFG;
typedef union TdHubChannel_START
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_START;
};
} TdHubChannel_START;
typedef union TdHubChannel_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_CLEAR;
};
} TdHubChannel_CLEAR;
typedef union TdHubChannel_FLUSH
{ UNSG32 u32[1];
struct {
struct w32dHubChannel_FLUSH;
};
} TdHubChannel_FLUSH;
///////////////////////////////////////////////////////////
SIGN32 dHubChannel_drvrd(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubChannel_drvwr(SIE_dHubChannel *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubChannel_reset(SIE_dHubChannel *p);
SIGN32 dHubChannel_cmp (SIE_dHubChannel *p, SIE_dHubChannel *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubChannel_check(p,pie,pfx,hLOG) dHubChannel_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubChannel_print(p, pfx,hLOG) dHubChannel_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubChannel
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 SemaHub
/// $SemaHub SemaHub REG
/// ###
/// * For dHub internal interrupts, also provide semaphore service for external (all channels will be opened to external to access).
/// * Channel 0 is used for dHub.HBO interrupt.
/// * Channel N+1 is used for dHub.Channel[N] interrupt.
/// ###
/// @ 0x00400 (P)
/// # 0x00400 HBO
/// $HBO HBO REG
/// ###
/// * For dHub channels (command/data queues), also provide (unused) FIFO service for external.
/// * Channel 2N is used for dHub.Channel[N] command.
/// * Channel 2N+1 is used for dHub.Channel[N] data.
/// ###
/// @ 0x00B00 ARR (P)
/// # 0x00B00 channelCtl
/// $dHubChannel channelCtl REG [16]
/// ###
/// * Up-to 16 channels
/// ###
/// @ 0x00C00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed, and no flushing is taking place
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C04 PENDING (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: Response queue is empty, meaning no outstanding AXI transactions
/// * 1: there exist some outstanding AXI transactions
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C08 busRstEn (RW-)
/// %unsigned 1 reg 0x0
/// ###
/// * Write one to this register will trigger gate-keeper to take over the AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C0C busRstDone (R-)
/// %unsigned 1 reg 0x1
/// ###
/// * After gate-keeper take over the AXI bus, it will assert this bit once there is no outstanding transactions on AXI bus.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00C10 flowCtl (P)
/// %unsigned 8 rAlpha 0x0
/// %unsigned 8 wAlpha 0x0
/// ###
/// * Flow control parameter for read and write axi master.
/// * clkCnt=(alpha*bstLen)>>4.
/// * This # of clock cycles will be blocked for the axi master after an axi command with the burst length of “bstLen”.
/// * When set alpha to be 0, the master will never be blocked.
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00C14 axiCmdCol (P)
/// %unsigned 16 rCnt 0x0
/// %unsigned 16 wCnt 0x0
/// ###
/// * Axi command collection. The counter value indicate read/write do the command collection for # of clock cycles, start from the first command pushed to an empty command Q. Here are the conditions that will trigger the Axi master to send out command.
/// * Cmd Q full or the counter count down to “0” from the programmed value.
/// * Set the counter to 0 will disable the command collection.
/// * end dHubReg
/// ###
/// @ 0x00C18 (W-)
/// # # Stuffing bytes...
/// %% 1856
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 3328B, bits: 3282b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg
#define h_dHubReg (){}
#define RA_dHubReg_SemaHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg_HBO 0x0400
///////////////////////////////////////////////////////////
#define RA_dHubReg_ARR 0x0B00
#define RA_dHubReg_channelCtl 0x0B00
///////////////////////////////////////////////////////////
#define RA_dHubReg_BUSY 0x0C00
#define BA_dHubReg_BUSY_ST 0x0C00
#define B16dHubReg_BUSY_ST 0x0C00
#define LSb32dHubReg_BUSY_ST 0
#define LSb16dHubReg_BUSY_ST 0
#define bdHubReg_BUSY_ST 16
#define MSK32dHubReg_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_PENDING 0x0C04
#define BA_dHubReg_PENDING_ST 0x0C04
#define B16dHubReg_PENDING_ST 0x0C04
#define LSb32dHubReg_PENDING_ST 0
#define LSb16dHubReg_PENDING_ST 0
#define bdHubReg_PENDING_ST 16
#define MSK32dHubReg_PENDING_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstEn 0x0C08
#define BA_dHubReg_busRstEn_reg 0x0C08
#define B16dHubReg_busRstEn_reg 0x0C08
#define LSb32dHubReg_busRstEn_reg 0
#define LSb16dHubReg_busRstEn_reg 0
#define bdHubReg_busRstEn_reg 1
#define MSK32dHubReg_busRstEn_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_busRstDone 0x0C0C
#define BA_dHubReg_busRstDone_reg 0x0C0C
#define B16dHubReg_busRstDone_reg 0x0C0C
#define LSb32dHubReg_busRstDone_reg 0
#define LSb16dHubReg_busRstDone_reg 0
#define bdHubReg_busRstDone_reg 1
#define MSK32dHubReg_busRstDone_reg 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubReg_flowCtl 0x0C10
#define BA_dHubReg_flowCtl_rAlpha 0x0C10
#define B16dHubReg_flowCtl_rAlpha 0x0C10
#define LSb32dHubReg_flowCtl_rAlpha 0
#define LSb16dHubReg_flowCtl_rAlpha 0
#define bdHubReg_flowCtl_rAlpha 8
#define MSK32dHubReg_flowCtl_rAlpha 0x000000FF
#define BA_dHubReg_flowCtl_wAlpha 0x0C11
#define B16dHubReg_flowCtl_wAlpha 0x0C10
#define LSb32dHubReg_flowCtl_wAlpha 8
#define LSb16dHubReg_flowCtl_wAlpha 8
#define bdHubReg_flowCtl_wAlpha 8
#define MSK32dHubReg_flowCtl_wAlpha 0x0000FF00
///////////////////////////////////////////////////////////
#define RA_dHubReg_axiCmdCol 0x0C14
#define BA_dHubReg_axiCmdCol_rCnt 0x0C14
#define B16dHubReg_axiCmdCol_rCnt 0x0C14
#define LSb32dHubReg_axiCmdCol_rCnt 0
#define LSb16dHubReg_axiCmdCol_rCnt 0
#define bdHubReg_axiCmdCol_rCnt 16
#define MSK32dHubReg_axiCmdCol_rCnt 0x0000FFFF
#define BA_dHubReg_axiCmdCol_wCnt 0x0C16
#define B16dHubReg_axiCmdCol_wCnt 0x0C16
#define LSb32dHubReg_axiCmdCol_wCnt 16
#define LSb16dHubReg_axiCmdCol_wCnt 0
#define bdHubReg_axiCmdCol_wCnt 16
#define MSK32dHubReg_axiCmdCol_wCnt 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg {
///////////////////////////////////////////////////////////
SIE_SemaHub ie_SemaHub;
///////////////////////////////////////////////////////////
SIE_HBO ie_HBO;
///////////////////////////////////////////////////////////
SIE_dHubChannel ie_channelCtl[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxC00_b16 : 16;\
}
union { UNSG32 u32dHubReg_BUSY;
struct w32dHubReg_BUSY;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_PENDING_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_PENDING_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_PENDING_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_PENDING_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_PENDING {\
UNSG32 uPENDING_ST : 16;\
UNSG32 RSVDxC04_b16 : 16;\
}
union { UNSG32 u32dHubReg_PENDING;
struct w32dHubReg_PENDING;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstEn_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstEn_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstEn_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstEn_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstEn {\
UNSG32 ubusRstEn_reg : 1;\
UNSG32 RSVDxC08_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstEn;
struct w32dHubReg_busRstEn;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_busRstDone_reg(r32) _BFGET_(r32, 0, 0)
#define SET32dHubReg_busRstDone_reg(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubReg_busRstDone_reg(r16) _BFGET_(r16, 0, 0)
#define SET16dHubReg_busRstDone_reg(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubReg_busRstDone {\
UNSG32 ubusRstDone_reg : 1;\
UNSG32 RSVDxC0C_b1 : 31;\
}
union { UNSG32 u32dHubReg_busRstDone;
struct w32dHubReg_busRstDone;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_flowCtl_rAlpha(r32) _BFGET_(r32, 7, 0)
#define SET32dHubReg_flowCtl_rAlpha(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16dHubReg_flowCtl_rAlpha(r16) _BFGET_(r16, 7, 0)
#define SET16dHubReg_flowCtl_rAlpha(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32dHubReg_flowCtl_wAlpha(r32) _BFGET_(r32,15, 8)
#define SET32dHubReg_flowCtl_wAlpha(r32,v) _BFSET_(r32,15, 8,v)
#define GET16dHubReg_flowCtl_wAlpha(r16) _BFGET_(r16,15, 8)
#define SET16dHubReg_flowCtl_wAlpha(r16,v) _BFSET_(r16,15, 8,v)
#define w32dHubReg_flowCtl {\
UNSG32 uflowCtl_rAlpha : 8;\
UNSG32 uflowCtl_wAlpha : 8;\
UNSG32 RSVDxC10_b16 : 16;\
}
union { UNSG32 u32dHubReg_flowCtl;
struct w32dHubReg_flowCtl;
};
///////////////////////////////////////////////////////////
#define GET32dHubReg_axiCmdCol_rCnt(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg_axiCmdCol_rCnt(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg_axiCmdCol_rCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_rCnt(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubReg_axiCmdCol_wCnt(r32) _BFGET_(r32,31,16)
#define SET32dHubReg_axiCmdCol_wCnt(r32,v) _BFSET_(r32,31,16,v)
#define GET16dHubReg_axiCmdCol_wCnt(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg_axiCmdCol_wCnt(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg_axiCmdCol {\
UNSG32 uaxiCmdCol_rCnt : 16;\
UNSG32 uaxiCmdCol_wCnt : 16;\
}
union { UNSG32 u32dHubReg_axiCmdCol;
struct w32dHubReg_axiCmdCol;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxC18 [232];
///////////////////////////////////////////////////////////
} SIE_dHubReg;
typedef union T32dHubReg_BUSY
{ UNSG32 u32;
struct w32dHubReg_BUSY;
} T32dHubReg_BUSY;
typedef union T32dHubReg_PENDING
{ UNSG32 u32;
struct w32dHubReg_PENDING;
} T32dHubReg_PENDING;
typedef union T32dHubReg_busRstEn
{ UNSG32 u32;
struct w32dHubReg_busRstEn;
} T32dHubReg_busRstEn;
typedef union T32dHubReg_busRstDone
{ UNSG32 u32;
struct w32dHubReg_busRstDone;
} T32dHubReg_busRstDone;
typedef union T32dHubReg_flowCtl
{ UNSG32 u32;
struct w32dHubReg_flowCtl;
} T32dHubReg_flowCtl;
typedef union T32dHubReg_axiCmdCol
{ UNSG32 u32;
struct w32dHubReg_axiCmdCol;
} T32dHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
typedef union TdHubReg_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg_BUSY;
};
} TdHubReg_BUSY;
typedef union TdHubReg_PENDING
{ UNSG32 u32[1];
struct {
struct w32dHubReg_PENDING;
};
} TdHubReg_PENDING;
typedef union TdHubReg_busRstEn
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstEn;
};
} TdHubReg_busRstEn;
typedef union TdHubReg_busRstDone
{ UNSG32 u32[1];
struct {
struct w32dHubReg_busRstDone;
};
} TdHubReg_busRstDone;
typedef union TdHubReg_flowCtl
{ UNSG32 u32[1];
struct {
struct w32dHubReg_flowCtl;
};
} TdHubReg_flowCtl;
typedef union TdHubReg_axiCmdCol
{ UNSG32 u32[1];
struct {
struct w32dHubReg_axiCmdCol;
};
} TdHubReg_axiCmdCol;
///////////////////////////////////////////////////////////
SIGN32 dHubReg_drvrd(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg_drvwr(SIE_dHubReg *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg_reset(SIE_dHubReg *p);
SIGN32 dHubReg_cmp (SIE_dHubReg *p, SIE_dHubReg *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg_check(p,pie,pfx,hLOG) dHubReg_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg_print(p, pfx,hLOG) dHubReg_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubCmd2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 MEM (W-)
/// %unsigned 32 addr
/// ###
/// * DRAM data address of the 2D buffer, in bytes.
/// ###
/// @ 0x00004 DESC (W-)
/// %unsigned 16 stride
/// ###
/// * Line stride size in bytes
/// ###
/// %unsigned 13 numLine
/// ###
/// * Number of lines in buffer. Size of 0 is forbidden.
/// ###
/// %unsigned 2 hdrLoop
/// ###
/// * Size of line-loop for choosing dHubCmdHDR
/// * 0 is treated as 4
/// ###
/// %unsigned 1 interrupt
/// ###
/// * 1: raise interrupt upon whole 2D command finish.
/// * 1: set the last 1D command interrupt bit.
/// * 0 : use the default 1D command interrupt bit.
/// ###
/// @ 0x00008 START (W-)
/// %unsigned 1 EN 0x0
/// ###
/// * Write 1 to enable the channel; 0 to pause the channel
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C CLEAR (W-)
/// %unsigned 1 EN
/// ###
/// * Write anything to reset the 2D engine.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x00010 (P)
/// # 0x00010 HDR
/// $dHubCmdHDR HDR REG [4]
/// ###
/// * Headers used in generating dHubCmd for each line in looping order, loop size (1,2,3,4) specified by DESC_hdrLoop
/// * end dHubCmd2D
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 32B, bits: 182b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubCmd2D
#define h_dHubCmd2D (){}
#define RA_dHubCmd2D_MEM 0x0000
#define BA_dHubCmd2D_MEM_addr 0x0000
#define B16dHubCmd2D_MEM_addr 0x0000
#define LSb32dHubCmd2D_MEM_addr 0
#define LSb16dHubCmd2D_MEM_addr 0
#define bdHubCmd2D_MEM_addr 32
#define MSK32dHubCmd2D_MEM_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_DESC 0x0004
#define BA_dHubCmd2D_DESC_stride 0x0004
#define B16dHubCmd2D_DESC_stride 0x0004
#define LSb32dHubCmd2D_DESC_stride 0
#define LSb16dHubCmd2D_DESC_stride 0
#define bdHubCmd2D_DESC_stride 16
#define MSK32dHubCmd2D_DESC_stride 0x0000FFFF
#define BA_dHubCmd2D_DESC_numLine 0x0006
#define B16dHubCmd2D_DESC_numLine 0x0006
#define LSb32dHubCmd2D_DESC_numLine 16
#define LSb16dHubCmd2D_DESC_numLine 0
#define bdHubCmd2D_DESC_numLine 13
#define MSK32dHubCmd2D_DESC_numLine 0x1FFF0000
#define BA_dHubCmd2D_DESC_hdrLoop 0x0007
#define B16dHubCmd2D_DESC_hdrLoop 0x0006
#define LSb32dHubCmd2D_DESC_hdrLoop 29
#define LSb16dHubCmd2D_DESC_hdrLoop 13
#define bdHubCmd2D_DESC_hdrLoop 2
#define MSK32dHubCmd2D_DESC_hdrLoop 0x60000000
#define BA_dHubCmd2D_DESC_interrupt 0x0007
#define B16dHubCmd2D_DESC_interrupt 0x0006
#define LSb32dHubCmd2D_DESC_interrupt 31
#define LSb16dHubCmd2D_DESC_interrupt 15
#define bdHubCmd2D_DESC_interrupt 1
#define MSK32dHubCmd2D_DESC_interrupt 0x80000000
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_START 0x0008
#define BA_dHubCmd2D_START_EN 0x0008
#define B16dHubCmd2D_START_EN 0x0008
#define LSb32dHubCmd2D_START_EN 0
#define LSb16dHubCmd2D_START_EN 0
#define bdHubCmd2D_START_EN 1
#define MSK32dHubCmd2D_START_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_CLEAR 0x000C
#define BA_dHubCmd2D_CLEAR_EN 0x000C
#define B16dHubCmd2D_CLEAR_EN 0x000C
#define LSb32dHubCmd2D_CLEAR_EN 0
#define LSb16dHubCmd2D_CLEAR_EN 0
#define bdHubCmd2D_CLEAR_EN 1
#define MSK32dHubCmd2D_CLEAR_EN 0x00000001
///////////////////////////////////////////////////////////
#define RA_dHubCmd2D_HDR 0x0010
///////////////////////////////////////////////////////////
typedef struct SIE_dHubCmd2D {
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_MEM_addr(r32) _BFGET_(r32,31, 0)
#define SET32dHubCmd2D_MEM_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32dHubCmd2D_MEM {\
UNSG32 uMEM_addr : 32;\
}
union { UNSG32 u32dHubCmd2D_MEM;
struct w32dHubCmd2D_MEM;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_DESC_stride(r32) _BFGET_(r32,15, 0)
#define SET32dHubCmd2D_DESC_stride(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubCmd2D_DESC_stride(r16) _BFGET_(r16,15, 0)
#define SET16dHubCmd2D_DESC_stride(r16,v) _BFSET_(r16,15, 0,v)
#define GET32dHubCmd2D_DESC_numLine(r32) _BFGET_(r32,28,16)
#define SET32dHubCmd2D_DESC_numLine(r32,v) _BFSET_(r32,28,16,v)
#define GET16dHubCmd2D_DESC_numLine(r16) _BFGET_(r16,12, 0)
#define SET16dHubCmd2D_DESC_numLine(r16,v) _BFSET_(r16,12, 0,v)
#define GET32dHubCmd2D_DESC_hdrLoop(r32) _BFGET_(r32,30,29)
#define SET32dHubCmd2D_DESC_hdrLoop(r32,v) _BFSET_(r32,30,29,v)
#define GET16dHubCmd2D_DESC_hdrLoop(r16) _BFGET_(r16,14,13)
#define SET16dHubCmd2D_DESC_hdrLoop(r16,v) _BFSET_(r16,14,13,v)
#define GET32dHubCmd2D_DESC_interrupt(r32) _BFGET_(r32,31,31)
#define SET32dHubCmd2D_DESC_interrupt(r32,v) _BFSET_(r32,31,31,v)
#define GET16dHubCmd2D_DESC_interrupt(r16) _BFGET_(r16,15,15)
#define SET16dHubCmd2D_DESC_interrupt(r16,v) _BFSET_(r16,15,15,v)
#define w32dHubCmd2D_DESC {\
UNSG32 uDESC_stride : 16;\
UNSG32 uDESC_numLine : 13;\
UNSG32 uDESC_hdrLoop : 2;\
UNSG32 uDESC_interrupt : 1;\
}
union { UNSG32 u32dHubCmd2D_DESC;
struct w32dHubCmd2D_DESC;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_START_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_START_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_START_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_START_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_START {\
UNSG32 uSTART_EN : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_START;
struct w32dHubCmd2D_START;
};
///////////////////////////////////////////////////////////
#define GET32dHubCmd2D_CLEAR_EN(r32) _BFGET_(r32, 0, 0)
#define SET32dHubCmd2D_CLEAR_EN(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16dHubCmd2D_CLEAR_EN(r16) _BFGET_(r16, 0, 0)
#define SET16dHubCmd2D_CLEAR_EN(r16,v) _BFSET_(r16, 0, 0,v)
#define w32dHubCmd2D_CLEAR {\
UNSG32 uCLEAR_EN : 1;\
UNSG32 RSVDxC_b1 : 31;\
}
union { UNSG32 u32dHubCmd2D_CLEAR;
struct w32dHubCmd2D_CLEAR;
};
///////////////////////////////////////////////////////////
SIE_dHubCmdHDR ie_HDR[4];
///////////////////////////////////////////////////////////
} SIE_dHubCmd2D;
typedef union T32dHubCmd2D_MEM
{ UNSG32 u32;
struct w32dHubCmd2D_MEM;
} T32dHubCmd2D_MEM;
typedef union T32dHubCmd2D_DESC
{ UNSG32 u32;
struct w32dHubCmd2D_DESC;
} T32dHubCmd2D_DESC;
typedef union T32dHubCmd2D_START
{ UNSG32 u32;
struct w32dHubCmd2D_START;
} T32dHubCmd2D_START;
typedef union T32dHubCmd2D_CLEAR
{ UNSG32 u32;
struct w32dHubCmd2D_CLEAR;
} T32dHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
typedef union TdHubCmd2D_MEM
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_MEM;
};
} TdHubCmd2D_MEM;
typedef union TdHubCmd2D_DESC
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_DESC;
};
} TdHubCmd2D_DESC;
typedef union TdHubCmd2D_START
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_START;
};
} TdHubCmd2D_START;
typedef union TdHubCmd2D_CLEAR
{ UNSG32 u32[1];
struct {
struct w32dHubCmd2D_CLEAR;
};
} TdHubCmd2D_CLEAR;
///////////////////////////////////////////////////////////
SIGN32 dHubCmd2D_drvrd(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubCmd2D_drvwr(SIE_dHubCmd2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubCmd2D_reset(SIE_dHubCmd2D *p);
SIGN32 dHubCmd2D_cmp (SIE_dHubCmd2D *p, SIE_dHubCmd2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubCmd2D_check(p,pie,pfx,hLOG) dHubCmd2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubCmd2D_print(p, pfx,hLOG) dHubCmd2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubCmd2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubQuery (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 RESP (R-)
/// %unsigned 16 ST
/// ###
/// * Dhub channel state machine status.
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubQuery
#define h_dHubQuery (){}
#define RA_dHubQuery_RESP 0x0000
#define BA_dHubQuery_RESP_ST 0x0000
#define B16dHubQuery_RESP_ST 0x0000
#define LSb32dHubQuery_RESP_ST 0
#define LSb16dHubQuery_RESP_ST 0
#define bdHubQuery_RESP_ST 16
#define MSK32dHubQuery_RESP_ST 0x0000FFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dHubQuery {
///////////////////////////////////////////////////////////
#define GET32dHubQuery_RESP_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubQuery_RESP_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubQuery_RESP_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubQuery_RESP_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubQuery_RESP {\
UNSG32 uRESP_ST : 16;\
UNSG32 RSVDx0_b16 : 16;\
}
union { UNSG32 u32dHubQuery_RESP;
struct w32dHubQuery_RESP;
};
///////////////////////////////////////////////////////////
} SIE_dHubQuery;
typedef union T32dHubQuery_RESP
{ UNSG32 u32;
struct w32dHubQuery_RESP;
} T32dHubQuery_RESP;
///////////////////////////////////////////////////////////
typedef union TdHubQuery_RESP
{ UNSG32 u32[1];
struct {
struct w32dHubQuery_RESP;
};
} TdHubQuery_RESP;
///////////////////////////////////////////////////////////
SIGN32 dHubQuery_drvrd(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubQuery_drvwr(SIE_dHubQuery *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubQuery_reset(SIE_dHubQuery *p);
SIGN32 dHubQuery_cmp (SIE_dHubQuery *p, SIE_dHubQuery *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubQuery_check(p,pie,pfx,hLOG) dHubQuery_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubQuery_print(p, pfx,hLOG) dHubQuery_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubQuery
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dHubReg2D biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 dHub
/// $dHubReg dHub REG
/// @ 0x00D00 ARR (P)
/// # 0x00D00 Cmd2D
/// $dHubCmd2D Cmd2D REG [16]
/// ###
/// * Up-to 16 2D channels.
/// * 2D Channel[N] is connected to dHub.Channel[N] command queue, that is, dHub.HBO.Channel[2N]
/// * Note: Number of 2D channels could be less than dHub channels (rest of are 1D only)
/// ###
/// @ 0x00F00 BUSY (R-)
/// %unsigned 16 ST
/// ###
/// * Per channel status
/// * 0: no ongoing command is being processed
/// * 1: channel controller is busy
/// ###
/// %% 16 # Stuffing bits...
/// @ 0x00F04 (W-)
/// # # Stuffing bytes...
/// %% 480
/// @ 0x00F40 (P)
/// # 0x00F40 CH_ST
/// $dHubQuery CH_ST MEM [16]
/// ###
/// * end dHubReg2D
/// ###
/// @ 0x00F80 (W-)
/// # # Stuffing bytes...
/// %% 1024
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4096B, bits: 6242b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dHubReg2D
#define h_dHubReg2D (){}
#define RA_dHubReg2D_dHub 0x0000
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_ARR 0x0D00
#define RA_dHubReg2D_Cmd2D 0x0D00
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_BUSY 0x0F00
#define BA_dHubReg2D_BUSY_ST 0x0F00
#define B16dHubReg2D_BUSY_ST 0x0F00
#define LSb32dHubReg2D_BUSY_ST 0
#define LSb16dHubReg2D_BUSY_ST 0
#define bdHubReg2D_BUSY_ST 16
#define MSK32dHubReg2D_BUSY_ST 0x0000FFFF
///////////////////////////////////////////////////////////
#define RA_dHubReg2D_CH_ST 0x0F40
///////////////////////////////////////////////////////////
typedef struct SIE_dHubReg2D {
///////////////////////////////////////////////////////////
SIE_dHubReg ie_dHub;
///////////////////////////////////////////////////////////
SIE_dHubCmd2D ie_Cmd2D[16];
///////////////////////////////////////////////////////////
#define GET32dHubReg2D_BUSY_ST(r32) _BFGET_(r32,15, 0)
#define SET32dHubReg2D_BUSY_ST(r32,v) _BFSET_(r32,15, 0,v)
#define GET16dHubReg2D_BUSY_ST(r16) _BFGET_(r16,15, 0)
#define SET16dHubReg2D_BUSY_ST(r16,v) _BFSET_(r16,15, 0,v)
#define w32dHubReg2D_BUSY {\
UNSG32 uBUSY_ST : 16;\
UNSG32 RSVDxF00_b16 : 16;\
}
union { UNSG32 u32dHubReg2D_BUSY;
struct w32dHubReg2D_BUSY;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDxF04 [60];
///////////////////////////////////////////////////////////
SIE_dHubQuery ie_CH_ST[16];
///////////////////////////////////////////////////////////
UNSG8 RSVDxF80 [128];
///////////////////////////////////////////////////////////
} SIE_dHubReg2D;
typedef union T32dHubReg2D_BUSY
{ UNSG32 u32;
struct w32dHubReg2D_BUSY;
} T32dHubReg2D_BUSY;
///////////////////////////////////////////////////////////
typedef union TdHubReg2D_BUSY
{ UNSG32 u32[1];
struct {
struct w32dHubReg2D_BUSY;
};
} TdHubReg2D_BUSY;
///////////////////////////////////////////////////////////
SIGN32 dHubReg2D_drvrd(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dHubReg2D_drvwr(SIE_dHubReg2D *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dHubReg2D_reset(SIE_dHubReg2D *p);
SIGN32 dHubReg2D_cmp (SIE_dHubReg2D *p, SIE_dHubReg2D *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dHubReg2D_check(p,pie,pfx,hLOG) dHubReg2D_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dHubReg2D_print(p, pfx,hLOG) dHubReg2D_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dHubReg2D
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcTblEntry (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 word
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcTblEntry
#define h_crcTblEntry (){}
#define BA_crcTblEntry_word 0x0000
#define B16crcTblEntry_word 0x0000
#define LSb32crcTblEntry_word 0
#define LSb16crcTblEntry_word 0
#define bcrcTblEntry_word 32
#define MSK32crcTblEntry_word 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_crcTblEntry {
///////////////////////////////////////////////////////////
#define GET32crcTblEntry_word(r32) _BFGET_(r32,31, 0)
#define SET32crcTblEntry_word(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word : 32;
///////////////////////////////////////////////////////////
} SIE_crcTblEntry;
///////////////////////////////////////////////////////////
SIGN32 crcTblEntry_drvrd(SIE_crcTblEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcTblEntry_drvwr(SIE_crcTblEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcTblEntry_reset(SIE_crcTblEntry *p);
SIGN32 crcTblEntry_cmp (SIE_crcTblEntry *p, SIE_crcTblEntry *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcTblEntry_check(p,pie,pfx,hLOG) crcTblEntry_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcTblEntry_print(p, pfx,hLOG) crcTblEntry_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcTblEntry
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcCell biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 Auto (P)
/// %unsigned 1 clr_sum 0x1
/// %unsigned 1 clr_cnt 0x1
/// %unsigned 1 latch 0x1
/// ###
/// * “1” to enable the auto operation
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00004 Manual (RW-)
/// %unsigned 1 clr_sum
/// %unsigned 1 clr_cnt
/// %unsigned 1 latch
/// ###
/// * Write 1 the bit field for corresponding manual operation.
/// ###
/// %% 29 # Stuffing bits...
/// @ 0x00008 Latch (P)
/// %unsigned 32 cnt 0x64
/// ###
/// * When auto latch is enabled, the latch operation will be triggered when the number of data transaction is reached.
/// ###
/// @ 0x0000C cnt (R-)
/// %unsigned 32 val
/// ###
/// * The data transaction counter.
/// ###
/// @ 0x00010 (W-)
/// # # Stuffing bytes...
/// %% 128
/// @ 0x00020 CRCTBL (R-)
/// # 0x00020 sum
/// $crcTblEntry sum MEM [8]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 102b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcCell
#define h_crcCell (){}
#define RA_crcCell_Auto 0x0000
#define BA_crcCell_Auto_clr_sum 0x0000
#define B16crcCell_Auto_clr_sum 0x0000
#define LSb32crcCell_Auto_clr_sum 0
#define LSb16crcCell_Auto_clr_sum 0
#define bcrcCell_Auto_clr_sum 1
#define MSK32crcCell_Auto_clr_sum 0x00000001
#define BA_crcCell_Auto_clr_cnt 0x0000
#define B16crcCell_Auto_clr_cnt 0x0000
#define LSb32crcCell_Auto_clr_cnt 1
#define LSb16crcCell_Auto_clr_cnt 1
#define bcrcCell_Auto_clr_cnt 1
#define MSK32crcCell_Auto_clr_cnt 0x00000002
#define BA_crcCell_Auto_latch 0x0000
#define B16crcCell_Auto_latch 0x0000
#define LSb32crcCell_Auto_latch 2
#define LSb16crcCell_Auto_latch 2
#define bcrcCell_Auto_latch 1
#define MSK32crcCell_Auto_latch 0x00000004
///////////////////////////////////////////////////////////
#define RA_crcCell_Manual 0x0004
#define BA_crcCell_Manual_clr_sum 0x0004
#define B16crcCell_Manual_clr_sum 0x0004
#define LSb32crcCell_Manual_clr_sum 0
#define LSb16crcCell_Manual_clr_sum 0
#define bcrcCell_Manual_clr_sum 1
#define MSK32crcCell_Manual_clr_sum 0x00000001
#define BA_crcCell_Manual_clr_cnt 0x0004
#define B16crcCell_Manual_clr_cnt 0x0004
#define LSb32crcCell_Manual_clr_cnt 1
#define LSb16crcCell_Manual_clr_cnt 1
#define bcrcCell_Manual_clr_cnt 1
#define MSK32crcCell_Manual_clr_cnt 0x00000002
#define BA_crcCell_Manual_latch 0x0004
#define B16crcCell_Manual_latch 0x0004
#define LSb32crcCell_Manual_latch 2
#define LSb16crcCell_Manual_latch 2
#define bcrcCell_Manual_latch 1
#define MSK32crcCell_Manual_latch 0x00000004
///////////////////////////////////////////////////////////
#define RA_crcCell_Latch 0x0008
#define BA_crcCell_Latch_cnt 0x0008
#define B16crcCell_Latch_cnt 0x0008
#define LSb32crcCell_Latch_cnt 0
#define LSb16crcCell_Latch_cnt 0
#define bcrcCell_Latch_cnt 32
#define MSK32crcCell_Latch_cnt 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_crcCell_cnt 0x000C
#define BA_crcCell_cnt_val 0x000C
#define B16crcCell_cnt_val 0x000C
#define LSb32crcCell_cnt_val 0
#define LSb16crcCell_cnt_val 0
#define bcrcCell_cnt_val 32
#define MSK32crcCell_cnt_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_crcCell_CRCTBL 0x0020
#define RA_crcCell_sum 0x0020
///////////////////////////////////////////////////////////
typedef struct SIE_crcCell {
///////////////////////////////////////////////////////////
#define GET32crcCell_Auto_clr_sum(r32) _BFGET_(r32, 0, 0)
#define SET32crcCell_Auto_clr_sum(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16crcCell_Auto_clr_sum(r16) _BFGET_(r16, 0, 0)
#define SET16crcCell_Auto_clr_sum(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32crcCell_Auto_clr_cnt(r32) _BFGET_(r32, 1, 1)
#define SET32crcCell_Auto_clr_cnt(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16crcCell_Auto_clr_cnt(r16) _BFGET_(r16, 1, 1)
#define SET16crcCell_Auto_clr_cnt(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32crcCell_Auto_latch(r32) _BFGET_(r32, 2, 2)
#define SET32crcCell_Auto_latch(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16crcCell_Auto_latch(r16) _BFGET_(r16, 2, 2)
#define SET16crcCell_Auto_latch(r16,v) _BFSET_(r16, 2, 2,v)
#define w32crcCell_Auto {\
UNSG32 uAuto_clr_sum : 1;\
UNSG32 uAuto_clr_cnt : 1;\
UNSG32 uAuto_latch : 1;\
UNSG32 RSVDx0_b3 : 29;\
}
union { UNSG32 u32crcCell_Auto;
struct w32crcCell_Auto;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_Manual_clr_sum(r32) _BFGET_(r32, 0, 0)
#define SET32crcCell_Manual_clr_sum(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16crcCell_Manual_clr_sum(r16) _BFGET_(r16, 0, 0)
#define SET16crcCell_Manual_clr_sum(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32crcCell_Manual_clr_cnt(r32) _BFGET_(r32, 1, 1)
#define SET32crcCell_Manual_clr_cnt(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16crcCell_Manual_clr_cnt(r16) _BFGET_(r16, 1, 1)
#define SET16crcCell_Manual_clr_cnt(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32crcCell_Manual_latch(r32) _BFGET_(r32, 2, 2)
#define SET32crcCell_Manual_latch(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16crcCell_Manual_latch(r16) _BFGET_(r16, 2, 2)
#define SET16crcCell_Manual_latch(r16,v) _BFSET_(r16, 2, 2,v)
#define w32crcCell_Manual {\
UNSG32 uManual_clr_sum : 1;\
UNSG32 uManual_clr_cnt : 1;\
UNSG32 uManual_latch : 1;\
UNSG32 RSVDx4_b3 : 29;\
}
union { UNSG32 u32crcCell_Manual;
struct w32crcCell_Manual;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_Latch_cnt(r32) _BFGET_(r32,31, 0)
#define SET32crcCell_Latch_cnt(r32,v) _BFSET_(r32,31, 0,v)
#define w32crcCell_Latch {\
UNSG32 uLatch_cnt : 32;\
}
union { UNSG32 u32crcCell_Latch;
struct w32crcCell_Latch;
};
///////////////////////////////////////////////////////////
#define GET32crcCell_cnt_val(r32) _BFGET_(r32,31, 0)
#define SET32crcCell_cnt_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32crcCell_cnt {\
UNSG32 ucnt_val : 32;\
}
union { UNSG32 u32crcCell_cnt;
struct w32crcCell_cnt;
};
///////////////////////////////////////////////////////////
UNSG8 RSVDx10 [16];
///////////////////////////////////////////////////////////
SIE_crcTblEntry ie_sum[8];
///////////////////////////////////////////////////////////
} SIE_crcCell;
typedef union T32crcCell_Auto
{ UNSG32 u32;
struct w32crcCell_Auto;
} T32crcCell_Auto;
typedef union T32crcCell_Manual
{ UNSG32 u32;
struct w32crcCell_Manual;
} T32crcCell_Manual;
typedef union T32crcCell_Latch
{ UNSG32 u32;
struct w32crcCell_Latch;
} T32crcCell_Latch;
typedef union T32crcCell_cnt
{ UNSG32 u32;
struct w32crcCell_cnt;
} T32crcCell_cnt;
///////////////////////////////////////////////////////////
typedef union TcrcCell_Auto
{ UNSG32 u32[1];
struct {
struct w32crcCell_Auto;
};
} TcrcCell_Auto;
typedef union TcrcCell_Manual
{ UNSG32 u32[1];
struct {
struct w32crcCell_Manual;
};
} TcrcCell_Manual;
typedef union TcrcCell_Latch
{ UNSG32 u32[1];
struct {
struct w32crcCell_Latch;
};
} TcrcCell_Latch;
typedef union TcrcCell_cnt
{ UNSG32 u32[1];
struct {
struct w32crcCell_cnt;
};
} TcrcCell_cnt;
///////////////////////////////////////////////////////////
SIGN32 crcCell_drvrd(SIE_crcCell *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcCell_drvwr(SIE_crcCell *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcCell_reset(SIE_crcCell *p);
SIGN32 crcCell_cmp (SIE_crcCell *p, SIE_crcCell *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcCell_check(p,pie,pfx,hLOG) crcCell_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcCell_print(p, pfx,hLOG) crcCell_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcCell
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcArr biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCARR (P)
/// # 0x00000 crcArr
/// $crcCell crcArr REG [8]
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 816b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcArr
#define h_crcArr (){}
#define RA_crcArr_CRCARR 0x0000
#define RA_crcArr_crcArr 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_crcArr {
///////////////////////////////////////////////////////////
SIE_crcCell ie_crcArr[8];
///////////////////////////////////////////////////////////
} SIE_crcArr;
///////////////////////////////////////////////////////////
SIGN32 crcArr_drvrd(SIE_crcArr *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcArr_drvwr(SIE_crcArr *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcArr_reset(SIE_crcArr *p);
SIGN32 crcArr_cmp (SIE_crcArr *p, SIE_crcArr *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcArr_check(p,pie,pfx,hLOG) crcArr_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcArr_print(p, pfx,hLOG) crcArr_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcArr
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE crcHub biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCARR (P)
/// # 0x00000 crcArr0
/// $crcArr crcArr0 REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 816b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_crcHub
#define h_crcHub (){}
#define RA_crcHub_CRCARR 0x0000
#define RA_crcHub_crcArr0 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_crcHub {
///////////////////////////////////////////////////////////
SIE_crcArr ie_crcArr0;
///////////////////////////////////////////////////////////
} SIE_crcHub;
///////////////////////////////////////////////////////////
SIGN32 crcHub_drvrd(SIE_crcHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 crcHub_drvwr(SIE_crcHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void crcHub_reset(SIE_crcHub *p);
SIGN32 crcHub_cmp (SIE_crcHub *p, SIE_crcHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define crcHub_check(p,pie,pfx,hLOG) crcHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define crcHub_print(p, pfx,hLOG) crcHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: crcHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vProVFC biu (4,4)
/// ###
/// * vPro input data format converter. Convert raster scan data to tile format.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 FLOW (P-)
/// %unsigned 1 enable 0x0
/// %% 31 # Stuffing bits...
/// @ 0x00004 CTRL (P)
/// %unsigned 2 mode 0x0
/// : UYVY 0x0
/// : PLANAR 0x1
/// : SEMIPLANAR 0x2
/// %% 30 # Stuffing bits...
/// @ 0x00008 STATUS (R-)
/// %unsigned 1 done 0x0
/// ###
/// * Write 0 to CTRL.enable to clear done status.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x0000C BASE_Y (P)
/// %unsigned 32 addr 0x0
/// ###
/// * Also be used as base address of UYVY mode.
/// ###
/// @ 0x00010 BASE_CB (P)
/// %unsigned 32 addr 0x0
/// @ 0x00014 BASE_CR (P)
/// %unsigned 32 addr 0x0
/// @ 0x00018 SIZE (P)
/// %unsigned 16 width 0x0
/// %unsigned 16 height 0x0
/// ###
/// * UYVY mode: size of whole frame buffer.
/// * PLANAR mode: size of Y plane.
/// ###
/// @ 0x0001C STRIDE (P)
/// %unsigned 16 luma 0x0
/// %unsigned 16 chroma 0x0
/// ###
/// * Stride side (pixel). UYVY mode re-use luma bitfield.
/// * Should be configured to 32-byte aligned.
/// ###
/// @ 0x00020 BURST (P)
/// %unsigned 2 size 0x0
/// : B32 0x0
/// : B64 0x1
/// : B128 0x2
/// : B256 0x3
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 166b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vProVFC
#define h_vProVFC (){}
#define RA_vProVFC_FLOW 0x0000
#define BA_vProVFC_FLOW_enable 0x0000
#define B16vProVFC_FLOW_enable 0x0000
#define LSb32vProVFC_FLOW_enable 0
#define LSb16vProVFC_FLOW_enable 0
#define bvProVFC_FLOW_enable 1
#define MSK32vProVFC_FLOW_enable 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProVFC_CTRL 0x0004
#define BA_vProVFC_CTRL_mode 0x0004
#define B16vProVFC_CTRL_mode 0x0004
#define LSb32vProVFC_CTRL_mode 0
#define LSb16vProVFC_CTRL_mode 0
#define bvProVFC_CTRL_mode 2
#define MSK32vProVFC_CTRL_mode 0x00000003
#define vProVFC_CTRL_mode_UYVY 0x0
#define vProVFC_CTRL_mode_PLANAR 0x1
#define vProVFC_CTRL_mode_SEMIPLANAR 0x2
///////////////////////////////////////////////////////////
#define RA_vProVFC_STATUS 0x0008
#define BA_vProVFC_STATUS_done 0x0008
#define B16vProVFC_STATUS_done 0x0008
#define LSb32vProVFC_STATUS_done 0
#define LSb16vProVFC_STATUS_done 0
#define bvProVFC_STATUS_done 1
#define MSK32vProVFC_STATUS_done 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProVFC_BASE_Y 0x000C
#define BA_vProVFC_BASE_Y_addr 0x000C
#define B16vProVFC_BASE_Y_addr 0x000C
#define LSb32vProVFC_BASE_Y_addr 0
#define LSb16vProVFC_BASE_Y_addr 0
#define bvProVFC_BASE_Y_addr 32
#define MSK32vProVFC_BASE_Y_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProVFC_BASE_CB 0x0010
#define BA_vProVFC_BASE_CB_addr 0x0010
#define B16vProVFC_BASE_CB_addr 0x0010
#define LSb32vProVFC_BASE_CB_addr 0
#define LSb16vProVFC_BASE_CB_addr 0
#define bvProVFC_BASE_CB_addr 32
#define MSK32vProVFC_BASE_CB_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProVFC_BASE_CR 0x0014
#define BA_vProVFC_BASE_CR_addr 0x0014
#define B16vProVFC_BASE_CR_addr 0x0014
#define LSb32vProVFC_BASE_CR_addr 0
#define LSb16vProVFC_BASE_CR_addr 0
#define bvProVFC_BASE_CR_addr 32
#define MSK32vProVFC_BASE_CR_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProVFC_SIZE 0x0018
#define BA_vProVFC_SIZE_width 0x0018
#define B16vProVFC_SIZE_width 0x0018
#define LSb32vProVFC_SIZE_width 0
#define LSb16vProVFC_SIZE_width 0
#define bvProVFC_SIZE_width 16
#define MSK32vProVFC_SIZE_width 0x0000FFFF
#define BA_vProVFC_SIZE_height 0x001A
#define B16vProVFC_SIZE_height 0x001A
#define LSb32vProVFC_SIZE_height 16
#define LSb16vProVFC_SIZE_height 0
#define bvProVFC_SIZE_height 16
#define MSK32vProVFC_SIZE_height 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_vProVFC_STRIDE 0x001C
#define BA_vProVFC_STRIDE_luma 0x001C
#define B16vProVFC_STRIDE_luma 0x001C
#define LSb32vProVFC_STRIDE_luma 0
#define LSb16vProVFC_STRIDE_luma 0
#define bvProVFC_STRIDE_luma 16
#define MSK32vProVFC_STRIDE_luma 0x0000FFFF
#define BA_vProVFC_STRIDE_chroma 0x001E
#define B16vProVFC_STRIDE_chroma 0x001E
#define LSb32vProVFC_STRIDE_chroma 16
#define LSb16vProVFC_STRIDE_chroma 0
#define bvProVFC_STRIDE_chroma 16
#define MSK32vProVFC_STRIDE_chroma 0xFFFF0000
///////////////////////////////////////////////////////////
#define RA_vProVFC_BURST 0x0020
#define BA_vProVFC_BURST_size 0x0020
#define B16vProVFC_BURST_size 0x0020
#define LSb32vProVFC_BURST_size 0
#define LSb16vProVFC_BURST_size 0
#define bvProVFC_BURST_size 2
#define MSK32vProVFC_BURST_size 0x00000003
#define vProVFC_BURST_size_B32 0x0
#define vProVFC_BURST_size_B64 0x1
#define vProVFC_BURST_size_B128 0x2
#define vProVFC_BURST_size_B256 0x3
///////////////////////////////////////////////////////////
typedef struct SIE_vProVFC {
///////////////////////////////////////////////////////////
#define GET32vProVFC_FLOW_enable(r32) _BFGET_(r32, 0, 0)
#define SET32vProVFC_FLOW_enable(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProVFC_FLOW_enable(r16) _BFGET_(r16, 0, 0)
#define SET16vProVFC_FLOW_enable(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProVFC_FLOW {\
UNSG32 uFLOW_enable : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32vProVFC_FLOW;
struct w32vProVFC_FLOW;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_CTRL_mode(r32) _BFGET_(r32, 1, 0)
#define SET32vProVFC_CTRL_mode(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16vProVFC_CTRL_mode(r16) _BFGET_(r16, 1, 0)
#define SET16vProVFC_CTRL_mode(r16,v) _BFSET_(r16, 1, 0,v)
#define w32vProVFC_CTRL {\
UNSG32 uCTRL_mode : 2;\
UNSG32 RSVDx4_b2 : 30;\
}
union { UNSG32 u32vProVFC_CTRL;
struct w32vProVFC_CTRL;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_STATUS_done(r32) _BFGET_(r32, 0, 0)
#define SET32vProVFC_STATUS_done(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProVFC_STATUS_done(r16) _BFGET_(r16, 0, 0)
#define SET16vProVFC_STATUS_done(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProVFC_STATUS {\
UNSG32 uSTATUS_done : 1;\
UNSG32 RSVDx8_b1 : 31;\
}
union { UNSG32 u32vProVFC_STATUS;
struct w32vProVFC_STATUS;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_BASE_Y_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProVFC_BASE_Y_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProVFC_BASE_Y {\
UNSG32 uBASE_Y_addr : 32;\
}
union { UNSG32 u32vProVFC_BASE_Y;
struct w32vProVFC_BASE_Y;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_BASE_CB_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProVFC_BASE_CB_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProVFC_BASE_CB {\
UNSG32 uBASE_CB_addr : 32;\
}
union { UNSG32 u32vProVFC_BASE_CB;
struct w32vProVFC_BASE_CB;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_BASE_CR_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProVFC_BASE_CR_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProVFC_BASE_CR {\
UNSG32 uBASE_CR_addr : 32;\
}
union { UNSG32 u32vProVFC_BASE_CR;
struct w32vProVFC_BASE_CR;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_SIZE_width(r32) _BFGET_(r32,15, 0)
#define SET32vProVFC_SIZE_width(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vProVFC_SIZE_width(r16) _BFGET_(r16,15, 0)
#define SET16vProVFC_SIZE_width(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vProVFC_SIZE_height(r32) _BFGET_(r32,31,16)
#define SET32vProVFC_SIZE_height(r32,v) _BFSET_(r32,31,16,v)
#define GET16vProVFC_SIZE_height(r16) _BFGET_(r16,15, 0)
#define SET16vProVFC_SIZE_height(r16,v) _BFSET_(r16,15, 0,v)
#define w32vProVFC_SIZE {\
UNSG32 uSIZE_width : 16;\
UNSG32 uSIZE_height : 16;\
}
union { UNSG32 u32vProVFC_SIZE;
struct w32vProVFC_SIZE;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_STRIDE_luma(r32) _BFGET_(r32,15, 0)
#define SET32vProVFC_STRIDE_luma(r32,v) _BFSET_(r32,15, 0,v)
#define GET16vProVFC_STRIDE_luma(r16) _BFGET_(r16,15, 0)
#define SET16vProVFC_STRIDE_luma(r16,v) _BFSET_(r16,15, 0,v)
#define GET32vProVFC_STRIDE_chroma(r32) _BFGET_(r32,31,16)
#define SET32vProVFC_STRIDE_chroma(r32,v) _BFSET_(r32,31,16,v)
#define GET16vProVFC_STRIDE_chroma(r16) _BFGET_(r16,15, 0)
#define SET16vProVFC_STRIDE_chroma(r16,v) _BFSET_(r16,15, 0,v)
#define w32vProVFC_STRIDE {\
UNSG32 uSTRIDE_luma : 16;\
UNSG32 uSTRIDE_chroma : 16;\
}
union { UNSG32 u32vProVFC_STRIDE;
struct w32vProVFC_STRIDE;
};
///////////////////////////////////////////////////////////
#define GET32vProVFC_BURST_size(r32) _BFGET_(r32, 1, 0)
#define SET32vProVFC_BURST_size(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16vProVFC_BURST_size(r16) _BFGET_(r16, 1, 0)
#define SET16vProVFC_BURST_size(r16,v) _BFSET_(r16, 1, 0,v)
#define w32vProVFC_BURST {\
UNSG32 uBURST_size : 2;\
UNSG32 RSVDx20_b2 : 30;\
}
union { UNSG32 u32vProVFC_BURST;
struct w32vProVFC_BURST;
};
///////////////////////////////////////////////////////////
} SIE_vProVFC;
typedef union T32vProVFC_FLOW
{ UNSG32 u32;
struct w32vProVFC_FLOW;
} T32vProVFC_FLOW;
typedef union T32vProVFC_CTRL
{ UNSG32 u32;
struct w32vProVFC_CTRL;
} T32vProVFC_CTRL;
typedef union T32vProVFC_STATUS
{ UNSG32 u32;
struct w32vProVFC_STATUS;
} T32vProVFC_STATUS;
typedef union T32vProVFC_BASE_Y
{ UNSG32 u32;
struct w32vProVFC_BASE_Y;
} T32vProVFC_BASE_Y;
typedef union T32vProVFC_BASE_CB
{ UNSG32 u32;
struct w32vProVFC_BASE_CB;
} T32vProVFC_BASE_CB;
typedef union T32vProVFC_BASE_CR
{ UNSG32 u32;
struct w32vProVFC_BASE_CR;
} T32vProVFC_BASE_CR;
typedef union T32vProVFC_SIZE
{ UNSG32 u32;
struct w32vProVFC_SIZE;
} T32vProVFC_SIZE;
typedef union T32vProVFC_STRIDE
{ UNSG32 u32;
struct w32vProVFC_STRIDE;
} T32vProVFC_STRIDE;
typedef union T32vProVFC_BURST
{ UNSG32 u32;
struct w32vProVFC_BURST;
} T32vProVFC_BURST;
///////////////////////////////////////////////////////////
typedef union TvProVFC_FLOW
{ UNSG32 u32[1];
struct {
struct w32vProVFC_FLOW;
};
} TvProVFC_FLOW;
typedef union TvProVFC_CTRL
{ UNSG32 u32[1];
struct {
struct w32vProVFC_CTRL;
};
} TvProVFC_CTRL;
typedef union TvProVFC_STATUS
{ UNSG32 u32[1];
struct {
struct w32vProVFC_STATUS;
};
} TvProVFC_STATUS;
typedef union TvProVFC_BASE_Y
{ UNSG32 u32[1];
struct {
struct w32vProVFC_BASE_Y;
};
} TvProVFC_BASE_Y;
typedef union TvProVFC_BASE_CB
{ UNSG32 u32[1];
struct {
struct w32vProVFC_BASE_CB;
};
} TvProVFC_BASE_CB;
typedef union TvProVFC_BASE_CR
{ UNSG32 u32[1];
struct {
struct w32vProVFC_BASE_CR;
};
} TvProVFC_BASE_CR;
typedef union TvProVFC_SIZE
{ UNSG32 u32[1];
struct {
struct w32vProVFC_SIZE;
};
} TvProVFC_SIZE;
typedef union TvProVFC_STRIDE
{ UNSG32 u32[1];
struct {
struct w32vProVFC_STRIDE;
};
} TvProVFC_STRIDE;
typedef union TvProVFC_BURST
{ UNSG32 u32[1];
struct {
struct w32vProVFC_BURST;
};
} TvProVFC_BURST;
///////////////////////////////////////////////////////////
SIGN32 vProVFC_drvrd(SIE_vProVFC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vProVFC_drvwr(SIE_vProVFC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vProVFC_reset(SIE_vProVFC *p);
SIGN32 vProVFC_cmp (SIE_vProVFC *p, SIE_vProVFC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vProVFC_check(p,pie,pfx,hLOG) vProVFC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vProVFC_print(p, pfx,hLOG) vProVFC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vProVFC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dirMvScale biu (4,4)
/// ###
/// * Scaling factors for temporal direct MV calculation
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 12 factor
/// ###
/// * = clip(-1024, 1023, (tb*tx+32)>>6)
/// ###
/// %unsigned 20 RSVD20
/// ###
/// * pad to 32 bits
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 RSVD32
/// ###
/// * pad to 64 bits
/// * End dirMvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dirMvScale
#define h_dirMvScale (){}
#define BA_dirMvScale_factor 0x0000
#define B16dirMvScale_factor 0x0000
#define LSb32dirMvScale_factor 0
#define LSb16dirMvScale_factor 0
#define bdirMvScale_factor 12
#define MSK32dirMvScale_factor 0x00000FFF
#define BA_dirMvScale_RSVD20 0x0001
#define B16dirMvScale_RSVD20 0x0000
#define LSb32dirMvScale_RSVD20 12
#define LSb16dirMvScale_RSVD20 12
#define bdirMvScale_RSVD20 20
#define MSK32dirMvScale_RSVD20 0xFFFFF000
///////////////////////////////////////////////////////////
#define BA_dirMvScale_RSVD32 0x0004
#define B16dirMvScale_RSVD32 0x0004
#define LSb32dirMvScale_RSVD32 0
#define LSb16dirMvScale_RSVD32 0
#define bdirMvScale_RSVD32 32
#define MSK32dirMvScale_RSVD32 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dirMvScale {
///////////////////////////////////////////////////////////
#define GET32dirMvScale_factor(r32) _BFGET_(r32,11, 0)
#define SET32dirMvScale_factor(r32,v) _BFSET_(r32,11, 0,v)
#define GET16dirMvScale_factor(r16) _BFGET_(r16,11, 0)
#define SET16dirMvScale_factor(r16,v) _BFSET_(r16,11, 0,v)
#define GET32dirMvScale_RSVD20(r32) _BFGET_(r32,31,12)
#define SET32dirMvScale_RSVD20(r32,v) _BFSET_(r32,31,12,v)
UNSG32 s_factor : 12;
UNSG32 u_RSVD20 : 20;
///////////////////////////////////////////////////////////
#define GET32dirMvScale_RSVD32(r32) _BFGET_(r32,31, 0)
#define SET32dirMvScale_RSVD32(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_RSVD32 : 32;
///////////////////////////////////////////////////////////
} SIE_dirMvScale;
///////////////////////////////////////////////////////////
SIGN32 dirMvScale_drvrd(SIE_dirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dirMvScale_drvwr(SIE_dirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dirMvScale_reset(SIE_dirMvScale *p);
SIGN32 dirMvScale_cmp (SIE_dirMvScale *p, SIE_dirMvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dirMvScale_check(p,pie,pfx,hLOG) dirMvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dirMvScale_print(p, pfx,hLOG) dirMvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dirMvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE avsDirMvScale biu (4,4)
/// ###
/// * Scaling factors for temporal direct MV calculation for AVS
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 16 BlockDistanceFw
/// ###
/// * Block Distance between current block and forward reference block.
/// ###
/// %unsigned 16 BlockDistanceBw
/// ###
/// * Block Distance between backward reference block and current block.
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 16 invBlockDistanceRef
/// ###
/// * 16384/BlockDistanceRef, where BlockDistanceRef is the block distance between backward reference block and reference block of the co-located block.
/// ###
/// %unsigned 16 RSVD16
/// ###
/// * pad to 64 bits
/// * End avsDirMvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_avsDirMvScale
#define h_avsDirMvScale (){}
#define BA_avsDirMvScale_BlockDistanceFw 0x0000
#define B16avsDirMvScale_BlockDistanceFw 0x0000
#define LSb32avsDirMvScale_BlockDistanceFw 0
#define LSb16avsDirMvScale_BlockDistanceFw 0
#define bavsDirMvScale_BlockDistanceFw 16
#define MSK32avsDirMvScale_BlockDistanceFw 0x0000FFFF
#define BA_avsDirMvScale_BlockDistanceBw 0x0002
#define B16avsDirMvScale_BlockDistanceBw 0x0002
#define LSb32avsDirMvScale_BlockDistanceBw 16
#define LSb16avsDirMvScale_BlockDistanceBw 0
#define bavsDirMvScale_BlockDistanceBw 16
#define MSK32avsDirMvScale_BlockDistanceBw 0xFFFF0000
///////////////////////////////////////////////////////////
#define BA_avsDirMvScale_invBlockDistanceRef 0x0004
#define B16avsDirMvScale_invBlockDistanceRef 0x0004
#define LSb32avsDirMvScale_invBlockDistanceRef 0
#define LSb16avsDirMvScale_invBlockDistanceRef 0
#define bavsDirMvScale_invBlockDistanceRef 16
#define MSK32avsDirMvScale_invBlockDistanceRef 0x0000FFFF
#define BA_avsDirMvScale_RSVD16 0x0006
#define B16avsDirMvScale_RSVD16 0x0006
#define LSb32avsDirMvScale_RSVD16 16
#define LSb16avsDirMvScale_RSVD16 0
#define bavsDirMvScale_RSVD16 16
#define MSK32avsDirMvScale_RSVD16 0xFFFF0000
///////////////////////////////////////////////////////////
typedef struct SIE_avsDirMvScale {
///////////////////////////////////////////////////////////
#define GET32avsDirMvScale_BlockDistanceFw(r32) _BFGET_(r32,15, 0)
#define SET32avsDirMvScale_BlockDistanceFw(r32,v) _BFSET_(r32,15, 0,v)
#define GET16avsDirMvScale_BlockDistanceFw(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_BlockDistanceFw(r16,v) _BFSET_(r16,15, 0,v)
#define GET32avsDirMvScale_BlockDistanceBw(r32) _BFGET_(r32,31,16)
#define SET32avsDirMvScale_BlockDistanceBw(r32,v) _BFSET_(r32,31,16,v)
#define GET16avsDirMvScale_BlockDistanceBw(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_BlockDistanceBw(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_BlockDistanceFw : 16;
UNSG32 u_BlockDistanceBw : 16;
///////////////////////////////////////////////////////////
#define GET32avsDirMvScale_invBlockDistanceRef(r32) _BFGET_(r32,15, 0)
#define SET32avsDirMvScale_invBlockDistanceRef(r32,v) _BFSET_(r32,15, 0,v)
#define GET16avsDirMvScale_invBlockDistanceRef(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_invBlockDistanceRef(r16,v) _BFSET_(r16,15, 0,v)
#define GET32avsDirMvScale_RSVD16(r32) _BFGET_(r32,31,16)
#define SET32avsDirMvScale_RSVD16(r32,v) _BFSET_(r32,31,16,v)
#define GET16avsDirMvScale_RSVD16(r16) _BFGET_(r16,15, 0)
#define SET16avsDirMvScale_RSVD16(r16,v) _BFSET_(r16,15, 0,v)
UNSG32 u_invBlockDistanceRef : 16;
UNSG32 u_RSVD16 : 16;
///////////////////////////////////////////////////////////
} SIE_avsDirMvScale;
///////////////////////////////////////////////////////////
SIGN32 avsDirMvScale_drvrd(SIE_avsDirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 avsDirMvScale_drvwr(SIE_avsDirMvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void avsDirMvScale_reset(SIE_avsDirMvScale *p);
SIGN32 avsDirMvScale_cmp (SIE_avsDirMvScale *p, SIE_avsDirMvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define avsDirMvScale_check(p,pie,pfx,hLOG) avsDirMvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define avsDirMvScale_print(p, pfx,hLOG) avsDirMvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: avsDirMvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BitOpX4 biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 idx
/// ###
/// * rS[idx] or xT[idx] is used as source bit
/// * In case src==rS, idx[5:4] specifies the operation mode:
/// * idx[5:4]==2'b0x: output is from rS
/// * idx[5:4]==2'b10: output bit is forced to 0
/// * idx[5:4]==2'b11: output bit is forced to 1
/// ###
/// %unsigned 1 src
/// : xT 0x0
/// : rS 0x1
/// ###
/// * If src=rS, the source is from 16-bit input
/// * If src=xT, the source is from 64-bit input
/// ###
/// %unsigned 1 mode
/// : copy 0x0
/// : inv 0x1
/// ###
/// * copy: target bit copied from source bit
/// * inv: target bit copied from source bit then inverted
/// * Not used when src==rS & idx[5]==1'b1
/// ###
/// %unsigned 6 idx1
/// %unsigned 1 src1
/// %unsigned 1 mode1
/// %unsigned 6 idx2
/// %unsigned 1 src2
/// %unsigned 1 mode2
/// %unsigned 6 idx3
/// %unsigned 1 src3
/// %unsigned 1 mode3
/// ###
/// * End BitOpX4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BitOpX4
#define h_BitOpX4 (){}
#define BA_BitOpX4_idx 0x0000
#define B16BitOpX4_idx 0x0000
#define LSb32BitOpX4_idx 0
#define LSb16BitOpX4_idx 0
#define bBitOpX4_idx 6
#define MSK32BitOpX4_idx 0x0000003F
#define BA_BitOpX4_src 0x0000
#define B16BitOpX4_src 0x0000
#define LSb32BitOpX4_src 6
#define LSb16BitOpX4_src 6
#define bBitOpX4_src 1
#define MSK32BitOpX4_src 0x00000040
#define BitOpX4_src_xT 0x0
#define BitOpX4_src_rS 0x1
#define BA_BitOpX4_mode 0x0000
#define B16BitOpX4_mode 0x0000
#define LSb32BitOpX4_mode 7
#define LSb16BitOpX4_mode 7
#define bBitOpX4_mode 1
#define MSK32BitOpX4_mode 0x00000080
#define BitOpX4_mode_copy 0x0
#define BitOpX4_mode_inv 0x1
#define BA_BitOpX4_idx1 0x0001
#define B16BitOpX4_idx1 0x0000
#define LSb32BitOpX4_idx1 8
#define LSb16BitOpX4_idx1 8
#define bBitOpX4_idx1 6
#define MSK32BitOpX4_idx1 0x00003F00
#define BA_BitOpX4_src1 0x0001
#define B16BitOpX4_src1 0x0000
#define LSb32BitOpX4_src1 14
#define LSb16BitOpX4_src1 14
#define bBitOpX4_src1 1
#define MSK32BitOpX4_src1 0x00004000
#define BA_BitOpX4_mode1 0x0001
#define B16BitOpX4_mode1 0x0000
#define LSb32BitOpX4_mode1 15
#define LSb16BitOpX4_mode1 15
#define bBitOpX4_mode1 1
#define MSK32BitOpX4_mode1 0x00008000
#define BA_BitOpX4_idx2 0x0002
#define B16BitOpX4_idx2 0x0002
#define LSb32BitOpX4_idx2 16
#define LSb16BitOpX4_idx2 0
#define bBitOpX4_idx2 6
#define MSK32BitOpX4_idx2 0x003F0000
#define BA_BitOpX4_src2 0x0002
#define B16BitOpX4_src2 0x0002
#define LSb32BitOpX4_src2 22
#define LSb16BitOpX4_src2 6
#define bBitOpX4_src2 1
#define MSK32BitOpX4_src2 0x00400000
#define BA_BitOpX4_mode2 0x0002
#define B16BitOpX4_mode2 0x0002
#define LSb32BitOpX4_mode2 23
#define LSb16BitOpX4_mode2 7
#define bBitOpX4_mode2 1
#define MSK32BitOpX4_mode2 0x00800000
#define BA_BitOpX4_idx3 0x0003
#define B16BitOpX4_idx3 0x0002
#define LSb32BitOpX4_idx3 24
#define LSb16BitOpX4_idx3 8
#define bBitOpX4_idx3 6
#define MSK32BitOpX4_idx3 0x3F000000
#define BA_BitOpX4_src3 0x0003
#define B16BitOpX4_src3 0x0002
#define LSb32BitOpX4_src3 30
#define LSb16BitOpX4_src3 14
#define bBitOpX4_src3 1
#define MSK32BitOpX4_src3 0x40000000
#define BA_BitOpX4_mode3 0x0003
#define B16BitOpX4_mode3 0x0002
#define LSb32BitOpX4_mode3 31
#define LSb16BitOpX4_mode3 15
#define bBitOpX4_mode3 1
#define MSK32BitOpX4_mode3 0x80000000
///////////////////////////////////////////////////////////
typedef struct SIE_BitOpX4 {
///////////////////////////////////////////////////////////
#define GET32BitOpX4_idx(r32) _BFGET_(r32, 5, 0)
#define SET32BitOpX4_idx(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BitOpX4_idx(r16) _BFGET_(r16, 5, 0)
#define SET16BitOpX4_idx(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BitOpX4_src(r32) _BFGET_(r32, 6, 6)
#define SET32BitOpX4_src(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16BitOpX4_src(r16) _BFGET_(r16, 6, 6)
#define SET16BitOpX4_src(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BitOpX4_mode(r32) _BFGET_(r32, 7, 7)
#define SET32BitOpX4_mode(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16BitOpX4_mode(r16) _BFGET_(r16, 7, 7)
#define SET16BitOpX4_mode(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BitOpX4_idx1(r32) _BFGET_(r32,13, 8)
#define SET32BitOpX4_idx1(r32,v) _BFSET_(r32,13, 8,v)
#define GET16BitOpX4_idx1(r16) _BFGET_(r16,13, 8)
#define SET16BitOpX4_idx1(r16,v) _BFSET_(r16,13, 8,v)
#define GET32BitOpX4_src1(r32) _BFGET_(r32,14,14)
#define SET32BitOpX4_src1(r32,v) _BFSET_(r32,14,14,v)
#define GET16BitOpX4_src1(r16) _BFGET_(r16,14,14)
#define SET16BitOpX4_src1(r16,v) _BFSET_(r16,14,14,v)
#define GET32BitOpX4_mode1(r32) _BFGET_(r32,15,15)
#define SET32BitOpX4_mode1(r32,v) _BFSET_(r32,15,15,v)
#define GET16BitOpX4_mode1(r16) _BFGET_(r16,15,15)
#define SET16BitOpX4_mode1(r16,v) _BFSET_(r16,15,15,v)
#define GET32BitOpX4_idx2(r32) _BFGET_(r32,21,16)
#define SET32BitOpX4_idx2(r32,v) _BFSET_(r32,21,16,v)
#define GET16BitOpX4_idx2(r16) _BFGET_(r16, 5, 0)
#define SET16BitOpX4_idx2(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BitOpX4_src2(r32) _BFGET_(r32,22,22)
#define SET32BitOpX4_src2(r32,v) _BFSET_(r32,22,22,v)
#define GET16BitOpX4_src2(r16) _BFGET_(r16, 6, 6)
#define SET16BitOpX4_src2(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BitOpX4_mode2(r32) _BFGET_(r32,23,23)
#define SET32BitOpX4_mode2(r32,v) _BFSET_(r32,23,23,v)
#define GET16BitOpX4_mode2(r16) _BFGET_(r16, 7, 7)
#define SET16BitOpX4_mode2(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BitOpX4_idx3(r32) _BFGET_(r32,29,24)
#define SET32BitOpX4_idx3(r32,v) _BFSET_(r32,29,24,v)
#define GET16BitOpX4_idx3(r16) _BFGET_(r16,13, 8)
#define SET16BitOpX4_idx3(r16,v) _BFSET_(r16,13, 8,v)
#define GET32BitOpX4_src3(r32) _BFGET_(r32,30,30)
#define SET32BitOpX4_src3(r32,v) _BFSET_(r32,30,30,v)
#define GET16BitOpX4_src3(r16) _BFGET_(r16,14,14)
#define SET16BitOpX4_src3(r16,v) _BFSET_(r16,14,14,v)
#define GET32BitOpX4_mode3(r32) _BFGET_(r32,31,31)
#define SET32BitOpX4_mode3(r32,v) _BFSET_(r32,31,31,v)
#define GET16BitOpX4_mode3(r16) _BFGET_(r16,15,15)
#define SET16BitOpX4_mode3(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_idx : 6;
UNSG32 u_src : 1;
UNSG32 u_mode : 1;
UNSG32 u_idx1 : 6;
UNSG32 u_src1 : 1;
UNSG32 u_mode1 : 1;
UNSG32 u_idx2 : 6;
UNSG32 u_src2 : 1;
UNSG32 u_mode2 : 1;
UNSG32 u_idx3 : 6;
UNSG32 u_src3 : 1;
UNSG32 u_mode3 : 1;
///////////////////////////////////////////////////////////
} SIE_BitOpX4;
///////////////////////////////////////////////////////////
SIGN32 BitOpX4_drvrd(SIE_BitOpX4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BitOpX4_drvwr(SIE_BitOpX4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BitOpX4_reset(SIE_BitOpX4 *p);
SIGN32 BitOpX4_cmp (SIE_BitOpX4 *p, SIE_BitOpX4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BitOpX4_check(p,pie,pfx,hLOG) BitOpX4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BitOpX4_print(p, pfx,hLOG) BitOpX4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BitOpX4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITOPRF64 biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// ###
/// # # ----------------------------------------------------------
/// : BitOp0 0x20
/// : BitOp1 0x21
/// : BitOp2 0x22
/// : BitOp3 0x23
/// ###
/// * extension ID definition; must be consistent with vScope_F0A64_BitOp0~3
/// ###
/// @ 0x00000 (P)
/// # 0x00000 cmd0
/// $BitOpX4 cmd0 REG [4]
/// @ 0x00010 (P)
/// # 0x00010 cmd1
/// $BitOpX4 cmd1 REG [4]
/// @ 0x00020 (P)
/// # 0x00020 cmd2
/// $BitOpX4 cmd2 REG [4]
/// @ 0x00030 (P)
/// # 0x00030 cmd3
/// $BitOpX4 cmd3 REG [4]
/// ###
/// * Four BitOp commands, selected by extension ID
/// * End BitOpCtx
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 64B, bits: 512b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITOPRF64
#define h_BITOPRF64 (){}
#define BITOPRF64_BitOp0 0x20
#define BITOPRF64_BitOp1 0x21
#define BITOPRF64_BitOp2 0x22
#define BITOPRF64_BitOp3 0x23
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd0 0x0000
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd1 0x0010
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd2 0x0020
///////////////////////////////////////////////////////////
#define RA_BITOPRF64_cmd3 0x0030
///////////////////////////////////////////////////////////
typedef struct SIE_BITOPRF64 {
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd0[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd1[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd2[4];
///////////////////////////////////////////////////////////
SIE_BitOpX4 ie_cmd3[4];
///////////////////////////////////////////////////////////
} SIE_BITOPRF64;
///////////////////////////////////////////////////////////
SIGN32 BITOPRF64_drvrd(SIE_BITOPRF64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITOPRF64_drvwr(SIE_BITOPRF64 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITOPRF64_reset(SIE_BITOPRF64 *p);
SIGN32 BITOPRF64_cmp (SIE_BITOPRF64 *p, SIE_BITOPRF64 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITOPRF64_check(p,pie,pfx,hLOG) BITOPRF64_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITOPRF64_print(p, pfx,hLOG) BITOPRF64_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITOPRF64
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LUT8b (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 data
/// ###
/// * Any 8b data
/// ###
/// %unsigned 8 data1
/// %unsigned 8 data2
/// %unsigned 8 data3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LUT8b
#define h_LUT8b (){}
#define BA_LUT8b_data 0x0000
#define B16LUT8b_data 0x0000
#define LSb32LUT8b_data 0
#define LSb16LUT8b_data 0
#define bLUT8b_data 8
#define MSK32LUT8b_data 0x000000FF
#define BA_LUT8b_data1 0x0001
#define B16LUT8b_data1 0x0000
#define LSb32LUT8b_data1 8
#define LSb16LUT8b_data1 8
#define bLUT8b_data1 8
#define MSK32LUT8b_data1 0x0000FF00
#define BA_LUT8b_data2 0x0002
#define B16LUT8b_data2 0x0002
#define LSb32LUT8b_data2 16
#define LSb16LUT8b_data2 0
#define bLUT8b_data2 8
#define MSK32LUT8b_data2 0x00FF0000
#define BA_LUT8b_data3 0x0003
#define B16LUT8b_data3 0x0002
#define LSb32LUT8b_data3 24
#define LSb16LUT8b_data3 8
#define bLUT8b_data3 8
#define MSK32LUT8b_data3 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_LUT8b {
///////////////////////////////////////////////////////////
#define GET32LUT8b_data(r32) _BFGET_(r32, 7, 0)
#define SET32LUT8b_data(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16LUT8b_data(r16) _BFGET_(r16, 7, 0)
#define SET16LUT8b_data(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32LUT8b_data1(r32) _BFGET_(r32,15, 8)
#define SET32LUT8b_data1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16LUT8b_data1(r16) _BFGET_(r16,15, 8)
#define SET16LUT8b_data1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32LUT8b_data2(r32) _BFGET_(r32,23,16)
#define SET32LUT8b_data2(r32,v) _BFSET_(r32,23,16,v)
#define GET16LUT8b_data2(r16) _BFGET_(r16, 7, 0)
#define SET16LUT8b_data2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32LUT8b_data3(r32) _BFGET_(r32,31,24)
#define SET32LUT8b_data3(r32,v) _BFSET_(r32,31,24,v)
#define GET16LUT8b_data3(r16) _BFGET_(r16,15, 8)
#define SET16LUT8b_data3(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_data : 8;
UNSG32 u_data1 : 8;
UNSG32 u_data2 : 8;
UNSG32 u_data3 : 8;
///////////////////////////////////////////////////////////
} SIE_LUT8b;
///////////////////////////////////////////////////////////
SIGN32 LUT8b_drvrd(SIE_LUT8b *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LUT8b_drvwr(SIE_LUT8b *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LUT8b_reset(SIE_LUT8b *p);
SIGN32 LUT8b_cmp (SIE_LUT8b *p, SIE_LUT8b *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LUT8b_check(p,pie,pfx,hLOG) LUT8b_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LUT8b_print(p, pfx,hLOG) LUT8b_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LUT8b
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE LUT64b (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 data_0i
/// %unsigned 32 data_1i
/// ###
/// * Any 64b data
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_LUT64b
#define h_LUT64b (){}
#define BA_LUT64b_data_0i 0x0000
#define B16LUT64b_data_0i 0x0000
#define LSb32LUT64b_data_0i 0
#define LSb16LUT64b_data_0i 0
#define bLUT64b_data_0i 32
#define MSK32LUT64b_data_0i 0xFFFFFFFF
#define BA_LUT64b_data_1i 0x0004
#define B16LUT64b_data_1i 0x0004
#define LSb32LUT64b_data_1i 0
#define LSb16LUT64b_data_1i 0
#define bLUT64b_data_1i 32
#define MSK32LUT64b_data_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_LUT64b {
///////////////////////////////////////////////////////////
#define GET32LUT64b_data_0i(r32) _BFGET_(r32,31, 0)
#define SET32LUT64b_data_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_0i : 32;
///////////////////////////////////////////////////////////
#define GET32LUT64b_data_1i(r32) _BFGET_(r32,31, 0)
#define SET32LUT64b_data_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_data_1i : 32;
///////////////////////////////////////////////////////////
} SIE_LUT64b;
///////////////////////////////////////////////////////////
SIGN32 LUT64b_drvrd(SIE_LUT64b *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 LUT64b_drvwr(SIE_LUT64b *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void LUT64b_reset(SIE_LUT64b *p);
SIGN32 LUT64b_cmp (SIE_LUT64b *p, SIE_LUT64b *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define LUT64b_check(p,pie,pfx,hLOG) LUT64b_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define LUT64b_print(p, pfx,hLOG) LUT64b_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: LUT64b
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NLoc (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 4 BLK
/// ###
/// * Block index
/// ###
/// %unsigned 4 category
/// : 16x16 0x8
/// : 8x16 0x9
/// : 16x8 0xA
/// : 4mv 0xB
/// : 8x8 0xC
/// : 4x8 0xD
/// : 8x4 0xE
/// : 4x4 0xF
/// ###
/// * Consistent with vcMsg{RSVD,level,partition}
/// * Valid cases for Neighbor:
/// * 16x16=16x8
/// * 8x16=4mv=8x8=8x4
/// * 4x8=4x4=ACY
/// * Valid cases for PMV:
/// * 16x16=16x8
/// * 8x16
/// * 4mv=8x8=8x4
/// * 4x8=4x4=ACY
/// ###
/// : ACY 0x0
/// ###
/// * Valid block index:
/// * 0~15 (every 4x4 indexed by coding order)
/// ###
/// : ACU 0x2
/// ###
/// * Valid block index:
/// * 0~3 (3rd 4x4 in every 8x8)
/// ###
/// : ACV 0x3
/// ###
/// * Valid block index:
/// * 0~3 (4th 4x4 in every 8x8)
/// ###
/// : I16AC 0x4
/// ###
/// * Only used as category, should be converted to ACY for neighbor look-up
/// ###
/// : DCI 0x4
/// ###
/// * Valid block index:
/// * 0 (3rd 4x4 in 4th 8x8 only)
/// ###
/// : DCY 0x5
/// ###
/// * Valid block index:
/// * 0 (4th 4x4 in 4th 8x8 only)
/// ###
/// : SDPMV 0x5
/// ###
/// * Reuse DCY in PMV extension, for Spatial Direct mode rIDX recovery.
/// ###
/// : DCU 0x6
/// ###
/// * Valid block index:
/// * 0 (3rd 4x4 in 3rd 8x8 only)
/// ###
/// : DCV 0x7
/// ###
/// * Valid block index:
/// * 0 (4th 4x4 in 3rd 8x8 only)
/// ###
/// %unsigned 1 parity
/// ###
/// * 0/1 as even/odd, only for loop-filter
/// ###
/// %unsigned 1 direct
/// ###
/// * FW use only: if direct mode
/// * AVS: use for sym mode in hardware.
/// ###
/// %unsigned 2 motion
/// ###
/// * FW use only: motion type
/// ###
/// %unsigned 1 A
/// ###
/// * Left macroblock/block availability
/// ###
/// %unsigned 1 B
/// ###
/// * Upper macroblock/block availability
/// ###
/// %unsigned 1 C
/// ###
/// * Upper-right macroblock/block availability
/// ###
/// %unsigned 1 D
/// ###
/// * Upper-left macroblock/block availability
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NLoc
#define h_NLoc (){}
#define BA_NLoc_BLK 0x0000
#define B16NLoc_BLK 0x0000
#define LSb32NLoc_BLK 0
#define LSb16NLoc_BLK 0
#define bNLoc_BLK 4
#define MSK32NLoc_BLK 0x0000000F
#define BA_NLoc_category 0x0000
#define B16NLoc_category 0x0000
#define LSb32NLoc_category 4
#define LSb16NLoc_category 4
#define bNLoc_category 4
#define MSK32NLoc_category 0x000000F0
#define NLoc_category_16x16 0x8
#define NLoc_category_8x16 0x9
#define NLoc_category_16x8 0xA
#define NLoc_category_4mv 0xB
#define NLoc_category_8x8 0xC
#define NLoc_category_4x8 0xD
#define NLoc_category_8x4 0xE
#define NLoc_category_4x4 0xF
#define NLoc_category_ACY 0x0
#define NLoc_category_ACU 0x2
#define NLoc_category_ACV 0x3
#define NLoc_category_I16AC 0x4
#define NLoc_category_DCI 0x4
#define NLoc_category_DCY 0x5
#define NLoc_category_SDPMV 0x5
#define NLoc_category_DCU 0x6
#define NLoc_category_DCV 0x7
#define BA_NLoc_parity 0x0001
#define B16NLoc_parity 0x0000
#define LSb32NLoc_parity 8
#define LSb16NLoc_parity 8
#define bNLoc_parity 1
#define MSK32NLoc_parity 0x00000100
#define BA_NLoc_direct 0x0001
#define B16NLoc_direct 0x0000
#define LSb32NLoc_direct 9
#define LSb16NLoc_direct 9
#define bNLoc_direct 1
#define MSK32NLoc_direct 0x00000200
#define BA_NLoc_motion 0x0001
#define B16NLoc_motion 0x0000
#define LSb32NLoc_motion 10
#define LSb16NLoc_motion 10
#define bNLoc_motion 2
#define MSK32NLoc_motion 0x00000C00
#define BA_NLoc_A 0x0001
#define B16NLoc_A 0x0000
#define LSb32NLoc_A 12
#define LSb16NLoc_A 12
#define bNLoc_A 1
#define MSK32NLoc_A 0x00001000
#define BA_NLoc_B 0x0001
#define B16NLoc_B 0x0000
#define LSb32NLoc_B 13
#define LSb16NLoc_B 13
#define bNLoc_B 1
#define MSK32NLoc_B 0x00002000
#define BA_NLoc_C 0x0001
#define B16NLoc_C 0x0000
#define LSb32NLoc_C 14
#define LSb16NLoc_C 14
#define bNLoc_C 1
#define MSK32NLoc_C 0x00004000
#define BA_NLoc_D 0x0001
#define B16NLoc_D 0x0000
#define LSb32NLoc_D 15
#define LSb16NLoc_D 15
#define bNLoc_D 1
#define MSK32NLoc_D 0x00008000
///////////////////////////////////////////////////////////
typedef struct SIE_NLoc {
///////////////////////////////////////////////////////////
#define GET32NLoc_BLK(r32) _BFGET_(r32, 3, 0)
#define SET32NLoc_BLK(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16NLoc_BLK(r16) _BFGET_(r16, 3, 0)
#define SET16NLoc_BLK(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32NLoc_category(r32) _BFGET_(r32, 7, 4)
#define SET32NLoc_category(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16NLoc_category(r16) _BFGET_(r16, 7, 4)
#define SET16NLoc_category(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32NLoc_parity(r32) _BFGET_(r32, 8, 8)
#define SET32NLoc_parity(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16NLoc_parity(r16) _BFGET_(r16, 8, 8)
#define SET16NLoc_parity(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32NLoc_direct(r32) _BFGET_(r32, 9, 9)
#define SET32NLoc_direct(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16NLoc_direct(r16) _BFGET_(r16, 9, 9)
#define SET16NLoc_direct(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32NLoc_motion(r32) _BFGET_(r32,11,10)
#define SET32NLoc_motion(r32,v) _BFSET_(r32,11,10,v)
#define GET16NLoc_motion(r16) _BFGET_(r16,11,10)
#define SET16NLoc_motion(r16,v) _BFSET_(r16,11,10,v)
#define GET32NLoc_A(r32) _BFGET_(r32,12,12)
#define SET32NLoc_A(r32,v) _BFSET_(r32,12,12,v)
#define GET16NLoc_A(r16) _BFGET_(r16,12,12)
#define SET16NLoc_A(r16,v) _BFSET_(r16,12,12,v)
#define GET32NLoc_B(r32) _BFGET_(r32,13,13)
#define SET32NLoc_B(r32,v) _BFSET_(r32,13,13,v)
#define GET16NLoc_B(r16) _BFGET_(r16,13,13)
#define SET16NLoc_B(r16,v) _BFSET_(r16,13,13,v)
#define GET32NLoc_C(r32) _BFGET_(r32,14,14)
#define SET32NLoc_C(r32,v) _BFSET_(r32,14,14,v)
#define GET16NLoc_C(r16) _BFGET_(r16,14,14)
#define SET16NLoc_C(r16,v) _BFSET_(r16,14,14,v)
#define GET32NLoc_D(r32) _BFGET_(r32,15,15)
#define SET32NLoc_D(r32,v) _BFSET_(r32,15,15,v)
#define GET16NLoc_D(r16) _BFGET_(r16,15,15)
#define SET16NLoc_D(r16,v) _BFSET_(r16,15,15,v)
UNSG32 u_BLK : 4;
UNSG32 u_category : 4;
UNSG32 u_parity : 1;
UNSG32 u_direct : 1;
UNSG32 u_motion : 2;
UNSG32 u_A : 1;
UNSG32 u_B : 1;
UNSG32 u_C : 1;
UNSG32 u_D : 1;
///////////////////////////////////////////////////////////
} SIE_NLoc;
///////////////////////////////////////////////////////////
SIGN32 NLoc_drvrd(SIE_NLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NLoc_drvwr(SIE_NLoc *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NLoc_reset(SIE_NLoc *p);
SIGN32 NLoc_cmp (SIE_NLoc *p, SIE_NLoc *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NLoc_check(p,pie,pfx,hLOG) NLoc_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NLoc_print(p, pfx,hLOG) NLoc_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NLoc
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BLK (4,4)
/// # # ----------------------------------------------------------
/// : skip 0x0
/// : direct16x16 0x1
/// : 4BLK 0x2
/// : inter 0x3
/// : IPCM 0x4
/// : intra16x16 0x5
/// : intraNxN 0x6
/// ###
/// * Sub-set of mb_type
/// * MPEG2: only skip, inter, intra (intra16x16)
/// * MPEG4/VC-1: only 1 intra type (intra16x16)
/// * AVS: skip, direct16x16, 4BLK, inter, intra16x16 (only 1 intra type)
/// ###
/// @ 0x00000 (P)
/// %unsigned 2 motion
/// : Intra 0x0
/// : Forward 0x1
/// : Backward 0x2
/// : Bi 0x3
/// ###
/// * Derived 8x8 block motion type
/// * NOTE: direct mode uses 'Bi'
/// ###
/// %unsigned 2 partition
/// : 1mv 0x0
/// : 2mvLR 0x1
/// : 2mvTB 0x2
/// ###
/// * MPEG2: 2mvTB used for field prediction
/// * VC-1: 2-field-mv
/// ###
/// : 4mv 0x3
/// ###
/// * Block/macroblock level partitioning
/// * MPEG4: 1mv & 4mv
/// ###
/// : 4mvFLD 0x1
/// ###
/// * VC-1: 4-field-mv
/// ###
/// %unsigned 1 direct
/// ###
/// * Direct mode flag
/// * MPEG2: dual-prime prediction
/// ###
/// %unsigned 3 mvs
/// ###
/// * Number of motion vectors: 0/1/2/4
/// ###
/// %unsigned 2 motion1
/// %unsigned 2 partition1
/// %unsigned 1 direct1
/// %unsigned 3 mvs1
/// %unsigned 2 motion2
/// %unsigned 2 partition2
/// %unsigned 1 direct2
/// %unsigned 3 mvs2
/// %unsigned 2 motion3
/// %unsigned 2 partition3
/// %unsigned 1 direct3
/// %unsigned 3 mvs3
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BLK
#define h_BLK (){}
#define BLK_skip 0x0
#define BLK_direct16x16 0x1
#define BLK_4BLK 0x2
#define BLK_inter 0x3
#define BLK_IPCM 0x4
#define BLK_intra16x16 0x5
#define BLK_intraNxN 0x6
///////////////////////////////////////////////////////////
#define BA_BLK_motion 0x0000
#define B16BLK_motion 0x0000
#define LSb32BLK_motion 0
#define LSb16BLK_motion 0
#define bBLK_motion 2
#define MSK32BLK_motion 0x00000003
#define BLK_motion_Intra 0x0
#define BLK_motion_Forward 0x1
#define BLK_motion_Backward 0x2
#define BLK_motion_Bi 0x3
#define BA_BLK_partition 0x0000
#define B16BLK_partition 0x0000
#define LSb32BLK_partition 2
#define LSb16BLK_partition 2
#define bBLK_partition 2
#define MSK32BLK_partition 0x0000000C
#define BLK_partition_1mv 0x0
#define BLK_partition_2mvLR 0x1
#define BLK_partition_2mvTB 0x2
#define BLK_partition_4mv 0x3
#define BLK_partition_4mvFLD 0x1
#define BA_BLK_direct 0x0000
#define B16BLK_direct 0x0000
#define LSb32BLK_direct 4
#define LSb16BLK_direct 4
#define bBLK_direct 1
#define MSK32BLK_direct 0x00000010
#define BA_BLK_mvs 0x0000
#define B16BLK_mvs 0x0000
#define LSb32BLK_mvs 5
#define LSb16BLK_mvs 5
#define bBLK_mvs 3
#define MSK32BLK_mvs 0x000000E0
#define BA_BLK_motion1 0x0001
#define B16BLK_motion1 0x0000
#define LSb32BLK_motion1 8
#define LSb16BLK_motion1 8
#define bBLK_motion1 2
#define MSK32BLK_motion1 0x00000300
#define BA_BLK_partition1 0x0001
#define B16BLK_partition1 0x0000
#define LSb32BLK_partition1 10
#define LSb16BLK_partition1 10
#define bBLK_partition1 2
#define MSK32BLK_partition1 0x00000C00
#define BA_BLK_direct1 0x0001
#define B16BLK_direct1 0x0000
#define LSb32BLK_direct1 12
#define LSb16BLK_direct1 12
#define bBLK_direct1 1
#define MSK32BLK_direct1 0x00001000
#define BA_BLK_mvs1 0x0001
#define B16BLK_mvs1 0x0000
#define LSb32BLK_mvs1 13
#define LSb16BLK_mvs1 13
#define bBLK_mvs1 3
#define MSK32BLK_mvs1 0x0000E000
#define BA_BLK_motion2 0x0002
#define B16BLK_motion2 0x0002
#define LSb32BLK_motion2 16
#define LSb16BLK_motion2 0
#define bBLK_motion2 2
#define MSK32BLK_motion2 0x00030000
#define BA_BLK_partition2 0x0002
#define B16BLK_partition2 0x0002
#define LSb32BLK_partition2 18
#define LSb16BLK_partition2 2
#define bBLK_partition2 2
#define MSK32BLK_partition2 0x000C0000
#define BA_BLK_direct2 0x0002
#define B16BLK_direct2 0x0002
#define LSb32BLK_direct2 20
#define LSb16BLK_direct2 4
#define bBLK_direct2 1
#define MSK32BLK_direct2 0x00100000
#define BA_BLK_mvs2 0x0002
#define B16BLK_mvs2 0x0002
#define LSb32BLK_mvs2 21
#define LSb16BLK_mvs2 5
#define bBLK_mvs2 3
#define MSK32BLK_mvs2 0x00E00000
#define BA_BLK_motion3 0x0003
#define B16BLK_motion3 0x0002
#define LSb32BLK_motion3 24
#define LSb16BLK_motion3 8
#define bBLK_motion3 2
#define MSK32BLK_motion3 0x03000000
#define BA_BLK_partition3 0x0003
#define B16BLK_partition3 0x0002
#define LSb32BLK_partition3 26
#define LSb16BLK_partition3 10
#define bBLK_partition3 2
#define MSK32BLK_partition3 0x0C000000
#define BA_BLK_direct3 0x0003
#define B16BLK_direct3 0x0002
#define LSb32BLK_direct3 28
#define LSb16BLK_direct3 12
#define bBLK_direct3 1
#define MSK32BLK_direct3 0x10000000
#define BA_BLK_mvs3 0x0003
#define B16BLK_mvs3 0x0002
#define LSb32BLK_mvs3 29
#define LSb16BLK_mvs3 13
#define bBLK_mvs3 3
#define MSK32BLK_mvs3 0xE0000000
///////////////////////////////////////////////////////////
typedef struct SIE_BLK {
///////////////////////////////////////////////////////////
#define GET32BLK_motion(r32) _BFGET_(r32, 1, 0)
#define SET32BLK_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16BLK_motion(r16) _BFGET_(r16, 1, 0)
#define SET16BLK_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BLK_partition(r32) _BFGET_(r32, 3, 2)
#define SET32BLK_partition(r32,v) _BFSET_(r32, 3, 2,v)
#define GET16BLK_partition(r16) _BFGET_(r16, 3, 2)
#define SET16BLK_partition(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BLK_direct(r32) _BFGET_(r32, 4, 4)
#define SET32BLK_direct(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16BLK_direct(r16) _BFGET_(r16, 4, 4)
#define SET16BLK_direct(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BLK_mvs(r32) _BFGET_(r32, 7, 5)
#define SET32BLK_mvs(r32,v) _BFSET_(r32, 7, 5,v)
#define GET16BLK_mvs(r16) _BFGET_(r16, 7, 5)
#define SET16BLK_mvs(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32BLK_motion1(r32) _BFGET_(r32, 9, 8)
#define SET32BLK_motion1(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16BLK_motion1(r16) _BFGET_(r16, 9, 8)
#define SET16BLK_motion1(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32BLK_partition1(r32) _BFGET_(r32,11,10)
#define SET32BLK_partition1(r32,v) _BFSET_(r32,11,10,v)
#define GET16BLK_partition1(r16) _BFGET_(r16,11,10)
#define SET16BLK_partition1(r16,v) _BFSET_(r16,11,10,v)
#define GET32BLK_direct1(r32) _BFGET_(r32,12,12)
#define SET32BLK_direct1(r32,v) _BFSET_(r32,12,12,v)
#define GET16BLK_direct1(r16) _BFGET_(r16,12,12)
#define SET16BLK_direct1(r16,v) _BFSET_(r16,12,12,v)
#define GET32BLK_mvs1(r32) _BFGET_(r32,15,13)
#define SET32BLK_mvs1(r32,v) _BFSET_(r32,15,13,v)
#define GET16BLK_mvs1(r16) _BFGET_(r16,15,13)
#define SET16BLK_mvs1(r16,v) _BFSET_(r16,15,13,v)
#define GET32BLK_motion2(r32) _BFGET_(r32,17,16)
#define SET32BLK_motion2(r32,v) _BFSET_(r32,17,16,v)
#define GET16BLK_motion2(r16) _BFGET_(r16, 1, 0)
#define SET16BLK_motion2(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BLK_partition2(r32) _BFGET_(r32,19,18)
#define SET32BLK_partition2(r32,v) _BFSET_(r32,19,18,v)
#define GET16BLK_partition2(r16) _BFGET_(r16, 3, 2)
#define SET16BLK_partition2(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BLK_direct2(r32) _BFGET_(r32,20,20)
#define SET32BLK_direct2(r32,v) _BFSET_(r32,20,20,v)
#define GET16BLK_direct2(r16) _BFGET_(r16, 4, 4)
#define SET16BLK_direct2(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BLK_mvs2(r32) _BFGET_(r32,23,21)
#define SET32BLK_mvs2(r32,v) _BFSET_(r32,23,21,v)
#define GET16BLK_mvs2(r16) _BFGET_(r16, 7, 5)
#define SET16BLK_mvs2(r16,v) _BFSET_(r16, 7, 5,v)
#define GET32BLK_motion3(r32) _BFGET_(r32,25,24)
#define SET32BLK_motion3(r32,v) _BFSET_(r32,25,24,v)
#define GET16BLK_motion3(r16) _BFGET_(r16, 9, 8)
#define SET16BLK_motion3(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32BLK_partition3(r32) _BFGET_(r32,27,26)
#define SET32BLK_partition3(r32,v) _BFSET_(r32,27,26,v)
#define GET16BLK_partition3(r16) _BFGET_(r16,11,10)
#define SET16BLK_partition3(r16,v) _BFSET_(r16,11,10,v)
#define GET32BLK_direct3(r32) _BFGET_(r32,28,28)
#define SET32BLK_direct3(r32,v) _BFSET_(r32,28,28,v)
#define GET16BLK_direct3(r16) _BFGET_(r16,12,12)
#define SET16BLK_direct3(r16,v) _BFSET_(r16,12,12,v)
#define GET32BLK_mvs3(r32) _BFGET_(r32,31,29)
#define SET32BLK_mvs3(r32,v) _BFSET_(r32,31,29,v)
#define GET16BLK_mvs3(r16) _BFGET_(r16,15,13)
#define SET16BLK_mvs3(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_motion : 2;
UNSG32 u_partition : 2;
UNSG32 u_direct : 1;
UNSG32 u_mvs : 3;
UNSG32 u_motion1 : 2;
UNSG32 u_partition1 : 2;
UNSG32 u_direct1 : 1;
UNSG32 u_mvs1 : 3;
UNSG32 u_motion2 : 2;
UNSG32 u_partition2 : 2;
UNSG32 u_direct2 : 1;
UNSG32 u_mvs2 : 3;
UNSG32 u_motion3 : 2;
UNSG32 u_partition3 : 2;
UNSG32 u_direct3 : 1;
UNSG32 u_mvs3 : 3;
///////////////////////////////////////////////////////////
} SIE_BLK;
///////////////////////////////////////////////////////////
SIGN32 BLK_drvrd(SIE_BLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BLK_drvwr(SIE_BLK *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BLK_reset(SIE_BLK *p);
SIGN32 BLK_cmp (SIE_BLK *p, SIE_BLK *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BLK_check(p,pie,pfx,hLOG) BLK_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BLK_print(p, pfx,hLOG) BLK_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BLK
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE MV (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 2 motion
/// ###
/// * Derived 8x8 block motion type (direct mode uses 'Bi'), see BLK.motion above
/// ###
/// %signed 14 X
/// ###
/// * Horizontal motion vector,
/// * Or MVD between parser & syntax processor
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type above
/// ###
/// %signed 13 Y
/// ###
/// * Vertical motion vector,
/// * Or MVD between parser & syntax processor
/// * End of MV
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 32b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_MV
#define h_MV (){}
#define BA_MV_motion 0x0000
#define B16MV_motion 0x0000
#define LSb32MV_motion 0
#define LSb16MV_motion 0
#define bMV_motion 2
#define MSK32MV_motion 0x00000003
#define BA_MV_X 0x0000
#define B16MV_X 0x0000
#define LSb32MV_X 2
#define LSb16MV_X 2
#define bMV_X 14
#define MSK32MV_X 0x0000FFFC
#define BA_MV_type 0x0002
#define B16MV_type 0x0002
#define LSb32MV_type 16
#define LSb16MV_type 0
#define bMV_type 3
#define MSK32MV_type 0x00070000
#define BA_MV_Y 0x0002
#define B16MV_Y 0x0002
#define LSb32MV_Y 19
#define LSb16MV_Y 3
#define bMV_Y 13
#define MSK32MV_Y 0xFFF80000
///////////////////////////////////////////////////////////
typedef struct SIE_MV {
///////////////////////////////////////////////////////////
#define GET32MV_motion(r32) _BFGET_(r32, 1, 0)
#define SET32MV_motion(r32,v) _BFSET_(r32, 1, 0,v)
#define GET16MV_motion(r16) _BFGET_(r16, 1, 0)
#define SET16MV_motion(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32MV_X(r32) _BFGET_(r32,15, 2)
#define SET32MV_X(r32,v) _BFSET_(r32,15, 2,v)
#define GET16MV_X(r16) _BFGET_(r16,15, 2)
#define SET16MV_X(r16,v) _BFSET_(r16,15, 2,v)
#define GET32MV_type(r32) _BFGET_(r32,18,16)
#define SET32MV_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16MV_type(r16) _BFGET_(r16, 2, 0)
#define SET16MV_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32MV_Y(r32) _BFGET_(r32,31,19)
#define SET32MV_Y(r32,v) _BFSET_(r32,31,19,v)
#define GET16MV_Y(r16) _BFGET_(r16,15, 3)
#define SET16MV_Y(r16,v) _BFSET_(r16,15, 3,v)
UNSG32 u_motion : 2;
UNSG32 s_X : 14;
UNSG32 u_type : 3;
UNSG32 s_Y : 13;
///////////////////////////////////////////////////////////
} SIE_MV;
///////////////////////////////////////////////////////////
SIGN32 MV_drvrd(SIE_MV *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 MV_drvwr(SIE_MV *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void MV_reset(SIE_MV *p);
SIGN32 MV_cmp (SIE_MV *p, SIE_MV *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define MV_check(p,pie,pfx,hLOG) MV_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define MV_print(p, pfx,hLOG) MV_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: MV
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 1 CBFY
/// ###
/// * Loop-filter & CABAC use only:
/// * Using block category ACY (every 4x4s):
/// * = IPCM || cbf_luma_ac
/// ###
/// %unsigned 1 CBFUV
/// ###
/// * CABAC use only:
/// * Using block category ACU/ACV,
/// * (Only at 3rd & 4th 4x4 in each 8x8s):
/// * = IPCM || cbf_chroma_ac
/// ###
/// %unsigned 1 CBFDC
/// ###
/// * CABAC use only:
/// * LumaDC using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * = IPCM || (I_16x16 && cbf_luma_dc)
/// * ChromaDC using block category DCU/DCV,
/// * (Only at 3rd 4x4 in 3rd & 4th 8x8):
/// * = IPCM || cbf_chroma_dc
/// ###
/// %unsigned 6 ABSMVDX
/// ###
/// * CABAC use only:
/// * MIN( ABS(MVD.x), 63 )
/// ###
/// %unsigned 7 ABSMVDY
/// ###
/// * CABAC use only:
/// * MIN( ABS(MVD.y), 127 )
/// ###
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX
#define h_FCTX (){}
#define BA_FCTX_rBID 0x0000
#define B16FCTX_rBID 0x0000
#define LSb32FCTX_rBID 0
#define LSb16FCTX_rBID 0
#define bFCTX_rBID 6
#define MSK32FCTX_rBID 0x0000003F
#define BA_FCTX_rIDX 0x0000
#define B16FCTX_rIDX 0x0000
#define LSb32FCTX_rIDX 6
#define LSb16FCTX_rIDX 6
#define bFCTX_rIDX 5
#define MSK32FCTX_rIDX 0x000007C0
#define BA_FCTX_FLD 0x0001
#define B16FCTX_FLD 0x0000
#define LSb32FCTX_FLD 11
#define LSb16FCTX_FLD 11
#define bFCTX_FLD 1
#define MSK32FCTX_FLD 0x00000800
#define BA_FCTX_equalpred 0x0001
#define B16FCTX_equalpred 0x0000
#define LSb32FCTX_equalpred 12
#define LSb16FCTX_equalpred 12
#define bFCTX_equalpred 1
#define MSK32FCTX_equalpred 0x00001000
#define BA_FCTX_transform 0x0001
#define B16FCTX_transform 0x0000
#define LSb32FCTX_transform 13
#define LSb16FCTX_transform 13
#define bFCTX_transform 1
#define MSK32FCTX_transform 0x00002000
#define BA_FCTX_NCBPY 0x0001
#define B16FCTX_NCBPY 0x0000
#define LSb32FCTX_NCBPY 14
#define LSb16FCTX_NCBPY 14
#define bFCTX_NCBPY 1
#define MSK32FCTX_NCBPY 0x00004000
#define BA_FCTX_MixFLG 0x0001
#define B16FCTX_MixFLG 0x0000
#define LSb32FCTX_MixFLG 15
#define LSb16FCTX_MixFLG 15
#define bFCTX_MixFLG 1
#define MSK32FCTX_MixFLG 0x00008000
#define FCTX_MixFLG_8x8 0x1
#define FCTX_MixFLG_16x16 0x1
#define BA_FCTX_CBFY 0x0002
#define B16FCTX_CBFY 0x0002
#define LSb32FCTX_CBFY 16
#define LSb16FCTX_CBFY 0
#define bFCTX_CBFY 1
#define MSK32FCTX_CBFY 0x00010000
#define BA_FCTX_CBFUV 0x0002
#define B16FCTX_CBFUV 0x0002
#define LSb32FCTX_CBFUV 17
#define LSb16FCTX_CBFUV 1
#define bFCTX_CBFUV 1
#define MSK32FCTX_CBFUV 0x00020000
#define BA_FCTX_CBFDC 0x0002
#define B16FCTX_CBFDC 0x0002
#define LSb32FCTX_CBFDC 18
#define LSb16FCTX_CBFDC 2
#define bFCTX_CBFDC 1
#define MSK32FCTX_CBFDC 0x00040000
#define BA_FCTX_ABSMVDX 0x0002
#define B16FCTX_ABSMVDX 0x0002
#define LSb32FCTX_ABSMVDX 19
#define LSb16FCTX_ABSMVDX 3
#define bFCTX_ABSMVDX 6
#define MSK32FCTX_ABSMVDX 0x01F80000
#define BA_FCTX_ABSMVDY 0x0003
#define B16FCTX_ABSMVDY 0x0002
#define LSb32FCTX_ABSMVDY 25
#define LSb16FCTX_ABSMVDY 9
#define bFCTX_ABSMVDY 7
#define MSK32FCTX_ABSMVDY 0xFE000000
///////////////////////////////////////////////////////////
#define RA_FCTX_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX {
///////////////////////////////////////////////////////////
#define GET32FCTX_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_CBFY(r32) _BFGET_(r32,16,16)
#define SET32FCTX_CBFY(r32,v) _BFSET_(r32,16,16,v)
#define GET16FCTX_CBFY(r16) _BFGET_(r16, 0, 0)
#define SET16FCTX_CBFY(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FCTX_CBFUV(r32) _BFGET_(r32,17,17)
#define SET32FCTX_CBFUV(r32,v) _BFSET_(r32,17,17,v)
#define GET16FCTX_CBFUV(r16) _BFGET_(r16, 1, 1)
#define SET16FCTX_CBFUV(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FCTX_CBFDC(r32) _BFGET_(r32,18,18)
#define SET32FCTX_CBFDC(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_CBFDC(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_CBFDC(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_ABSMVDX(r32) _BFGET_(r32,24,19)
#define SET32FCTX_ABSMVDX(r32,v) _BFSET_(r32,24,19,v)
#define GET16FCTX_ABSMVDX(r16) _BFGET_(r16, 8, 3)
#define SET16FCTX_ABSMVDX(r16,v) _BFSET_(r16, 8, 3,v)
#define GET32FCTX_ABSMVDY(r32) _BFGET_(r32,31,25)
#define SET32FCTX_ABSMVDY(r32,v) _BFSET_(r32,31,25,v)
#define GET16FCTX_ABSMVDY(r16) _BFGET_(r16,15, 9)
#define SET16FCTX_ABSMVDY(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_CBFY : 1;
UNSG32 u_CBFUV : 1;
UNSG32 u_CBFDC : 1;
UNSG32 u_ABSMVDX : 6;
UNSG32 u_ABSMVDY : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX;
///////////////////////////////////////////////////////////
SIGN32 FCTX_drvrd(SIE_FCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_drvwr(SIE_FCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_reset(SIE_FCTX *p);
SIGN32 FCTX_cmp (SIE_FCTX *p, SIE_FCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_check(p,pie,pfx,hLOG) FCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_print(p, pfx,hLOG) FCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX_VC1 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 2 dctSelY
/// : 4x4 0x0
/// : 8x8 0x1
/// : 4x8 0x2
/// : 8x4 0x3
/// ###
/// * DCT transform type for Y, used for VC-1 Fop
/// * flattened to all 4x4 blocks within transform block
/// ###
/// %unsigned 1 CBFY
/// ###
/// * coded block (4x4) flag for Y, used for VC-1 Fop
/// ###
/// %unsigned 1 CBFY8x8
/// ###
/// * coded block (8x8) flag for Y, used for VC-1 MP Fop
/// ###
/// %unsigned 12 RSVD12
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX_VC1
#define h_FCTX_VC1 (){}
#define BA_FCTX_VC1_rBID 0x0000
#define B16FCTX_VC1_rBID 0x0000
#define LSb32FCTX_VC1_rBID 0
#define LSb16FCTX_VC1_rBID 0
#define bFCTX_VC1_rBID 6
#define MSK32FCTX_VC1_rBID 0x0000003F
#define BA_FCTX_VC1_rIDX 0x0000
#define B16FCTX_VC1_rIDX 0x0000
#define LSb32FCTX_VC1_rIDX 6
#define LSb16FCTX_VC1_rIDX 6
#define bFCTX_VC1_rIDX 5
#define MSK32FCTX_VC1_rIDX 0x000007C0
#define BA_FCTX_VC1_FLD 0x0001
#define B16FCTX_VC1_FLD 0x0000
#define LSb32FCTX_VC1_FLD 11
#define LSb16FCTX_VC1_FLD 11
#define bFCTX_VC1_FLD 1
#define MSK32FCTX_VC1_FLD 0x00000800
#define BA_FCTX_VC1_equalpred 0x0001
#define B16FCTX_VC1_equalpred 0x0000
#define LSb32FCTX_VC1_equalpred 12
#define LSb16FCTX_VC1_equalpred 12
#define bFCTX_VC1_equalpred 1
#define MSK32FCTX_VC1_equalpred 0x00001000
#define BA_FCTX_VC1_transform 0x0001
#define B16FCTX_VC1_transform 0x0000
#define LSb32FCTX_VC1_transform 13
#define LSb16FCTX_VC1_transform 13
#define bFCTX_VC1_transform 1
#define MSK32FCTX_VC1_transform 0x00002000
#define BA_FCTX_VC1_NCBPY 0x0001
#define B16FCTX_VC1_NCBPY 0x0000
#define LSb32FCTX_VC1_NCBPY 14
#define LSb16FCTX_VC1_NCBPY 14
#define bFCTX_VC1_NCBPY 1
#define MSK32FCTX_VC1_NCBPY 0x00004000
#define BA_FCTX_VC1_MixFLG 0x0001
#define B16FCTX_VC1_MixFLG 0x0000
#define LSb32FCTX_VC1_MixFLG 15
#define LSb16FCTX_VC1_MixFLG 15
#define bFCTX_VC1_MixFLG 1
#define MSK32FCTX_VC1_MixFLG 0x00008000
#define FCTX_VC1_MixFLG_8x8 0x1
#define FCTX_VC1_MixFLG_16x16 0x1
#define BA_FCTX_VC1_dctSelY 0x0002
#define B16FCTX_VC1_dctSelY 0x0002
#define LSb32FCTX_VC1_dctSelY 16
#define LSb16FCTX_VC1_dctSelY 0
#define bFCTX_VC1_dctSelY 2
#define MSK32FCTX_VC1_dctSelY 0x00030000
#define FCTX_VC1_dctSelY_4x4 0x0
#define FCTX_VC1_dctSelY_8x8 0x1
#define FCTX_VC1_dctSelY_4x8 0x2
#define FCTX_VC1_dctSelY_8x4 0x3
#define BA_FCTX_VC1_CBFY 0x0002
#define B16FCTX_VC1_CBFY 0x0002
#define LSb32FCTX_VC1_CBFY 18
#define LSb16FCTX_VC1_CBFY 2
#define bFCTX_VC1_CBFY 1
#define MSK32FCTX_VC1_CBFY 0x00040000
#define BA_FCTX_VC1_CBFY8x8 0x0002
#define B16FCTX_VC1_CBFY8x8 0x0002
#define LSb32FCTX_VC1_CBFY8x8 19
#define LSb16FCTX_VC1_CBFY8x8 3
#define bFCTX_VC1_CBFY8x8 1
#define MSK32FCTX_VC1_CBFY8x8 0x00080000
#define BA_FCTX_VC1_RSVD12 0x0002
#define B16FCTX_VC1_RSVD12 0x0002
#define LSb32FCTX_VC1_RSVD12 20
#define LSb16FCTX_VC1_RSVD12 4
#define bFCTX_VC1_RSVD12 12
#define MSK32FCTX_VC1_RSVD12 0xFFF00000
///////////////////////////////////////////////////////////
#define RA_FCTX_VC1_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX_VC1 {
///////////////////////////////////////////////////////////
#define GET32FCTX_VC1_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_VC1_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_VC1_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_VC1_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_VC1_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_VC1_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_VC1_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_VC1_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_VC1_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_VC1_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_VC1_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_VC1_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_VC1_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_VC1_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_VC1_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_VC1_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_VC1_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_VC1_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_VC1_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_VC1_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_VC1_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_VC1_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_VC1_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_VC1_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_VC1_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_VC1_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_VC1_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_VC1_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_VC1_dctSelY(r32) _BFGET_(r32,17,16)
#define SET32FCTX_VC1_dctSelY(r32,v) _BFSET_(r32,17,16,v)
#define GET16FCTX_VC1_dctSelY(r16) _BFGET_(r16, 1, 0)
#define SET16FCTX_VC1_dctSelY(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32FCTX_VC1_CBFY(r32) _BFGET_(r32,18,18)
#define SET32FCTX_VC1_CBFY(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_VC1_CBFY(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_VC1_CBFY(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_VC1_CBFY8x8(r32) _BFGET_(r32,19,19)
#define SET32FCTX_VC1_CBFY8x8(r32,v) _BFSET_(r32,19,19,v)
#define GET16FCTX_VC1_CBFY8x8(r16) _BFGET_(r16, 3, 3)
#define SET16FCTX_VC1_CBFY8x8(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32FCTX_VC1_RSVD12(r32) _BFGET_(r32,31,20)
#define SET32FCTX_VC1_RSVD12(r32,v) _BFSET_(r32,31,20,v)
#define GET16FCTX_VC1_RSVD12(r16) _BFGET_(r16,15, 4)
#define SET16FCTX_VC1_RSVD12(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_dctSelY : 2;
UNSG32 u_CBFY : 1;
UNSG32 u_CBFY8x8 : 1;
UNSG32 u_RSVD12 : 12;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX_VC1;
///////////////////////////////////////////////////////////
SIGN32 FCTX_VC1_drvrd(SIE_FCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_VC1_drvwr(SIE_FCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_VC1_reset(SIE_FCTX_VC1 *p);
SIGN32 FCTX_VC1_cmp (SIE_FCTX_VC1 *p, SIE_FCTX_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_VC1_check(p,pie,pfx,hLOG) FCTX_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_VC1_print(p, pfx,hLOG) FCTX_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTX_RV9 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as direct mode between parser & syntax processor):
/// * Reference buffer ID, last 1b indicates access mode:
/// * 0: frame/progressive or top field
/// * 1: bottom field
/// ###
/// %unsigned 5 rIDX
/// ###
/// * Flatten 4x4s in each 8x8,
/// * 0 for intra (as well as P/B-skip & direct mode between parser & syntax processor):
/// * Syntax 'RefListIdx' directly decoded from bit stream (field information embedded)
/// ###
/// %unsigned 1 FLD
/// ###
/// * Flatten 4x4s in each 8x8:
/// * 1 for MBAFF field MB, 0 for otherwise
/// ###
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || fore-pred)
/// * NOTE: = 0 for direct mode
/// * VC-1:
/// * PMV output: for hybridPred
/// * PMV input: predictor_flag (0: use dominant PMV)
/// ###
/// %unsigned 1 transform
/// ###
/// * MB property (flatten in all 4x4s):
/// * H.264: if 8x8 transform
/// * Others: if field transform
/// ###
/// %unsigned 1 NCBPY
/// ###
/// * Loop-filter & CABAC use only:
/// * Luma using block category ACV (4th 4x4),
/// * (But flatten to all 4x4s in each 8x8s):
/// * = !(IPCM || cbp_luma)
/// ###
/// %unsigned 1 MixFLG
/// ###
/// * CABAC use only:
/// * CBP chroma using block category DCU/DCV,
/// * (Only at 3rd & 4th 4x4s in 3rd 8x8):
/// * bin[0]: IPCM || !(skipped || (cbp_chroma == 0))
/// * bin[1]: IPCM || !(skipped || (cbp_chroma != 2))
/// * Or:
/// * mb_type using block category DCY,
/// * (Only at 4th 4x4 in 4th 8x8):
/// * I_SLICE: = !I_NXN
/// * P_SLICE: = 0
/// * B_SLICE: = !skipped && !direct_16x16
/// * Or:
/// * intra-chroma_pred using block category DCI,
/// * (Only at 3rd 4x4 in 4th 8x8):
/// * = Intra && !IPCM && (intra_chroma_pred != 0)
/// * Or:
/// * Temporal context buffers for direct mode use
/// ###
/// : 8x8 0x1
/// ###
/// * Only at 1st 4x4 in 1st 8x8:
/// * = if MB contains no sub-8x8 partition
/// ###
/// : 16x16 0x1
/// ###
/// * Only at 1st 4x4 in 2nd 8x8:
/// * = if MB contains only 1 partition (16x16)
/// ###
/// %unsigned 1 CBPY
/// ###
/// * CBP for Y
/// ###
/// %unsigned 1 CBPU
/// ###
/// * CBP for U
/// ###
/// %unsigned 1 CBPV
/// ###
/// * CBP for Y
/// ###
/// %unsigned 2 BsY
/// ###
/// * Block strength for Y
/// ###
/// %unsigned 2 BsU
/// ###
/// * Block strength for U
/// ###
/// %unsigned 2 BsV
/// ###
/// * Block strength for V
/// ###
/// %unsigned 7 Rsvd
/// ###
/// * Reserved
/// ###
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTX_RV9
#define h_FCTX_RV9 (){}
#define BA_FCTX_RV9_rBID 0x0000
#define B16FCTX_RV9_rBID 0x0000
#define LSb32FCTX_RV9_rBID 0
#define LSb16FCTX_RV9_rBID 0
#define bFCTX_RV9_rBID 6
#define MSK32FCTX_RV9_rBID 0x0000003F
#define BA_FCTX_RV9_rIDX 0x0000
#define B16FCTX_RV9_rIDX 0x0000
#define LSb32FCTX_RV9_rIDX 6
#define LSb16FCTX_RV9_rIDX 6
#define bFCTX_RV9_rIDX 5
#define MSK32FCTX_RV9_rIDX 0x000007C0
#define BA_FCTX_RV9_FLD 0x0001
#define B16FCTX_RV9_FLD 0x0000
#define LSb32FCTX_RV9_FLD 11
#define LSb16FCTX_RV9_FLD 11
#define bFCTX_RV9_FLD 1
#define MSK32FCTX_RV9_FLD 0x00000800
#define BA_FCTX_RV9_equalpred 0x0001
#define B16FCTX_RV9_equalpred 0x0000
#define LSb32FCTX_RV9_equalpred 12
#define LSb16FCTX_RV9_equalpred 12
#define bFCTX_RV9_equalpred 1
#define MSK32FCTX_RV9_equalpred 0x00001000
#define BA_FCTX_RV9_transform 0x0001
#define B16FCTX_RV9_transform 0x0000
#define LSb32FCTX_RV9_transform 13
#define LSb16FCTX_RV9_transform 13
#define bFCTX_RV9_transform 1
#define MSK32FCTX_RV9_transform 0x00002000
#define BA_FCTX_RV9_NCBPY 0x0001
#define B16FCTX_RV9_NCBPY 0x0000
#define LSb32FCTX_RV9_NCBPY 14
#define LSb16FCTX_RV9_NCBPY 14
#define bFCTX_RV9_NCBPY 1
#define MSK32FCTX_RV9_NCBPY 0x00004000
#define BA_FCTX_RV9_MixFLG 0x0001
#define B16FCTX_RV9_MixFLG 0x0000
#define LSb32FCTX_RV9_MixFLG 15
#define LSb16FCTX_RV9_MixFLG 15
#define bFCTX_RV9_MixFLG 1
#define MSK32FCTX_RV9_MixFLG 0x00008000
#define FCTX_RV9_MixFLG_8x8 0x1
#define FCTX_RV9_MixFLG_16x16 0x1
#define BA_FCTX_RV9_CBPY 0x0002
#define B16FCTX_RV9_CBPY 0x0002
#define LSb32FCTX_RV9_CBPY 16
#define LSb16FCTX_RV9_CBPY 0
#define bFCTX_RV9_CBPY 1
#define MSK32FCTX_RV9_CBPY 0x00010000
#define BA_FCTX_RV9_CBPU 0x0002
#define B16FCTX_RV9_CBPU 0x0002
#define LSb32FCTX_RV9_CBPU 17
#define LSb16FCTX_RV9_CBPU 1
#define bFCTX_RV9_CBPU 1
#define MSK32FCTX_RV9_CBPU 0x00020000
#define BA_FCTX_RV9_CBPV 0x0002
#define B16FCTX_RV9_CBPV 0x0002
#define LSb32FCTX_RV9_CBPV 18
#define LSb16FCTX_RV9_CBPV 2
#define bFCTX_RV9_CBPV 1
#define MSK32FCTX_RV9_CBPV 0x00040000
#define BA_FCTX_RV9_BsY 0x0002
#define B16FCTX_RV9_BsY 0x0002
#define LSb32FCTX_RV9_BsY 19
#define LSb16FCTX_RV9_BsY 3
#define bFCTX_RV9_BsY 2
#define MSK32FCTX_RV9_BsY 0x00180000
#define BA_FCTX_RV9_BsU 0x0002
#define B16FCTX_RV9_BsU 0x0002
#define LSb32FCTX_RV9_BsU 21
#define LSb16FCTX_RV9_BsU 5
#define bFCTX_RV9_BsU 2
#define MSK32FCTX_RV9_BsU 0x00600000
#define BA_FCTX_RV9_BsV 0x0002
#define B16FCTX_RV9_BsV 0x0002
#define LSb32FCTX_RV9_BsV 23
#define LSb16FCTX_RV9_BsV 7
#define bFCTX_RV9_BsV 2
#define MSK32FCTX_RV9_BsV 0x01800000
#define BA_FCTX_RV9_Rsvd 0x0003
#define B16FCTX_RV9_Rsvd 0x0002
#define LSb32FCTX_RV9_Rsvd 25
#define LSb16FCTX_RV9_Rsvd 9
#define bFCTX_RV9_Rsvd 7
#define MSK32FCTX_RV9_Rsvd 0xFE000000
///////////////////////////////////////////////////////////
#define RA_FCTX_RV9_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_FCTX_RV9 {
///////////////////////////////////////////////////////////
#define GET32FCTX_RV9_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32FCTX_RV9_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16FCTX_RV9_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16FCTX_RV9_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32FCTX_RV9_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32FCTX_RV9_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16FCTX_RV9_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16FCTX_RV9_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTX_RV9_FLD(r32) _BFGET_(r32,11,11)
#define SET32FCTX_RV9_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16FCTX_RV9_FLD(r16) _BFGET_(r16,11,11)
#define SET16FCTX_RV9_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32FCTX_RV9_equalpred(r32) _BFGET_(r32,12,12)
#define SET32FCTX_RV9_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16FCTX_RV9_equalpred(r16) _BFGET_(r16,12,12)
#define SET16FCTX_RV9_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32FCTX_RV9_transform(r32) _BFGET_(r32,13,13)
#define SET32FCTX_RV9_transform(r32,v) _BFSET_(r32,13,13,v)
#define GET16FCTX_RV9_transform(r16) _BFGET_(r16,13,13)
#define SET16FCTX_RV9_transform(r16,v) _BFSET_(r16,13,13,v)
#define GET32FCTX_RV9_NCBPY(r32) _BFGET_(r32,14,14)
#define SET32FCTX_RV9_NCBPY(r32,v) _BFSET_(r32,14,14,v)
#define GET16FCTX_RV9_NCBPY(r16) _BFGET_(r16,14,14)
#define SET16FCTX_RV9_NCBPY(r16,v) _BFSET_(r16,14,14,v)
#define GET32FCTX_RV9_MixFLG(r32) _BFGET_(r32,15,15)
#define SET32FCTX_RV9_MixFLG(r32,v) _BFSET_(r32,15,15,v)
#define GET16FCTX_RV9_MixFLG(r16) _BFGET_(r16,15,15)
#define SET16FCTX_RV9_MixFLG(r16,v) _BFSET_(r16,15,15,v)
#define GET32FCTX_RV9_CBPY(r32) _BFGET_(r32,16,16)
#define SET32FCTX_RV9_CBPY(r32,v) _BFSET_(r32,16,16,v)
#define GET16FCTX_RV9_CBPY(r16) _BFGET_(r16, 0, 0)
#define SET16FCTX_RV9_CBPY(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32FCTX_RV9_CBPU(r32) _BFGET_(r32,17,17)
#define SET32FCTX_RV9_CBPU(r32,v) _BFSET_(r32,17,17,v)
#define GET16FCTX_RV9_CBPU(r16) _BFGET_(r16, 1, 1)
#define SET16FCTX_RV9_CBPU(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32FCTX_RV9_CBPV(r32) _BFGET_(r32,18,18)
#define SET32FCTX_RV9_CBPV(r32,v) _BFSET_(r32,18,18,v)
#define GET16FCTX_RV9_CBPV(r16) _BFGET_(r16, 2, 2)
#define SET16FCTX_RV9_CBPV(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32FCTX_RV9_BsY(r32) _BFGET_(r32,20,19)
#define SET32FCTX_RV9_BsY(r32,v) _BFSET_(r32,20,19,v)
#define GET16FCTX_RV9_BsY(r16) _BFGET_(r16, 4, 3)
#define SET16FCTX_RV9_BsY(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32FCTX_RV9_BsU(r32) _BFGET_(r32,22,21)
#define SET32FCTX_RV9_BsU(r32,v) _BFSET_(r32,22,21,v)
#define GET16FCTX_RV9_BsU(r16) _BFGET_(r16, 6, 5)
#define SET16FCTX_RV9_BsU(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32FCTX_RV9_BsV(r32) _BFGET_(r32,24,23)
#define SET32FCTX_RV9_BsV(r32,v) _BFSET_(r32,24,23,v)
#define GET16FCTX_RV9_BsV(r16) _BFGET_(r16, 8, 7)
#define SET16FCTX_RV9_BsV(r16,v) _BFSET_(r16, 8, 7,v)
#define GET32FCTX_RV9_Rsvd(r32) _BFGET_(r32,31,25)
#define SET32FCTX_RV9_Rsvd(r32,v) _BFSET_(r32,31,25,v)
#define GET16FCTX_RV9_Rsvd(r16) _BFGET_(r16,15, 9)
#define SET16FCTX_RV9_Rsvd(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_transform : 1;
UNSG32 u_NCBPY : 1;
UNSG32 u_MixFLG : 1;
UNSG32 u_CBPY : 1;
UNSG32 u_CBPU : 1;
UNSG32 u_CBPV : 1;
UNSG32 u_BsY : 2;
UNSG32 u_BsU : 2;
UNSG32 u_BsV : 2;
UNSG32 u_Rsvd : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_FCTX_RV9;
///////////////////////////////////////////////////////////
SIGN32 FCTX_RV9_drvrd(SIE_FCTX_RV9 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTX_RV9_drvwr(SIE_FCTX_RV9 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTX_RV9_reset(SIE_FCTX_RV9 *p);
SIGN32 FCTX_RV9_cmp (SIE_FCTX_RV9 *p, SIE_FCTX_RV9 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTX_RV9_check(p,pie,pfx,hLOG) FCTX_RV9_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTX_RV9_print(p, pfx,hLOG) FCTX_RV9_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTX_RV9
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BCTX biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// %unsigned 5 rIDX
/// %unsigned 1 FLD
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (Only at 4th 4x4 in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || back-pred)
/// * NOTE: = 0 for direct mode
/// ###
/// %unsigned 3 RSVD
/// ###
/// * Reserved
/// ###
/// %unsigned 3 dctSel
/// : 8x8 0x0
/// : 8x4 0x1
/// : 4x8 0x2
/// : 4x4 0x3
/// ###
/// * VC-1 use only
/// ###
/// %unsigned 6 ABSMVDX
/// %unsigned 7 ABSMVDY
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BCTX
#define h_BCTX (){}
#define BA_BCTX_rBID 0x0000
#define B16BCTX_rBID 0x0000
#define LSb32BCTX_rBID 0
#define LSb16BCTX_rBID 0
#define bBCTX_rBID 6
#define MSK32BCTX_rBID 0x0000003F
#define BA_BCTX_rIDX 0x0000
#define B16BCTX_rIDX 0x0000
#define LSb32BCTX_rIDX 6
#define LSb16BCTX_rIDX 6
#define bBCTX_rIDX 5
#define MSK32BCTX_rIDX 0x000007C0
#define BA_BCTX_FLD 0x0001
#define B16BCTX_FLD 0x0000
#define LSb32BCTX_FLD 11
#define LSb16BCTX_FLD 11
#define bBCTX_FLD 1
#define MSK32BCTX_FLD 0x00000800
#define BA_BCTX_equalpred 0x0001
#define B16BCTX_equalpred 0x0000
#define LSb32BCTX_equalpred 12
#define LSb16BCTX_equalpred 12
#define bBCTX_equalpred 1
#define MSK32BCTX_equalpred 0x00001000
#define BA_BCTX_RSVD 0x0001
#define B16BCTX_RSVD 0x0000
#define LSb32BCTX_RSVD 13
#define LSb16BCTX_RSVD 13
#define bBCTX_RSVD 3
#define MSK32BCTX_RSVD 0x0000E000
#define BA_BCTX_dctSel 0x0002
#define B16BCTX_dctSel 0x0002
#define LSb32BCTX_dctSel 16
#define LSb16BCTX_dctSel 0
#define bBCTX_dctSel 3
#define MSK32BCTX_dctSel 0x00070000
#define BCTX_dctSel_8x8 0x0
#define BCTX_dctSel_8x4 0x1
#define BCTX_dctSel_4x8 0x2
#define BCTX_dctSel_4x4 0x3
#define BA_BCTX_ABSMVDX 0x0002
#define B16BCTX_ABSMVDX 0x0002
#define LSb32BCTX_ABSMVDX 19
#define LSb16BCTX_ABSMVDX 3
#define bBCTX_ABSMVDX 6
#define MSK32BCTX_ABSMVDX 0x01F80000
#define BA_BCTX_ABSMVDY 0x0003
#define B16BCTX_ABSMVDY 0x0002
#define LSb32BCTX_ABSMVDY 25
#define LSb16BCTX_ABSMVDY 9
#define bBCTX_ABSMVDY 7
#define MSK32BCTX_ABSMVDY 0xFE000000
///////////////////////////////////////////////////////////
#define RA_BCTX_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_BCTX {
///////////////////////////////////////////////////////////
#define GET32BCTX_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32BCTX_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BCTX_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16BCTX_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BCTX_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32BCTX_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16BCTX_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16BCTX_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BCTX_FLD(r32) _BFGET_(r32,11,11)
#define SET32BCTX_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16BCTX_FLD(r16) _BFGET_(r16,11,11)
#define SET16BCTX_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32BCTX_equalpred(r32) _BFGET_(r32,12,12)
#define SET32BCTX_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16BCTX_equalpred(r16) _BFGET_(r16,12,12)
#define SET16BCTX_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32BCTX_RSVD(r32) _BFGET_(r32,15,13)
#define SET32BCTX_RSVD(r32,v) _BFSET_(r32,15,13,v)
#define GET16BCTX_RSVD(r16) _BFGET_(r16,15,13)
#define SET16BCTX_RSVD(r16,v) _BFSET_(r16,15,13,v)
#define GET32BCTX_dctSel(r32) _BFGET_(r32,18,16)
#define SET32BCTX_dctSel(r32,v) _BFSET_(r32,18,16,v)
#define GET16BCTX_dctSel(r16) _BFGET_(r16, 2, 0)
#define SET16BCTX_dctSel(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32BCTX_ABSMVDX(r32) _BFGET_(r32,24,19)
#define SET32BCTX_ABSMVDX(r32,v) _BFSET_(r32,24,19,v)
#define GET16BCTX_ABSMVDX(r16) _BFGET_(r16, 8, 3)
#define SET16BCTX_ABSMVDX(r16,v) _BFSET_(r16, 8, 3,v)
#define GET32BCTX_ABSMVDY(r32) _BFGET_(r32,31,25)
#define SET32BCTX_ABSMVDY(r32,v) _BFSET_(r32,31,25,v)
#define GET16BCTX_ABSMVDY(r16) _BFGET_(r16,15, 9)
#define SET16BCTX_ABSMVDY(r16,v) _BFSET_(r16,15, 9,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_RSVD : 3;
UNSG32 u_dctSel : 3;
UNSG32 u_ABSMVDX : 6;
UNSG32 u_ABSMVDY : 7;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_BCTX;
///////////////////////////////////////////////////////////
SIGN32 BCTX_drvrd(SIE_BCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BCTX_drvwr(SIE_BCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BCTX_reset(SIE_BCTX *p);
SIGN32 BCTX_cmp (SIE_BCTX *p, SIE_BCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BCTX_check(p,pie,pfx,hLOG) BCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BCTX_print(p, pfx,hLOG) BCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BCTX_VC1 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 6 rBID
/// %unsigned 5 rIDX
/// %unsigned 1 FLD
/// %unsigned 1 equalpred
/// ###
/// * BLK property for CABAC only:
/// * Using block category ACV,
/// * (Only at 4th 4x4 in each 8x8s):
/// * = !Intra && !skipped && (bi-pred || back-pred)
/// * NOTE: = 0 for direct mode
/// ###
/// %unsigned 3 RSVD
/// ###
/// * Reserved
/// ###
/// %unsigned 2 dctSelU
/// ###
/// * DCT transform type for U; used for VC-1 Fop
/// ###
/// %unsigned 2 dctSelV
/// ###
/// * DCT transform type for V; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFU
/// ###
/// * coded block (4x4) flag for U; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFV
/// ###
/// * coded block (4x4) flag for V; used for VC-1 Fop
/// ###
/// %unsigned 1 CBFU8x8
/// ###
/// * coded block (8x8) flag for U, used for VC-1 Fop
/// ###
/// %unsigned 1 CBFV8x8
/// ###
/// * coded block (8x8) flag for V, used for VC-1 Fop
/// ###
/// %unsigned 8 RSVD8
/// @ 0x00004 (P)
/// # 0x00004 mv
/// $MV mv REG
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BCTX_VC1
#define h_BCTX_VC1 (){}
#define BA_BCTX_VC1_rBID 0x0000
#define B16BCTX_VC1_rBID 0x0000
#define LSb32BCTX_VC1_rBID 0
#define LSb16BCTX_VC1_rBID 0
#define bBCTX_VC1_rBID 6
#define MSK32BCTX_VC1_rBID 0x0000003F
#define BA_BCTX_VC1_rIDX 0x0000
#define B16BCTX_VC1_rIDX 0x0000
#define LSb32BCTX_VC1_rIDX 6
#define LSb16BCTX_VC1_rIDX 6
#define bBCTX_VC1_rIDX 5
#define MSK32BCTX_VC1_rIDX 0x000007C0
#define BA_BCTX_VC1_FLD 0x0001
#define B16BCTX_VC1_FLD 0x0000
#define LSb32BCTX_VC1_FLD 11
#define LSb16BCTX_VC1_FLD 11
#define bBCTX_VC1_FLD 1
#define MSK32BCTX_VC1_FLD 0x00000800
#define BA_BCTX_VC1_equalpred 0x0001
#define B16BCTX_VC1_equalpred 0x0000
#define LSb32BCTX_VC1_equalpred 12
#define LSb16BCTX_VC1_equalpred 12
#define bBCTX_VC1_equalpred 1
#define MSK32BCTX_VC1_equalpred 0x00001000
#define BA_BCTX_VC1_RSVD 0x0001
#define B16BCTX_VC1_RSVD 0x0000
#define LSb32BCTX_VC1_RSVD 13
#define LSb16BCTX_VC1_RSVD 13
#define bBCTX_VC1_RSVD 3
#define MSK32BCTX_VC1_RSVD 0x0000E000
#define BA_BCTX_VC1_dctSelU 0x0002
#define B16BCTX_VC1_dctSelU 0x0002
#define LSb32BCTX_VC1_dctSelU 16
#define LSb16BCTX_VC1_dctSelU 0
#define bBCTX_VC1_dctSelU 2
#define MSK32BCTX_VC1_dctSelU 0x00030000
#define BA_BCTX_VC1_dctSelV 0x0002
#define B16BCTX_VC1_dctSelV 0x0002
#define LSb32BCTX_VC1_dctSelV 18
#define LSb16BCTX_VC1_dctSelV 2
#define bBCTX_VC1_dctSelV 2
#define MSK32BCTX_VC1_dctSelV 0x000C0000
#define BA_BCTX_VC1_CBFU 0x0002
#define B16BCTX_VC1_CBFU 0x0002
#define LSb32BCTX_VC1_CBFU 20
#define LSb16BCTX_VC1_CBFU 4
#define bBCTX_VC1_CBFU 1
#define MSK32BCTX_VC1_CBFU 0x00100000
#define BA_BCTX_VC1_CBFV 0x0002
#define B16BCTX_VC1_CBFV 0x0002
#define LSb32BCTX_VC1_CBFV 21
#define LSb16BCTX_VC1_CBFV 5
#define bBCTX_VC1_CBFV 1
#define MSK32BCTX_VC1_CBFV 0x00200000
#define BA_BCTX_VC1_CBFU8x8 0x0002
#define B16BCTX_VC1_CBFU8x8 0x0002
#define LSb32BCTX_VC1_CBFU8x8 22
#define LSb16BCTX_VC1_CBFU8x8 6
#define bBCTX_VC1_CBFU8x8 1
#define MSK32BCTX_VC1_CBFU8x8 0x00400000
#define BA_BCTX_VC1_CBFV8x8 0x0002
#define B16BCTX_VC1_CBFV8x8 0x0002
#define LSb32BCTX_VC1_CBFV8x8 23
#define LSb16BCTX_VC1_CBFV8x8 7
#define bBCTX_VC1_CBFV8x8 1
#define MSK32BCTX_VC1_CBFV8x8 0x00800000
#define BA_BCTX_VC1_RSVD8 0x0003
#define B16BCTX_VC1_RSVD8 0x0002
#define LSb32BCTX_VC1_RSVD8 24
#define LSb16BCTX_VC1_RSVD8 8
#define bBCTX_VC1_RSVD8 8
#define MSK32BCTX_VC1_RSVD8 0xFF000000
///////////////////////////////////////////////////////////
#define RA_BCTX_VC1_mv 0x0004
///////////////////////////////////////////////////////////
typedef struct SIE_BCTX_VC1 {
///////////////////////////////////////////////////////////
#define GET32BCTX_VC1_rBID(r32) _BFGET_(r32, 5, 0)
#define SET32BCTX_VC1_rBID(r32,v) _BFSET_(r32, 5, 0,v)
#define GET16BCTX_VC1_rBID(r16) _BFGET_(r16, 5, 0)
#define SET16BCTX_VC1_rBID(r16,v) _BFSET_(r16, 5, 0,v)
#define GET32BCTX_VC1_rIDX(r32) _BFGET_(r32,10, 6)
#define SET32BCTX_VC1_rIDX(r32,v) _BFSET_(r32,10, 6,v)
#define GET16BCTX_VC1_rIDX(r16) _BFGET_(r16,10, 6)
#define SET16BCTX_VC1_rIDX(r16,v) _BFSET_(r16,10, 6,v)
#define GET32BCTX_VC1_FLD(r32) _BFGET_(r32,11,11)
#define SET32BCTX_VC1_FLD(r32,v) _BFSET_(r32,11,11,v)
#define GET16BCTX_VC1_FLD(r16) _BFGET_(r16,11,11)
#define SET16BCTX_VC1_FLD(r16,v) _BFSET_(r16,11,11,v)
#define GET32BCTX_VC1_equalpred(r32) _BFGET_(r32,12,12)
#define SET32BCTX_VC1_equalpred(r32,v) _BFSET_(r32,12,12,v)
#define GET16BCTX_VC1_equalpred(r16) _BFGET_(r16,12,12)
#define SET16BCTX_VC1_equalpred(r16,v) _BFSET_(r16,12,12,v)
#define GET32BCTX_VC1_RSVD(r32) _BFGET_(r32,15,13)
#define SET32BCTX_VC1_RSVD(r32,v) _BFSET_(r32,15,13,v)
#define GET16BCTX_VC1_RSVD(r16) _BFGET_(r16,15,13)
#define SET16BCTX_VC1_RSVD(r16,v) _BFSET_(r16,15,13,v)
#define GET32BCTX_VC1_dctSelU(r32) _BFGET_(r32,17,16)
#define SET32BCTX_VC1_dctSelU(r32,v) _BFSET_(r32,17,16,v)
#define GET16BCTX_VC1_dctSelU(r16) _BFGET_(r16, 1, 0)
#define SET16BCTX_VC1_dctSelU(r16,v) _BFSET_(r16, 1, 0,v)
#define GET32BCTX_VC1_dctSelV(r32) _BFGET_(r32,19,18)
#define SET32BCTX_VC1_dctSelV(r32,v) _BFSET_(r32,19,18,v)
#define GET16BCTX_VC1_dctSelV(r16) _BFGET_(r16, 3, 2)
#define SET16BCTX_VC1_dctSelV(r16,v) _BFSET_(r16, 3, 2,v)
#define GET32BCTX_VC1_CBFU(r32) _BFGET_(r32,20,20)
#define SET32BCTX_VC1_CBFU(r32,v) _BFSET_(r32,20,20,v)
#define GET16BCTX_VC1_CBFU(r16) _BFGET_(r16, 4, 4)
#define SET16BCTX_VC1_CBFU(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32BCTX_VC1_CBFV(r32) _BFGET_(r32,21,21)
#define SET32BCTX_VC1_CBFV(r32,v) _BFSET_(r32,21,21,v)
#define GET16BCTX_VC1_CBFV(r16) _BFGET_(r16, 5, 5)
#define SET16BCTX_VC1_CBFV(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32BCTX_VC1_CBFU8x8(r32) _BFGET_(r32,22,22)
#define SET32BCTX_VC1_CBFU8x8(r32,v) _BFSET_(r32,22,22,v)
#define GET16BCTX_VC1_CBFU8x8(r16) _BFGET_(r16, 6, 6)
#define SET16BCTX_VC1_CBFU8x8(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32BCTX_VC1_CBFV8x8(r32) _BFGET_(r32,23,23)
#define SET32BCTX_VC1_CBFV8x8(r32,v) _BFSET_(r32,23,23,v)
#define GET16BCTX_VC1_CBFV8x8(r16) _BFGET_(r16, 7, 7)
#define SET16BCTX_VC1_CBFV8x8(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32BCTX_VC1_RSVD8(r32) _BFGET_(r32,31,24)
#define SET32BCTX_VC1_RSVD8(r32,v) _BFSET_(r32,31,24,v)
#define GET16BCTX_VC1_RSVD8(r16) _BFGET_(r16,15, 8)
#define SET16BCTX_VC1_RSVD8(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_rBID : 6;
UNSG32 u_rIDX : 5;
UNSG32 u_FLD : 1;
UNSG32 u_equalpred : 1;
UNSG32 u_RSVD : 3;
UNSG32 u_dctSelU : 2;
UNSG32 u_dctSelV : 2;
UNSG32 u_CBFU : 1;
UNSG32 u_CBFV : 1;
UNSG32 u_CBFU8x8 : 1;
UNSG32 u_CBFV8x8 : 1;
UNSG32 u_RSVD8 : 8;
///////////////////////////////////////////////////////////
SIE_MV ie_mv;
///////////////////////////////////////////////////////////
} SIE_BCTX_VC1;
///////////////////////////////////////////////////////////
SIGN32 BCTX_VC1_drvrd(SIE_BCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BCTX_VC1_drvwr(SIE_BCTX_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BCTX_VC1_reset(SIE_BCTX_VC1 *p);
SIGN32 BCTX_VC1_cmp (SIE_BCTX_VC1 *p, SIE_BCTX_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BCTX_VC1_check(p,pie,pfx,hLOG) BCTX_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BCTX_VC1_print(p, pfx,hLOG) BCTX_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BCTX_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FCTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 22 RSVD
/// %unsigned 5 NCUV
/// ###
/// * CAVLC use only:
/// * Using block category ACU/ACV: 0~15
/// ###
/// %unsigned 5 NCY
/// ###
/// * CAVLC use only:
/// * Using block category ACY (every 4x4s): 0~16
/// ###
/// @ 0x00004 (P)
/// %unsigned 20 RSVD20
/// %unsigned 4 intraChroma
/// ###
/// * For encoder: Intra prediction mode for chormablocks, see IntraChroma.mode above. Only appears in DCI, one per MB.
/// ###
/// %unsigned 8 intraLuma
/// ###
/// * Intra 16x16/NxN prediction mode for luma blocks, see IntraLuma.mode above
/// * =0 between parser & syntax processor
/// * End of FCTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FCTXI
#define h_FCTXI (){}
#define BA_FCTXI_RSVD 0x0000
#define B16FCTXI_RSVD 0x0000
#define LSb32FCTXI_RSVD 0
#define LSb16FCTXI_RSVD 0
#define bFCTXI_RSVD 22
#define MSK32FCTXI_RSVD 0x003FFFFF
#define BA_FCTXI_NCUV 0x0002
#define B16FCTXI_NCUV 0x0002
#define LSb32FCTXI_NCUV 22
#define LSb16FCTXI_NCUV 6
#define bFCTXI_NCUV 5
#define MSK32FCTXI_NCUV 0x07C00000
#define BA_FCTXI_NCY 0x0003
#define B16FCTXI_NCY 0x0002
#define LSb32FCTXI_NCY 27
#define LSb16FCTXI_NCY 11
#define bFCTXI_NCY 5
#define MSK32FCTXI_NCY 0xF8000000
///////////////////////////////////////////////////////////
#define BA_FCTXI_RSVD20 0x0004
#define B16FCTXI_RSVD20 0x0004
#define LSb32FCTXI_RSVD20 0
#define LSb16FCTXI_RSVD20 0
#define bFCTXI_RSVD20 20
#define MSK32FCTXI_RSVD20 0x000FFFFF
#define BA_FCTXI_intraChroma 0x0006
#define B16FCTXI_intraChroma 0x0006
#define LSb32FCTXI_intraChroma 20
#define LSb16FCTXI_intraChroma 4
#define bFCTXI_intraChroma 4
#define MSK32FCTXI_intraChroma 0x00F00000
#define BA_FCTXI_intraLuma 0x0007
#define B16FCTXI_intraLuma 0x0006
#define LSb32FCTXI_intraLuma 24
#define LSb16FCTXI_intraLuma 8
#define bFCTXI_intraLuma 8
#define MSK32FCTXI_intraLuma 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_FCTXI {
///////////////////////////////////////////////////////////
#define GET32FCTXI_RSVD(r32) _BFGET_(r32,21, 0)
#define SET32FCTXI_RSVD(r32,v) _BFSET_(r32,21, 0,v)
#define GET32FCTXI_NCUV(r32) _BFGET_(r32,26,22)
#define SET32FCTXI_NCUV(r32,v) _BFSET_(r32,26,22,v)
#define GET16FCTXI_NCUV(r16) _BFGET_(r16,10, 6)
#define SET16FCTXI_NCUV(r16,v) _BFSET_(r16,10, 6,v)
#define GET32FCTXI_NCY(r32) _BFGET_(r32,31,27)
#define SET32FCTXI_NCY(r32,v) _BFSET_(r32,31,27,v)
#define GET16FCTXI_NCY(r16) _BFGET_(r16,15,11)
#define SET16FCTXI_NCY(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_RSVD : 22;
UNSG32 u_NCUV : 5;
UNSG32 u_NCY : 5;
///////////////////////////////////////////////////////////
#define GET32FCTXI_RSVD20(r32) _BFGET_(r32,19, 0)
#define SET32FCTXI_RSVD20(r32,v) _BFSET_(r32,19, 0,v)
#define GET32FCTXI_intraChroma(r32) _BFGET_(r32,23,20)
#define SET32FCTXI_intraChroma(r32,v) _BFSET_(r32,23,20,v)
#define GET16FCTXI_intraChroma(r16) _BFGET_(r16, 7, 4)
#define SET16FCTXI_intraChroma(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32FCTXI_intraLuma(r32) _BFGET_(r32,31,24)
#define SET32FCTXI_intraLuma(r32,v) _BFSET_(r32,31,24,v)
#define GET16FCTXI_intraLuma(r16) _BFGET_(r16,15, 8)
#define SET16FCTXI_intraLuma(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_RSVD20 : 20;
UNSG32 u_intraChroma : 4;
UNSG32 u_intraLuma : 8;
///////////////////////////////////////////////////////////
} SIE_FCTXI;
///////////////////////////////////////////////////////////
SIGN32 FCTXI_drvrd(SIE_FCTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FCTXI_drvwr(SIE_FCTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FCTXI_reset(SIE_FCTXI *p);
SIGN32 FCTXI_cmp (SIE_FCTXI *p, SIE_FCTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FCTXI_check(p,pie,pfx,hLOG) FCTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FCTXI_print(p, pfx,hLOG) FCTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FCTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTX4x4 biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 fore
/// $FCTX fore REG
/// ###
/// * Forward prediction
/// ###
/// @ 0x00008 (P)
/// # 0x00008 back
/// $BCTX back REG
/// ###
/// * Backward prediction
/// * End of HCTX4x4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTX4x4
#define h_HCTX4x4 (){}
#define RA_HCTX4x4_fore 0x0000
///////////////////////////////////////////////////////////
#define RA_HCTX4x4_back 0x0008
///////////////////////////////////////////////////////////
typedef struct SIE_HCTX4x4 {
///////////////////////////////////////////////////////////
SIE_FCTX ie_fore;
///////////////////////////////////////////////////////////
SIE_BCTX ie_back;
///////////////////////////////////////////////////////////
} SIE_HCTX4x4;
///////////////////////////////////////////////////////////
SIGN32 HCTX4x4_drvrd(SIE_HCTX4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTX4x4_drvwr(SIE_HCTX4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTX4x4_reset(SIE_HCTX4x4 *p);
SIGN32 HCTX4x4_cmp (SIE_HCTX4x4 *p, SIE_HCTX4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTX4x4_check(p,pie,pfx,hLOG) HCTX4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTX4x4_print(p, pfx,hLOG) HCTX4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTX4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CTXI biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %signed 16 AC0
/// ###
/// * DC or horizontal/vertical AC coefficient
/// ###
/// %signed 13 AC1
/// ###
/// * 2nd horizontal/vertical AC coefficient
/// ###
/// %unsigned 1 cbpcy
/// ###
/// * Flatten all 4x4s in a 8x8 block, coded or not
/// ###
/// %unsigned 2 mquantL
/// ###
/// * Low 2 bits of mquant, flatten all 4x4s in a macroblock
/// ###
/// %unsigned 3 mquantH
/// ###
/// * High 3 bits of mquant, flatten all 4x4s in a macroblock
/// ###
/// %signed 13 AC2
/// ###
/// * 3rd horizontal/vertical AC coefficient
/// ###
/// %unsigned 3 type
/// ###
/// * Sub-set of mb_type, see MBPROP.type above
/// * = intra16x16
/// ###
/// %signed 13 AC3
/// ###
/// * 4th horizontal/vertical AC coefficient
/// * End of CTXI
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CTXI
#define h_CTXI (){}
#define BA_CTXI_AC0 0x0000
#define B16CTXI_AC0 0x0000
#define LSb32CTXI_AC0 0
#define LSb16CTXI_AC0 0
#define bCTXI_AC0 16
#define MSK32CTXI_AC0 0x0000FFFF
#define BA_CTXI_AC1 0x0002
#define B16CTXI_AC1 0x0002
#define LSb32CTXI_AC1 16
#define LSb16CTXI_AC1 0
#define bCTXI_AC1 13
#define MSK32CTXI_AC1 0x1FFF0000
#define BA_CTXI_cbpcy 0x0003
#define B16CTXI_cbpcy 0x0002
#define LSb32CTXI_cbpcy 29
#define LSb16CTXI_cbpcy 13
#define bCTXI_cbpcy 1
#define MSK32CTXI_cbpcy 0x20000000
#define BA_CTXI_mquantL 0x0003
#define B16CTXI_mquantL 0x0002
#define LSb32CTXI_mquantL 30
#define LSb16CTXI_mquantL 14
#define bCTXI_mquantL 2
#define MSK32CTXI_mquantL 0xC0000000
#define BA_CTXI_mquantH 0x0004
#define B16CTXI_mquantH 0x0004
#define LSb32CTXI_mquantH 0
#define LSb16CTXI_mquantH 0
#define bCTXI_mquantH 3
#define MSK32CTXI_mquantH 0x00000007
#define BA_CTXI_AC2 0x0004
#define B16CTXI_AC2 0x0004
#define LSb32CTXI_AC2 3
#define LSb16CTXI_AC2 3
#define bCTXI_AC2 13
#define MSK32CTXI_AC2 0x0000FFF8
#define BA_CTXI_type 0x0006
#define B16CTXI_type 0x0006
#define LSb32CTXI_type 16
#define LSb16CTXI_type 0
#define bCTXI_type 3
#define MSK32CTXI_type 0x00070000
#define BA_CTXI_AC3 0x0006
#define B16CTXI_AC3 0x0006
#define LSb32CTXI_AC3 19
#define LSb16CTXI_AC3 3
#define bCTXI_AC3 13
#define MSK32CTXI_AC3 0xFFF80000
///////////////////////////////////////////////////////////
typedef struct SIE_CTXI {
///////////////////////////////////////////////////////////
#define GET32CTXI_AC0(r32) _BFGET_(r32,15, 0)
#define SET32CTXI_AC0(r32,v) _BFSET_(r32,15, 0,v)
#define GET16CTXI_AC0(r16) _BFGET_(r16,15, 0)
#define SET16CTXI_AC0(r16,v) _BFSET_(r16,15, 0,v)
#define GET32CTXI_AC1(r32) _BFGET_(r32,28,16)
#define SET32CTXI_AC1(r32,v) _BFSET_(r32,28,16,v)
#define GET16CTXI_AC1(r16) _BFGET_(r16,12, 0)
#define SET16CTXI_AC1(r16,v) _BFSET_(r16,12, 0,v)
#define GET32CTXI_cbpcy(r32) _BFGET_(r32,29,29)
#define SET32CTXI_cbpcy(r32,v) _BFSET_(r32,29,29,v)
#define GET16CTXI_cbpcy(r16) _BFGET_(r16,13,13)
#define SET16CTXI_cbpcy(r16,v) _BFSET_(r16,13,13,v)
#define GET32CTXI_mquantL(r32) _BFGET_(r32,31,30)
#define SET32CTXI_mquantL(r32,v) _BFSET_(r32,31,30,v)
#define GET16CTXI_mquantL(r16) _BFGET_(r16,15,14)
#define SET16CTXI_mquantL(r16,v) _BFSET_(r16,15,14,v)
UNSG32 s_AC0 : 16;
UNSG32 s_AC1 : 13;
UNSG32 u_cbpcy : 1;
UNSG32 u_mquantL : 2;
///////////////////////////////////////////////////////////
#define GET32CTXI_mquantH(r32) _BFGET_(r32, 2, 0)
#define SET32CTXI_mquantH(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16CTXI_mquantH(r16) _BFGET_(r16, 2, 0)
#define SET16CTXI_mquantH(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CTXI_AC2(r32) _BFGET_(r32,15, 3)
#define SET32CTXI_AC2(r32,v) _BFSET_(r32,15, 3,v)
#define GET16CTXI_AC2(r16) _BFGET_(r16,15, 3)
#define SET16CTXI_AC2(r16,v) _BFSET_(r16,15, 3,v)
#define GET32CTXI_type(r32) _BFGET_(r32,18,16)
#define SET32CTXI_type(r32,v) _BFSET_(r32,18,16,v)
#define GET16CTXI_type(r16) _BFGET_(r16, 2, 0)
#define SET16CTXI_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32CTXI_AC3(r32) _BFGET_(r32,31,19)
#define SET32CTXI_AC3(r32,v) _BFSET_(r32,31,19,v)
#define GET16CTXI_AC3(r16) _BFGET_(r16,15, 3)
#define SET16CTXI_AC3(r16,v) _BFSET_(r16,15, 3,v)
UNSG32 u_mquantH : 3;
UNSG32 s_AC2 : 13;
UNSG32 u_type : 3;
UNSG32 s_AC3 : 13;
///////////////////////////////////////////////////////////
} SIE_CTXI;
///////////////////////////////////////////////////////////
SIGN32 CTXI_drvrd(SIE_CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CTXI_drvwr(SIE_CTXI *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CTXI_reset(SIE_CTXI *p);
SIGN32 CTXI_cmp (SIE_CTXI *p, SIE_CTXI *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CTXI_check(p,pie,pfx,hLOG) CTXI_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CTXI_print(p, pfx,hLOG) CTXI_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CTXI
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE CTXI4x4 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 luma
/// $CTXI luma REG
/// ###
/// * DC/AC for Y
/// ###
/// @ 0x00008 (P)
/// # 0x00008 chroma
/// $CTXI chroma REG
/// ###
/// * DC/AC for UV
/// * End of CTXI4x4
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_CTXI4x4
#define h_CTXI4x4 (){}
#define RA_CTXI4x4_luma 0x0000
///////////////////////////////////////////////////////////
#define RA_CTXI4x4_chroma 0x0008
///////////////////////////////////////////////////////////
typedef struct SIE_CTXI4x4 {
///////////////////////////////////////////////////////////
SIE_CTXI ie_luma;
///////////////////////////////////////////////////////////
SIE_CTXI ie_chroma;
///////////////////////////////////////////////////////////
} SIE_CTXI4x4;
///////////////////////////////////////////////////////////
SIGN32 CTXI4x4_drvrd(SIE_CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 CTXI4x4_drvwr(SIE_CTXI4x4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void CTXI4x4_reset(SIE_CTXI4x4 *p);
SIGN32 CTXI4x4_cmp (SIE_CTXI4x4 *p, SIE_CTXI4x4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define CTXI4x4_check(p,pie,pfx,hLOG) CTXI4x4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define CTXI4x4_print(p, pfx,hLOG) CTXI4x4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: CTXI4x4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IDX2BID (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 frmIDX2BID
/// $LUT8b frmIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// * Note: field picture use this table (32 rIDX)!
/// ###
/// @ 0x00040 (P)
/// # 0x00040 topIDX2BID
/// $LUT8b topIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// ###
/// @ 0x00080 (P)
/// # 0x00080 btmIDX2BID
/// $LUT8b btmIDX2BID REG [16]
/// ###
/// * Cast to 8b rBID[32:rIDX][2:L0/L1]
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 192B, bits: 1536b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IDX2BID
#define h_IDX2BID (){}
#define RA_IDX2BID_frmIDX2BID 0x0000
///////////////////////////////////////////////////////////
#define RA_IDX2BID_topIDX2BID 0x0040
///////////////////////////////////////////////////////////
#define RA_IDX2BID_btmIDX2BID 0x0080
///////////////////////////////////////////////////////////
typedef struct SIE_IDX2BID {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_frmIDX2BID[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_topIDX2BID[16];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_btmIDX2BID[16];
///////////////////////////////////////////////////////////
} SIE_IDX2BID;
///////////////////////////////////////////////////////////
SIGN32 IDX2BID_drvrd(SIE_IDX2BID *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IDX2BID_drvwr(SIE_IDX2BID *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IDX2BID_reset(SIE_IDX2BID *p);
SIGN32 IDX2BID_cmp (SIE_IDX2BID *p, SIE_IDX2BID *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IDX2BID_check(p,pie,pfx,hLOG) IDX2BID_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IDX2BID_print(p, pfx,hLOG) IDX2BID_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IDX2BID
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BID2IDX (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 frmBID2IDX
/// $LUT8b frmBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// * Note: field picture use this table (32 rIDX)!
/// ###
/// @ 0x00028 (P)
/// # 0x00028 topBID2IDX
/// $LUT8b topBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// ###
/// @ 0x00050 (P)
/// # 0x00050 btmBID2IDX
/// $LUT8b btmBID2IDX REG [10]
/// ###
/// * Cast to 8b L0.min.rIDX[34:rBID]
/// * Note: direct mode corner case
/// * Alternative method (not used) if not adjust rIDX:
/// * rBID = CoL.rBID | (CoL.Frm & Cur.Btm)
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 120B, bits: 960b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BID2IDX
#define h_BID2IDX (){}
#define RA_BID2IDX_frmBID2IDX 0x0000
///////////////////////////////////////////////////////////
#define RA_BID2IDX_topBID2IDX 0x0028
///////////////////////////////////////////////////////////
#define RA_BID2IDX_btmBID2IDX 0x0050
///////////////////////////////////////////////////////////
typedef struct SIE_BID2IDX {
///////////////////////////////////////////////////////////
SIE_LUT8b ie_frmBID2IDX[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_topBID2IDX[10];
///////////////////////////////////////////////////////////
SIE_LUT8b ie_btmBID2IDX[10];
///////////////////////////////////////////////////////////
} SIE_BID2IDX;
///////////////////////////////////////////////////////////
SIGN32 BID2IDX_drvrd(SIE_BID2IDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BID2IDX_drvwr(SIE_BID2IDX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BID2IDX_reset(SIE_BID2IDX *p);
SIGN32 BID2IDX_cmp (SIE_BID2IDX *p, SIE_BID2IDX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BID2IDX_check(p,pie,pfx,hLOG) BID2IDX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BID2IDX_print(p, pfx,hLOG) BID2IDX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BID2IDX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASPSET biu (4,4)
/// ###
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * MB type
/// ###
/// %unsigned 2 chroma
/// ###
/// * Intra MB only: intra_chroma_pred
/// ###
/// %unsigned 1 t8x8
/// ###
/// * 8x8 transform; used by AspInit & residual.
/// * End of ASPSET
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASPSET
#define h_ASPSET (){}
#define BA_ASPSET_type 0x0000
#define B16ASPSET_type 0x0000
#define LSb32ASPSET_type 0
#define LSb16ASPSET_type 0
#define bASPSET_type 3
#define MSK32ASPSET_type 0x00000007
#define BA_ASPSET_chroma 0x0000
#define B16ASPSET_chroma 0x0000
#define LSb32ASPSET_chroma 3
#define LSb16ASPSET_chroma 3
#define bASPSET_chroma 2
#define MSK32ASPSET_chroma 0x00000018
#define BA_ASPSET_t8x8 0x0000
#define B16ASPSET_t8x8 0x0000
#define LSb32ASPSET_t8x8 5
#define LSb16ASPSET_t8x8 5
#define bASPSET_t8x8 1
#define MSK32ASPSET_t8x8 0x00000020
///////////////////////////////////////////////////////////
typedef struct SIE_ASPSET {
///////////////////////////////////////////////////////////
#define GET32ASPSET_type(r32) _BFGET_(r32, 2, 0)
#define SET32ASPSET_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16ASPSET_type(r16) _BFGET_(r16, 2, 0)
#define SET16ASPSET_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32ASPSET_chroma(r32) _BFGET_(r32, 4, 3)
#define SET32ASPSET_chroma(r32,v) _BFSET_(r32, 4, 3,v)
#define GET16ASPSET_chroma(r16) _BFGET_(r16, 4, 3)
#define SET16ASPSET_chroma(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32ASPSET_t8x8(r32) _BFGET_(r32, 5, 5)
#define SET32ASPSET_t8x8(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16ASPSET_t8x8(r16) _BFGET_(r16, 5, 5)
#define SET16ASPSET_t8x8(r16,v) _BFSET_(r16, 5, 5,v)
UNSG32 u_type : 3;
UNSG32 u_chroma : 2;
UNSG32 u_t8x8 : 1;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_ASPSET;
///////////////////////////////////////////////////////////
SIGN32 ASPSET_drvrd(SIE_ASPSET *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASPSET_drvwr(SIE_ASPSET *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASPSET_reset(SIE_ASPSET *p);
SIGN32 ASPSET_cmp (SIE_ASPSET *p, SIE_ASPSET *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASPSET_check(p,pie,pfx,hLOG) ASPSET_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASPSET_print(p, pfx,hLOG) ASPSET_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASPSET
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE IntraPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * See BLK.type above,
/// * LUT: IPCM or intraNxN or intra16x16
/// ###
/// %unsigned 1 8x8IDX0
/// ###
/// * LUT: 0 (P_8x8ref0)
/// ###
/// %unsigned 1 t8x8I
/// ###
/// * LUT: MB.transform8x8 & intraNxN
/// ###
/// %unsigned 1 t8x8PB
/// ###
/// * LUT: 0
/// ###
/// %unsigned 2 luma16x16
/// ###
/// * LUT: intra 16x16 prediction mode
/// ###
/// %unsigned 6 CBP
/// ###
/// * LUT: intra 16x16 coded block pattern
/// * MPEG4 LUT: Chroma cbp
/// * End of IntraPROP
/// ###
/// %% 18 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 14b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_IntraPROP
#define h_IntraPROP (){}
#define BA_IntraPROP_type 0x0000
#define B16IntraPROP_type 0x0000
#define LSb32IntraPROP_type 0
#define LSb16IntraPROP_type 0
#define bIntraPROP_type 3
#define MSK32IntraPROP_type 0x00000007
#define BA_IntraPROP_8x8IDX0 0x0000
#define B16IntraPROP_8x8IDX0 0x0000
#define LSb32IntraPROP_8x8IDX0 3
#define LSb16IntraPROP_8x8IDX0 3
#define bIntraPROP_8x8IDX0 1
#define MSK32IntraPROP_8x8IDX0 0x00000008
#define BA_IntraPROP_t8x8I 0x0000
#define B16IntraPROP_t8x8I 0x0000
#define LSb32IntraPROP_t8x8I 4
#define LSb16IntraPROP_t8x8I 4
#define bIntraPROP_t8x8I 1
#define MSK32IntraPROP_t8x8I 0x00000010
#define BA_IntraPROP_t8x8PB 0x0000
#define B16IntraPROP_t8x8PB 0x0000
#define LSb32IntraPROP_t8x8PB 5
#define LSb16IntraPROP_t8x8PB 5
#define bIntraPROP_t8x8PB 1
#define MSK32IntraPROP_t8x8PB 0x00000020
#define BA_IntraPROP_luma16x16 0x0000
#define B16IntraPROP_luma16x16 0x0000
#define LSb32IntraPROP_luma16x16 6
#define LSb16IntraPROP_luma16x16 6
#define bIntraPROP_luma16x16 2
#define MSK32IntraPROP_luma16x16 0x000000C0
#define BA_IntraPROP_CBP 0x0001
#define B16IntraPROP_CBP 0x0000
#define LSb32IntraPROP_CBP 8
#define LSb16IntraPROP_CBP 8
#define bIntraPROP_CBP 6
#define MSK32IntraPROP_CBP 0x00003F00
///////////////////////////////////////////////////////////
typedef struct SIE_IntraPROP {
///////////////////////////////////////////////////////////
#define GET32IntraPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32IntraPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16IntraPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16IntraPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32IntraPROP_8x8IDX0(r32) _BFGET_(r32, 3, 3)
#define SET32IntraPROP_8x8IDX0(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16IntraPROP_8x8IDX0(r16) _BFGET_(r16, 3, 3)
#define SET16IntraPROP_8x8IDX0(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32IntraPROP_t8x8I(r32) _BFGET_(r32, 4, 4)
#define SET32IntraPROP_t8x8I(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16IntraPROP_t8x8I(r16) _BFGET_(r16, 4, 4)
#define SET16IntraPROP_t8x8I(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32IntraPROP_t8x8PB(r32) _BFGET_(r32, 5, 5)
#define SET32IntraPROP_t8x8PB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16IntraPROP_t8x8PB(r16) _BFGET_(r16, 5, 5)
#define SET16IntraPROP_t8x8PB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32IntraPROP_luma16x16(r32) _BFGET_(r32, 7, 6)
#define SET32IntraPROP_luma16x16(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16IntraPROP_luma16x16(r16) _BFGET_(r16, 7, 6)
#define SET16IntraPROP_luma16x16(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32IntraPROP_CBP(r32) _BFGET_(r32,13, 8)
#define SET32IntraPROP_CBP(r32,v) _BFSET_(r32,13, 8,v)
#define GET16IntraPROP_CBP(r16) _BFGET_(r16,13, 8)
#define SET16IntraPROP_CBP(r16,v) _BFSET_(r16,13, 8,v)
UNSG32 u_type : 3;
UNSG32 u_8x8IDX0 : 1;
UNSG32 u_t8x8I : 1;
UNSG32 u_t8x8PB : 1;
UNSG32 u_luma16x16 : 2;
UNSG32 u_CBP : 6;
UNSG32 RSVDx0_b14 : 18;
///////////////////////////////////////////////////////////
} SIE_IntraPROP;
///////////////////////////////////////////////////////////
SIGN32 IntraPROP_drvrd(SIE_IntraPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 IntraPROP_drvwr(SIE_IntraPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void IntraPROP_reset(SIE_IntraPROP *p);
SIGN32 IntraPROP_cmp (SIE_IntraPROP *p, SIE_IntraPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define IntraPROP_check(p,pie,pfx,hLOG) IntraPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define IntraPROP_print(p, pfx,hLOG) IntraPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: IntraPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE InterPROP (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 type
/// ###
/// * See MBPROP.type above,
/// * LUT: inter or 8x8PB or 8x8IDX0 or direct16x16
/// ###
/// %unsigned 1 8x8IDX0
/// ###
/// * LUT: P_8x8ref0
/// ###
/// %unsigned 1 t8x8I
/// ###
/// * LUT: 0
/// ###
/// %unsigned 1 t8x8PB
/// ###
/// * LUT: MB.transform8x8 & inter &
/// * (MB.direct8x8 | !direct16x16)
/// ###
/// %unsigned 2 partition
/// ###
/// * See MBPROP.partition above
/// ###
/// %unsigned 2 motion_0i
/// %unsigned 2 motion_1i
/// ###
/// * LUT: intra/forward/backward/bi, see BLK.motion above
/// ###
/// %unsigned 2 mvs_0i
/// %unsigned 2 mvs_1i
/// ###
/// * Number of motion vectors for each directions
/// * End of InterPROP
/// ###
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_InterPROP
#define h_InterPROP (){}
#define BA_InterPROP_type 0x0000
#define B16InterPROP_type 0x0000
#define LSb32InterPROP_type 0
#define LSb16InterPROP_type 0
#define bInterPROP_type 3
#define MSK32InterPROP_type 0x00000007
#define BA_InterPROP_8x8IDX0 0x0000
#define B16InterPROP_8x8IDX0 0x0000
#define LSb32InterPROP_8x8IDX0 3
#define LSb16InterPROP_8x8IDX0 3
#define bInterPROP_8x8IDX0 1
#define MSK32InterPROP_8x8IDX0 0x00000008
#define BA_InterPROP_t8x8I 0x0000
#define B16InterPROP_t8x8I 0x0000
#define LSb32InterPROP_t8x8I 4
#define LSb16InterPROP_t8x8I 4
#define bInterPROP_t8x8I 1
#define MSK32InterPROP_t8x8I 0x00000010
#define BA_InterPROP_t8x8PB 0x0000
#define B16InterPROP_t8x8PB 0x0000
#define LSb32InterPROP_t8x8PB 5
#define LSb16InterPROP_t8x8PB 5
#define bInterPROP_t8x8PB 1
#define MSK32InterPROP_t8x8PB 0x00000020
#define BA_InterPROP_partition 0x0000
#define B16InterPROP_partition 0x0000
#define LSb32InterPROP_partition 6
#define LSb16InterPROP_partition 6
#define bInterPROP_partition 2
#define MSK32InterPROP_partition 0x000000C0
#define BA_InterPROP_motion_0i 0x0001
#define B16InterPROP_motion_0i 0x0000
#define LSb32InterPROP_motion_0i 8
#define LSb16InterPROP_motion_0i 8
#define bInterPROP_motion_0i 2
#define MSK32InterPROP_motion_0i 0x00000300
#define BA_InterPROP_motion_1i 0x0001
#define B16InterPROP_motion_1i 0x0000
#define LSb32InterPROP_motion_1i 10
#define LSb16InterPROP_motion_1i 10
#define bInterPROP_motion_1i 2
#define MSK32InterPROP_motion_1i 0x00000C00
#define BA_InterPROP_mvs_0i 0x0001
#define B16InterPROP_mvs_0i 0x0000
#define LSb32InterPROP_mvs_0i 12
#define LSb16InterPROP_mvs_0i 12
#define bInterPROP_mvs_0i 2
#define MSK32InterPROP_mvs_0i 0x00003000
#define BA_InterPROP_mvs_1i 0x0001
#define B16InterPROP_mvs_1i 0x0000
#define LSb32InterPROP_mvs_1i 14
#define LSb16InterPROP_mvs_1i 14
#define bInterPROP_mvs_1i 2
#define MSK32InterPROP_mvs_1i 0x0000C000
///////////////////////////////////////////////////////////
typedef struct SIE_InterPROP {
///////////////////////////////////////////////////////////
#define GET32InterPROP_type(r32) _BFGET_(r32, 2, 0)
#define SET32InterPROP_type(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16InterPROP_type(r16) _BFGET_(r16, 2, 0)
#define SET16InterPROP_type(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32InterPROP_8x8IDX0(r32) _BFGET_(r32, 3, 3)
#define SET32InterPROP_8x8IDX0(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16InterPROP_8x8IDX0(r16) _BFGET_(r16, 3, 3)
#define SET16InterPROP_8x8IDX0(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32InterPROP_t8x8I(r32) _BFGET_(r32, 4, 4)
#define SET32InterPROP_t8x8I(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16InterPROP_t8x8I(r16) _BFGET_(r16, 4, 4)
#define SET16InterPROP_t8x8I(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32InterPROP_t8x8PB(r32) _BFGET_(r32, 5, 5)
#define SET32InterPROP_t8x8PB(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16InterPROP_t8x8PB(r16) _BFGET_(r16, 5, 5)
#define SET16InterPROP_t8x8PB(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32InterPROP_partition(r32) _BFGET_(r32, 7, 6)
#define SET32InterPROP_partition(r32,v) _BFSET_(r32, 7, 6,v)
#define GET16InterPROP_partition(r16) _BFGET_(r16, 7, 6)
#define SET16InterPROP_partition(r16,v) _BFSET_(r16, 7, 6,v)
#define GET32InterPROP_motion_0i(r32) _BFGET_(r32, 9, 8)
#define SET32InterPROP_motion_0i(r32,v) _BFSET_(r32, 9, 8,v)
#define GET16InterPROP_motion_0i(r16) _BFGET_(r16, 9, 8)
#define SET16InterPROP_motion_0i(r16,v) _BFSET_(r16, 9, 8,v)
#define GET32InterPROP_motion_1i(r32) _BFGET_(r32,11,10)
#define SET32InterPROP_motion_1i(r32,v) _BFSET_(r32,11,10,v)
#define GET16InterPROP_motion_1i(r16) _BFGET_(r16,11,10)
#define SET16InterPROP_motion_1i(r16,v) _BFSET_(r16,11,10,v)
#define GET32InterPROP_mvs_0i(r32) _BFGET_(r32,13,12)
#define SET32InterPROP_mvs_0i(r32,v) _BFSET_(r32,13,12,v)
#define GET16InterPROP_mvs_0i(r16) _BFGET_(r16,13,12)
#define SET16InterPROP_mvs_0i(r16,v) _BFSET_(r16,13,12,v)
#define GET32InterPROP_mvs_1i(r32) _BFGET_(r32,15,14)
#define SET32InterPROP_mvs_1i(r32,v) _BFSET_(r32,15,14,v)
#define GET16InterPROP_mvs_1i(r16) _BFGET_(r16,15,14)
#define SET16InterPROP_mvs_1i(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_type : 3;
UNSG32 u_8x8IDX0 : 1;
UNSG32 u_t8x8I : 1;
UNSG32 u_t8x8PB : 1;
UNSG32 u_partition : 2;
UNSG32 u_motion_0i : 2;
UNSG32 u_motion_1i : 2;
UNSG32 u_mvs_0i : 2;
UNSG32 u_mvs_1i : 2;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_InterPROP;
///////////////////////////////////////////////////////////
SIGN32 InterPROP_drvrd(SIE_InterPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 InterPROP_drvwr(SIE_InterPROP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void InterPROP_reset(SIE_InterPROP *p);
SIGN32 InterPROP_cmp (SIE_InterPROP *p, SIE_InterPROP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define InterPROP_check(p,pie,pfx,hLOG) InterPROP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define InterPROP_print(p, pfx,hLOG) InterPROP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: InterPROP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_VC1 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 MaxNumCoeff
/// ###
/// * Maximal number of coefficients to decode,
/// * The valid number is: 16, 32, 63, and 64
/// ###
/// %unsigned 3 eBlk
/// ###
/// * 8x8 Block index. 0~3 for Y, 4 for Cb, 5 for Cr
/// ###
/// %unsigned 1 IsIntra
/// ###
/// * 1: intra block
/// * 0: inter block
/// ###
/// %unsigned 2 SubBlkIdx
/// ###
/// * Sub-block index in 8x8 block. Unit is 4x4 regardless of transform type.
/// ###
/// %unsigned 2 TransTypeOrIpMode
/// ###
/// * For inter block, this field contain transform type information.
/// ###
/// : TRANS_4x4 0x0
/// : TRANS_4x8 0x1
/// : TRANS_8x4 0x2
/// : TRANS_8x8 0x3
/// ###
/// * For intra block, this field is intra prediction mode.
/// ###
/// : IP_NORMAL 0x0
/// : IP_HORIZONTAL 0x1
/// : IP_VERTICAL 0x2
/// %% 16 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 16b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_VC1
#define h_ResPROP_VC1 (){}
#define BA_ResPROP_VC1_MaxNumCoeff 0x0000
#define B16ResPROP_VC1_MaxNumCoeff 0x0000
#define LSb32ResPROP_VC1_MaxNumCoeff 0
#define LSb16ResPROP_VC1_MaxNumCoeff 0
#define bResPROP_VC1_MaxNumCoeff 8
#define MSK32ResPROP_VC1_MaxNumCoeff 0x000000FF
#define BA_ResPROP_VC1_eBlk 0x0001
#define B16ResPROP_VC1_eBlk 0x0000
#define LSb32ResPROP_VC1_eBlk 8
#define LSb16ResPROP_VC1_eBlk 8
#define bResPROP_VC1_eBlk 3
#define MSK32ResPROP_VC1_eBlk 0x00000700
#define BA_ResPROP_VC1_IsIntra 0x0001
#define B16ResPROP_VC1_IsIntra 0x0000
#define LSb32ResPROP_VC1_IsIntra 11
#define LSb16ResPROP_VC1_IsIntra 11
#define bResPROP_VC1_IsIntra 1
#define MSK32ResPROP_VC1_IsIntra 0x00000800
#define BA_ResPROP_VC1_SubBlkIdx 0x0001
#define B16ResPROP_VC1_SubBlkIdx 0x0000
#define LSb32ResPROP_VC1_SubBlkIdx 12
#define LSb16ResPROP_VC1_SubBlkIdx 12
#define bResPROP_VC1_SubBlkIdx 2
#define MSK32ResPROP_VC1_SubBlkIdx 0x00003000
#define BA_ResPROP_VC1_TransTypeOrIpMode 0x0001
#define B16ResPROP_VC1_TransTypeOrIpMode 0x0000
#define LSb32ResPROP_VC1_TransTypeOrIpMode 14
#define LSb16ResPROP_VC1_TransTypeOrIpMode 14
#define bResPROP_VC1_TransTypeOrIpMode 2
#define MSK32ResPROP_VC1_TransTypeOrIpMode 0x0000C000
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_4x4 0x0
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_4x8 0x1
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_8x4 0x2
#define ResPROP_VC1_TransTypeOrIpMode_TRANS_8x8 0x3
#define ResPROP_VC1_TransTypeOrIpMode_IP_NORMAL 0x0
#define ResPROP_VC1_TransTypeOrIpMode_IP_HORIZONTAL 0x1
#define ResPROP_VC1_TransTypeOrIpMode_IP_VERTICAL 0x2
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_VC1 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_VC1_MaxNumCoeff(r32) _BFGET_(r32, 7, 0)
#define SET32ResPROP_VC1_MaxNumCoeff(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16ResPROP_VC1_MaxNumCoeff(r16) _BFGET_(r16, 7, 0)
#define SET16ResPROP_VC1_MaxNumCoeff(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32ResPROP_VC1_eBlk(r32) _BFGET_(r32,10, 8)
#define SET32ResPROP_VC1_eBlk(r32,v) _BFSET_(r32,10, 8,v)
#define GET16ResPROP_VC1_eBlk(r16) _BFGET_(r16,10, 8)
#define SET16ResPROP_VC1_eBlk(r16,v) _BFSET_(r16,10, 8,v)
#define GET32ResPROP_VC1_IsIntra(r32) _BFGET_(r32,11,11)
#define SET32ResPROP_VC1_IsIntra(r32,v) _BFSET_(r32,11,11,v)
#define GET16ResPROP_VC1_IsIntra(r16) _BFGET_(r16,11,11)
#define SET16ResPROP_VC1_IsIntra(r16,v) _BFSET_(r16,11,11,v)
#define GET32ResPROP_VC1_SubBlkIdx(r32) _BFGET_(r32,13,12)
#define SET32ResPROP_VC1_SubBlkIdx(r32,v) _BFSET_(r32,13,12,v)
#define GET16ResPROP_VC1_SubBlkIdx(r16) _BFGET_(r16,13,12)
#define SET16ResPROP_VC1_SubBlkIdx(r16,v) _BFSET_(r16,13,12,v)
#define GET32ResPROP_VC1_TransTypeOrIpMode(r32) _BFGET_(r32,15,14)
#define SET32ResPROP_VC1_TransTypeOrIpMode(r32,v) _BFSET_(r32,15,14,v)
#define GET16ResPROP_VC1_TransTypeOrIpMode(r16) _BFGET_(r16,15,14)
#define SET16ResPROP_VC1_TransTypeOrIpMode(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_MaxNumCoeff : 8;
UNSG32 u_eBlk : 3;
UNSG32 u_IsIntra : 1;
UNSG32 u_SubBlkIdx : 2;
UNSG32 u_TransTypeOrIpMode : 2;
UNSG32 RSVDx0_b16 : 16;
///////////////////////////////////////////////////////////
} SIE_ResPROP_VC1;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_VC1_drvrd(SIE_ResPROP_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_VC1_drvwr(SIE_ResPROP_VC1 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_VC1_reset(SIE_ResPROP_VC1 *p);
SIGN32 ResPROP_VC1_cmp (SIE_ResPROP_VC1 *p, SIE_ResPROP_VC1 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_VC1_check(p,pie,pfx,hLOG) ResPROP_VC1_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_VC1_print(p, pfx,hLOG) ResPROP_VC1_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_VC1
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_MPEG2 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 Intra_MB
/// : inter 0x0
/// : intra 0x1
/// ###
/// * Indicate current MB is inter-coded or intra-coded
/// ###
/// %unsigned 1 CC
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Color component (to select VLC table)
/// ###
/// %unsigned 1 intra_vlc_format
/// ###
/// * Whether to use intra VLC DC table or inter table
/// * End of ResProp_MPEG2
/// ###
/// %% 29 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 3b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_MPEG2
#define h_ResPROP_MPEG2 (){}
#define BA_ResPROP_MPEG2_Intra_MB 0x0000
#define B16ResPROP_MPEG2_Intra_MB 0x0000
#define LSb32ResPROP_MPEG2_Intra_MB 0
#define LSb16ResPROP_MPEG2_Intra_MB 0
#define bResPROP_MPEG2_Intra_MB 1
#define MSK32ResPROP_MPEG2_Intra_MB 0x00000001
#define ResPROP_MPEG2_Intra_MB_inter 0x0
#define ResPROP_MPEG2_Intra_MB_intra 0x1
#define BA_ResPROP_MPEG2_CC 0x0000
#define B16ResPROP_MPEG2_CC 0x0000
#define LSb32ResPROP_MPEG2_CC 1
#define LSb16ResPROP_MPEG2_CC 1
#define bResPROP_MPEG2_CC 1
#define MSK32ResPROP_MPEG2_CC 0x00000002
#define ResPROP_MPEG2_CC_luma 0x0
#define ResPROP_MPEG2_CC_chroma 0x1
#define BA_ResPROP_MPEG2_intra_vlc_format 0x0000
#define B16ResPROP_MPEG2_intra_vlc_format 0x0000
#define LSb32ResPROP_MPEG2_intra_vlc_format 2
#define LSb16ResPROP_MPEG2_intra_vlc_format 2
#define bResPROP_MPEG2_intra_vlc_format 1
#define MSK32ResPROP_MPEG2_intra_vlc_format 0x00000004
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_MPEG2 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_MPEG2_Intra_MB(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_MPEG2_Intra_MB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_MPEG2_Intra_MB(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_MPEG2_Intra_MB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_MPEG2_CC(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_MPEG2_CC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_MPEG2_CC(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_MPEG2_CC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ResPROP_MPEG2_intra_vlc_format(r32) _BFGET_(r32, 2, 2)
#define SET32ResPROP_MPEG2_intra_vlc_format(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ResPROP_MPEG2_intra_vlc_format(r16) _BFGET_(r16, 2, 2)
#define SET16ResPROP_MPEG2_intra_vlc_format(r16,v) _BFSET_(r16, 2, 2,v)
UNSG32 u_Intra_MB : 1;
UNSG32 u_CC : 1;
UNSG32 u_intra_vlc_format : 1;
UNSG32 RSVDx0_b3 : 29;
///////////////////////////////////////////////////////////
} SIE_ResPROP_MPEG2;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_MPEG2_drvrd(SIE_ResPROP_MPEG2 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_MPEG2_drvwr(SIE_ResPROP_MPEG2 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_MPEG2_reset(SIE_ResPROP_MPEG2 *p);
SIGN32 ResPROP_MPEG2_cmp (SIE_ResPROP_MPEG2 *p, SIE_ResPROP_MPEG2 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_MPEG2_check(p,pie,pfx,hLOG) ResPROP_MPEG2_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_MPEG2_print(p, pfx,hLOG) ResPROP_MPEG2_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_MPEG2
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_MPEG4 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 Intra_MB
/// : inter 0x0
/// : intra 0x1
/// ###
/// * Indicate current MB is inter-coded or intra-coded
/// ###
/// %unsigned 1 CC
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Color component (to select VLC table)
/// ###
/// %unsigned 1 use_intra_dc_vlc
/// ###
/// * Whether to use intra VLC DC table or inter table
/// ###
/// %unsigned 1 pattern_code
/// ###
/// * Indicate whether to encode AC coefficients
/// ###
/// %unsigned 2 scan_order
/// : normal 0x0
/// : horizontal 0x1
/// : vertical 0x2
/// ###
/// * Indicate zigzag scan order of 8x8 coefficients
/// * End of ResProp_MPEG4
/// ###
/// %% 26 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 6b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_MPEG4
#define h_ResPROP_MPEG4 (){}
#define BA_ResPROP_MPEG4_Intra_MB 0x0000
#define B16ResPROP_MPEG4_Intra_MB 0x0000
#define LSb32ResPROP_MPEG4_Intra_MB 0
#define LSb16ResPROP_MPEG4_Intra_MB 0
#define bResPROP_MPEG4_Intra_MB 1
#define MSK32ResPROP_MPEG4_Intra_MB 0x00000001
#define ResPROP_MPEG4_Intra_MB_inter 0x0
#define ResPROP_MPEG4_Intra_MB_intra 0x1
#define BA_ResPROP_MPEG4_CC 0x0000
#define B16ResPROP_MPEG4_CC 0x0000
#define LSb32ResPROP_MPEG4_CC 1
#define LSb16ResPROP_MPEG4_CC 1
#define bResPROP_MPEG4_CC 1
#define MSK32ResPROP_MPEG4_CC 0x00000002
#define ResPROP_MPEG4_CC_luma 0x0
#define ResPROP_MPEG4_CC_chroma 0x1
#define BA_ResPROP_MPEG4_use_intra_dc_vlc 0x0000
#define B16ResPROP_MPEG4_use_intra_dc_vlc 0x0000
#define LSb32ResPROP_MPEG4_use_intra_dc_vlc 2
#define LSb16ResPROP_MPEG4_use_intra_dc_vlc 2
#define bResPROP_MPEG4_use_intra_dc_vlc 1
#define MSK32ResPROP_MPEG4_use_intra_dc_vlc 0x00000004
#define BA_ResPROP_MPEG4_pattern_code 0x0000
#define B16ResPROP_MPEG4_pattern_code 0x0000
#define LSb32ResPROP_MPEG4_pattern_code 3
#define LSb16ResPROP_MPEG4_pattern_code 3
#define bResPROP_MPEG4_pattern_code 1
#define MSK32ResPROP_MPEG4_pattern_code 0x00000008
#define BA_ResPROP_MPEG4_scan_order 0x0000
#define B16ResPROP_MPEG4_scan_order 0x0000
#define LSb32ResPROP_MPEG4_scan_order 4
#define LSb16ResPROP_MPEG4_scan_order 4
#define bResPROP_MPEG4_scan_order 2
#define MSK32ResPROP_MPEG4_scan_order 0x00000030
#define ResPROP_MPEG4_scan_order_normal 0x0
#define ResPROP_MPEG4_scan_order_horizontal 0x1
#define ResPROP_MPEG4_scan_order_vertical 0x2
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_MPEG4 {
///////////////////////////////////////////////////////////
#define GET32ResPROP_MPEG4_Intra_MB(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_MPEG4_Intra_MB(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_MPEG4_Intra_MB(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_MPEG4_Intra_MB(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_MPEG4_CC(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_MPEG4_CC(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_MPEG4_CC(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_MPEG4_CC(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ResPROP_MPEG4_use_intra_dc_vlc(r32) _BFGET_(r32, 2, 2)
#define SET32ResPROP_MPEG4_use_intra_dc_vlc(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ResPROP_MPEG4_use_intra_dc_vlc(r16) _BFGET_(r16, 2, 2)
#define SET16ResPROP_MPEG4_use_intra_dc_vlc(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32ResPROP_MPEG4_pattern_code(r32) _BFGET_(r32, 3, 3)
#define SET32ResPROP_MPEG4_pattern_code(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16ResPROP_MPEG4_pattern_code(r16) _BFGET_(r16, 3, 3)
#define SET16ResPROP_MPEG4_pattern_code(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32ResPROP_MPEG4_scan_order(r32) _BFGET_(r32, 5, 4)
#define SET32ResPROP_MPEG4_scan_order(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16ResPROP_MPEG4_scan_order(r16) _BFGET_(r16, 5, 4)
#define SET16ResPROP_MPEG4_scan_order(r16,v) _BFSET_(r16, 5, 4,v)
UNSG32 u_Intra_MB : 1;
UNSG32 u_CC : 1;
UNSG32 u_use_intra_dc_vlc : 1;
UNSG32 u_pattern_code : 1;
UNSG32 u_scan_order : 2;
UNSG32 RSVDx0_b6 : 26;
///////////////////////////////////////////////////////////
} SIE_ResPROP_MPEG4;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_MPEG4_drvrd(SIE_ResPROP_MPEG4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_MPEG4_drvwr(SIE_ResPROP_MPEG4 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_MPEG4_reset(SIE_ResPROP_MPEG4 *p);
SIGN32 ResPROP_MPEG4_cmp (SIE_ResPROP_MPEG4 *p, SIE_ResPROP_MPEG4 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_MPEG4_check(p,pie,pfx,hLOG) ResPROP_MPEG4_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_MPEG4_print(p, pfx,hLOG) ResPROP_MPEG4_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_MPEG4
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ResPROP_JPEG (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 1 DCTblId
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Selects Huffman table used to decode or encode DC coefficients
/// ###
/// %unsigned 1 ACTblId
/// : luma 0x0
/// : chroma 0x1
/// ###
/// * Selects Huffman table used to decode or encode AC coefficients
/// * End of ResPROP_JPEG
/// ###
/// %% 30 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 2b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ResPROP_JPEG
#define h_ResPROP_JPEG (){}
#define BA_ResPROP_JPEG_DCTblId 0x0000
#define B16ResPROP_JPEG_DCTblId 0x0000
#define LSb32ResPROP_JPEG_DCTblId 0
#define LSb16ResPROP_JPEG_DCTblId 0
#define bResPROP_JPEG_DCTblId 1
#define MSK32ResPROP_JPEG_DCTblId 0x00000001
#define ResPROP_JPEG_DCTblId_luma 0x0
#define ResPROP_JPEG_DCTblId_chroma 0x1
#define BA_ResPROP_JPEG_ACTblId 0x0000
#define B16ResPROP_JPEG_ACTblId 0x0000
#define LSb32ResPROP_JPEG_ACTblId 1
#define LSb16ResPROP_JPEG_ACTblId 1
#define bResPROP_JPEG_ACTblId 1
#define MSK32ResPROP_JPEG_ACTblId 0x00000002
#define ResPROP_JPEG_ACTblId_luma 0x0
#define ResPROP_JPEG_ACTblId_chroma 0x1
///////////////////////////////////////////////////////////
typedef struct SIE_ResPROP_JPEG {
///////////////////////////////////////////////////////////
#define GET32ResPROP_JPEG_DCTblId(r32) _BFGET_(r32, 0, 0)
#define SET32ResPROP_JPEG_DCTblId(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ResPROP_JPEG_DCTblId(r16) _BFGET_(r16, 0, 0)
#define SET16ResPROP_JPEG_DCTblId(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ResPROP_JPEG_ACTblId(r32) _BFGET_(r32, 1, 1)
#define SET32ResPROP_JPEG_ACTblId(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ResPROP_JPEG_ACTblId(r16) _BFGET_(r16, 1, 1)
#define SET16ResPROP_JPEG_ACTblId(r16,v) _BFSET_(r16, 1, 1,v)
UNSG32 u_DCTblId : 1;
UNSG32 u_ACTblId : 1;
UNSG32 RSVDx0_b2 : 30;
///////////////////////////////////////////////////////////
} SIE_ResPROP_JPEG;
///////////////////////////////////////////////////////////
SIGN32 ResPROP_JPEG_drvrd(SIE_ResPROP_JPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ResPROP_JPEG_drvwr(SIE_ResPROP_JPEG *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ResPROP_JPEG_reset(SIE_ResPROP_JPEG *p);
SIGN32 ResPROP_JPEG_cmp (SIE_ResPROP_JPEG *p, SIE_ResPROP_JPEG *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ResPROP_JPEG_check(p,pie,pfx,hLOG) ResPROP_JPEG_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ResPROP_JPEG_print(p, pfx,hLOG) ResPROP_JPEG_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ResPROP_JPEG
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE TotalCoeff6 (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 5 nc_0i
/// %unsigned 5 nc_1i
/// %unsigned 5 nc_2i
/// ###
/// * The number of non-zero transform coefficients in a 4x4 Y or UV coefficient block. Totally 3 blocks are in order 0 ~ 2.
/// ###
/// %% 1 # Stuffing bits...
/// %unsigned 5 nc1_0i
/// %unsigned 5 nc1_1i
/// %unsigned 5 nc1_2i
/// %% 1 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 30b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_TotalCoeff6
#define h_TotalCoeff6 (){}
#define BA_TotalCoeff6_nc_0i 0x0000
#define B16TotalCoeff6_nc_0i 0x0000
#define LSb32TotalCoeff6_nc_0i 0
#define LSb16TotalCoeff6_nc_0i 0
#define bTotalCoeff6_nc_0i 5
#define MSK32TotalCoeff6_nc_0i 0x0000001F
#define BA_TotalCoeff6_nc_1i 0x0000
#define B16TotalCoeff6_nc_1i 0x0000
#define LSb32TotalCoeff6_nc_1i 5
#define LSb16TotalCoeff6_nc_1i 5
#define bTotalCoeff6_nc_1i 5
#define MSK32TotalCoeff6_nc_1i 0x000003E0
#define BA_TotalCoeff6_nc_2i 0x0001
#define B16TotalCoeff6_nc_2i 0x0000
#define LSb32TotalCoeff6_nc_2i 10
#define LSb16TotalCoeff6_nc_2i 10
#define bTotalCoeff6_nc_2i 5
#define MSK32TotalCoeff6_nc_2i 0x00007C00
#define BA_TotalCoeff6_nc1_0i 0x0002
#define B16TotalCoeff6_nc1_0i 0x0002
#define LSb32TotalCoeff6_nc1_0i 16
#define LSb16TotalCoeff6_nc1_0i 0
#define bTotalCoeff6_nc1_0i 5
#define MSK32TotalCoeff6_nc1_0i 0x001F0000
#define BA_TotalCoeff6_nc1_1i 0x0002
#define B16TotalCoeff6_nc1_1i 0x0002
#define LSb32TotalCoeff6_nc1_1i 21
#define LSb16TotalCoeff6_nc1_1i 5
#define bTotalCoeff6_nc1_1i 5
#define MSK32TotalCoeff6_nc1_1i 0x03E00000
#define BA_TotalCoeff6_nc1_2i 0x0003
#define B16TotalCoeff6_nc1_2i 0x0002
#define LSb32TotalCoeff6_nc1_2i 26
#define LSb16TotalCoeff6_nc1_2i 10
#define bTotalCoeff6_nc1_2i 5
#define MSK32TotalCoeff6_nc1_2i 0x7C000000
///////////////////////////////////////////////////////////
typedef struct SIE_TotalCoeff6 {
///////////////////////////////////////////////////////////
#define GET32TotalCoeff6_nc_0i(r32) _BFGET_(r32, 4, 0)
#define SET32TotalCoeff6_nc_0i(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16TotalCoeff6_nc_0i(r16) _BFGET_(r16, 4, 0)
#define SET16TotalCoeff6_nc_0i(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TotalCoeff6_nc_1i(r32) _BFGET_(r32, 9, 5)
#define SET32TotalCoeff6_nc_1i(r32,v) _BFSET_(r32, 9, 5,v)
#define GET16TotalCoeff6_nc_1i(r16) _BFGET_(r16, 9, 5)
#define SET16TotalCoeff6_nc_1i(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32TotalCoeff6_nc_2i(r32) _BFGET_(r32,14,10)
#define SET32TotalCoeff6_nc_2i(r32,v) _BFSET_(r32,14,10,v)
#define GET16TotalCoeff6_nc_2i(r16) _BFGET_(r16,14,10)
#define SET16TotalCoeff6_nc_2i(r16,v) _BFSET_(r16,14,10,v)
#define GET32TotalCoeff6_nc1_0i(r32) _BFGET_(r32,20,16)
#define SET32TotalCoeff6_nc1_0i(r32,v) _BFSET_(r32,20,16,v)
#define GET16TotalCoeff6_nc1_0i(r16) _BFGET_(r16, 4, 0)
#define SET16TotalCoeff6_nc1_0i(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32TotalCoeff6_nc1_1i(r32) _BFGET_(r32,25,21)
#define SET32TotalCoeff6_nc1_1i(r32,v) _BFSET_(r32,25,21,v)
#define GET16TotalCoeff6_nc1_1i(r16) _BFGET_(r16, 9, 5)
#define SET16TotalCoeff6_nc1_1i(r16,v) _BFSET_(r16, 9, 5,v)
#define GET32TotalCoeff6_nc1_2i(r32) _BFGET_(r32,30,26)
#define SET32TotalCoeff6_nc1_2i(r32,v) _BFSET_(r32,30,26,v)
#define GET16TotalCoeff6_nc1_2i(r16) _BFGET_(r16,14,10)
#define SET16TotalCoeff6_nc1_2i(r16,v) _BFSET_(r16,14,10,v)
UNSG32 u_nc_0i : 5;
UNSG32 u_nc_1i : 5;
UNSG32 u_nc_2i : 5;
UNSG32 RSVDx0_b15 : 1;
UNSG32 u_nc1_0i : 5;
UNSG32 u_nc1_1i : 5;
UNSG32 u_nc1_2i : 5;
UNSG32 RSVDx0_b31 : 1;
///////////////////////////////////////////////////////////
} SIE_TotalCoeff6;
///////////////////////////////////////////////////////////
SIGN32 TotalCoeff6_drvrd(SIE_TotalCoeff6 *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 TotalCoeff6_drvwr(SIE_TotalCoeff6 *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void TotalCoeff6_reset(SIE_TotalCoeff6 *p);
SIGN32 TotalCoeff6_cmp (SIE_TotalCoeff6 *p, SIE_TotalCoeff6 *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define TotalCoeff6_check(p,pie,pfx,hLOG) TotalCoeff6_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define TotalCoeff6_print(p, pfx,hLOG) TotalCoeff6_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: TotalCoeff6
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASEPopTotalCoeff (4,2)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 TotalCoeff
/// $TotalCoeff6 TotalCoeff REG [2]
/// ###
/// * The number of non-zero transform coefficients in a 4x4 Y or UV coefficient block in 3 block group. Totally 12 blocks in 4 groups are in order 0 ~ 11.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 60b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASEPopTotalCoeff
#define h_ASEPopTotalCoeff (){}
#define RA_ASEPopTotalCoeff_TotalCoeff 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_ASEPopTotalCoeff {
///////////////////////////////////////////////////////////
SIE_TotalCoeff6 ie_TotalCoeff[2];
///////////////////////////////////////////////////////////
} SIE_ASEPopTotalCoeff;
///////////////////////////////////////////////////////////
SIGN32 ASEPopTotalCoeff_drvrd(SIE_ASEPopTotalCoeff *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASEPopTotalCoeff_drvwr(SIE_ASEPopTotalCoeff *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASEPopTotalCoeff_reset(SIE_ASEPopTotalCoeff *p);
SIGN32 ASEPopTotalCoeff_cmp (SIE_ASEPopTotalCoeff *p, SIE_ASEPopTotalCoeff *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASEPopTotalCoeff_check(p,pie,pfx,hLOG) ASEPopTotalCoeff_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASEPopTotalCoeff_print(p, pfx,hLOG) ASEPopTotalCoeff_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASEPopTotalCoeff
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64PIC biu (4,4)
/// ###
/// * RF64 picture-level information for ALU64 extensions; padded to 64b. Used in placed of BIU register for efficiency. Parameters in this interface should only be updated at the slice boundary.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 3 format
/// : h264 0x0
/// : wmv 0x1
/// ###
/// * VC-1 Main Profile
/// ###
/// : mpg2 0x2
/// : other 0x3
/// : mpg4 0x4
/// : vc1ap 0x5
/// ###
/// * VC-1 Advanced Profile
/// ###
/// : h263 0x6
/// : avs 0x7
/// ###
/// * Format of the current video stream
/// ###
/// %unsigned 1 cabac
/// ###
/// * Whether current slice is coded in CABAC
/// ###
/// %unsigned 2 picType
/// : I 0x0
/// : P 0x1
/// : B 0x2
/// ###
/// * Used by PMV to qualify between P_skip & B_skip
/// ###
/// %unsigned 5 maxL0
/// ###
/// * H264: num_ref_idx_l0_active_minus1
/// ###
/// %unsigned 5 maxL1
/// ###
/// * H264: num_ref_idx_l1_active_minus1
/// ###
/// %unsigned 1 MbaffPic
/// ###
/// * Whether current picture is Mbaff pic or not; for FOP
/// * For VC-1:
/// * (~Mbaffpic && ~fieldPic) -> progressive
/// * (Mbaffpic && ~fieldPic) -> interlace frame
/// ###
/// %unsigned 1 fieldPic
/// ###
/// * Whether current picture is field coded or not; for FOP
/// * For VC-1:
/// * (~MbaffPic && fieldPic) -> interlace field, one ref;
/// * (MbaffPic && fieldPic) -> interlace field, two ref
/// ###
/// %unsigned 1 spatialPred
/// ###
/// * Spatial direct prediction modee; for dirMV.
/// ###
/// %unsigned 1 colPicMbaff
/// ###
/// * Whether colocated pic is Mbaff pic or not; for dirMV
/// ###
/// %unsigned 1 colPicField
/// ###
/// * Whether colocated picture is field pic or not; for dirMV
/// ###
/// %unsigned 1 colPicST
/// ###
/// * Co-located picture is a long-term (0) or short-term (1) reference picture; for dirMV.
/// ###
/// %signed 5 AC0Offset
/// ###
/// * = slice_alpha_c0_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// %signed 5 BetaOffset
/// ###
/// * = slice_beta_offset_div2<<1, -12 ~ +12, inclusive, even numbers only. For FOP only.
/// ###
/// @ 0x00004 (P)
/// %unsigned 16 dqAcLimit
/// ###
/// * Saturation limit for AC dequantization
/// * Also apply for universal dequantization
/// ###
/// %unsigned 14 dqDcLimit
/// ###
/// * Saturation limit for DC dequantization
/// ###
/// %unsigned 2 mismatch
/// : none 0x0
/// : mpeg1 0x1
/// : mpeg2 0x2
/// ###
/// * mismatch control, for AC dequant only
/// ###
/// @ 0x00008 (P)
/// %unsigned 16 picW
/// ###
/// * Width of current picture; up to 2047
/// ###
/// %unsigned 13 picH
/// ###
/// * Height of current picture; up to 2047. For vcMsg only
/// ###
/// %unsigned 1 btmFldPic
/// ###
/// * H.264: Current picture is bottom field; for vcMsg. Valid only when fieldPic==1.
/// ###
/// %unsigned 2 hint
/// ###
/// * Same as CacheMsg.hint; for vcMsg only
/// ###
/// @ 0x0000C (P)
/// %unsigned 8 shiftLumaX
/// ###
/// * (For vcMsg only) Shift amount lookup table for Luma X direction. 4 entries, 2-bit per entry, indexed by mvx[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftLumaY
/// ###
/// * (For vcMsg only) Shift amount lookup table for Luma Y direction. 4 entries, 2-bit per entry, indexed by mvy[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftChromaX
/// ###
/// * (For vcMsg only) Shift amount lookup table for Chroma X direction. 4 entries, 2-bit per entry, indexed by mvx[1:0] in little-endian format
/// ###
/// %unsigned 8 shiftChromaY
/// ###
/// * (For vcMsg only) Shift amount lookup table for Chroma Y direction. 4 entries, 2-bit per entry, indexed by mvy[1:0] in little-endian format
/// ###
/// @ 0x00010 (P)
/// %unsigned 4 fracTapDiv2Y
/// ###
/// * (Tap size / 2) for luma fractional MV interpolation
/// ###
/// %unsigned 4 fracTapDiv2C
/// ###
/// * (Tap size / 2) for chroma fractional MV interpolation
/// ###
/// %unsigned 6 IPCM_QPU
/// ###
/// * QPU for IPCM coded MBs; for H.264 FOP
/// ###
/// %unsigned 6 IPCM_QPV
/// ###
/// * QPV for IPCM coded MBs; for H.264 FOP
/// ###
/// %unsigned 12 RSVD12
/// ###
/// * padding to 32 bits
/// ###
/// @ 0x00014 (P)
/// %unsigned 5 PQUANT
/// ###
/// * picture-level quantization factor
/// ###
/// %unsigned 2 FRFD
/// ###
/// * Forward reference picture distance, 0~3.
/// * Used by VC1 for interlace P field PMV, or for interlace B field forward PMV
/// ###
/// %unsigned 2 BRFD
/// ###
/// * Backward reference picture distance, 0~3.
/// * Used by VC1 for interlace B field backward PMV
/// ###
/// %unsigned 1 secondFld
/// ###
/// * Used by PMV for interlace field picture: whether current field is 1st field or 2nd field of display picture
/// ###
/// %unsigned 2 mvRange
/// ###
/// * 0~3; used to lookup range_x & range_y for PMV; see VC-1 spec table 75.
/// ###
/// %unsigned 1 hybridMvThres
/// ###
/// * 0: threshold = 16; 1: threshold = 32
/// ###
/// %unsigned 1 firstMbIntra
/// ###
/// * 0: first MB or block is inter coded; 1: intra coded; used for VC-1 Fop
/// ###
/// %unsigned 1 halfPixel
/// ###
/// * Half pixel flag, for VC-1 PMV interlace field mode.
/// ###
/// %unsigned 1 forwRefInterlace
/// ###
/// * For VC-1 interlace frame picture in VCMSG extension forward reference is 0: progressive coded; 1: interlace coded
/// ###
/// %unsigned 1 backRefInterlace
/// ###
/// * For VC-1 interlace frame picture in VCMSG extension backward reference is 0: progressive coded; 1: interlace coded
/// ###
/// %unsigned 2 FrmTransACSet
/// ###
/// * For VC-1 frame-level transform AC coding set selection (for Cb and Cr block; and inter Y block).
/// * Valid values are 0, 1, and 2
/// ###
/// %unsigned 2 FrmTransACSet2
/// ###
/// * For VC-1 frame-level transform AC table-2 index selection (for I-frame Y block)
/// * Valid values are 0, 1, and 2
/// ###
/// %unsigned 1 PQIndexGT8
/// ###
/// * Indicator to represent whether Picture Quantized Index (PQIndexG8, defined in Table 36 in VC-1 spec) is greater than 8.
/// * 0: value of PQIndex is less than or equal to 8
/// * 1: value of PQIndex is greater than 8
/// ###
/// %unsigned 1 EscapeTBL
/// ###
/// * For VC-1 to select escape table in residual decoding
/// ###
/// %unsigned 4 format1
/// : RV9 0x0
/// : RV8 0x1
/// : vp8 0x2
/// : jpeg 0x3
/// %unsigned 1 noReorder
/// ###
/// * For ASE, disable coefficient reorder.
/// ###
/// %unsigned 1 iplusModeOn
/// ###
/// * For ASE, IPLUS mode is on or not.
/// ###
/// %unsigned 3 RSVD3
/// ###
/// * padding to 32 bits
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD
/// $LUT64b RSVD REG [5]
/// ###
/// * Reserved for alignment
/// ###
/// @ 0x00040 (P)
/// # 0x00040 rIDX2BID
/// $IDX2BID rIDX2BID REG
/// ###
/// * Defined in 'decHal_mbLvl.sxw.txt'
/// * End of RF64PIC
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 256B, bits: 2048b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64PIC
#define h_RF64PIC (){}
#define BA_RF64PIC_format 0x0000
#define B16RF64PIC_format 0x0000
#define LSb32RF64PIC_format 0
#define LSb16RF64PIC_format 0
#define bRF64PIC_format 3
#define MSK32RF64PIC_format 0x00000007
#define RF64PIC_format_h264 0x0
#define RF64PIC_format_wmv 0x1
#define RF64PIC_format_mpg2 0x2
#define RF64PIC_format_other 0x3
#define RF64PIC_format_mpg4 0x4
#define RF64PIC_format_vc1ap 0x5
#define RF64PIC_format_h263 0x6
#define RF64PIC_format_avs 0x7
#define BA_RF64PIC_cabac 0x0000
#define B16RF64PIC_cabac 0x0000
#define LSb32RF64PIC_cabac 3
#define LSb16RF64PIC_cabac 3
#define bRF64PIC_cabac 1
#define MSK32RF64PIC_cabac 0x00000008
#define BA_RF64PIC_picType 0x0000
#define B16RF64PIC_picType 0x0000
#define LSb32RF64PIC_picType 4
#define LSb16RF64PIC_picType 4
#define bRF64PIC_picType 2
#define MSK32RF64PIC_picType 0x00000030
#define RF64PIC_picType_I 0x0
#define RF64PIC_picType_P 0x1
#define RF64PIC_picType_B 0x2
#define BA_RF64PIC_maxL0 0x0000
#define B16RF64PIC_maxL0 0x0000
#define LSb32RF64PIC_maxL0 6
#define LSb16RF64PIC_maxL0 6
#define bRF64PIC_maxL0 5
#define MSK32RF64PIC_maxL0 0x000007C0
#define BA_RF64PIC_maxL1 0x0001
#define B16RF64PIC_maxL1 0x0000
#define LSb32RF64PIC_maxL1 11
#define LSb16RF64PIC_maxL1 11
#define bRF64PIC_maxL1 5
#define MSK32RF64PIC_maxL1 0x0000F800
#define BA_RF64PIC_MbaffPic 0x0002
#define B16RF64PIC_MbaffPic 0x0002
#define LSb32RF64PIC_MbaffPic 16
#define LSb16RF64PIC_MbaffPic 0
#define bRF64PIC_MbaffPic 1
#define MSK32RF64PIC_MbaffPic 0x00010000
#define BA_RF64PIC_fieldPic 0x0002
#define B16RF64PIC_fieldPic 0x0002
#define LSb32RF64PIC_fieldPic 17
#define LSb16RF64PIC_fieldPic 1
#define bRF64PIC_fieldPic 1
#define MSK32RF64PIC_fieldPic 0x00020000
#define BA_RF64PIC_spatialPred 0x0002
#define B16RF64PIC_spatialPred 0x0002
#define LSb32RF64PIC_spatialPred 18
#define LSb16RF64PIC_spatialPred 2
#define bRF64PIC_spatialPred 1
#define MSK32RF64PIC_spatialPred 0x00040000
#define BA_RF64PIC_colPicMbaff 0x0002
#define B16RF64PIC_colPicMbaff 0x0002
#define LSb32RF64PIC_colPicMbaff 19
#define LSb16RF64PIC_colPicMbaff 3
#define bRF64PIC_colPicMbaff 1
#define MSK32RF64PIC_colPicMbaff 0x00080000
#define BA_RF64PIC_colPicField 0x0002
#define B16RF64PIC_colPicField 0x0002
#define LSb32RF64PIC_colPicField 20
#define LSb16RF64PIC_colPicField 4
#define bRF64PIC_colPicField 1
#define MSK32RF64PIC_colPicField 0x00100000
#define BA_RF64PIC_colPicST 0x0002
#define B16RF64PIC_colPicST 0x0002
#define LSb32RF64PIC_colPicST 21
#define LSb16RF64PIC_colPicST 5
#define bRF64PIC_colPicST 1
#define MSK32RF64PIC_colPicST 0x00200000
#define BA_RF64PIC_AC0Offset 0x0002
#define B16RF64PIC_AC0Offset 0x0002
#define LSb32RF64PIC_AC0Offset 22
#define LSb16RF64PIC_AC0Offset 6
#define bRF64PIC_AC0Offset 5
#define MSK32RF64PIC_AC0Offset 0x07C00000
#define BA_RF64PIC_BetaOffset 0x0003
#define B16RF64PIC_BetaOffset 0x0002
#define LSb32RF64PIC_BetaOffset 27
#define LSb16RF64PIC_BetaOffset 11
#define bRF64PIC_BetaOffset 5
#define MSK32RF64PIC_BetaOffset 0xF8000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_dqAcLimit 0x0004
#define B16RF64PIC_dqAcLimit 0x0004
#define LSb32RF64PIC_dqAcLimit 0
#define LSb16RF64PIC_dqAcLimit 0
#define bRF64PIC_dqAcLimit 16
#define MSK32RF64PIC_dqAcLimit 0x0000FFFF
#define BA_RF64PIC_dqDcLimit 0x0006
#define B16RF64PIC_dqDcLimit 0x0006
#define LSb32RF64PIC_dqDcLimit 16
#define LSb16RF64PIC_dqDcLimit 0
#define bRF64PIC_dqDcLimit 14
#define MSK32RF64PIC_dqDcLimit 0x3FFF0000
#define BA_RF64PIC_mismatch 0x0007
#define B16RF64PIC_mismatch 0x0006
#define LSb32RF64PIC_mismatch 30
#define LSb16RF64PIC_mismatch 14
#define bRF64PIC_mismatch 2
#define MSK32RF64PIC_mismatch 0xC0000000
#define RF64PIC_mismatch_none 0x0
#define RF64PIC_mismatch_mpeg1 0x1
#define RF64PIC_mismatch_mpeg2 0x2
///////////////////////////////////////////////////////////
#define BA_RF64PIC_picW 0x0008
#define B16RF64PIC_picW 0x0008
#define LSb32RF64PIC_picW 0
#define LSb16RF64PIC_picW 0
#define bRF64PIC_picW 16
#define MSK32RF64PIC_picW 0x0000FFFF
#define BA_RF64PIC_picH 0x000A
#define B16RF64PIC_picH 0x000A
#define LSb32RF64PIC_picH 16
#define LSb16RF64PIC_picH 0
#define bRF64PIC_picH 13
#define MSK32RF64PIC_picH 0x1FFF0000
#define BA_RF64PIC_btmFldPic 0x000B
#define B16RF64PIC_btmFldPic 0x000A
#define LSb32RF64PIC_btmFldPic 29
#define LSb16RF64PIC_btmFldPic 13
#define bRF64PIC_btmFldPic 1
#define MSK32RF64PIC_btmFldPic 0x20000000
#define BA_RF64PIC_hint 0x000B
#define B16RF64PIC_hint 0x000A
#define LSb32RF64PIC_hint 30
#define LSb16RF64PIC_hint 14
#define bRF64PIC_hint 2
#define MSK32RF64PIC_hint 0xC0000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_shiftLumaX 0x000C
#define B16RF64PIC_shiftLumaX 0x000C
#define LSb32RF64PIC_shiftLumaX 0
#define LSb16RF64PIC_shiftLumaX 0
#define bRF64PIC_shiftLumaX 8
#define MSK32RF64PIC_shiftLumaX 0x000000FF
#define BA_RF64PIC_shiftLumaY 0x000D
#define B16RF64PIC_shiftLumaY 0x000C
#define LSb32RF64PIC_shiftLumaY 8
#define LSb16RF64PIC_shiftLumaY 8
#define bRF64PIC_shiftLumaY 8
#define MSK32RF64PIC_shiftLumaY 0x0000FF00
#define BA_RF64PIC_shiftChromaX 0x000E
#define B16RF64PIC_shiftChromaX 0x000E
#define LSb32RF64PIC_shiftChromaX 16
#define LSb16RF64PIC_shiftChromaX 0
#define bRF64PIC_shiftChromaX 8
#define MSK32RF64PIC_shiftChromaX 0x00FF0000
#define BA_RF64PIC_shiftChromaY 0x000F
#define B16RF64PIC_shiftChromaY 0x000E
#define LSb32RF64PIC_shiftChromaY 24
#define LSb16RF64PIC_shiftChromaY 8
#define bRF64PIC_shiftChromaY 8
#define MSK32RF64PIC_shiftChromaY 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_fracTapDiv2Y 0x0010
#define B16RF64PIC_fracTapDiv2Y 0x0010
#define LSb32RF64PIC_fracTapDiv2Y 0
#define LSb16RF64PIC_fracTapDiv2Y 0
#define bRF64PIC_fracTapDiv2Y 4
#define MSK32RF64PIC_fracTapDiv2Y 0x0000000F
#define BA_RF64PIC_fracTapDiv2C 0x0010
#define B16RF64PIC_fracTapDiv2C 0x0010
#define LSb32RF64PIC_fracTapDiv2C 4
#define LSb16RF64PIC_fracTapDiv2C 4
#define bRF64PIC_fracTapDiv2C 4
#define MSK32RF64PIC_fracTapDiv2C 0x000000F0
#define BA_RF64PIC_IPCM_QPU 0x0011
#define B16RF64PIC_IPCM_QPU 0x0010
#define LSb32RF64PIC_IPCM_QPU 8
#define LSb16RF64PIC_IPCM_QPU 8
#define bRF64PIC_IPCM_QPU 6
#define MSK32RF64PIC_IPCM_QPU 0x00003F00
#define BA_RF64PIC_IPCM_QPV 0x0011
#define B16RF64PIC_IPCM_QPV 0x0010
#define LSb32RF64PIC_IPCM_QPV 14
#define LSb16RF64PIC_IPCM_QPV 14
#define bRF64PIC_IPCM_QPV 6
#define MSK32RF64PIC_IPCM_QPV 0x000FC000
#define BA_RF64PIC_RSVD12 0x0012
#define B16RF64PIC_RSVD12 0x0012
#define LSb32RF64PIC_RSVD12 20
#define LSb16RF64PIC_RSVD12 4
#define bRF64PIC_RSVD12 12
#define MSK32RF64PIC_RSVD12 0xFFF00000
///////////////////////////////////////////////////////////
#define BA_RF64PIC_PQUANT 0x0014
#define B16RF64PIC_PQUANT 0x0014
#define LSb32RF64PIC_PQUANT 0
#define LSb16RF64PIC_PQUANT 0
#define bRF64PIC_PQUANT 5
#define MSK32RF64PIC_PQUANT 0x0000001F
#define BA_RF64PIC_FRFD 0x0014
#define B16RF64PIC_FRFD 0x0014
#define LSb32RF64PIC_FRFD 5
#define LSb16RF64PIC_FRFD 5
#define bRF64PIC_FRFD 2
#define MSK32RF64PIC_FRFD 0x00000060
#define BA_RF64PIC_BRFD 0x0014
#define B16RF64PIC_BRFD 0x0014
#define LSb32RF64PIC_BRFD 7
#define LSb16RF64PIC_BRFD 7
#define bRF64PIC_BRFD 2
#define MSK32RF64PIC_BRFD 0x00000180
#define BA_RF64PIC_secondFld 0x0015
#define B16RF64PIC_secondFld 0x0014
#define LSb32RF64PIC_secondFld 9
#define LSb16RF64PIC_secondFld 9
#define bRF64PIC_secondFld 1
#define MSK32RF64PIC_secondFld 0x00000200
#define BA_RF64PIC_mvRange 0x0015
#define B16RF64PIC_mvRange 0x0014
#define LSb32RF64PIC_mvRange 10
#define LSb16RF64PIC_mvRange 10
#define bRF64PIC_mvRange 2
#define MSK32RF64PIC_mvRange 0x00000C00
#define BA_RF64PIC_hybridMvThres 0x0015
#define B16RF64PIC_hybridMvThres 0x0014
#define LSb32RF64PIC_hybridMvThres 12
#define LSb16RF64PIC_hybridMvThres 12
#define bRF64PIC_hybridMvThres 1
#define MSK32RF64PIC_hybridMvThres 0x00001000
#define BA_RF64PIC_firstMbIntra 0x0015
#define B16RF64PIC_firstMbIntra 0x0014
#define LSb32RF64PIC_firstMbIntra 13
#define LSb16RF64PIC_firstMbIntra 13
#define bRF64PIC_firstMbIntra 1
#define MSK32RF64PIC_firstMbIntra 0x00002000
#define BA_RF64PIC_halfPixel 0x0015
#define B16RF64PIC_halfPixel 0x0014
#define LSb32RF64PIC_halfPixel 14
#define LSb16RF64PIC_halfPixel 14
#define bRF64PIC_halfPixel 1
#define MSK32RF64PIC_halfPixel 0x00004000
#define BA_RF64PIC_forwRefInterlace 0x0015
#define B16RF64PIC_forwRefInterlace 0x0014
#define LSb32RF64PIC_forwRefInterlace 15
#define LSb16RF64PIC_forwRefInterlace 15
#define bRF64PIC_forwRefInterlace 1
#define MSK32RF64PIC_forwRefInterlace 0x00008000
#define BA_RF64PIC_backRefInterlace 0x0016
#define B16RF64PIC_backRefInterlace 0x0016
#define LSb32RF64PIC_backRefInterlace 16
#define LSb16RF64PIC_backRefInterlace 0
#define bRF64PIC_backRefInterlace 1
#define MSK32RF64PIC_backRefInterlace 0x00010000
#define BA_RF64PIC_FrmTransACSet 0x0016
#define B16RF64PIC_FrmTransACSet 0x0016
#define LSb32RF64PIC_FrmTransACSet 17
#define LSb16RF64PIC_FrmTransACSet 1
#define bRF64PIC_FrmTransACSet 2
#define MSK32RF64PIC_FrmTransACSet 0x00060000
#define BA_RF64PIC_FrmTransACSet2 0x0016
#define B16RF64PIC_FrmTransACSet2 0x0016
#define LSb32RF64PIC_FrmTransACSet2 19
#define LSb16RF64PIC_FrmTransACSet2 3
#define bRF64PIC_FrmTransACSet2 2
#define MSK32RF64PIC_FrmTransACSet2 0x00180000
#define BA_RF64PIC_PQIndexGT8 0x0016
#define B16RF64PIC_PQIndexGT8 0x0016
#define LSb32RF64PIC_PQIndexGT8 21
#define LSb16RF64PIC_PQIndexGT8 5
#define bRF64PIC_PQIndexGT8 1
#define MSK32RF64PIC_PQIndexGT8 0x00200000
#define BA_RF64PIC_EscapeTBL 0x0016
#define B16RF64PIC_EscapeTBL 0x0016
#define LSb32RF64PIC_EscapeTBL 22
#define LSb16RF64PIC_EscapeTBL 6
#define bRF64PIC_EscapeTBL 1
#define MSK32RF64PIC_EscapeTBL 0x00400000
#define BA_RF64PIC_format1 0x0016
#define B16RF64PIC_format1 0x0016
#define LSb32RF64PIC_format1 23
#define LSb16RF64PIC_format1 7
#define bRF64PIC_format1 4
#define MSK32RF64PIC_format1 0x07800000
#define RF64PIC_format1_RV9 0x0
#define RF64PIC_format1_RV8 0x1
#define RF64PIC_format1_vp8 0x2
#define RF64PIC_format1_jpeg 0x3
#define BA_RF64PIC_noReorder 0x0017
#define B16RF64PIC_noReorder 0x0016
#define LSb32RF64PIC_noReorder 27
#define LSb16RF64PIC_noReorder 11
#define bRF64PIC_noReorder 1
#define MSK32RF64PIC_noReorder 0x08000000
#define BA_RF64PIC_iplusModeOn 0x0017
#define B16RF64PIC_iplusModeOn 0x0016
#define LSb32RF64PIC_iplusModeOn 28
#define LSb16RF64PIC_iplusModeOn 12
#define bRF64PIC_iplusModeOn 1
#define MSK32RF64PIC_iplusModeOn 0x10000000
#define BA_RF64PIC_RSVD3 0x0017
#define B16RF64PIC_RSVD3 0x0016
#define LSb32RF64PIC_RSVD3 29
#define LSb16RF64PIC_RSVD3 13
#define bRF64PIC_RSVD3 3
#define MSK32RF64PIC_RSVD3 0xE0000000
///////////////////////////////////////////////////////////
#define RA_RF64PIC_RSVD 0x0018
///////////////////////////////////////////////////////////
#define RA_RF64PIC_rIDX2BID 0x0040
///////////////////////////////////////////////////////////
typedef struct SIE_RF64PIC {
///////////////////////////////////////////////////////////
#define GET32RF64PIC_format(r32) _BFGET_(r32, 2, 0)
#define SET32RF64PIC_format(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16RF64PIC_format(r16) _BFGET_(r16, 2, 0)
#define SET16RF64PIC_format(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32RF64PIC_cabac(r32) _BFGET_(r32, 3, 3)
#define SET32RF64PIC_cabac(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16RF64PIC_cabac(r16) _BFGET_(r16, 3, 3)
#define SET16RF64PIC_cabac(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64PIC_picType(r32) _BFGET_(r32, 5, 4)
#define SET32RF64PIC_picType(r32,v) _BFSET_(r32, 5, 4,v)
#define GET16RF64PIC_picType(r16) _BFGET_(r16, 5, 4)
#define SET16RF64PIC_picType(r16,v) _BFSET_(r16, 5, 4,v)
#define GET32RF64PIC_maxL0(r32) _BFGET_(r32,10, 6)
#define SET32RF64PIC_maxL0(r32,v) _BFSET_(r32,10, 6,v)
#define GET16RF64PIC_maxL0(r16) _BFGET_(r16,10, 6)
#define SET16RF64PIC_maxL0(r16,v) _BFSET_(r16,10, 6,v)
#define GET32RF64PIC_maxL1(r32) _BFGET_(r32,15,11)
#define SET32RF64PIC_maxL1(r32,v) _BFSET_(r32,15,11,v)
#define GET16RF64PIC_maxL1(r16) _BFGET_(r16,15,11)
#define SET16RF64PIC_maxL1(r16,v) _BFSET_(r16,15,11,v)
#define GET32RF64PIC_MbaffPic(r32) _BFGET_(r32,16,16)
#define SET32RF64PIC_MbaffPic(r32,v) _BFSET_(r32,16,16,v)
#define GET16RF64PIC_MbaffPic(r16) _BFGET_(r16, 0, 0)
#define SET16RF64PIC_MbaffPic(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32RF64PIC_fieldPic(r32) _BFGET_(r32,17,17)
#define SET32RF64PIC_fieldPic(r32,v) _BFSET_(r32,17,17,v)
#define GET16RF64PIC_fieldPic(r16) _BFGET_(r16, 1, 1)
#define SET16RF64PIC_fieldPic(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32RF64PIC_spatialPred(r32) _BFGET_(r32,18,18)
#define SET32RF64PIC_spatialPred(r32,v) _BFSET_(r32,18,18,v)
#define GET16RF64PIC_spatialPred(r16) _BFGET_(r16, 2, 2)
#define SET16RF64PIC_spatialPred(r16,v) _BFSET_(r16, 2, 2,v)
#define GET32RF64PIC_colPicMbaff(r32) _BFGET_(r32,19,19)
#define SET32RF64PIC_colPicMbaff(r32,v) _BFSET_(r32,19,19,v)
#define GET16RF64PIC_colPicMbaff(r16) _BFGET_(r16, 3, 3)
#define SET16RF64PIC_colPicMbaff(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64PIC_colPicField(r32) _BFGET_(r32,20,20)
#define SET32RF64PIC_colPicField(r32,v) _BFSET_(r32,20,20,v)
#define GET16RF64PIC_colPicField(r16) _BFGET_(r16, 4, 4)
#define SET16RF64PIC_colPicField(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32RF64PIC_colPicST(r32) _BFGET_(r32,21,21)
#define SET32RF64PIC_colPicST(r32,v) _BFSET_(r32,21,21,v)
#define GET16RF64PIC_colPicST(r16) _BFGET_(r16, 5, 5)
#define SET16RF64PIC_colPicST(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64PIC_AC0Offset(r32) _BFGET_(r32,26,22)
#define SET32RF64PIC_AC0Offset(r32,v) _BFSET_(r32,26,22,v)
#define GET16RF64PIC_AC0Offset(r16) _BFGET_(r16,10, 6)
#define SET16RF64PIC_AC0Offset(r16,v) _BFSET_(r16,10, 6,v)
#define GET32RF64PIC_BetaOffset(r32) _BFGET_(r32,31,27)
#define SET32RF64PIC_BetaOffset(r32,v) _BFSET_(r32,31,27,v)
#define GET16RF64PIC_BetaOffset(r16) _BFGET_(r16,15,11)
#define SET16RF64PIC_BetaOffset(r16,v) _BFSET_(r16,15,11,v)
UNSG32 u_format : 3;
UNSG32 u_cabac : 1;
UNSG32 u_picType : 2;
UNSG32 u_maxL0 : 5;
UNSG32 u_maxL1 : 5;
UNSG32 u_MbaffPic : 1;
UNSG32 u_fieldPic : 1;
UNSG32 u_spatialPred : 1;
UNSG32 u_colPicMbaff : 1;
UNSG32 u_colPicField : 1;
UNSG32 u_colPicST : 1;
UNSG32 s_AC0Offset : 5;
UNSG32 s_BetaOffset : 5;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_dqAcLimit(r32) _BFGET_(r32,15, 0)
#define SET32RF64PIC_dqAcLimit(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RF64PIC_dqAcLimit(r16) _BFGET_(r16,15, 0)
#define SET16RF64PIC_dqAcLimit(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RF64PIC_dqDcLimit(r32) _BFGET_(r32,29,16)
#define SET32RF64PIC_dqDcLimit(r32,v) _BFSET_(r32,29,16,v)
#define GET16RF64PIC_dqDcLimit(r16) _BFGET_(r16,13, 0)
#define SET16RF64PIC_dqDcLimit(r16,v) _BFSET_(r16,13, 0,v)
#define GET32RF64PIC_mismatch(r32) _BFGET_(r32,31,30)
#define SET32RF64PIC_mismatch(r32,v) _BFSET_(r32,31,30,v)
#define GET16RF64PIC_mismatch(r16) _BFGET_(r16,15,14)
#define SET16RF64PIC_mismatch(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_dqAcLimit : 16;
UNSG32 u_dqDcLimit : 14;
UNSG32 u_mismatch : 2;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_picW(r32) _BFGET_(r32,15, 0)
#define SET32RF64PIC_picW(r32,v) _BFSET_(r32,15, 0,v)
#define GET16RF64PIC_picW(r16) _BFGET_(r16,15, 0)
#define SET16RF64PIC_picW(r16,v) _BFSET_(r16,15, 0,v)
#define GET32RF64PIC_picH(r32) _BFGET_(r32,28,16)
#define SET32RF64PIC_picH(r32,v) _BFSET_(r32,28,16,v)
#define GET16RF64PIC_picH(r16) _BFGET_(r16,12, 0)
#define SET16RF64PIC_picH(r16,v) _BFSET_(r16,12, 0,v)
#define GET32RF64PIC_btmFldPic(r32) _BFGET_(r32,29,29)
#define SET32RF64PIC_btmFldPic(r32,v) _BFSET_(r32,29,29,v)
#define GET16RF64PIC_btmFldPic(r16) _BFGET_(r16,13,13)
#define SET16RF64PIC_btmFldPic(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64PIC_hint(r32) _BFGET_(r32,31,30)
#define SET32RF64PIC_hint(r32,v) _BFSET_(r32,31,30,v)
#define GET16RF64PIC_hint(r16) _BFGET_(r16,15,14)
#define SET16RF64PIC_hint(r16,v) _BFSET_(r16,15,14,v)
UNSG32 u_picW : 16;
UNSG32 u_picH : 13;
UNSG32 u_btmFldPic : 1;
UNSG32 u_hint : 2;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_shiftLumaX(r32) _BFGET_(r32, 7, 0)
#define SET32RF64PIC_shiftLumaX(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64PIC_shiftLumaX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64PIC_shiftLumaX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64PIC_shiftLumaY(r32) _BFGET_(r32,15, 8)
#define SET32RF64PIC_shiftLumaY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64PIC_shiftLumaY(r16) _BFGET_(r16,15, 8)
#define SET16RF64PIC_shiftLumaY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64PIC_shiftChromaX(r32) _BFGET_(r32,23,16)
#define SET32RF64PIC_shiftChromaX(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64PIC_shiftChromaX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64PIC_shiftChromaX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64PIC_shiftChromaY(r32) _BFGET_(r32,31,24)
#define SET32RF64PIC_shiftChromaY(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64PIC_shiftChromaY(r16) _BFGET_(r16,15, 8)
#define SET16RF64PIC_shiftChromaY(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_shiftLumaX : 8;
UNSG32 u_shiftLumaY : 8;
UNSG32 u_shiftChromaX : 8;
UNSG32 u_shiftChromaY : 8;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_fracTapDiv2Y(r32) _BFGET_(r32, 3, 0)
#define SET32RF64PIC_fracTapDiv2Y(r32,v) _BFSET_(r32, 3, 0,v)
#define GET16RF64PIC_fracTapDiv2Y(r16) _BFGET_(r16, 3, 0)
#define SET16RF64PIC_fracTapDiv2Y(r16,v) _BFSET_(r16, 3, 0,v)
#define GET32RF64PIC_fracTapDiv2C(r32) _BFGET_(r32, 7, 4)
#define SET32RF64PIC_fracTapDiv2C(r32,v) _BFSET_(r32, 7, 4,v)
#define GET16RF64PIC_fracTapDiv2C(r16) _BFGET_(r16, 7, 4)
#define SET16RF64PIC_fracTapDiv2C(r16,v) _BFSET_(r16, 7, 4,v)
#define GET32RF64PIC_IPCM_QPU(r32) _BFGET_(r32,13, 8)
#define SET32RF64PIC_IPCM_QPU(r32,v) _BFSET_(r32,13, 8,v)
#define GET16RF64PIC_IPCM_QPU(r16) _BFGET_(r16,13, 8)
#define SET16RF64PIC_IPCM_QPU(r16,v) _BFSET_(r16,13, 8,v)
#define GET32RF64PIC_IPCM_QPV(r32) _BFGET_(r32,19,14)
#define SET32RF64PIC_IPCM_QPV(r32,v) _BFSET_(r32,19,14,v)
#define GET32RF64PIC_RSVD12(r32) _BFGET_(r32,31,20)
#define SET32RF64PIC_RSVD12(r32,v) _BFSET_(r32,31,20,v)
#define GET16RF64PIC_RSVD12(r16) _BFGET_(r16,15, 4)
#define SET16RF64PIC_RSVD12(r16,v) _BFSET_(r16,15, 4,v)
UNSG32 u_fracTapDiv2Y : 4;
UNSG32 u_fracTapDiv2C : 4;
UNSG32 u_IPCM_QPU : 6;
UNSG32 u_IPCM_QPV : 6;
UNSG32 u_RSVD12 : 12;
///////////////////////////////////////////////////////////
#define GET32RF64PIC_PQUANT(r32) _BFGET_(r32, 4, 0)
#define SET32RF64PIC_PQUANT(r32,v) _BFSET_(r32, 4, 0,v)
#define GET16RF64PIC_PQUANT(r16) _BFGET_(r16, 4, 0)
#define SET16RF64PIC_PQUANT(r16,v) _BFSET_(r16, 4, 0,v)
#define GET32RF64PIC_FRFD(r32) _BFGET_(r32, 6, 5)
#define SET32RF64PIC_FRFD(r32,v) _BFSET_(r32, 6, 5,v)
#define GET16RF64PIC_FRFD(r16) _BFGET_(r16, 6, 5)
#define SET16RF64PIC_FRFD(r16,v) _BFSET_(r16, 6, 5,v)
#define GET32RF64PIC_BRFD(r32) _BFGET_(r32, 8, 7)
#define SET32RF64PIC_BRFD(r32,v) _BFSET_(r32, 8, 7,v)
#define GET16RF64PIC_BRFD(r16) _BFGET_(r16, 8, 7)
#define SET16RF64PIC_BRFD(r16,v) _BFSET_(r16, 8, 7,v)
#define GET32RF64PIC_secondFld(r32) _BFGET_(r32, 9, 9)
#define SET32RF64PIC_secondFld(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16RF64PIC_secondFld(r16) _BFGET_(r16, 9, 9)
#define SET16RF64PIC_secondFld(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32RF64PIC_mvRange(r32) _BFGET_(r32,11,10)
#define SET32RF64PIC_mvRange(r32,v) _BFSET_(r32,11,10,v)
#define GET16RF64PIC_mvRange(r16) _BFGET_(r16,11,10)
#define SET16RF64PIC_mvRange(r16,v) _BFSET_(r16,11,10,v)
#define GET32RF64PIC_hybridMvThres(r32) _BFGET_(r32,12,12)
#define SET32RF64PIC_hybridMvThres(r32,v) _BFSET_(r32,12,12,v)
#define GET16RF64PIC_hybridMvThres(r16) _BFGET_(r16,12,12)
#define SET16RF64PIC_hybridMvThres(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64PIC_firstMbIntra(r32) _BFGET_(r32,13,13)
#define SET32RF64PIC_firstMbIntra(r32,v) _BFSET_(r32,13,13,v)
#define GET16RF64PIC_firstMbIntra(r16) _BFGET_(r16,13,13)
#define SET16RF64PIC_firstMbIntra(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64PIC_halfPixel(r32) _BFGET_(r32,14,14)
#define SET32RF64PIC_halfPixel(r32,v) _BFSET_(r32,14,14,v)
#define GET16RF64PIC_halfPixel(r16) _BFGET_(r16,14,14)
#define SET16RF64PIC_halfPixel(r16,v) _BFSET_(r16,14,14,v)
#define GET32RF64PIC_forwRefInterlace(r32) _BFGET_(r32,15,15)
#define SET32RF64PIC_forwRefInterlace(r32,v) _BFSET_(r32,15,15,v)
#define GET16RF64PIC_forwRefInterlace(r16) _BFGET_(r16,15,15)
#define SET16RF64PIC_forwRefInterlace(r16,v) _BFSET_(r16,15,15,v)
#define GET32RF64PIC_backRefInterlace(r32) _BFGET_(r32,16,16)
#define SET32RF64PIC_backRefInterlace(r32,v) _BFSET_(r32,16,16,v)
#define GET16RF64PIC_backRefInterlace(r16) _BFGET_(r16, 0, 0)
#define SET16RF64PIC_backRefInterlace(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32RF64PIC_FrmTransACSet(r32) _BFGET_(r32,18,17)
#define SET32RF64PIC_FrmTransACSet(r32,v) _BFSET_(r32,18,17,v)
#define GET16RF64PIC_FrmTransACSet(r16) _BFGET_(r16, 2, 1)
#define SET16RF64PIC_FrmTransACSet(r16,v) _BFSET_(r16, 2, 1,v)
#define GET32RF64PIC_FrmTransACSet2(r32) _BFGET_(r32,20,19)
#define SET32RF64PIC_FrmTransACSet2(r32,v) _BFSET_(r32,20,19,v)
#define GET16RF64PIC_FrmTransACSet2(r16) _BFGET_(r16, 4, 3)
#define SET16RF64PIC_FrmTransACSet2(r16,v) _BFSET_(r16, 4, 3,v)
#define GET32RF64PIC_PQIndexGT8(r32) _BFGET_(r32,21,21)
#define SET32RF64PIC_PQIndexGT8(r32,v) _BFSET_(r32,21,21,v)
#define GET16RF64PIC_PQIndexGT8(r16) _BFGET_(r16, 5, 5)
#define SET16RF64PIC_PQIndexGT8(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64PIC_EscapeTBL(r32) _BFGET_(r32,22,22)
#define SET32RF64PIC_EscapeTBL(r32,v) _BFSET_(r32,22,22,v)
#define GET16RF64PIC_EscapeTBL(r16) _BFGET_(r16, 6, 6)
#define SET16RF64PIC_EscapeTBL(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32RF64PIC_format1(r32) _BFGET_(r32,26,23)
#define SET32RF64PIC_format1(r32,v) _BFSET_(r32,26,23,v)
#define GET16RF64PIC_format1(r16) _BFGET_(r16,10, 7)
#define SET16RF64PIC_format1(r16,v) _BFSET_(r16,10, 7,v)
#define GET32RF64PIC_noReorder(r32) _BFGET_(r32,27,27)
#define SET32RF64PIC_noReorder(r32,v) _BFSET_(r32,27,27,v)
#define GET16RF64PIC_noReorder(r16) _BFGET_(r16,11,11)
#define SET16RF64PIC_noReorder(r16,v) _BFSET_(r16,11,11,v)
#define GET32RF64PIC_iplusModeOn(r32) _BFGET_(r32,28,28)
#define SET32RF64PIC_iplusModeOn(r32,v) _BFSET_(r32,28,28,v)
#define GET16RF64PIC_iplusModeOn(r16) _BFGET_(r16,12,12)
#define SET16RF64PIC_iplusModeOn(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64PIC_RSVD3(r32) _BFGET_(r32,31,29)
#define SET32RF64PIC_RSVD3(r32,v) _BFSET_(r32,31,29,v)
#define GET16RF64PIC_RSVD3(r16) _BFGET_(r16,15,13)
#define SET16RF64PIC_RSVD3(r16,v) _BFSET_(r16,15,13,v)
UNSG32 u_PQUANT : 5;
UNSG32 u_FRFD : 2;
UNSG32 u_BRFD : 2;
UNSG32 u_secondFld : 1;
UNSG32 u_mvRange : 2;
UNSG32 u_hybridMvThres : 1;
UNSG32 u_firstMbIntra : 1;
UNSG32 u_halfPixel : 1;
UNSG32 u_forwRefInterlace : 1;
UNSG32 u_backRefInterlace : 1;
UNSG32 u_FrmTransACSet : 2;
UNSG32 u_FrmTransACSet2 : 2;
UNSG32 u_PQIndexGT8 : 1;
UNSG32 u_EscapeTBL : 1;
UNSG32 u_format1 : 4;
UNSG32 u_noReorder : 1;
UNSG32 u_iplusModeOn : 1;
UNSG32 u_RSVD3 : 3;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[5];
///////////////////////////////////////////////////////////
SIE_IDX2BID ie_rIDX2BID;
///////////////////////////////////////////////////////////
} SIE_RF64PIC;
///////////////////////////////////////////////////////////
SIGN32 RF64PIC_drvrd(SIE_RF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64PIC_drvwr(SIE_RF64PIC *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64PIC_reset(SIE_RF64PIC *p);
SIGN32 RF64PIC_cmp (SIE_RF64PIC *p, SIE_RF64PIC *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64PIC_check(p,pie,pfx,hLOG) RF64PIC_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64PIC_print(p, pfx,hLOG) RF64PIC_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64PIC
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64MB biu (4,4)
/// ###
/// * RF64 macroblock-level information for ALU64 extensions; padded to 64b
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// ###
/// * [0:15] casted from MBPROP[0:15] in decHal_mbLvl.sxw.txt
/// ###
/// %unsigned 3 BANK
/// ###
/// * Bank[0] indicates whether current MB is even or odd in an MB pair.
/// ###
/// %unsigned 1 Inter
/// ###
/// * Intra (0) or inter (1) macroblock, for DQmatrix selection in dQuant only
/// ###
/// %unsigned 1 lastMbRow
/// ###
/// * Current MB row is the last in slice; for VC-1 FOP
/// ###
/// %unsigned 1 lastMbRowPic
/// ###
/// * Current MB row is the last in picture; for VC-1 FOP
/// ###
/// %unsigned 1 RSVD
/// ###
/// * reserved for bitfield alignment. Removed RF64MB.Mbaff.
/// ###
/// %unsigned 1 FLD
/// ###
/// * - if current MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborA
/// ###
/// * - if left MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborB
/// ###
/// * - if upper MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborC
/// ###
/// * - if upper-right MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 FLDNeighborD
/// ###
/// * - if upper-left MB is MBAFF field MB. Only valid when RF64PIC.MbaffPic = 1.
/// ###
/// %unsigned 1 NeighborA
/// ###
/// * From stream-parser to syntax-processor:
/// * - if left MB is available
/// * From vScope to PCube:
/// * - if left MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborB
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper MB is available
/// * From vScope to PCube:
/// * - if upper MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborC
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-right MB is available
/// * From vScope to PCube:
/// * - if upper-right MB is available as intra predictor
/// ###
/// %unsigned 1 NeighborD
/// ###
/// * From stream-parser to syntax-processor:
/// * - if upper-left MB is available
/// * From vScope to PCube:
/// * - if upper-left MB is available as intra predictor
/// ###
/// %unsigned 8 FopAddr2
/// ###
/// * VC-1: base addr 2 for FOP output, 16-byte based
/// ###
/// %unsigned 8 FopAddr3
/// ###
/// * VC-1: base addr 3 for FOP output, 16-byte based
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 FopAddr
/// ###
/// * H.264: FOP output addr
/// * VC-1: base addr 0 for FOP output, 16-byte based
/// ###
/// %unsigned 8 FopAddr1
/// ###
/// * VC-1: base addr 1 for FOP output, 16-byte based
/// ###
/// %unsigned 8 MbX
/// ###
/// * Current MB index in X direction;
/// * from 0 up to ((picW+15)>>4) -1
/// ###
/// %unsigned 8 MbY
/// ###
/// * Current MB index in Y direction;
/// * from 0 up to ((picH+15)>>4) -1
/// * End of RF64MB
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64MB
#define h_RF64MB (){}
#define BA_RF64MB_BANK 0x0000
#define B16RF64MB_BANK 0x0000
#define LSb32RF64MB_BANK 0
#define LSb16RF64MB_BANK 0
#define bRF64MB_BANK 3
#define MSK32RF64MB_BANK 0x00000007
#define BA_RF64MB_Inter 0x0000
#define B16RF64MB_Inter 0x0000
#define LSb32RF64MB_Inter 3
#define LSb16RF64MB_Inter 3
#define bRF64MB_Inter 1
#define MSK32RF64MB_Inter 0x00000008
#define BA_RF64MB_lastMbRow 0x0000
#define B16RF64MB_lastMbRow 0x0000
#define LSb32RF64MB_lastMbRow 4
#define LSb16RF64MB_lastMbRow 4
#define bRF64MB_lastMbRow 1
#define MSK32RF64MB_lastMbRow 0x00000010
#define BA_RF64MB_lastMbRowPic 0x0000
#define B16RF64MB_lastMbRowPic 0x0000
#define LSb32RF64MB_lastMbRowPic 5
#define LSb16RF64MB_lastMbRowPic 5
#define bRF64MB_lastMbRowPic 1
#define MSK32RF64MB_lastMbRowPic 0x00000020
#define BA_RF64MB_RSVD 0x0000
#define B16RF64MB_RSVD 0x0000
#define LSb32RF64MB_RSVD 6
#define LSb16RF64MB_RSVD 6
#define bRF64MB_RSVD 1
#define MSK32RF64MB_RSVD 0x00000040
#define BA_RF64MB_FLD 0x0000
#define B16RF64MB_FLD 0x0000
#define LSb32RF64MB_FLD 7
#define LSb16RF64MB_FLD 7
#define bRF64MB_FLD 1
#define MSK32RF64MB_FLD 0x00000080
#define BA_RF64MB_FLDNeighborA 0x0001
#define B16RF64MB_FLDNeighborA 0x0000
#define LSb32RF64MB_FLDNeighborA 8
#define LSb16RF64MB_FLDNeighborA 8
#define bRF64MB_FLDNeighborA 1
#define MSK32RF64MB_FLDNeighborA 0x00000100
#define BA_RF64MB_FLDNeighborB 0x0001
#define B16RF64MB_FLDNeighborB 0x0000
#define LSb32RF64MB_FLDNeighborB 9
#define LSb16RF64MB_FLDNeighborB 9
#define bRF64MB_FLDNeighborB 1
#define MSK32RF64MB_FLDNeighborB 0x00000200
#define BA_RF64MB_FLDNeighborC 0x0001
#define B16RF64MB_FLDNeighborC 0x0000
#define LSb32RF64MB_FLDNeighborC 10
#define LSb16RF64MB_FLDNeighborC 10
#define bRF64MB_FLDNeighborC 1
#define MSK32RF64MB_FLDNeighborC 0x00000400
#define BA_RF64MB_FLDNeighborD 0x0001
#define B16RF64MB_FLDNeighborD 0x0000
#define LSb32RF64MB_FLDNeighborD 11
#define LSb16RF64MB_FLDNeighborD 11
#define bRF64MB_FLDNeighborD 1
#define MSK32RF64MB_FLDNeighborD 0x00000800
#define BA_RF64MB_NeighborA 0x0001
#define B16RF64MB_NeighborA 0x0000
#define LSb32RF64MB_NeighborA 12
#define LSb16RF64MB_NeighborA 12
#define bRF64MB_NeighborA 1
#define MSK32RF64MB_NeighborA 0x00001000
#define BA_RF64MB_NeighborB 0x0001
#define B16RF64MB_NeighborB 0x0000
#define LSb32RF64MB_NeighborB 13
#define LSb16RF64MB_NeighborB 13
#define bRF64MB_NeighborB 1
#define MSK32RF64MB_NeighborB 0x00002000
#define BA_RF64MB_NeighborC 0x0001
#define B16RF64MB_NeighborC 0x0000
#define LSb32RF64MB_NeighborC 14
#define LSb16RF64MB_NeighborC 14
#define bRF64MB_NeighborC 1
#define MSK32RF64MB_NeighborC 0x00004000
#define BA_RF64MB_NeighborD 0x0001
#define B16RF64MB_NeighborD 0x0000
#define LSb32RF64MB_NeighborD 15
#define LSb16RF64MB_NeighborD 15
#define bRF64MB_NeighborD 1
#define MSK32RF64MB_NeighborD 0x00008000
#define BA_RF64MB_FopAddr2 0x0002
#define B16RF64MB_FopAddr2 0x0002
#define LSb32RF64MB_FopAddr2 16
#define LSb16RF64MB_FopAddr2 0
#define bRF64MB_FopAddr2 8
#define MSK32RF64MB_FopAddr2 0x00FF0000
#define BA_RF64MB_FopAddr3 0x0003
#define B16RF64MB_FopAddr3 0x0002
#define LSb32RF64MB_FopAddr3 24
#define LSb16RF64MB_FopAddr3 8
#define bRF64MB_FopAddr3 8
#define MSK32RF64MB_FopAddr3 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64MB_FopAddr 0x0004
#define B16RF64MB_FopAddr 0x0004
#define LSb32RF64MB_FopAddr 0
#define LSb16RF64MB_FopAddr 0
#define bRF64MB_FopAddr 8
#define MSK32RF64MB_FopAddr 0x000000FF
#define BA_RF64MB_FopAddr1 0x0005
#define B16RF64MB_FopAddr1 0x0004
#define LSb32RF64MB_FopAddr1 8
#define LSb16RF64MB_FopAddr1 8
#define bRF64MB_FopAddr1 8
#define MSK32RF64MB_FopAddr1 0x0000FF00
#define BA_RF64MB_MbX 0x0006
#define B16RF64MB_MbX 0x0006
#define LSb32RF64MB_MbX 16
#define LSb16RF64MB_MbX 0
#define bRF64MB_MbX 8
#define MSK32RF64MB_MbX 0x00FF0000
#define BA_RF64MB_MbY 0x0007
#define B16RF64MB_MbY 0x0006
#define LSb32RF64MB_MbY 24
#define LSb16RF64MB_MbY 8
#define bRF64MB_MbY 8
#define MSK32RF64MB_MbY 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_RF64MB {
///////////////////////////////////////////////////////////
#define GET32RF64MB_BANK(r32) _BFGET_(r32, 2, 0)
#define SET32RF64MB_BANK(r32,v) _BFSET_(r32, 2, 0,v)
#define GET16RF64MB_BANK(r16) _BFGET_(r16, 2, 0)
#define SET16RF64MB_BANK(r16,v) _BFSET_(r16, 2, 0,v)
#define GET32RF64MB_Inter(r32) _BFGET_(r32, 3, 3)
#define SET32RF64MB_Inter(r32,v) _BFSET_(r32, 3, 3,v)
#define GET16RF64MB_Inter(r16) _BFGET_(r16, 3, 3)
#define SET16RF64MB_Inter(r16,v) _BFSET_(r16, 3, 3,v)
#define GET32RF64MB_lastMbRow(r32) _BFGET_(r32, 4, 4)
#define SET32RF64MB_lastMbRow(r32,v) _BFSET_(r32, 4, 4,v)
#define GET16RF64MB_lastMbRow(r16) _BFGET_(r16, 4, 4)
#define SET16RF64MB_lastMbRow(r16,v) _BFSET_(r16, 4, 4,v)
#define GET32RF64MB_lastMbRowPic(r32) _BFGET_(r32, 5, 5)
#define SET32RF64MB_lastMbRowPic(r32,v) _BFSET_(r32, 5, 5,v)
#define GET16RF64MB_lastMbRowPic(r16) _BFGET_(r16, 5, 5)
#define SET16RF64MB_lastMbRowPic(r16,v) _BFSET_(r16, 5, 5,v)
#define GET32RF64MB_RSVD(r32) _BFGET_(r32, 6, 6)
#define SET32RF64MB_RSVD(r32,v) _BFSET_(r32, 6, 6,v)
#define GET16RF64MB_RSVD(r16) _BFGET_(r16, 6, 6)
#define SET16RF64MB_RSVD(r16,v) _BFSET_(r16, 6, 6,v)
#define GET32RF64MB_FLD(r32) _BFGET_(r32, 7, 7)
#define SET32RF64MB_FLD(r32,v) _BFSET_(r32, 7, 7,v)
#define GET16RF64MB_FLD(r16) _BFGET_(r16, 7, 7)
#define SET16RF64MB_FLD(r16,v) _BFSET_(r16, 7, 7,v)
#define GET32RF64MB_FLDNeighborA(r32) _BFGET_(r32, 8, 8)
#define SET32RF64MB_FLDNeighborA(r32,v) _BFSET_(r32, 8, 8,v)
#define GET16RF64MB_FLDNeighborA(r16) _BFGET_(r16, 8, 8)
#define SET16RF64MB_FLDNeighborA(r16,v) _BFSET_(r16, 8, 8,v)
#define GET32RF64MB_FLDNeighborB(r32) _BFGET_(r32, 9, 9)
#define SET32RF64MB_FLDNeighborB(r32,v) _BFSET_(r32, 9, 9,v)
#define GET16RF64MB_FLDNeighborB(r16) _BFGET_(r16, 9, 9)
#define SET16RF64MB_FLDNeighborB(r16,v) _BFSET_(r16, 9, 9,v)
#define GET32RF64MB_FLDNeighborC(r32) _BFGET_(r32,10,10)
#define SET32RF64MB_FLDNeighborC(r32,v) _BFSET_(r32,10,10,v)
#define GET16RF64MB_FLDNeighborC(r16) _BFGET_(r16,10,10)
#define SET16RF64MB_FLDNeighborC(r16,v) _BFSET_(r16,10,10,v)
#define GET32RF64MB_FLDNeighborD(r32) _BFGET_(r32,11,11)
#define SET32RF64MB_FLDNeighborD(r32,v) _BFSET_(r32,11,11,v)
#define GET16RF64MB_FLDNeighborD(r16) _BFGET_(r16,11,11)
#define SET16RF64MB_FLDNeighborD(r16,v) _BFSET_(r16,11,11,v)
#define GET32RF64MB_NeighborA(r32) _BFGET_(r32,12,12)
#define SET32RF64MB_NeighborA(r32,v) _BFSET_(r32,12,12,v)
#define GET16RF64MB_NeighborA(r16) _BFGET_(r16,12,12)
#define SET16RF64MB_NeighborA(r16,v) _BFSET_(r16,12,12,v)
#define GET32RF64MB_NeighborB(r32) _BFGET_(r32,13,13)
#define SET32RF64MB_NeighborB(r32,v) _BFSET_(r32,13,13,v)
#define GET16RF64MB_NeighborB(r16) _BFGET_(r16,13,13)
#define SET16RF64MB_NeighborB(r16,v) _BFSET_(r16,13,13,v)
#define GET32RF64MB_NeighborC(r32) _BFGET_(r32,14,14)
#define SET32RF64MB_NeighborC(r32,v) _BFSET_(r32,14,14,v)
#define GET16RF64MB_NeighborC(r16) _BFGET_(r16,14,14)
#define SET16RF64MB_NeighborC(r16,v) _BFSET_(r16,14,14,v)
#define GET32RF64MB_NeighborD(r32) _BFGET_(r32,15,15)
#define SET32RF64MB_NeighborD(r32,v) _BFSET_(r32,15,15,v)
#define GET16RF64MB_NeighborD(r16) _BFGET_(r16,15,15)
#define SET16RF64MB_NeighborD(r16,v) _BFSET_(r16,15,15,v)
#define GET32RF64MB_FopAddr2(r32) _BFGET_(r32,23,16)
#define SET32RF64MB_FopAddr2(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64MB_FopAddr2(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_FopAddr2(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_FopAddr3(r32) _BFGET_(r32,31,24)
#define SET32RF64MB_FopAddr3(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64MB_FopAddr3(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_FopAddr3(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_BANK : 3;
UNSG32 u_Inter : 1;
UNSG32 u_lastMbRow : 1;
UNSG32 u_lastMbRowPic : 1;
UNSG32 u_RSVD : 1;
UNSG32 u_FLD : 1;
UNSG32 u_FLDNeighborA : 1;
UNSG32 u_FLDNeighborB : 1;
UNSG32 u_FLDNeighborC : 1;
UNSG32 u_FLDNeighborD : 1;
UNSG32 u_NeighborA : 1;
UNSG32 u_NeighborB : 1;
UNSG32 u_NeighborC : 1;
UNSG32 u_NeighborD : 1;
UNSG32 u_FopAddr2 : 8;
UNSG32 u_FopAddr3 : 8;
///////////////////////////////////////////////////////////
#define GET32RF64MB_FopAddr(r32) _BFGET_(r32, 7, 0)
#define SET32RF64MB_FopAddr(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64MB_FopAddr(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_FopAddr(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_FopAddr1(r32) _BFGET_(r32,15, 8)
#define SET32RF64MB_FopAddr1(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64MB_FopAddr1(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_FopAddr1(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64MB_MbX(r32) _BFGET_(r32,23,16)
#define SET32RF64MB_MbX(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64MB_MbX(r16) _BFGET_(r16, 7, 0)
#define SET16RF64MB_MbX(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64MB_MbY(r32) _BFGET_(r32,31,24)
#define SET32RF64MB_MbY(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64MB_MbY(r16) _BFGET_(r16,15, 8)
#define SET16RF64MB_MbY(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_FopAddr : 8;
UNSG32 u_FopAddr1 : 8;
UNSG32 u_MbX : 8;
UNSG32 u_MbY : 8;
///////////////////////////////////////////////////////////
} SIE_RF64MB;
///////////////////////////////////////////////////////////
SIGN32 RF64MB_drvrd(SIE_RF64MB *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64MB_drvwr(SIE_RF64MB *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64MB_reset(SIE_RF64MB *p);
SIGN32 RF64MB_cmp (SIE_RF64MB *p, SIE_RF64MB *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64MB_check(p,pie,pfx,hLOG) RF64MB_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64MB_print(p, pfx,hLOG) RF64MB_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64MB
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE RF64QP biu (4,4)
/// ###
/// * QP for neighboring macroblocks; used by FOP only. Padded to 64b
/// * Same as {BLK,chroma,RSVD,QP,Qu,Qv} in MBPROP in decHal_mbLvl.sxw.txt
/// * Also added DC/ACstep_* for coefficient scaling for DC/AC prediction for MPEG-4/VC-1
/// * [0:31]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 8 DCstep_Y
/// ###
/// * VC-1: DCSTEP for coeff scaling in DC prediction (only 6 bits are used)
/// * MPEG-4: qstep luma coeff scaling in DC prediction
/// ###
/// %unsigned 8 ACstep_Y
/// ###
/// * VC-1: DCSTEP for coeff scaling in AC prediction (only 6 bits are used)
/// * MPEG-4: qstep luma coeff scaling in AC prediction
/// ###
/// %unsigned 8 DCstep_C
/// ###
/// * VC-1: not used
/// * MPEG-4: qstep chroma coeff scaling in DC prediction
/// ###
/// %unsigned 8 ACstep_C
/// ###
/// * VC-1: not used
/// * MPEG-4: qstep chroma coeff scaling in AC prediction
/// * [32:63]
/// ###
/// @ 0x00004 (P)
/// %unsigned 8 RSVD8
/// %unsigned 8 QPY
/// ###
/// * H.264: QP for Luma; 0~51 inclusive
/// * MPEG-4: QP_AC (used to determine if coeff scaling is required for AC prediction)
/// ###
/// %unsigned 8 QPU
/// ###
/// * H.264: QP fo Cb; 0~51 inclusive
/// ###
/// %unsigned 8 QPV
/// ###
/// * H.264: QP for Cr; 0~51 inclusive
/// * End of RF64QP
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_RF64QP
#define h_RF64QP (){}
#define BA_RF64QP_DCstep_Y 0x0000
#define B16RF64QP_DCstep_Y 0x0000
#define LSb32RF64QP_DCstep_Y 0
#define LSb16RF64QP_DCstep_Y 0
#define bRF64QP_DCstep_Y 8
#define MSK32RF64QP_DCstep_Y 0x000000FF
#define BA_RF64QP_ACstep_Y 0x0001
#define B16RF64QP_ACstep_Y 0x0000
#define LSb32RF64QP_ACstep_Y 8
#define LSb16RF64QP_ACstep_Y 8
#define bRF64QP_ACstep_Y 8
#define MSK32RF64QP_ACstep_Y 0x0000FF00
#define BA_RF64QP_DCstep_C 0x0002
#define B16RF64QP_DCstep_C 0x0002
#define LSb32RF64QP_DCstep_C 16
#define LSb16RF64QP_DCstep_C 0
#define bRF64QP_DCstep_C 8
#define MSK32RF64QP_DCstep_C 0x00FF0000
#define BA_RF64QP_ACstep_C 0x0003
#define B16RF64QP_ACstep_C 0x0002
#define LSb32RF64QP_ACstep_C 24
#define LSb16RF64QP_ACstep_C 8
#define bRF64QP_ACstep_C 8
#define MSK32RF64QP_ACstep_C 0xFF000000
///////////////////////////////////////////////////////////
#define BA_RF64QP_RSVD8 0x0004
#define B16RF64QP_RSVD8 0x0004
#define LSb32RF64QP_RSVD8 0
#define LSb16RF64QP_RSVD8 0
#define bRF64QP_RSVD8 8
#define MSK32RF64QP_RSVD8 0x000000FF
#define BA_RF64QP_QPY 0x0005
#define B16RF64QP_QPY 0x0004
#define LSb32RF64QP_QPY 8
#define LSb16RF64QP_QPY 8
#define bRF64QP_QPY 8
#define MSK32RF64QP_QPY 0x0000FF00
#define BA_RF64QP_QPU 0x0006
#define B16RF64QP_QPU 0x0006
#define LSb32RF64QP_QPU 16
#define LSb16RF64QP_QPU 0
#define bRF64QP_QPU 8
#define MSK32RF64QP_QPU 0x00FF0000
#define BA_RF64QP_QPV 0x0007
#define B16RF64QP_QPV 0x0006
#define LSb32RF64QP_QPV 24
#define LSb16RF64QP_QPV 8
#define bRF64QP_QPV 8
#define MSK32RF64QP_QPV 0xFF000000
///////////////////////////////////////////////////////////
typedef struct SIE_RF64QP {
///////////////////////////////////////////////////////////
#define GET32RF64QP_DCstep_Y(r32) _BFGET_(r32, 7, 0)
#define SET32RF64QP_DCstep_Y(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64QP_DCstep_Y(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_DCstep_Y(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_ACstep_Y(r32) _BFGET_(r32,15, 8)
#define SET32RF64QP_ACstep_Y(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64QP_ACstep_Y(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_ACstep_Y(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64QP_DCstep_C(r32) _BFGET_(r32,23,16)
#define SET32RF64QP_DCstep_C(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64QP_DCstep_C(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_DCstep_C(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_ACstep_C(r32) _BFGET_(r32,31,24)
#define SET32RF64QP_ACstep_C(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64QP_ACstep_C(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_ACstep_C(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_DCstep_Y : 8;
UNSG32 u_ACstep_Y : 8;
UNSG32 u_DCstep_C : 8;
UNSG32 u_ACstep_C : 8;
///////////////////////////////////////////////////////////
#define GET32RF64QP_RSVD8(r32) _BFGET_(r32, 7, 0)
#define SET32RF64QP_RSVD8(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16RF64QP_RSVD8(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_RSVD8(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_QPY(r32) _BFGET_(r32,15, 8)
#define SET32RF64QP_QPY(r32,v) _BFSET_(r32,15, 8,v)
#define GET16RF64QP_QPY(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_QPY(r16,v) _BFSET_(r16,15, 8,v)
#define GET32RF64QP_QPU(r32) _BFGET_(r32,23,16)
#define SET32RF64QP_QPU(r32,v) _BFSET_(r32,23,16,v)
#define GET16RF64QP_QPU(r16) _BFGET_(r16, 7, 0)
#define SET16RF64QP_QPU(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32RF64QP_QPV(r32) _BFGET_(r32,31,24)
#define SET32RF64QP_QPV(r32,v) _BFSET_(r32,31,24,v)
#define GET16RF64QP_QPV(r16) _BFGET_(r16,15, 8)
#define SET16RF64QP_QPV(r16,v) _BFSET_(r16,15, 8,v)
UNSG32 u_RSVD8 : 8;
UNSG32 u_QPY : 8;
UNSG32 u_QPU : 8;
UNSG32 u_QPV : 8;
///////////////////////////////////////////////////////////
} SIE_RF64QP;
///////////////////////////////////////////////////////////
SIGN32 RF64QP_drvrd(SIE_RF64QP *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 RF64QP_drvwr(SIE_RF64QP *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void RF64QP_reset(SIE_RF64QP *p);
SIGN32 RF64QP_cmp (SIE_RF64QP *p, SIE_RF64QP *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define RF64QP_check(p,pie,pfx,hLOG) RF64QP_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define RF64QP_print(p, pfx,hLOG) RF64QP_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: RF64QP
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE NLUTCTX biu (4,4)
/// ###
/// * RF64 context for nLut
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:2047]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [31]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End NLUTCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_NLUTCTX
#define h_NLUTCTX (){}
#define RA_NLUTCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_NLUTCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_NLUTCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_NLUTCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[31];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_NLUTCTX;
///////////////////////////////////////////////////////////
SIGN32 NLUTCTX_drvrd(SIE_NLUTCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 NLUTCTX_drvwr(SIE_NLUTCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void NLUTCTX_reset(SIE_NLUTCTX *p);
SIGN32 NLUTCTX_cmp (SIE_NLUTCTX *p, SIE_NLUTCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define NLUTCTX_check(p,pie,pfx,hLOG) NLUTCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define NLUTCTX_print(p, pfx,hLOG) NLUTCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: NLUTCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE BITOPCTX biu (4,4)
/// ###
/// * Operator format for BitOp extension
/// * [0:3583]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 RSVD
/// $LUT64b RSVD REG [56]
/// ###
/// * padding to 3583
/// * [3584:3711]
/// ###
/// @ 0x001C0 (P)
/// # 0x001C0 CTX
/// $BITOPRF64 CTX REG
/// ###
/// * Four BitOp commands, selected by extension ID
/// * End BitOpCtx
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_BITOPCTX
#define h_BITOPCTX (){}
#define RA_BITOPCTX_RSVD 0x0000
///////////////////////////////////////////////////////////
#define RA_BITOPCTX_CTX 0x01C0
///////////////////////////////////////////////////////////
typedef struct SIE_BITOPCTX {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[56];
///////////////////////////////////////////////////////////
SIE_BITOPRF64 ie_CTX;
///////////////////////////////////////////////////////////
} SIE_BITOPCTX;
///////////////////////////////////////////////////////////
SIGN32 BITOPCTX_drvrd(SIE_BITOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 BITOPCTX_drvwr(SIE_BITOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void BITOPCTX_reset(SIE_BITOPCTX *p);
SIGN32 BITOPCTX_cmp (SIE_BITOPCTX *p, SIE_BITOPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define BITOPCTX_check(p,pie,pfx,hLOG) BITOPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define BITOPCTX_print(p, pfx,hLOG) BITOPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: BITOPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE DQCTX biu (4,4)
/// ###
/// * RF64 context for dQuant
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:191]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 QPX
/// $RF64QP QPX REG
/// ###
/// * QP of current block
/// ###
/// @ 0x00010 (P)
/// # 0x00010 QPN
/// $RF64QP QPN REG
/// ###
/// * QP of neighboring block
/// * Used for VC-1/MPEG-4 DC/AC prediction
/// * [192:2047]
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD
/// $LUT64b RSVD REG [29]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End DQCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_DQCTX
#define h_DQCTX (){}
#define RA_DQCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_DQCTX_QPX 0x0008
///////////////////////////////////////////////////////////
#define RA_DQCTX_QPN 0x0010
///////////////////////////////////////////////////////////
#define RA_DQCTX_RSVD 0x0018
///////////////////////////////////////////////////////////
#define RA_DQCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_DQCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPN;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[29];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_DQCTX;
///////////////////////////////////////////////////////////
SIGN32 DQCTX_drvrd(SIE_DQCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 DQCTX_drvwr(SIE_DQCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void DQCTX_reset(SIE_DQCTX *p);
SIGN32 DQCTX_cmp (SIE_DQCTX *p, SIE_DQCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define DQCTX_check(p,pie,pfx,hLOG) DQCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define DQCTX_print(p, pfx,hLOG) DQCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: DQCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASPCTX biu (4,4)
/// ###
/// * RF64 context for ASP
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:255]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [3]
/// ###
/// * padding to 2048-bit boundary
/// ###
/// @ 0x00020 (P)
/// # 0x00020 D33
/// $HCTX4x4 D33 REG
/// ###
/// * Y(-1,-1)
/// ###
/// @ 0x00030 (P)
/// # 0x00030 B30
/// $HCTX4x4 B30 REG
/// ###
/// * Y(0,-1) or U(0,-1) or DCU(0,-1)
/// ###
/// @ 0x00040 (P)
/// # 0x00040 B31
/// $HCTX4x4 B31 REG
/// ###
/// * Y(1,-1) or V(0,-1) or DCV(0,-1)
/// ###
/// @ 0x00050 (P)
/// # 0x00050 B32
/// $HCTX4x4 B32 REG
/// ###
/// * Y(2,-1) or U(1,-1)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 B33
/// $HCTX4x4 B33 REG
/// ###
/// * Y(3,-1) or V(1,-1) or DCY(0,-1)
/// ###
/// @ 0x00070 (P)
/// # 0x00070 C30
/// $HCTX4x4 C30 REG
/// ###
/// * Y(4,-1)
/// ###
/// @ 0x00080 (P)
/// # 0x00080 A03
/// $HCTX4x4 A03 REG
/// ###
/// * Y(-1,0)
/// ###
/// @ 0x00090 (P)
/// # 0x00090 A12
/// $HCTX4x4 A12 REG
/// ###
/// * U(-1,0) & V(-1,0)
/// ###
/// @ 0x000A0 (P)
/// # 0x000A0 A13
/// $HCTX4x4 A13 REG
/// ###
/// * Y(-1,1)
/// ###
/// @ 0x000B0 (P)
/// # 0x000B0 A23
/// $HCTX4x4 A23 REG
/// ###
/// * Y(-1,2)
/// ###
/// @ 0x000C0 (P)
/// # 0x000C0 A30
/// $HCTX4x4 A30 REG
/// ###
/// * DCU(-1,0) & DCV(-1,0)
/// ###
/// @ 0x000D0 (P)
/// # 0x000D0 A31
/// $HCTX4x4 A31 REG
/// ###
/// * DCI(-1,0) & DCY(-1,0)
/// ###
/// @ 0x000E0 (P)
/// # 0x000E0 A32
/// $HCTX4x4 A32 REG
/// ###
/// * U(-1,1) & V(-1,1)
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 A33
/// $HCTX4x4 A33 REG
/// ###
/// * Y(-1,3)
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End ASPCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASPCTX
#define h_ASPCTX (){}
#define RA_ASPCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_ASPCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_ASPCTX_D33 0x0020
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B30 0x0030
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B31 0x0040
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B32 0x0050
///////////////////////////////////////////////////////////
#define RA_ASPCTX_B33 0x0060
///////////////////////////////////////////////////////////
#define RA_ASPCTX_C30 0x0070
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A03 0x0080
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A12 0x0090
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A13 0x00A0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A23 0x00B0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A30 0x00C0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A31 0x00D0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A32 0x00E0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_A33 0x00F0
///////////////////////////////////////////////////////////
#define RA_ASPCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_ASPCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[3];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_D33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_C30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A12;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A33;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_ASPCTX;
///////////////////////////////////////////////////////////
SIGN32 ASPCTX_drvrd(SIE_ASPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASPCTX_drvwr(SIE_ASPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASPCTX_reset(SIE_ASPCTX *p);
SIGN32 ASPCTX_cmp (SIE_ASPCTX *p, SIE_ASPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASPCTX_check(p,pie,pfx,hLOG) ASPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASPCTX_print(p, pfx,hLOG) ASPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE HCTX_ARR biu (4,4)
/// ###
/// * 16 * HCTX4x4 for ASP
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 CTX
/// $HCTX4x4 CTX REG [16]
/// ###
/// * HCTX4x4
/// * End HCTX_ARR
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 256B, bits: 2048b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_HCTX_ARR
#define h_HCTX_ARR (){}
#define RA_HCTX_ARR_CTX 0x0000
///////////////////////////////////////////////////////////
typedef struct SIE_HCTX_ARR {
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_CTX[16];
///////////////////////////////////////////////////////////
} SIE_HCTX_ARR;
///////////////////////////////////////////////////////////
SIGN32 HCTX_ARR_drvrd(SIE_HCTX_ARR *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 HCTX_ARR_drvwr(SIE_HCTX_ARR *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void HCTX_ARR_reset(SIE_HCTX_ARR *p);
SIGN32 HCTX_ARR_cmp (SIE_HCTX_ARR *p, SIE_HCTX_ARR *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define HCTX_ARR_check(p,pie,pfx,hLOG) HCTX_ARR_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define HCTX_ARR_print(p, pfx,hLOG) HCTX_ARR_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: HCTX_ARR
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASECTX biu (4,4)
/// ###
/// * RF64 context for ASE
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:255]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [3]
/// ###
/// * padding to 2048-bit boundary
/// ###
/// @ 0x00020 (P)
/// # 0x00020 D33
/// $HCTX4x4 D33 REG
/// ###
/// * Y(-1,-1)
/// ###
/// @ 0x00030 (P)
/// # 0x00030 B30
/// $HCTX4x4 B30 REG
/// ###
/// * Y(0,-1) or U(0,-1) or DCU(0,-1)
/// ###
/// @ 0x00040 (P)
/// # 0x00040 B31
/// $HCTX4x4 B31 REG
/// ###
/// * Y(1,-1) or V(0,-1) or DCV(0,-1)
/// ###
/// @ 0x00050 (P)
/// # 0x00050 B32
/// $HCTX4x4 B32 REG
/// ###
/// * Y(2,-1) or U(1,-1)
/// ###
/// @ 0x00060 (P)
/// # 0x00060 B33
/// $HCTX4x4 B33 REG
/// ###
/// * Y(3,-1) or V(1,-1) or DCY(0,-1)
/// ###
/// @ 0x00070 (P)
/// # 0x00070 C30
/// $HCTX4x4 C30 REG
/// ###
/// * Y(4,-1)
/// ###
/// @ 0x00080 (P)
/// # 0x00080 A03
/// $HCTX4x4 A03 REG
/// ###
/// * Y(-1,0)
/// ###
/// @ 0x00090 (P)
/// # 0x00090 A12
/// $HCTX4x4 A12 REG
/// ###
/// * U(-1,0) & V(-1,0)
/// ###
/// @ 0x000A0 (P)
/// # 0x000A0 A13
/// $HCTX4x4 A13 REG
/// ###
/// * Y(-1,1)
/// ###
/// @ 0x000B0 (P)
/// # 0x000B0 A23
/// $HCTX4x4 A23 REG
/// ###
/// * Y(-1,2)
/// ###
/// @ 0x000C0 (P)
/// # 0x000C0 A30
/// $HCTX4x4 A30 REG
/// ###
/// * DCU(-1,0) & DCV(-1,0)
/// ###
/// @ 0x000D0 (P)
/// # 0x000D0 A31
/// $HCTX4x4 A31 REG
/// ###
/// * DCI(-1,0) & DCY(-1,0)
/// ###
/// @ 0x000E0 (P)
/// # 0x000E0 A32
/// $HCTX4x4 A32 REG
/// ###
/// * U(-1,1) & V(-1,1)
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 A33
/// $HCTX4x4 A33 REG
/// ###
/// * Y(-1,3)
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End ASECTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASECTX
#define h_ASECTX (){}
#define RA_ASECTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_ASECTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_ASECTX_D33 0x0020
///////////////////////////////////////////////////////////
#define RA_ASECTX_B30 0x0030
///////////////////////////////////////////////////////////
#define RA_ASECTX_B31 0x0040
///////////////////////////////////////////////////////////
#define RA_ASECTX_B32 0x0050
///////////////////////////////////////////////////////////
#define RA_ASECTX_B33 0x0060
///////////////////////////////////////////////////////////
#define RA_ASECTX_C30 0x0070
///////////////////////////////////////////////////////////
#define RA_ASECTX_A03 0x0080
///////////////////////////////////////////////////////////
#define RA_ASECTX_A12 0x0090
///////////////////////////////////////////////////////////
#define RA_ASECTX_A13 0x00A0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A23 0x00B0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A30 0x00C0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A31 0x00D0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A32 0x00E0
///////////////////////////////////////////////////////////
#define RA_ASECTX_A33 0x00F0
///////////////////////////////////////////////////////////
#define RA_ASECTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_ASECTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[3];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_D33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_B33;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_C30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A12;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A30;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A31;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A32;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A33;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_ASECTX;
///////////////////////////////////////////////////////////
SIGN32 ASECTX_drvrd(SIE_ASECTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASECTX_drvwr(SIE_ASECTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASECTX_reset(SIE_ASECTX *p);
SIGN32 ASECTX_cmp (SIE_ASECTX *p, SIE_ASECTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASECTX_check(p,pie,pfx,hLOG) ASECTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASECTX_print(p, pfx,hLOG) ASECTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASECTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ASE_ND_CTX biu (4,4)
/// ###
/// * RF64 context for ASE (to store Neighbor D in MBAFF mode)
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 RSVD
/// $LUT64b RSVD REG
/// ###
/// * Reserved for RF64MB
/// * [64:191]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 A03m
/// $HCTX4x4 A03m REG
/// ###
/// * Neighbor D for when locating at A03 in MBAFF mode
/// * [192:255]
/// ###
/// @ 0x00018 (P)
/// # 0x00018 RSVD1
/// $LUT64b RSVD1 REG [32]
/// ###
/// * [2240:2367]
/// ###
/// @ 0x00118 (P)
/// # 0x00118 A13m
/// $HCTX4x4 A13m REG
/// ###
/// * Neighbor D for when locating at A13 in MBAFF mode
/// * [2368:2495]
/// ###
/// @ 0x00128 (P)
/// # 0x00128 A23m
/// $HCTX4x4 A23m REG
/// ###
/// * Neighbor D for when locating at A23 in MBAFF mode
/// * [2496:4097]
/// ###
/// @ 0x00138 (P)
/// # 0x00138 RSVD2
/// $LUT64b RSVD2 REG [25]
/// ###
/// * Padding to the end
/// * End ASE_ND_CTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ASE_ND_CTX
#define h_ASE_ND_CTX (){}
#define RA_ASE_ND_CTX_RSVD 0x0000
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A03m 0x0008
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_RSVD1 0x0018
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A13m 0x0118
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_A23m 0x0128
///////////////////////////////////////////////////////////
#define RA_ASE_ND_CTX_RSVD2 0x0138
///////////////////////////////////////////////////////////
typedef struct SIE_ASE_ND_CTX {
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A03m;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD1[32];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A13m;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_A23m;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD2[25];
///////////////////////////////////////////////////////////
} SIE_ASE_ND_CTX;
///////////////////////////////////////////////////////////
SIGN32 ASE_ND_CTX_drvrd(SIE_ASE_ND_CTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ASE_ND_CTX_drvwr(SIE_ASE_ND_CTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ASE_ND_CTX_reset(SIE_ASE_ND_CTX *p);
SIGN32 ASE_ND_CTX_cmp (SIE_ASE_ND_CTX *p, SIE_ASE_ND_CTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ASE_ND_CTX_check(p,pie,pfx,hLOG) ASE_ND_CTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ASE_ND_CTX_print(p, pfx,hLOG) ASE_ND_CTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ASE_ND_CTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE FOPCTX biu (4,4)
/// ###
/// * RF64 context for FOP
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 QPX0
/// $RF64QP QPX0 REG
/// ###
/// * QP of current MB
/// ###
/// @ 0x00010 (P)
/// # 0x00010 QPX1
/// $RF64QP QPX1 REG
/// ###
/// * QP of current MB
/// ###
/// @ 0x00018 (P)
/// # 0x00018 QPA0
/// $RF64QP QPA0 REG
/// ###
/// * QP of even MB of left MB pair
/// ###
/// @ 0x00020 (P)
/// # 0x00020 QPA1
/// $RF64QP QPA1 REG
/// ###
/// * QP of odd MB of left MB pair
/// ###
/// @ 0x00028 (P)
/// # 0x00028 QPB0
/// $RF64QP QPB0 REG
/// ###
/// * QP of even MB of top MB pair
/// ###
/// @ 0x00030 (P)
/// # 0x00030 QPB1
/// $RF64QP QPB1 REG
/// ###
/// * QP of odd MB of top MB pair
/// * [448:831]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $HCTX4x4 BlkX REG
/// ###
/// * Context for current block
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkA
/// $HCTX4x4 BlkA REG
/// ###
/// * Context for left neighbor
/// ###
/// @ 0x00058 (P)
/// # 0x00058 BlkB
/// $HCTX4x4 BlkB REG
/// ###
/// * Context for top block
/// ###
/// @ 0x00068 (P)
/// # 0x00068 BlkC
/// $HCTX4x4 BlkC REG
/// ###
/// * Block context used in VC-1 main profile P exception 2.
/// * [960:2047]
/// ###
/// @ 0x00078 (P)
/// # 0x00078 RSVD
/// $LUT64b RSVD REG [17]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End RF64CTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_FOPCTX
#define h_FOPCTX (){}
#define RA_FOPCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPX0 0x0008
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPX1 0x0010
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPA0 0x0018
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPA1 0x0020
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPB0 0x0028
///////////////////////////////////////////////////////////
#define RA_FOPCTX_QPB1 0x0030
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkA 0x0048
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkB 0x0058
///////////////////////////////////////////////////////////
#define RA_FOPCTX_BlkC 0x0068
///////////////////////////////////////////////////////////
#define RA_FOPCTX_RSVD 0x0078
///////////////////////////////////////////////////////////
#define RA_FOPCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_FOPCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPX1;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPA0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPA1;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPB0;
///////////////////////////////////////////////////////////
SIE_RF64QP ie_QPB1;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkX;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkA;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkB;
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkC;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[17];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_FOPCTX;
///////////////////////////////////////////////////////////
SIGN32 FOPCTX_drvrd(SIE_FOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 FOPCTX_drvwr(SIE_FOPCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void FOPCTX_reset(SIE_FOPCTX *p);
SIGN32 FOPCTX_cmp (SIE_FOPCTX *p, SIE_FOPCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define FOPCTX_check(p,pie,pfx,hLOG) FOPCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define FOPCTX_print(p, pfx,hLOG) FOPCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: FOPCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE pmvScale biu (4,4)
/// ###
/// * Scaling factors for PMV calculation (for AVS)
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 scaleA
/// ###
/// * Scaling factor for MVs of block A
/// ###
/// @ 0x00004 (P)
/// %unsigned 32 scaleB
/// ###
/// * Scaling factor for MVs of block B
/// * [64:127]
/// ###
/// @ 0x00008 (P)
/// %unsigned 32 scaleC
/// ###
/// * Scaling factor for MVs of block C
/// ###
/// @ 0x0000C (P)
/// %unsigned 32 scaleD
/// ###
/// * Scaling factor for MVs of block D
/// * End pmvScale
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 16B, bits: 128b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_pmvScale
#define h_pmvScale (){}
#define BA_pmvScale_scaleA 0x0000
#define B16pmvScale_scaleA 0x0000
#define LSb32pmvScale_scaleA 0
#define LSb16pmvScale_scaleA 0
#define bpmvScale_scaleA 32
#define MSK32pmvScale_scaleA 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleB 0x0004
#define B16pmvScale_scaleB 0x0004
#define LSb32pmvScale_scaleB 0
#define LSb16pmvScale_scaleB 0
#define bpmvScale_scaleB 32
#define MSK32pmvScale_scaleB 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleC 0x0008
#define B16pmvScale_scaleC 0x0008
#define LSb32pmvScale_scaleC 0
#define LSb16pmvScale_scaleC 0
#define bpmvScale_scaleC 32
#define MSK32pmvScale_scaleC 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define BA_pmvScale_scaleD 0x000C
#define B16pmvScale_scaleD 0x000C
#define LSb32pmvScale_scaleD 0
#define LSb16pmvScale_scaleD 0
#define bpmvScale_scaleD 32
#define MSK32pmvScale_scaleD 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_pmvScale {
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleA(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleA(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleA : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleB(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleB(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleB : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleC(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleC(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleC : 32;
///////////////////////////////////////////////////////////
#define GET32pmvScale_scaleD(r32) _BFGET_(r32,31, 0)
#define SET32pmvScale_scaleD(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_scaleD : 32;
///////////////////////////////////////////////////////////
} SIE_pmvScale;
///////////////////////////////////////////////////////////
SIGN32 pmvScale_drvrd(SIE_pmvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 pmvScale_drvwr(SIE_pmvScale *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void pmvScale_reset(SIE_pmvScale *p);
SIGN32 pmvScale_cmp (SIE_pmvScale *p, SIE_pmvScale *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define pmvScale_check(p,pie,pfx,hLOG) pmvScale_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define pmvScale_print(p, pfx,hLOG) pmvScale_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: pmvScale
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE PMVCTX biu (4,4)
/// ###
/// * RF64 context for PMV
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:1087]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $FCTX BlkX REG
/// ###
/// * Context for current block
/// ###
/// @ 0x00040 (P)
/// # 0x00040 ChromaMV
/// $MV ChromaMV REG
/// ###
/// * MPEG-4 chroma MV
/// ###
/// @ 0x00044 (P)
/// %unsigned 32 RSVDX
/// ###
/// * padding to 128-bit
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkA
/// $FCTX BlkA REG
/// ###
/// * Context for left neighbor
/// ###
/// @ 0x00050 (P)
/// # 0x00050 BlkD
/// $FCTX BlkD REG
/// ###
/// * Context for upper-left neighbor
/// ###
/// @ 0x00058 (P)
/// # 0x00058 BlkB
/// $FCTX BlkB REG
/// ###
/// * Context for top neighbor
/// ###
/// @ 0x00060 (P)
/// # 0x00060 BlkC
/// $FCTX BlkC REG
/// ###
/// * Context for upper-right neighbor
/// ###
/// @ 0x00068 (P)
/// # 0x00068 BlkA1
/// $FCTX BlkA1 REG
/// ###
/// * Context for 2nd left neighbor, interlace frame
/// ###
/// @ 0x00070 (P)
/// # 0x00070 BlkD1
/// $FCTX BlkD1 REG
/// ###
/// * Context for 2nd upper-left neighbor, interlace frame
/// ###
/// @ 0x00078 (P)
/// # 0x00078 BlkB1
/// $FCTX BlkB1 REG
/// ###
/// * Context for 2nd top neighbor, interlace frame
/// ###
/// @ 0x00080 (P)
/// # 0x00080 BlkC1
/// $FCTX BlkC1 REG
/// ###
/// * Context for 2nd up-right neighbor, interlace frame only
/// * [1088:1727]
/// ###
/// @ 0x00088 (P)
/// %unsigned 32 pmvScale_0i
/// %unsigned 32 pmvScale_1i
/// %unsigned 32 pmvScale_2i
/// %unsigned 32 pmvScale_3i
/// %unsigned 32 pmvScale_4i
/// %unsigned 32 pmvScale_5i
/// %unsigned 32 pmvScale_6i
/// %unsigned 32 pmvScale_7i
/// %unsigned 32 pmvScale_8i
/// %unsigned 32 pmvScale_9i
/// %unsigned 32 pmvScale_10i
/// %unsigned 32 pmvScale_11i
/// %unsigned 32 pmvScale_12i
/// %unsigned 32 pmvScale_13i
/// %unsigned 32 pmvScale_14i
/// %unsigned 32 pmvScale_15i
/// %unsigned 32 pmvScale_16i
/// %unsigned 32 pmvScale_17i
/// %unsigned 32 pmvScale_18i
/// %unsigned 32 pmvScale_19i
/// ###
/// * Scale candidates for PMV.
/// * [1727:2047]
/// ###
/// @ 0x000D8 (P)
/// # 0x000D8 RSVD
/// $LUT64b RSVD REG [5]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End PMVCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_PMVCTX
#define h_PMVCTX (){}
#define RA_PMVCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_PMVCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_PMVCTX_ChromaMV 0x0040
///////////////////////////////////////////////////////////
#define BA_PMVCTX_RSVDX 0x0044
#define B16PMVCTX_RSVDX 0x0044
#define LSb32PMVCTX_RSVDX 0
#define LSb16PMVCTX_RSVDX 0
#define bPMVCTX_RSVDX 32
#define MSK32PMVCTX_RSVDX 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkA 0x0048
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkD 0x0050
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkB 0x0058
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkC 0x0060
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkA1 0x0068
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkD1 0x0070
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkB1 0x0078
///////////////////////////////////////////////////////////
#define RA_PMVCTX_BlkC1 0x0080
///////////////////////////////////////////////////////////
#define BA_PMVCTX_pmvScale_0i 0x0088
#define B16PMVCTX_pmvScale_0i 0x0088
#define LSb32PMVCTX_pmvScale_0i 0
#define LSb16PMVCTX_pmvScale_0i 0
#define bPMVCTX_pmvScale_0i 32
#define MSK32PMVCTX_pmvScale_0i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_1i 0x008C
#define B16PMVCTX_pmvScale_1i 0x008C
#define LSb32PMVCTX_pmvScale_1i 0
#define LSb16PMVCTX_pmvScale_1i 0
#define bPMVCTX_pmvScale_1i 32
#define MSK32PMVCTX_pmvScale_1i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_2i 0x0090
#define B16PMVCTX_pmvScale_2i 0x0090
#define LSb32PMVCTX_pmvScale_2i 0
#define LSb16PMVCTX_pmvScale_2i 0
#define bPMVCTX_pmvScale_2i 32
#define MSK32PMVCTX_pmvScale_2i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_3i 0x0094
#define B16PMVCTX_pmvScale_3i 0x0094
#define LSb32PMVCTX_pmvScale_3i 0
#define LSb16PMVCTX_pmvScale_3i 0
#define bPMVCTX_pmvScale_3i 32
#define MSK32PMVCTX_pmvScale_3i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_4i 0x0098
#define B16PMVCTX_pmvScale_4i 0x0098
#define LSb32PMVCTX_pmvScale_4i 0
#define LSb16PMVCTX_pmvScale_4i 0
#define bPMVCTX_pmvScale_4i 32
#define MSK32PMVCTX_pmvScale_4i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_5i 0x009C
#define B16PMVCTX_pmvScale_5i 0x009C
#define LSb32PMVCTX_pmvScale_5i 0
#define LSb16PMVCTX_pmvScale_5i 0
#define bPMVCTX_pmvScale_5i 32
#define MSK32PMVCTX_pmvScale_5i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_6i 0x00A0
#define B16PMVCTX_pmvScale_6i 0x00A0
#define LSb32PMVCTX_pmvScale_6i 0
#define LSb16PMVCTX_pmvScale_6i 0
#define bPMVCTX_pmvScale_6i 32
#define MSK32PMVCTX_pmvScale_6i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_7i 0x00A4
#define B16PMVCTX_pmvScale_7i 0x00A4
#define LSb32PMVCTX_pmvScale_7i 0
#define LSb16PMVCTX_pmvScale_7i 0
#define bPMVCTX_pmvScale_7i 32
#define MSK32PMVCTX_pmvScale_7i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_8i 0x00A8
#define B16PMVCTX_pmvScale_8i 0x00A8
#define LSb32PMVCTX_pmvScale_8i 0
#define LSb16PMVCTX_pmvScale_8i 0
#define bPMVCTX_pmvScale_8i 32
#define MSK32PMVCTX_pmvScale_8i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_9i 0x00AC
#define B16PMVCTX_pmvScale_9i 0x00AC
#define LSb32PMVCTX_pmvScale_9i 0
#define LSb16PMVCTX_pmvScale_9i 0
#define bPMVCTX_pmvScale_9i 32
#define MSK32PMVCTX_pmvScale_9i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_10i 0x00B0
#define B16PMVCTX_pmvScale_10i 0x00B0
#define LSb32PMVCTX_pmvScale_10i 0
#define LSb16PMVCTX_pmvScale_10i 0
#define bPMVCTX_pmvScale_10i 32
#define MSK32PMVCTX_pmvScale_10i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_11i 0x00B4
#define B16PMVCTX_pmvScale_11i 0x00B4
#define LSb32PMVCTX_pmvScale_11i 0
#define LSb16PMVCTX_pmvScale_11i 0
#define bPMVCTX_pmvScale_11i 32
#define MSK32PMVCTX_pmvScale_11i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_12i 0x00B8
#define B16PMVCTX_pmvScale_12i 0x00B8
#define LSb32PMVCTX_pmvScale_12i 0
#define LSb16PMVCTX_pmvScale_12i 0
#define bPMVCTX_pmvScale_12i 32
#define MSK32PMVCTX_pmvScale_12i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_13i 0x00BC
#define B16PMVCTX_pmvScale_13i 0x00BC
#define LSb32PMVCTX_pmvScale_13i 0
#define LSb16PMVCTX_pmvScale_13i 0
#define bPMVCTX_pmvScale_13i 32
#define MSK32PMVCTX_pmvScale_13i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_14i 0x00C0
#define B16PMVCTX_pmvScale_14i 0x00C0
#define LSb32PMVCTX_pmvScale_14i 0
#define LSb16PMVCTX_pmvScale_14i 0
#define bPMVCTX_pmvScale_14i 32
#define MSK32PMVCTX_pmvScale_14i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_15i 0x00C4
#define B16PMVCTX_pmvScale_15i 0x00C4
#define LSb32PMVCTX_pmvScale_15i 0
#define LSb16PMVCTX_pmvScale_15i 0
#define bPMVCTX_pmvScale_15i 32
#define MSK32PMVCTX_pmvScale_15i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_16i 0x00C8
#define B16PMVCTX_pmvScale_16i 0x00C8
#define LSb32PMVCTX_pmvScale_16i 0
#define LSb16PMVCTX_pmvScale_16i 0
#define bPMVCTX_pmvScale_16i 32
#define MSK32PMVCTX_pmvScale_16i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_17i 0x00CC
#define B16PMVCTX_pmvScale_17i 0x00CC
#define LSb32PMVCTX_pmvScale_17i 0
#define LSb16PMVCTX_pmvScale_17i 0
#define bPMVCTX_pmvScale_17i 32
#define MSK32PMVCTX_pmvScale_17i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_18i 0x00D0
#define B16PMVCTX_pmvScale_18i 0x00D0
#define LSb32PMVCTX_pmvScale_18i 0
#define LSb16PMVCTX_pmvScale_18i 0
#define bPMVCTX_pmvScale_18i 32
#define MSK32PMVCTX_pmvScale_18i 0xFFFFFFFF
#define BA_PMVCTX_pmvScale_19i 0x00D4
#define B16PMVCTX_pmvScale_19i 0x00D4
#define LSb32PMVCTX_pmvScale_19i 0
#define LSb16PMVCTX_pmvScale_19i 0
#define bPMVCTX_pmvScale_19i 32
#define MSK32PMVCTX_pmvScale_19i 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_PMVCTX_RSVD 0x00D8
///////////////////////////////////////////////////////////
#define RA_PMVCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_PMVCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkX;
///////////////////////////////////////////////////////////
SIE_MV ie_ChromaMV;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_RSVDX(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_RSVDX(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_RSVDX : 32;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkA;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkD;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkB;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkC;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkA1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkD1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkB1;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkC1;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_0i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_0i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_1i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_1i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_2i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_2i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_2i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_3i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_3i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_3i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_4i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_4i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_4i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_5i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_5i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_5i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_6i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_6i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_6i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_7i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_7i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_7i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_8i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_8i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_8i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_9i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_9i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_9i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_10i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_10i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_10i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_11i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_11i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_11i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_12i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_12i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_12i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_13i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_13i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_13i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_14i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_14i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_14i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_15i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_15i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_15i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_16i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_16i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_16i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_17i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_17i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_17i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_18i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_18i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_18i : 32;
///////////////////////////////////////////////////////////
#define GET32PMVCTX_pmvScale_19i(r32) _BFGET_(r32,31, 0)
#define SET32PMVCTX_pmvScale_19i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_pmvScale_19i : 32;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[5];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_PMVCTX;
///////////////////////////////////////////////////////////
SIGN32 PMVCTX_drvrd(SIE_PMVCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 PMVCTX_drvwr(SIE_PMVCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void PMVCTX_reset(SIE_PMVCTX *p);
SIGN32 PMVCTX_cmp (SIE_PMVCTX *p, SIE_PMVCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define PMVCTX_check(p,pie,pfx,hLOG) PMVCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define PMVCTX_print(p, pfx,hLOG) PMVCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: PMVCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dirMvCTX biu (4,4)
/// ###
/// * RF64 context for direct mode MV calculation
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Reserved for RF64MB
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:575]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 BlkX
/// $HCTX4x4 BlkX REG
/// ###
/// * Context of the current block; 128-bit.
/// * [576:639]
/// ###
/// @ 0x00048 (P)
/// # 0x00048 BlkCol
/// $FCTX BlkCol REG
/// ###
/// * Context of co-located block; 64-bit.
/// * [640:703]
/// ###
/// @ 0x00050 (P)
/// # 0x00050 mvScale
/// $dirMvScale mvScale REG
/// ###
/// * MV scaling factor for temporal direct mode; 64 bits
/// * [704:1919]
/// ###
/// @ 0x00058 (P)
/// # 0x00058 RSVD
/// $LUT64b RSVD REG [19]
/// ###
/// * padding to 2048-bit boundary
/// * [1920:2047]
/// ###
/// @ 0x000F0 (P)
/// # 0x000F0 MbPMV
/// $HCTX4x4 MbPMV REG
/// ###
/// * Macroblock PMV, for spatial direct mode only
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End dirMvCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dirMvCTX
#define h_dirMvCTX (){}
#define RA_dirMvCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_BlkX 0x0038
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_BlkCol 0x0048
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_mvScale 0x0050
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_RSVD 0x0058
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_MbPMV 0x00F0
///////////////////////////////////////////////////////////
#define RA_dirMvCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_dirMvCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_BlkX;
///////////////////////////////////////////////////////////
SIE_FCTX ie_BlkCol;
///////////////////////////////////////////////////////////
SIE_dirMvScale ie_mvScale;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[19];
///////////////////////////////////////////////////////////
SIE_HCTX4x4 ie_MbPMV;
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_dirMvCTX;
///////////////////////////////////////////////////////////
SIGN32 dirMvCTX_drvrd(SIE_dirMvCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dirMvCTX_drvwr(SIE_dirMvCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dirMvCTX_reset(SIE_dirMvCTX *p);
SIGN32 dirMvCTX_cmp (SIE_dirMvCTX *p, SIE_dirMvCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dirMvCTX_check(p,pie,pfx,hLOG) dirMvCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dirMvCTX_print(p, pfx,hLOG) dirMvCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dirMvCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vcMsgCTX biu (4,4)
/// ###
/// * RF64 context for the vcMsg extension
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * 64b macroblock-level parameter
/// * [64:447]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD0
/// $LUT64b RSVD0 REG [6]
/// ###
/// * padding to align block-level context
/// * [448:511]
/// ###
/// @ 0x00038 (P)
/// # 0x00038 blkX
/// $FCTX blkX REG
/// ###
/// * Motion information context of current partition
/// * [512:2047]
/// ###
/// @ 0x00040 (P)
/// # 0x00040 RSVD
/// $LUT64b RSVD REG [24]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End vcMsgCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vcMsgCTX
#define h_vcMsgCTX (){}
#define RA_vcMsgCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_RSVD0 0x0008
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_blkX 0x0038
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_RSVD 0x0040
///////////////////////////////////////////////////////////
#define RA_vcMsgCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_vcMsgCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD0[6];
///////////////////////////////////////////////////////////
SIE_FCTX ie_blkX;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[24];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_vcMsgCTX;
///////////////////////////////////////////////////////////
SIGN32 vcMsgCTX_drvrd(SIE_vcMsgCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vcMsgCTX_drvwr(SIE_vcMsgCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vcMsgCTX_reset(SIE_vcMsgCTX *p);
SIGN32 vcMsgCTX_cmp (SIE_vcMsgCTX *p, SIE_vcMsgCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vcMsgCTX_check(p,pie,pfx,hLOG) vcMsgCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vcMsgCTX_print(p, pfx,hLOG) vcMsgCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vcMsgCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vldCTX biu (4,4)
/// ###
/// * RF64 context for vld
/// * [0:63]
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 MB
/// $RF64MB MB REG
/// ###
/// * Macroblock-level information; reprogrammed by FIGO at the start of every macroblock
/// * [64:2047]
/// ###
/// @ 0x00008 (P)
/// # 0x00008 RSVD
/// $LUT64b RSVD REG [31]
/// ###
/// * padding to 2048-bit boundary
/// * [2048:4095]
/// ###
/// @ 0x00100 (P)
/// # 0x00100 PIC
/// $RF64PIC PIC REG
/// ###
/// * Picture-level Parameters for ALU64 extensions.
/// * End vldCTX
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 512B, bits: 4096b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vldCTX
#define h_vldCTX (){}
#define RA_vldCTX_MB 0x0000
///////////////////////////////////////////////////////////
#define RA_vldCTX_RSVD 0x0008
///////////////////////////////////////////////////////////
#define RA_vldCTX_PIC 0x0100
///////////////////////////////////////////////////////////
typedef struct SIE_vldCTX {
///////////////////////////////////////////////////////////
SIE_RF64MB ie_MB;
///////////////////////////////////////////////////////////
SIE_LUT64b ie_RSVD[31];
///////////////////////////////////////////////////////////
SIE_RF64PIC ie_PIC;
///////////////////////////////////////////////////////////
} SIE_vldCTX;
///////////////////////////////////////////////////////////
SIGN32 vldCTX_drvrd(SIE_vldCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vldCTX_drvwr(SIE_vldCTX *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vldCTX_reset(SIE_vldCTX *p);
SIGN32 vldCTX_cmp (SIE_vldCTX *p, SIE_vldCTX *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vldCTX_check(p,pie,pfx,hLOG) vldCTX_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vldCTX_print(p, pfx,hLOG) vldCTX_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vldCTX
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE ClkRstBiu biu (4,4)
/// ###
/// * Common Biu Unit used for block level reset and clock gating control
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 CRCtl (P)
/// ###
/// * Clock Reset Control Register
/// ###
/// %unsigned 1 rst 0x1
/// ###
/// * Software reset. The reset signal is active low.
/// * 0 -> the block will be under reset.
/// * 1-> the block will be out of reset.
/// ###
/// %unsigned 1 swClk_en 0x1
/// ###
/// * Software controlled clock enable.
/// * 0 -> The corresponding block will be disabled (gated)
/// * 1 -> The corresponding clock will be enabled (ungated)
/// ###
/// %unsigned 1 dyCG_en 0x1
/// ###
/// * This is used to control (enalbe/disable) the HW self dynamic clock gating unit.
/// * 0 -> the dynamic clock gating will be disabled (the clock can not be turned off by dynamic clock gating unit).
/// * 1 -> the dynamic clock gating will be enabled (the clock can be dynamically turned on/off by the dynamic clock control unit).
/// * Here is the glue logic to generate the block level clock enable signal.
/// * ClkEn = swClk_en & (~dyCG_en | dyClk_en).
/// * swClk_en and dyCG_en are from this biu, and dyClk_en is the signal generated by the dynamic clock control unit.
/// * End of ClkRstBiu
/// ###
/// %% 29 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 3b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_ClkRstBiu
#define h_ClkRstBiu (){}
#define RA_ClkRstBiu_CRCtl 0x0000
#define BA_ClkRstBiu_CRCtl_rst 0x0000
#define B16ClkRstBiu_CRCtl_rst 0x0000
#define LSb32ClkRstBiu_CRCtl_rst 0
#define LSb16ClkRstBiu_CRCtl_rst 0
#define bClkRstBiu_CRCtl_rst 1
#define MSK32ClkRstBiu_CRCtl_rst 0x00000001
#define BA_ClkRstBiu_CRCtl_swClk_en 0x0000
#define B16ClkRstBiu_CRCtl_swClk_en 0x0000
#define LSb32ClkRstBiu_CRCtl_swClk_en 1
#define LSb16ClkRstBiu_CRCtl_swClk_en 1
#define bClkRstBiu_CRCtl_swClk_en 1
#define MSK32ClkRstBiu_CRCtl_swClk_en 0x00000002
#define BA_ClkRstBiu_CRCtl_dyCG_en 0x0000
#define B16ClkRstBiu_CRCtl_dyCG_en 0x0000
#define LSb32ClkRstBiu_CRCtl_dyCG_en 2
#define LSb16ClkRstBiu_CRCtl_dyCG_en 2
#define bClkRstBiu_CRCtl_dyCG_en 1
#define MSK32ClkRstBiu_CRCtl_dyCG_en 0x00000004
///////////////////////////////////////////////////////////
typedef struct SIE_ClkRstBiu {
///////////////////////////////////////////////////////////
#define GET32ClkRstBiu_CRCtl_rst(r32) _BFGET_(r32, 0, 0)
#define SET32ClkRstBiu_CRCtl_rst(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16ClkRstBiu_CRCtl_rst(r16) _BFGET_(r16, 0, 0)
#define SET16ClkRstBiu_CRCtl_rst(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32ClkRstBiu_CRCtl_swClk_en(r32) _BFGET_(r32, 1, 1)
#define SET32ClkRstBiu_CRCtl_swClk_en(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16ClkRstBiu_CRCtl_swClk_en(r16) _BFGET_(r16, 1, 1)
#define SET16ClkRstBiu_CRCtl_swClk_en(r16,v) _BFSET_(r16, 1, 1,v)
#define GET32ClkRstBiu_CRCtl_dyCG_en(r32) _BFGET_(r32, 2, 2)
#define SET32ClkRstBiu_CRCtl_dyCG_en(r32,v) _BFSET_(r32, 2, 2,v)
#define GET16ClkRstBiu_CRCtl_dyCG_en(r16) _BFGET_(r16, 2, 2)
#define SET16ClkRstBiu_CRCtl_dyCG_en(r16,v) _BFSET_(r16, 2, 2,v)
#define w32ClkRstBiu_CRCtl {\
UNSG32 uCRCtl_rst : 1;\
UNSG32 uCRCtl_swClk_en : 1;\
UNSG32 uCRCtl_dyCG_en : 1;\
UNSG32 RSVDx0_b3 : 29;\
}
union { UNSG32 u32ClkRstBiu_CRCtl;
struct w32ClkRstBiu_CRCtl;
};
///////////////////////////////////////////////////////////
} SIE_ClkRstBiu;
typedef union T32ClkRstBiu_CRCtl
{ UNSG32 u32;
struct w32ClkRstBiu_CRCtl;
} T32ClkRstBiu_CRCtl;
///////////////////////////////////////////////////////////
typedef union TClkRstBiu_CRCtl
{ UNSG32 u32[1];
struct {
struct w32ClkRstBiu_CRCtl;
};
} TClkRstBiu_CRCtl;
///////////////////////////////////////////////////////////
SIGN32 ClkRstBiu_drvrd(SIE_ClkRstBiu *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 ClkRstBiu_drvwr(SIE_ClkRstBiu *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void ClkRstBiu_reset(SIE_ClkRstBiu *p);
SIGN32 ClkRstBiu_cmp (SIE_ClkRstBiu *p, SIE_ClkRstBiu *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define ClkRstBiu_check(p,pie,pfx,hLOG) ClkRstBiu_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define ClkRstBiu_print(p, pfx,hLOG) ClkRstBiu_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: ClkRstBiu
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vProDHub (4,4)
/// ###
/// * dHub channel ID assignment and channel size configurations
/// ###
/// # # ----------------------------------------------------------
/// : ChannelNum 0xC
/// ###
/// * Bank[0], 4KByte
/// ###
/// : ID_CPU_RD 0x0
/// : SIZE_CPU_RD_CMD 0x20
/// : SIZE_CPU_RD_DAT 0x80
/// ###
/// * CPU read channel; doubles as M2H copy channel
/// ###
/// : ID_CPU_WR 0x1
/// : SIZE_CPU_WR_CMD 0x20
/// : SIZE_CPU_WR_DAT 0x200
/// ###
/// * CPU write channel; doubles as H2M copy channel
/// ###
/// : ID_BIU_CFG 0x2
/// : SIZE_BIU_CFG_CMD 0x100
/// : SIZE_BIU_CFG_DAT 0x80
/// ###
/// * vPro BIU config channel
/// ###
/// : ID_VFMT_WR 0x3
/// : SIZE_VFMT_WR_CMD 0x40
/// : SIZE_VFMT_WR_DAT 0x400
/// ###
/// * vFMT write channel
/// ###
/// : ID_DS_RD 0x4
/// : SIZE_DS_RD_CMD 0x20
/// : SIZE_DS_RD_DAT 0x100
/// ###
/// * Data Streamer read channel
/// ###
/// : ID_DS_WR 0x5
/// : SIZE_DS_WR_CMD 0x20
/// : SIZE_DS_WR_DAT 0x100
/// ###
/// * Data Streamer write channel
/// ###
/// : ID_P3ALT_RD 0x6
/// : SIZE_P3ALT_RD_CMD 0x10
/// : SIZE_P3ALT_RD_DAT 0x80
/// ###
/// * PCube VC-1 deblocking context in; double as debugging input
/// ###
/// : ID_P3ALT_WR 0x7
/// : SIZE_P3ALT_WR_CMD 0x10
/// : SIZE_P3ALT_WR_DAT 0x80
/// ###
/// * PCube VC-1 deblocking context out; doubles as debugging out
/// ###
/// : ID_VLDX_RD 0x8
/// : SIZE_VLDX_RD_CMD 0x80
/// : SIZE_VLDX_RD_DAT 0x100
/// ###
/// * vldX read channel
/// ###
/// : ID_VLD0_RD 0x9
/// : SIZE_VLD0_RD_CMD 0x80
/// : SIZE_VLD0_RD_DAT 0x100
/// ###
/// * Vld0 read channel
/// ###
/// : ID_VLC_WR 0xA
/// : SIZE_VLC_WR_CMD 0x20
/// : SIZE_VLC_WR_DAT 0x100
/// ###
/// * VLC write channel 0
/// ###
/// : ID_VLC1_WR 0xB
/// : SIZE_VLC1_WR_CMD 0x20
/// : SIZE_VLC1_WR_DAT 0x100
/// ###
/// * VLC write channel 1
/// * Bank[1],4KByte (32Kbit)
/// ###
/// : ID_VC_RD 0xC
/// : SIZE_VC_RD_CMD 0x100
/// : SIZE_VC_RD_DAT 0xF00
/// ###
/// * vCache reference read channel
/// ###
/// @ 0x00000 Dummy (P)
/// %unsigned 1 xxx 0x0
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vProDHub
#define h_vProDHub (){}
#define vProDHub_ChannelNum 0xC
#define vProDHub_ID_CPU_RD 0x0
#define vProDHub_SIZE_CPU_RD_CMD 0x20
#define vProDHub_SIZE_CPU_RD_DAT 0x80
#define vProDHub_ID_CPU_WR 0x1
#define vProDHub_SIZE_CPU_WR_CMD 0x20
#define vProDHub_SIZE_CPU_WR_DAT 0x200
#define vProDHub_ID_BIU_CFG 0x2
#define vProDHub_SIZE_BIU_CFG_CMD 0x100
#define vProDHub_SIZE_BIU_CFG_DAT 0x80
#define vProDHub_ID_VFMT_WR 0x3
#define vProDHub_SIZE_VFMT_WR_CMD 0x40
#define vProDHub_SIZE_VFMT_WR_DAT 0x400
#define vProDHub_ID_DS_RD 0x4
#define vProDHub_SIZE_DS_RD_CMD 0x20
#define vProDHub_SIZE_DS_RD_DAT 0x100
#define vProDHub_ID_DS_WR 0x5
#define vProDHub_SIZE_DS_WR_CMD 0x20
#define vProDHub_SIZE_DS_WR_DAT 0x100
#define vProDHub_ID_P3ALT_RD 0x6
#define vProDHub_SIZE_P3ALT_RD_CMD 0x10
#define vProDHub_SIZE_P3ALT_RD_DAT 0x80
#define vProDHub_ID_P3ALT_WR 0x7
#define vProDHub_SIZE_P3ALT_WR_CMD 0x10
#define vProDHub_SIZE_P3ALT_WR_DAT 0x80
#define vProDHub_ID_VLDX_RD 0x8
#define vProDHub_SIZE_VLDX_RD_CMD 0x80
#define vProDHub_SIZE_VLDX_RD_DAT 0x100
#define vProDHub_ID_VLD0_RD 0x9
#define vProDHub_SIZE_VLD0_RD_CMD 0x80
#define vProDHub_SIZE_VLD0_RD_DAT 0x100
#define vProDHub_ID_VLC_WR 0xA
#define vProDHub_SIZE_VLC_WR_CMD 0x20
#define vProDHub_SIZE_VLC_WR_DAT 0x100
#define vProDHub_ID_VLC1_WR 0xB
#define vProDHub_SIZE_VLC1_WR_CMD 0x20
#define vProDHub_SIZE_VLC1_WR_DAT 0x100
#define vProDHub_ID_VC_RD 0xC
#define vProDHub_SIZE_VC_RD_CMD 0x100
#define vProDHub_SIZE_VC_RD_DAT 0xF00
///////////////////////////////////////////////////////////
#define RA_vProDHub_Dummy 0x0000
#define BA_vProDHub_Dummy_xxx 0x0000
#define B16vProDHub_Dummy_xxx 0x0000
#define LSb32vProDHub_Dummy_xxx 0
#define LSb16vProDHub_Dummy_xxx 0
#define bvProDHub_Dummy_xxx 1
#define MSK32vProDHub_Dummy_xxx 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_vProDHub {
///////////////////////////////////////////////////////////
#define GET32vProDHub_Dummy_xxx(r32) _BFGET_(r32, 0, 0)
#define SET32vProDHub_Dummy_xxx(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProDHub_Dummy_xxx(r16) _BFGET_(r16, 0, 0)
#define SET16vProDHub_Dummy_xxx(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProDHub_Dummy {\
UNSG32 uDummy_xxx : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32vProDHub_Dummy;
struct w32vProDHub_Dummy;
};
///////////////////////////////////////////////////////////
} SIE_vProDHub;
typedef union T32vProDHub_Dummy
{ UNSG32 u32;
struct w32vProDHub_Dummy;
} T32vProDHub_Dummy;
///////////////////////////////////////////////////////////
typedef union TvProDHub_Dummy
{ UNSG32 u32[1];
struct {
struct w32vProDHub_Dummy;
};
} TvProDHub_Dummy;
///////////////////////////////////////////////////////////
SIGN32 vProDHub_drvrd(SIE_vProDHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vProDHub_drvwr(SIE_vProDHub *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vProDHub_reset(SIE_vProDHub *p);
SIGN32 vProDHub_cmp (SIE_vProDHub *p, SIE_vProDHub *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vProDHub_check(p,pie,pfx,hLOG) vProDHub_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vProDHub_print(p, pfx,hLOG) vProDHub_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vProDHub
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE dtcmEntry (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// %unsigned 32 word_0i
/// %unsigned 32 word_1i
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_dtcmEntry
#define h_dtcmEntry (){}
#define BA_dtcmEntry_word_0i 0x0000
#define B16dtcmEntry_word_0i 0x0000
#define LSb32dtcmEntry_word_0i 0
#define LSb16dtcmEntry_word_0i 0
#define bdtcmEntry_word_0i 32
#define MSK32dtcmEntry_word_0i 0xFFFFFFFF
#define BA_dtcmEntry_word_1i 0x0004
#define B16dtcmEntry_word_1i 0x0004
#define LSb32dtcmEntry_word_1i 0
#define LSb16dtcmEntry_word_1i 0
#define bdtcmEntry_word_1i 32
#define MSK32dtcmEntry_word_1i 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_dtcmEntry {
///////////////////////////////////////////////////////////
#define GET32dtcmEntry_word_0i(r32) _BFGET_(r32,31, 0)
#define SET32dtcmEntry_word_0i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word_0i : 32;
///////////////////////////////////////////////////////////
#define GET32dtcmEntry_word_1i(r32) _BFGET_(r32,31, 0)
#define SET32dtcmEntry_word_1i(r32,v) _BFSET_(r32,31, 0,v)
UNSG32 u_word_1i : 32;
///////////////////////////////////////////////////////////
} SIE_dtcmEntry;
///////////////////////////////////////////////////////////
SIGN32 dtcmEntry_drvrd(SIE_dtcmEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 dtcmEntry_drvwr(SIE_dtcmEntry *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void dtcmEntry_reset(SIE_dtcmEntry *p);
SIGN32 dtcmEntry_cmp (SIE_dtcmEntry *p, SIE_dtcmEntry *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define dtcmEntry_check(p,pie,pfx,hLOG) dtcmEntry_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define dtcmEntry_print(p, pfx,hLOG) dtcmEntry_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: dtcmEntry
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE busAdrWin (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 adrH (P)
/// %unsigned 32 val 0xFFFFFFFF
/// @ 0x00004 adrL (P)
/// %unsigned 32 val 0x0
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 8B, bits: 64b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_busAdrWin
#define h_busAdrWin (){}
#define RA_busAdrWin_adrH 0x0000
#define BA_busAdrWin_adrH_val 0x0000
#define B16busAdrWin_adrH_val 0x0000
#define LSb32busAdrWin_adrH_val 0
#define LSb16busAdrWin_adrH_val 0
#define bbusAdrWin_adrH_val 32
#define MSK32busAdrWin_adrH_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_busAdrWin_adrL 0x0004
#define BA_busAdrWin_adrL_val 0x0004
#define B16busAdrWin_adrL_val 0x0004
#define LSb32busAdrWin_adrL_val 0
#define LSb16busAdrWin_adrL_val 0
#define bbusAdrWin_adrL_val 32
#define MSK32busAdrWin_adrL_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_busAdrWin {
///////////////////////////////////////////////////////////
#define GET32busAdrWin_adrH_val(r32) _BFGET_(r32,31, 0)
#define SET32busAdrWin_adrH_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32busAdrWin_adrH {\
UNSG32 uadrH_val : 32;\
}
union { UNSG32 u32busAdrWin_adrH;
struct w32busAdrWin_adrH;
};
///////////////////////////////////////////////////////////
#define GET32busAdrWin_adrL_val(r32) _BFGET_(r32,31, 0)
#define SET32busAdrWin_adrL_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32busAdrWin_adrL {\
UNSG32 uadrL_val : 32;\
}
union { UNSG32 u32busAdrWin_adrL;
struct w32busAdrWin_adrL;
};
///////////////////////////////////////////////////////////
} SIE_busAdrWin;
typedef union T32busAdrWin_adrH
{ UNSG32 u32;
struct w32busAdrWin_adrH;
} T32busAdrWin_adrH;
typedef union T32busAdrWin_adrL
{ UNSG32 u32;
struct w32busAdrWin_adrL;
} T32busAdrWin_adrL;
///////////////////////////////////////////////////////////
typedef union TbusAdrWin_adrH
{ UNSG32 u32[1];
struct {
struct w32busAdrWin_adrH;
};
} TbusAdrWin_adrH;
typedef union TbusAdrWin_adrL
{ UNSG32 u32[1];
struct {
struct w32busAdrWin_adrL;
};
} TbusAdrWin_adrL;
///////////////////////////////////////////////////////////
SIGN32 busAdrWin_drvrd(SIE_busAdrWin *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 busAdrWin_drvwr(SIE_busAdrWin *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void busAdrWin_reset(SIE_busAdrWin *p);
SIGN32 busAdrWin_cmp (SIE_busAdrWin *p, SIE_busAdrWin *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define busAdrWin_check(p,pie,pfx,hLOG) busAdrWin_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define busAdrWin_print(p, pfx,hLOG) busAdrWin_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: busAdrWin
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE axiBusCtrl biu (4,4)
/// # # ----------------------------------------------------------
/// @ 0x00000 (P)
/// # 0x00000 busWinArr
/// $busAdrWin busWinArr REG [8]
/// @ 0x00040 trash (P)
/// %unsigned 32 adr
/// ###
/// * If the bus (AXI) write does not fall into any range specified by the 8 set of busAdrWin, it will redirect to the trash.adr in DRAM. The trash buffer size should be at least 128Byte to cover the one AXI bus burst.
/// * SW need to configure the 8 set of bus address window and the trash address properly to avoid vMeta write any address in DRAM which is not belong to vMeta data buffer.
/// ###
/// @ 0x00044 busErr (RW-)
/// %unsigned 32 adr 0xFFFFFFFF
/// ###
/// * Used to record the Error address when bus wirte address is not falling into any specified window.
/// ###
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 72B, bits: 576b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_axiBusCtrl
#define h_axiBusCtrl (){}
#define RA_axiBusCtrl_busWinArr 0x0000
///////////////////////////////////////////////////////////
#define RA_axiBusCtrl_trash 0x0040
#define BA_axiBusCtrl_trash_adr 0x0040
#define B16axiBusCtrl_trash_adr 0x0040
#define LSb32axiBusCtrl_trash_adr 0
#define LSb16axiBusCtrl_trash_adr 0
#define baxiBusCtrl_trash_adr 32
#define MSK32axiBusCtrl_trash_adr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_axiBusCtrl_busErr 0x0044
#define BA_axiBusCtrl_busErr_adr 0x0044
#define B16axiBusCtrl_busErr_adr 0x0044
#define LSb32axiBusCtrl_busErr_adr 0
#define LSb16axiBusCtrl_busErr_adr 0
#define baxiBusCtrl_busErr_adr 32
#define MSK32axiBusCtrl_busErr_adr 0xFFFFFFFF
///////////////////////////////////////////////////////////
typedef struct SIE_axiBusCtrl {
///////////////////////////////////////////////////////////
SIE_busAdrWin ie_busWinArr[8];
///////////////////////////////////////////////////////////
#define GET32axiBusCtrl_trash_adr(r32) _BFGET_(r32,31, 0)
#define SET32axiBusCtrl_trash_adr(r32,v) _BFSET_(r32,31, 0,v)
#define w32axiBusCtrl_trash {\
UNSG32 utrash_adr : 32;\
}
union { UNSG32 u32axiBusCtrl_trash;
struct w32axiBusCtrl_trash;
};
///////////////////////////////////////////////////////////
#define GET32axiBusCtrl_busErr_adr(r32) _BFGET_(r32,31, 0)
#define SET32axiBusCtrl_busErr_adr(r32,v) _BFSET_(r32,31, 0,v)
#define w32axiBusCtrl_busErr {\
UNSG32 ubusErr_adr : 32;\
}
union { UNSG32 u32axiBusCtrl_busErr;
struct w32axiBusCtrl_busErr;
};
///////////////////////////////////////////////////////////
} SIE_axiBusCtrl;
typedef union T32axiBusCtrl_trash
{ UNSG32 u32;
struct w32axiBusCtrl_trash;
} T32axiBusCtrl_trash;
typedef union T32axiBusCtrl_busErr
{ UNSG32 u32;
struct w32axiBusCtrl_busErr;
} T32axiBusCtrl_busErr;
///////////////////////////////////////////////////////////
typedef union TaxiBusCtrl_trash
{ UNSG32 u32[1];
struct {
struct w32axiBusCtrl_trash;
};
} TaxiBusCtrl_trash;
typedef union TaxiBusCtrl_busErr
{ UNSG32 u32[1];
struct {
struct w32axiBusCtrl_busErr;
};
} TaxiBusCtrl_busErr;
///////////////////////////////////////////////////////////
SIGN32 axiBusCtrl_drvrd(SIE_axiBusCtrl *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 axiBusCtrl_drvwr(SIE_axiBusCtrl *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void axiBusCtrl_reset(SIE_axiBusCtrl *p);
SIGN32 axiBusCtrl_cmp (SIE_axiBusCtrl *p, SIE_axiBusCtrl *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define axiBusCtrl_check(p,pie,pfx,hLOG) axiBusCtrl_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define axiBusCtrl_print(p, pfx,hLOG) axiBusCtrl_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: axiBusCtrl
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vProMisc biu (4,4)
/// ###
/// * vPro top-level BIU, providing accesses to vPro HBO and other misc configurations such as software resets
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 TCM (P)
/// # 0x00000 dtcm
/// $dtcmEntry dtcm MEM [12544]
/// ###
/// * vProHbo DTCM, occupying 256KB address space; physical size is ~100KB
/// ###
/// @ 0x20000 (W-)
/// # # Stuffing bytes...
/// %% 1048576
/// @ 0x40000 HMEM (P)
/// # 0x40000 hmem
/// $dtcmEntry hmem MEM [1536]
/// ###
/// * vProHub DTCM, occupying 16KB address space; physical size is 8KB
/// * vPro top-level module BIUs
/// ###
/// @ 0x44000 HBO (P)
/// # 0x44000 hbo
/// $HBO hbo REG
/// @ 0x44700 DHUB (P)
/// # 0x44700 dhub
/// $dHubReg2D dhub REG
/// ###
/// * Misc register definitions
/// ###
/// @ 0x45700 P3Dbg (P)
/// %unsigned 1 En 0x0
/// ###
/// * 0 : DMA channel 0 and 1 are hooked up together for memory copy.
/// * 1: Dma channel 0 and 1 are hooked up with p3 debug read and write channel.
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x45704 vProM2m (P)
/// %unsigned 1 En 0x0
/// ###
/// * 0: use dHub channels 1 & 2 for CPU read / write
/// * 1: use dHub channels 1 & 2 for m2m copy
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x45708 vProCfgChn (P)
/// %unsigned 1 En 0x1
/// ###
/// * 0: Disable dHub channel 3 for BIU write.
/// * 1: use dHub channel 3 for BIU write. (config channel)
/// ###
/// %% 31 # Stuffing bits...
/// @ 0x4570C vProAxiRaMin (P)
/// %unsigned 32 addr 0x0
/// @ 0x45710 vProAxiRaMax (P)
/// %unsigned 32 addr 0x0
/// @ 0x45714 vProAxiWaMin (P)
/// %unsigned 32 addr 0x0
/// @ 0x45718 vProAxiWaMax (P)
/// %unsigned 32 addr 0x0
/// @ 0x4571C vProVFC (P)
/// # 0x4571C VFC
/// $vProVFC VFC REG
/// @ 0x45740 CRCHUB (P)
/// # 0x45740 crcHub
/// $crcHub crcHub REG
/// @ 0x45940 AXIBUSCTRL (P)
/// # 0x45940 axiBusCtrl
/// $axiBusCtrl axiBusCtrl REG
/// @ 0x45988 (W-)
/// # # Stuffing bytes...
/// %% 865216
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 393216B, bits: 9915b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vProMisc
#define h_vProMisc (){}
#define RA_vProMisc_TCM 0x0000
#define RA_vProMisc_dtcm 0x0000
///////////////////////////////////////////////////////////
#define RA_vProMisc_HMEM 0x40000
#define RA_vProMisc_hmem 0x40000
///////////////////////////////////////////////////////////
#define RA_vProMisc_HBO 0x44000
#define RA_vProMisc_hbo 0x44000
///////////////////////////////////////////////////////////
#define RA_vProMisc_DHUB 0x44700
#define RA_vProMisc_dhub 0x44700
///////////////////////////////////////////////////////////
#define RA_vProMisc_P3Dbg 0x45700
#define BA_vProMisc_P3Dbg_En 0x45700
#define B16vProMisc_P3Dbg_En 0x45700
#define LSb32vProMisc_P3Dbg_En 0
#define LSb16vProMisc_P3Dbg_En 0
#define bvProMisc_P3Dbg_En 1
#define MSK32vProMisc_P3Dbg_En 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProM2m 0x45704
#define BA_vProMisc_vProM2m_En 0x45704
#define B16vProMisc_vProM2m_En 0x45704
#define LSb32vProMisc_vProM2m_En 0
#define LSb16vProMisc_vProM2m_En 0
#define bvProMisc_vProM2m_En 1
#define MSK32vProMisc_vProM2m_En 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProCfgChn 0x45708
#define BA_vProMisc_vProCfgChn_En 0x45708
#define B16vProMisc_vProCfgChn_En 0x45708
#define LSb32vProMisc_vProCfgChn_En 0
#define LSb16vProMisc_vProCfgChn_En 0
#define bvProMisc_vProCfgChn_En 1
#define MSK32vProMisc_vProCfgChn_En 0x00000001
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProAxiRaMin 0x4570C
#define BA_vProMisc_vProAxiRaMin_addr 0x4570C
#define B16vProMisc_vProAxiRaMin_addr 0x4570C
#define LSb32vProMisc_vProAxiRaMin_addr 0
#define LSb16vProMisc_vProAxiRaMin_addr 0
#define bvProMisc_vProAxiRaMin_addr 32
#define MSK32vProMisc_vProAxiRaMin_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProAxiRaMax 0x45710
#define BA_vProMisc_vProAxiRaMax_addr 0x45710
#define B16vProMisc_vProAxiRaMax_addr 0x45710
#define LSb32vProMisc_vProAxiRaMax_addr 0
#define LSb16vProMisc_vProAxiRaMax_addr 0
#define bvProMisc_vProAxiRaMax_addr 32
#define MSK32vProMisc_vProAxiRaMax_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProAxiWaMin 0x45714
#define BA_vProMisc_vProAxiWaMin_addr 0x45714
#define B16vProMisc_vProAxiWaMin_addr 0x45714
#define LSb32vProMisc_vProAxiWaMin_addr 0
#define LSb16vProMisc_vProAxiWaMin_addr 0
#define bvProMisc_vProAxiWaMin_addr 32
#define MSK32vProMisc_vProAxiWaMin_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProAxiWaMax 0x45718
#define BA_vProMisc_vProAxiWaMax_addr 0x45718
#define B16vProMisc_vProAxiWaMax_addr 0x45718
#define LSb32vProMisc_vProAxiWaMax_addr 0
#define LSb16vProMisc_vProAxiWaMax_addr 0
#define bvProMisc_vProAxiWaMax_addr 32
#define MSK32vProMisc_vProAxiWaMax_addr 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProMisc_vProVFC 0x4571C
#define RA_vProMisc_VFC 0x4571C
///////////////////////////////////////////////////////////
#define RA_vProMisc_CRCHUB 0x45740
#define RA_vProMisc_crcHub 0x45740
///////////////////////////////////////////////////////////
#define RA_vProMisc_AXIBUSCTRL 0x45940
#define RA_vProMisc_axiBusCtrl 0x45940
///////////////////////////////////////////////////////////
typedef struct SIE_vProMisc {
///////////////////////////////////////////////////////////
SIE_dtcmEntry ie_dtcm[12544];
UNSG8 RSVD_dtcm [30720];
///////////////////////////////////////////////////////////
UNSG8 RSVDx20000 [131072];
///////////////////////////////////////////////////////////
SIE_dtcmEntry ie_hmem[1536];
UNSG8 RSVD_hmem [4096];
///////////////////////////////////////////////////////////
SIE_HBO ie_hbo;
///////////////////////////////////////////////////////////
SIE_dHubReg2D ie_dhub;
///////////////////////////////////////////////////////////
#define GET32vProMisc_P3Dbg_En(r32) _BFGET_(r32, 0, 0)
#define SET32vProMisc_P3Dbg_En(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProMisc_P3Dbg_En(r16) _BFGET_(r16, 0, 0)
#define SET16vProMisc_P3Dbg_En(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProMisc_P3Dbg {\
UNSG32 uP3Dbg_En : 1;\
UNSG32 RSVDx45700_b1 : 31;\
}
union { UNSG32 u32vProMisc_P3Dbg;
struct w32vProMisc_P3Dbg;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProM2m_En(r32) _BFGET_(r32, 0, 0)
#define SET32vProMisc_vProM2m_En(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProMisc_vProM2m_En(r16) _BFGET_(r16, 0, 0)
#define SET16vProMisc_vProM2m_En(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProMisc_vProM2m {\
UNSG32 uvProM2m_En : 1;\
UNSG32 RSVDx45704_b1 : 31;\
}
union { UNSG32 u32vProMisc_vProM2m;
struct w32vProMisc_vProM2m;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProCfgChn_En(r32) _BFGET_(r32, 0, 0)
#define SET32vProMisc_vProCfgChn_En(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProMisc_vProCfgChn_En(r16) _BFGET_(r16, 0, 0)
#define SET16vProMisc_vProCfgChn_En(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProMisc_vProCfgChn {\
UNSG32 uvProCfgChn_En : 1;\
UNSG32 RSVDx45708_b1 : 31;\
}
union { UNSG32 u32vProMisc_vProCfgChn;
struct w32vProMisc_vProCfgChn;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProAxiRaMin_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProMisc_vProAxiRaMin_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProMisc_vProAxiRaMin {\
UNSG32 uvProAxiRaMin_addr : 32;\
}
union { UNSG32 u32vProMisc_vProAxiRaMin;
struct w32vProMisc_vProAxiRaMin;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProAxiRaMax_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProMisc_vProAxiRaMax_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProMisc_vProAxiRaMax {\
UNSG32 uvProAxiRaMax_addr : 32;\
}
union { UNSG32 u32vProMisc_vProAxiRaMax;
struct w32vProMisc_vProAxiRaMax;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProAxiWaMin_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProMisc_vProAxiWaMin_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProMisc_vProAxiWaMin {\
UNSG32 uvProAxiWaMin_addr : 32;\
}
union { UNSG32 u32vProMisc_vProAxiWaMin;
struct w32vProMisc_vProAxiWaMin;
};
///////////////////////////////////////////////////////////
#define GET32vProMisc_vProAxiWaMax_addr(r32) _BFGET_(r32,31, 0)
#define SET32vProMisc_vProAxiWaMax_addr(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProMisc_vProAxiWaMax {\
UNSG32 uvProAxiWaMax_addr : 32;\
}
union { UNSG32 u32vProMisc_vProAxiWaMax;
struct w32vProMisc_vProAxiWaMax;
};
///////////////////////////////////////////////////////////
SIE_vProVFC ie_VFC;
///////////////////////////////////////////////////////////
SIE_crcHub ie_crcHub;
///////////////////////////////////////////////////////////
SIE_axiBusCtrl ie_axiBusCtrl;
///////////////////////////////////////////////////////////
UNSG8 RSVDx45988 [108152];
///////////////////////////////////////////////////////////
} SIE_vProMisc;
typedef union T32vProMisc_P3Dbg
{ UNSG32 u32;
struct w32vProMisc_P3Dbg;
} T32vProMisc_P3Dbg;
typedef union T32vProMisc_vProM2m
{ UNSG32 u32;
struct w32vProMisc_vProM2m;
} T32vProMisc_vProM2m;
typedef union T32vProMisc_vProCfgChn
{ UNSG32 u32;
struct w32vProMisc_vProCfgChn;
} T32vProMisc_vProCfgChn;
typedef union T32vProMisc_vProAxiRaMin
{ UNSG32 u32;
struct w32vProMisc_vProAxiRaMin;
} T32vProMisc_vProAxiRaMin;
typedef union T32vProMisc_vProAxiRaMax
{ UNSG32 u32;
struct w32vProMisc_vProAxiRaMax;
} T32vProMisc_vProAxiRaMax;
typedef union T32vProMisc_vProAxiWaMin
{ UNSG32 u32;
struct w32vProMisc_vProAxiWaMin;
} T32vProMisc_vProAxiWaMin;
typedef union T32vProMisc_vProAxiWaMax
{ UNSG32 u32;
struct w32vProMisc_vProAxiWaMax;
} T32vProMisc_vProAxiWaMax;
///////////////////////////////////////////////////////////
typedef union TvProMisc_P3Dbg
{ UNSG32 u32[1];
struct {
struct w32vProMisc_P3Dbg;
};
} TvProMisc_P3Dbg;
typedef union TvProMisc_vProM2m
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProM2m;
};
} TvProMisc_vProM2m;
typedef union TvProMisc_vProCfgChn
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProCfgChn;
};
} TvProMisc_vProCfgChn;
typedef union TvProMisc_vProAxiRaMin
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProAxiRaMin;
};
} TvProMisc_vProAxiRaMin;
typedef union TvProMisc_vProAxiRaMax
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProAxiRaMax;
};
} TvProMisc_vProAxiRaMax;
typedef union TvProMisc_vProAxiWaMin
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProAxiWaMin;
};
} TvProMisc_vProAxiWaMin;
typedef union TvProMisc_vProAxiWaMax
{ UNSG32 u32[1];
struct {
struct w32vProMisc_vProAxiWaMax;
};
} TvProMisc_vProAxiWaMax;
///////////////////////////////////////////////////////////
SIGN32 vProMisc_drvrd(SIE_vProMisc *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vProMisc_drvwr(SIE_vProMisc *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vProMisc_reset(SIE_vProMisc *p);
SIGN32 vProMisc_cmp (SIE_vProMisc *p, SIE_vProMisc *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vProMisc_check(p,pie,pfx,hLOG) vProMisc_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vProMisc_print(p, pfx,hLOG) vProMisc_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vProMisc
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vProRst biu (4,4)
/// ###
/// * vPro control BIU, providing all block level and vPro subsystem software reset, gated clock control, and also provides vPro version number.
/// * For all reset control bit, 0-- reset, 1-- release. After chip power on reset, all these registers are 0 which means the vPro subsystem is in reset state and should be kicked-off by CPU.
/// ###
/// # # ----------------------------------------------------------
/// @ 0x00000 Version (R-)
/// %unsigned 8 build 0x0
/// %unsigned 8 rsvd 0x0
/// %unsigned 8 minor 0x5
/// %unsigned 8 major 0x2
/// @ 0x00004 vPro (RW-)
/// %unsigned 1 rstn 0x0
/// ###
/// * Write 0 to reset the whole vPro; write 1 to release
/// ###
/// %unsigned 1 clk_en 0x0
/// ###
/// * Write 0 to disable vPro clock source.
/// ###
/// %% 30 # Stuffing bits...
/// @ 0x00008 (P)
/// # 0x00008 vproBiu
/// $ClkRstBiu vproBiu REG
/// @ 0x0000C (P)
/// # 0x0000C vproMisc
/// $ClkRstBiu vproMisc REG
/// @ 0x00010 clkCntL (RW-)
/// %unsigned 32 val
/// @ 0x00014 clkCntH (RW-)
/// %unsigned 32 val
/// ###
/// * cklCntL and clkCntH together forms a 64-bit free run counter to count the sysClk. Here is the operation mode.
/// * 1. CPU read clkCntL: CPU will get the lower 32-bit of the counter, and the higher 32-bit will be updated to clkCntH.
/// * 2. CPU read clkCntH: CPU will get the higher 32-bit of the counter previously latched by operation #1.
/// * 3. CPU write cklCntL: will set the internal 64-bit counter with register value of {clkCntH, clkCntL}.
/// * 4. CPU write clkCntH: only clkClkCnt will be updated, and the internal 64-bit counter will not be touched.
/// ###
/// @ 0x00018 busEn (RW-)
/// %unsigned 32 val
/// : start 0x5650524F
/// : stop 0x53544F50
/// ###
/// * Write “VPRO” to enable bus, and write “STOP” to disable bus.
/// * When bus is disabled, CPU can not access any internal biu except the vProRst biu.
/// * When bus is enabled, CPU can access any vMeta biu.
/// ###
/// @ 0x0001C busErr (RW-)
/// %unsigned 32 val 0xFFFFFFFF
/// ###
/// * The bus access information will be recorded if the following two conditions are true.
/// * 1. bus is disabled.
/// * 2. bus is trying to access vMeta internal biu (other than vProRst biu).
/// * bit [31:2] record the address[31:2],
/// * bit [1] record the transaction type, 0 -> read and 1-> write.
/// * Bit[0]=0 indicate the register has been updated.
/// ###
/// @ 0x00020 interrupt (R-)
/// %unsigned 1 status
/// ###
/// * This is a read only register, it will return the current vPro interrupt line value. (dmaIntrVpro, whether the interrupt is asserted to CPU or not)
/// * 1: vMeta asserts interrupt to the CPU
/// * 0: vMeta does not assert interrupt to the CPU
/// ###
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 36B, bits: 169b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vProRst
#define h_vProRst (){}
#define RA_vProRst_Version 0x0000
#define BA_vProRst_Version_build 0x0000
#define B16vProRst_Version_build 0x0000
#define LSb32vProRst_Version_build 0
#define LSb16vProRst_Version_build 0
#define bvProRst_Version_build 8
#define MSK32vProRst_Version_build 0x000000FF
#define BA_vProRst_Version_rsvd 0x0001
#define B16vProRst_Version_rsvd 0x0000
#define LSb32vProRst_Version_rsvd 8
#define LSb16vProRst_Version_rsvd 8
#define bvProRst_Version_rsvd 8
#define MSK32vProRst_Version_rsvd 0x0000FF00
#define BA_vProRst_Version_minor 0x0002
#define B16vProRst_Version_minor 0x0002
#define LSb32vProRst_Version_minor 16
#define LSb16vProRst_Version_minor 0
#define bvProRst_Version_minor 8
#define MSK32vProRst_Version_minor 0x00FF0000
#define BA_vProRst_Version_major 0x0003
#define B16vProRst_Version_major 0x0002
#define LSb32vProRst_Version_major 24
#define LSb16vProRst_Version_major 8
#define bvProRst_Version_major 8
#define MSK32vProRst_Version_major 0xFF000000
///////////////////////////////////////////////////////////
#define RA_vProRst_vPro 0x0004
#define BA_vProRst_vPro_rstn 0x0004
#define B16vProRst_vPro_rstn 0x0004
#define LSb32vProRst_vPro_rstn 0
#define LSb16vProRst_vPro_rstn 0
#define bvProRst_vPro_rstn 1
#define MSK32vProRst_vPro_rstn 0x00000001
#define BA_vProRst_vPro_clk_en 0x0004
#define B16vProRst_vPro_clk_en 0x0004
#define LSb32vProRst_vPro_clk_en 1
#define LSb16vProRst_vPro_clk_en 1
#define bvProRst_vPro_clk_en 1
#define MSK32vProRst_vPro_clk_en 0x00000002
///////////////////////////////////////////////////////////
#define RA_vProRst_vproBiu 0x0008
///////////////////////////////////////////////////////////
#define RA_vProRst_vproMisc 0x000C
///////////////////////////////////////////////////////////
#define RA_vProRst_clkCntL 0x0010
#define BA_vProRst_clkCntL_val 0x0010
#define B16vProRst_clkCntL_val 0x0010
#define LSb32vProRst_clkCntL_val 0
#define LSb16vProRst_clkCntL_val 0
#define bvProRst_clkCntL_val 32
#define MSK32vProRst_clkCntL_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProRst_clkCntH 0x0014
#define BA_vProRst_clkCntH_val 0x0014
#define B16vProRst_clkCntH_val 0x0014
#define LSb32vProRst_clkCntH_val 0
#define LSb16vProRst_clkCntH_val 0
#define bvProRst_clkCntH_val 32
#define MSK32vProRst_clkCntH_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProRst_busEn 0x0018
#define BA_vProRst_busEn_val 0x0018
#define B16vProRst_busEn_val 0x0018
#define LSb32vProRst_busEn_val 0
#define LSb16vProRst_busEn_val 0
#define bvProRst_busEn_val 32
#define MSK32vProRst_busEn_val 0xFFFFFFFF
#define vProRst_busEn_val_start 0x5650524F
#define vProRst_busEn_val_stop 0x53544F50
///////////////////////////////////////////////////////////
#define RA_vProRst_busErr 0x001C
#define BA_vProRst_busErr_val 0x001C
#define B16vProRst_busErr_val 0x001C
#define LSb32vProRst_busErr_val 0
#define LSb16vProRst_busErr_val 0
#define bvProRst_busErr_val 32
#define MSK32vProRst_busErr_val 0xFFFFFFFF
///////////////////////////////////////////////////////////
#define RA_vProRst_interrupt 0x0020
#define BA_vProRst_interrupt_status 0x0020
#define B16vProRst_interrupt_status 0x0020
#define LSb32vProRst_interrupt_status 0
#define LSb16vProRst_interrupt_status 0
#define bvProRst_interrupt_status 1
#define MSK32vProRst_interrupt_status 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_vProRst {
///////////////////////////////////////////////////////////
#define GET32vProRst_Version_build(r32) _BFGET_(r32, 7, 0)
#define SET32vProRst_Version_build(r32,v) _BFSET_(r32, 7, 0,v)
#define GET16vProRst_Version_build(r16) _BFGET_(r16, 7, 0)
#define SET16vProRst_Version_build(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32vProRst_Version_rsvd(r32) _BFGET_(r32,15, 8)
#define SET32vProRst_Version_rsvd(r32,v) _BFSET_(r32,15, 8,v)
#define GET16vProRst_Version_rsvd(r16) _BFGET_(r16,15, 8)
#define SET16vProRst_Version_rsvd(r16,v) _BFSET_(r16,15, 8,v)
#define GET32vProRst_Version_minor(r32) _BFGET_(r32,23,16)
#define SET32vProRst_Version_minor(r32,v) _BFSET_(r32,23,16,v)
#define GET16vProRst_Version_minor(r16) _BFGET_(r16, 7, 0)
#define SET16vProRst_Version_minor(r16,v) _BFSET_(r16, 7, 0,v)
#define GET32vProRst_Version_major(r32) _BFGET_(r32,31,24)
#define SET32vProRst_Version_major(r32,v) _BFSET_(r32,31,24,v)
#define GET16vProRst_Version_major(r16) _BFGET_(r16,15, 8)
#define SET16vProRst_Version_major(r16,v) _BFSET_(r16,15, 8,v)
#define w32vProRst_Version {\
UNSG32 uVersion_build : 8;\
UNSG32 uVersion_rsvd : 8;\
UNSG32 uVersion_minor : 8;\
UNSG32 uVersion_major : 8;\
}
union { UNSG32 u32vProRst_Version;
struct w32vProRst_Version;
};
///////////////////////////////////////////////////////////
#define GET32vProRst_vPro_rstn(r32) _BFGET_(r32, 0, 0)
#define SET32vProRst_vPro_rstn(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProRst_vPro_rstn(r16) _BFGET_(r16, 0, 0)
#define SET16vProRst_vPro_rstn(r16,v) _BFSET_(r16, 0, 0,v)
#define GET32vProRst_vPro_clk_en(r32) _BFGET_(r32, 1, 1)
#define SET32vProRst_vPro_clk_en(r32,v) _BFSET_(r32, 1, 1,v)
#define GET16vProRst_vPro_clk_en(r16) _BFGET_(r16, 1, 1)
#define SET16vProRst_vPro_clk_en(r16,v) _BFSET_(r16, 1, 1,v)
#define w32vProRst_vPro {\
UNSG32 uvPro_rstn : 1;\
UNSG32 uvPro_clk_en : 1;\
UNSG32 RSVDx4_b2 : 30;\
}
union { UNSG32 u32vProRst_vPro;
struct w32vProRst_vPro;
};
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vproBiu;
///////////////////////////////////////////////////////////
SIE_ClkRstBiu ie_vproMisc;
///////////////////////////////////////////////////////////
#define GET32vProRst_clkCntL_val(r32) _BFGET_(r32,31, 0)
#define SET32vProRst_clkCntL_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProRst_clkCntL {\
UNSG32 uclkCntL_val : 32;\
}
union { UNSG32 u32vProRst_clkCntL;
struct w32vProRst_clkCntL;
};
///////////////////////////////////////////////////////////
#define GET32vProRst_clkCntH_val(r32) _BFGET_(r32,31, 0)
#define SET32vProRst_clkCntH_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProRst_clkCntH {\
UNSG32 uclkCntH_val : 32;\
}
union { UNSG32 u32vProRst_clkCntH;
struct w32vProRst_clkCntH;
};
///////////////////////////////////////////////////////////
#define GET32vProRst_busEn_val(r32) _BFGET_(r32,31, 0)
#define SET32vProRst_busEn_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProRst_busEn {\
UNSG32 ubusEn_val : 32;\
}
union { UNSG32 u32vProRst_busEn;
struct w32vProRst_busEn;
};
///////////////////////////////////////////////////////////
#define GET32vProRst_busErr_val(r32) _BFGET_(r32,31, 0)
#define SET32vProRst_busErr_val(r32,v) _BFSET_(r32,31, 0,v)
#define w32vProRst_busErr {\
UNSG32 ubusErr_val : 32;\
}
union { UNSG32 u32vProRst_busErr;
struct w32vProRst_busErr;
};
///////////////////////////////////////////////////////////
#define GET32vProRst_interrupt_status(r32) _BFGET_(r32, 0, 0)
#define SET32vProRst_interrupt_status(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vProRst_interrupt_status(r16) _BFGET_(r16, 0, 0)
#define SET16vProRst_interrupt_status(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vProRst_interrupt {\
UNSG32 uinterrupt_status : 1;\
UNSG32 RSVDx20_b1 : 31;\
}
union { UNSG32 u32vProRst_interrupt;
struct w32vProRst_interrupt;
};
///////////////////////////////////////////////////////////
} SIE_vProRst;
typedef union T32vProRst_Version
{ UNSG32 u32;
struct w32vProRst_Version;
} T32vProRst_Version;
typedef union T32vProRst_vPro
{ UNSG32 u32;
struct w32vProRst_vPro;
} T32vProRst_vPro;
typedef union T32vProRst_clkCntL
{ UNSG32 u32;
struct w32vProRst_clkCntL;
} T32vProRst_clkCntL;
typedef union T32vProRst_clkCntH
{ UNSG32 u32;
struct w32vProRst_clkCntH;
} T32vProRst_clkCntH;
typedef union T32vProRst_busEn
{ UNSG32 u32;
struct w32vProRst_busEn;
} T32vProRst_busEn;
typedef union T32vProRst_busErr
{ UNSG32 u32;
struct w32vProRst_busErr;
} T32vProRst_busErr;
typedef union T32vProRst_interrupt
{ UNSG32 u32;
struct w32vProRst_interrupt;
} T32vProRst_interrupt;
///////////////////////////////////////////////////////////
typedef union TvProRst_Version
{ UNSG32 u32[1];
struct {
struct w32vProRst_Version;
};
} TvProRst_Version;
typedef union TvProRst_vPro
{ UNSG32 u32[1];
struct {
struct w32vProRst_vPro;
};
} TvProRst_vPro;
typedef union TvProRst_clkCntL
{ UNSG32 u32[1];
struct {
struct w32vProRst_clkCntL;
};
} TvProRst_clkCntL;
typedef union TvProRst_clkCntH
{ UNSG32 u32[1];
struct {
struct w32vProRst_clkCntH;
};
} TvProRst_clkCntH;
typedef union TvProRst_busEn
{ UNSG32 u32[1];
struct {
struct w32vProRst_busEn;
};
} TvProRst_busEn;
typedef union TvProRst_busErr
{ UNSG32 u32[1];
struct {
struct w32vProRst_busErr;
};
} TvProRst_busErr;
typedef union TvProRst_interrupt
{ UNSG32 u32[1];
struct {
struct w32vProRst_interrupt;
};
} TvProRst_interrupt;
///////////////////////////////////////////////////////////
SIGN32 vProRst_drvrd(SIE_vProRst *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vProRst_drvwr(SIE_vProRst *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vProRst_reset(SIE_vProRst *p);
SIGN32 vProRst_cmp (SIE_vProRst *p, SIE_vProRst *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vProRst_check(p,pie,pfx,hLOG) vProRst_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vProRst_print(p, pfx,hLOG) vProRst_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vProRst
////////////////////////////////////////////////////////////
//////
///
/// $INTERFACE vPro (4,4)
/// ###
/// * Constants for vPro submodule hSel decoding
/// ###
/// # # ----------------------------------------------------------
/// : SIZE 0x400000
/// : DEC_BIT 0x16
/// ###
/// * vProRst module
/// ###
/// : RST_OFST 0x0
/// : RST_SIZE 0x10000
/// : RST_DEC_BIT 0x10
/// ###
/// * vCache
/// ###
/// : VC_OFST 0x10000
/// : VC_SIZE 0x10000
/// : VC_DEC_BIT 0x10
/// ###
/// * vProMisc
/// ###
/// : MX_OFST 0x80000
/// : MX_SIZE 0x80000
/// : MX_DEC_BIT 0x13
/// ###
/// * VSCOPE
/// ###
/// : VX_OFST 0x100000
/// : VX_SIZE 0x100000
/// : VX_DEC_BIT 0x14
/// ###
/// * PCUBE
/// ###
/// : P3_OFST 0x200000
/// : P3_SIZE 0x100000
/// : P3_DEC_BIT 0x14
/// @ 0x00000 Dummy (P)
/// %unsigned 1 xxx 0x0
/// %% 31 # Stuffing bits...
/// # # ----------------------------------------------------------
/// $ENDOFINTERFACE # size: 4B, bits: 1b, padding: 0B
////////////////////////////////////////////////////////////
#ifndef h_vPro
#define h_vPro (){}
#define vPro_SIZE 0x400000
#define vPro_DEC_BIT 0x16
#define vPro_RST_OFST 0x0
#define vPro_RST_SIZE 0x10000
#define vPro_RST_DEC_BIT 0x10
#define vPro_VC_OFST 0x10000
#define vPro_VC_SIZE 0x10000
#define vPro_VC_DEC_BIT 0x10
#define vPro_MX_OFST 0x80000
#define vPro_MX_SIZE 0x80000
#define vPro_MX_DEC_BIT 0x13
#define vPro_VX_OFST 0x100000
#define vPro_VX_SIZE 0x100000
#define vPro_VX_DEC_BIT 0x14
#define vPro_P3_OFST 0x200000
#define vPro_P3_SIZE 0x100000
#define vPro_P3_DEC_BIT 0x14
///////////////////////////////////////////////////////////
#define RA_vPro_Dummy 0x0000
#define BA_vPro_Dummy_xxx 0x0000
#define B16vPro_Dummy_xxx 0x0000
#define LSb32vPro_Dummy_xxx 0
#define LSb16vPro_Dummy_xxx 0
#define bvPro_Dummy_xxx 1
#define MSK32vPro_Dummy_xxx 0x00000001
///////////////////////////////////////////////////////////
typedef struct SIE_vPro {
///////////////////////////////////////////////////////////
#define GET32vPro_Dummy_xxx(r32) _BFGET_(r32, 0, 0)
#define SET32vPro_Dummy_xxx(r32,v) _BFSET_(r32, 0, 0,v)
#define GET16vPro_Dummy_xxx(r16) _BFGET_(r16, 0, 0)
#define SET16vPro_Dummy_xxx(r16,v) _BFSET_(r16, 0, 0,v)
#define w32vPro_Dummy {\
UNSG32 uDummy_xxx : 1;\
UNSG32 RSVDx0_b1 : 31;\
}
union { UNSG32 u32vPro_Dummy;
struct w32vPro_Dummy;
};
///////////////////////////////////////////////////////////
} SIE_vPro;
typedef union T32vPro_Dummy
{ UNSG32 u32;
struct w32vPro_Dummy;
} T32vPro_Dummy;
///////////////////////////////////////////////////////////
typedef union TvPro_Dummy
{ UNSG32 u32[1];
struct {
struct w32vPro_Dummy;
};
} TvPro_Dummy;
///////////////////////////////////////////////////////////
SIGN32 vPro_drvrd(SIE_vPro *p, UNSG32 base, SIGN32 mem, SIGN32 tst);
SIGN32 vPro_drvwr(SIE_vPro *p, UNSG32 base, SIGN32 mem, SIGN32 tst, UNSG32 *pcmd);
void vPro_reset(SIE_vPro *p);
SIGN32 vPro_cmp (SIE_vPro *p, SIE_vPro *pie, char *pfx, void *hLOG, SIGN32 mem, SIGN32 tst);
#define vPro_check(p,pie,pfx,hLOG) vPro_cmp(p,pie,pfx,(void*)(hLOG),0,0)
#define vPro_print(p, pfx,hLOG) vPro_cmp(p,0, pfx,(void*)(hLOG),0,0)
#endif
//////
/// ENDOFINTERFACE: vPro
////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif
#pragma pack()
#endif
//////
/// ENDOFFILE: vpro_spec.h
////////////////////////////////////////////////////////////