MiSTer FPGA para emular sistemas retro, especificações

Já faz algum tempo que a emulação, ou melhor, a simulação de sistemas retro através de FPGAs está na moda, pois graças a eles é possível ter um sistema o mais fiel possível ao hardware original. O projeto MiSTer FPGA se enquadra nesta categoria. Explicamos em que consiste.

Aos poucos os sistemas antigos são completamente degradados e não podem ser usados ​​e preservá-los da forma mais confiável possível é importante para a história da computação. Se não podemos manter os chips originais, podemos pelo menos manter sua organização e fazer os FPGAs se comportarem como um.

MiSTer FPGA para emular sistemas retro

O que é MiSTer FPGA?

MiSTer FPGA é um projeto livre e aberto que busca a reprodução mais confiável possível de sistemas antigos através da utilização de um FPGA, que está configurado para emular sistemas antigos, sejam eles computadores ou consoles de videogame. Para isso, a comunidade MiSTer criou arquivos que permitem que o MiSTer FPGA seja configurado para funcionar como diferentes sistemas de 8 e 16 bits.

Graças ao uso de um FPGA configurado como o hardware original, ele se comporta como o hardware original e não por meio de emulação. Em outras palavras, o MiSTer FPGA se comporta como o hardware original e é o substituto ideal para quem deseja a experiência mais fiel possível com esses sistemas.

As diferenças com outros projetos? Por se tratar de um projeto aberto e gratuito, não estando associado a uma marca comercial, isso dá aos participantes a liberdade de serem o mais fiéis possível ao hardware original. Muitas das soluções comerciais que “emulam” consoles antigos através de FPGA se limitam a não infringir nem as patentes nem a propriedade intelectual e, portanto, devem buscar outras soluções para evitar litígios.

Como são desenvolvidos os núcleos dos diferentes sistemas?

Desenho Circuitos Papel

FPGAs são programados usando linguagens de descrição de hardware como Verilog e VHDL em suas diferentes versões. Essas linguagens não descrevem programas a serem executados, mas sim a organização interna dos vários transistores. A maneira de conseguir isso é primeiro tirar fotos com microscópios especiais e usar informações visuais, como um mapa, que é então codificado. Isso se deve ao fato de que o número de transistores vem dobrando de tempos em tempos devido à Lei de Moore, o que dificulta a análise e implementação.

Quando os sistemas são muito complexos, uma versão para FPGAs é criada o mais próximo possível do hardware original, mas muitas vezes existem elementos que não foram documentados pelo fabricante e estes devem ser implementados por meio de engenharia reversa. Isso significa que, embora o MiSTer FPGA tenha sido configurado para se comportar como um kernel específico, ele não funciona de forma confiável.

Outro problema tem a ver com o fato de que os tempos de vídeo em sistemas antigos foram projetados para funcionar com monitores e televisores que não existem mais, e embora seja possível adicionar módulos adicionais que permitem usar um monitor CRT, na verdade todos MiSTer FPGA os núcleos são projetados para dar saída ao sinal de vídeo por meio de HDMI, portanto, não são completamente fiéis ao hardware original. Felizmente, é um projeto aberto e os kernels que descrevem o hardware são atualizados com o tempo.

Por que um FPGA?

Processador

A vantagem dos FPGAs é que podemos configurá-los como se fossem diferentes peças de hardware interconectadas entre si e funcionando em paralelo. Isso tem uma eficiência mais alta do que um emulador em que todas as peças são emuladas por um único núcleo ou por vários, mas de forma menos eficiente. Um FPGA torna possível integrar hardware antigo de forma mais confiável, não apenas fazendo o hardware funcionar como está, mas também com os mesmos tempos de comunicação e interfaces.

Qual hardware compõe o MiSTer FPGA?

Terasic De10-Nano

O FPGA principal do MiSTer FPGA é o De10-Nano da Terasic, é um Intel Ciclone V 5CSEBA6U23I7 SoC , que inclui dois ARM Núcleos Cortex-A9 como o principal CPU, um DDR1 de 3 GB RAM, uma interface Micro SD, uma saída de vídeo HDMI e um conector mini-USB tipo B. Esta parte do hardware é utilizada para carregar os núcleos através de um menu, uma vez carregados o FPGA é iniciado, que passa a funcionar como o núcleo que carregamos.

O número de portas lógicas que o FPGA possui é 110,000, isso significa que ele não pode simular sistemas complexos devido à falta de portas lógicas programáveis ​​em seu interior. Portanto, se você espera emular um sistema de 32 ou 64 bits, é melhor esquecer de fazer isso, pois não há elementos suficientes para isso.

Tampouco você espera uma emulação 100% confiável, uma vez que, como mencionamos antes, existem muitos elementos de hardware desses sistemas que, se sabemos o que fazem, nunca foram documentados e não temos as informações de como são implementados em o hardware.

Módulos SDRAM para o MiSTer FPGA

Senhor FPGA SDRAM

O outro item necessário são os módulos SDRAM, o que é surpreendente, pois o sistema possui 1 GB de memória DDR3 integrada. A explicação? Tem a ver com a velocidade do clock e latência, já que como a RAM tem dado maiores larguras de banda, a latência também aumentou. Hoje isso é insignificante, mas os sistemas antigos foram projetados para que os processadores trabalhassem em horários específicos, que estavam relacionados à latência entre a RAM e os diferentes elementos.

O normal seria fazer uso da memória interna do FPGA, mas isso significa reduzi-la para a simulação do hardware, por isso é necessário usar RAM externa e a resposta tem sido o uso de SDRAM, o que é um compromisso entre as melhores A solução que seria a SRAM e a pior é que o uso de memória DDR na simulação dos diferentes sistemas.

O outro motivo é que o DDR RAM é utilizado pelos núcleos ARM, o que significa que há contenção no seu acesso, adicionando ainda mais latência e tornando a simulação pelo FPGA incorreta. Em geral, os tempos de resposta da memória são importantes para que o sistema funcione de maneira sincronizada e coordenada.

Expansões de E / S para o MiSTer FPGA

Senhor Conjunto FPGA Completo

O MiSTer FPGA tem uma série de placas de expansão que adicionam funcionalidades adicionais que são necessárias para adicionar certas funcionalidades e conectividade com certos periféricos. A instalação dessas placas não é fácil, pois em alguns casos não se baseiam na conexão a uma porta de expansão e devem ser feitas através da soldagem de determinadas conexões. Portanto, na maioria dos casos, recomendamos comprar um MiSTer FPGA com o kit completo totalmente montado.

Placa Analógica

Senhor Placa Analógica FPGA

A primeira placa de E / S para o MiSTer é a chamada Placa Analógica, que adiciona os seguintes elementos:

  • Um conector VGA, para poder conectar um monitor CRT.
  • Um minijack de áudio com TOSLINK.
  • Uma interface SD secundária, que é necessária para alguns núcleos.
  • Uma ventoinha para resfriar o De10-Nano, ou seja, o FPGA.
  • Uma porta USB 3.0, que é chamada de Porta do Usuário e é uma porta serial, que é usada principalmente para conectar os controladores originais através dessa interface.

Os adaptadores SNAC permitem que você conecte um botão de controle a um desses conectores, mas se quisermos poder conectar mais botões, estamos severamente limitados, já que a Placa Analógica possui apenas uma Porta de Usuário.

Placa RTC

Senhor Quadro FPGA RTC

A segunda placa de expansão é a Placa RTC, que adiciona um relógio em tempo real para os núcleos que precisam dele para funcionar corretamente. As CPUs costumam contar o tempo a partir da duração de seus ciclos de clock, portanto, para ter informações sobre o curso do tempo no mundo real, elas precisam desse tipo de placa, que também pode ser atualizada pela internet.

Conselho ADC

Placa Senhor FPGA ADC

A terceira placa é a em áudio / Tape Input, esta placa permite conectar uma unidade cassete para maior fidelidade da experiência dos computadores de 8 bits. É um acréscimo para pessoas que ainda guardam as fitas de seus computadores de 8 bits e vão funcionar depois de tanto tempo, então não é uma peça fundamental para funcionar.

Placa USB e BlisSTer

Hub USB MisterFPGA

A quarta placa é o Hub USB, que adiciona 7 portas USB ao MiSTer FPGA para poder conectar vários periféricos. Seja mouses, teclados, gamepads e podemos até adicionar Bluetooth e Wi-fi módulos.

Caixa Mister FPGA Bliss

O Hub USB não deve ser confundido com a placa BlisSTer, que integra uma série de portas de usuário para poder conectar vários adaptadores SNAC e conectar vários controles e periféricos ao mesmo tempo. O que é ideal se você ainda tem os periféricos originais e deseja continuar a usá-los.