С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не не не. LD A,82H : OUT (PPI.CM),A – достаточно.
Во. Это оно
Но в этой стройной логике есть одна кака. PPI может не успеть инициализироваться. В варианте на расыпухе это решалось подтягиванием сигнала /SLTEN конденсатором на землю. Ход стандартный. А для CPLD нужен костыль.
Или делать задержку на логических элементах для /SLTEN. Где-то видел способ как эту белиберду растолковать компилятору. Но, мое мнение, надо делать синхронный дизайн, путем завода сигнала CLK CPU на CPLD. Бо видимо это первые цветочки, а ягодки будут впереди.
Отвлекусь. Я вот тоже подумываю утилизировать тройку не дорогих плат с Циклоном 2 с толком для MSX. ДожилисьТак там без синхронного дизайна ни как. Вот так эти CPLD/FPGA задуманы. Пока есть одна трабла. Не кушают циклоны 2 сигнал 3.5МГц в виде клока (pll точно не ест. с глобальным клоком надо пробовать).
Последний раз редактировалось OrionExt; 08.10.2019 в 14:33.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
ГЫ! так нету на твоих схемах такого "Ход стандартный." Это другое дело конечно, потому что таким "ходом" можно добиться того что аж:
успеет отработать! хм, тогда наверно надо подтянуть таки выходы управления слотами через какойто жирный (50к ?) резистор на массу а этот самый /SLTEN сделать по posedge /PPI а не по negedge.Код:XOR A OUT (PPI.AW),A
Или сам сигнал /RESET процессора должен приходить гораздо позжее чем сигналы /RESET для VDP PPI PSG ?
Последний раз редактировалось bigral; 08.10.2019 в 16:06.
Что сказать ГЫ! ГЫ! Это очевидно. Медленная логика, против CPLD. Проверь еще! Возможно, начнется дальше, что я не смогу объяснить.
Раз 3 говорю, завязывайте с этой котовасией (цлк на вход цплд).
Тут совсем не понятно.
add:Выделил жирным, о чем речь. В моей схеме А2 работает. Это уроки от BEER-IDE как надо делать схемы. Для нас (Вас) А2 не критично, фирменный дешифратор MSX перебирает через 8 байта I/O.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Не прошло и полгода как я решил таки разобраться сам как писать тесты, тем более что народ меня просветил в другой ветке что vhdl и verilog это вообщето изначально были языки созданные для симуляции и моделирования логических систем а не для синтеза прошивок! т.е. надо было сначала учиться тесты писать а потом уже прошивки.
Ну вот короче https://www.edaplayground.com/x/2rJP
По симуляции пока что не нашел проблем с прошивкой, вроди как пашет и vdp (что на практике так и есть, токо чегото надо было спец тест с желтым цветом чтобы это увидеть), так же показует что обращение к ppi тоже есть.
Напрашивается вариант с неправильной работой сигнала сброса, ну т.е. вероятная причина не работы в том что z80 сильно рано начинает работать и vdp и ppi еще не успели сброситься, потому команды от z80 просто игнорируются, а прошивка написанна так что она подразумевает что vdp и ppi готовы к работе при сбросе z80. Намутил тут кучку vhdl кода с внутренними счетчиками и внешним clk чтоб типо сначала происходил сброс vdp и ppi а z80 все это время висел в состоянии reset_n <= '0', но потом посчитал это за слишком дорогое решение, тратить еще ресурсы cpld на схему которую положенно лепить в аналоговом виде?! это все fpga-шный стиль неуместный для такой конструкции "на коленке" как этот аппарат. Потому прошу Ваших вариантов аналоговой схемы на кондерах ну или может одновибраторах которая надежно будет генерить сигнал сброса для ppi + vdp + slot_enable триггер внутри cpld, а гораздо позжее запускать z80!
И еще вопрос по мапперу ascii16, как он должен по сбросу быть установлен, никто не знает?
Не понятно. Тест что с палитрой, что без палитры работает одинаково, т.е. пишет в порты VDP.
Зачем так сложно? Достаточно одного источника сброса (супервизор, например. еще и за питанием следит).
Правда с FPGA (а может и c CPLD, тут не уверен) есть одна заморачка. После включения питания FPGA требуется некое время для переброса прошивки из конфигурационного ПЗУ в ОЗУ. Так вот выходит что компьютер уже стартанул, а FPGA еще не прогрузилась. По мне решается это схемой И (схема ОК). Т.е. надо как бы продлить сброс до готовности FPGA и потом уже отпустить сброс сигналом от FPGA.
Вот инфа о мэпперах.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Держите сигнал WAIT пока не загрузится прошивка в FPGA. Многоуважаемый Ptero сделал такой мод для Карнивора. Отлично работает.
Можно и вайт, но логичней все же использовать ресет. Предположу, почему использовали вайт. Как известно по спецификации сигнал вайт с открытым коллектором, а ресет нет. Так то оно так на бумаге, а в жизни не всегда так. По этому надо всегда ставить в разрез сигнала диод. И тогда можно и ресет использовать.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
есть такая задумка: сигнал reset_n формировать как обычно в схемах типичного zx spectrum клона, подавать его на ppi, vdp и cpld (slot_enable + ascii16 mapper) а для z80 пропускать через одновибратор http://www.diagram.com.ua/info/rad_nach/q.gif
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)