Deserializer & Serializer!

J

jeremylbt

Guest
Oi pessoal,

Alguém pode me dar uma idéia de como desenvolver os blocos em amarelo?Estou usando Virtex4 VLX100 chip FPGA.

Qualquer ajuda será muito apreciada!

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

<img src="http://images.elektroda.net/94_1234200431_thumb.jpg" border="0" alt="Deserializer & Serializer!! Help Needed!!" title="Deserializer & Serializer! Help Needed!"/>
 
jeremylbt,

A lógica para os blocos amarelo se será muito simples.Para o demux você simplesmente pegar 16 palavras de 16 bits e, em seguida, fazer um pouco 256 escrever para a memória RAM.Para o mux, você lê uma única 256 bits e execute 16 16-bit escreve sobre a linha.

A parte mais difícil será obter a sua lógica na interface Virtex a correr para o relógio 625 MHz necessário para acompanhar o tráfego de linha.Você pode executar a lógica de interface com a memória RAM de 39 MHZ e acompanhar a linha de modo que não deve ser um problema.

Os relógios são utilizados para a 625 MS / s linhas assíncronas para o relógio VIRTEX seu interior?

Comece com o olhar como você está indo para capturar seus dados (ASYNC FIFO?) E então tentar ter uma idéia de como você está indo entregar os dados fora de sua lógica de interface de memória RAM.Você vai querer deixar cair a taxa de dados o mais rápido possível se você quiser ter alguma chance de calendário de reuniões com o resto de sua lógica.

Radix

 
Oi Radix,

Obrigado por sua resposta rápida.

Primeiro de tudo, o relógio utilizado para o VIRTEX interno é derivado do clock utilizado para conduzir a linha.

Assim, para a parte demux, vou precisar de um FIFO para capturar os dados entrando em 625MHz e escrever o vetor de 256bit para a RAM em 39MHZ.É o FIFO prestes a funcionar em 625MHz?

Para a parte mux, como eu sou capaz de agarrar o vetor 256bit de memória RAM e saída 16bit vetores em 625MHz?Por favor, informe

Uma última pergunta, dizem que a entidade de nível superior consiste no demux, RAM e mux, eu preciso de sintetizar a entidade superior a 625MHz.É possível para Virtex 4 a correr a uma velocidade tal?

Thank you very much ..

 
Isto é como uma cópia exata de um desenho que fiz em 1999

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />Eu realmente duvido que você pode executar um dados 32bits @ 625MHz em VIRTEX 4.Naquela época eu consegui a minha freqüência 170MHz max, mas eu tive que dividir o caminho em 2x32bits @ 170 / 2 MHz.

Eu acho que você talvez capaz de ajustar o seu projeto e executar 2 caminho diferente e executar cada um deles com metade da freqüência, mas que ainda é demasiado elevado para V4 e mesmo para a V5 laters se pode ser difícil de fazer.

 
Jeremyblt,

Eu não usei um FPGA para processamento de dados em velocidades que você está atirando para e vai ser um desafio.

Gostaria de ter um olhar para o guia de usuário Virtex4 e leia a seção "Advanced SELECTIO Logic Resources".Não tenho certeza quantos módulos iserdes estão disponíveis no Virtex4 partes, mas se você tivesse 16 deles você pode usá-los em uma configuração de 1:8 e deixar cair sua taxa de linha até 78 Mbps (128-bit de dados de largura).Você também precisa de 16 iserdes mais no lado da saída em uma configuração de 8:1.

Se você tiver iserdes suficiente módulos esta abordagem só vai funcionar se a sua interface a 625 Mbps de dados é diferencial.Se é um casquilho acho que você pode ser parafusado, porque a tecnologia SELECTIO só funciona até 600 Mbps no presente caso.

Se você pode realmente processar os dados na velocidade necessária, a maneira que você ler os dados fora da RAM vai ser o processo inverso de como você escolheu para armazenar os dados na memória.Se você chegar a este ponto, quer postar aqui ou me mande uma linha e eu posso ajudar.

Boa sorte,
Radix

 
Acabei de terminar um caso de desserializar de 16bit_622MHz para 32bit_311M.Você pode consultar o anexo_O código fonte não está incluso no arquivo que é entregue por Xilinx FAE.
Desculpe, mas você precisa de login para ver esta penhora

 
Oi Hellokid,

Desde a saída de ISERDES disponível em Virtex 4 é só até 10 (Mestre e modo escravo), não significa que eu só pode ter fator desserialização max 1:10?

Agradeça ao seu Radix e farhada de sua ajuda também!

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />
 
Acho que você tem missunderstood mim.Na figura ur, ur todos precisamos fazer é transferir 16 bits de dados em alta velocidade para 256bit baixa velocidade.Ele não precisa RocketIO FPGA para SERDES / DESERDES que é chamado de 'SERDES duro ".O arquivo que eu tinha ligado um par de dias atrás está usando técnica chamada DPA fase (dinâmica alinhar) pode transferir 16 bits 622MHz para 32bit 311MHz ou 64bit 155MHz, e assim por diante.Nós chamamos isso de "SERDES soft".Ele pode ser exemplificado naqueles SELECTIO normal.

 
Oi Hellokid,

Eu entendi que você quis dizer e eu estou usando ISERDES instanciado / OSERDES de recursos SELECTIO.Não estou usando RocketIO que não está disponível no chip Virtex4 família LX de qualquer maneira.

Cada ISERDES pode apenas saída de até 10 bits de dados se u usar modo master slave n.O que eu WAN para colocar toda é o fato de que eu preciso 1:16 desserialização para os meus dados de 16 bits para anular a de 256 bits.Como posso conseguir isso com base na técnica que você tenha anexado?

Posso não ter compreendido completamente o acessório.Por favor, me ilumine.Thank you very much!

 
O código é um exemplo de transferência de 16bit 622MHz para 32bit 311MHz.
Você pode fazer isso em duas etapas.
primeiro, deserdes de 16bit 622MHz para 64bit 155M com o código em anexo.
segundo, deserdes 64bit 155MHZ para 256bit 39MHZ com o seu próprio caminho (RAM porta Daul ou flip-flop divisor).
Desculpe, mas você precisa de login para ver esta penhora

 

Welcome to EDABoard.com

Sponsor

Back
Top