Placa FPGA sugerida [fechada]


11

Este é o meu primeiro olhar sobre o FPGA, mas com grande experiência no desenvolvimento de software. Gostaria de comprar uma placa para aprender, mas gostaria de poder rodar um computador baseado no Z80 do início dos anos 80 (pense no modelo TRS80, eu digo).

Estive observando as placas Spartan 3E e Spartan 6, mas não tenho muita certeza das diferenças de desempenho / capacidade.

O que estou pensando é algo como isto:

  • Espaço suficiente para:
    • Z80 simulado usando o softcore op80 T80.
    • periféricos integrados simulados, como controlador de vídeo, controlador de som (1 bit simples), controlador de disquete
    • talvez alguns controladores de picoblaze para usar os botões integrados para a seleção de imagens de disquetes, etc.
  • Conector VGA (16 cores bastariam, 256 bônus)
  • Conector do teclado PS2
  • Flash interno suficiente para armazenar várias imagens de disquetes virtuais e ROM do sistema (16 Mb devem ser suficientes)
  • Na tela de bordo, o LCD seria bom, o LED do segmento 4x7 provavelmente seria suficiente.
  • algum tipo de soquete de cartão flash seria bom, mas não obrigatório.
  • Conexão de energia para a rede elétrica, provavelmente através de um pacote de energia.

Estas são as placas que estou considerando atualmente:

  • Placa FPGA Nexys ™ 3 Spartan-6
  • Spartan 3E Starter Board
  • Placa de desenvolvimento Spartan 3E-1600
  • Placa FPGA Spartan-3E Basys ™ 2 (500K) + 16M Flash pMod
  • Placa FPGA Spartan-3E Basys ™ 2 (1200K) + 16M Flash pMod

EDIT: Acabei de notar que o Basys não tem RAM integrada, então eu estaria limitado à RAM do FPGA - não é o ideal.

A principal coisa que não tenho certeza é quanto espaço sobrará depois de carregar o softcore T80. Qualquer conselho muito apreciado.


6
Sugiro aprender primeiro o Verilog ou o VHDL. Mexa com ele em um simulador. Verifique se você está preparado para o trabalho em FPGA. O estranho com os FPGAs é que você passará a maior parte do seu tempo de desenvolvimento (como iniciante) trabalhando em simuladores e executando bancos de teste.
Earlz 19/10/11

Respostas:


6

Embora objetivos ambiciosos sejam bons, meu conselho é começar menor. Muito pequeno. O projeto que você está propondo seria difícil para um designer intermediário de FPGA e quase impossível para um iniciante. Eu sou um grande defensor do FPGA e gostaria de ver você ter sucesso - começar com um projeto tão ambicioso provavelmente resultará em muita frustração e provavelmente abandonará o design do FPGA.

Deixe-me colocar em termos de software: Este projeto seria como alguém que nunca fez software escrevendo um compilador C completo - a partir do zero.

Comece menor e você ficará muito mais feliz.

Edit: Adicionado material abaixo.

Dito isto, é difícil fazer uma boa recomendação para um conselho. A razão para isso é que qualquer placa que eu recomendo para alguém sem experiência em FPGA não é absolutamente a mesma que eu recomendaria para fazer um projeto do tipo CPU. Uma placa para iniciantes pode custar entre US $ 50 e US $ 100, enquanto uma placa para fazer CPU + VGA + Flash_Card + o que for de US $ 1000 a 2000.

Há também uma grande chance de que, depois de criar alguns projetos simples de FPGA, você mude de ideia e queira fazer um projeto diferente posteriormente.

Minha recomendação, então, é que você obtenha uma placa simples na faixa de preço inferior a US $ 100 primeiro. Então, quando você estiver pronto para enfrentar um projeto maior, poderá comprar uma placa mais cara, próxima do que deseja (seja lá o que for naquele momento).

O fórum que eu gosto é este: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

É barato, usa uma peça da geração atual, é de uma fabricação de Nível 1 e pode até fazer algumas coisas simples na CPU.


Obrigado David, eu certamente percebi que o que sugeri é ambicioso, mas também estava pensando no fato de que já existem várias máquinas antigas já projetadas como essa que seriam divertidas apenas para baixar e jogar - e é por isso que eu queria algo capaz desde o início. Brad
Brad

1
@ Brad - Se você tem uma máquina com a qual deseja baixar e brincar, use a placa para a qual foi projetada. Seria um esforço prodigioso apenas transportar o projeto de um quadro para outro.
21711 Kevin Vermeer

@ David Kessner - embora este seja um conselho decente para o projeto, para escolher uma plataforma para trabalhar, faz sentido escolher algo que apoiará os esforços ao longo de vários meses, não apenas o primeiro experimento. Foi isso que o pôster perguntou, e não foi exatamente algo em que sua resposta tenha sido levada em conta.
Chris Stratton

@ Chris Stratton Obrigado pelas críticas. Eu adicionei a minha resposta.

Não sei por que você acha que uma placa para uma placa flash CPU + VGA + seria de US $ 1000. Há sete anos, eu tinha uma unidade de disco rígido IDE conectada a um kit spartan 3 de US $ 100 reproduzindo vídeo. Era um pouco restrito a RAM, e essa placa agora custa US $ 150, mas como o seu link indica, agora você pode obter uma placa com muitos megabytes de memória por menos de US $ 100. Isso deve ser suficiente para emular sistemas da era dos 8 bits. Eu esperaria que um cartão SD operado no modo spi se comparasse favoravelmente em velocidade, pelo menos com as interfaces de disquete daquela época. Cuidado com tensões de E / S muito baixas nos FPGAs mais recentes.
Chris Stratton

2

Hmmm, infelizmente é vhdl, eu ia começar com verilator ou icarus verilog. Em vez disso, talvez use ghdl. A primeira sugestão é criar um ambiente de simulação, começar a construir essa coisa lá.

Antes de escolher um painel fpga, você precisa ter uma idéia do tamanho que será, as várias ferramentas são gratuitas ou gratuitas com o sacrifício do seu endereço de e-mail e outras informações. Experimente as ferramentas de treliça, alterações, xilinx, etc., inicie estritamente com o núcleo T80 e alguns desses fpgas de destino que você está procurando. Suponho que tudo o que você deseja adicionar aumentará bastante qualquer porcentagem do número completo que você criar ao implementar o núcleo T80. Aposto que, sozinho, você será capaz de eliminar alguns dos candidatos.

Talvez a placa fpgaarcade, que de alguma forma tenha usado o núcleo T80, seja o que você está procurando ... Quando estiver disponível.

Eu tenho que concordar completamente com o outro David, se você ainda não é um desenvolvedor profissional de fpga / board, não é aí que você começa, você está olhando para talvez anos de trabalho, provavelmente comprando várias placas de milhares de dólares enquanto destrua-os com erros etc. Se você tiver esse tipo de dinheiro à sua disposição, talvez deva contratar um consultor para orientá-lo no processo. Ou crie uma placa de acordo com as especificações.

Mais poder para você, se isso é realmente algo que você deseja fazer, seja esperto, comece com o núcleo e alguns programas simples que piscam alguns leds e avançam lentamente a partir daí. Eu recomendo a rota de simulação. Além da gratificação instantânea, não se preocupe com o silício até estar mais longe. Até então, você terá mais do design e poderá usar as ferramentas para ver em que ele pode se encaixar. Se você não conseguir executar essa coisa em simulação, provavelmente não a executará em silício.


1
Obrigado pessoal, segui seu conselho e decidi deixar de ser ambicioso e totalmente experimental. Pegou um kit programador pequena PIC / dev bordo e um ferro de solda ...
Brad

Até o final do ano, a estrutura possui uma placa cpld, pico algo (machx02), que suporta o núcleo mico8 vendido por US $ 29. Eles alegaram que estavam indo para consertá-lo, mas sua loja tem o preço errado, sem venda, mas um / alguns dos revendedores o têm pelo preço certo. Por cerca de US $ 50, você pode acessar a placa brevia, que é um FPGA com mais blocos lógicos e mais exemplos de processadores incorporados. Também existe um escudo gameduino ardino que possui um xilinx e um vga, todos de código aberto, que você pode usar para gerar vídeo trabalhando em direção a um objetivo de simular uma placa / sistema de vídeo legado.
old_timer

dwelch, você tem um link direto para esse fórum? Isso despertou meu interesse ...
drxzcl 2/11/11


Apenas tenha cuidado com o envio; eles queriam que US $ 80 fossem enviados para o Canadá ... "A FedEx International Priority é a nossa única opção" - bleh.
precisa saber é o seguinte

1

Se você deseja simular computadores com saída de vídeo, tente obter algo com uma quantidade razoável de memória RAM, pois será necessário para a memória do sistema e da memória de vídeo. Obviamente, um conector interno para VGA é bom, mas se você quiser fazer uma simulação fiel de tempo de alguns sistemas antigos, poderá precisar gerar vídeo composto enxertando em um DAC ou mesmo em um resistor R2R.

Em seguida, talvez escolha a maior opção de chip de contagem de gate disponível na placa suportada pela versão gratuita das ferramentas FPGA . Os chips maiores implicitamente têm mais memória ram de bloco (já vi muitos projetos controlados por isso, em vez de contagem de portas); no entanto, você pode estar no território de aplicativos em que a memória RAM externa e um FPGA menor são mais baratos que um FPGA grande o suficiente para fazer tudo isso. .

O armazenamento flash sempre pode ser enxertado posteriormente - por exemplo, um cartão SD de vários gigabytes com interface no modo SPI.

Geralmente, as placas FPGA são da classe de US $ 100-200 e depois da classe realmente cara. Você provavelmente pode progredir bastante com um dos primeiros.


0

Eu era o pôster original desta pergunta, mas não deveria estar logado ou ainda não tinha criado uma conta ...

Enfim, no final, deixei o projeto de lado por 4 ou 5 meses, mas depois fui com a placa Nexys3 e agora tenho um computador Microbee instalado e funcionando. Você pode ler sobre isso aqui: http://www.toptensoftware.com/fpgabee .

Apesar de tudo, fiquei muito feliz com o Nexys3, ele lida com o núcleo T80 com espaço de sobra, não era muito caro (US $ 250) e tem tudo o que preciso (e muito mais).

A principal decepção é que não consegui fazer com que a interface do teclado USB-HID funcionasse e, embora ainda esteja discutindo com a Digilent, suspeito que ela só funcione com alguns teclados e não consegui encontre um que seja compatível (já tentei cerca de 8 teclados diferentes). Não há modelos de referência para isso, os testes periféricos não testam o teclado e eu li sobre outras pessoas com o mesmo problema.


1
Se você se preocupa com sua conta anterior, pode sinalizar para que sejam mescladas.
Stevenvh 17/07/2012
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.