CGA и CF IDE адаптер на Altera MAX10

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

User avatar
Mixa64
Doomed
Posts: 490
Joined: 25 Aug 2009 07:02
Location: Москва

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Mixa64 »

newold86 wrote:
Mixa64 wrote:WE придерживаем до момента как появится READY. Подразумевается, что к появлению READY данные для записи уже есть. (название WRMEM - условное, единый строб для памяти, формируемый из требования процессора или DMA, смотря кто из них активен.)
Такое впечатление, что памяти глубоко наплевать на READY (если под этим подразумевается CHRDY) - как я уже писал, у меня не получается придержать момент записи в память байта с шины данных...
Да, IOCHRDY. Он расщепляется, попадает на READY процессора или READY DMA, в зависимости от текущего цикла. И WE на память не подается до тех пор, пока READY не появится. Иначе - нонсенс, DMA придержали, потому что IO еще не готово, а в память уже пишем.
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Mixa64 wrote:И WE на память не подается до тех пор, пока READY не появится. Иначе - нонсенс, DMA придержали, потому что IO еще не готово, а в память уже пишем.
Кем именно не подается ? Да вся проблема у меня из-за того, что память не ждет и пишет в себя в тот момент, когда CHRDY в нуле и нужных данных на шине еще нет. Вот картинка (прошу прощения - на Retina дисплее Quartus фигово масштабирается):
memw.png
В районе метки 224 SPI передает последний бит первого байта, и на шину данных выставляются правильные данные - 33h, после чего IORDY возвращается в 1. Тем не менее, в память записывается предыдущее значение с шины данных - FEh, потому что MEMWn идет в 0 в самом начале DMA цикла, и CAS, очевидно, поднимается еще до выставления правильных данных на ШД, не дожидаясь IORDY...
You do not have the required permissions to view the files attached to this post.
User avatar
Mixa64
Doomed
Posts: 490
Joined: 25 Aug 2009 07:02
Location: Москва

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Mixa64 »

Вот тот MEMWn, посередине которого 224, запускает цепочку сначала RAS, потом CAS, а WE идет не автоматически за/вместе с CAS или просто тупо как повторение MEMWn, а придерживается до момента, когда IODRY не появится, момент метки 224.

P.S. Это не то как оно в реальности происходит, а то, как хотелось бы, чтобы нонсенса не было. Если в реале DMA на мамке по IORDY задерживается, а сигналы на ОЗУ живут своей жизнью, то нафига тогда READY для DMA делать.
Last edited by Mixa64 on 12 Nov 2017 10:31, edited 1 time in total.
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Mixa64 wrote:WE идет не автоматически за/вместе с CAS или просто тупо как повторение MEMWn, а придерживается до момента, когда IODRY не появится, момент метки 224.
И как тогда в память попадают старые данные ? Причем я даже пробовал придержать IORDY еще подольше - чтобы быть уверенным, что после появления данных на ШД проходит достаточно времени - картина не изменилась вообще никак...
User avatar
Mixa64
Doomed
Posts: 490
Joined: 25 Aug 2009 07:02
Location: Москва

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Mixa64 »

я там предыдущий пост поправил, см. P.S.
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Mixa64 wrote:я там предыдущий пост поправил, см. P.S.
Небольшое такое уточнение :)
Именно этим вопросом я и задавался - нафига тогда CHRDY для DMA...
User avatar
Mixa64
Doomed
Posts: 490
Joined: 25 Aug 2009 07:02
Location: Москва

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Mixa64 »

newold86 wrote:Именно этим вопросом я и задавался - нафига тогда CHRDY для DMA...
Ну вот и консенсус :)
Я не стал листать альбомы со схемами XT, влом. Посмотрел только в старой тетрадке, что осталось от моих записей на тему XT, когда делал свое программно-совместимое. И нету там у меня специального сигнала WE к памяти, RAS-CAS0..CAS2 формируются (три ряда РУ7 было), а WE нету! Неужели и вправду WE так и идет напрямую от шинного MEMWn ? Ну это косяк тогда, косяк.
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

При DMA, сигнал WE идет напрямую от 8237. Это не было бы проблемой, если бы CAS задерживался по CHRDY. Причем, кстати, логика формарования RAS/CAS довольно сложная, и в ней присутствуют сигналы, имеющие отношение к DMA. Только вот сходу понять не могу - довольно сложно замешано :(
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Посмотрел чуть внимательнее - на времянки памяти сигнал CHRDY не влияет вообще никак. Все жестко начинается после опускания в 0 сигнала MEMW/R (причем не важно, кто их выдает - DMA или процессор), далее вообще все происходит через линию задержки, так что даже стало понятно, когда именно нужно выставить данные, чтобы они записались
User avatar
Lavr
Supreme God
Posts: 16754
Joined: 21 Oct 2009 08:08
Location: Россия

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Lavr »

Tronix wrote:Я вешаю комп обычно так:

Code: Select all

cli
hlt
А говорят, что под Вендой комп так не вешается... 8)
iLavr
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Vic3Dexe »

Lavr wrote:А говорят, что под Вендой комп так не вешается...
Правду говорят :)
Ежели win32 приложение - схлопочет #GP.
Ежели досовское - повесит только себя.
User avatar
Lavr
Supreme God
Posts: 16754
Joined: 21 Oct 2009 08:08
Location: Россия

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Lavr »

Vic3Dexe wrote:Ежели досовское - повесит только себя.
и то не насмерть - диспетчером легко снимется
iLavr
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Упрощенный вариант предыдущей карты, теперь на MAX3128
SDM3.jpg
You do not have the required permissions to view the files attached to this post.
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: CGA и CF IDE адаптер на Altera MAX10

Post by Tronix »

Отлично. Но надо бы взглянуть на код SPI модуля -) Тактируется от чего? CLK или OSC ?
А так - хорошо, но дорого для массового повторения, имхо.
newold86
Devil
Posts: 724
Joined: 30 Nov 2013 11:08
Location: WWW

Re: CGA и CF IDE адаптер на Altera MAX10

Post by newold86 »

Относительно большое количество ячеек даёт возможность использовать мою прошивку от предыдущих проектов.
Тактирование от OSC - только этот сигнал даёт уверенность в определённой частоте