<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 使用QDR-IV設計高性能網(wǎng)絡(luò )系統之二

使用QDR-IV設計高性能網(wǎng)絡(luò )系統之二

作者: 時(shí)間:2017-06-08 來(lái)源:網(wǎng)絡(luò ) 收藏

本文引用地址:http://dyxdggzs.com/article/201706/352504.htm

在本系列第一部分,我們探討了兩種類(lèi)型的QDR-IV、時(shí)鐘、讀/寫(xiě)操作和分組操作。在第二部分,我們將探討、、等重要的總線(xiàn)問(wèn)題。

的注意事項
時(shí)間非常重要,其決定了讀和寫(xiě)指令間是否需要額外的間隔來(lái)避免在同一個(gè)I/O 端口上發(fā)生總線(xiàn)沖突。

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

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

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

“讀到寫(xiě)”指令間的時(shí)間周期 = 讀時(shí)延 – 寫(xiě)時(shí)延 + 1 + 傳輸時(shí)延

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

圖7. QDR-IV HP SRAM時(shí)序分析圖



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

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

使用芯片配置寄存器來(lái)啟用或禁用地址和數據總線(xiàn)翻轉功能。

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

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

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

表5. 地址總線(xiàn)翻轉條件


x18

x36

地址群

AG[22:0] = A[21:0],AP

AG[21:0] = A[20:0],AP

翻轉邏輯

如果AG[22:0]中邏輯“0”的數量≥12,將AINV置為1,這時(shí)會(huì )對AG[22:0]進(jìn)行翻轉

如果AG[21:0]中邏輯“0”的數量≥11,將AINV置為1,這時(shí)會(huì )對AG[21:0]進(jìn)行翻轉

如果AG[22:0]中邏輯“0”的數量12,將AINV置為0,這時(shí)不會(huì )翻轉AG[22:0]

如果AG[21:0]中邏輯“0”的數量11,將AINV 置為0,這時(shí)不會(huì )翻轉AG[21:0]

x36器件示例


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

表6. 地址總線(xiàn)序列(未進(jìn)行總線(xiàn)翻轉)

AG[21:0]

22位(二進(jìn)制)

第一個(gè)地址組- 22h 000199

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

1

0

0

1

第2個(gè)地址組 - 22h 3FFCFF

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

1

1

1

1

1

1

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

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

表7. 地址總線(xiàn)序列(進(jìn)行總線(xiàn)翻轉)

AG[21:0]

22位(二進(jìn)制)

AINV

第一個(gè)地址組 - 22h 3FFE66(翻轉后

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

0

1

1

0

1

第二個(gè)地址組 - 22h 3FFCFF(保持不變

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

1

1

1

1

1

1

0


數據總線(xiàn)翻轉

數據總線(xiàn)翻轉在數據線(xiàn)路中也類(lèi)似,但翻轉位由存儲器控制器在存儲器寫(xiě)操作期間生成,并且翻轉位由QDR-IV存儲器中的翻轉邏輯在存儲器讀操作期間生成。

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

DINVA[1]和DINVA[0]相互獨立并控制與其相應的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位說(shuō)明以及x18和x36 QDR-IV選項的DINVA設置條件。

表8. 數據總線(xiàn)翻轉條件

x18

x36

DINV位

DINVB[1]控制DQB[17:9], DINVB[0]控制DQB[8:0]

DINVA[1]控制DQA[35:18], DINVA[0]控制DQA[17:0]

DINVB[1]控制DQB[35:18], DINVB[0]控制DQB[17:0]

翻轉邏輯

如果DQA[8:0]中的邏輯“0”數量 ≥ 5,將DINVA[0]設置為1,這時(shí)會(huì )對DQA[8:0]進(jìn)行翻轉

如果DQA[17:0]中的邏輯“0”數量 ≥ 10,將DINVA[0]設置為1,這時(shí)會(huì )對DQA[17:0]進(jìn)行翻轉

如果DQA[8:0]中的邏輯“0”數量 5,那么不對DQA[8:0]進(jìn)行翻轉并將DINVA[0]設置為0

如果DQA[17:0]中的邏輯“0”數量 10,那么不對DQA[17:0]進(jìn)行翻轉,并將DINVA[0]設置為0

注意:可以對DINVA[1]、DINVB[0]以及DINVB[1]使用相同的翻轉邏輯,以便控制相應的DQ組。

x18器件的示例

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

表9. 數據總線(xiàn)序列(不進(jìn)行總線(xiàn)翻轉)

DQA[8:0]

9位(二進(jìn)制)

第一個(gè)DQA[8:0] - 9h 007

0

0

0

0

0

0

1

1

1

第二個(gè)DQA[8:0] - 9h 1F3

1

1

1

1

1

0

0

1

1

進(jìn)行數據總線(xiàn)翻轉:

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

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


表10. 數據總線(xiàn)序列(進(jìn)行總線(xiàn)翻轉)

DQA[8:0]

9位(二進(jìn)制)

DINVA[0]

第一DQA[8:0] - 9h 1F8(翻轉后)

1

1

1

1

1

1

0

0

0

1

第二個(gè)DQA[8:0] - 9h 1F3(保持不變)

1

1

1

1

1

0

0

1

1

0

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

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

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

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

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

表11. 地址奇偶功能

地址,A[20:0]x36器件)

AP

A[20:0]AP中邏輯“1”的 總數

21h1E0000

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4

因為在A(yíng)[20:0]中邏輯“1”的總數為偶數(4)

21h1F0000

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

6


因為在A(yíng)[20:0]中邏輯“1”的總數為奇數(5)

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

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

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

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

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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>