nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 22 Feb 2018 15:00



Reply to topic  [ 110 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next
Орион на Альтере с настоящим ВМ80А 
Author Message
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
В рамках разбирательств в новыми технологиями (CPLD/FPGA), а также в приступе ностальгии решил сделать нечто типа того, что было задумано в самом начале этого топика:

http://www.nedopc.org/forum/viewtopic.php?t=10484

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

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

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

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

Image

Image

Image


06 Apr 2014 04:52
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16274
Location: Colorado
Reply with quote
Post 
Отпочковал в отдельную тему

P.S. А будут подробности про то, что пришлось подкрутить?

_________________
:eugeek: https://twitter.com/Shaos1973


06 Apr 2014 13:27
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
newold86 wrote:
Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.

Поздравляю! Здорово получилось! :kruto:

А "Специалист_МХ" в этом формате не сделаешь?
Давно хочу на CPLD научиться что-то делать, вот "Специалист_МХ" был бы кстати в таком формате! :wink:

_________________
iLavr


06 Apr 2014 15:31
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16274
Location: Colorado
Reply with quote
Post 
А fifan у соседей разве ещё не сделал?...

_________________
:eugeek: https://twitter.com/Shaos1973


06 Apr 2014 18:43
Profile WWW
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
Post 
Shaos wrote:
А будут подробности про то, что пришлось подкрутить?


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

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 02:07
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
Lavr wrote:
А "Специалист_МХ" в этом формате не сделаешь?


Планов у меня громадье, но они упираются в наличие свободного времени (электроника - наверное, 1% от того, чем я вообще занимаюсь), а также в мотивацию - после того, как что-то как-то заработало, трудно себя заставить доводить это до полного ума.

Пока скажу так - будет видно...


07 Apr 2014 02:11
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
newold86 wrote:
после того, как что-то как-то заработало, трудно себя заставить доводить это до полного ума.

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

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

Ну так примерно:
1. Берём такой софт...
2. Покупаем к нему вот такую БИС.
3. ....
и т.д.

_________________
iLavr


07 Apr 2014 02:53
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
Post 
Да какой из меня на этой стадии учитель по ПЛИС - пока сам продолжаю по сплошным граблям бежать (иногда по кругу). И без меня куча всего уже написано. Наверное, применительно к тематике сайта, стоит посмотреть на 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 03:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Ой - да ладно, перестань... 8) Я ж не постеснялся поучиться писать dll под Протеус на виду у всех...

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

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

Это обычно проще, доходчивей и интересней, чем читать всяческие хелпы.

_________________
iLavr


07 Apr 2014 03:30
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
А fifan у соседей разве ещё не сделал?...

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


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

Но, вероятно, в CPLD действительно есть свои особенности.

_________________
iLavr


07 Apr 2014 03:49
Profile
Maniac

Joined: 25 Aug 2009 08:02
Posts: 255
Location: Москва
Reply with quote
Post 
ИЕ5 в CPLD запихивать - изврат (если речь об этом). ИЕ5 только каскадировать можно, но никуда не запихивать. Переходите на нормальную синхронную схему. Орион же показатель в своем роде: не каждому дано уметь каскадировать ИЕ5.


07 Apr 2014 09:11
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
Post 
Вообще-то речь шла о повторении именно Орион-128 максимально близко к оригинальной схемотехнике, а не создании нового компьютера, похожего на Орион-128 или просто совместимого с ним...


07 Apr 2014 09:52
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Ну тогда уже на одной странице топика возникает некоторое противоречие...
newold86 wrote:
Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.


А софт ты брал с сайта xilinx ?
http://www.xilinx.com/support/index.htm#index.htm?&_suid=13968871544700003376191969570508

_________________
iLavr


07 Apr 2014 09:56
Profile
Doomed

Joined: 30 Nov 2013 12:08
Posts: 615
Location: WWW
Reply with quote
Post 
Lavr wrote:
Ну тогда уже на одной странице топика возникает некоторое противоречие...
newold86 wrote:
Идея была сделать некую универсальную платформу с CPLD, к которому подключены реальный процессор, память и остальные "большие" микросхемы, чтобы потом на этой платформе можно было реализовать большинство самоделок 80-х - 90-х годов.


Противоречия не вижу - можно эту миссию :) немного дополнить - "...можно было реализовать схемотехнически максимально близко к оригиналу большинство самоделок..." Я даже РУ5 закупил, только в макете не стал их использовать - для тренировки и статики хватило.



Нет, как я писал выше, использовал продукты Altera - www.altera.com

Думаю, Xilinx и Altera - два практически равнозначных производителя.


07 Apr 2014 11:00
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
newold86 wrote:
...использовал продукты Altera - www.altera.com
Думаю, Xilinx и Altera - два практически равнозначных производителя.

У Altera - там тоже надо регистрироваться и т.п., чтобы скачать софт, как в случае с Xilinx?

_________________
iLavr


07 Apr 2014 11:09
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 110 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.