FPGA原型验证分割方案简析

ASIC RTL转为FPGA版本

Posted by KevinZhang on March 22, 2020

1. 前言

最近三周都无更新,在解决因芯片设计过大FPGA原型验证的分割问题。FPGA原型验证的分割方案在PR阶段都有严重的congestion问题,无法将设计全部放进去,在此总结过程中的失败经验和在此过程中一些分割方案总结。

2. 采用措施

2.1 congestion造成PR不过的解决方案

造成congestion的问题是线太绕了,要尽量节约充足的布线资源。

  1. 合理分配FPAG之间的资源使用量,保证每颗FPGA的LUT在50%以下;
  2. 减少FPGA连接的过多的连接线;
  3. 合理裁剪设计过大造成使用资源过高的问题,减少LUT使用量。

2.2 分割方案符合低耦合高内聚

在FPGA分割方案中,要尽量符合低耦合高内聚的方案,较少不同FPGA之间的连线。在某次试验中,一个FPGA的LUT资源使用量在30%,但因为与外部5个FPGA布线连接过多,造成congestion过高,依然无法布线通过。

2.3 跨板卡连接的信号频率尽量低

TDM的连接尽量不要使用过高的频率,在一次分割方案中,TDM传输200MHz的DDR4输入地址信号,导致时序无法满足。后来将跨时钟的FIFO放在另一块FPGA上,将TDM的时钟传输的信号降低为1M,时序问题解决。

2.4 尽量使用BLOCK RAM 资源

在能使用BLOCK RAM的地方,尽量不使用distribution RAM,这样会减少很多的congestion问题。

3. 总结

在过去的一个月里,做了很多的试验,依然无法将设计全部放进去,现在的方案已经采用将设计裁剪,分块验证的方案。