HPM SDK
HPMicro Software Development Kit
hpm_pla_drv.h File Reference
#include "hpm_common.h"
#include "hpm_pla_regs.h"

Go to the source code of this file.

Data Structures

struct  pla_aoi_16to8_cfg_unit
 aoi_16to8 config unit More...
 
struct  pla_aoi_16to8_chn_cfg
 aoi_16to8 channel config More...
 
struct  pla_aoi_8to7_cfg_unit
 aoi_8to7 config unit More...
 
struct  pla_aoi_8to7_chn_cfg
 aoi_8_to_7 channel config More...
 
union  pla_filter_cfg
 pla filter config More...
 
union  pla_ff_cfg
 pla function selection config More...
 

Macros

#define PLA_AOI_16TO8_SIGNAL_NUM   (16U)
 
#define PLA_AOI_8TO7_SIGNAL_NUM   (8U)
 
#define PLA_CHN_CFG_ACTIVE_WORD   (0xF00DU)
 
#define PLA_AOI_16TO8_CONNECT_(input, value)    PLA_CHN_AOI_16TO8_AOI_16TO8_##input##_SET(value)
 
#define PLA_AOI_16TO8_CONNECT(input_signal, operation)    PLA_AOI_16TO8_CONNECT_(input_signal, operation)
 Input signal configuration for synthetic aoi_16to8. More...
 

Typedefs

typedef enum pla_aoi_signal_operation_type pla_aoi_signal_operation_type_t
 aoi_16to8 operation on input signals More...
 
typedef enum pla_filter_sw_inject_type pla_filter_sw_inject_type_t
 
typedef enum pla_channel_type pla_channel_type_t
 aoi channel index More...
 
typedef enum pla_aoi_16to8_input_signal_type pla_aoi_16to8_input_signal_type_t
 Raw input signal for aoi16to8 module. More...
 
typedef enum pla_aoi_16to8_channel_type pla_aoi_16to8_channel_type_t
 aoi_16to8 channel index More...
 
typedef struct pla_aoi_16to8_cfg_unit pla_aoi_16to8_cfg_unit_t
 aoi_16to8 config unit More...
 
typedef struct pla_aoi_16to8_chn_cfg pla_aoi_16to8_chn_cfg_t
 aoi_16to8 channel config More...
 
typedef enum pla_aoi_8to7_input_signal_type pla_aoi_8to7_input_signal_type_t
 aoi_8_to_7 input signal More...
 
typedef enum pla_aoi_8to7_channel_type pla_aoi_8to7_channel_type_t
 aoi_8to7 channel number More...
 
typedef struct pla_aoi_8to7_cfg_unit pla_aoi_8to7_cfg_unit_t
 aoi_8to7 config unit More...
 
typedef struct pla_aoi_8to7_chn_cfg pla_aoi_8to7_chn_cfg_t
 aoi_8_to_7 channel config More...
 
typedef union pla_filter_cfg pla_filter_cfg_t
 pla filter config More...
 
typedef union pla_ff_cfg pla_ff_cfg_t
 pla function selection config More...
 
typedef enum pla_ff_type pla_ff_type_t
 pla configurable functions More...
 
typedef enum pla_filter1_inchannel_type pla_filter1_inchannel_type_t
 
typedef enum pla_filter1_outchannel_type pla_filter1_outchannel_type_t
 
typedef enum pla_filter2_channel_type pla_filter2_channel_type_t
 
typedef enum pla_filter3_channel_type pla_filter3_channel_type_t
 

Enumerations

enum  pla_aoi_signal_operation_type { pla_aoi_operation_and_0 = 0 , pla_aoi_operation_and_1 = 1 , pla_aoi_operation_xor_1 = 2 , pla_aoi_operation_or_1 = 3 }
 aoi_16to8 operation on input signals More...
 
enum  pla_filter_sw_inject_type { pla_filter_sw_inject_low = 0 , pla_filter_sw_inject_height = 1 , pla_filter_sw_inject_disable = 2 }
 
enum  pla_channel_type {
  pla_chn_0 = PLA_CHN_0 , pla_chn_1 = PLA_CHN_1 , pla_chn_2 = PLA_CHN_2 , pla_chn_3 = PLA_CHN_3 ,
  pla_chn_4 = PLA_CHN_4 , pla_chn_5 = PLA_CHN_5 , pla_chn_6 = PLA_CHN_6 , pla_chn_7 = PLA_CHN_7
}
 aoi channel index More...
 
enum  pla_aoi_16to8_input_signal_type {
  pla_level1_filter_out_0 = 0 , pla_level1_filter_out_1 = 1 , pla_level1_filter_out_2 = 2 , pla_level1_filter_out_3 = 3 ,
  pla_level1_filter_out_4 = 4 , pla_level1_filter_out_5 = 5 , pla_level1_filter_out_6 = 6 , pla_level1_filter_out_7 = 7 ,
  pla_level1_filter_out_8 = 8 , pla_level1_filter_out_9 = 9 , pla_level1_filter_out_10 = 10 , pla_level1_filter_out_11 = 11 ,
  pla_level1_filter_out_12 = 12 , pla_level1_filter_out_13 = 13 , pla_level1_filter_out_14 = 14 , pla_level1_filter_out_15 = 15
}
 Raw input signal for aoi16to8 module. More...
 
enum  pla_aoi_16to8_channel_type {
  pla_aoi_16to8_chn_0 = PLA_CHN_AOI_16TO8_AOI_16TO8_00 , pla_aoi_16to8_chn_1 = PLA_CHN_AOI_16TO8_AOI_16TO8_01 , pla_aoi_16to8_chn_2 = PLA_CHN_AOI_16TO8_AOI_16TO8_02 , pla_aoi_16to8_chn_3 = PLA_CHN_AOI_16TO8_AOI_16TO8_03 ,
  pla_aoi_16to8_chn_4 = PLA_CHN_AOI_16TO8_AOI_16TO8_04 , pla_aoi_16to8_chn_5 = PLA_CHN_AOI_16TO8_AOI_16TO8_05 , pla_aoi_16to8_chn_6 = PLA_CHN_AOI_16TO8_AOI_16TO8_06 , pla_aoi_16to8_chn_7 = PLA_CHN_AOI_16TO8_AOI_16TO8_07
}
 aoi_16to8 channel index More...
 
enum  pla_aoi_8to7_input_signal_type {
  pla_level2_filter_out_0 = 0 , pla_level2_filter_out_1 = 1 , pla_level2_filter_out_2 = 2 , pla_level2_filter_out_3 = 3 ,
  pla_level2_filter_out_4 = 4 , pla_level2_filter_out_5 = 5 , pla_level2_filter_out_6 = 6 , pla_level2_filter_out_7 = 7
}
 aoi_8_to_7 input signal More...
 
enum  pla_aoi_8to7_channel_type {
  pla_aoi_8to7_chn_0 = 0 , pla_aoi_8to7_chn_1 = 1 , pla_aoi_8to7_chn_2 = 2 , pla_aoi_8to7_chn_3 = 3 ,
  pla_aoi_8to7_chn_4 = 4 , pla_aoi_8to7_chn_5 = 5 , pla_aoi_8to7_chn_6 = 6
}
 aoi_8to7 channel number More...
 
enum  pla_ff_type {
  pla_ff_type_dff = 0 , pla_ff_type_level3_filter0 = 1 , pla_ff_type_dual_edge_DFF = 2 , pla_ff_type_trigger_ff = 3 ,
  pla_ff_type_jk_ff = 4 , pla_ff_type_latch = 5 , pla_ff_type_adder_minus = 6
}
 pla configurable functions More...
 
enum  pla_filter1_inchannel_type {
  pla_filter1_inchn0 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_0 , pla_filter1_inchn1 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_1 , pla_filter1_inchn2 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_2 , pla_filter1_inchn3 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_3 ,
  pla_filter1_inchn4 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_4 , pla_filter1_inchn5 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_5 , pla_filter1_inchn6 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_6 , pla_filter1_inchn7 = PLA_FILTER_1ST_PLA_IN_FRIST_FILTER_PLA_IN_7
}
 
enum  pla_filter1_outchannel_type {
  pla_filter1_outchn0 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_0 , pla_filter1_outchn1 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_1 , pla_filter1_outchn2 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_2 , pla_filter1_outchn3 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_3 ,
  pla_filter1_outchn4 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_4 , pla_filter1_outchn5 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_5 , pla_filter1_outchn6 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_6 , pla_filter1_outchn7 = PLA_FILTER_1ST_PLA_OUT_FRIST_FILTER_PLA_OUT_7
}
 
enum  pla_filter2_channel_type {
  pla_filter2_chn0 = PLA_CHN_FILTER_2ND_SECOND_FILTER_0 , pla_filter2_chn1 = PLA_CHN_FILTER_2ND_SECOND_FILTER_1 , pla_filter2_chn2 = PLA_CHN_FILTER_2ND_SECOND_FILTER_2 , pla_filter2_chn3 = PLA_CHN_FILTER_2ND_SECOND_FILTER_3 ,
  pla_filter2_chn4 = PLA_CHN_FILTER_2ND_SECOND_FILTER_4 , pla_filter2_chn5 = PLA_CHN_FILTER_2ND_SECOND_FILTER_5 , pla_filter2_chn6 = PLA_CHN_FILTER_2ND_SECOND_FILTER_6 , pla_filter2_chn7 = PLA_CHN_FILTER_2ND_SECOND_FILTER_7
}
 
enum  pla_filter3_channel_type {
  pla_filter3_chn0 = PLA_CHN_FILTER_3RD_THIRD_FILTER_0 , pla_filter3_chn1 = PLA_CHN_FILTER_3RD_THIRD_FILTER_1 , pla_filter3_chn2 = PLA_CHN_FILTER_3RD_THIRD_FILTER_2 , pla_filter3_chn3 = PLA_CHN_FILTER_3RD_THIRD_FILTER_3 ,
  pla_filter3_chn4 = PLA_CHN_FILTER_3RD_THIRD_FILTER_4 , pla_filter3_chn5 = PLA_CHN_FILTER_3RD_THIRD_FILTER_5 , pla_filter3_chn6 = PLA_CHN_FILTER_3RD_THIRD_FILTER_6
}
 

Functions

void pla_set_aoi_16to8_one_channel (PLA_Type *pla, pla_aoi_16to8_chn_cfg_t *cfg)
 Configure one channel of aoi_16to8. More...
 
void pla_get_aoi_16to8_one_channel (PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_chn_cfg_t *cfg)
 Get one channel of aoi_16to8. More...
 
static void pla_set_aoi_16to8_input_signal (PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_cfg_unit_t *cfg)
 Set one signal of aoi_16to8. More...
 
static void pla_get_aoi_16to8_input_signal (PLA_Type *pla, pla_channel_type_t chn, pla_aoi_16to8_channel_type_t aoi_16to8_chn, pla_aoi_16to8_input_signal_type_t signal, pla_aoi_16to8_cfg_unit_t *cfg)
 Get one signal of aoi_16to8. More...
 
void pla_set_aoi_8to7_one_channel (PLA_Type *pla, pla_aoi_8to7_chn_cfg_t *cfg)
 Configure one channel of aoi_8to7. More...
 
void pla_get_aoi_8to7_one_channel (PLA_Type *pla, pla_aoi_8to7_chn_cfg_t *cfg)
 Get one channel of aoi_8to7. More...
 
void pla_set_aoi_8to7_input_signal (PLA_Type *pla, pla_channel_type_t chn, pla_aoi_8to7_channel_type_t aoi_8to7_chn, pla_aoi_8to7_cfg_unit_t *cfg)
 Configure one signal of aoi_8to7. More...
 
void pla_get_aoi_8to7_input_signal (PLA_Type *pla, pla_channel_type_t chn, pla_aoi_8to7_channel_type_t aoi_8to7_chn, pla_aoi_8to7_input_signal_type_t signal, pla_aoi_8to7_cfg_unit_t *cfg)
 Get one signal of aoi_8to7. More...
 
static void pla_set_filter1_out (PLA_Type *pla, pla_filter1_outchannel_type_t filter1_out_chn, pla_filter_cfg_t *cfg)
 Configure filter1 out. More...
 
static void pla_get_filter1_out (PLA_Type *pla, pla_filter1_outchannel_type_t filter1_out_chn, pla_filter_cfg_t *cfg)
 Get filter1 out. More...
 
static void pla_set_filter1_in (PLA_Type *pla, pla_filter1_inchannel_type_t filter1_in_chn, pla_filter_cfg_t *cfg)
 Configure filter1 in. More...
 
static void pla_get_filter1_in (PLA_Type *pla, pla_filter1_inchannel_type_t filter1_in_chn, pla_filter_cfg_t *cfg)
 Get filter 1. More...
 
static void pla_set_filter2 (PLA_Type *pla, pla_channel_type_t chn, pla_filter2_channel_type_t filter2_chn, pla_filter_cfg_t *cfg)
 Configure filter 2. More...
 
static void pla_get_filter2 (PLA_Type *pla, pla_channel_type_t chn, pla_filter2_channel_type_t filter2_chn, pla_filter_cfg_t *cfg)
 Get filter2. More...
 
static void pla_set_filter3 (PLA_Type *pla, pla_channel_type_t chn, pla_filter3_channel_type_t filter3_chn, pla_filter_cfg_t *cfg)
 Configure filter3. More...
 
static void pla_get_filter3 (PLA_Type *pla, pla_channel_type_t chn, pla_filter3_channel_type_t filter3_chn, pla_filter_cfg_t *cfg)
 Get filter3. More...
 
static void pla_set_ff (PLA_Type *pla, pla_channel_type_t chn, pla_ff_cfg_t *cfg)
 Set ff function. More...
 
static void pla_get_ff (PLA_Type *pla, pla_channel_type_t chn, pla_ff_cfg_t *cfg)
 Get ff function. More...
 
static void pla_channel_enable (PLA_Type *pla, pla_channel_type_t chn)
 enable pla channel More...
 
static void pla_channel_disable (PLA_Type *pla, pla_channel_type_t chn)
 disable pla channel More...