FPGA面积优化
1 对于速度要求不是非常高的情况下,我们能够把流水线设计成迭代的形式,从而反复利用FPGA功能同样的资源。
2 对于控制逻辑小于共享逻辑时,控制逻辑资源能够用来复用,比如FIR滤波器的实现过程中,乘法器是一个共享的资源,我们能够通过控制资源实现状态机,从而复用乘法器,当然这样也牺牲了面积。
3 对于具有类似计数单元的模块,能够採用全局的计数器,以减小面积。比如模块A须要256的循环计数,模块B须要1000的循环计数,那么我们就能够设计一个全局计数器,计数器位数为10,前八位供模块A使用,整个计数器供B使用。合理的利用pll进行分频,能够实现更灵活的全局计数器设计。
4对于FPGA的内部逻辑资源不一定所有支持复位(同步复位,异步复位),置位等。不当的复位置位会添加资源开销。比如DSP, RAM仅仅支持同步复位。对于移位寄存器不支持复位,乘法器不支持置位。
5 利用置位复位能够实现一些组合逻辑的优化;比如对于A|B我们能够将A直接与触发器的输入端相连,而B与触发器的置位段相连,这样就节省了一个或门。
6 对于面积要求比較紧的电路应尽量避免复位和置位。