Learning-NVDLA-Notes
                                
                                
                                
                                    Learning-NVDLA-Notes copied to clipboard
                            
                            
                            
                        CDMA
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的时候顺序不同而已;且某一时刻只有一个子模块处于工作状态。
status_0和status_1寄存器位,表示当group0/1使能且consumer相同的时候,为1;不同则为2,未使能则为0.
CDMA的工作成流程大致如下: 1.检查CBUF是否有足够的剩余空间存放读取的数据 2.发起读数据请求 3.将数据暂存在共享存储器中 4.根据配置,将数据的顺序重新摆放 5.发起CBUF的写入请求 6.将整理后的数据写入CBUF 7.更新CBUF的相关状态寄存器,以供CDMA查阅