TPUPerf/
├── framework/ # 仿真框架层
│ ├── include/
│ │ ├── profiler.h # 性能数据收集器
│ │ ├── instruction.h # 指令上下文 (~80 字段)
│ │ ├── parser.h # 指令文件解析器
│ │ └── Brahma_profiler.h # Brahma 格式 Profiler
│ └── src/
│
├── ip/ # IP 核心模块
│ ├── include/
│ │ ├── ife/ # IFE 指令取指引擎
│ │ │ ├── ife.h # 取指解码主模块 (8 级流水)
│ │ │ ├── ife_master.h # AXI/TXI 接口控制
│ │ │ └── move_module.h # 向量寄存器搬运模块
│ │ ├── tiu_module/ # TIU 计算引擎内部
│ │ │ ├── tiu_module_top.h # 向量引擎顶层
│ │ │ ├── tiu_module_cube_top.h # Cube 引擎顶层
│ │ │ ├── dpc_des.h # DES 描述符加载 (2 拍)
│ │ │ ├── dpc_gen.h # GEN 地址生成 (NCHW)
│ │ │ ├── dpc_issue.h # ISSUE 发射控制
│ │ │ ├── dpc_arb.h # ARB Bank 冲突仲裁
│ │ │ └── compute_unit.h # COMPUTE 计算单元
│ │ └── wdc/ # WDC 存储控制器
│ │ ├── wdc.h # 顶层: 6 级 Fabric 路径
│ │ ├── umc.h # DDR 控制器封装
│ │ ├── dram_unit.h # DDR 时序模型
│ │ └── x2x.h # 跨时钟域桥 (800M->400M)
│ └── src/
│
├── noc/ # NoC 片上网络
│ ├── include/
│ │ ├── NoC.h # 2D Mesh 顶层
│ │ ├── Router.h # 路由器 (6 端口 x 8 VC)
│ │ ├── Tile.h # Mesh 节点 (3 通道隔离)
│ │ ├── rn.h # Request Node (TLM->Flit)
│ │ └── sn.h # Service Node (Flit->TLM)
│ ├── routingAlgorithms/ # XY, West-First, Odd-Even, DYAD 等
│ └── selectionStrategies/ # Buffer-Level, Random, NOP
│
├── spec/sg2260/ # 芯片规格定义
│ ├── include/ # 指令寄存器格式 (TIU/GDMA/CDMA)
│ └── spec/include/ # 寄存器位域定义, 地址映射
│
└── cfg/ # 芯片配置 YAML