Перейти к содержанию
    

Реализация расширенной FPGA-реплики ретро-компьютера

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

 

***************************

Задача - выполнить полное перепроектирование схемы советского компьютера БК0011М и переразводку печатной платы с учетом следующих требований:

 

1). Аппаратная эмуляция процессора 1801ВМ1 на отдельном FPGA-чипе, с возможностью работы этого чипа на частотах до 70-100 МГц. Чип должен быть аппаратной заменой ВМ1 как на проектируемой плате, так и при необходимости, полноценно заменять его на старой, работая на 4-6 Мгц. Т.е. должен быть полностью совместим по выводам с оригинальным ВМ1.

На проектируемой плате предусмотреть площадку как под чип нового процессора, так и под оригинальный 1801ВМ1. При установке оригинального схема работает на 4-6 МГц, при установке нового чипа - для старых программ используется режим соответствующей производительности, для новых программ - без ограничений. При наличии обоих чипов предусмотреть выбор активного перемычкой или как-то еще.

2). Интеграция совмещенного контроллера винчестера и дисковода SMK (фирмы АльтПро) на основную плату БК0011М. Контроллер имеет в наличии ДОЗУ 64-512 Кбайт, с расчетом на которое были написаны некоторые программы. Также контроллер имеет HALT-режим, и другие возможности, которые необходимо учесть. Подробнее тут: http://rsc-team.ru/index.pl?rzd=1&desc...ticles&id=2

На плате должен быть разведен 34-pin под дисковод, стандартный 40-pin IDE, а также разъем под CF (альтернатива IDE-винчестеру).

Контроллер построен на базе КР1801ВП1-128, которую в силу отсутствия в продаже желательно реализовать на базе ПЛИС.

3). Замена старых динамических микросхем ОЗУ на современные, увеличение объема ОЗУ до 4 мегабайт, полностью доступных программно. Предполагается, что в эти 4 Мб войдет 128 кб родной памяти и 64-512кб памяти SMK-контроллера (с сохранением всех его режимов работы с этой памятью).

4). Реализация цветового расширения с выходом на цветной композит (тюльпан) и VGA выходом. Реализация предполагает отказ от КР1801ВП1-037 с реализацией её функций в ПЛИС, по умолчанию обеспечивающей стандартный цветовой режим БК, а также предоставляющий новые цветовые режимы:

512*256

640*480

800*600

1024*768

Во всех новых режимах должно быть опционально доступно кодирование цвета пикселя 8-16-24 битами.

Принцип формирования изображения в новых режимах - на усмотрение исполнителя. Главный критерий - наименьшие затраты тактов процессора и удобство программного вывода изображения.

4). Замена устаревших ПЗУ (5 штук 1801РЕ1/РР1) на современную флеш-память, с возможностью её перешивания на самой же БК.

5). Перемещение функций контроллера клавиатуры 1801ВП1-014 в ПЛИС, который позволил бы использовать и старую клавиатуру и новую - любую современную PS/2. Для старой клавиатуры на плате должны быть разведены разъёмы под "мягкую" и под "жесткую" клавиатуры. Коды клавиш новой клавиатуры должны быть доступны программно в новом регистре, а также транслироваться в коды старого. Соответствие клавиш можно взять как на картинке:

http://www.asvcorp.ru/darch/tools/emustudi...0010/index.html

6). Интеграция на основную плату оригинального музыкального сопроцессора AY-3-9810 (AY9830), а также современного муз. 24-битного ЦАП с поддержкой аппаратного воспроизведения mp3.

Схема подключения AY-3-9810 к БК должна соответствовать варианту RDC (самарский вариант). Выход звука AY и нового звукового чипа физически должны быть объединены в один джек. Туда же должен выводиться звук с бипера (динамика), который также должен иметься на плате, как и в оригинальном БК.

Также должна быть реализована эмуляция AY-3-9810 на основной ПЛИС, применяемая в случае физического отсутствия микросхемы AY-3-9810.

7). Интеграция USB-порта, LPT-порта, com-порта (полностью совместимого с КР1801ВП1-065, стандартно определяемого в ОС БК), Ethernet 100 Мбит.

8). Буферизация шины МПИ.

9). Для гурманов сохраняем возможность загрузки с магнитофона, но через аудиовход звукового АЦП.

 

Требования к проекту:

1). Сохранение оригинального размера основной платы БК0011М, назначения и расположения на разъемов МПИ и УП, разъемов старой клавиатуры (3 слота под пленочную клавиатуру).

2). Полная обратная совместимость с БК0011М (программная и по портам МПИ и УП), совместимость со старой клавиатурой.

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

4). Новые разъемы располагаются на плате БК следующим образом: LPT, com, Ethernet располагаются над разъемом УП; VGA, композит (тюльпан), PS/2 (2 шт), сдвоенный USB - над разъемом МПИ.

Разъем магнитофона упраздняется и заменяется на джеки аудиокарты (вход-выход-микрофон). Старый 5-штырьковый разъем питания заменяется на стандартный разъем питания, применяемый для подключения блоков питания ноутбуков.

5). Выбор по-возможности микросхем в планарных корпусах для поверхностного монтажа и удобства пайки.

6). Максимально возможная элегантность и простота нового схемотехнического решения, доступность элементной базы.

7). Ценовая доступность компонентов нового БК по цене. Предполагается упор на продажу в виде недорогих комплектов для самостоятельной сборки (конструкторов).

8). При проектировании учитывать, что в дальнейшем плата будет переразведена в формат mini ATX. Необходимо уже на первоначально проектируемую плату вывести перемычки для подключения светодиодов активности питания, hdd, Reset, перемычки управления питанием.

9). Полная открытость проекта. Все файлы – схема, разводка, документация по архитектуре, прошивки и прочее – будет выкладываться в общий доступ.

 

Цели проекта:

1). Удовлетворение интересов коллекционеров и фанатов БК.

2). Реализация нативного бытового компьютера в современном формате в виде конструктора, что позволит привлекать к нему интерес начинающих схемотехников. Т.е. возвращение интереса к "живым" компьютерам, где можно реально программно "потрогать" порты и регистры, пощупать осциллографом ножки микросхем и т.п.

3). Поддержка системы команд PDP в современных платформах.

 

Допускаются отклонения от ТЗ на усмотрения исполнителя в сторону более оптимальных решений, без ущерба ключевым требованиям.

Выбор элементной базы - на усмотрение Исполнителя, с дальнейшей корректировкой общими силами, при необходимости.

************************

 

P.S. Пожалуйста, объективно оценивайте свои силы, прежде чем браться за работу. Один несерьезный (как выяснилось) человек с этого форума подрядился делать, со словами - "да я всю жизнь этим занимаюсь, это моя основная работа, я Z80 для ЧПУ эмулировал, для меня эмуляцию подобного процессора написать - неделя, а все остальное выполнить - месяц работы, не знаю я что они там эмулируют годами, эти горе-энтузиасты в интернете". Далее мы часами обсуждали по телефону как и что будет, я отправил ему ТЗ, он сказал что за пару суток набросает структурную схему будущего устройства, где будет указана вся элементная база, которая мол укладывается в 800 руб в розницу. После получения мною блок-схемы предполагалась встреча и внесение предоплаты. Далее, началось - "сломался" ноутбук, "отключили" интернет, были "дела на работе", за 3 недели я так и не получил ни письма, ни какой-либо еще внятной информации, после чего человек стал меня избегать, не брать трубку и т.п. Когда все-таки взял трубку, на вопрос не передумал ли он, ответил "нет конечно", но далее опять игнор.

Изменено пользователем VVoland

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VVoland

А может стоит объективно оценивайте свои силы в вопросе финансирования FPGA-чипа, который полностью совместим по выводам с оригинальным ВМ1 c возможностью работы этого чипа на частотах до 1 ГГц?

Сколько по Вашему мнению может стоить такая работа?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VVoland

А может стоит объективно оценивайте свои силы в вопросе финансирования FPGA-чипа, который полностью совместим по выводам с оригинальным ВМ1 c возможностью работы этого чипа на частотах до 1 ГГц?

Сколько по Вашему мнению может стоить такая работа?

 

У Вас странная постановка вопроса. Я предложил работу и спрашиваю цену - я в чем-то не прав? Или надо как в правительстве - "у нас есть лишний миллиард, кто в распиле поучаствовать хочет"?

Если Вы это сказали именно в защиту того горе-исполнителя, сыпавшего понтами (знающие люди сразу сказали что неделя на эмуляцию - это бред, и они готовы взять у него уроки такой оперативной эмуляции, если он таки способен на такое чудо), то могу ответить, что стоимость работ в том случае назначал он сам и меня она устроила. Озвучивать не буду по понятным причинам.

Да, и я дважды уточнял у него за все время общения - может он хочет пересмотреть цену или пора внести предоплату - на что он отнекивался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VVoland

А я у Вас и интересуюсь, сколько миллиардов долларов Вы готовы вложить в разработку FPGA с частотой 1ГГц (видимо, это частота работы проекта).

Да ещё чтобы был толерантен к 5 В.

Да ещё чтобы окупился в мелкосерийном производстве при цене готового изделия 10 тыр.

 

Поэтому просьба объективно оценивайте свои силы вызывает недоумение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Врядли удастся межплатный интерфейс, оставляемый неприкосновенным почему-то, совметстить с USB, Ethernet, VGA и прочим. Хоть машинки LSI имеют дьявольски удобные архитектуру и системе команд. Но адресуют всего 64К (4К из них - на порты вв.\выв.). Лучше микровакс эмулируйте, 32-разрядный.

 

Как-то, давно уже, писали, что наоборот, на микроваксе эмулировали IBM и он работал шустрее.

 

Конечно, затея очень трогательная, но утопична как древний социализм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VVoland

А я у Вас и интересуюсь, сколько миллиардов долларов Вы готовы вложить в разработку FPGA с частотой 1ГГц (видимо, это частота работы проекта).

Да ещё чтобы был толерантен к 5 В.

Да ещё чтобы окупился в мелкосерийном производстве при цене готового изделия 10 тыр.

 

Поэтому просьба объективно оценивайте свои силы вызывает недоумение.

 

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

Опять же, данное ТЗ - это не прописная истина, можно и не гигагерц, а хотя бы 100-200 мгц для начала заложить.

 

Если способов реализовать это без миллиардов долларов нет, то сделайте хотя бы аппаратные эмуляторы контроллеров КР1801ВП1-037, КР1801ВП1-014, КР1801ВП1-128, всю остальную мелкую логику, присутствующую на плате - переместите в ПЛИС. Или это миллионы долларов?

Тогда оставляем 1801ВП1, упростите хотя бы мелкую логику, ОЗУ-ПЗУ на современных компонентах. Хоть что-то можем без миллиардов? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непрошеный (заранее прошу прощения) совет незаинтересованного в данной конкретной работе человека.

 

Уважаемый ТС, Вы совершенно верно пришли к тому, что реализовать с нуля процессор на ПЛИС - это малореально без пресловутых "миллиардов". А вот логику, память ОЗУ-ПЗУ - наверняка найдете исполнителя, который вам на чем-нибудь Virtexоподобном сваяет нормальный системный контроллер. Уточните требования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Непрошеный (заранее прошу прощения) совет незаинтересованного в данной конкретной работе человека.

 

Уважаемый ТС, Вы совершенно верно пришли к тому, что реализовать с нуля процессор на ПЛИС - это малореально без пресловутых "миллиардов". А вот логику, память ОЗУ-ПЗУ - наверняка найдете исполнителя, который вам на чем-нибудь Virtexоподобном сваяет нормальный системный контроллер. Уточните требования.

 

http://code.google.com/p/bk0010/ - вот проделана значительная часть работы, без миллиардов. Можно взять за основу, т.е. уже не с нуля!

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

 

Еще ссылки http://vak.ru/doku.php/proj/bk-fpga

Изменено пользователем VVoland

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не буду с вами спорить, видимо, мы просто о разных вещах говорим: я - о промышленном применении, вы - о каких-то поделках. Соответственно - вам виднее, что вам нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

.... есть куда двигаться - спроектировать свою плату с более быстрым и относительно не дорогим чипом.

Скажите, почему фирма SUN так и не сделала джава-процессор массовым продуктом? А не пошло. Потому как эмулировать оказалось проще...

 

Видите ли, поскольку Вы не обладаете знаниями в этой области, то Вас легко ввести в заблуждение. У меня есть опыт проектирования микроконтроллеров в ПЛИС. Если хотите, то у меня на сайте, в статьях есть курс "микропроцессор своими руками"... Так вот, несмотря на то, что в новых ПЛИСах триггера работают на 500 Мгц (всего!) в реальном проекте не удастся подняться и до 100. А еще есть хитрость в системе команд. Не все комады легко реализовать в ПЛИС... Для машин с конвейером это одни команды, для машин без конвейера - совсем другие. Например, простая вещь - выделение бита из слова. В ПЛИС - это мультиплексор, который должен сработать на системной тактовой. А это не совсем легко... Или выделение байта из слова.... А что еще немаловажно, так это то, что на кристалле мало памяти. Да, есть много открытых проектов по микроконтроллерам. Но все они специфические.

Но и это не самое главное. Самое главное - это то, что проект платы на частоты в сотни Мгц представляется не совсем простым делом. Я не буду Вам объяснять о программах Ментора, которые позволяют симулировать в PCB перекрестные помехи, отражения и пр. Учтите, когда кто-то Вам ничнет говорить о том, что "это быстро делается на коленке, только заплатипе аванс", то учтите, что через некоторое время этот человек снова тихо растворится. Все дело в том, что на таких скоростях проект становится не "цифровым", а "аналоговым". А проектирование аналоговых плат - дело не совсем простое...

А уж замена пин-в-пин и вовсе нереальна... А замена одной микросхемы переходником с другой - работать не будет. Это уже пройдено на аппаратных эмуляторах микроконтроллеров, когда в разъем вставлялась головка щупа со жгутом.

И встает вопрос: "а зачем все это нужно???"...

Диплом?

Курсовик?

Хотелка?

 

Но, думаю, что тот, кто не хочет услышать, тот меня и не услышит...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1). Аппаратная эмуляция процессора 1801ВМ1 на отдельном FPGA-чипе, с возможностью работы этого чипа на частотах до 1 ГГц. Чип должен быть аппаратной заменой ВМ1 как на проектируемой плате, так и при необходимости, полноценно заменять его на старой. Т.е. должен быть полностью совместим по выводам с оригинальным ВМ1.

Начнем с п.1

Ну допустим будет "новый" 1 ГГц-процессор втыкаться в оригинальную плату, работающую на 5 МГц. Что он будет делать с этим быстродействием? Ждать 99,5 % времени? При отсутствии кэша и прочих чудес автономности?

Глупость. Нет разумного ответа на вопрос "нафига" - не будет и ответа на вопрос "как".

 

На первом пункте стратегическая лажа. Остальные незачем комментировать, хотя там косяков порядком.

 

Так что проект заслуживает только стеба, по крайней мере в данном разделе.

Добро пожаловать в раздел для начинающих, только тон смените.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А мне нравится, хотя я сам фанат ZX80, бэкашку уважаю. Конечно на 1ГГц сделать на ПЛИС проц не удастся, но даже если он будет бегать на 100MHz это будет прорыв в бэкашко строении.

Вот iosifk правильный вопрос задал, что будет делать 1ГГц процессор в плате, разведенной под 5МГц, и через переходник, который рассчитан на 40МГц максимум.

Он не стоять будет, а завалит все свои фронты и сигналы, если только не заставить его тактовый генератор работать на частоте 10МГц.

То есть, чтобы выжать скорость из процессора надо будет переразвести полностью плату БК, а раз мы ее переразводим, какой смысл цепляться за существующие чипы?

Пускай будет одна ПЛИС в которую запихнули все кроме памяти, память снаружи.

Я к тому, что либо полностью менять конструкцию БК, чтобы она работала на 1ГГц (ну 100МHz) и сделать ее программно совместимой со старыми программами.

Либо сделать полный клон процессора на 5МГц чтобы его можно было впихнуть через переходник в действующую плату. Смысл в этом не большой, если

только как ступенька к первому варианту, отладить все блоки на оригинальной плате, а затем используя отлаженный код, свести все в единый проект

внутри одной ПЛИС, и сделать другой, скоростной вариант.

Ну да, задачка в обоих случаях не 15 тыщ стоит, и не 30.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот iosifk правильный вопрос задал, что будет делать 1ГГц процессор в плате, разведенной под 5МГц, и через переходник, который рассчитан на 40МГц максимум.

Работать в кэше, как вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работать в кэше, как вариант.

Вы ТЗ читали?

"Аппаратная эмуляция процессора 1801ВМ1". Где кэш в 1801ВМ1?

Теперь мне стал понятен смысл вашего высказывания о том, что первый год сотрудник не приносит пользы предприятию. Много же времени потратится, пока вы услышите сказанное и прочтете написанное.

 

Тем, кому интересна реинкарнация советского.

 

Вот была такая истинно советская (в отличие рт клона PDP) ЭВМ - БЭСМ-6. Много хорошего я о ней слышал от программистов. Не знаю, много ли было ценного написано для БК, но для БЭСМ несомненно, значительно, одни расчеты ЯО чего стоят.

В 90-е шли разговоры об изготовлении процессора БЭСМ из секций АЛУ серий 1800, 1802, 1804, которые тогда уже осваивались, только время было не проектное. Получился бы серверный корпус с мощностью тогдашнего мейнфрейма.

Слышал о проектах "БЭСМ-сопроцессора" в виде PCI платы в РС, которая работает как процессор ввода-вывода и терминал.

Вот такую вещь на ПЛИС сделать реально и полезно. Хотя и затратно, и стремно.

 

Вопрос к форумчанам: как соотносятся затраты и ценность данного проекта?

А то ведь и проект можно подогнать, и финансирование получить. Только потом за него делом ответить придется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видите ли, поскольку Вы не обладаете знаниями в этой области, то Вас легко ввести в заблуждение. У меня есть опыт проектирования микроконтроллеров в ПЛИС. Если хотите, то у меня на сайте, в статьях есть курс "микропроцессор своими руками"... Так вот, несмотря на то, что в новых ПЛИСах триггера работают на 500 Мгц (всего!) в реальном проекте не удастся подняться и до 100. А еще есть хитрость в системе команд. Не все комады легко реализовать в ПЛИС... Для машин с конвейером это одни команды, для машин без конвейера - совсем другие. Например, простая вещь - выделение бита из слова. В ПЛИС - это мультиплексор, который должен сработать на системной тактовой. А это не совсем легко... Или выделение байта из слова.... А что еще немаловажно, так это то, что на кристалле мало памяти. Да, есть много открытых проектов по микроконтроллерам. Но все они специфические.

Но и это не самое главное. Самое главное - это то, что проект платы на частоты в сотни Мгц представляется не совсем простым делом. Я не буду Вам объяснять о программах Ментора, которые позволяют симулировать в PCB перекрестные помехи, отражения и пр. Учтите, когда кто-то Вам ничнет говорить о том, что "это быстро делается на коленке, только заплатипе аванс", то учтите, что через некоторое время этот человек снова тихо растворится. Все дело в том, что на таких скоростях проект становится не "цифровым", а "аналоговым". А проектирование аналоговых плат - дело не совсем простое...

А уж замена пин-в-пин и вовсе нереальна... А замена одной микросхемы переходником с другой - работать не будет. Это уже пройдено на аппаратных эмуляторах микроконтроллеров, когда в разъем вставлялась головка щупа со жгутом.

И встает вопрос: "а зачем все это нужно???"...

Диплом?

Курсовик?

Хотелка?

 

Но, думаю, что тот, кто не хочет услышать, тот меня и не услышит...

 

Только что скорректировал ТЗ, с учетом большинства замечаний. Добавил цели данного проекта.

Пусть будет не гигагерц, а 50-70-100 МГц, вобщем сколько реально возможно максимум, без кратного усложнения платы, усложнения самой работы (и соответственно её стоимости), а также без существенного удорожания компонентов.

Переходник выкидываем, раз он не может обеспечить более 40 МГц.

Если пин-в-пин заэмулировать процессор невозможно, пусть будет хотя бы программно идеально совместим.

Вобщем я безусловно готов на кардинальные изменения в ТЗ, при наличии в нем противоречий и явно нереализуемых вещей.

 

iosifk, после корректировки ТЗ, Вы рассмотрели бы задачу как исполнитель?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...