JunningWu / Learning-NVDLA-Notes

NVDLA is an Open source DL/ML accelerator, which is very suitable for individuals or college students. This is the NOTES when I learn and try. Hope THIS PAGE may Helps you a bit. Contact Me:junning.wu@ia.ac.cn
219 stars 66 forks source link

CDMA #8

Open JunningWu opened 6 years ago

JunningWu commented 6 years ago

CDMA作为Convolution流水线的一环,从SRAM和DRAM中读取数据,并存入CBUF中。CDMA支持多种格式的数据输入,包括Pixel data /Feature data /Uncompressed/compressed weight /WMB /WGS等。CDMA具有两个读通道,AXI接口协议,分别完成数据和权值的读取。CDMA的只发出读请求,且64位对齐访问。

http://nvdla.org/_images/ias_image17_cdma.png

在CDMA的内部,存在4个子模块,分别为CDMA_DC,CDMA_WG,CDMA_IMG和一个权值读取模块CDMA_WT,每个子模块的工作流程一样,只不过数据在存入CBUF的时候顺序不同而已;且某一时刻只有一个子模块处于工作状态。

JunningWu commented 6 years ago

status_0和status_1寄存器位,表示当group0/1使能且consumer相同的时候,为1;不同则为2,未使能则为0.

JunningWu commented 6 years ago

CDMA的工作成流程大致如下: 1.检查CBUF是否有足够的剩余空间存放读取的数据 2.发起读数据请求 3.将数据暂存在共享存储器中 4.根据配置,将数据的顺序重新摆放 5.发起CBUF的写入请求 6.将整理后的数据写入CBUF 7.更新CBUF的相关状态寄存器,以供CDMA查阅