Teledyne e2v的宇航級DDR4的硬件設計指南
摘要
快速、高可靠和耐輻射的存儲是復雜空間邊緣計算系統的必備特性。DDR4 將使航天工業(yè)實(shí)現更高吞吐量的星上計算能力和更長(cháng)的采集時(shí)間,從而支持全新的地球觀(guān)測、空間科學(xué)和電信應用,例如超高分辨率圖像、實(shí)時(shí)流媒體視頻和星載人工智能。
我之前介紹過(guò)面向宇航應用的 Teledyne e2v 的耐輻射 DDR4 (DDR4T04G72),可提供 4GB 的存儲容量,高達1.2GHz的時(shí)鐘頻率和 2.4GT/s 的數據速率(帶寬為 172.8Gb/s),本文將更深入地介紹這款宇航級 DDR4 存儲器的細節。
本文的第一部分將討論 SDRAM的技術(shù)實(shí)現,然后擴展到 DDR4 的架構和結構,因為 DDR4 包含了最新的架構和硬件特性,需要首先考慮這些要素以確保設計的正確性。
隨后,我將重點(diǎn)介紹 PolarFire FPGA 和 Teledyne e2v DDR4T04G72 之間點(diǎn)對點(diǎn)的連接的例子,以及多個(gè) DDR4器件如何與一片 Xilinx KU060 FPGA 連接。
最后,我將介紹DDR4 相比于DDR3 的優(yōu)點(diǎn),以及單模式和多模式的DDR4 配置及容量。
我之前介紹過(guò)這款面向宇航應用的 DDR4,可提供 4GB 的存儲容量,高達 1.2GHz 的時(shí)鐘頻率和 2.4GT/s 的數據速率(帶寬為 172.8Gb/s)。與前幾代 SDRAM 相比,DDR4 包含新的架構和硬件特性,提高了容量、性能、可擴展性、系統可靠性和電氣效率。除了上述內容,本文還將討論時(shí)序和信號完整性,以及如何將這個(gè)存儲器和FPGA 連接,以確保電子設計的正確性。
SDRAM 的架構由多個(gè)存儲單元組成,這些存儲單元組織在一個(gè)二維的行和列的數組中,如圖 1 所示。要選擇一個(gè)特定的位,首先需找到相關(guān)的行,然后是相關(guān)的列。一旦選通所需的行,就可以訪(fǎng)問(wèn)多個(gè)列,從而通過(guò)連續的讀/ 寫(xiě)操作提高速度并減少延遲。
為了增加字的大小,存儲器包含多個(gè)數組,而當請求讀/ 寫(xiě)訪(fǎng)問(wèn)時(shí),存儲器只需要一個(gè)地址來(lái)訪(fǎng)問(wèn)每個(gè)數組中的某一位。為了增加總的存儲容量,SDRAM 的內部結構包含許多 bank,如下圖所示。這些交錯的 bank 進(jìn)一步提高了性能,每一個(gè) bank 都可以被獨立尋址。
圖1 SDRAM 的bit cell 和 DDR 芯片的結構
SDRAM 的核心速度比它的 I/O 速率慢。在每個(gè)列指令期間可訪(fǎng)問(wèn)多個(gè)數據字,然后這些數據被序列化到接口。DDR4基于 8n 預取架構,每個(gè)時(shí)鐘周期在 I/O 傳輸兩個(gè) n 位寬的數據字。一個(gè)讀/寫(xiě)操作包括一個(gè)單獨的 8n 位寬、4 個(gè)周期的在DRAM核心上的傳輸操作和對應的8 個(gè)n 位、一個(gè)半周期的I/O 端口傳輸操作。
DDR4擴展了上述 SDRAM架構,引入了 bank 組的概念,允許在一個(gè)組中預取8個(gè),并在另一個(gè)組中獨立執行另一個(gè)操作。實(shí)際上,DDR4時(shí)分復用其內部的 bank 組,以隱藏內部核心比 I/O 端口傳輸8個(gè)字需要更多的時(shí)間這一事實(shí)。與 DDR3相比,DDR4 通過(guò)更多的 bank 和更小尺寸的行,使器件能夠以更高的速率訪(fǎng)問(wèn)不同的bank,從而提高性能。 DDR4 存儲器的結構如下圖所示。為了支持更大的存儲容量而不增加額外的地址引腳,DDR4 使用全新定義的 ACT_n輸入到命令管腳 RAS、CAS 和 WE 的復用地址。如果 ACT_n 為低,這些輸入被分別用作地址 A16、A15 和 A14 腳。如果ACT_n 為高,它們則恢復為SDRAM 命令真值表中指定的正常功能。
圖 1 EV12AQ600 的不確定性源和積累延遲
Teledyne e2v的4GB耐輻射DDR4T04G72是一款包含5個(gè)裸片的MCP,其中4個(gè)分別提供 1GB(8Gb)的存儲(512Mb x 16 位),組成2組,每組有4個(gè) bank,如上圖所示。為了提高可靠性,它使用72位的數據總線(xiàn),包含64位數據和8位錯誤檢測修復。這個(gè)ECC功能在第5片裸片中實(shí)現。該器件使用一個(gè)內部的8n預取緩沖以最大限度地高速運行,并提供可編程的讀、寫(xiě)和附加延遲。
DDR4引入了一些硬件特性以降低功耗。首先,I/O供電(VDDQ)從DDR3使用的1.35V降低到1.2V。增加了一個(gè)獨立的2.5V供電Vpp,用來(lái)激活內部字線(xiàn)并降低10%的功耗。數據總線(xiàn)的 I/O 電氣接口從推挽 SSTL 變?yōu)橄聢D所示的偽開(kāi)漏(POD)信號。通過(guò)截止到VDDQ而不是1/2的VDDQ,信號擺動(dòng)的幅值和中心可根據不同設計的需要定制。POD的I/O降低了驅動(dòng)數據時(shí)的開(kāi)關(guān)電流,因為只有0時(shí)才消耗功率。DDR4還提供數據總線(xiàn)倒置,以分配更少的位,降低熱量和功耗。通過(guò)減少開(kāi)關(guān)的次數,可減少噪聲,并實(shí)現更干凈的數據眼圖。
圖3 DDR3 的推挽 I/O 信號(左)vs. DDR4 的POD(右)
總的來(lái)說(shuō),降低的VDDQ電壓、使用外部Vpp供電操作字線(xiàn)、使用POD信號和VDDQ截止,以及前面討論的更小的行尺寸和激活電流,都使得DDR4的整體功耗比DDR3 SDRAM大大降低。在類(lèi)似的數據速率下,DDR4 器件大約減少了30%的功耗。這使得用戶(hù)可以實(shí)現更高的速度,或以更低的功耗實(shí)現相同的性能。我們可提供DDR4T04G72的功耗預測表和ICEPAK/ECXML熱模型。
在系統的層面,DDR4提供了更高的可靠性、可用性和可服務(wù)(RAS)。數據總線(xiàn)在寫(xiě)操作時(shí)的CRC錯誤檢測和命令、地址總線(xiàn)的奇偶校驗如下圖所示。與DDR3不同,DDR4可被配置為當檢測到奇偶校驗錯誤時(shí)停止命令。
圖4 DDR4 提供的系統級錯誤檢測
對于那些在存儲器的生命周期里無(wú)法使用ECC修復的軟錯誤,DDR4提供了一個(gè)“包后修復”的功能來(lái)糾正出現故障的行。這不僅提高了系統的可靠性和壽命,而且提供了一種進(jìn)一步防止單粒子翻轉的機制。
DDR4還提供了連接性測試模式(CT),用來(lái)在不調用SDRAM的初始化序列的情況下檢查內存和控制器之間的PCB走線(xiàn)的連續性。傳統的邊界掃描測試在每個(gè)時(shí)鐘周期串行移入和移出測試序列,與之不同,CT模式使用更快的并行接口。
DDR4的I/O接口是真正的源同步設計,使用雙向數據選通DQS,每個(gè)時(shí)鐘周期捕獲兩次數據。在寫(xiě)操作時(shí),DQS由存儲器輸出,與數據相關(guān);對于寫(xiě)操作,DQS由以數據為中心的控制器提供,提供同步參考。為了保證數據速率增加、幅度減小時(shí)的數據完整性,時(shí)鐘和strobe信號是差分的,以抵消共模噪聲。在PCB層面,DQS對數據總線(xiàn)有相同的負載,布線(xiàn)方式類(lèi)似。其余的地址、命令、控制和數據信號依然工作在單端模式,更容易受到噪聲、串擾和干擾的影響。
在PCB布線(xiàn)之前,需決定為布線(xiàn)不匹配留出多少時(shí)間余量,這一點(diǎn)很重要。我們可以考慮時(shí)間占整個(gè)周期的比例,例如時(shí)鐘頻率是1.2GHz 時(shí),一個(gè)周期是833ps。對于FR4的典型飛行時(shí)間是6.6ps/mm,所以1mm的走線(xiàn)大約消耗整個(gè)周期的1.6%。如果您的設計并不要求實(shí)現性能的極限,您可以為整體的線(xiàn)長(cháng)不匹配留出較大的余量,以提高布線(xiàn)靈活性,簡(jiǎn)化布線(xiàn)的工作。
當計算PCB的傳遞延遲時(shí),需注意內層(帶狀線(xiàn))和外層(微帶線(xiàn))的延遲不同,因為它們的有效介電常數不同。過(guò)孔引入了Z方向上額外的長(cháng)度,需匹配的線(xiàn)上的過(guò)孔數目應該相同,并有著(zhù)相同的跨度,以忽略它們對整體時(shí)間特性的影響。
在加工PCB之前,建議進(jìn)行布線(xiàn)后仿真,以確認時(shí)間余量和信號完整性。Teledyne e2v可提供DDR4T04G72的IBIS和Spice模型,使您可在設計早期確認電氣和時(shí)序是否滿(mǎn)足要求。我是用Mentor Graphics(現在是 Siemens)的Hyperlynx Linesim和Boardsim分別驗證布線(xiàn)前和布線(xiàn)后的信號完整性,優(yōu)化終端和驅動(dòng)能力,并驗證時(shí)間余量,以便在投產(chǎn)前確認沒(méi)有問(wèn)題。目前,另一種EBD模型也正在開(kāi)發(fā)中。
為了驗證使用內部布線(xiàn)層的控制器和存儲器之間的信號完整性,可參考PolarFire耐輻射FPGA與單片DDR4T04G72連接 的數 據線(xiàn) 的Linesim預測的眼圖(圖 5)。多個(gè)DDR4設備也可通過(guò)各自的IP控制器連接到單片FPGA上。
圖5 PolarFire 和 DDR4T04G72 的點(diǎn)對點(diǎn)連接
為了增加總體的存儲容量,相同的軟IP可控制fly-by或clamshell拓撲的多個(gè)DDR4器件,即公共時(shí)鐘、地址、控制和數據信號,而每片SDRAM有各自的片選輸入信號,如下圖所示。在這種情況下,傳輸線(xiàn)更長(cháng),容性負載更大,因此需要通過(guò)仿真來(lái)確定所需的驅動(dòng)器電流強度。每個(gè)KU060 DDR4控制器的最大數據總線(xiàn)寬度是80位,可訪(fǎng)問(wèn)最多5個(gè)外部存儲器,而FPGA可實(shí)例化其中的兩個(gè)IP。
圖6 多個(gè)DDR4 器件與Xilinx KU060 FPGA 的連接
Xilinx提供了一個(gè)視頻,演示如何實(shí)例化一個(gè)DDR控制器及其資源,以計算最大速率和可連接到FPGA的外部SDRAM設備的數量。PolarFire 的DDR4 IP提供了72位的數據總線(xiàn)寬度,允許上述的4 個(gè)DDR4T04G72的連接。
當DDR4T04G72連接到Xilinx的KU060或Microchip的PolarFire耐輻射FPGA時(shí),數據速率分別為1.33GT/s和1.86GT/s時(shí)的存儲容量和帶寬如表1所示??稍贔PGA中實(shí)例化的DDR4 IP的總數取決于您I/O使用的具體情況,所以請使用 Vivado? Design Suite 或 Libero? SoC確認您的配置。NanoXplore的NG-Ultra也將支持DDR4SDRAM。
表1 系統存儲容量和帶寬
Xilinx提供了一個(gè)視頻,演示如何實(shí)例化一個(gè)DDR控制器及其資源,以計算最大速率和可連接到FPGA的外部SDRAM設備的數量。PolarFire 的DDR4 IP提供了72位的數據總線(xiàn)寬度,允許上述的4 個(gè)DDR4T04G72的連接。
當DDR4T04G72連接到Xilinx的KU060或Microchip的PolarFire耐輻射FPGA時(shí),數據速率分別為1.33GT/s和1.86GT/s時(shí)的存儲容量和帶寬如表1所示??稍贔PGA中實(shí)例化的DDR4 IP的總數取決于您I/O使用的具體情況,所以請使用 Vivado? Design Suite 或 Libero? SoC確認您的配置。NanoXplore的NG-Ultra也將支持DDR4SDRAM。
圖7 DDR4 的命令、地址和控制信號的Fly-by 終端
圖8 DDR4 的差分時(shí)鐘輸入的 Fly-by 終端
DDR4有片上的核心和I/O的電容,因此,沒(méi)有必要為每對功率引腳分配外部電容。然而,需要為DDR4T04G72指定最小的PCB解耦,以防止SDRAM核心刷新、讀寫(xiě)時(shí)造成供電下降。解耦還為讀操作提供輸出的驅動(dòng)電流。
核心的頻率越低,所需的電容越大,而在高頻工作下的驅動(dòng)開(kāi)關(guān)則需要低電感和更小的電容。您已經(jīng)完成了原理圖設計、布線(xiàn)、預制時(shí)序和信號完整性檢查,分包了PCB的組裝,并驗證了板子能正常加電。
現在可以開(kāi)始使用存儲器了。但是,在操作之前,必須先初始化DDR4,這樣SDRAM才能識別其工作頻率和延遲參數。 DDR3使用一個(gè)分壓器創(chuàng )建Vdd/2,以作為參考來(lái)決定DQ信號是0還是1,如圖3所示。DDR4使用一個(gè)內部電壓參考,VrefDQ,它的值必須在初始化階段由存儲器控制器設置。此外,SDRAM需要定期校準輸出驅動(dòng)阻抗和ODT值,以最小化電壓和溫度的變化的影響,這一過(guò)程被稱(chēng)為ZQ校準。在使用DDR4前的最后一步是存儲器訓練,即計算SDRAM和對應控制器之間的讀/寫(xiě)延遲。如圖6所示,對于連接到FPGA的多個(gè)DDR4芯片,可能每個(gè)設備與控制器的距離都不同,導致時(shí)鐘、strobe和數據之間的飛行時(shí)間偏差。寫(xiě)校準可以補償這些偏差。在fly-back拓撲中,每個(gè)芯片在不同的時(shí)間接收命令、地址和控制,讀寫(xiě)中心始終捕獲眼圖的中間位置,確保數據可以可靠地從SDRAM讀取或寫(xiě)入到SDRAM。存儲器訓練在初始化時(shí)校準這些接口,確保操作之前有足夠的余量。
總而言之,DDR4 將使衛星行業(yè)實(shí)現更高吞吐量的星上處理和更長(cháng)的采集時(shí)間,并應用于全新的地球觀(guān)測、空間科學(xué)和電信應用,例如超高分辨率圖像、實(shí)時(shí)流媒體視頻和星上人工智能。如前所述,DDR4 包含新的架構和硬件特性,需要首先考慮這些要素以確保設計的正確性。除了器件的數據手冊,Teledyne e2v 還可提供 DDR4T04G72 的使用指南。
DDR4 將首次允許衛星和航天器制造商使用大存儲帶寬。在過(guò)去的 6 年里,我們的商業(yè)級應用伙伴一直在使用這種大存儲帶寬。與現有的經(jīng)過(guò)認證的 DDR3 SDRAM 相比,DDR4T04G72可與最新的宇航級 FPGA 和微處理器配合使用,使得:
● 內存帶寬增加62%(0.172 Tb/s,數據速率2.4GT/s),加倍當前的傳輸速度
● 存儲容量增加25%
● 物理尺寸減少 76%
● 功耗減少30%
Rajan Bedi 博士是 Spaceships 公司的 CEO 和創(chuàng )始人,該公司設計和制造一系列先進(jìn)的 L 到 K 波段的超高吞吐量星上處理器、應答機和 OBC,用于通信、地球觀(guān)測、導航、互聯(lián)網(wǎng)和 M2M/IoT 衛星。公司還提供宇航電子設計咨詢(xún)、航空電子測試、技術(shù)營(yíng)銷(xiāo)、商業(yè)智能和培訓服務(wù)。
Spaceships 的設計咨詢(xún)服務(wù)研發(fā)定制的衛星和航天器子系統,并為客戶(hù)提供建議,例如如何使用和選擇合適的器件,如何設計、測試、組裝和制造宇航電子系統等。我們在 FPGA 的宇航應用培訓課程上教授半導體存儲器的相關(guān)內容。
評論