x86128: (Default)
x86128 ([personal profile] x86128) wrote 2019-05-02 03:14 am (UTC)

GPIO и MMU добавил.

Такая вот программа работает гладко:

start start '1'
xta '77755' ; читаем из GPIO (Switches)
atx '77756' ; пишем в GPIO (Leds)
uj start


Привожу ее диаграмму сигналов из SignalTap (хорошо что он есть, пусть и базовый!)


Там конечно что-то мелькает, но работает. То есть программа считывается корректно.

Но с памятью данных возникли проблемы.
Если код сделать таким:

start start '1'
xta '77755'
atx '200'
xta '200'
atx '77756'
uj start


Получается такая диаграмма:


При этом читается и пишется в разные места. Пробовал задерживать сигнал готовности - работает, но там видно что по шине адреса что-то нехорошее бегает. А так как сигнал i_read или i_write включен, то память считывает и с "мусорных" адресов.

Может реагировать только на первый переход i_read или i_write в активное состояние а потом ждать когда он придет в ноль...

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting