//cmod/include/nvdla_ness_header/nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface.h
nvdla_ram_addr_ADDR_WIDTH_12_BE_1_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_ram_addr_ADDR_WIDTH_12_BE_1_iface.h
#if !defined(_nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface_H_)
#define _nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_addr_ADDR_WIDTH_12_BE_1_s {
uint16_t addr ;
uint8_t hsel ;
} nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t;
#endif // !defined(_nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface.h
。该头文件定义了一个名为 nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t
的结构体类型,用于表示具有12位地址宽度和1位激活选择的RAM地址。
以下是文件的主要内容和结构:
-
头文件保护宏:
#if !defined(_nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface_H_)
和#endif
用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。 -
结构体类型定义:该文件定义了一个名为
nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t
的结构体类型,它包含以下成员变量:addr
:一个uint16_t
类型的成员,用于表示12位地址。hsel
:一个uint8_t
类型的成员,用于表示激活选择。
根据文件名和内容,该头文件用于定义一个用于表示RAM地址的数据结构 nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t
,这种数据结构在NVDLA的硬件或软件实现中用于管理和控制RAM地址。
//cmod/include/nvdla_ness_header/nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface.h
nvdla_ram_addr_ADDR_WIDTH_8_BE_1_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_ram_addr_ADDR_WIDTH_8_BE_1_iface.h
#if !defined(_nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface_H_)
#define _nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_addr_ADDR_WIDTH_8_BE_1_s {
uint8_t addr ;
uint8_t hsel ;
} nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t;
#endif // !defined(_nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface.h
。该头文件定义了一个名为 nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t
的结构体类型,用于表示具有8位地址宽度和1位激活选择的RAM地址。
以下是文件的主要内容和结构:
-
头文件保护宏:
#if !defined(_nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface_H_)
和#endif
用于确保头文件在同一编译单元中只被包含一次,以防止重复定义。 -
结构体类型定义:该文件定义了一个名为
nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t
的结构体类型,它包含以下成员变量:addr
:一个uint8_t
类型的成员,用于表示8位地址。hsel
:一个uint8_t
类型的成员,用于表示激活选择。
根据文件名和内容,该头文件用于定义一个用于表示RAM地址的数据结构 nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t
,这种数据结构在NVDLA的硬件或软件实现中用于管理和控制RAM地址。
//cmod/include/nvdla_ness_header/nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h
nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_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_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h
#if !defined(_nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface_H_)
#define _nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_s {
uint64_t data [16] ;
} nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t;
#endif // !defined(_nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h
。该头文件定义了一个名为 nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t
的数据结构类型。根据文件名和定义,这个数据结构似乎用于表示具有以下特征的RAM数据:
- 数据宽度(DATA_WIDTH)为 1024 位。
- 使用 1 位的ECC(Error Correction Code)进行错误检测和纠正。
数据结构本身包含一个 data
数组,其中包含了 16 个 64 位的数据元素。这些数据元素用于存储 1024 位的RAM数据,同时还包括用于ECC的附加信息。
这种类型的数据结构通常用于与硬件接口交互,表示RAM数据及其有效性和纠正信息。
//cmod/include/nvdla_ness_header/nvdla_ram_rd_addr_iface.h
nvdla_ram_rd_addr_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_ram_rd_addr_iface.h
#if !defined(_nvdla_ram_rd_addr_iface_H_)
#define _nvdla_ram_rd_addr_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_rd_addr_s {
uint16_t addr ;
uint8_t re ;
} nvdla_ram_rd_addr_t;
#endif // !defined(_nvdla_ram_rd_addr_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_rd_addr_iface.h
。该头文件定义了一个名为 nvdla_ram_rd_addr_t
的数据结构类型。这个数据结构似乎用于表示RAM读取地址信息。
具体来说,nvdla_ram_rd_addr_t
包含两个成员:
addr
:一个 16 位的整数,用于表示RAM读取的地址。re
:一个 8 位的整数,表示读取使能信号(Read Enable)或其他控制信息。
这种类型的数据结构通常用于与硬件接口交互,以指定要从RAM中读取数据的地址和读取操作的控制参数。实际用途和详细规范需要查看头文件的上下文或相关文档来确定。
cmod/include/nvdla_ness_header/nvdla_ram_rd_data_128B_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_ram_rd_data_128B_iface.h
#if !defined(_nvdla_ram_rd_data_128B_iface_H_)
#define _nvdla_ram_rd_data_128B_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_rd_data_128B_s {
uint64_t data [16] ;
} nvdla_ram_rd_data_128B_t;
#endif // !defined(_nvdla_ram_rd_data_128B_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_rd_data_128B_iface.h
。该头文件定义了一个名为 nvdla_ram_rd_data_128B_t
的数据结构类型。这个数据结构似乎用于表示从RAM中读取的数据,每个数据结构包含一个包含128字节数据的数组。
具体来说,nvdla_ram_rd_data_128B_t
包含一个成员:
data
:一个包含16个64位整数的数组,总共128字节的数据。
这种类型的数据结构通常用于与硬件接口交互,以接收从RAM中读取的数据。实际用途和详细规范需要查看头文件的上下文或相关文档来确定。
cmod/include/nvdla_ness_header/nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_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_ram_rd_valid_port_RADDR_12_RDATA_1024_iface.h
#if !defined(_nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_iface_H_)
#define _nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_iface_H_
#include "nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface.h"
#include "nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h"
typedef struct nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_s {
nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t nvdla_ram_addr_ADDR_WIDTH_12_BE_1;
nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1;
} nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_t;
#endif // !defined(_nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_iface.h
。该头文件定义了一个名为 nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_t
的数据结构类型。
这个数据结构 nvdla_ram_rd_valid_port_RADDR_12_RDATA_1024_t
包含两个成员:
-
nvdla_ram_addr_ADDR_WIDTH_12_BE_1
:这是另一个数据结构nvdla_ram_addr_ADDR_WIDTH_12_BE_1_t
的实例。它用于表示RAM的地址,通常是一个12位的地址。 -
nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1
:这是另一个数据结构nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t
的实例。它用于表示从RAM读取的数据,通常是一个1024位(128字节)的数据。
根据文件名和数据结构的命名,可以推断出这个数据结构用于表示从某个RAM(随机存储器)读取的数据和相应的地址。这种类型的数据结构通常用于与硬件接口交互,以接收从RAM中读取的数据并包含相关的地址信息。具体用途和详细规范需要查看头文件的上下文或相关文档来确定。此外,该头文件还包含了其他头文件 nvdla_ram_addr_ADDR_WIDTH_12_BE_1_iface.h
和 nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h
,它们定义了用于RAM地址和数据的更详细的信息。
cmod/include/nvdla_ness_header/nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_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_ram_rd_valid_port_RADDR_8_RDATA_1024_iface.h
#if !defined(_nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_iface_H_)
#define _nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_iface_H_
#include "nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface.h"
#include "nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h"
typedef struct nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_s {
nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t nvdla_ram_addr_ADDR_WIDTH_8_BE_1;
nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1;
} nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_t;
#endif // !defined(_nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_iface.h
。该头文件定义了一个名为 nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_t
的数据结构类型。
这个数据结构 nvdla_ram_rd_valid_port_RADDR_8_RDATA_1024_t
包含两个成员:
-
nvdla_ram_addr_ADDR_WIDTH_8_BE_1
:这是另一个数据结构nvdla_ram_addr_ADDR_WIDTH_8_BE_1_t
的实例。它用于表示RAM的地址,通常是一个8位的地址。 -
nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1
:这是另一个数据结构nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_t
的实例。它用于表示从RAM读取的数据,通常是一个1024位(128字节)的数据。
根据文件名和数据结构的命名,可以推断出这个数据结构用于表示从某个RAM(随机存储器)读取的数据和相应的地址信息。这种类型的数据结构通常用于与硬件接口交互,以接收从RAM中读取的数据并包含相关的地址信息。具体用途和详细规范需要查看头文件的上下文或相关文档来确定。此外,该头文件还包含了其他头文件 nvdla_ram_addr_ADDR_WIDTH_8_BE_1_iface.h
和 nvdla_ram_data_valid_DATA_WIDTH_1024_ECC_SIZE_1_iface.h
,它们定义了用于RAM地址和数据的更详细的信息。
cmod/include/nvdla_ness_header/nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_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_ram_wr_port_WADDR_12_WDATA_512_BE_1_iface.h
#if !defined(_nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_iface_H_)
#define _nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_iface_H_
#include <stdint.h>
typedef struct nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_s {
uint16_t addr ;
uint8_t hsel ;
uint64_t data [8] ;
} nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_t;
#endif // !defined(_nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_iface.h
。该头文件定义了一个名为 nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_t
的数据结构类型。
这个数据结构 nvdla_ram_wr_port_WADDR_12_WDATA_512_BE_1_t
包含三个成员:
-
addr
:这是一个16位的整数,用于表示RAM(随机存储器)的写入地址。 -
hsel
:这是一个8位的整数,表示写操作是否有效或其他控制信息。 -
data
:这是一个包含8个64位整数的数组,用于表示要写入RAM的数据。每个64位整数表示512位数据。
根据文件名和数据结构的命名,可以推断出这个数据结构用于表示要写入某个RAM的数据以及写入的地址信息。这种类型的数据结构通常用于与硬件接口交互,以便将数据写入RAM。具体用途和详细规范需要查看头文件的上下文或相关文档来确定。
cmod/include/nvdla_ness_header/nvdla_sdp2pdp_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_sdp2pdp_iface.h
#if !defined(_nvdla_sdp2pdp_iface_H_)
#define _nvdla_sdp2pdp_iface_H_
#include <stdint.h>
#ifndef _sdp2pdp_struct_H_
#define _sdp2pdp_struct_H_
typedef struct sdp2pdp_s {
uint16_t data [16];
} sdp2pdp_t;
#endif
union nvdla_sdp2pdp_u {
sdp2pdp_t sdp2pdp;
};
typedef struct nvdla_sdp2pdp_s {
union nvdla_sdp2pdp_u pd ;
} nvdla_sdp2pdp_t;
#endif // !defined(_nvdla_sdp2pdp_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_sdp2pdp_iface.h
。该头文件定义了一个名为 nvdla_sdp2pdp_t
的数据结构类型。
这个数据结构 nvdla_sdp2pdp_t
包含一个成员:
data
:这是一个包含16个16位整数的数组,用于表示数据。每个16位整数用于存储数据。
根据文件名和数据结构的命名,可以推断出这个数据结构用于SDP(Single Data Processor)到PDP(Pixel Data Processor)之间的数据传输。SDP和PDP通常是深度学习加速器中的处理单元,用于神经网络推理等任务。这种类型的数据结构通常用于表示要从SDP传输到PDP的数据。具体用途和详细规范需要查看头文件的上下文或相关文档来确定。
cmod/include/nvdla_ness_header/nvdla_wt_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_wt_info_update_iface.h
#if !defined(_nvdla_wt_info_update_iface_H_)
#define _nvdla_wt_info_update_iface_H_
#include <stdint.h>
typedef struct nvdla_wt_info_update_s {
uint16_t wt_kernels ;
uint16_t wt_entries ;
uint16_t wmb_entries ;
} nvdla_wt_info_update_t;
#endif // !defined(_nvdla_wt_info_update_iface_H_)
这是一个C/C++头文件,文件名为 nvdla_wt_info_update_iface.h
。该头文件定义了一个名为 nvdla_wt_info_update_t
的数据结构类型。
这个数据结构 nvdla_wt_info_update_t
包含三个成员:
-
wt_kernels
:这是一个16位整数,表示权重核心(Weight Kernels)的数量。 -
wt_entries
:这是一个16位整数,表示权重条目(Weight Entries)的数量。 -
wmb_entries
:这是一个16位整数,表示权重管理缓冲区(Weight Management Buffer)的条目数量。
根据文件名和数据结构的命名,可以推断出这个数据结构用于权重信息的更新。这些信息通常与深度学习模型的权重相关,用于神经网络推理等任务。这种类型的数据结构通常用于表示有关权重的信息,例如权重核心的数量、权重条目的数量以及权重管理缓冲区的大小。具体用途和详细规范需要查看头文件的上下文或相关文档来确定。