Hold questão do tempo!?

  • Thread starter always @ inteligente
  • Start date
A

always @ inteligente

Guest
Oi tudo,

Eu entendo que sustentam violação de tempo que acontece quando os dados reter muito curto após a borda ativa ...

Mas o que aconteceu, dizem os dados reter para 2 ciclo de relógio, mas cai na borda 2 ativa, isso ainda consideram deter violação de tempo!?

Se sim, então como eu poderia solucionar a violação de tempo de espera para este sinal de dados que vem do módulo externo (Micro-controlador), que não é sincronizado com o relógio do projeto de FPGA, mas ambos com freqüência de clock mesmo (50MHz).

Obrigado pela resposta e conselhos.

Atenciosamente,

 
Se você estiver usando FPGAs Xilinx, você pode adicionar demora para sinais de entrada no IOBS para atender às suas exigências tempo de espera.

 
Ela pode causar Hold violação de tempo.
Para evitar este sincronizadores posto.

 
Oi,

O problema com a segurar (ou setup) violação de tempo é que não a saída do seu mayu flip flop ser no valor esperado.Portanto, você deve considerar esta produção como inválido.
Se o seu sinal de entrada permanece por 2 ciclos de relógio, e se você pode saber quando as alterações de entrada (pode ser com sinal de chip select ...), você pode usar a saída do flip-flop só após o primeiro relógio, e ignorá-se para o segundo.
Construir uma máquina de estado pequeno para este sistema de validação de dados.

Espero que isso irá ajudá-lo.<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />
 
Oi tudo,

Obrigado pela resposta, muito aprecio ..

Estou usando o Alter @ FPGA e Qu (at) RTUs II v2.2, você pode me dizer como eu deveria fixar o violatatin tempo de espera a partir da porta de entrada.Em segundo lugar, como eu poderia sincronizar com o módulo externo, já que o clock externo não está indo para o FPGA!?

Atenciosamente,

 
Como o clock externo eo relógio interno são ambos operando na mesma freqüência (50MHz) e os dados são retidos no autocarro por 2 relógios, a melhor maneira de operar é trancar os dados do primeiro ciclo do clock se você está tendo tempo de espera questões como no pós r_e_m_y's.

Eu não sei se @ ltera suporta, se isso acontecer, atrasando o barramento de dados no IOBS com o período pelo qual está ausente o tempo de espera.

 
Se eu entendi a sua pergunta, fifo assíncrona talvez a melhor escolha.Se você usar um relógio de 50M a uma amostra do sinal gerado por um outro relógio 50M, você tem uma grande chance de perder dados.

atenciosamente

 
Oi tudo,

Que tal agora os dados de módulo externo para reter apenas 1 ciclo, há algum método para evitar a meta-estável do registo FPGA?

Atenciosamente,
sempre (menos) inteligentes

 
by Clifford E. Cummings.

Veja a síntese e Scripting Técnicas para projetar projetos multi-Relógio na Asynchronous
por Clifford E. Cummings.Este documento está disponível para download em http://www.sunburst-design.com/pap...e" e "sincronizadores" melhor reards vladz
 
Resposta para sua pergunta depende de fontes de relógio usado em dados de origem e destino de dados:
- Se for o mesmo clock, com alguma latência entre elas, você poderia tentar jogar com (eu trabalho com a Xilinx FPGA) feedback para relógio de-skew em PLL interno e Adicionar / Remover atraso na IOB para compensar esta latência (pelo Assim, no clock PCB design é suposto ser encaminhado para evitar as latências)
- Se os dois 50MHz de clock são gerados de forma independente você pode tratá-los como fontes de relógio assíncrono e fazer a sincronização real (Cumming s papel é definitivamente a melhor fonte que cobre este)
Se pudesse, em vez de flop simples, do lado de destino para qualificar amostragem apenas a ponta primeiro relógio, onde os dados são estáveis, é, naturalmente, a maneira mais simples de resolver isso.

 

Welcome to EDABoard.com

Sponsor

Back
Top