21 #define PLB_SLICE_MASK (0xf)
22 #define PLB_SLICE_HIGH_BIT_MASK_SET(slice) (PLB_SLICE_MASK << ((slice - plb_type_b_slice_8) << 2))
23 #define PLB_SLICE_HIGH_BIT_SHIFT(slice) ((slice - plb_type_b_slice_8) << 2)
24 #define PLB_SLICE_LOW_BIT_MASK_SET(slice) (PLB_SLICE_MASK << (slice << 2))
25 #define PLB_SLICE_LOW_BIT_SHIFT(slice) (slice << 2)
plb_type_b_lut_slice
Index of slice.
Definition: hpm_plb_drv.h:79
plb_chn
plb channels
Definition: hpm_plb_drv.h:31
enum plb_type_a_lut_num plb_type_a_lut_num_t
PLB look-up table unit.
plb_type_a_lut_num
PLB look-up table unit.
Definition: hpm_plb_drv.h:42
plb_type_b_cmp
Comparator index.
Definition: hpm_plb_drv.h:121
static void plb_type_a_inject_by_sw(PLB_Type *plb, plb_chn_t chn, uint8_t inject_val)
The software injects a cycle value into the TYPE A channel.
Definition: hpm_plb_drv.h:174
static void plb_type_a_set_lut(PLB_Type *plb, plb_chn_t chn, plb_type_a_lut_num_t lut_num, plb_type_a_truth_t *truth)
Configuring the truth table for lookup tables.
Definition: hpm_plb_drv.h:162
static void plb_type_b_set_cmp_val(PLB_Type *plb, plb_chn_t chn, plb_type_b_cmp_t cmp_index, uint32_t val)
Configure the value of the CMP.
Definition: hpm_plb_drv.h:187
enum plb_type_b_cmp_mode plb_type_b_cmp_mode_t
Comparator operation.
enum plb_type_b_slice_opt plb_type_b_slice_opt_t
Configuration of slice.
enum plb_type_b_cmp plb_type_b_cmp_t
Comparator index.
void plb_type_b_set_lut(PLB_Type *plb, plb_chn_t chn, plb_type_b_lut_slice_t slice, plb_type_b_slice_opt_t opt)
Configuring the PLB type_b's lookup table.
Definition: hpm_plb_drv.c:11
static void plb_type_b_set_cmp_mode(PLB_Type *plb, plb_chn_t chn, plb_type_b_cmp_t cmp_index, plb_type_b_cmp_mode_t cmp_mode)
Setting the mode of the CMP.
Definition: hpm_plb_drv.h:200
enum plb_chn plb_chn_t
plb channels
static void plb_type_b_inject_by_sw(PLB_Type *plb, plb_chn_t chn, uint32_t val)
Software injection values.
Definition: hpm_plb_drv.h:213
plb_type_b_slice_opt
Configuration of slice.
Definition: hpm_plb_drv.h:102
enum plb_type_b_lut_slice plb_type_b_lut_slice_t
Index of slice.
plb_type_b_cmp_mode
Comparator operation.
Definition: hpm_plb_drv.h:132
@ plb_type_b_slice_11
Definition: hpm_plb_drv.h:91
@ plb_type_b_slice_8
Definition: hpm_plb_drv.h:88
@ plb_type_b_slice_14
Definition: hpm_plb_drv.h:94
@ plb_type_b_slice_15
Definition: hpm_plb_drv.h:95
@ plb_type_b_slice_3
Definition: hpm_plb_drv.h:83
@ plb_type_b_slice_5
Definition: hpm_plb_drv.h:85
@ plb_type_b_slice_1
Definition: hpm_plb_drv.h:81
@ plb_type_b_slice_6
Definition: hpm_plb_drv.h:86
@ plb_type_b_slice_2
Definition: hpm_plb_drv.h:82
@ plb_type_b_slice_13
Definition: hpm_plb_drv.h:93
@ plb_type_b_slice_4
Definition: hpm_plb_drv.h:84
@ plb_type_b_slice_9
Definition: hpm_plb_drv.h:89
@ plb_type_b_slice_0
Definition: hpm_plb_drv.h:80
@ plb_type_b_slice_12
Definition: hpm_plb_drv.h:92
@ plb_type_b_slice_7
Definition: hpm_plb_drv.h:87
@ plb_type_b_slice_10
Definition: hpm_plb_drv.h:90
@ plb_chn2
Definition: hpm_plb_drv.h:34
@ plb_chn0
Definition: hpm_plb_drv.h:32
@ plb_chn1
Definition: hpm_plb_drv.h:33
@ plb_chn3
Definition: hpm_plb_drv.h:35
@ plb_type_a_table1
Definition: hpm_plb_drv.h:44
@ plb_type_a_table3
Definition: hpm_plb_drv.h:46
@ plb_type_a_table2
Definition: hpm_plb_drv.h:45
@ plb_type_a_table0
Definition: hpm_plb_drv.h:43
@ plb_type_b_cmp1
Definition: hpm_plb_drv.h:123
@ plb_type_b_cmp3
Definition: hpm_plb_drv.h:125
@ plb_type_b_cmp0
Definition: hpm_plb_drv.h:122
@ plb_type_b_cmp2
Definition: hpm_plb_drv.h:124
@ plb_slice_opt_get_cmp0_val
Definition: hpm_plb_drv.h:104
@ plb_slice_opt_sub_two
Definition: hpm_plb_drv.h:110
@ plb_slice_opt_shift_right
Definition: hpm_plb_drv.h:113
@ plb_slice_opt_add_one
Definition: hpm_plb_drv.h:107
@ plb_slice_opt_shift_left_add_one
Definition: hpm_plb_drv.h:112
@ plb_slice_opt_sub_one
Definition: hpm_plb_drv.h:109
@ plb_slice_opt_get_cmp1_val
Definition: hpm_plb_drv.h:105
@ plb_slice_opt_keep
Definition: hpm_plb_drv.h:103
@ plb_slice_opt_get_cmp2_val
Definition: hpm_plb_drv.h:106
@ plb_slice_opt_add_two
Definition: hpm_plb_drv.h:108
@ plb_slice_opt_shift_right_add_one
Definition: hpm_plb_drv.h:114
@ plb_slice_opt_shift_left
Definition: hpm_plb_drv.h:111
@ plb_cmp_mode_ne
Definition: hpm_plb_drv.h:138
@ plb_cmp_mode_xor_mask
Definition: hpm_plb_drv.h:143
@ plb_cmp_mode_and_mask
Definition: hpm_plb_drv.h:141
@ plb_cmp_mode_xnor_mask
Definition: hpm_plb_drv.h:146
@ plb_cmp_mode_nand_mask
Definition: hpm_plb_drv.h:144
@ plb_cmp_mode_eq
Definition: hpm_plb_drv.h:137
@ plb_cmp_mode_out_one
Definition: hpm_plb_drv.h:134
@ plb_cmp_mode_or_mask
Definition: hpm_plb_drv.h:142
@ plb_cmp_mode_out_zero
Definition: hpm_plb_drv.h:133
@ plb_cmp_mode_lt
Definition: hpm_plb_drv.h:136
@ plb_cmp_mode_nor_mask
Definition: hpm_plb_drv.h:145
@ plb_cmp_mode_gt
Definition: hpm_plb_drv.h:135
@ plb_cmp_mode_le
Definition: hpm_plb_drv.h:140
@ plb_cmp_mode_ge
Definition: hpm_plb_drv.h:139
#define PLB_TYPE_A_2
Definition: hpm_plb_regs.h:145
#define PLB_TYPE_B_MODE_OUT0_SEL_MASK
Definition: hpm_plb_regs.h:118
#define PLB_TYPE_B_CMP_2
Definition: hpm_plb_regs.h:155
#define PLB_TYPE_A_0
Definition: hpm_plb_regs.h:143
#define PLB_TYPE_B_CMP_1
Definition: hpm_plb_regs.h:154
#define PLB_TYPE_A_LOOKUP_TABLE_LOOKUP_TABLE_SET(x)
Definition: hpm_plb_regs.h:36
#define PLB_TYPE_B_CMP_3
Definition: hpm_plb_regs.h:156
#define PLB_TYPE_A_3
Definition: hpm_plb_regs.h:146
#define PLB_TYPE_A_SW_INJECT_SW_INJECT_SET(x)
Definition: hpm_plb_regs.h:47
#define PLB_TYPE_B_CMP_CMP_VALUE_SET(x)
Definition: hpm_plb_regs.h:69
#define PLB_TYPE_B_CMP_0
Definition: hpm_plb_regs.h:153
#define PLB_TYPE_A_1
Definition: hpm_plb_regs.h:144
Definition: hpm_plb_regs.h:12
__RW uint32_t LOOKUP_TABLE[4]
Definition: hpm_plb_regs.h:14
__RW uint32_t CMP[4]
Definition: hpm_plb_regs.h:21
__RW uint32_t SW_INJECT
Definition: hpm_plb_regs.h:15
struct PLB_Type::@427 TYPE_A[4]
struct PLB_Type::@428 TYPE_B[4]
__RW uint32_t MODE
Definition: hpm_plb_regs.h:22
PLB truth table configuration unit.
Definition: hpm_plb_drv.h:53
uint16_t index9_1bit_out
Definition: hpm_plb_drv.h:64
uint16_t index0_1bit_out
Definition: hpm_plb_drv.h:55
uint16_t index15_1bit_out
Definition: hpm_plb_drv.h:70
uint16_t index8_1bit_out
Definition: hpm_plb_drv.h:63
uint16_t index1_1bit_out
Definition: hpm_plb_drv.h:56
uint16_t index5_1bit_out
Definition: hpm_plb_drv.h:60
uint16_t index7_1bit_out
Definition: hpm_plb_drv.h:62
uint16_t index11_1bit_out
Definition: hpm_plb_drv.h:66
uint16_t index4_1bit_out
Definition: hpm_plb_drv.h:59
uint16_t index12_1bit_out
Definition: hpm_plb_drv.h:67
uint16_t val
Definition: hpm_plb_drv.h:72
uint16_t index13_1bit_out
Definition: hpm_plb_drv.h:68
uint16_t index14_1bit_out
Definition: hpm_plb_drv.h:69
uint16_t index10_1bit_out
Definition: hpm_plb_drv.h:65
uint16_t index6_1bit_out
Definition: hpm_plb_drv.h:61
uint16_t index3_1bit_out
Definition: hpm_plb_drv.h:58
uint16_t index2_1bit_out
Definition: hpm_plb_drv.h:57