Pull to refresh

Comments 47

UFO just landed and posted this here
А чего забросили?
UFO just landed and posted this here
Я проектировал 16-битный компьютер на логических елементах (схема состоит из 8900 елементов), схему тестировал в Logic Circuit. К компьютеру написал ассемблер. Он может исполнять 75 ассемблерных инструкций (204 мнемоники).
А сейчас хочу сделать 32 битный.
Если вы уже делали 16- ти битный на рассыпухе, то зачем так же делать и 32-х битный? В чем смысл делать тоже самое только в большем обьеме?
Почему бы не сделать 32-х битный на FPGA? Суть то таже самая. Хочется на логических элементах пожалуйста, только они будут внутри и вместо пайки их будет соединять между собой прошивка FPGA. Как бонус получите и большую скорость и дополнительне фишки в виде ROM/RAM и т.д.
Заодно получите опыт в области, которая сейчас очень актуальна.
Плюс, программирование на verilog — довольно интересная штука)
Хочется отработать некоторые моменты, например прерывания.
А FPGA — хорошая идея!
Ну так чтобы отработать любые моменты не обязательно паять логику руками.
Если хочется работать на уровне схемы и логических элементов в IDE для FPGA можно делать тоже самое. Т.е. основной способ это конечно написание кода на HDL, но никто не мешает вам самому накидать схему из логики и IDE ее реализует в чипе.
Еще приятный момент, что там можно сразу запускать симуляцию и видеть чего вы там насоздавали в схеме.
Собрав процессор на рассыпухе, единственный скил, который в итоге окажется максимально прокачан — это пайка. Сомневаюсь, что ваша мечта работать монтажником :-)
А какую IDE вы можете мне посоветовать?
В мире FPGA так вопрос не ставится.
Там выбирается производитель чипов и он поставляет IDE для разработки под свои чипы.Обычно базавая версия бесплатная и она покрывает практически все потребности начинающих. Наверно существуют пакеты и от сторонних разработчиков, но не думаю, что они легко доступны.
Самыми популярными производителями являются Xilinx и Altera. Выбор между ними — это один большой холивар. Номенклатуоа выпускаемых чипов практически один в один совпадает, особенно в нижнем сегменте. IDE у них следующие:
Xilinx — ISE
Altera — Quartus
Я пользуюсь только Xilinx, мне хватает. Про Altera ничего сказать не могу т.к. даже в руках их продукцию не держал.
На старте думаю лучше выбирать того производителя, с которым работает ближайший к вам человек, у которого вы сможете спросить совет.
Для альтеры есть ещё Modelsim
он чуть поменьше весом.
UFO just landed and posted this here
Ещё нет :) Сейчас у меня на первом месте поступление в университет. Начну воплощать в жизнь летом, после сдачи экзаменов.
Значит никогда :-D Такие дела делаются или прямо сейчас или никогда.
А в универе — других забот на которые придется отвлекаться будет более чем достаточно…
Для любимого занятия у меня всегда найдётся время!
Я пробовал реализовать 32-х битный ORISC в Portal2 во встроенном редакторе, но карта оказалась слишком сложной и я не собрал даже нужное количество регистров памяти(
А я дальше теории не ушёл в детстве. Изучал схемы разных вариантов спектрума, потом рисовал свою с максимальным приближением в совместимости с реальным спектрумом. Потом попалась книжка про микропроцессоры. Пытался нарисовать комп с какой-то моторолой. Эх. Не понимал я тогда, что компьютер — это не только железо, но и ПО. Хотя, теоретически, то, что было нарисовано, могло работать. Разве что видеовывод вряд ли я тогда нарисовал. Я и на спектруме слабо понимал как там видеосигнал телевизионный формируется.
Собрать 4 триггера на дискретке — это, конечно, круто. Однако вы вообще представляете себе масштаб задачи, за который взялись? Тем более с разрядностью в 32 бита? Допустим нам нужно реализовать 32-ух битный регистр. На RS-триггерах нам понадобится 32 триггера. Каждый триггер — 3 транзистора. Т.е. 96 транзисторов только на один регистр. Которых нужно несколько.
Да и, ко всему прочему, компьютер состоит не только из процессора. Нужно где-то хранить программу(память программ) и ее данные(память данных). Плюс организовать обмен данными с пользователем(система ввода-вывода).
Для простейших программ можно обойтись без памяти данных, используя для этой цели регистры процессора. Православный Z80 имеет этих регистров(8-ми битных) аж 17 штук, что позволяло создавать конструкции на базе этого процессора совсем без памяти данных.
UFO just landed and posted this here
Вот бы собрать систему для высокопроизводительного вычисления SHA256
Решена то решена, но я говорю о том чтоб самому такую собрать и желательно чтоб не очень дорого вышло. А системы на ASIC во первых не дешего стоят, а во вторых их еще толком в глаза некто не видел, первые кто их заказывал получат их только в начале лета, и вообще получат ли они их еще вопрос, на некоторых bitcoin форумах ходят слухи что все эти чипы на ASIC это фейк и лохотрон, такое же как и это интервью чувака из Butterfly Labs на CES (смотреть с сабами) www.youtube.com/watch?v=C4SnUObMd0o :)
А откуда тогда довольные отзывы, что мол купил 3 ASIC, окупились за неделю?
Мне кажется, они вполне реальны, только их создатели уже хорошенько ими отфармили, а когда курс взлетел, они обогатились.
Но в любом случае это задача не для рассыпухи. Там у 74 серии предел всего лишь считанные мегагерцы (чуть ли не один, не помню). Слишком медленно получится.
Считанные мегагерцы? Например, использовать 74AHC*** — Advanced High-Speed CMOS, three times as fast as 74HC** (HC — High speed CMOS, similar performance to LS, 12 ns). Как минимум 20-30 мегагерц.
За большой производительностью я не гонюсь :) Мне и несколько мег будет достаточно.
Собирать компьютер из «рассыпухи» — сомнительное занятие. Считаю его нецелесообразным даже с академической точки зрения. На транзисторах можно ради интереса сделать парочку логических элементов, но не более того.

В плане проработки архитектуры микропроцессорной системы гораздо более интересно создать систему на ПЛИС. Или — если хотите жёсткую логику — на, собственно, стандартной логике (западная 74 серия или наша К1564 и др.). И паять меньше, и процесс интересней.
Именно, нужны плисы! А дальше добро пожаловать на opencores.com.
Я и буду использовать микросхемы 74 серии (CMOS)
1. Не совсем понял, какое собственно назначение компьютера?
2. 32 и 24 бита? Это же 4294967296 и 16777216 зачем столько много комбинаций? Вы разоритесь на покупке составляющих
3. Почему не пользуетесь K-maps для упрощения составляющих цепи? Описывать уравнения исходя просто из таблицы не эффективно
4. Почему не используете VHDL программирование (ModelSIM отличный софт)
UFO just landed and posted this here
На досуге почитаю!
Минимизация есть и встроенная в Logisim.
Статья хорошая, но можнО пишется через «о», причём в каждом из 7 случаев
Украинский акцент, исправил
О построении компьютера на транзисторах думал и я.
Но конечно тут нужны неортодоксальные архитектуры, понятно что делать в лоб схему на 15тыс транзисторов нельзя.
Я все еще эту идею не оставляю, и рассчитываю уложиться менее чем в 1000 транзисторов.

Тестовые логические элементы — работают с фронтами в 10-20нс после всех трюков, т.е. на уровне быстрой TTL логики.
После некоторого гемора заработали и 2-х транзисторные T-триггеры.
Т-триггер на 2-х транзисторах? Может быть RS?
Именно T ;-)
Но схема очень капризная, требует тщательного выбора элементов.
Схема очень заинтересовала!
А он синхронный? :)
Асинхронный.



Диоды от базы к эмиттеру — тут не обязательны, они для увеличения скорости. Конденсаторы параллельно с резисторами — в них основная идея. Когда на CLKIN приходит короткий инвертированный импульс — состояние переключается на противоположное.
Зрю почти что симметричный триггер из УЛПЦТ :)
Схема универсальная для тысячи поделок, я даже вот такую штуку делал:
Интересная реализация! Только её калибровать надо…
Проблема достать полевые SMD транзисторы в Украине;

Хм… странные у вас проблемы.
Лучше сразу понять какие шишки вы набёте

1. Паяние транзисторов и резисторов — ну почитайте историю компьютеров и спросите себя способны Вы иметь пару шкафов у себя дома — оцените сколько они кушают?

2. Создание схем на дискретных логических элементах — уже прогресс но Вам скорее всего захочется выжать максимум мегагерц — на сегодняшний день есть быстродействуюшие КМОП — 20 --30 Мгц может даже 100 Мгц — но тогда вам придётся очень качественно делать монтаж и продумывать средства для защиты схем от наводок, помех и «звона». У вас есть осцилограф?

3. Использование ПЛИС и прочих микросхем памяти — уже интереснее — это позволяет Вам купив плату творить что угодно — посмотрите на проект марсоход. Проект посвещён созданию первой версии арм процессоров, а также там есть очень много других примеров. Также взгляните на opencores

В любом случае, советую Вам написать что-нибудь на HDL языке, затем это эмулировать и уж затем паять или прошивать если вам это интересно.

Также необходимо почитать чего-нибудь по теории автоматов — уверен вы уже что-либо сделали.

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

Меня всегда интересовало, а какой минимально-аппаратный набор комманд и регистров нужен для процессора чтобы он был хоть как-то пригоден для использования. То есть можете вы сделать процессор из 16 транзисторов? а из 256? а из 1024?.. Создайте ЭВМ =процессор + SD карта + RS232 порт — тогда вы сможете выполнять достаточно много программ — это потенциальный кандидат на то чтобы другие повторили Ваш опыт на маленьких ПЛИС.

Повторите первый исторический intel4004 процессор
повторите z80 или i8080(та ещё дурацкая микросхема)
Sign up to leave a comment.

Articles

Change theme settings