Здрасьте друзья.
После столетнего перерыва вернулся к железякам поколдовать.
Захотелось чего-то большего и более современного, а ПИО более чем на 6 мегаГ не нашел, да и кучу регистров и логики нету сил паять, то закрутил я все это вокруг СПЛД Макс2.
Забегая вперед, все равно пришлось кучу проводов паять для трасиверов 3.3<->5В.
Запихнул в сплд логику и маленькое ПЗУ для кода (мапнул на 0-127 адреса).
И тут дай, думаю, ради интереса я СРАМ на ДРАМ поменяю. Нашел 41464. Так, что получилось вот такая схемка.
Ну слепил все как смог.
Написал простой счетчик, где переменная каждый раз читается из памяти, инкрементируется и сохраняется обратно в память.
Это, как бы, тест у меня такой для памяти.
Код:P_OUT .equ 3h .org 0h ld sp, 0fff0h ; save initial counter value in RAM ld hl, 3000h ld (hl), 1h main: ld hl, 3000h ld a, (hl) out (P_OUT), a inc a ld (hl), a ld de, 3FFFh ;Loads DE with 16383 ;MAX - 7FFFh dly: dec de ;Decrements DE ld a, d ;Copies D into A or e ;Bitwise OR of E with A (now, A = D | E) jp nz, dly ;Jumps back to Inner: label if A is not zero jp main .END
Натужился, занизил 20 мегаГ до 6, что бы пока с ~WAIT не путаться и написал конроллер памяти. Вот FSM.
, протестил и..... не работает.
Причем в тестах все круто выглядит и по таймингам и по форме.
Тыкаюсь осцилом в RAS (красный) CAS (желтый) и чей-то вижу не то что-то. Похоже, вроде, но на инициализации (8 циклов CAS before RAS) RAS какой-то странный, а в M1 CAS кривится.
Подумал может горелые выходы, поменял рас и кас местами - картина тоже поменялась, значит сплд в норме. Может осцилограф кривой?
Вот уже месяц с перерывами голову ломаю - не выходит каменный цветок. Не фурычит.
Подумал, может вообще все плохо, ан нет. Заменил для переменной память на регистр и все работает, считает.
Значится дело в контроллере.
Очень нужна помощь. На Вас, светлые головы нашего форума надеюсь и уповаю, ибо уже свои все мысли от напряги скисли. Если до ума доведу - сделаем это опенсорсным и подарим zx-pk и миру.
Вот тут сорсы для icarusa:
z80_dram.7z


Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 



