FPGA经验谈系列文章——9、块储存器的高效使用
前言
每个7系列的FPGA都包含多个36Kb容量的块存储器,俗称BlockRAM。一个BlockRAM是36Kb,它能够拆分成独立的两个18Kb,因此最小的使用单位就是18Kb。如果只想使用1Kb怎么办?不好意思,也得占用半个块存储资源18Kb。那如果使用了19Kb的话,那么就得使用一个完整的36Kb的BlockRAM了。因此我们尽量规划好存储资源的使用,特别是在存储资源紧张的时候合理规划,不要浪费,小存储需求可以采用SLICEM中的LUT构建的分布式RAM来解决。
配置种类
一个BlockRAM可以配置成各种深度和宽度的组合,使用非常灵活。
每个36Kb的BRAM根据位宽与深度的不同,可以配成成如下形式(深度 ×位宽):32K x 1, 16K x 2, 8K x 4, 4K x 9, 2K x 18, 1K x 36, 512 x 72。
每个18Kb的BRAM根据位宽与深度的不同,可以配成成如下形式(深度 ×位宽):16K x 1, 8K x2, 4K x 4, 2K x 9, 1K x 18 , 512 x 36。
同时BlockRAM的实现形式也可以配置成几种
(1)真双口RAM(True Dual-p