在使用 FPGA 过程中,通常需要对资源做出评估,下面简单谈谈如何评估FPGA的资源。
FF和LUT的数目:
这个在写出具体代码之前,初学者通常没法估算,但资深FPGA工程师会估算出一个数量级。通常的做法是系统架构划分好后可以复用的模块根据以前设计中的资源消耗数来估,新的模块写完代码后估。
RAM :
这块在实现架构定好后,基本能准确地估出来,各个模块需要用到几个FIFO,几个RAM,最终整个系统的RAM数量可以确定。前提是所有功能的实现方式设计好。
乘法器:
这个与上面RAM的估法一致。
锁相环, 时钟 分配器,时钟资源:
这部分在系统设计架构完成后,根据各个模块的时钟频率来确定。
IO管脚数目:
这部分其实是和需求强相关的,基本上需求确定好,实现方式确定好。
特殊IO:
这部分的估算有时候和硬件接口相关,有时候和实现方式相关。举例来说,LVDS的数目通常由对接的硬件器件确定,而DDR部分需要根据系统实现方式来确定,确定DDR的带宽,频率,接口的位宽等,这样对DDR IP CORE的需求也就出来了。
总之,在经验不足的情况下更常用的做法是现在一块比较大的开发板上实现主要功能,然后在综合工具上综合后,直接看资源。