x86128: (Default)
[personal profile] x86128
Спешу поделиться радостью: прямо перед праздничными выходными почта довезла плату с FPGA Altera Max10 в исполнении Terasic de10-lite.



Базовые хеловордлы пройдены: светодиоды, ключи, кнопки, HEX и писк через бузер освоены. Под парами лежат модули RS232 на 3.3v и модуль SD-карточек.

Версия бузера у меня buzzer он немного суров, т.к. имеет усилитель на транзисторе 2TY без ограничивающего резистора, поэтому ток протекающий через него получается великоват и он греется. Надо быть внимательным с полярностью управляющего сигнала.

Для МЭСМ-6 понадобится модуль PLL и блоки памяти M9K.

Вгрузка памяти программ и данных будет организована пока через mif-файл. Скрипт перевода oct файлов в mif готов.

В ближайшее время начну вкорячивать МЭСМ-6 в DE10-LITE.

Date: 2019-05-02 07:38 pm (UTC)
vak: (Default)
From: [personal profile] vak
В модуле mesm6_core на ibus_addr и dbus_addr нету отдельных регистров. К примеру, ibus_addr это просто часть регистра PC:

assign ibus_addr = pc[15:1];

Посмотрел ещё раз внимательно времянку на примере теста UJ. Вроде ibus_addr стабильно стоит аж до конца запроса к памяти, тут всё в порядке. Но выставляется адрес одновременно с запросом ibus_rd. То же самое при обращении к данным.



Проблема в том, что отсутствует опережение, то что называется Address Setup Time. Очевидно, для альтеровскиго ПЗУ опережение не нужно, а для памяти требуется. Надо учесть это в твоём коде привязки к блокам M9K.

Profile

x86128: (Default)
x86128

April 2023

S M T W T F S
      1
2345678
9101112131415
16171819202122
232425 26272829
30      

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 11:03 am
Powered by Dreamwidth Studios