NVDLA系列之C-model:include<109>

//cmod/include/nvdla_ness_header/NV_MSDEC_xx2csb_erpt_iface.h

NV_MSDEC_xx2csb_erpt_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: NV_MSDEC_xx2csb_erpt_iface.h

#if !defined(_NV_MSDEC_xx2csb_erpt_iface_H_)
#define _NV_MSDEC_xx2csb_erpt_iface_H_

#include <stdint.h>
#ifndef _xx2csb_struct_H_
#include "xx2csb_struct.h"
#endif

union NV_MSDEC_xx2csb_erpt_u {
    
    
    xx2csb_t xx2csb;
};
typedef struct NV_MSDEC_xx2csb_erpt_s {
    
    
    union NV_MSDEC_xx2csb_erpt_u pd ; 
    uint8_t error ; 
} NV_MSDEC_xx2csb_erpt_t;

#endif // !defined(_NV_MSDEC_xx2csb_erpt_iface_H_)

这是一个C/C++头文件,文件名为 NV_MSDEC_xx2csb_erpt_iface.h。该头文件包含了一些结构体和类型定义,可能与错误报告 (xx2csb_erpt) 相关。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_NV_MSDEC_xx2csb_erpt_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. 包含其他头文件:#include "xx2csb_struct.h" 用于包含名为 xx2csb_struct.h 的其他头文件。这意味着该头文件可能依赖于 xx2csb_struct.h 中定义的结构体或类型。

  4. 联合类型定义:该文件包含了一个名为 NV_MSDEC_xx2csb_erpt_u 的联合类型,它的成员是 xx2csb_t 类型。这种联合类型的目的通常是为了方便在不同的数据类型之间进行转换。

  5. 结构体类型定义:最后,该文件定义了一个名为 NV_MSDEC_xx2csb_erpt_t 的结构体类型,其中包含一个 pd 成员,该成员是一个 NV_MSDEC_xx2csb_erpt_u 联合类型,以及一个 error 成员,它是一个 uint8_t 类型。这个结构体可能用于封装与错误报告 (xx2csb_erpt) 相关的数据。

根据文件名和内容,该头文件似乎用于定义与 xx2csb_erpt 接口相关的数据结构和类型,以便在源代码中使用这些定义来处理错误报告或与该接口相关的数据。

//cmod/include/nvdla_ness_header/nvdla_cc_credit_iface.h

nvdla_cc_credit_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_cc_credit_iface.h

#if !defined(_nvdla_cc_credit_iface_H_)
#define _nvdla_cc_credit_iface_H_

#include <stdint.h>

typedef struct nvdla_cc_credit_s {
    
    
    uint8_t size ; 
} nvdla_cc_credit_t;

#endif // !defined(_nvdla_cc_credit_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_cc_credit_iface.h。该头文件包含了一个名为 nvdla_cc_credit_t 的结构体类型定义,用于描述与NVDLA(NVIDIA Deep Learning Accelerator)相关的信用(credit)信息。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_cc_credit_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. 结构体类型定义:该文件定义了一个名为 nvdla_cc_credit_t 的结构体类型,它包含一个名为 size 的成员,该成员是一个 uint8_t 类型。这个结构体似乎用于表示与NVDLA信用(credit)相关的信息,其中 size 变量可能表示信用的大小或数量。

根据文件名和内容,该头文件似乎用于定义与NVDLA中信用机制相关的数据结构和类型。这些数据结构和类型可能在NVDLA的硬件或软件实现中使用,以管理和跟踪信用分配和使用情况。

//cmod/include/nvdla_ness_header/nvdla_dat_info_update_iface.h

nvdla_dat_info_update_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_dat_info_update_iface.h

#if !defined(_nvdla_dat_info_update_iface_H_)
#define _nvdla_dat_info_update_iface_H_

#include <stdint.h>

typedef struct nvdla_dat_info_update_s {
    
    
    uint16_t dat_entries ; 
    uint16_t dat_slices ; 
} nvdla_dat_info_update_t;

#endif // !defined(_nvdla_dat_info_update_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_dat_info_update_iface.h。该头文件定义了一个名为 nvdla_dat_info_update_t 的结构体类型,用于描述与NVDLA(NVIDIA Deep Learning Accelerator)相关的数据信息更新。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_dat_info_update_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. 结构体类型定义:该文件定义了一个名为 nvdla_dat_info_update_t 的结构体类型,它包含两个成员变量:

    • dat_entries:一个 uint16_t 类型的成员,可能表示数据信息中的条目数量或数据的条目数。
    • dat_slices:一个 uint16_t 类型的成员,可能表示数据信息中的切片数量或数据的切片数。

根据文件名和内容,该头文件似乎用于定义与NVDLA数据信息更新相关的数据结构和类型。这些数据结构和类型可能在NVDLA的硬件或软件实现中使用,以管理和跟踪数据信息的更新。
//cmod/include/nvdla_ness_header/nvdla_data_only_24B_iface.h

nvdla_data_only_24B_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_data_only_24B_iface.h

#if !defined(_nvdla_data_only_24B_iface_H_)
#define _nvdla_data_only_24B_iface_H_

#include <stdint.h>

typedef struct nvdla_data_only_24B_s {
    
    
    uint64_t data [3] ; 
    uint8_t sync ; 
} nvdla_data_only_24B_t;

#endif // !defined(_nvdla_data_only_24B_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_data_only_24B_iface.h。该头文件定义了一个名为 nvdla_data_only_24B_t 的结构体类型,用于描述包含24字节数据的数据结构。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_data_only_24B_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. 结构体类型定义:该文件定义了一个名为 nvdla_data_only_24B_t 的结构体类型,它包含两个成员变量:

    • data:一个长度为3的数组,每个元素为 uint64_t 类型,总共占用24字节的内存空间,用于存储数据。
    • sync:一个 uint8_t 类型的成员,可能用于表示数据的同步状态或其他控制信息。

根据文件名和内容,该头文件似乎用于定义一个数据结构 nvdla_data_only_24B_t,该结构包含一个固定大小的数据数组(24字节)和一个用于同步控制的成员。这种数据结构可能在NVDLA的硬件或软件实现中使用,用于处理和传输24字节的数据块。

//cmod/include/nvdla_ness_header/nvdla_dma_rd_req_iface.h

nvdla_dma_rd_req_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_dma_rd_req_iface.h

#if !defined(_nvdla_dma_rd_req_iface_H_)
#define _nvdla_dma_rd_req_iface_H_

#include <stdint.h>
#ifndef _dma_read_cmd_struct_H_
#define _dma_read_cmd_struct_H_

typedef struct dma_read_cmd_s {
    
    
    uint64_t addr ; 
    uint16_t size ; 
} dma_read_cmd_t;

#endif

union nvdla_dma_rd_req_u {
    
    
    dma_read_cmd_t dma_read_cmd;
};
typedef struct nvdla_dma_rd_req_s {
    
    
    union nvdla_dma_rd_req_u pd ; 
} nvdla_dma_rd_req_t;

#endif // !defined(_nvdla_dma_rd_req_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_dma_rd_req_iface.h。该头文件定义了一个名为 nvdla_dma_rd_req_t 的结构体类型,用于描述DMA(Direct Memory Access)读取请求的数据结构。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_dma_rd_req_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. DMA读取请求结构体类型定义:该文件定义了一个名为 nvdla_dma_rd_req_t 的结构体类型,它包含两个成员变量:

    • pd:一个联合体(union),用于描述不同类型的DMA读取请求。在这个文件中,它包含一个 dma_read_cmd_t 类型的成员变量。
    • dma_read_cmd:一个结构体,包含以下成员变量:
      • addr:一个 uint64_t 类型的成员,表示DMA读取请求的起始地址。
      • size:一个 uint16_t 类型的成员,表示DMA读取请求的数据大小。

根据文件名和内容,该头文件用于定义一个用于DMA读取请求的数据结构 nvdla_dma_rd_req_t。这种数据结构可能在NVDLA的硬件或软件实现中使用,用于发起DMA读取操作,指定读取的起始地址和数据大小。

//cmod/include/nvdla_ness_header/nvdla_dma_rd_rsp_iface.h

nvdla_dma_rd_rsp_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_dma_rd_rsp_iface.h

#if !defined(_nvdla_dma_rd_rsp_iface_H_)
#define _nvdla_dma_rd_rsp_iface_H_

#include <stdint.h>
#ifndef _dma_read_data_struct_H_
#define _dma_read_data_struct_H_

typedef struct dma_read_data_s {
    
    
    uint64_t data [8] ; 
    uint8_t mask ; 
} dma_read_data_t;

#endif

union nvdla_dma_rd_rsp_u {
    
    
    dma_read_data_t dma_read_data;
};
typedef struct nvdla_dma_rd_rsp_s {
    
    
    union nvdla_dma_rd_rsp_u pd ; 
} nvdla_dma_rd_rsp_t;

#endif // !defined(_nvdla_dma_rd_rsp_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_dma_rd_rsp_iface.h。该头文件定义了一个名为 nvdla_dma_rd_rsp_t 的结构体类型,用于描述DMA(Direct Memory Access)读取响应的数据结构。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_dma_rd_rsp_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. DMA读取响应结构体类型定义:该文件定义了一个名为 nvdla_dma_rd_rsp_t 的结构体类型,它包含两个成员变量:

    • pd:一个联合体(union),用于描述不同类型的DMA读取响应。在这个文件中,它包含一个 dma_read_data_t 类型的成员变量。
    • dma_read_data:一个结构体,包含以下成员变量:
      • data:一个包含8个 uint64_t 元素的数组,表示DMA读取的数据内容。
      • mask:一个 uint8_t 类型的成员,表示DMA读取的数据掩码。

根据文件名和内容,该头文件用于定义一个用于DMA读取响应的数据结构 nvdla_dma_rd_rsp_t。这种数据结构可能在NVDLA的硬件或软件实现中使用,用于表示DMA读取操作的响应,包括读取的数据内容和掩码。

//cmod/include/nvdla_ness_header/nvdla_fc_sc_credit_iface.h

nvdla_fc_sc_credit_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_fc_sc_credit_iface.h

#if !defined(_nvdla_fc_sc_credit_iface_H_)
#define _nvdla_fc_sc_credit_iface_H_

#include <stdint.h>

typedef struct nvdla_fc_sc_credit_s {
    
    
    uint16_t updated_entry_number ; 
    uint16_t updated_slice_number ; 
} nvdla_fc_sc_credit_t;

#endif // !defined(_nvdla_fc_sc_credit_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_fc_sc_credit_iface.h。该头文件定义了一个名为 nvdla_fc_sc_credit_t 的结构体类型,用于描述NVDLA(NVIDIA Deep Learning Accelerator)中的全连接(Fully Connected)层与片上存储器(SC,Storage Class)之间的信用信息。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_fc_sc_credit_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含标准 C/C++ 头文件:#include <stdint.h> 用于包含 C/C++ 标准库中定义的整数类型。

  3. 结构体类型定义:该文件定义了一个名为 nvdla_fc_sc_credit_t 的结构体类型,它包含两个成员变量:

    • updated_entry_number:一个 uint16_t 类型的成员,表示更新的条目(entry)数量。
    • updated_slice_number:一个 uint16_t 类型的成员,表示更新的片(slice)数量。

根据文件名和内容,该头文件用于定义一个用于表示NVDLA中全连接层与片上存储器之间信用信息的数据结构 nvdla_fc_sc_credit_t。这种数据结构可能在NVDLA的硬件或软件实现中使用,用于管理全连接层与片上存储器之间的数据传输和资源管理。

//cmod/include/nvdla_ness_header/nvdla_mac2accu_if_iface.h

nvdla_mac2accu_if_iface.h

// ================================================================
// NVDLA Open Source Project
// 
// Copyright(c) 2016 - 2017 NVIDIA Corporation.  Licensed under the
// NVDLA Open Hardware License; Check "LICENSE" which comes with 
// this distribution for more information.
// ================================================================

// File Name: nvdla_mac2accu_if_iface.h

#if !defined(_nvdla_mac2accu_if_iface_H_)
#define _nvdla_mac2accu_if_iface_H_

#include <stdint.h>
#ifndef _nvdla_stripe_info_struct_H_
#include "nvdla_stripe_info_struct.h"
#endif

union nvdla_mac2accu_if_u {
    
    
    nvdla_stripe_info_t nvdla_stripe_info;
};
typedef struct nvdla_mac2accu_if_s {
    
    
    uint8_t mask ; 
    uint8_t mode ; 
    uint64_t data [3] [8]; 
    union nvdla_mac2accu_if_u pd ; 
} nvdla_mac2accu_if_t;

#endif // !defined(_nvdla_mac2accu_if_iface_H_)

这是一个C/C++头文件,文件名为 nvdla_mac2accu_if_iface.h。该头文件定义了一个名为 nvdla_mac2accu_if_t 的结构体类型,用于描述NVDLA(NVIDIA Deep Learning Accelerator)中的MAC(Multiply-Accumulate)模块到累加器(Accumulator)模块的接口。

以下是文件的主要内容和结构:

  1. 头文件保护宏:#if !defined(_nvdla_mac2accu_if_iface_H_)#endif 用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。

  2. 包含另一个头文件:#include "nvdla_stripe_info_struct.h" 用于包含名为 nvdla_stripe_info_t 的结构体的定义。

  3. 结构体类型定义:该文件定义了一个名为 nvdla_mac2accu_if_t 的结构体类型,它包含以下成员变量:

    • mask:一个 uint8_t 类型的成员,用于表示数据掩码。
    • mode:一个 uint8_t 类型的成员,用于表示模式。
    • data:一个二维数组,表示数据。
    • pd:一个联合体 nvdla_mac2accu_if_u,包含一个成员 nvdla_stripe_info,用于表示NVDLA条带信息。

根据文件名和内容,该头文件用于定义一个用于表示NVDLA中MAC模块到累加器模块的接口数据结构 nvdla_mac2accu_if_t。这种数据结构可能在NVDLA的硬件或软件实现中用于控制MAC模块向累加器模块传输数据和信息。

猜你喜欢

转载自blog.csdn.net/lincolnjunior_lj/article/details/134996273
109