È 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:
- 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.
- 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.
- O mesmo Lotharek ventilou um clone em FPGA do ZX-Spectrum, o Spectrum 2010. Mas não há maiores notícias a respeito.
O Luís Luca não andou acenando com um OCM próprio um dia desses?
Ver também: https://www.retrocomputaria.com.br/plus/?p=6521
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..
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
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
Tem também o Multiple Classic Computer (MCC 216):
http://www.mcc-home.com/
Não sei se presta, mas tem implementações do Atari 2600, C64 e Amiga para ele.
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 !
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…
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.