混合存储立方体控制器IP内核用户指南

ID 683854
日期 5/02/2016
Public

仅对英特尔可见 — GUID: nik1412377944631

Ixiasoft

文档目录

5.7. 与中断相关的寄存器

HMC控制器IP内核有三个与中断相关的寄存器。
  • INTERRUPT_STATUS:寄存器位报告各个中断源状态。
  • INTERRUPT_ENABLE:除非GLOBAL_INTERRUPT_ENABLE寄存器关闭此功能,否则寄存器位单独使能INTERRUPT_STATUS寄存器中的相应中断以触发IP内核csr_irq输出信号的置位。
  • GLOBAL_INTERRUPT_ENABLE:寄存器允许禁用所有中断响应或使能INTERRUPT_ENABLE寄存器中所显示的中断源。
表 28.  HMC控制器IP内核INTERRUPT_STATUS Register位于Offset 0x20

要清除该中断,写值1到该比特。

比特 字段名称 类型 复位值 说明
31:16 保留 RO 0x0000  
15 Response Queue Uncorrectable ECC Error W1C 0x0 如果IP内核在Response Queue存储器中检测到不可校正的ECC错误,就设置该比特。只有在参数编辑器中开启Enable M20K ECC support,IP内核才能检测到这样的错误。
14 Response Queue ECC Error W1C 0x0 如果IP内核在Response Queue存储器中检测到可校正的ECC错误,就设置该比特。只有在参数编辑器中开启Enable M20K ECC support,IP内核才能检测到这样的错误。
13 FERR_N W1C 0x0 如果HMC器件置位其有效低FERR_N管脚,则IP内核设置此比特。您必须将IP内核hmc_ferr_n输入信号连接到HMC器件FERR_N输出信号。
12 Retry Buffer Uncorrectable ECC Error W1C 0X0 如果IP内核在Retry Buffer存储器中检测到不可校正的错误,就会设置该中断比特。只有在参数编辑器中开启Enable M20K ECC support,IP内核才能检测这样的错误。
11 Retry Buffer ECC Error W1C 0x0 如果IP内核在Retry Buffer存储器中检测到可校正的ECC错误,就会设置该中断比特。IP内核自动校正这种情况下的ECC。只有在参数编辑器中开启Enable M20K ECC support,IP内核才可检测到这样的错误。
10 保留 RO 0x0  
9 No More Tokens W1C 0X0

如果IP内核用完令牌,就设置此中断比特。令牌代表HMC器件中可用的缓冲空间。按照基于令牌流程控制要求,当IP内核无剩余令牌时,就不再发送请求。此情况不是一个错误,但会显示性能下降。然而,如其它中断比特一样,会导致IP内核置位csr_irq信号(假设已设置全局中断使能寄存器比特)。

当IP内核退出复位时,该比特的值为0。链路初始化后,HMC器件通过一个TRET数据包序列传达其缓冲器容量。IP内核接收到首个TRET数据包后,就开始更新No More Tokens寄存器字段。

8 Retry Buffer Full W1C 0X0 如果Retry缓冲器已满时,IP内核就设置此中断比特。Retry缓冲器已满时,IP内核不会发送其他Read或Write请求。此情况不是一个错误,但会显示性能下降。
7 保留 RO 0x0  
6 RX Error Response Overflow W1C 0X0 如果收到的Error Response数据包多于从ERROR_RESPONSE寄存器读取的,则IP内核设置该中断比特。如果出现上溢,则IP内核丢弃传入的Error Response数据包直到Error Response队列中的空间再次可用。
5 RX Error Response W1C 0x0 如果IP内核接收到一个Error Response数据包,就设置此中断比特。
4 Fatal Error W1C 0X0 如果IP内核连续三或更多次尝试失败,则设置此中断比特。
3 Remote Error W1C 0X0 如果IP内核接收到一个有效IRTRY(StartRetry)序列,表示HMC器件检测到一个错误,则设置此中断比特。
2 SEQ Error W1C 0X0 如果IP内核接收到一个SEQ字段值的数据包, 但不是之前所接收SEQ字段值+1增量数据包,则IP内核设置该中断比特。
1 LNG/DLN Error W1C 0X0 如果IP内核接收到的数据包中LNG(包长度)和DLN(重复长度)字段的值不相等或无效,则IP内核设置此中断比特。
0 CRC Error W1C 0x0 如果IP内核检测到其接收的数据包中CRC有错误,就将此中断比特值设置为1。
表 29.  HMC控制器IP内核INTERRUPT_ENABLE Register位于Offset 0x24

该寄存器中的每个比特使能位于偏移0x20处INTERRUPT_STATUS寄存器中相应中断。关于每个寄存器比特:

  • 如果该比特的值为0,则中断被禁用。
  • 如果该比特的值为1,且GLOBAL_INTERRUPT_ENABLE寄存器位于偏移0x28的GlobalEnable比特的值为1,则中断被使能。
比特 字段名称 类型 复位值 说明
31:16 保留 RO 0x0000  
15 Response Queue Uncorrectable ECC Error Enable RW 0x0 使能Response Queue Uncorrectable ECC Error中断。
14 Response Queue ECC Error Enable RW 0x0 使能Response Queue ECC Error中断
13 FERR_N Enable RW 0x0 使能FERR_N中断。
12 Retry Buffer Uncorrectable ECC Error Enable RW 0x0 使能Retry Buffer Uncorrectable ECC Error中断
11 Retry Buffer ECC Error Enable RW 0x0 使能Retry Buffer ECC Error中断。
10 保留 RO 0x0  
9 No More Tokens Enable RW 0x0 使能No More Tokens中断。
8 Retry Buffer Full Enable RW 0x0 使能Retry Buffer Full中断。
7 保留 RO 0x0  
6 RX Error Response Overflow Enable RW 0x0 使能RX Error Response Overflow中断。
5 RX Error Response Enable RW 0x0 使能RX Error Response中断。
4 Fatal Error Enable RW 0x0 使能Fatal Error中断。
3 Remote Error Enable RW 0x0 使能Remote Error中断。
2 SEQ Error Enable RW 0x0 使能SEQ Error中断。
1 LNG/DLN Error Enable RW 0x0 使能LNG/DLN Error中断。
0 CRC Error Enable RW 0x0 使能CRC Error中断。
表 30.  HMC控制器IP内核GLOBAL_INTERRUPT_ENABLE寄存器位于Offset 0x28门控INTERRUPT_ENABLE寄存器。
比特 字段名称 类型 复位值 说明
31:1 保留 RO 0x00000000  
0 GlobalEnable RW 0x0 写值0到该寄存器字段禁用因置位csr_irq输出信号而来的所有中断源。

写值1到该寄存器字段允许IP内核按照位于偏移0x24的INTERRUPT_ENABLE寄存器中已使能中断源来置位csr_irq输出信号。仅当GlobalEnable寄存器字段和相关INTERRUPT_ENABLE寄存器字段的值都为1时,中断源才会引起IP内核置位csr_irq输出信号。