O buffer de recepção hard IP PCI Express e o buffer de retry de transmissão implementam a proteção ECC MRAM como uma opção no MegaWizard.
Cada bloco codificador e decodificador ECC tem três sinais que são:
-
derr_cor_ext_rcv[1:0]: isso indica um erro corrigida no buffer Rx para o canal virtual correspondente (rvc).
-
derr_cor_ext_rpl: indica um erro corrigida no buffer de retry.
-
derr_rpl: indica um erro incorrigível no buffer de retry.
Esses sinais são sincronizados com o core_clk, têm uma duração de um ciclo de clock e são ativos apenas durante o ciclo de leitura de memória a partir do local corrompido.
Os sinais derr_cor_ext_rcv[1:0] e derr_cor_ext_rpl indicam que um erro corrigida pelo ECC foi detectado e corrigido automaticamente pela função ECC.
Quando ocorrer um erro de ECC corrigida, o PCI Express Hard IP recuperará automaticamente os dados sem qualquer perda de informações.
Quando ocorre um erro de ECC incorrigível, os dados corrompidos no buffer de retry são apagados. A camada de aplicativo do usuário deve lidar com este caso de acordo com os requisitos do aplicativo. Não é necessário redefinir o PCI Express Hard IP, mas a camada do aplicativo do usuário pode exigir isso.