DDR控制器集成與讀寫測試之FPGA片內存儲器概述

片內存儲器是基於FPGA的嵌入系統中最簡單的存儲器。因爲存儲是在FPGA內部完成的,電路板上無需外部連線。FPGA的片內存儲器可以根據需求定義存儲器的大小、位寬、種類、及特殊的片內存儲器特性,如DDR模式等。

片內存儲器在基於FPGA的嵌入式系統的存儲器中具有最高吞吐量和最低反應延時。它的反應延時通常僅爲一個時鐘週期。通過流水線操作訪問存儲器,可以使吞吐量達到每個時鐘週期進行一次數據處理。

片內存儲器的另一個好處是,由於它是在FPGA上直接實現的,它無需在板上或電路中進行寫入。使用片內存儲器可以節省開發時間和成本。

儘管速度很快,片內存儲器在一定程度上會受到其容量的限制。FPGA可用的片內存儲器的數量由所使用的特定FPGA器件決定,如Cyclone II系列有低至15KB存儲量的器件,Stratix III系列卻有高到2MB存儲量的器件。

因爲多數片內存儲器都是易失性的,它在斷電後丟失數據。然而,某些片內存儲器可以在FPGA配置時自動初始化,相當於提供了一種非易失性的功能。

片內存儲器的最佳應用場合包括作爲常見的緩存、點到點的緩存、查找表以及FIFO等。

緩存,由於其具有低反應延時,片內存儲器在微處理器中作爲緩存表現良好。NIOS II處理器使用片內存儲器作爲引導和數據緩存。片內存儲器有限的容量作爲緩存通常不是一個問題,因爲緩存本身都相對很小。

點到點的緩存,低延時的存取也使得片內存儲器適用於作爲器件間的緩存,即點到點的緩存。它是指處於正常的尋址空間,但與微處理器有專用接口的存儲器。這些存儲器主要用來實現緩存存儲器的高速、低反應延時特性。

查找表,針對某些軟件編程功能,尤其是數學上的功能。與在軟件中進行計算相比,使用查找表儲存所有可能的功能結果通常是最快的方法。片內存儲器在這方面表現良好,前提是片內存儲器的可用容量能夠容納可能的功能結果。

FIFO,嵌入系統經常需要管理從一個模塊到另一個模塊的數據流。FIFO可以在以不同的高速運行着的模塊間作爲數據緩衝存儲器。根據應用程序所需的FIFO的大小,片內存儲器可以作高速和便利的FIFO存儲。

但片內存儲器不適用於需要大容量存儲的應用中。因爲片內存儲器容量相對受限,應避免使用其儲存大量的數據。然而,有些工作可以更好地利用片內存儲器完成。如果應用程序使用多個小塊數據,並且不是所有的數據塊都適合使用片內存儲器,設計者應當仔細考慮某些應用可以使用片內存儲器。如果用戶的目標是系統的高速性能,可以將最經常存取的數據放在片內存儲器中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章