在使用 FPGA 过程中,通常需要对资源做出评估,下面简单谈谈如何评估 FPGA 的资源。


FF 和 LUT 的数目:

这个在写出具体代码之前,初学者通常没法估算,但资深 FPGA 工程师会估算出一个数量级。通常的做法是系统架构划分好后可以复用的模块根据以前设计中的资源消耗数来估,新的模块写完代码后估。

 

RAM

这块在实现架构定好后,基本能准确地估出来,各个模块需要用到几个 FIFO,几个 RAM,最终整个系统的 RAM 数量可以确定。前提是所有功能的实现方式设计好。

 

乘法器:

这个与上面 RAM 的估法一致。

 

锁相环,时钟分配器,时钟资源:

这部分在系统设计架构完成后,根据各个模块的时钟频率来确定。

 

IO 管脚数目:

这部分其实是和需求强相关的,基本上需求确定好,实现方式确定好。

 

特殊 IO:

这部分的估算有时候和硬件接口相关,有时候和实现方式相关。举例来说,LVDS 的数目通常由对接的硬件器件确定,而 DDR 部分需要根据系统实现方式来确定,确定 DDR 的带宽,频率,接口的位宽等,这样对 DDR IP CORE 的需求也就出来了。

 

总之,在经验不足的情况下更常用的做法是现在一块比较大的开发板上实现主要功能,然后在综合工具上综合后,直接看资源。