基于静态随机存储器(SRAM)的存算电路设计 | 主讲回顾( 四 )


第一个是inference速度会受到量化精度的影响 。 量化精度越高 , 对于inference准确度越友好 , 但是对于实际硬件的操作速度是不太友好的 , 这也是电路当中通常会讲到的词叫tradeoff 。 我们会涉及到outputresolution跟inferencespeed之间的tradeoff 。
第二个是对于常规的6TbasedCIM单元来说 , 这里面的核心问题是当baseline在sum过程当中 , 如果电压过低 , 可能会导致原本存取唯一的cell发生误翻 , 发生误翻的话 , 整个cell就没有存储功能了 , 这是无法接受的 , 这也意味着从整个的设计上来看 , 必须要保证这部分baseline要高于readmargin 。 这些部分也限制了在执行计算任务当中 , 各种不同MAC值之间的sensingcircuitmargin 。
第三个是受到PVTVariation的影响 , 包括一些非线性的问题 , 甚至是各种不同的pattern , 得到的结果可能是一样的 , 但是对硬件来说 , 其表现形式可能是不一样的 , 这部分也需要很多的解决思路 。
针对以上三个挑战 , 接下来介绍下我们早期的一些工作研究 。
第一个是针对全连接的网络 , 开展65nm4KbSplit-6TSRAMCIMmacro的设计 , 这也是最早一批发表在ISSCC上的工作 。 它的核心是把6T分成左右两个path的方式来节省计算功耗 , 同时针对VSA在不同的共模电压下 , 达到很好的offset降低的效果 。 我们也提出来新的VSA , 最后实现了55.8TOPS/W能耗效率 , 这是第一个早期的对于binaryCIM的探索工作 。
第二个工作也是全球第一批在ISSCC上发表多值的multibit运算工作 , 叫做Twin-8TSRAMCIM的设计 。 它解决的核心问题是如何实现从单bit到多bit转化过程中的高效Mapping的问题 , 尤其是对于有符号数的乘加操作 , 我们采用了2补数的Mapping方式 , 再结合所定制的Twin-8Tcell , 可以在存内实现高效的多bit运算 , 同时不会造成很大面积的开销 。
最近几年大家比较关注的点是HighPrecisionCIM设计 。 它的Challenge比LowPrecisionCIM相对处于更加进阶的版本 , 这里也列举了三个比较核心的挑战 。
第一个是要支持更高precision , 对于整个senseingmargin来说 , 呈现指数级的减少 , 对电路来说会更复杂 。
第二个是在有着不同的area、cellvariation和accuracy之间的tradeoff 。 第三部分是在执行highprecision计算任务过程中 , 电路实现的成本 , 包括面积和功耗的代价 , 也呈现了整体的增长趋势 。
为了解决这部分挑战 , 我们采用了局部计算单元的方式 , 将原本所有多值都在Analogdomain中去计算 , 这样对于ADC的要求 , 或者是低bit量化电路的要求非常高 。 如果将它拆开 , 可以利用数字电路在执行时的移位以及加法部分的高效特点 , 同时使得这部分也具有了高精度的扩展性的特色 。
我们提出Weight-bitwiseMAC的操作 , 大家有可能会疑问Readout部分的电路 , 它还是在模拟域实现 , 如果有计算误差 , 是否会被数字电路所放大?这部分也有很多相关的校正电路和逻辑在里面 。
三、基于存算一体的AI芯片的发展和趋势
最后针对存算一体的AI芯片做总结和发展的预测 。 我们统计了近几年ISSCC相关的工作 , 可以看到整个存算 , 尤其是SRAM , 不管是macrolevel还是processorlevel的工作都越来越多 , 所支持的计算类型也越来越复杂 , 跟产业化的结合也越来越近 。
以品质因素的发展来作为驱动 , 相关的参考文献都有列出 , 从近几年比较有代表性的工作 , 可以看到在支持的运算精度上 , 从早期的logic到BNN再到MultibitMAC;运算类型也有各种各样的类别 , 包括数字、模拟 , 模拟又可以细分为电流电荷或时域频域等等 。
总的来看 , SRAM存算的最大好处是工业成熟度 , 毫无疑问是最成熟的 , 它跟CMOS工艺完全匹配 , 同时操作速度更快 , 使得它更适合用于高性能、高精度以及中大算力需求的场景当中 , 包括智能驾驶、等一些场景 。 当然它也有一些劣势 , 包括存储密度低、设计复杂度相对较高等 。