FPGA ao gosto do freguês.

È sabido até pelo reino mineral que chips FPGA são amplamente usados por entusiastas de retrocomputação para criar novo hardware, e até desenvolver novos computadores compatíveis com a máquina original. Sobre isso falamos no episódio 8 (partes A e B).

Mas, e equipamentos que podem assumir dois ou mais computadores? Ou seja, um multicomputador em FPGA? O que vocês acham? Curioso, não? Então, temos alguns representantes dessa estirpe. Vamos a eles:

  1. Temos de cara o FPGA Arcade, que custa € 199 na versão sem saída RCA e S-Vídeo, e € 299 na versão com ambas as saídas. Aqui temos um Amiga e um Atari ST na mesma placa (e sem brigar). Ele tem 64 Mb de RAM (DDR-II), saídas DVI/VGA/HDMI, placa padrão mini-ITX (cabe num gabinete de PC), entre outras coisas. Notícias a respeito aqui.
  2. Outra opção é o MiST, do polonês Lotharek, que por € 199 oferece Atari 800, Atari ST e Amiga no mesmo pacote. Você precisa de um teclado e um mouse USB, um carregador de celular como fonte de alimentação, um cartão SD (no mínimo 1 Gb), monitor VGA, e um par de alto-falantes. O projeto é bacana, mas o gabinete é feio de doer.
  3. O mesmo Lotharek ventilou um clone em FPGA do ZX-Spectrum, o Spectrum 2010. Mas não há maiores notícias a respeito.

Sobre Ricardo Pinheiro

Ricardo Jurczyk Pinheiro é uma das mentes em baixa resolução que compõem o Governo de Retrópolis. Editor do podcast, rabiscador não profissional e usuário apaixonado, fiel e monogâmico do mais mágico dos microcomputadores, o Eme Esse Xis.

0 pensou em “FPGA ao gosto do freguês.

  1. Certa vez ouvi — acho que foi no Podcast “retro entre amigos” (não, não é do Galvão Bueno) — de que o FPGA não pode ser considerado emulação pois eles não executam um código feito para recriar o funcionamento de um dispositivo. Pois tudo o que você faz em FPGA é descrever o comportamento das portas (gates) do componente..

    1. Uma FPGA permite tanto a reimplementação (hardware equivalente ao original) quanto a emulação (hardware diferente mas que faz a mesma coisa).

      Um software em um PC pode ser um simulador (recria fielmente o funcionamento de algo, mas talvez numa velocidade bem mais baixa que o original) ou um emulador (recria a experiência de se usar o aparelho original, mas talvez usando técnicas diferentes).

      O pessoal costuma misturar estes termos e criar confusão. E quem é mais novo e só conhece emuladores como softwares para PC não se lembra dos emuladores que os fabricantes de microprocessadores costumavam vender para desenvolvedores. Eram uma caixa cheia de TTLs com um cabo e conector de 40 pinos (por exemplo) que você encaixava na sua placa no lugar do microprocessador. Você ligava um terminal e podia examinar e modificar a memória mesmo que sua placa ainda não estivesse funcionando direito. Um exemplo de emulador de 68020:

      http://www.machine–tools.com/By-Location-/Delaware-/Tektronix-85E6820-68020-emulator.ASPX

  2. Um FPGA multicomputador que saiu aqui e eu achei extremamente interessante é o Turbo Chameleon 64, que começou como um cartucho para Commodore 64, virou um computador completo também C64 e ainda assumiu a personalidade de Amiga e ZX Spectrum. Um periférico que virou um computador com tripla personalidade.

    https://www.retrocomputaria.com.br/plus/?p=529

  3. Uma curiosidade que tenho e caso alguém puder responder, ficarei muito grato
    !

    1ª – Há alguma limitação da quantidade de CHIPS FPGA para ser usado em um projeto, algo como cascata, clusters, cores ,etc..

    2ª – Os chips FPGAS são fechados e específicos, ou pode se projetar ou encomendar algo integrado, digamos rode uma distribuição linux embarcada?

    Muito Obrigado !

    1. Oi George!

      Bem, até onde sei, a limitação do chip FPGA é o número de gates q ele tem, e principalmente, o preço. N dá p/ fazer algo muito rápido (acho q n tem FPGA q atinja + de 200 Mhz, mas posso estar falando besteira), mas resolve a maioria dos nossos problemas.

      FPGA tem uma linguagem específica de descrição de hardware, como VHDL ou Verilog. Agora, inserir uma distro Linux lá dentro, n dá até onde sei. Mas pode-se colocar o pinguim num firmware e executar nele.

      Alguém corrija minhas besteiras, por favor…

    2. 1) veja este cluster compact de FPGAs:

      http://www.sciengines.com/copacobana/gallery.html

      Um cluster bem maior:

      http://ramp.eecs.berkeley.edu/index.php?/pictures

      2) Linux rodando numa placa típica de FPGA:

      http://www.youtube.com/watch?v=2bSOzV–DbU

      BSD rodando num “tablet” feito com placa de desenvolvimento de FPGA:

      https://www.cl.cam.ac.uk/research/comparch/opensource/de4tablet/

      Mas note que é possível rodar Linux nestas placas só porque a FPGA pode implementar qualquer circuito, incluindo um processador completo (alguns, como o OpenRISC e o MIPS64, já tiveram o Linux portado para eles), interface de rede, saída de vídeo, etc. Você pode implementar um Apple II nestas mesmas placas ou (o que é mais interessante) um computador que ninguém nem imaginou antes.