Троичная перепрограммируемая микросхема TERNARO (TRI00)

Уравновешенная троичная система счисления - форум переехал с http://ternary.info

Moderator: haqreu

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

Троичная перепрограммируемая микросхема TERNARO (TRI00)

Post by Shaos »

Выдумал я тут DIP24 микросхему, которая с одной стороны будет иметь стандартные 12 троичных пинов, на которых можно построить любой однорядный TRIxx элемент (9 троичных сигналов и 3 питающих ноги):

pin 1 - IO1
pin 2 - IO2
pin 3 - IO3
pin 4 - IO4
pin 5 - IO5
pin 6 - IO6
pin 7 - IO7
pin 8 - IO8
pin 9 - IO9
pin 10 - Vneg (общая земля)
pin 11 - Vref (среднее значение между Vneg и Vpos - обычно +2.5В)
pin 12 - Vpos (общее питание +5В)

А с другой стороны это будет 12 ног бинарной части - сигнал сброса, слейв SPI для программирования и чтения внутреннего состояния с внешнего компа или контроллера, ну и например мастер SPI для опциональной загрузки прошивки из внешнего EEPROM без помощи микроконтроллера:

pin 13 - GND2 (двоичная земля)
pin 14 - _RES (сброс устройства)
pin 15 - _CS (вход выбора для Slave SPI)
pin 16 - SDI (вход данных для Slave SPI)
pin 17 - SDO (выход данных для Slave SPI)
pin 18 - SCK (входной клок для Slave SPI)
pin 19 - _SS (выход выбора внешнего EEPROM от встроенного Master SPI)
pin 20 - MOSI (выход данных для Master SPI)
pin 21 - MISO (вход данных для Master SPI)
pin 22 - SCLK (клок для Master SPI, приходящий ИЗВНЕ)
pin 23 - MSTR (задаёт режим загрузки прошивки из внешнего EEPROM через Master SPI при включении)
pin 24 - Vcc (двоичное питание)

Можно построить рабочий прототип на рассыпухе, а потом начать собирать деньги на производство кремния :roll:

P.S. 19 февраля 2015 решил дать микросхеме кодовое наименование "Ternaro" (это "триада" по итальянски)...

P.P.S. 21 июля 2018 предложил другой набор сигналов на второй половине (ещё через неделю 28 июля добавил сигнал /PRG) и так как делать я буду через MOSIS, то придётся взять ихний DIP28, т.к. DIP24 у них нету:

Code: Select all

         ___________
        /     U     \
 IO1 --|1          28|-- TA0
 IO2 --|2          27|-- TA1
 IO3 --|3          26|-- TA2
 IO4 --|4          25|-- TA3
 IO5 --|5          24|-- TA4
 IO6 --|6  TERNARO 23|-- TA5
 IO7 --|7          22|-- TA6
 IO8 --|8   DIP28  21|-- SDO/TEST
 IO9 --|9          20|-- SDI
Vneg --|10         19|-- SCK
Vref --|11         18|-- /PRG
Vpos --|12         17|-- /RES
N.C. --|13         16|-- N.C.
N.C. --|14         15|-- N.C.
        \___________/
pin 17 - /RES (сброс программы устройства)
pin 18 - /PRG (разрешение программирования)
pin 19 - SCK (входной клок для Slave SPI)
pin 20 - SDI (вход данных для Slave SPI)
pin 21 - SDO (выход данных для Slave SPI если тестовый адрес 0000000) или TEST (троичный тестовый выход, если TA=1...127)
pin 22 - TA6 (тестовый адресный бит 6)
pin 23 - TA5 (тестовый адресный бит 5)
pin 24 - TA4 (тестовый адресный бит 4)
pin 25 - TA3 (тестовый адресный бит 3)
pin 26 - TA2 (тестовый адресный бит 2)
pin 27 - TA1 (тестовый адресный бит 1)
pin 28 - TA0 (тестовый адресный бит 0)

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

https://hackaday.io/project/159905-ternaro
You do not have the required permissions to view the files attached to this post.
Last edited by Shaos on 19 Feb 2015 17:33, edited 4 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичная перепрограммируемая микросхема TRI00

Post by Lavr »

Shaos wrote:с одной стороны будет иметь стандартные 12 троичных пинов...

с другой стороны это будет 12 ног бинарной части
Какая-то прямо недо-троичность! :o
А что мешает сделать её полностью троичной?
iLavr
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Мешает отсутствие троичных микросхем памяти с троичным SPI ;)

Первым пусть будет гибрид - а дальше поглядим...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Просмотрел свои стандартные компоненты - там у 12-ногих вроде как из 9 IO может быть до 8 входов и до 4 выходов, значит отсюда и пляшем - скажем пусть можно будет построить ещё и ROM или RAM - для ROM можно сделать 3-тритные данные (всегда на выход) и 6-тритный адрес (729 триад), а для RAM 4-тритные данные (причём и на вход и на выход), 1 трит управления (N-запись, O-неподкл, P-вывод) и оставшиеся 4 трит будут адресом (81 трида с дополнительным тритом контроля).
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

Shaos wrote:Мешает отсутствие троичных микросхем памяти ...
Ну так с них и надо начинать !
Именно статическая память в отличие от других имс сразу же даст выигрыш в смысле {объём данных}/{площадь кристалла}
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Может оно и действительно надо сделать режим SRAM режимом по умолчанию, который включается при первой подаче питания или перезагрузке микросхемы...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

В качестве базового элемента, множество инстансов которого будут жить внутри кремния, можно взять не отдельный селектор 3:1, а чуть покрупнее - управляемый двумя троичными входами мультиплексор 9:1, составленный из 4 маленьких селекторов:

Image

Интересной особенностью этой схемы является то, что она может легко превратится в ячейку троичной памяти с 6 входами (запоминание происходит на среднем левом мультиплексоре, подключенном в качестве буфера с обратной связью от выходного селектора):

Image

Если на левый сигнал управления подавать всегда O, то схема вырождается в стандартный двух-входовый элемент MEM...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:...для ROM можно сделать 3-тритные данные (всегда на выход) и 6-тритный адрес (729 триад), а для RAM 4-тритные данные (причём и на вход и на выход), 1 трит управления (N-запись, O-неподкл, P-вывод) и оставшиеся 4 трит будут адресом (81 трида с дополнительным тритом контроля).
Для создания ROM с 6-тритным адресом и 3-тритными данными потребуется (1+9+81)*3=273 таких 9:1 мультиплексоров (т.е. всего 1092 троичных селектора). А для создания RAM с 4-тритным адресом и 4-тритными данными потребуется 81*4=324 ячейки - многовато...
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Post by petrenko »

А ежели для начала п.з.у. сделать прожигаемое аки 155ре3 - только вместо диода ячейка будет из транзистора ?

А ячейки о.з.у. из девяти полевых транзисторов ( как я нарисовал/накалякал когда то.. ) разве не получится сделать ?
Было бы замечательно, ежели бы уместилось пусть и не 81 ячейка, а 9 и по три трита, но трёхпортовое обращение к о.з.у. - это, повторюсь, был бы готовый блок регистров для процессора.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Однократку в наше время делать как-то не солидно, а флеш IP стоит денег - так что пусть будет загружаемым извне при включении питания, как FPGA...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:В качестве базового элемента, множество инстансов которого будут жить внутри кремния, можно взять не отдельный селектор 3:1, а чуть покрупнее - управляемый двумя троичными входами мультиплексор 9:1, составленный из 4 маленьких селекторов:

Image

Интересной особенностью этой схемы является то, что она может легко превратится в ячейку троичной памяти с 6 входами (запоминание происходит на среднем левом мультиплексоре, подключенном в качестве буфера с обратной связью от выходного селектора):

Image

Если на левый сигнал управления подавать всегда O, то схема вырождается в стандартный двух-входовый элемент MEM...
Троичный LUT, способный превращаться в троичную ячейку памяти, может выглядеть вот так (нарисовано и сэмулировано в Logisim):

Image

А отдельно троичная ячейка памяти с двумя входами (тот самый MEM) выглядит вот так:

Image

Тут левый троичный селектор подключён как буфер, а правый троичный селектор работает как ключ, подающий обратно на вход буфера либо его же выход, либо один из троичных входов для сохранения троичного сигнала...
Last edited by Shaos on 23 Feb 2015 17:25, edited 2 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

Shaos wrote:
Shaos wrote:...для ROM можно сделать 3-тритные данные (всегда на выход) и 6-тритный адрес (729 триад), а для RAM 4-тритные данные (причём и на вход и на выход), 1 трит управления (N-запись, O-неподкл, P-вывод) и оставшиеся 4 трит будут адресом (81 трида с дополнительным тритом контроля).
Для создания ROM с 6-тритным адресом и 3-тритными данными потребуется (1+9+81)*3=273 таких 9:1 мультиплексоров (т.е. всего 1092 троичных селектора). А для создания RAM с 4-тритным адресом и 4-тритными данными потребуется 81*4=324 ячейки - многовато...
Может с ROM и начать? Который при включении питания заполняется содержимым внешней двоичной SPI микросхемы памяти...
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re:

Post by petrenko »

Очень советую начать всё же с RAM .. :wink:
petrenko wrote:...
Было бы замечательно, ежели бы уместилось пусть и не 81 ячейка, а хотя бы 9 и по три трита, но трёхпортовое обращение к о.з.у. - это, повторюсь, был бы готовый блок регистров для процессора.
User avatar
Shaos
Admin
Posts: 24083
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Re:

Post by Shaos »

petrenko wrote:Очень советую начать всё же с RAM .. :wink:
petrenko wrote:...
Было бы замечательно, ежели бы уместилось пусть и не 81 ячейка, а хотя бы 9 и по три трита, но трёхпортовое обращение к о.з.у. - это, повторюсь, был бы готовый блок регистров для процессора.
RAM можно на рассыпухе построить
Я тут за главного - если что шлите мыло на me собака shaos точка net
petrenko
Doomed
Posts: 598
Joined: 10 Mar 2012 16:21
Location: РФ

Re: Троичная перепрограммируемая микросхема TERNARO (TRI00)

Post by petrenko »

Трёхпортовую RAM на рассыпухе ? :roll:

А ежели с ассоциативными тегами ?

Ну я могу только посоветовать, не более ..