电子说
当SoC系统的规模很大的时候,单片FPGA验证平台已经无法容纳这么多容量,我们将采取将SoC设计划分为多个FPGA的映射。理论上,采用FPGA设计的一个系统对于FPGA的数量并没有限制,而且一些FPGA的高手也能够很顺利的将巨大的数字系统设计很好的在多片FPGA系统中实现。
但实际在SoC开发过程中,采用FPGA原型验证系统平台的FPGA数量是有限的,当然一般厂商都号称可以数台级联扩展,实现数百台FPGA的级联,以实现数百亿门的逻辑规模的验证平台。
通常,以下几点将限制原型验证系统中FPGA的数量:
FPGA与FPGA片间连接:随着设计被拆分到更多的FPGA上的逻辑映射,FPGA之间的连接通常会增长很多,并且取决于设计及其分区方式,片间连接的信号数量可能会超过给定系统中的可用IO连接,所以高内聚、低耦合的分割策略尤为重要。FPGA片间连接受给定系统中可用FPGA之间连接性的限制。
根据FPGA系统的不同,FPGA片间的连接可以是固定的,也可以在某种程度上是可编程的。克服FPGA间连接的IO数量瓶颈的一种常见技术是使用高速引脚复用方案(TDM),其中多个信号“时间共享”单个IO连接。然而,时域引脚复用需要高速时钟,由于FPGA之间物理连接的定时限制,高速时钟可能会限制系统时钟速率。
信号传输:由于FPGA IO焊盘的上信号交互传播延迟通常远长于FPGA内的信号传播延迟,所以FPGA之间的信号传播通常是整个系统时序关键路径,直接影响系统时钟速率。整个板上过多的FPGA到FPGA延迟(包括长的信号稳定时间)将减少时序的裕度,并可能限制系统的时钟速率。由于物理实现,系统中FPGA的数量越多,信号传播延时问题就越严重,尤其是当信号通过多个连接器和连接介质(电缆、其他板)将多个板连接在一起时,接地回路和参考点可能变得无关紧要。
时钟分布:多FPGA系统中的时钟同步对其正常运行至关重要。具体而言,驱动来自一个FPGA的时钟域的信号和来自其他FPGA的时钟域的信号,这两个时钟必须在交换数据的FPGA之间具有最小的偏差,以不违反设置和保持时间,换句话说,不同FPGA上的时钟必须做到同步。系统随着FPGA的数量的增加而变得更大,物理实现上时钟分布可能变得更难,可接受的偏差实现起来更加困难,尤其是在多个板连接在一起的可扩展系统中。
手动分割不同的FPGA:随着整个系统中FPGA数量的增加,分区变得越来越复杂,手动分区可能完全不切实际。如果分区需要随着设计的变化而经常修改,这可能会变得特别困难。因此自动分割软件显得尤为重要,而自动分割中采取的分割算法的合理性成为一个有竞争的地方。
管理多个FPGA:虽然这个层面不是技术障碍,但整个原型验证系统中FPGA越多,整个过程就越繁琐,需要更大的管理工作量。具体而言,在每次FPGA的设计迭代中,可能需要重新处理(合成、放置和路由)多个FPGA,并行处理多个FPGA需要软件工具的多个工具许可证,否则该过程将变成串行的,需要更长的时间才能完成。此外,每个FPGA需要在引脚分配、时序约束、实现文件、修订控制等方面进行管理,这增加了整个项目工程管理开销。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !