nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 12:59



Reply to topic  [ 193 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 13  Next
Самодельный процессор nedoRISC-0 (NEDONAND) 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Пока решаю проблему непредвиденных самовозбудов заменой самодельных триггеров и регистров на библиотечные из логисима...

То есть - на библиотечные из логисима возбуда нет, а на самодельных - возбуд?

Ты, кстати, проверь триггер на макетке, прежде чем заказывать платки. Мой опыт на живых ЛА3 показывал, что триггеры, как их рисуют в книжке, получаются гавённенькие... :osad:
Может где и пути придется выровнять чтобы они приемлемо работали.

_________________
iLavr


22 Jan 2016 13:47
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Пока решаю проблему непредвиденных самовозбудов заменой самодельных триггеров и регистров на библиотечные из логисима...

То есть - на библиотечные из логисима возбуда нет, а на самодельных - возбуд?


Пока схемки были простые, вроде всё работало - как только оно стало более-менее запутанно - начались самовозбуды на самодельных триггерах...

Lavr wrote:
Ты, кстати, проверь триггер на макетке, прежде чем заказывать платки. Мой опыт на живых ЛА3 показывал, что триггеры, как их рисуют в книжке, получаются гавённенькие... :osad:
Может где и пути придется выровнять чтобы они приемлемо работали.


Я поверял простой "transparent D-latch" из 4 NAND-ов на макетке - вроде работало:

Image

Навороченный вариант - двухступенчатый и со сбросом/установкой проверю когда платки сделают...

_________________
:dj: https://mastodon.social/@Shaos


22 Jan 2016 13:57
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Вот обновлённая версия, которая даже передачу управления по G=R делает ;)



P.S. По сути регистра G тут нету - есть PC (см. тут), запись в который есть просто установка сигнала LOAD непосредственно перед счётным импульсом и сброс после него (при этом младшие 8 битов в PC загружаются с выхода временного 8-битного регистра T, а старшие 3 - из младших трёх битов регистра F, который на схеме представлен просто как восемь D-триггеров со срабатыванием по уровню)...

_________________
:dj: https://mastodon.social/@Shaos


23 Jan 2016 18:25
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Вот версия с полноценным 11-битным PC, A=n, R1=R2 (включая переход G=R с копированием 3 битов из F) и R=~R (это 128+64-10=182 штук опкодов или 71%):



Линк на архив с файлом для логисима:
http://nedopc.org/nedopc/files/logisim-nedonand.zip
Чтобы оно завелось надо кликнуть на вход /RESET чтобы там было "1"...

P.S. Интересно, что приведённая схема имеет больше возможностей, чем предоставляет система команд - например запись 7-битного числа в любой регистр или копирование с инверсией между любыми регистрами (система команд напомню разрешает запись числа только в A и копирование с инверсией только если источник и приёмник являются одним и тем же регистром)...

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2016 09:59
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Пока имеем 93 отдельно стоящих NAND-гейтов, 12 полусумматоров (60 NAND-ов), 3 XOR-а (12 NAND-ов), демультиплексор 1:8 (32 NAND-а), 8 мультиплексоров 8:1 (8*24=192 NAND-а), 8 мультиплексоров 2:1 (8*4=32 NAND-а, но т.к. они подцеплены параллельно, то можно сократить на 7 гейтов т.е. 25 NAND-ов), 2 RS-триггера (2*2=4 NAND-а), 13 "навороченных" D-триггеров (13*18=234 NAND-а), 6 восьмибитных регистров (каждый из которых можно составить из 8 простых D-триггеров) и 8 отдельных простых D-триггеров ((6*8+8)*4=224 NAND-а) - всего 876 NAND-гейтов или 219 микросхем 74F00 (и это пока без АЛУ и конвейера)...

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2016 21:11
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Вот версия с полноценным 11-битным PC, A=n, R1=R2 (включая переход G=R с копированием 3 битов из F) и R=~R (это 128+64-10=182 штук опкодов или 71%)


На самом деле этого уже достаточно, чтобы сделать что-то полезное - например написать HELLO на семисегментных индикаторах, подцепленных к регистрам A,B,C,D,E (младший бит - сегмент a, старший бит - десятичная точка):



Линк на архив с файлом для логисима:
http://nedopc.org/nedopc/files/logisim-nedonand.zip
Программу собственно всю видно - это только первые 12 байт ПЗУ.
Плюс я добавил шестнадцатиричных индикаторов чуть ниже ПЗУ для показа адреса (3 индикатора) и текущей инструкции (2 индикатора), а также четыре светодиода сверху для индикации текущего такта машинного цикла...

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2016 23:20
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Shaos wrote:
P.P.S. В-принципе, можно уже нарисовать и заказать платки "слайсов", которые по приходу можно собрать и воткнуть в бредборду, на которой собрать это 4-битное АЛУ и погонять на разных скоростях, наблюдая за результатом по осциллографу, чтобы оценить пиковое быстродействие...


По-быстрому нарисовал в бесплатной версии Eagle v5 платку ALU-slice (см. eagle-nedonand.zip):



Развёл автороутером (всё кроме цепей питания, которые нарисовал вручную):



И заказал на oshpark.com несколько штучек :)

Image

P.S. Распиновка:
1) GND
2) O0
3) O1
4) O2
5) A
6) B
7) C
8) H
9) L
10) COUT
11) DOUT
12) VCC


Вот и платки пришли :)


Attachments:
File comment: NEDONAND-1
nedonand-1.jpg
nedonand-1.jpg [ 87.24 KiB | Viewed 8154 times ]

_________________
:dj: https://mastodon.social/@Shaos
25 Jan 2016 17:29
Profile WWW
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Шустро оно у вас там. Когда паять и тестировать планируешь?


26 Jan 2016 06:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
jdigreze wrote:
Шустро оно у вас там. Когда паять и тестировать планируешь?


Я им за скорость приплатил - потому и шустро ;)

Думал на этой неделе спаять и погонять, но как-то навалилось всего...

_________________
:dj: https://mastodon.social/@Shaos


26 Jan 2016 09:58
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
В логисиме ещё логировать можно выбранные сигналы в текстовой форме, правда не по времени, а по изменениям состояния этих сигналов...

P.S. По-быстрому нарисовал в бесплатной версии Eagle v5 платку с двумя "навороченными" D-триггерами (см. eagle-nedonand.zip):



Развёл автороутером (всё кроме цепей питания, которые нарисовал вручную) плюс полигон земли пришлёпал снизу:



И заказал на oshpark.com несколько штучек :)

Image

По сути это аналог 7474, но входы установки не выведены наружу как пины, а представлены кнопками S1 и S2:
1) GND
2) D1
3) ^C1
4) /R1
5) Q1
6) /Q1
7) D2
8) ^C2
9) /R2
10) Q2
11) /Q2
12) VCC


Тем временем пришёл второй набор платок:


Attachments:
File comment: NEDONAND-2
nedonand-2.jpg
nedonand-2.jpg [ 113.65 KiB | Viewed 8076 times ]

_________________
:dj: https://mastodon.social/@Shaos
07 Feb 2016 20:30
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Нарисовал в бесплатной версии Eagle v5.12 третью платку - 4 бита PC-счётчика (см. eagle-nedonand.zip):



Развёл автороутером - по традиции всё кроме цепей питания плюс полигон земли, ну и немного вручную подправил:



И немедленно заказал на oshpark.com 3 штуки :)

Image

Три платки NEDONAND-3 втыкаются друг в друга (и в каждую втыкаются пара платок NEDONAND-2), образуя 12-битный счётчик (в качестве адреса для ПЗУ программ будем использовать только 11 бит, а 12-й можно заюзать как признак переполнения счётчика).

JP1:
1) IN (на выходе OUT) - сигнал разрешения счёта
2) ACT0 - сигнал записи внешнего значения
3) ACT1 - сигнал записи инкрементированного значения
4) /RESET - общий сброс
5) CLK - тактовый сигнал
6) NC
7) VCC
8) GND

JP2:
1) D0 - внешний бит 0 для записи
2) D1 - внешний бит 1 для записи
3) D2 - внешний бит 2 для записи
4) D3 - внешний бит 3 для записи
5) D4 - используется в следующих платах
6) D5 - используется в следующих платах
7) D6 - используется в следующих платах
8) D7 - используется в следующих платах
9) D8 - используется в следующих платах
10) D9 - используется в следующих платах
11) D10 - используется в следующих платах
12) D11 - используется в следующих платах (тут будет всегда "0")

_________________
:dj: https://mastodon.social/@Shaos


09 Feb 2016 07:13
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Видимо для начала надо построить вариант без АЛУ (как просимулировано в Logisim) - и к нему уже буду прикручивать конвейер и АЛУ
Маленькие платки буду авто-разводить в бесплатной версии Eagle 5.12 (ограничение на размер 10x8 см и кол-во слоёв 2) т.к. это быстрее (в моей лицензионной версии нет автороутера)
Большие платки буду вручную разводить в опенсорцном PCB т.к. он не имеет ограничений на размер и не надо заморачиваться с предварительным рисованием схемы, как в Eagle
Производство платок буду заказывать через oshpark.com - они делают по 3 платки (или количество кратное 3) относительно быстро (10-15 дней от заказа до доставки) и относительно недорого ($5 за кв.дюйм для трёх плат)

_________________
:dj: https://mastodon.social/@Shaos


10 Feb 2016 08:30
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Собрал первые две платки:


Attachments:
File comment: NEDONAND-1 & NEDONAND-2
nedonand-1-2.jpg
nedonand-1-2.jpg [ 136.08 KiB | Viewed 8034 times ]

_________________
:dj: https://mastodon.social/@Shaos
10 Feb 2016 20:52
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
А они работают хоть? :roll: А то что-то ты долго развлекаешь нас эксгибиционизмом плат... :ebiggrin:
А мы мальчонки-то уже в возрасте... возбуждает это как-то не сильно.. :wink:

_________________
iLavr


10 Feb 2016 21:29
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Проверил первую платку (1 бит АЛУ) - вроде работает как надо:


Attachments:
File comment: Test NEDONAND-1
nedonand1test.jpg
nedonand1test.jpg [ 127.03 KiB | Viewed 8027 times ]

_________________
:dj: https://mastodon.social/@Shaos
10 Feb 2016 23:41
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 193 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7, 8 ... 13  Next

Who is online

Users browsing this forum: No registered users and 26 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

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