Open redpanda3 opened 5 years ago
cmac 分为两个大的部分,cmac_reg和cmac_core。
reg部分负责和csb和dp交互,core负责计算。ping-pong reg,在官方文档里有介绍。
重点说说core,
因为core是要计算weight和data的向量积的,其中weight是要被缓存的,然后data不断被push进去。所以weight的部分先被存入shadow区,然后有data进来并满足csc那边进来的stripe的start&end的条件的话,拿出来卷积。
还有几个retiming的模块。。。这个就不说了。
欢迎讨论。
https://github.com/redpanda3/soDLA-ipynb/blob/master/CMAC.ipynb
这是我的对它的重构。即使用chisel做了最大程度地代码压缩,也是需要一些时间才能读懂的。
cmac 分为两个大的部分,cmac_reg和cmac_core。
reg部分负责和csb和dp交互,core负责计算。ping-pong reg,在官方文档里有介绍。
重点说说core,
因为core是要计算weight和data的向量积的,其中weight是要被缓存的,然后data不断被push进去。所以weight的部分先被存入shadow区,然后有data进来并满足csc那边进来的stripe的start&end的条件的话,拿出来卷积。
还有几个retiming的模块。。。这个就不说了。