NOR快閃記憶體被廣泛部署為FPGA的配置元件。工業、通訊和汽車先進駕駛輔助系統(ADAS)應用中使用的FPGA性能取決於NOR快閃記憶體的低延遲和高資料輸送量特性。快速啟動時間要求的一個典型例子是汽車環境下的攝影系統,汽車一發動,後視影像就要馬上顯示在儀表板顯示器上,這是一個首要的設計挑戰。

上電後,FPGA立即載入儲存在NOR元件中的配置位元流資料,傳輸完成後,FPGA轉換到活動(已配置好)狀態。FPGA包括許多配置介面選項,通常包括平行NOR匯流排和串列周邊介面(SPI)匯流排。

最新發佈的JEDEC xSPI規範是由所有主要的NOR快閃記憶體製造商聯合開發。新標準結束了數十年NOR快閃記憶體製造商獨立開發產品而沒有通用規範的局面,雖然存在細微差別,但核心JEDEC xSPI功能在所有製造商的記憶體產品中都是一樣的。JEDEC xSPI規範標準化了匯流排事務、命令和大量內部功能,結合高輸送量性能,這些新一代快閃記憶體可實現全新的應用和功能。例如,賽普拉斯半導體(Cypress)的Semper NOR快閃記憶體系列不但符合JEDEC xSPI規範,而且可提供持續的400MBps讀取傳輸速率,適合作為FPGA的配置記憶體。也就是說,400MBps的資料速率能夠在320ms內傳輸128MB(1Gb)的內容。

FPGA配置的歷史

當FPGA首次出現時,可選的配置記憶體不是平行EPROM,要不就是平行EEPROM產品。隨著時間的推移,NOR快閃記憶體技術開始出現,並因其系統內可重複程式設計性和成本優勢而被廣泛採用;第二個演化是SPI儲存介面在大多數應用中取代了平行NOR介面。今天的SPI儲存產品具有高密度、小封裝尺寸、高讀取輸送量等優點,最重要也許是其高效的低接腳數介面。

圖1顯示了與十億位元平行NOR產品相比的十億位元SPI元件的接腳排列。對於十億位元記憶體,四串列周邊介面(QSPI)元件帶有一個6接腳介面,而平行NOR元件需要45個接腳。接腳數量的極大減少讓QSPI元件被廣泛採用,成為首選的配置介面,且QSPI介面可在不改變元件佔用空間的情況下改變密度。

20190131TA31P1 圖1 十億位元QSPI(6接腳)和平行NOR(45接腳)介面。(資料來源:賽普拉斯半導體)

FPGA配置速度

隨著製程節點不斷縮小,FPGA元件繼續增加可用的可程式設計邏輯量,這就要求更高密度和更快速度的配置記憶體。現代FPGA在配置期間需要載入多達128MB的資料,這些高密度配置位元流需要更長的時間才能從NOR快閃記憶體傳輸到FPGA,配置介面不僅要針對讀取輸送量進行最佳化,還必須確保不同製造商的NOR快閃記憶體之間的互通性。

SPI讀取輸送量

SPI讀取輸送量在過去幾年中急劇提升,從最初運作在×1模式的SPI介面,一直到運作×4 DDR的現代QSPI記憶體。從表1中可以看出,下一代快閃記憶體元件能夠達到更高的SPI匯流排性能。

20190131TA31P1-1 表1 快閃記憶體元件的SPI讀取輸送量選項。(資料來源:賽普拉斯半導體)

現代SPI元件能夠被永久配置為固定匯流排寬度和傳輸類型,可在上電時立即運作。FPGA必須支援這一永久配置特性,以便在上電後立即開始配置過程。

或者,SPI記憶體可以在×1模式下退出上電,允許主系統(FPGA)查詢記憶體中的串列快閃記憶體可發現參數(SFDP)表中的特性。這種×1模式已成為多個記憶體供應商支持的標準功能,而且可以讓FPGA檢索有關元件功能的關鍵資訊。一旦檢索到元件特性,就可以快速重新配置FPGA儲存控制器和SPI記憶體元件,以獲得最大的讀取性能。

20190131TA31P2 圖2 串列快閃記憶體可發現參數表用於在上電時配置SPI匯流排功能。(資料來源:賽普拉斯半導體)

下一代快閃記憶體元件可以工作於×1、×4或×8匯流排寬度,並支援SDR或DDR傳輸類型,在使用中利用整合的SFDP表檢索關鍵元件資訊至關重要,選擇哪種匯流排寬度和傳輸類型,必須與FPGA上實施的匯流排介面配置保持一致。

雙QSPI配置介面

為了縮短FPGA配置時間,許多現代FPGA允許將配置位元流劃分到兩個QSPI元件(圖3)。這兩個QSPI元件以平行方式連接,其中位元流的低半位元組儲存在「主」QSPI元件(QSPI_P)中,而位元流的高半位元組儲存在「輔助」QSPI元件(QSPI_S)中。這兩個元件在載入位流時平行運作,從而有效地使讀取資料傳輸速率加倍。

20190131TA31P3 圖3 雙QSPI配置介面(11個接腳)允許配置位元流在兩個QSPI元件之間進行劃分,從而有效地將讀取資料傳輸速率提高一倍。(料來源:賽普拉斯半導體)

請注意,除了共用的SCK線之外,介面基本上是獨立於這兩個元件,實施共用SCK線的目的是在平行(亦即同時)方式下讀取元件時最小化時序偏差。當使用相同的目標位址執行相同的操作時,可以一次一個地對元件訪問,或者同時對兩個元件進行訪問。

當大型FPGA元件需要以最快的方式傳輸大配置(即高密度)位元流時,這種11接腳的雙QSPI配置將很有吸引力。

快閃記憶體配置

下一代快閃記憶體可以×1(主要用於SFDP訪問)、×4或×8 IO匯流排寬度執行。資料可以SDR或DDR格式傳輸,並且使用新的資料選通訊號以有助於高速傳輸,例如,賽普拉斯的Semper NOR快閃記憶體元件的8進位制配置使用11接腳介面(圖4)。

20190131TA31P4 圖4 使用低接腳數介面,可以SDR或DDR格式,按照×1、×4或×8 IO匯流排寬度來傳輸資料。這裡顯示的是採用11接腳介面的賽普拉斯Semper NOR快閃記憶體的8進位制配置。(資料來源:賽普拉斯半導體)

必須將新的Data Strobe合併到FPGA配置介面中,以充分利用下一代快閃記憶體元件的高輸送量讀取性能。資料選通與輸出讀取資料邊緣對齊,其方式與低功耗DDR DRAM元件使用的選通方式相同(圖5),Data Strobe可以「繪製」資料眼圖,並讓FPGA以高時脈速率有效地擷取資料。

20190131TA31P5 圖5 具有資料選通功能的×8 DDR讀取事務與輸出讀取資料邊緣對齊,使FPGA能夠以高時脈速率有效擷取資料。(資料來源:賽普拉斯半導體)

一個非常適合FPGA配置的快閃記憶體功能是可支援連續讀取操作。連續讀取開始於主機(MCU或FPGA)啟動CS#,然後發出讀取命令,後面帶著目標位址,經過多次延遲週期,記憶體從目標位址輸出資料。如果主機繼續切換時脈,那麼記憶體將透過從下一個順序位址輸出資料做出回應,只要時脈繼續切換,記憶體將繼續從順序位址輸出資料,這種順序讀取功能可以利用單個讀取事務對FPGA進行配置。

另一個有助於FPGA配置的功能是AutoBoot。AutoBoot在上電重定期間從預先配置的目標位址執行自動讀取操作,然後在第一次啟動CS#時立即輸出資料(圖6),這一功能對需要簡單配置機制的ASIC元件也很有用。一旦CS#被置位元,記憶體將返回到其待機狀態,並以正常方式處理後續操作。

20190131TA31P6 圖6 Autoboot讀取功能(具有3個預熱週期)正在執行中。(資料來源:賽普拉斯半導體)

NOR快閃記憶體元件的寫入事務(圖7)與標準SPI操作幾乎完全相同,但有兩個例外。首先,在整個事務期間必須將新的Data Strobe訊號驅動為低電平。其次,當配置為DDR操作時,資料被寫為字(16bit),而不是傳統SPI產品上的位元組編寫細微性。

20190131TA31P7 圖7 NOR快閃記憶體的寫事務要求在整個事務期間將Data Strobe訊號驅動為低電平,並且在配置為DDR操作時將資料寫為16位元字。(資料來源:賽普拉斯半導體)

下一代NOR快閃記憶體元件的高輸送量性能可滿足大規模FPGA應用的高密度和即時啟動要求。所有主要的NOR快閃記憶體製造商都參與了JEDEC xSPI規範的開發,這為OEM提供了更多的採購選擇。JEDEC xSPI規範涵蓋了上述8進位制SPI介面,以及HyperBus介面,兩者均提供400MBps的讀取輸送量,已實現的讀取輸送量遠遠高於傳統SPI產品。不過,需要對FPGA SPI控制器進行修改以充分利用其高速配置,也需要考慮的新功能包括DDR資料速率、用於資料擷取的新資料選通接腳,以及擴展的×8匯流排介面。

此外,一些NOR快閃記憶體元件(例如賽普拉斯Semper NOR系列)允許在實施雙QSPI配置架構時去除其中一個QSPI元件。在需要快速FPGA配置時間,以及執行即時重新配置的FPGA應用中,下一代快閃記憶體提供的性能具有很大的吸引力。

(參考原文: FPGA configuration using high-speed NOR flash,by Cliff Zitlaw)