例说FPGA连载37:DDR控制器集成与读写测试之FPGA片内存储器概述 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc 片内存储器是基于FPGA的嵌入系统中最简单的存储器。因为存储是在FPGA内部完成的,电路板上无需外部连线。FPGA的片内存储器可以根据需求定义存储器的大小、位宽、种类、及特殊的片内存储器特性,如DDR模式等。 片内存储器在基于FPGA的嵌入式系统的存储器中具有最高吞吐量和最低反应延时。它的反应延时通常仅为一个时钟周期。通过流水线操作访问存储器,可以使吞吐量达到每个时钟周期进行一次数据处理。 片内存储器的另一个好处是,由于它是在FPGA上直接实现的,它无需在板上或电路中进行写入。使用片内存储器可以节省开发时间和成本。 尽管速度很快,片内存储器在一定程度上会受到其容量的限制。FPGA可用的片内存储器的数量由所使用的特定FPGA器件决定,如Cyclone II系列有低至15KB存储量的器件,Stratix III系列却有高到2MB存储量的器件。 因为多数片内存储器都是易失性的,它在断电后丢失数据。然而,某些片内存储器可以在FPGA配置时自动初始化,相当于提供了一种非易失性的功能。 片内存储器的最佳应用场合包括作为常见的缓存、点到点的缓存、查找表以及FIFO等。 缓存,由于其具有低反应延时,片内存储器在微处理器中作为缓存表现良好。NIOS II处理器使用片内存储器作为引导和数据缓存。片内存储器有限的容量作为缓存通常不是一个问题,因为缓存本身都相对很小。 点到点的缓存,低延时的存取也使得片内存储器适用于作为器件间的缓存,即点到点的缓存。它是指处于正常的寻址空间,但与微处理器有专用接口的存储器。这些存储器主要用来实现缓存存储器的高速、低反应延时特性。 查找表,针对某些软件编程功能,尤其是数学上的功能。与在软件中进行计算相比,使用查找表储存所有可能的功能结果通常是最快的方法。片内存储器在这方面表现良好,前提是片内存储器的可用容量能够容纳可能的功能结果。 FIFO,嵌入系统经常需要管理从一个模块到另一个模块的数据流。FIFO可以在以不同的高速运行着的模块间作为数据缓冲存储器。根据应用程序所需的FIFO的大小,片内存储器可以作高速和便利的FIFO存储。 但片内存储器不适用于需要大容量存储的应用中。因为片内存储器容量相对受限,应避免使用其储存大量的数据。然而,有些工作可以更好地利用片内存储器完成。如果应用程序使用多个小块数据,并且不是所有的数据块都适合使用片内存储器,设计者应当仔细考虑某些应用可以使用片内存储器。如果用户的目标是系统的高速性能,可以将最经常存取的数据放在片内存储器中。
|