All streams
Search
Write a publication
Pull to refresh
58
6
Кириченко Павел @pgkirich

Разработчик процессоров

Send message

Фирма-разработчик компиляторов памяти может выпустить десятки компиляторов под самые разные технологии. Даже одна фабрика под один техпроцесс в смысле нанометров может предложить его разные варианты: high performance, low power и так далее. В каждом будут разные модели транзисторов и немного отличающиеся технологические нормы.

Спасибо на добром слове.

Наш девиз: не нужно умищем выпендриваться, нужно рассказать так, чтобы понятно было :)

Схемы-то да. И то, если только как графическое соединение транзисторов друг с другом. А вот уже конкретные размеры этих транзисторов от технологии к технологии выбираются индивидуально, потому что они будут вести себя по-разному даже для одинаковых "N нанометров" на разных фабриках. Не говоря уже про нормы топологического проектирования.

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

Для сдвижки сигналов, например, — регулируемые линии задержки.

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

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

Примерно (примерно!) один дополнительный бит маски равен по ширине одному биту данных. Нам же по сути надо по И завести глобальную словарную шину и бит маски на ячейку. А дальше уже нюансы конкретной технологии и реализации.

Нет, ячейку, наоборот, симметрируют максимально как схемотехнически, так и топологически. В наивысшем приоритете ее помехоустойчивость, так как транзисторы в ячейке очень маленькие всегда для увеличения плотности упаковки. А помехоустойчивость наилучшая при симметрии. Усилитель записи один на каждый битовый столбец, его размеры не сильно влияют на общий размер памяти, поэтому можно его и поздоровее сделать, если надо, не проблема.

При одновременной записи одной и той же информации в разные регистры память в ее типичном применении утрачивает свою идею :) Что же касается сброса в ноль, то такие ситуации чаще бывают нужны в многопортовых памятях. Но там для этого применяется более простой метод: делается reset-порт. В пределе его можно сделать вообще на одном ключевом транзисторе, который намертво приколочен к логическому нулю. Подали сигнал на словарную шину ресет-порта - обнулили весь регистр.

Напряжение по итогам моделирования и исходя из опыта. В каждом случае под каждую технологию оно будет своим.

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

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

С рабочей частотой проверка может быть очень простой: мы меняем ее и смотрим, когда память "сломается", то есть перестанет корректно работать. Если в тестовое окружение заложить возможность сдвигать друг относительно друга с помощью регулируемых задержек сигналы синхронизации и, скажем, адресов и данных, то можно измерить и времена установки и удержания входных триггеров в этих цепях.

Выходные транзисторы усилителя записи более мощные, чем в ячейке. По-простому, сильно огрубляя, это означает, что они отдают больший ток, то есть обладают меньшим сопротивлением. И если мы записываем в ячейку противоположное значение, то у нас между плюсом и минусом питания образуется делитель напряжения из трех транзисторов: транзистор в инверторе, ключ, транзистор в усилителе записи. Допустим, в ячейке был ноль, а на выходе усилителя - единица. Так как сопротивление выхода усилителя намного ниже, то потенциал на входе в ячейку окажется ближе к 1, чем к 0. И инвертор честно по всем правилам переключит свой выход из 1 в 0, а дальше второй инвертор тоже переключится, зафиксировав нужное нам новое состояние ячейки.
Да, в момент переключения в такой цепи течет сквозной ток между плюсом и минусом питания. Но он настолько недолог, что никаких бед натворить не успевает. Да и никто ему не даст, при моделировании всех составных частей памяти все подобные эффекты обязательно учитываются в расчетах с запасом.

Еще какой важный. Но даже в полуторачасовой материал лекции было физически невозможно вместить описание работы всех замечательных и уважаемых коллег, с кем приходилось иметь дело.

Есть ведь и тестирование на ПЛИС, и post-silicon debug на FIB, и bring-up, и много других замечательных и нужных специалистов. Никакого объема одного выступления или одной статьи не хватит описать. Тут целый цикл нужен, а где взять время:)

На 14+

Желательно, интересующиеся техникой вообще и всякой электроникой-робототехникой в частности.

Спасибо на добром слове по поводу моей книжки!

Консенсус, как говорил один древний персонаж :)

Я ж не написал, что всегда, написал "не раз". Вот недавно как раз разбирал, почему довольно простое устройство из 4011, 4013 и 4020 перестало работать, когда батарейка подсела. И на лабораторнике увидел, что именно 4011 при питании около 4В перестала реагировать на входы вообще. Поднял питание - задышала. И это не единичный случай. Сейчас стало много левака с посредственным качеством. Я как микроэлектронщик со стажем могу даже представить, в каком месте техпроцесс был нарушен, чтобы был тот или иной глюк. Но с паяльником внутрь микрухи не влезешь, приходится это учитывать. Можно и не учитывать, дело сугубо личное.

Information

Rating
872-nd
Works in
Registered
Activity