📄 g711.c
字号:
#line 194 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
typedef
#line 203 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
enum {
#line 196 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
TAG_NONE=0,
TAG_XML_HEADER,
TAG_COMMENT,
TAG_OPEN,
TAG_CLOSE,
TAG_SINGLE,
TAG_MAX
} E_TAG_TYPE;
typedef
#line 211 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
struct S_XML_ATTRIBUTE {
#line 207 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
int line;
char name[257];
char value[257];
struct S_XML_ATTRIBUTE *next;
} S_XML_ATTRIBUTE;
typedef
#line 220 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
struct S_XML_TAG {
#line 215 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
E_TAG_TYPE type;
int line;
char name[257];
char *data;
struct S_XML_ATTRIBUTE *attributes;
} S_XML_TAG;
typedef
#line 228 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
struct S_XML_BLOCK {
#line 224 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
struct S_XML_TAG start_tag;
struct S_XML_TAG end_tag;
struct S_XML_BLOCK *sub_blocks;
struct S_XML_BLOCK *next;
} S_XML_BLOCK;
S_XML_BLOCK *read_xml(char *filename);
void dump_xml(S_XML_BLOCK *xml, int level);
void free_xml(S_XML_BLOCK *xml);
#line 240 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
typedef
#line 245 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
enum {
#line 242 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
PERF_STATE_INIT=0,
PERF_STATE_START,
PERF_STATE_STOP
} E_SPI_PERF_STATE_T;
typedef
#line 263 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
struct SPI_PERF_T {
#line 250 "c:/spi_rapidev/tools/bin/../include/spi_support.h"
char name[41];
E_SPI_PERF_STATE_T state;
unsigned int total_cnt;
unsigned int hits;
unsigned int max_cnt;
unsigned int prev_time;
unsigned int elapsed_time;
unsigned int marker_id;
} SPI_PERF_T;
extern unsigned int cpu_count_get(void );
extern void spi_perf_start(SPI_PERF_T *p_perf);
extern void spi_perf_stop(SPI_PERF_T *p_perf);
extern void spi_perf_init(SPI_PERF_T *p_perf, char *name);
extern void spi_perf_add(SPI_PERF_T *p_perf_dst, SPI_PERF_T *p_perf_src);
extern void spi_perf_print(SPI_PERF_T *p_perf, int print_header);
extern void spi_perf_print_clocks();
extern void spi_perf_wait(float seconds);
extern float spi_perf_get_run_time(SPI_PERF_T *p_perf);
extern float spi_perf_get_cumulative_run_time(SPI_PERF_T *p_perf);
#line 35 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
typedef
struct SPI_VEC8I_S {
#line 36 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
signed int lanes[16];
} SPI_VEC8I_T;
typedef
struct SPI_VEC8U_S {
#line 40 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
unsigned int lanes[16];
} SPI_VEC8U_T;
typedef
struct SPI_VEC16I_S {
#line 44 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
signed int lanes[16];
} SPI_VEC16I_T;
typedef
struct SPI_VEC16U_S {
#line 48 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
unsigned int lanes[16];
} SPI_VEC16U_T;
typedef
struct SPI_VECI_S {
#line 52 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
signed int lanes[16];
} SPI_VECI_T;
typedef
struct SPI_VECU_S {
#line 56 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
unsigned int lanes[16];
} SPI_VECU_T;
#line 69 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
typedef
#line 76 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
enum {
#line 71 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
SCALAR_NONE=0,
SCALAR_IN,
SCALAR_OUT,
SCALAR_IO,
SCALAR_TYPE_MAX
} SPI_SCALAR_TYPE_E;
typedef
#line 92 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
enum {
#line 81 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
STREAM_NONE=0,
STREAM_SEQ_IN,
STREAM_SEQ_OUT,
STREAM_COND_IN,
STREAM_COND_OUT,
STREAM_ARRAY_IN,
STREAM_ARRAY_OUT,
STREAM_ARRAY_IO,
STREAM_LOAD,
STREAM_STORE,
STREAM_TYPE_MAX
} SPI_STREAM_TYPE_E;
#line 98 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
typedef
#line 129 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
struct SPI_STREAM_COMMON_S {
#line 100 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
char name[65];
int location;
int end;
int record_size;
int record_count;
int record_count_prev;
int lrf_length;
char *lrf;
int slot;
struct SPI_STREAM_S *next;
struct SPI_STREAM_S *prev;
int print_col;
unsigned int modified;
int record_count_sdr;
int record_count_sdr_scrf_id;
int sdr;
int sdr_offset;
int sdr_length;
int sdr_scrf_id;
int ok_to_reuse;
int last_sdr;
int mar;
int mar_scrf_id;
char *auto_inc_base;
struct SPI_STREAM_S *overlap_begin;
struct SPI_STREAM_S *overlap_end;
int last_dma_cache_index;
int must_wait;
SPI_STREAM_TYPE_E load_type;
} SPI_STREAM_COMMON_T;
typedef
#line 140 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
struct SPI_STREAM_S {
#line 133 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
int offset;
int length;
SPI_STREAM_TYPE_E type;
int position;
int word_position;
int word_count;
SPI_STREAM_COMMON_T *common;
} SPI_STREAM_T;
typedef unsigned int SPI_UCODE_T;
typedef
#line 153 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
struct {
#line 146 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
int uc_reg;
int sdr;
int sdr_offset;
int sdr_length;
int sdr_location;
int sdr_scrf_id;
SPI_STREAM_T *str;
} SPI_STREAM_ARG_T;
typedef
#line 161 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
struct {
#line 157 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
int uc_reg;
SPI_SCALAR_TYPE_E type;
void *value;
int size;
} SPI_SCALAR_ARG_T;
typedef
#line 185 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
struct SPI_KERNEL_S {
#line 165 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
char *name;
SPI_UCODE_T *ucode;
int ucode_location;
int stream_arg_count;
SPI_STREAM_ARG_T *stream_args;
int scalar_arg_count;
SPI_SCALAR_ARG_T *scalar_args;
int sdrs[8];
int next_reg;
int sdr_count;
int load_slot;
unsigned int clustop_dep;
int clustop_slot;
int next_stream;
int next_scalar;
int arg_count;
SPI_PERF_T dpu_timer;
int uar;
int uar_scrf_id;
int ucode_offset;
} SPI_KERNEL_T;
#line 192 "c:/spi_rapidev/tools/bin/../include/spi_runtime.h"
void _spi_set_arch(char *arch);
void _spi_set_lanes(int lanes);
int _spi_get_lanes(void );
void _spi_set_lrf_size_per_lane(int bytes);
int _spi_get_lrf_size_per_lane(void );
void _spi_barrier(void );
void _spi_cond_read(SPI_STREAM_T *str, char *data, int *do_read);
void _spi_cond_write(SPI_STREAM_T *str, char *data, int *do_write);
int _spi_count(SPI_STREAM_T *str);
int _spi_eos(SPI_STREAM_T *str);
void _spi_array_read(SPI_STREAM_T *str, char *data, int *index);
void _spi_array_write(SPI_STREAM_T *str, char *data, int *index);
void _spi_read(SPI_STREAM_T *str, char *data);
void _spi_write(SPI_STREAM_T *str, char *data);
int _spi_load(SPI_STREAM_T *str, int str_offset, int str_length, void *data, int offset, int count, int group, int stride, int transpose, SPI_STREAM_T *indexes, int index_offset, int index_length);
int _spi_store(SPI_STREAM_T *str, int str_offset, int str_length, void *data, int offset, int count, int group, int stride, int transpose, SPI_STREAM_T *indexes, int index_offset, int index_length);
int _spi_open(SPI_STREAM_T *str, char *name, int record_size, int lrf_size, int location);
void _spi_close(SPI_STREAM_T *str);
void _spi_close_all();
int _spi_check_lrf_allocation(void );
void _spi_print_lrf_allocation(void );
int _spi_lrf_allocated();
void _spi_kernel_begin(SPI_KERNEL_T *kern);
void _spi_kernel_load(SPI_KERNEL_T *kern, int location);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -