ID do artigo: 000074652 Tipo de conteúdo: Documentação e informações do produto Última revisão: 30/09/2014

Como posso definir o deslocamento da fase de clock de entrada para captura de dados na ALTLVDS_RX megafunção?

Ambiente

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

A ALTLVDS_RX megafunção oferece uma seleção limitada de lista de suspensos para definir o clock e a relação de dados no modo não DPA.  O parâmetro é Qual é o alinhamento de fase de "rx_in" em relação ao "rx_inclock". Ao definir este parâmetro, a ALTLVDS_RX megafunção calcula a fase de captura adequada para os dados seriais.

Os valores de mudança de fase são baseados no período rx_inclock, que pode variar dependendo da sua interface.  Os seguintes são os cenários rx_inclock de uso comuns:

  • Um rx_inclock para todos os bits de série por palavra (clock de taxa de dados único)
  • Dois rx_inclock períodos para todos os bits de série por palavra (clock de taxa de dados dupla)
  • Número igual de rx_inclock períodos para todos os bits de série por palavra (clock de taxa de dados completa)

As seleções de mudança de fase disponíveis na megafunção definem o clock de captura para diferentes posições nos dados de série. Isso se baseia no número de rx_inclock para o número de bits de série por palavra (fator de desseerialização).  A capacidade para você especificar a mudança de fase dentro de um único período de bits de dados depende de quantos períodos de rx_inclock ocorrem para cada palavra serial recebida.

Por exemplo, considere uma interface com os seguintes parâmetros:

  • Taxa de dados = 800 Mbps
  • Fator de deserialização = 8
  • rx_inclock = 100 MHz

Neste caso, há um período rx_inclock para todos os 8 bits de série recebidos.  Assim, cada configuração que você escolher que está em incrementos de 45 graus na megafunção ALTLVDS_RX (0, 45, 90 graus, etc.) define a fase de captura em uma posição de bits diferente na palavra serial.  Esta configuração não alterará a posição de captura de fase dentro de um período de bits.  Cada uma dessas seleções resulta em um alinhamento de palavras diferente no lado paralelo da interface.

Considere um segundo exemplo com os seguintes parâmetros:

  • Taxa de dados = 800 Mbps
  • Fator de deserialização = 8
  • rx_inclock = 800 MHz

Neste caso, há um período de rx_inclock para cada período de bits serial.  Cada configuração que você escolher mudará a fase de captura dentro de um único período de bits.

Pode haver casos em que você deseja definir a fase de captura em uma posição que não é possível usando a seleção da lista suspenso ALTLVDS_RX megafunção para o que é o alinhamento de fase de "rx_in" em relação ao parâmetro "rx_inclock ".

Resolução

O número total possível de posições de fase de captura depende do fator de deserialização da interface.  Para cada período de bits serial, há 8 fases disponíveis a partir do relógio rápido. O clock rápido opera com a taxa de bits serial.

O número total de possíveis fases de captura é igual a 8 * fator de deserialização.

Nos exemplos acima, o fator de deserialização é 8, portanto, há um total de 64 posições de fase disponíveis para definir o clock de captura em todos os 8 bits da palavra serial. Você pode optar por definir a fase de captura dentro de uma única posição de bits, em diferentes posições de bits, ou uma combinação de ambos modificando o arquivo ALTLVDS_RX de variação.

Os valores de fase legal devem estar em incrementos iguais ao período de clock rápido dividido por 8. Cada incremento de deslocamento de 8 fases é igual a um período de bits.  Usando os parâmetros do exemplo 1 acima, se você quiser especificar a borda ascendente do rx_inclock para ser alinhada no centro no terceiro bit serial da palavra de 8 bits, você precisará de um total de incrementos de mudança de fase de 20 (incrementos de 8 fases para cada um dos dois primeiros períodos de bits, além de incrementos de 4 fases para a borda ascendente alinhada ao centro no terceiro período de bits).

O clock rápido neste exemplo opera a 800 MHz, o mesmo que a taxa de dados.  O período de clock rápido é de 1,25 ns, o que resulta em incremento de 156,25 ps por mudança de fase.  A mudança de fase total necessária neste exemplo para descrever o clock de entrada e a relação de dados é de 20 * 156,25 ps = 3,125 ns.

Depois de calcular o valor de mudança de fase desejado, insira-o no arquivo ALTLVDS_RX variação.  Abra o arquivo e localize o seguinte parâmetro:

Para Verilog: ALTLVDS_RX_component.inclock_phase_shift

Para VHDL: inclock_phase_shift

Insira o valor calculado, as unidades são picoseconds.

Nota: o bit mais significativo (MSB) dos dados seriais pode não ser o MSB dos dados paralelos deserenciados na porta rx_out da ALTLVDS_RX megafunção.  Você é obrigado a usar o circuito bitslip para definir o limite da palavra no lado paralelo.

Para obter mais informações, consulte a seção Alinhar os limites de palavras do Guia do usuário do transmissor /receptor LVDS SERDES (ALTLVDS_TX e ALTLVDS_RX) megafunções (PDF).

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.