Подтягивающий резистор в логическом значении NMOS

Для моего проекта старшей школы я решил собрать базовый процессор из дискретных компонентов. Я планирую использовать логический уровень 5 В, а текущая конструкция требует около 2000-3000 N-канальных МОП-транзисторов. Этот вопрос конкретно касается значения вытягивающего резистора в логике NMOS.

В моем тестировании макета я просто использовал резисторы 10k, так как у меня была куча валяющихся вокруг, и значение типично для подтягивающего резистора, поэтому оно казалось разумным, но может быть не оптимальным для того, что я пытаюсь сделать.

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

Потребляемая мощность: Предположим, что каждый транзистор имеет один резистор 10 кОм и все транзисторы включены. Поскольку типичные значения для R_dson намного меньше 10k, мы можем их игнорировать. Это означает, что потребляемая мощность будет порядка 3000*(5^2)/10000=7,5 Вт. Это кажется удивительно низким — разумно ли это значение?

Тактовая частота: Здесь я больше в темноте. На какой тактовой частоте я смогу управлять схемой NMOS с подтягиванием 10k по сравнению с подтягиванием 1k? Как это можно сравнить со схемой CMOS, использующей сопоставимый MOSFET?

7,5 Вт звучит разумно для меня. 1,5 А при 5 В, такой уровень мощности не подходит для DIP-корпуса, но в дискретных частях, расположенных на нескольких квадратных футах печатной платы, это не вызовет проблем.
Я надеюсь, что вы разрабатываете это по модульному принципу. Логическая схема на 2000 транзисторов звучит как кошмар для отладки...
Я планировал построить каждый «крупномасштабный» (например, регистр, сумматор и т. Д.) На отдельной плате и отладить каждый отдельно (сначала протестировать каждый дизайн на плате для бороды).
Я думаю, что интересным подходом для реализации было бы создание небольшой печатной платы, содержащей три вентиля НЕ-ИЛИ с тремя входами, и использование ее в качестве основного строительного блока. Он будет иметь 14 соединений вдоль одного края, что позволит подключить его к макетной плате для проектирования или к плате с обмоткой (например) для более постоянной настройки. Вы можете сделать собственную печатную плату или построить ее на плате Uni-SIP . Два таких модуля можно использовать для создания D-триггера, запускаемого фронтом. Оригинальный Cray-1 был построен аналогичным образом, за исключением того, что в нем использовалась настоящая ИС.
... Ваша плата может включать небольшой светодиод на выходе каждого вентиля, что поможет при отладке ... а также выглядит очень круто, когда машина полностью собрана и работает!
+1 за смелость! Удачи в реализации! Я бы посоветовал вам использовать встроенные логические элементы в качестве основных строительных блоков, а не транзисторы. Большой шанс узнать много нового, но это звучит кошмарно для одинокого человека, у которого, вероятно, есть и другие «школьные дела» (и, может быть, немного жизни тоже ;-). Просто интересно, сколько времени у вас есть в вашем распоряжении, чтобы закончить проект?
У меня есть 7 бесплатных периодов в неделю, и я готов добавить пару дополнительных часов личного времени в неделю. У меня нет конкретного срока, но я хотел бы закончить его к декабрю (трудно сказать, насколько это оптимистичный прогноз). Я также рассматривал возможность ускорения строительства с использованием 3D-принтера в качестве машины для захвата и размещения, но пришел к выводу, что обеспечение его надежной работы будет самостоятельным проектом и, вероятно, займет еще больше времени.

Ответы (1)

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

Например, входная емкость 2N7000 обычно составляет 20 пФ (макс. 50 пФ). Если ваш средний разветвитель равен 3 плюс некоторая емкость проводки, это дает вам типичную нагрузку 100–200 пФ. С подтягиванием 10K это дает постоянную времени RC 1-2 мкс. Вам, вероятно, потребуется разрешить как минимум две постоянные времени для одной «задержки затвора» для надежного переключения, поэтому мы говорим о 2–4 мкс на затвор.

Чтобы выполнить полезную работу, вам нужно разрешить некоторое максимальное количество задержек вентилей за такт. Это будет зависеть от вашего конкретного дизайна, но типичным будет число от 6 до 10. Итак, теперь мы говорим о тактовом периоде 12–40 мкс или частотах в диапазоне 25–80 кГц.

Переключение на резистор 1K позволит увеличить частоту примерно в 10 раз.

Эти цифры заставляют меня еще больше ценить современные процессорные ядра, с их скоростями переключения вокруг микроволновых печей, которые на самом деле приводят к вычислениям, довольно близким к магии.
В случае логики CMOS использование R_DSon MOSFET в качестве сопротивления для RC-цепи даст разумные результаты?
Да, это одно из преимуществ CMOS. Другая возможность полностью отключить подтягивание при низком выходе, устраняя рассеивание статической мощности.