Как теоретически определить максимальную тактовую частоту для схемы?

Мне было интересно, что влияет на максимальную тактовую частоту и как ее рассчитать для реализации схемы. Возьмем, к примеру, процессор:

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

  1. Как я могу определить задержку распространения одиночных ворот?
  2. Зависит ли задержка распространения от производственного процесса? (Я бы так догадался... например, я бы предположил, что производство 10 нм приводит к более низкой задержке распространения, чем производство 100 нм)

  3. Имеются ли эталонные значения задержек распространения для различных производственных процессов? Это действительно так просто, как я описал, или мне не хватает важных факторов? (максимальная скорость = задержка * ворота в пределах критического пути)

  4. Насколько велика разница между задержкой распространения вентилей в рамках одного и того же производственного процесса (например, в современном 10-нм производстве)
  5. Могу ли я определить вентили в пределах критического пути, скажем, текущего процессора i7, разделив его тактовую частоту на предполагаемую задержку распространения, или я получу существенно неправильный результат?
Технические паспорта, технические паспорта, технические паспорта.

Ответы (2)

--- поддержка задержки ворот? При каком напряжении, какой Cload, какой inputSlewRate? Ворота рассчитаны на минимальную перестрелку или минимальную задержку?

--- да, секреты фабрики дают разные временные результаты

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

--- Как просто? Вентилятор, разветвление, длина металла, если используется поли (HighR), объемные связи # для ограничения скачков заряда (джиттера).

--- Насколько велика разница? В более старых процессах, между 1 вольтом и 6 вольтами VDD, задержки легко составляют 100: 1. В некоторых случаях вам нужны ~~ нулевые сбои шины (для генерации внутренних часов AutoZero opamp), и очень медленные вентили / FF в порядке.

--- Могу ли я определить # гейтов------много других факторов: разветвление шины, например.

Ответы:

  1. Задержка «одиночных ворот» должна быть указана в спецификации производителя. Однако есть затворы с разной силой возбуждения, и соединительные провода будут иметь разную длину и, следовательно, разную емкость. Так что задержку можно определить только после того, как будет сделан макет.

  2. Да, в общем случае задержка затвора зависит от транзисторов. Отчетов по этому поводу предостаточно. Для одного и того же производственного узла литейный завод обычно предлагает несколько разных библиотек для асимметричного процесса, «быстрого (но энергоемкого)», нормального, медленного (но маломощного) и т. д.

  3. Эталонные значения для задержек пропеллеров являются приблизительными эталонными значениями. В то время как конструкторское бюро может ввести внутреннюю дисциплину, чтобы ограничить глубину комбинаторной логики в своих проектах, окончательный результат может быть получен только в результате глубокого анализа на основе САПР полностью развёрнутого проекта.

  4. Насколько велика разница в рамках одного и того же современного процесса? Вы когда-нибудь задумывались, почему 10-нанометровый процесс Intel задерживается на три года?

  5. Можете ли вы точно определить количество гейтов в i7? Скорее всего нет, потому что преобладают проводные задержки. И вообще, зачем вам это нужно?