MERA-400f

Z MERA 400 wiki
Wersja z dnia 11:20, 7 cze 2018 autorstwa Amo (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Skocz do: nawigacja, szukaj

MERA-400f jest współczesną reimplementacją jednostki centralnej komputera MERA-400 w technologii FPGA. Podstawowe założenia projektu to:

  • zachowanie pełnej kompatybilności ze sprzętowym oryginałem, zarówno w przypadku jego udokumentowanego (porządanego) jak i nieudokumentowanego działania,
  • wierność oryginalnej architekturze (z odstępstwami dyktowanymi wyłącznie specyfiką technologii FPGA),
  • wierność oryginalnym schematom (co do modułowości układu, sygnałów w nim płynących i ich nazewnictwa).

Implementacja dostępna jest publicznie i obejmuje:

  • CPU,
  • arytmometr wielokrotnej precyzji (FPU),
  • zewnętrzną magistralę systemu oraz magistralę pulpitu technicznego zrealizowane w postaci zserializowanej (USB) z własnym protokołem transmisji,
  • kontroler pamięci realizujący funkcje konfigurowalnej ferrytowej pamięci Elwro z nośnikiem w module SRAM.

W aktualnym stanie MERA-400f po podłączeniu do emulowanych urządzeń zewnętrznych uruchamia poprawnie działający system operacyjny CROOK-5.

Jednostka centralna zaimplementowana została w języku Verilog na podstawie schematów z DTR oraz dokumentacji projektowej. Celem tej implementacji nie jest kopiowanie układu zbudowanego z elementów 74xx, a jego implementacja we współczesnej technologii. Względem układu z oryginalnych schematów wprowadzone zostały następujące zmiany:

  • wszystkie sygnały są w logice aktywnej "1",
  • spójne elementy funkcjonalne budowane w technologii 74xx z układów przerzutników, rejestrów, multiplekserów i demultiplekserów, jak rejestry procesora czy szyny, zostały wyrażone odpowiadającymi im procesami Veriloga,
  • błędy występujące na schematach zostały poprawione, ostateczny układ odpowiada temu, jak procesor był zbudowany,
  • asynchronicznie sekwencyjne sterowanie CPU i FPU zostało zastąpione synchronicznie sekwencyjnym.