|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Орион на Альтере с настоящим ВМ80А
Author |
Message |
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
В рамках разбирательств в новыми технологиями (CPLD/FPGA), а также в приступе ностальгии решил сделать нечто типа того, что было задумано в самом начале этого топика:
http://www.nedopc.org/forum/viewtopic.php?t=10484
Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.
Сначала решил быстренько сделать упрощенный вариант, чтобы просто потренироваться. К сожалению, "быстренько" нифига не получилось. Никогда серьезно электроникой не занимался, и даже тот минимум знаний, что когда-то был, уже давно зарос мхом. Плюс на это наложилось мучительное изучение новых технологий.
Быстро нарисовав в Quartus'е схему Ориона, я был очень озадачен, когда он сходу не заработал. Далее пошла война с собственным незнанием, а также странными (как выяснилось) моментами в схемотехнике Ориона. Если честно, я очень удивлен, что в большинстве случаев Орионы начинали работать, не требуя серьезной наладки.
Добиться работы 100-процентой копии Ориона в CPLD так и не удалось - в некоторых местах пришлось слегка поменять времянки (очевидно, даже самый медленный CPLD работает заметно быстрее 155-ой серии, так что асинхронная конструкция просто перестала работать). Сегодня удалось преодолеть последнюю проблему, которая мучила неделю, и получился первый результат.
|
06 Apr 2014 03:52 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
Отпочковал в отдельную тему
P.S. А будут подробности про то, что пришлось подкрутить?
|
06 Apr 2014 12:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Поздравляю! Здорово получилось!
А "Специалист_МХ" в этом формате не сделаешь?
Давно хочу на CPLD научиться что-то делать, вот "Специалист_МХ" был бы кстати в таком формате!
_________________ iLavr
|
06 Apr 2014 14:31 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22821 Location: Silicon Valley
|
А fifan у соседей разве ещё не сделал?...
|
06 Apr 2014 17:43 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Конечно. Только сразу замечание - я не до конца уверен, что выводы, которые я сделал, правильные. Так что может быть, что хотя проблему мне и удалось решить, но до действительной сути ее я так не докопался.
1. /RAS почему-то оказывается после /CAS - http://www.nedopc.org/forum/viewtopic.p ... ht=#113042
В моем конкретном случае проблема представляла, скорее, академический интерес - все-равно использовал SRAM, но разобраться хотелось. Окончательно убедиться в своих выводах смогу, когда дойдут руки позапускать схему на более высоких частотах и посмотреть, поменяется ли фаза /RAS в конце концов.
2. Самая мутная вещь - узел сброса счетчиков DD5 и DD6. Такое ощущение, что после сброса исчезающий сигнал 56 успевает "тикнуть" вход C2 DD6, и следующий цикл начинается не с нулевой строки. Вылечилось D-триггером, который удлинил сигнал сброса на один период тактовой частоты.
Кстати, нечто похожее (вроде) наблюдается с сигналом 111 при реализации схемы на Cyclone IV. Похоже, в момент переключения сигналов 42-44 успевает проскочить "иголка", которая лишний раз "тикает" вход C1 DD2.
3. И последнее (пока) - формирование сигналов 95 и 94, отвечающих за "связь" процессора и памяти. Бился дольше всего - пишется в память правильно, выводится на экран правильно, процессор читает ПЗУ правильно, а вот при чтении процессором ОЗУ - лезет мусор (часто, но не всегда). После изучения вопроса - http://www.nedopc.org/forum/viewtopic.p ... ht=#113595 осциллографом увидел, что сигналы 95 и 94 исчезают одновременно со спадом С1. Т.е. данные на ШД убираются в тот момент, когда должны защелкнуться внутри процессора. Снова помог D-триггер, которым тоже чуть-чуть продлил сигналы 95 и 94.
http://www.nedopc.org/forum/viewtopic.p ... ht=#113595
|
07 Apr 2014 01:07 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Планов у меня громадье, но они упираются в наличие свободного времени (электроника - наверное, 1% от того, чем я вообще занимаюсь), а также в мотивацию - после того, как что-то как-то заработало, трудно себя заставить доводить это до полного ума.
Пока скажу так - будет видно...
|
07 Apr 2014 01:11 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Я тебя очень понимаю... а ты не взялся бы, пока оно у тебя в памяти не остыло, здесь кратко
и простыми словали рассказать процесс, ну и схемку набросать?
Чтобы, кто решится заняться CPLD, не наступали на лишние грабли...
Ну так примерно:
1. Берём такой софт...
2. Покупаем к нему вот такую БИС.
3. ....
и т.д.
_________________ iLavr
|
07 Apr 2014 01:53 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Да какой из меня на этой стадии учитель по ПЛИС - пока сам продолжаю по сплошным граблям бежать (иногда по кругу). И без меня куча всего уже написано. Наверное, применительно к тематике сайта, стоит посмотреть на http://zx.pk.ru/showthread.php?t=9342
Тем не менее (везде говорю об Altera):
1. Не уверен, что CPLD лучший вариант для экспериментов - формально есть ограничение в 100 перезаписей. Однако FPGA сложнее в подключении (если хочется сохранять состояние, то нужно еще конфигурационное ПЗУ).
2. С 5В формально совместимы только CPLD Max 7000S (полностью вход и выход) и Max 3000A (входы полностью, выходы дают 3.3В как "1", что не будет работать с 5В CMOS микросхемами). FPGA формально даже 5V на входе не должны выдержать, хотя есть примеры, когда все работает без проблем. 100% вариант согласования - 74LVC8T245
3. Ног много не бывает. Начинал с 44 PLCC корпуса - даже не дошло до пайки, понял, что ног не хватает. Самый многоногий в PLCC (есть панельки) - 84, что тоже маловато. Реально сейчас использую 144 QFP (припаял с использованием платы-переходника из Chip и Dip), но вообще нужно было ставить 208 QFP (как раз поместится на плату-переходник).
4. Для прикидки - количество использованных макроячеек в моем Орионе - 200, из которых штук 50 - разные отладочные прибамбасы. Так что если брать CPLD, то нужно хотя бы 256 ячеек (а еще лучше - 512).
Электрическую схему того, что я собрал, вряд ли нарисую - практически не умею пользоваться ничем для рисования схем, и времени на это совсем нет. Наверное, попробую на словах попозже пояснить - там проще не бывает.
Проект для Quartus'а выкладывать стыдно - настолько там все коряво и бестолково. Хотя бы немного причешу, потом выложу - иначе в нем еще и разобраться будет не очень просто.
|
07 Apr 2014 02:21 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ой - да ладно, перестань... Я ж не постеснялся поучиться писать dll под Протеус на виду у всех...
Сейчас сам, бывает, туда заглядываю, если что забуду - как в самый простой HELP.
За ссылку спасибо - гляну. Просто, на мой взгляд, на Хабре популярна эта правильная
затея, когда человек по-простому излагает свой удачный опыт.
Это обычно проще, доходчивей и интересней, чем читать всяческие хелпы.
_________________ iLavr
|
07 Apr 2014 02:30 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну мне не повторить чей-то "Специалист_МХ" хочется, а есть желание освоить сам процесс на основе
чего-то близкого, понятного и вызывающего " приступ удовольствия".
2_newold86 Кстати говоря, у "Специалиста" синхрогенератор более корректный, на мой взгляд.
Я на своей модели EWB просто не наблюдал там таких проблем, как у тебя с "Орионом" происходили.
Но, вероятно, в CPLD действительно есть свои особенности.
_________________ iLavr
|
07 Apr 2014 02:49 |
|
|
Mixa64
Doomed
Joined: 25 Aug 2009 07:02 Posts: 463 Location: Москва
|
ИЕ5 в CPLD запихивать - изврат (если речь об этом). ИЕ5 только каскадировать можно, но никуда не запихивать. Переходите на нормальную синхронную схему. Орион же показатель в своем роде: не каждому дано уметь каскадировать ИЕ5.
|
07 Apr 2014 08:11 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Вообще-то речь шла о повторении именно Орион-128 максимально близко к оригинальной схемотехнике, а не создании нового компьютера, похожего на Орион-128 или просто совместимого с ним...
|
07 Apr 2014 08:52 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну тогда уже на одной странице топика возникает некоторое противоречие...
А софт ты брал с сайта xilinx ?
http://www.xilinx.com/support/index.htm#index.htm?&_suid=13968871544700003376191969570508
_________________ iLavr
|
07 Apr 2014 08:56 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Противоречия не вижу - можно эту миссию немного дополнить - "...можно было реализовать схемотехнически максимально близко к оригиналу большинство самоделок..." Я даже РУ5 закупил, только в макете не стал их использовать - для тренировки и статики хватило.
Нет, как я писал выше, использовал продукты Altera - www.altera.com
Думаю, Xilinx и Altera - два практически равнозначных производителя.
|
07 Apr 2014 10:00 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
У Altera - там тоже надо регистрироваться и т.п., чтобы скачать софт, как в случае с Xilinx?
_________________ iLavr
|
07 Apr 2014 10:09 |
|
|
Who is online |
Users browsing this forum: No registered users and 3 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|