在本系列榜首部分,咱们讨论了两种类型的QDR-IV存储器、时钟、读/写操作和分组操作。在第二部分,咱们将讨论总线转化、总线翻转、地址奇偶校验等重要的总线问题。
总线转化的留意事项
总线转化时刻非常重要,其决议了读和写指令间是否需求额定的距离来避免在同一个I/O 端口上产生总线抵触。
幻想下QDR-IV HP SRAM 中端口A 先后收到写指令和读指令。从CK 信号的上升沿(与初始化写指令周期相对应)算起,在整整三个时钟周期后向DQA 引脚供给写数据。读数据则将鄙人一个周期发送,因为 DQ从CK 信号的上升沿(与初始化读指令的周期相应)算起五个时钟周期后才干取得数据。此外,为契合总线转化时刻和传输时延(从ASIC/FPGA 到QDR IV 存储器),还有两个额定周期。因而,发动写指令后,能够当即发动读指令。
在其他情况下,假如先发动读指令后发动写指令,那么发送读指令经过三个时钟周期后,才干发送写指令。这是因为,从在时钟信号CK 的上升沿上对读指令进行采样算起,经过五个周期后可取得DQA 引脚上的读数据,而且从在时钟信号CK 的上 升沿上对写指令进行采样算起,在整三个时钟周期内向DQA 引脚供给写数据。不然,将会产生总线抵触。因而,发送写指令后的最小时钟周期应该为RL – WL + 1(RL:读时延;WL:写时延;这两个时延的单位为时钟周期数)。别的一个时钟周期用于正确捕获数据并补偿总线转化时延(一般为一个时钟周期)。
假如传输时延大于总线转化时延,那么‘读到写’指令间的距离为:
“读到写”指令间的时刻周期 = 读时延 – 写时延 + 1 + 传输时延
请参阅图7。发送读指令经过四个时钟周期后,将发送端口A 的写指令。这样是为了避免因读/写时延、总线转化时刻和传输时延间的不同而导致的总线抵触。
图7. QDR-IV HP SRAM时序剖析图
总线翻转
QDR-IV 器材支撑总线翻转以下降切换噪声和I/O功耗。在存储事务处理中,存储器操控器和QDR-IV都能够挑选运用总线翻转。
因为QDR-IV 器材的POD 信令形式为I/O 信号供给了到VDDQ 的高压终端选项,所以信号转为高电平逻辑状况不会耗电。因而,总线翻转关于POD I/O 信号是一个很重要的功用。QDR-IV 会保证翻转地址和数据总线的数据完好性。
运用芯片装备寄存器来启用或禁用地址和数据总线翻转功用。
地址总线翻转
AINV 是双倍数据速率信号,每次将地址发送给存储器器材时都会更新该信号。AINV 引脚指示是否对地址总线(An –A0)和AP 进行了翻转。AINV 是高电平有用信号。当AINV = 1 时,将翻转地址总线;当AINV = 0 时,不翻转地址总线。AINV 引脚的功用由存储器操控器操控。
地址总线和地址奇偶位都被视为地址组(AG)。
表5显现的是AG 界说以及x18 和x36 QDR-IV 选项的AINV 设置条件。
表5. 地址总线翻转条件
x18 |
x36 |
||
地址群 |
AG[22:0] = A[21:0],AP |
AG[21:0] = A[20:0],AP |
|
翻转逻辑 |
|
假如AG[21:0]中逻辑“0”的数量≥11,将AINV置为1,这时会对AG[21:0]进行翻转 |
|
假如AG[22:0]中逻辑“0”的数量12,将AINV置为0,这时不会翻转AG[22:0] |
假如AG[21:0]中逻辑“0”的数量11,将AINV 置为0,这时不会翻转AG[21:0] |
x36器材示例
不进行地址总线翻转:
假定要拜访的地址别离为22’h 000199和22’h 3FFCFF。17个地址引脚需求在榜首个和第二个地址的逻辑状况间进行切换,如下表所示(赤色单元格显现)。这样会增大地址引脚上的切换噪声、I/O电流以及串扰。
表6. 地址总线序列(未进行总线翻转)
AG[21:0] |
22位(二进制) |
|||||||||||||||||||||
榜首个地址组- 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个地址组 – 22h 3FFCFF |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
进行地址总线翻转:
依据表5显现,榜首个地址组(22h 000199)满意翻转逻辑条件。因而,存储器操控器发送榜首个地址组前,它会将地址组从22’h 000199翻转为22’h 3FFE66,并将AINV引脚置为1。因为不需求翻转第二个地址组,所以存储器操控器能够将其直接发送,并将AINV设置为0。
下表显现的是地址总线翻转的成果。在这种情况下,只要5个地址引脚需求切换逻辑(赤色单元格显现)。切换位的总数下降为5,所以下降了因为一起切换输出(SSO)而引起的噪声、I/O电流以及串扰。
表7. 地址总线序列(进行总线翻转)
AG[21:0] |
22位(二进制) |
AINV |
|||||||||||||||||||||
榜首个地址组 – 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 |
第二个地址组 – 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 |
数据总线翻转
数据总线翻转在数据线路中也相似,但翻转位由存储器操控器在存储器写操作期间生成,而且翻转位由QDR-IV存储器中的翻转逻辑在存储器读操作期间生成。
DINVA和DINVB引脚指示了是否翻转相应的DQA和DQB引脚。DINVA和DINVB均为高电平有用信号。当DINV = 1时,将翻转数据总线;当DINV = 0时,不翻转数据总线。
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位阐明以及x18和x36 QDR-IV选项的DINVA设置条件。
表8. 数据总线翻转条件
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,这时会对DQA[8:0]进行翻转 |
假如DQA[17:0]中的逻辑“0”数量 ≥ 10,将DINVA[0]设置为1,这时会对DQA[17:0]进行翻转 |
假如DQA[8:0]中的逻辑“0”数量 5,那么不对DQA[8:0]进行翻转并将DINVA[0]设置为0 |
假如DQA[17:0]中的逻辑“0”数量 10,那么不对DQA[17:0]进行翻转,并将DINVA[0]设置为0 |
留意:能够对DINVA[1]、DINVB[0]以及DINVB[1]运用相同的翻转逻辑,以便操控相应的DQ组。
x18器材的示例
不进行数据总线翻转:
假定需求别离发送DQA[8:0]上的9’h 007和9’h 1F3。6个数据引脚需求在榜首个和第二个DQA[8:0]位的逻辑状况之间进行切换,如下表所示(赤色单元格显现)。这样会增大数据引脚上的切换噪声、I/O电流以及串扰。
表9. 数据总线序列(不进行总线翻转)
DQA[8:0] |
9位(二进制) |
||||||||
榜首个DQA[8:0] – 9h 007 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
第二个DQA[8:0] – 9h 1F3 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
进行数据总线翻转:
依据表8,榜首个DQA[8:0]满意翻转逻辑条件。因而,存储器操控器发送榜首个DQA[8:0]前,它会将引脚地址从9’h 007翻转为9’h 1F8,并将DINVA[0]引脚设置为1。因为第二个DQA[8:0]不需求翻转,所以存储器操控器能够直接发送它,并将DINVA[0]设置为0。
表10显现的是数据总线翻转的成果。在这种情况下,只要3个数据引脚需求切换逻辑(赤色单元格显现)。切换位的总数下降为3,所以下降了SSO的噪声、I/O电流以及串扰。
表10. 数据总线序列(进行总线翻转)
DQA[8:0] |
9位(二进制) |
DINVA[0] |
||||||||
榜首DQA[8:0] – 9h 1F8(翻转后) |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
第二个DQA[8:0] – 9h 1F3(坚持不变) |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
地址奇偶校验
QDR-IV只要一条地址总线,但其以双倍数据速率和高频率运转。因而,地址奇偶校验输入(AP)和地址奇偶校验过错标志输出(PE#)引脚供给了片上地址奇偶校验功用,以便能够保证地址总线完好性。地址奇偶校验功用是可选的;能够运用装备寄存器来启用或禁用它。
经过该AP引脚能够在各地址引脚(An到A0)上进行偶校验。设置AP值,使AP和An-A0中逻辑“1”的总数为偶数。
关于数据总线宽度为x18的器材,设置AP值,使A[21:0]和AP中逻辑“1”的总数为偶数。
关于数据总线宽度为x36的器材,设置AP值,使A[20:0]和AP中逻辑“1”的总数为偶数。
器材的示例
以数据总线宽度为x36的器材的21’h1E0000和21’h1F0000地址为示例。表11显现的是如何为每个地址设置AP值。
表11. 地址奇偶功用
|
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[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[20:0]中逻辑“1”的总数为奇数(5) |
当产生奇偶过错时,在装备寄存器4、5、6和7中(请查看相关数据手册,了解有关装备寄存器的更多信息)记载榜首个过错的完好地址以及端口A/B过错位和地址翻转位。端口A/B过错位表明产生地址奇偶过错的端口:0表明端口A,1表明端口B。持续锁存该信息,直到向装备寄存器3中的地址奇偶过错铲除位写入1来铲除该信息中止。
经过两个计数器,能够表明是否产生了多个地址奇偶过错。端口A过错计数是端口A地址上奇偶过错数量的运转计数器。相同,端口B过错计数是端口b地址上奇偶过错数量的运转计数器。每个计数器独立计数到最大值(3),然后将中止计数。这些计数器均是自在运转的;对装备寄存器3的地址奇偶过错铲除位写入1,可将其复位。
检测到地址奇偶过错后,写操作就会被疏忽,以避免损坏存储器。可是,假如输入地址过错,仍会持续履行读操作,但存储器会发送出假数据。
PE#为低电平有用信号,表明地址奇偶过错。检测到地址奇偶过错后,PE#信号在8个周期(QDR-IV XP SRAM)或5个周期(QDR-IV HP SRAM)内被设置为0。它将坚持置位状况,直到经过装备寄存器铲除了过错中止。处理完地址翻转便表明完成了地址奇偶查看。
PE#转为低电平后,会中止存储器操作,并运用装备寄存器将PE#复位为高电平。此外,因为产生AP过错的写操作也被阻挠,所以需求向存储器从头编写数据。
在本系列第三部分,咱们将讨论校对问题,其间包含纠正练习、操控/地址校对和读写校对,以及纠错码(ECC)和QDR-IV存储器操控器的规划主张。