12 #include "hpm_soc_ip_feature.h"
22 #define LOBS_UNLOCK_KEY 0xc5acce55u
24 #define LOBS_PIN_DO(x) (x * 3)
25 #define LOBS_PIN_OE(x) (x * 3 + 1)
26 #define LOBS_PIN_DI(x) (x * 3 + 2)
150 uint8_t sample_sig_bit[4];
151 bool sample_sig_en[4];
164 uint8_t cmp_sig_bit[4];
166 bool cmp_golden_value[4];
179 uint32_t u32_data[3];
lobs_next_state_t
next state
Definition: hpm_lobs_drv.h:123
lobs_burst_t
burst selection
Definition: hpm_lobs_drv.h:69
void lobs_deinit(LOBS_Type *lobs)
lobs deinit
Definition: hpm_lobs_drv.c:11
lobs_state_sel_t
state selection
Definition: hpm_lobs_drv.h:88
static bool lobs_is_trace_finish(LOBS_Type *lobs)
check lobs trace finish
Definition: hpm_lobs_drv.h:360
static void lobs_set_enable(LOBS_Type *lobs, bool enable)
set lobs enable or disable
Definition: hpm_lobs_drv.h:313
static void lobs_set_pre_trig_enable(LOBS_Type *lobs, bool enable)
set lobs pre-trig enable or disable
Definition: hpm_lobs_drv.h:324
lobs_cmp_mode_t
compare mode
Definition: hpm_lobs_drv.h:100
lobs_two_group_sel_t
two group selection
Definition: hpm_lobs_drv.h:79
void lobs_two_group_mode_config(LOBS_Type *lobs, lobs_two_group_sel_t group, lobs_two_group_mode_config_t *config)
lobs two group mode config
Definition: hpm_lobs_drv.c:43
void lobs_state_config(LOBS_Type *lobs, lobs_state_sel_t state, lobs_state_config_t *config)
lobs state config
Definition: hpm_lobs_drv.c:66
static void lobs_set_state_enable(LOBS_Type *lobs, lobs_state_sel_t state, bool enable)
set lobs state enable or disable
Definition: hpm_lobs_drv.h:336
lobs_sample_rate_t
sample rate selection
Definition: hpm_lobs_drv.h:59
lobs_signal_group_t
signal group number
Definition: hpm_lobs_drv.h:32
lobs_state_chg_condition_t
compare condition
Definition: hpm_lobs_drv.h:109
lobs_group_mode_t
group mode selection
Definition: hpm_lobs_drv.h:50
void lobs_ctrl_config(LOBS_Type *lobs, lobs_ctrl_config_t *config)
lobs control config
Definition: hpm_lobs_drv.c:22
static uint32_t lobs_get_final_address(LOBS_Type *lobs)
get lobs final address
Definition: hpm_lobs_drv.h:348
static void lobs_clear_fifo_overflow_flag(LOBS_Type *lobs)
clear lobs fifo overflow flag
Definition: hpm_lobs_drv.h:371
#define LOBS_UNLOCK_KEY
Definition: hpm_lobs_drv.h:22
static void lobs_unlock(LOBS_Type *lobs)
set lobs unlock
Definition: hpm_lobs_drv.h:292
static void lobs_lock(LOBS_Type *lobs)
set lobs lock
Definition: hpm_lobs_drv.h:302
@ lobs_next_state_finish
Definition: hpm_lobs_drv.h:124
@ lobs_next_state_4
Definition: hpm_lobs_drv.h:129
@ lobs_next_state_0
Definition: hpm_lobs_drv.h:125
@ lobs_next_state_1
Definition: hpm_lobs_drv.h:126
@ lobs_next_state_2
Definition: hpm_lobs_drv.h:127
@ lobs_next_state_3
Definition: hpm_lobs_drv.h:128
@ lobs_burst_8
Definition: hpm_lobs_drv.h:71
@ lobs_burst_4
Definition: hpm_lobs_drv.h:70
@ lobs_burst_16
Definition: hpm_lobs_drv.h:72
@ lobs_state_2
Definition: hpm_lobs_drv.h:91
@ lobs_state_3
Definition: hpm_lobs_drv.h:92
@ lobs_state_0
Definition: hpm_lobs_drv.h:89
@ lobs_state_4
Definition: hpm_lobs_drv.h:93
@ lobs_state_1
Definition: hpm_lobs_drv.h:90
@ lobs_sig_cmp_mode
Definition: hpm_lobs_drv.h:101
@ lobs_cnt_cmp_mode
Definition: hpm_lobs_drv.h:102
@ lobs_two_group_1
Definition: hpm_lobs_drv.h:80
@ lobs_two_group_2
Definition: hpm_lobs_drv.h:81
@ lobs_sample_1_per_6
Definition: hpm_lobs_drv.h:61
@ lobs_sample_1_per_5
Definition: hpm_lobs_drv.h:60
@ lobs_sample_1_per_7
Definition: hpm_lobs_drv.h:62
@ lobs_signal_group_PV
Definition: hpm_lobs_drv.h:39
@ lobs_signal_group_PW
Definition: hpm_lobs_drv.h:40
@ lobs_signal_group_PD
Definition: hpm_lobs_drv.h:36
@ lobs_signal_group_PZ
Definition: hpm_lobs_drv.h:43
@ lobs_signal_group_PY
Definition: hpm_lobs_drv.h:42
@ lobs_signal_group_PA
Definition: hpm_lobs_drv.h:33
@ lobs_signal_group_PB
Definition: hpm_lobs_drv.h:34
@ lobs_signal_group_PX
Definition: hpm_lobs_drv.h:41
@ lobs_signal_group_PF
Definition: hpm_lobs_drv.h:38
@ lobs_signal_group_PC
Definition: hpm_lobs_drv.h:35
@ lobs_signal_group_PE
Definition: hpm_lobs_drv.h:37
@ lobs_sig_greater_equal_golden
Definition: hpm_lobs_drv.h:113
@ lobs_sig_less_golden
Definition: hpm_lobs_drv.h:115
@ lobs_sig_not_equal_golden
Definition: hpm_lobs_drv.h:114
@ lobs_sig_equal_golden
Definition: hpm_lobs_drv.h:111
@ lobs_sig_greater_golden
Definition: hpm_lobs_drv.h:112
@ lobs_sig_less_equal_golden
Definition: hpm_lobs_drv.h:116
@ lobs_cnt_matched
Definition: hpm_lobs_drv.h:110
@ lobs_two_group_8_bits
Definition: hpm_lobs_drv.h:52
@ lobs_one_group_128_bits
Definition: hpm_lobs_drv.h:51
#define LOBS_STREAMCTRL_FULL_CLEAR_MASK
Definition: hpm_lobs_regs.h:91
#define LOBS_CTRL_RUN_MASK
Definition: hpm_lobs_regs.h:68
#define LOBS_CTSR_FINALSTATE_GET(x)
Definition: hpm_lobs_regs.h:165
#define LOBS_PTACTION_TRACE_MASK
Definition: hpm_lobs_regs.h:128
#define LOBS_STATE_ACTION_TRACE_MASK
Definition: hpm_lobs_regs.h:467
#define LOBS_STATE_ACTION_TRACE_SET(x)
Definition: hpm_lobs_regs.h:469
#define LOBS_CTRL_RUN_SET(x)
Definition: hpm_lobs_regs.h:70
#define LOBS_PTACTION_TRACE_SET(x)
Definition: hpm_lobs_regs.h:130
Definition: hpm_lobs_regs.h:12
__RW uint32_t LAR
Definition: hpm_lobs_regs.h:56
__RW uint32_t FINALADDR
Definition: hpm_lobs_regs.h:25
__R uint32_t CTSR
Definition: hpm_lobs_regs.h:20
__RW uint32_t PTACTION
Definition: hpm_lobs_regs.h:16
struct LOBS_Type::@680 STATE[5]
__RW uint32_t CTRL
Definition: hpm_lobs_regs.h:13
__RW uint32_t ACTION
Definition: hpm_lobs_regs.h:39
__RW uint32_t STREAMCTRL
Definition: hpm_lobs_regs.h:15
ctrl config structure
Definition: hpm_lobs_drv.h:136
uint32_t start_addr
Definition: hpm_lobs_drv.h:139
lobs_sample_rate_t sample_rate
Definition: hpm_lobs_drv.h:138
uint32_t end_addr
Definition: hpm_lobs_drv.h:140
lobs_group_mode_t group_mode
Definition: hpm_lobs_drv.h:137
two group mode config structure
Definition: hpm_lobs_drv.h:158
lobs_state_chg_condition_t state_chg_condition
Definition: hpm_lobs_drv.h:161
uint32_t cmp_counter
Definition: hpm_lobs_drv.h:163
lobs_cmp_mode_t cmp_mode
Definition: hpm_lobs_drv.h:160
lobs_next_state_t next_state
Definition: hpm_lobs_drv.h:162
lobs_signal_group_t sig_group_num
Definition: hpm_lobs_drv.h:159
trace data structure
Definition: hpm_lobs_drv.h:173
uint32_t pin14_oe
Definition: hpm_lobs_drv.h:225
uint32_t pin00_oe
Definition: hpm_lobs_drv.h:182
uint32_t pin18_oe
Definition: hpm_lobs_drv.h:237
uint32_t pin08_do
Definition: hpm_lobs_drv.h:205
uint32_t pin09_oe
Definition: hpm_lobs_drv.h:209
uint32_t pin28_oe
Definition: hpm_lobs_drv.h:268
uint32_t pin19_oe
Definition: hpm_lobs_drv.h:240
uint32_t pin13_di
Definition: hpm_lobs_drv.h:223
uint32_t pin28_di
Definition: hpm_lobs_drv.h:269
uint32_t pin31_di
Definition: hpm_lobs_drv.h:278
uint32_t pin16_do
Definition: hpm_lobs_drv.h:230
uint32_t pin13_oe
Definition: hpm_lobs_drv.h:222
uint32_t pin08_di
Definition: hpm_lobs_drv.h:207
uint32_t pin02_do
Definition: hpm_lobs_drv.h:187
uint32_t pin29_oe
Definition: hpm_lobs_drv.h:271
uint32_t pin24_do
Definition: hpm_lobs_drv.h:255
uint32_t pin25_di
Definition: hpm_lobs_drv.h:260
uint32_t pin05_oe
Definition: hpm_lobs_drv.h:197
uint32_t pin10_do
Definition: hpm_lobs_drv.h:211
uint32_t pin17_do
Definition: hpm_lobs_drv.h:233
uint32_t pin20_oe
Definition: hpm_lobs_drv.h:243
uint32_t pin16_oe
Definition: hpm_lobs_drv.h:231
uint32_t pin19_di
Definition: hpm_lobs_drv.h:241
uint32_t pin04_oe
Definition: hpm_lobs_drv.h:194
uint32_t pin26_di
Definition: hpm_lobs_drv.h:263
uint32_t pin16_di
Definition: hpm_lobs_drv.h:232
uint32_t pin30_di
Definition: hpm_lobs_drv.h:275
uint32_t pin12_oe
Definition: hpm_lobs_drv.h:219
uint32_t pin22_di
Definition: hpm_lobs_drv.h:251
uint32_t pin24_oe
Definition: hpm_lobs_drv.h:256
uint32_t pin25_do
Definition: hpm_lobs_drv.h:258
uint32_t pin21_do
Definition: hpm_lobs_drv.h:245
uint32_t pin31_do
Definition: hpm_lobs_drv.h:276
uint32_t pin21_oe
Definition: hpm_lobs_drv.h:247
uint32_t pin19_do
Definition: hpm_lobs_drv.h:239
uint32_t pin28_do
Definition: hpm_lobs_drv.h:267
uint32_t pin26_oe
Definition: hpm_lobs_drv.h:262
uint32_t pin06_do
Definition: hpm_lobs_drv.h:199
uint32_t pin17_oe
Definition: hpm_lobs_drv.h:234
uint32_t pin06_di
Definition: hpm_lobs_drv.h:201
uint32_t pin27_di
Definition: hpm_lobs_drv.h:266
uint32_t pin22_oe
Definition: hpm_lobs_drv.h:250
uint8_t cnt_H
Definition: hpm_lobs_drv.h:177
uint32_t pin10_di
Definition: hpm_lobs_drv.h:214
uint32_t pin25_oe
Definition: hpm_lobs_drv.h:259
uint32_t pin29_di
Definition: hpm_lobs_drv.h:272
uint32_t pin23_oe
Definition: hpm_lobs_drv.h:253
uint32_t pin23_do
Definition: hpm_lobs_drv.h:252
uint32_t pin05_do
Definition: hpm_lobs_drv.h:196
uint32_t pin18_do
Definition: hpm_lobs_drv.h:236
uint8_t header
Definition: hpm_lobs_drv.h:174
uint32_t pin07_di
Definition: hpm_lobs_drv.h:204
uint32_t pin24_di
Definition: hpm_lobs_drv.h:257
uint32_t pin26_do
Definition: hpm_lobs_drv.h:261
uint32_t pin03_oe
Definition: hpm_lobs_drv.h:191
uint32_t pin11_di
Definition: hpm_lobs_drv.h:217
uint32_t pin05_di
Definition: hpm_lobs_drv.h:198
uint32_t pin11_oe
Definition: hpm_lobs_drv.h:216
uint32_t pin01_oe
Definition: hpm_lobs_drv.h:185
uint32_t pin08_oe
Definition: hpm_lobs_drv.h:206
uint32_t pin31_oe
Definition: hpm_lobs_drv.h:277
uint32_t pin01_do
Definition: hpm_lobs_drv.h:184
uint32_t pin22_do
Definition: hpm_lobs_drv.h:249
uint32_t pin07_oe
Definition: hpm_lobs_drv.h:203
uint32_t pin00_do
Definition: hpm_lobs_drv.h:181
uint32_t pin11_do
Definition: hpm_lobs_drv.h:215
uint32_t pin15_oe
Definition: hpm_lobs_drv.h:228
uint32_t pin09_di
Definition: hpm_lobs_drv.h:210
uint32_t pin07_do
Definition: hpm_lobs_drv.h:202
uint32_t pin27_do
Definition: hpm_lobs_drv.h:264
uint32_t pin23_di
Definition: hpm_lobs_drv.h:254
uint32_t pin18_di
Definition: hpm_lobs_drv.h:238
uint32_t pin12_di
Definition: hpm_lobs_drv.h:220
uint32_t pin17_di
Definition: hpm_lobs_drv.h:235
uint32_t pin03_do
Definition: hpm_lobs_drv.h:190
uint32_t pin06_oe
Definition: hpm_lobs_drv.h:200
uint32_t pin20_do
Definition: hpm_lobs_drv.h:242
uint32_t pin14_di
Definition: hpm_lobs_drv.h:226
uint32_t pin10_oe
Definition: hpm_lobs_drv.h:212
uint32_t pin27_oe
Definition: hpm_lobs_drv.h:265
uint32_t pin01_di
Definition: hpm_lobs_drv.h:186
uint32_t pin15_di
Definition: hpm_lobs_drv.h:229
uint32_t pin21_di
Definition: hpm_lobs_drv.h:248
uint8_t cnt_L
Definition: hpm_lobs_drv.h:175
uint32_t pin04_do
Definition: hpm_lobs_drv.h:193
uint32_t pin15_do
Definition: hpm_lobs_drv.h:227
uint32_t pin00_di
Definition: hpm_lobs_drv.h:183
uint32_t pin30_oe
Definition: hpm_lobs_drv.h:274
uint32_t pin29_do
Definition: hpm_lobs_drv.h:270
uint32_t pin09_do
Definition: hpm_lobs_drv.h:208
uint32_t pin04_di
Definition: hpm_lobs_drv.h:195
uint32_t pin02_di
Definition: hpm_lobs_drv.h:189
uint32_t pin13_do
Definition: hpm_lobs_drv.h:221
uint32_t pin03_di
Definition: hpm_lobs_drv.h:192
uint8_t cnt_M
Definition: hpm_lobs_drv.h:176
uint32_t pin20_di
Definition: hpm_lobs_drv.h:244
uint32_t pin12_do
Definition: hpm_lobs_drv.h:218
uint32_t pin30_do
Definition: hpm_lobs_drv.h:273
uint32_t pin14_do
Definition: hpm_lobs_drv.h:224
uint32_t pin02_oe
Definition: hpm_lobs_drv.h:188
two group mode config structure
Definition: hpm_lobs_drv.h:147
bool group_enable
Definition: hpm_lobs_drv.h:148
lobs_signal_group_t sig_group_num
Definition: hpm_lobs_drv.h:149