АЛУ на NAND

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

jdigreze wrote:
Lavr wrote:А на популярность применения команд STC, CLC, CMC у тебя какая точка зрения?
Нормальная такая популярность. Но не злоупотребляю.
Команду сброса можно не делать, достаточно установки и инверсии.
Вобщем-то я уже объяснил причины по которым я собираюсь CLC сделать:
Lavr wrote: Но я хочу сделать CLC как отдельную команду, поскольку предполагаю далее,
что команды ORA A, которой принято сбрасывать флаг C без изменения A,
возможно, не будет, в плане упрощения схемотехники регистровых передач.
А будут только ORA RX, ORI N.
Хотя ясность здесь окончательно возникнет, когда я конкретно буду
вписывать АЛУ в схему процессора и утрясать всю систему команд...

Сейчас затрудняюсь в выборе элементной базы для РОН.
К155ТМ8 использовать предполагаю... но боюсь их понадобится много.
Хорошая микросхема - К155ИР26, но нераспространённая.
А я решил опереться сугубо на доступную элементную базу.
User avatar
Shaos
Admin
Posts: 24085
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

7401 у нас продается в виде старья по доллару за штучку в одном единственном месте
в виде новья с буковками его нет (не выпускают) - так что можно сказать, что для США это не является "доступной элементной базой"...
а всё на 7400 слабо? :roll:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:7401 у нас продается в виде старья по доллару за штучку в одном единственном месте
в виде новья с буковками его нет (не выпускают) - так что можно сказать, что для США это не является "доступной элементной базой"...
а всё на 7400 слабо? :roll:
Слабо? Хм.. кто бы говорил...
Shaos 20 Ноя 2009 wrote:...
я на днях купил себе 100 микросхем 74F00 (это ЛА3 со средним временем срабатывания 3 нс) за 4.5 цента за штучку (clearance) - буду городить 16-битный риск-процессор на мелкой логике :)
viewtopic.php?p=84753&highlight=100#84753
Я что-то ничего пока не увидел на 100 чипах 74F00... видимо и правда - слабО... :wink:

Так что я сделал прикидку, чтобы узнать, что 100 микросхем 74F00 тебе даже на 16-битное АЛУ не хватит.
А если чего там в Америке не продаётся - так на слабо и делайте себе там сами всё на 7400.

А у меня в России не 100, но значительное количество К155ЛА8 завалялось - коробку в нагрузку дали.
Да и вообще на всякой старой плате их есть. Из этой элементной базы я, пожалуй, и буду исходить.
100 штук К155ЛА3 у меня тоже нету, а я всёж намерен довести до железки приемлемого размера.


А на слабо - можешь прикупить кого другого... :-?
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Каждый корпус 555ЛА3, если верить Шило, потребляет 33мА (а 555 - 9мА соответственно), то 100 микросхем будут хавать примерно 3,3А (0,9А для 555 соответственно). :3
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Элементная база АЛУ на NAND

Post by Lavr »

Ну и поскольку на галимых 7400 мы ничего делать реально не будем, то есть смысл обсудить элементную базу.
И чтобы не выходить за границы топика, я предлагаю вентилями NAND всёж и ограничиться.
Как-то так помню, что XOR и OR водились в меньших количествах, так что задействуем
7400 Quad 2-input NAND Gate
7401 Quad 2-input NAND Gate (OC)
7410 Triple 3-Input NAND Gate
7430 8-input NAND Gate
7422 Dual 4-input NAND Gate


В Российской нотации это будут:
К155ЛА3
К155ЛА8
К155ЛА4
К155ЛА2
К155ЛА7


Инверторы будем использовать как инверторы, значит:
К155ЛН1

И у меня почему-то довольно много
К155ЛР1
в молодости я её считал почему-то "бестолковой" микросхемой, так что
задействуем её сейчас - если никто не против.

Ну и поскольку "спортивную" часть топика мы выполнили, теперь реализуем "практически-нищебродскую" конструкцию.
Так что не возбраняется юзать у кого чего есть... :wink:

И в этом плане мне больше по нраву и по элементной базе блок АЛУ по схемам на рис. 4.
Их я буду придерживаться практически, посему и моделировать АЛУ я начал с них.

Image

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

Image

Проверил все функции при всех аргументах - ошибок не заметил...

Если кому интересно попробовать смоделировать АЛУ по-своему, проект доступен,
чтобы было от чего изначально оттолкнуться...

Схема на рис. 6, естественно неоптимальна, поэтому оптимизировать её я буду, но естественно,
на более широкой элементной базе, нежели вентили К155ЛА3.
Last edited by Lavr on 16 Oct 2011 12:46, edited 1 time in total.
User avatar
Shaos
Admin
Posts: 24085
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

ещё один аргумент против 7401 - если это старый оригинальный ТТЛ, то он:
a) медленный
б) жрущий
напомню, что 74F00 имеет задержку 2.4-5.0 нс, что даёт теоретическую возможность прогонять через один чип 200 МГц, а твоя ЛА8 будет тормозить всю систему...

P.S. проект с кучей 74F00 потихоньку обдумывается - я с тех пор прикупил ещё пару сотен микрух, а также выбрал дешёвый и быстрый способ монтажа для прототипирования...

P.P.S. отыскал современную замену 74LS01 от фирмы NTE (которая похоже просто тестирует старое барахло и перебивает маркировку на "новую") - $1.37 за штучку (в 30 раз дороже одной 74F00)

P.P.P.S. в природе существует SN74ALS01N, который судя по всему уже не продаётся
Last edited by Shaos on 16 Oct 2011 12:28, edited 3 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:Каждый корпус 555ЛА3, если верить Шило, потребляет 33мА (а 555 - 9мА соответственно), то 100 микросхем будут хавать примерно 3,3А (0,9А для 555 соответственно). :3
Где-то у тебя тут очепятко... нет?
Может всёж "Каждый корпус 155ЛА3 ... потребляет 33мА" ?

Хотя есть и другие данные, но похоже...
http://www.microcontrollerov.net/spravo ... 55/K155LA3
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:ещё один аргумент против 7401 - если это старый оригинальный ТТЛ, то он:
a) медленный
б) жрущий
напомню, что 74F00 имеет задержку 2.4-5.0 нс, что даёт теоретическую возможность прогонять через один чип 200 МГц, а твоя ЛА8 будет тормозить всю систему...

P.S. проект с кучей 74F00 потихоньку обдумывается - я с тех пор прикупил ещё пару сотен микрух, а также выбрал дешёвый и быстрый способ монтажа для прототипирования...
Ну я тебе свою схемотехнику не навязываю, а мысли, тобой 2 года обдумывемые, я читать не умею - не телепат. :wink:
И поскольку АЛУ не сработает быстрее чем последовательные переносы в сумматоре, то пусть он и будет
a) медленный
б) жрущий
ну и что? Ну относительно медленный и слегка жрущий...
Вон Виталий не зря тут приводил пример - 4 шинных формирователя жрут порядка 1 А.

Но я не против с удовольствием посмотреть и на твою быструю и малопотребляющую разработку.
Яви свои схемы народу... :D

PS. А что касается накрутки... то от неё по-серьёзу отказались ещё когда я в ВУЗе учился... "холодная сварка" на гранях оказалась не столь долговечной как считалось.
Вобщем "кто хочет сделать - ищет средства, кто не хочет- причину"..
:lol:
User avatar
Shaos
Admin
Posts: 24085
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Ну тем не менее - ты сам себе ставил задачу "Я тут решил прикинуть, во что выльется процессор на вентилях NAND или ЛА3" - в результате получена схема на ЛА3 и ЛА8 (который как бы NAND, но уже не ЛА3) - получается, что задача не выполнена? ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Ну тем не менее - ты сам себе ставил задачу "Я тут решил прикинуть, во что выльется процессор на вентилях NAND или ЛА3" - в результате получена схема на ЛА3 и ЛА8 (который как бы NAND, но уже не ЛА3) - получается, что задача не выполнена? ;)
Нет, ты не прав - задача мной поставленная решена. Читай внимательнее 1 страницу:
Lavr wrote:... я решил, что не станет грехом использовать вентили с открытым коллектором, поскольку это упрощает мультиплексор, если использовать монтажное "ИЛИ".
Как поставил задачу - так и выполнил... :lol:

Ну а поскольку топик обозначен как АЛУ на NAND, я имел право использовать (чем я, собственно, сейчас и займусь):
7400 Quad 2-input NAND Gate
7401 Quad 2-input NAND Gate (OC)
7410 Triple 3-Input NAND Gate
7430 8-input NAND Gate
7422 Dual 4-input NAND Gate


Но я решил поиграть более спортивно... :wink:

Но если ты сделаешь всё на 7400 - честь, хвала и все лавры - тебе скурпулёзному! 8)

PS. Ну а когда всё дойдёт до железки, я тебе Shaos, возможно, явлю один неизвестный
фокус, так что 7401 тебя и удивит...
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:P.S. проект с кучей 74F00 потихоньку обдумывается - я с тех пор прикупил ещё пару
сотен микрух, а также выбрал дешёвый и быстрый способ монтажа для прототипирования...
Обладатель трёх сотен вентилей видимо собирается их консервировать, поскольку
не торопится что-то из них делать... 8)
А может и действительно слабО... :wink:

Между тем, я сделал прикидку во что выливается мультиплексор на NAND 7400 ещё
в самом начале этого топика, что и привело меня к заявленному мной решению:
Lavr wrote:... я решил, что не станет грехом использовать вентили с открытым коллектором,
поскольку это упрощает мультиплексор, если использовать монтажное "ИЛИ".
И поскольку мне трудно предположить, как долго продлится "обдумывание потихоньку",
для сравнения принятого мной решения со схемой полностью на NAND 7400 привожу
следующую картинку:

Image

Количество используемых вентилей на мой взгляд очевидно:
2-4 корпуса, если использовать вентили с ОК и 6-8 корпусов, если использовать только NAND 7400 .

Задержка распространения - 6-7 стандартных на корпус, так что и быстродействие и
потребляемую мощность прикинуть можно...

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

Image

Собственно, оценка на моделях показывает, что так оно и есть...

Если у кого-либо будет желание попробовать сделать оценку быстродействия мультиплексоров
на NAND 7400 самому, или внести, возможно, и "свои 5 копеек" в схемотехнику на элементарных
вентилях модели я прилагаю:

Image

ОБЕ КАРТИНКИ КЛИКАБЕЛЬНЫ

Image
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Lavr wrote:
HardWareMan wrote:Каждый корпус 555ЛА3, если верить Шило, потребляет 33мА (а 555 - 9мА соответственно), то 100 микросхем будут хавать примерно 3,3А (0,9А для 555 соответственно). :3
Где-то у тебя тут очепятко... нет?
Может всёж "Каждый корпус 155ЛА3 ... потребляет 33мА" ?

Хотя есть и другие данные, но похоже...
http://www.microcontrollerov.net/spravo ... 55/K155LA3
Так точно, оплошал. 155 потребляет 33мА, а 555 9мА.

А по поводу вышеупомянутых картинок, то если глянуть в то же Шило на внутреннюю структуру некоторых сложных микросхем, то отчетливо видно применение монтажного И.
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

объясните мне разницу между установить/сбросить и сбросить/инвертировать
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

MC68k wrote:объясните мне разницу между установить/сбросить и сбросить/инвертировать
Часто нужно не ЗАДАТЬ состояние а ИЗМЕНИТЬ его. Тогда, если у тебя всего-лишь установить/сбросить - то у тебя только 2 степени свободы. А если установить/изменить - то три, потому как третья степень достигается двумя другими.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:А по поводу вышеупомянутых картинок, то если глянуть в то же Шило на внутреннюю структуру некоторых сложных микросхем, то отчетливо видно применение монтажного И.
Хардыч... ну, возможно, кому-то Шило и не указ, хотя я с тобой полностью согласен... :wink:
Но в этом топике я привёл также ссылку на внутренности 6502, где впрямую сказано о применении открытых выходов на внутреннюю шину.

А вот конкретнее есть вопрос интересней.
Я собираюсь вместо резисторов включить динамическую нагрузку или токовые зеркала.
Мне кажется, это должно улучшить фронт сигналов там где включены вентили с ОК.
Я проверял такую затею еще на "Специалисте" - в задающем генераторе ставил токовые зеркала вместо резисторов.
Фронты заметно улучшаются... но там и резисторы неплохо работают.
И как мне кажется, в n-МОП микросхемах такое же решение применяется в нагрузке полевика... нет ?