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

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

Moderator: Shaos

Mixa64
Doomed
Posts: 478
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: 716
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.
Mixa64
Doomed
Posts: 478
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: 716
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 еще подольше - чтобы быть уверенным, что после появления данных на ШД проходит достаточно времени - картина не изменилась вообще никак...
Mixa64
Doomed
Posts: 478
Joined: 25 Aug 2009 07:02
Location: Москва

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

Post by Mixa64 »

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

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

Post by newold86 »

Mixa64 wrote:я там предыдущий пост поправил, см. P.S.
Небольшое такое уточнение :)
Именно этим вопросом я и задавался - нафига тогда CHRDY для DMA...
Mixa64
Doomed
Posts: 478
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: 716
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: 716
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: 16676
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: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

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

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

Post by newold86 »

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