新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 使用QDR-IV設(shè)計高性能網(wǎng)絡(luò)系統(tǒng)——第二部分

使用QDR-IV設(shè)計高性能網(wǎng)絡(luò)系統(tǒng)——第二部分

作者: 時間:2017-02-22 來源:電子產(chǎn)品世界 收藏

  總線轉(zhuǎn)換的注意事項

本文引用地址:http://butianyuan.cn/article/201702/344318.htm

  總線轉(zhuǎn)換時間非常重要,其決定了讀和寫指令間是否需要額外的間隔來避免在同一個I/O 端口上發(fā)生總線沖突。

  想象下 HP  中端口A 先后收到寫指令和讀指令。從CK 信號的上升沿(與初始化寫指令周期相對應(yīng))算起,在整整三個時鐘周期后向DQA 引腳提供寫數(shù)據(jù)。讀數(shù)據(jù)則將在下一個周期發(fā)送,因為 DQ從CK 信號的上升沿(與初始化讀指令的周期相應(yīng))算起五個時鐘周期后才能獲得數(shù)據(jù)。此外,為符合總線轉(zhuǎn)換時間和傳輸時延(從ASIC/FPGA 到QDR IV 存儲器),還有兩個額外周期。因此,啟動寫指令后,可以立即啟動讀指令。

  在其他情況下,如果先啟動讀指令后啟動寫指令,那么發(fā)送讀指令經(jīng)過三個時鐘周期后,才能發(fā)送寫指令。這是因為,從在時鐘信號CK 的上升沿上對讀指令進行采樣算起,經(jīng)過五個周期后可獲得DQA 引腳上的讀數(shù)據(jù),并且從在時鐘信號CK 的上 升沿上對寫指令進行采樣算起,在整三個時鐘周期內(nèi)向DQA 引腳提供寫數(shù)據(jù)。否則,將會發(fā)生總線沖突。因此,發(fā)送寫指令后的最小時鐘周期應(yīng)該為RL – WL + 1(RL:讀時延;WL:寫時延;這兩個時延的單位為時鐘周期數(shù))。另外一個時鐘周期用于正確捕獲數(shù)據(jù)并補償總線轉(zhuǎn)換時延(通常為一個時鐘周期)。

  如果傳輸時延大于總線轉(zhuǎn)換時延,那么‘讀到寫’指令間的間隔為:

  “讀到寫”指令間的時間周期 = 讀時延 – 寫時延 + 1 + 傳輸時延

  請參考圖7。發(fā)送讀指令經(jīng)過四個時鐘周期后,將發(fā)送端口A 的寫指令。這樣是為了避免因讀/寫時延、總線轉(zhuǎn)換時間和傳輸時延間的差別而導(dǎo)致的總線沖突。

  總線翻轉(zhuǎn)

   器件支持總線翻轉(zhuǎn)以降低切換噪聲和I/O功耗。在存儲事務(wù)處理中,存儲器控制器和都可以選擇應(yīng)用總線翻轉(zhuǎn)。

  由于QDR-IV 器件的POD 信令模式為I/O 信號提供了到VDDQ 的高壓終端選項,所以信號轉(zhuǎn)為高電平邏輯狀態(tài)不會耗電。因此,總線翻轉(zhuǎn)對于POD I/O 信號是一個很重要的性能。QDR-IV 會保證翻轉(zhuǎn)地址和數(shù)據(jù)總線的數(shù)據(jù)完整性。

  使用芯片配置寄存器來啟用或禁用地址和數(shù)據(jù)總線翻轉(zhuǎn)功能。

  地址總線翻轉(zhuǎn)

  AINV 是雙倍數(shù)據(jù)速率信號,每次將地址發(fā)送給存儲器器件時都會更新該信號。AINV 引腳指示是否對地址總線(An –A0)和AP 進行了翻轉(zhuǎn)。AINV 是高電平有效信號。當AINV = 1 時,將翻轉(zhuǎn)地址總線;當AINV = 0 時,不翻轉(zhuǎn)地址總線。AINV 引腳的功能由存儲器控制器控制。

  地址總線和地址奇偶位都被視為地址組(AG)。

  表5顯示的是AG 定義以及x18 和x36 QDR-IV 選項的AINV 設(shè)置條件。

  x36器件示例

  不進行地址總線翻轉(zhuǎn):

  假設(shè)要訪問的地址分別為22’h 000199和22’h 3FFCFF。17個地址引腳需要在第一個和第二個地址的邏輯狀態(tài)間進行切換,如下表所示(紅色單元格顯示)。這樣會增大地址引腳上的切換噪聲、I/O電流以及串擾。

  進行地址總線翻轉(zhuǎn):

  根據(jù)表5顯示,第一個地址組(22'h 000199)滿足翻轉(zhuǎn)邏輯條件。因此,存儲器控制器發(fā)送第一個地址組前,它會將地址組從22’h 000199翻轉(zhuǎn)為22’h 3FFE66,并將AINV引腳置為1。由于不需要翻轉(zhuǎn)第二個地址組,所以存儲器控制器可以將其直接發(fā)送,并將AINV設(shè)置為0。

  下表顯示的是地址總線翻轉(zhuǎn)的結(jié)果。在這種情況下,只有5個地址引腳需要切換邏輯(紅色單元格顯示)。切換位的總數(shù)降低為5,所以降低了由于同時切換輸出(SSO)而引起的噪聲、I/O電流以及串擾。

  數(shù)據(jù)總線翻轉(zhuǎn)

  數(shù)據(jù)總線翻轉(zhuǎn)在數(shù)據(jù)線路中也類似,但翻轉(zhuǎn)位由存儲器控制器在存儲器寫操作期間生成,并且翻轉(zhuǎn)位由QDR-IV存儲器中的翻轉(zhuǎn)邏輯在存儲器讀操作期間生成。

  DINVA和DINVB引腳指示了是否翻轉(zhuǎn)相應(yīng)的DQA和DQB引腳。DINVA和DINVB均為高電平有效信號。當DINV = 1時,將翻轉(zhuǎn)數(shù)據(jù)總線;當DINV = 0時,不翻轉(zhuǎn)數(shù)據(jù)總線。

  DINVA[1]和DINVA[0]相互獨立并控制與其相應(yīng)的DQA組。DINVA[0]控制DQA[17:0](對于x36的配置)或DQA[8:0](對于x18的配置)。DINVA[1]控制DQA[35:18](對于x36的配置)或DQA[17:9](對于x18的配置)。同樣,DINVB[0]控制x36配置中的DQB[17:0]或x18配置中的DQB[8:0]。DINVB[1]控制x36配置中的DQB[35:18]或x18配置中的DQA[17:9]。

  表8顯示的是DINV位說明以及x18和x36 QDR-IV選項的DINVA設(shè)置條件。

  注意:可以對DINVA[1]、DINVB[0]以及DINVB[1]使用相同的翻轉(zhuǎn)邏輯,以便控制相應(yīng)的DQ組。

  x18器件的示例

  不進行數(shù)據(jù)總線翻轉(zhuǎn):

  假設(shè)需要分別發(fā)送DQA[8:0]上的9’h 007和9’h 1F3。6個數(shù)據(jù)引腳需要在第一個和第二個DQA[8:0]位的邏輯狀態(tài)之間進行切換,如下表所示(紅色單元格顯示)。這樣會增大數(shù)據(jù)引腳上的切換噪聲、I/O電流以及串擾。

  進行數(shù)據(jù)總線翻轉(zhuǎn):

  根據(jù)表8,第一個DQA[8:0]滿足翻轉(zhuǎn)邏輯條件。因此,存儲器控制器發(fā)送第一個DQA[8:0]前,它會將引腳地址從9’h 007翻轉(zhuǎn)為9’h 1F8,并將DINVA[0]引腳設(shè)置為1。由于第二個DQA[8:0]不需要翻轉(zhuǎn),所以存儲器控制器可以直接發(fā)送它,并將DINVA[0]設(shè)置為0。

  表10顯示的是數(shù)據(jù)總線翻轉(zhuǎn)的結(jié)果。在這種情況下,只有3個數(shù)據(jù)引腳需要切換邏輯(紅色單元格顯示)。切換位的總數(shù)降低為3,所以降低了SSO的噪聲、I/O電流以及串擾。 

  地址奇偶校驗

  QDR-IV只有一條地址總線,但其以雙倍數(shù)據(jù)速率和高頻率運行。因此,地址奇偶校驗輸入(AP)和地址奇偶校驗錯誤標志輸出(PE#)引腳提供了片上地址奇偶校驗功能,以便能夠確保地址總線完整性。地址奇偶校驗功能是可選的;可以使用配置寄存器來啟用或禁用它。

  通過該AP引腳可以在各地址引腳(An到A0)上進行偶校驗。設(shè)置AP值,使AP和An-A0中邏輯“1”的總數(shù)為偶數(shù)。

  對于數(shù)據(jù)總線寬度為x18的器件,設(shè)置AP值,使A[21:0]和AP中邏輯“1”的總數(shù)為偶數(shù)。

  對于數(shù)據(jù)總線寬度為x36的器件,設(shè)置AP值,使A[20:0]和AP中邏輯“1”的總數(shù)為偶數(shù)。

  器件的示例

  以數(shù)據(jù)總線寬度為x36的器件的21’h1E0000和21’h1F0000地址為示例。表11顯示的是如何為每個地址設(shè)置AP值。

  當發(fā)生奇偶錯誤時,在配置寄存器4、5、6和7中(請查看相關(guān)數(shù)據(jù)手冊,了解有關(guān)配置寄存器的更多信息)記錄第一個錯誤的完整地址以及端口A/B錯誤位和地址翻轉(zhuǎn)位。端口A/B錯誤位表示發(fā)生地址奇偶錯誤的端口:0表示端口A,1表示端口B。持續(xù)鎖存該信息,直到向配置寄存器3中的地址奇偶錯誤清除位寫入1來清除該信息為止。

  通過兩個計數(shù)器,可以表示是否發(fā)生了多個地址奇偶錯誤。端口A錯誤計數(shù)是端口A地址上奇偶錯誤數(shù)量的運行計數(shù)器。同樣,端口B錯誤計數(shù)是端口b地址上奇偶錯誤數(shù)量的運行計數(shù)器。每個計數(shù)器獨立計數(shù)到最大值(3),然后將停止計數(shù)。這些計數(shù)器均是自由運行的;對配置寄存器3的地址奇偶錯誤清除位寫入1,可將其復(fù)位。

  檢測到地址奇偶錯誤后,寫操作就會被忽略,以防止損壞存儲器。但是,如果輸入地址錯誤,仍會繼續(xù)執(zhí)行讀操作,但存儲器會發(fā)送出假數(shù)據(jù)。

  PE#為低電平有效信號,表示地址奇偶錯誤。檢測到地址奇偶錯誤后,PE#信號在8個周期(QDR-IV XP )或5個周期(QDR-IV HP )內(nèi)被設(shè)置為0。它將保持置位狀態(tài),直到通過配置寄存器清除了錯誤為止。處理完地址翻轉(zhuǎn)便表示完成了地址奇偶檢查。

  PE#轉(zhuǎn)為低電平后,會停止存儲器操作,并使用配置寄存器將PE#復(fù)位為高電平。此外,由于發(fā)生AP錯誤的寫操作也被阻止,所以需要向存儲器重新編寫數(shù)據(jù)。

  在本系列第三部分,我們將探討校正問題,其中包括矯正訓(xùn)練、控制/地址校正和讀寫校正,以及糾錯碼(ECC)和QDR-IV存儲器控制器的設(shè)計建議。



關(guān)鍵詞: QDR-IV SRAM

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉