片内存储器是基于FPGA的嵌入系统可使用的最简单的存储器。由于存储是在FPGA内部完成,电路板上无需外部连线。可以简单地选择SOPC builder中System Contents-> On-Chip Memory选项,来完成设计中的片内存储器。也可以根据需求定义片内存储器的大小、带宽、种类、及特殊的片内存储器性质,如DDR等。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
优点
片内存储器在基于FPGA的嵌入系统可使用的存储器中是具有最高吞吐量和最低反应延时的。它的反应延时通常仅为一个时钟周期。通过存储处理管道化,可以使吞吐量达到每个时钟周期进行一次处理。
有些片内存储器被设计成可以在DDR模式下进行存取,其中读和写是分别进行操作的。DDR模式能够有效地实现双倍存储带宽,允许存储器在一个通道进行写入,同时在另一个通道进行读取。
片内存储器的另一个好处是,由于它是在FPGA上直接实现的,它无需在板上或电路中进行写入。使用片内存储器可以节省开发时间和成本。
一些片内存储器可以在FPGA配置时自动初始化。这种存储器可以被用来保持小数据量的启动代码或重启动所需的LUT数据。
缺点
尽管速度很快,片内存储器在一定程度上会受到其容量的限制。FPGA可用的片内存储器的数量由使用的特定FPGA器件决定,容量范围从最小的Cyclone II device中15KB到最大的Stratix III device中近2MB。
因为多数片内存储器都是易失性的,它在断电后丢失数据。然而,某些片内存储器可以在FPGA配置时自动初始化,相当于提供了一种非易失性的功能。
最佳应用场合
以下是片内存储器适宜的一些应用。
缓存
由于其具有低反应延时,片内存储器在微处理器中作为缓存表现良好。Nios II处理器使用片内存储器作为引导和数据缓存。片内存储器有限的容量作为缓存通常不是一个问题,因为缓存本身都相对很小。
点到点的缓存
能够在低反应时间下进行存取也使得片内存储器适用于做器件间的缓存,即点到点的缓存,它是指处于正常的寻址空间,但与微处理器有专用接口的存储器。这些存储器主要用来实现缓存存储器的高速、低反应延时特性。
查找表
针对某些软件编程功能,尤其是数学上的功能。与在软件中进行计算相比,使用查找表储存所有可能的功能结果通常是最快的方法。片内存储器在这方面表现良好,前提是片内存储器的可用容量能够容纳可能的功能结果。
文章评论(0条评论)
登录后参与讨论