Problema crítico
Em variações RapidIO geradas com Qsys e destino um dispositivo diferente de um dispositivo Cyclone IV GX, o dispositivo e a montagem registrar (registros de capacidade em deslocamentos 0x00 a 0x0C) não-zero valores de campo cuja representação decimal (base 10) tem quatro ou menos dígitos decimais são truncados de modo que os dois mais significativos dígitos decimais são zeros. Os dígitos zero mais à esquerda são ignorados para propósitos desta contagem. Nenhuma mensagem de aviso é gerada.
No caso do campo de ID de revisão do dispositivo, os dois mais à esquerda dígitos decimais são truncados se a representação decimal tiver oito ou menos dígitos decimais, em vez de quatro ou menos dígitos decimais.
Por exemplo, se a ID de revisão do dispositivo estiver 0x5F54433, o decimal representação é de 99.959.859. Esta representação tem oito dígitos, de modo que os dois dígitos mais significativos são truncados, resultando na valor decimal 959859.
Em uma configuração afetada, se um dispositivo ou um conjunto se registrar o valor tem quatro ou menos dígitos decimais significativos (zeros mais à esquerda não são contados), o valor de registro configurado real está ausente os dois dígitos decimais mais significativos. No caso do dispositivo ID de revisão, se o valor tiver oito ou menos vírgulas significativas dígitos, o valor real do registro configurado está faltando os dois dígitos decimais mais significativos. Nesses casos, o dispositivo e os valores do registro de montagem estão incorretos.
Para corrigir este problema em sua função RapidIO MegaCore, após você gera seu sistema Qsys e antes de compilar, siga estes Passos:
- Abra o arquivo <sysdir>/síntese/submodules/altera_rapidio_<variation_string>.v em um editor de texto. <sysdir> é o diretório de saída caminho especificado em Qsys e <variation_string> é uma string alfanumérico arbitrária gerada por Qsys para especificar o seu Variação rapidIO.
- Corrija os valores dos sinais que correspondem ao campos de registro individual de acordo com o nome do sinal de campo de registro correspondência mostrada na tabela a seguir. Especifique o correto valor hexadecimal para cada parâmetro.
| Campo de registro | Nome do sinal | Formato do valor corrigido |
ID do dispositivo
signal_wire10
16’hXXXX
ID do fornecedor
signal_wire11
16’hXXXX
ID de revisão
signal_wire12
32’hXXXXXXXX
ID de montagem
signal_wire13
16’hXXXX
ID do fornecedor de montagem
signal_wire14
16’hXXXX
ID de revisão de montagem
signal_wire15
16’hXXXX
Ponteiro de recurso estendido
signal_wire16
16’hXXXX
Este problema é corrigido na versão 11.0 do RapidIO MegaCore Função.