1. 常用方法学
1.1 分类穷举
1.1.1 思路
面对新问题时,常常情况很多,考虑不够全面容易导致电路设计过程中出现bug,这时候不要盲目解决问题,可以考虑分类穷举的方法。
1)先把大问题分情况考虑。
2)然后在每个情况下,穷举可能出现的结果。
3)最后对重复情况进行整合,得到最优解。
1.1.2 函数f(x)
已知x,想得到结果y,可以设定函数y=f(x),接下来就是想办法推公式,可以采用穷举思路总结规律等等。
优秀的加速器方案设计,本质上是给一组规律的集合x,集合y,找到它们之间的映射关系f(x)=y,并考虑一定的边界条件。
至于集合x,和集合y,需要从实际问题中提炼出来,这些技能都需要通过抽象思维以及递推思想反复训练得到,一旦想清楚解题公式,递推过程,边界条件,coding将会变得非常简单
1.2 结果导向(跳跃障碍)
1.2.1 思路
电路设计结构中,我们知道最优的结果是什么样的,其实某种程度上就是限定了一种条件,但是已知条件不能轻易的到达这个结果。
此时可以采用分类穷举的办法,一步一步考虑每个场景下的结果,特别注意要考虑边界条件
1.2.2 举例
1.2.2.1 基于压缩的脉动阵列
加速器电路结构中,对输入带宽依赖最小,计算结构最简单的就是脉动阵列结构,因此卷积计算中,脉动阵列这部分