流水线设计

  在这里记录一下自己插流水的心得。

 

  最近是做了一个补边的模块,补完给卷积核做卷积运算。因为只用了一个FIFO还是怎么样,时序紧张了,就是大的行缓存FIFO的输出接回去FIFO的输入,另一路接到另一个输出FIFO上。因此插了一级寄存器,插的过程中发现两个可能会矛盾的点。再加上之前梯度计算部分也涉及到了许多隐式的插寄存器,也有一些修改的心得。为什么说隐式是因为插入的作用是为了调整时序而非时序不满足。

  第一个就是,插寄存器就涉及到逻辑的修改,基本同级的逻辑都要缓存一级,组合逻辑就要打断。那么这个修改的复杂程度和整个逻辑的“宽度”直接相关。那么最好就是在逻辑的开头和结尾插入。

  第二个就是,寄存器的插入位置最好是在逻辑的中间,这样能获得最好的时序改善效果。

  那么这两个就会常常矛盾了。

posted @ 2020-08-19 13:57  天山明月  阅读(287)  评论(0编辑  收藏  举报