Орион на Альтере с настоящим ВМ80А

Компьютер Орион-128 (1990) расширяемый до 256 КБ и его развитие

Moderator: Shaos

newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Орион на Альтере с настоящим ВМ80А

Post by newold86 »

В рамках разбирательств в новыми технологиями (CPLD/FPGA), а также в приступе ностальгии решил сделать нечто типа того, что было задумано в самом начале этого топика:

viewtopic.php?t=10484

Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.

Сначала решил быстренько сделать упрощенный вариант, чтобы просто потренироваться. К сожалению, "быстренько" нифига не получилось. Никогда серьезно электроникой не занимался, и даже тот минимум знаний, что когда-то был, уже давно зарос мхом. Плюс на это наложилось мучительное изучение новых технологий.

Быстро нарисовав в Quartus'е схему Ориона, я был очень озадачен, когда он сходу не заработал. Далее пошла война с собственным незнанием, а также странными (как выяснилось) моментами в схемотехнике Ориона. Если честно, я очень удивлен, что в большинстве случаев Орионы начинали работать, не требуя серьезной наладки.

Добиться работы 100-процентой копии Ориона в CPLD так и не удалось - в некоторых местах пришлось слегка поменять времянки (очевидно, даже самый медленный CPLD работает заметно быстрее 155-ой серии, так что асинхронная конструкция просто перестала работать). Сегодня удалось преодолеть последнюю проблему, которая мучила неделю, и получился первый результат.

Image

Image

Image
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Отпочковал в отдельную тему

P.S. А будут подробности про то, что пришлось подкрутить?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Орион на Альтере с настоящим ВМ80А

Post by Lavr »

newold86 wrote:Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.
Поздравляю! Здорово получилось! :kruto:

А "Специалист_МХ" в этом формате не сделаешь?
Давно хочу на CPLD научиться что-то делать, вот "Специалист_МХ" был бы кстати в таком формате! :wink:
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А fifan у соседей разве ещё не сделал?...
Я тут за главного - если что шлите мыло на me собака shaos точка net
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Shaos wrote:А будут подробности про то, что пришлось подкрутить?
Конечно. Только сразу замечание - я не до конца уверен, что выводы, которые я сделал, правильные. Так что может быть, что хотя проблему мне и удалось решить, но до действительной сути ее я так не докопался.

1. /RAS почему-то оказывается после /CAS - viewtopic.php?p=113042&highlight=#113042

В моем конкретном случае проблема представляла, скорее, академический интерес - все-равно использовал SRAM, но разобраться хотелось. Окончательно убедиться в своих выводах смогу, когда дойдут руки позапускать схему на более высоких частотах и посмотреть, поменяется ли фаза /RAS в конце концов.

2. Самая мутная вещь - узел сброса счетчиков DD5 и DD6. Такое ощущение, что после сброса исчезающий сигнал 56 успевает "тикнуть" вход C2 DD6, и следующий цикл начинается не с нулевой строки. Вылечилось D-триггером, который удлинил сигнал сброса на один период тактовой частоты.

Кстати, нечто похожее (вроде) наблюдается с сигналом 111 при реализации схемы на Cyclone IV. Похоже, в момент переключения сигналов 42-44 успевает проскочить "иголка", которая лишний раз "тикает" вход C1 DD2.

3. И последнее (пока) - формирование сигналов 95 и 94, отвечающих за "связь" процессора и памяти. Бился дольше всего - пишется в память правильно, выводится на экран правильно, процессор читает ПЗУ правильно, а вот при чтении процессором ОЗУ - лезет мусор (часто, но не всегда). После изучения вопроса - viewtopic.php?p=113595&highlight=#113595 осциллографом увидел, что сигналы 95 и 94 исчезают одновременно со спадом С1. Т.е. данные на ШД убираются в тот момент, когда должны защелкнуться внутри процессора. Снова помог D-триггер, которым тоже чуть-чуть продлил сигналы 95 и 94.

viewtopic.php?p=113595&highlight=#113595
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Орион на Альтере с настоящим ВМ80А

Post by newold86 »

Lavr wrote:А "Специалист_МХ" в этом формате не сделаешь?
Планов у меня громадье, но они упираются в наличие свободного времени (электроника - наверное, 1% от того, чем я вообще занимаюсь), а также в мотивацию - после того, как что-то как-то заработало, трудно себя заставить доводить это до полного ума.

Пока скажу так - будет видно...
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Орион на Альтере с настоящим ВМ80А

Post by Lavr »

newold86 wrote:после того, как что-то как-то заработало, трудно себя заставить доводить это до полного ума.
Я тебя очень понимаю... а ты не взялся бы, пока оно у тебя в памяти не остыло, здесь кратко
и простыми словали рассказать процесс, ну и схемку набросать?

Чтобы, кто решится заняться CPLD, не наступали на лишние грабли...

Ну так примерно:
1. Берём такой софт...
2. Покупаем к нему вот такую БИС.
3. ....
и т.д.
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Да какой из меня на этой стадии учитель по ПЛИС - пока сам продолжаю по сплошным граблям бежать (иногда по кругу). И без меня куча всего уже написано. Наверное, применительно к тематике сайта, стоит посмотреть на 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'а выкладывать стыдно :) - настолько там все коряво и бестолково. Хотя бы немного причешу, потом выложу - иначе в нем еще и разобраться будет не очень просто.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Ой - да ладно, перестань... 8) Я ж не постеснялся поучиться писать dll под Протеус на виду у всех...

Сейчас сам, бывает, туда заглядываю, если что забуду - как в самый простой HELP. :wink:

За ссылку спасибо - гляну. Просто, на мой взгляд, на Хабре популярна эта правильная
затея, когда человек по-простому излагает свой удачный опыт.

Это обычно проще, доходчивей и интересней, чем читать всяческие хелпы.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:А fifan у соседей разве ещё не сделал?...
Ну мне не повторить чей-то "Специалист_МХ" хочется, а есть желание освоить сам процесс на основе
чего-то близкого, понятного и вызывающего "приступ удовольствия". :rotate:


2_newold86 Кстати говоря, у "Специалиста" синхрогенератор более корректный, на мой взгляд.
Я на своей модели EWB просто не наблюдал там таких проблем, как у тебя с "Орионом" происходили.

Но, вероятно, в CPLD действительно есть свои особенности.
iLavr
Mixa64
Doomed
Posts: 478
Joined: 25 Aug 2009 07:02
Location: Москва

Post by Mixa64 »

ИЕ5 в CPLD запихивать - изврат (если речь об этом). ИЕ5 только каскадировать можно, но никуда не запихивать. Переходите на нормальную синхронную схему. Орион же показатель в своем роде: не каждому дано уметь каскадировать ИЕ5.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Вообще-то речь шла о повторении именно Орион-128 максимально близко к оригинальной схемотехнике, а не создании нового компьютера, похожего на Орион-128 или просто совместимого с ним...
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Ну тогда уже на одной странице топика возникает некоторое противоречие...
newold86 wrote:Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.
А софт ты брал с сайта xilinx ?
http://www.xilinx.com/support/index.htm ... 1969570508
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Post by newold86 »

Lavr wrote:Ну тогда уже на одной странице топика возникает некоторое противоречие...
newold86 wrote:Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.
Противоречия не вижу - можно эту миссию :) немного дополнить - "...можно было реализовать схемотехнически максимально близко к оригиналу большинство самоделок..." Я даже РУ5 закупил, только в макете не стал их использовать - для тренировки и статики хватило.
Lavr wrote:А софт ты брал с сайта xilinx ?
http://www.xilinx.com/support/index.htm ... 1969570508
Нет, как я писал выше, использовал продукты Altera - www.altera.com

Думаю, Xilinx и Altera - два практически равнозначных производителя.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

newold86 wrote:...использовал продукты Altera - www.altera.com
Думаю, Xilinx и Altera - два практически равнозначных производителя.
У Altera - там тоже надо регистрироваться и т.п., чтобы скачать софт, как в случае с Xilinx?
iLavr