Привет, я Александр Калёнов, аспирант и инженер кафедры интегральной электроники и микросистем в МИЭТ, работаю дизайнером СБИС в «НИИМА «Прогресс». Для хакатона YADRO SoC Design Challenge я создавал задание по топологии, которое мы тут и рассмотрим.
Для тех, кто тут случайно, или О топологии на пальцах
Для начала определим место топологии в проектировании микросхем. Вся разработка делится на три больших блока. Первый — это структурное проектирование, зависящее от того, для чего именно проектируется микросхема.
Второй – это схемотехническое проектирование. В цифровом варианте – это написание RTL-блоков. Если говорим про аналоговый вариант, то это создание схем на транзисторном уровне, используя резисторы, конденсаторы и так далее.
И третий блок — это как раз формирование топологий, перенос электрической схемы в набор фотошаблонов, нормы проектирования которых предоставляет фабрика. Стоит отметить, что у каждой фабрики — свои нормы и просто прийти на другую фабрику с фотошаблонами, сделанными для другой — нельзя.
Тополог как художник «рисует» геометрические фигуры в творческом поле и в зависимости от того, какая была электрическая схема, переносит её в фотошаблоны (кремний или металлы), а затем проверяет.
Работающий с фотошаблонами литограф ASML за $170 млн.
У создания топологий есть два параметра верификации. Первый из них — это DRC (design rule check). Это первичная проверка на соответствие тем технологическим нормам, которые предоставляет фабрика. Если расположим металлы близко друг к другу, такую микросхему фабрика просто не произведёт из-за недостаточной точности оборудования. В задачу тополога входит это поправить и после этого провести ещё одну верификацию LVS (layout versus schematic), на соответствие электрической схемы с топологией. Всё, что будет произведено в кремнии, должно соответствовать тому, что спроектировано на транзисторном уровне.
После того как эти две верификации пройдены, идёт этап экстракции, входящий в проектирование топологии. На этом этапе устраняются недочёты, которые возникли раньше. Например, сделали длинный провод, и набежала дополнительная ёмкость на подложку, или сделали тонкий провод и появилось дополнительное сопротивление. Это сильно влияет на характеристики схемы, на время переключения из единицы в ноль, из нуля в единицу.
Исправленные параметры заново вносятся в схему, после чего она корректируется и в виде набора фотошаблонов передается на фабрику. По факту топология – это заключительный этап в создании микросхем.
Заменят ли топологов роботы
Популярный вопрос, который слышу от студентов — можно ли процесс автоматизировать? Ведь есть же предел человеческому вниманию. Истина, как и водится, где-то посередине.
В топологии существует разделение на цифровую, которая делается с минимальным вмешательством человека и аналоговую, которая делается только человеком.
Цифровая топология с помощью САПР (средства автоматизированного проектирования) решает задачи уменьшения технологических норм или нанометров и компоновки на одном микрометре большого числа элементов. А в аналоговой топологии инженер делает эдакий скетч микросхемы, вручную рисуя квадратики поликремния и металлов. Этап экстракции также проводится человеком.
Открывайте в полном размере, держа в голове мысль, что это «рисуется вручную».
Так зачем нужно участие человека, почему нельзя все доверить машине? И ответ прост — у машины пока нет технических возможностей, чтобы спроектировать микросхему самостоятельно.
Например, при проектировании шин питания и земли надо учитывать толщину этих шин, так как там протекает ток. Если сделать тонкую шину, то при включении, схемы сразу будут сгорать. Особенно если потребление там несколько сотен миллиампер. Бывали такие случаи, что произвели много схем, которые при включении сразу сгорали и не было возможности их проверить.
На текущем этапе развития машина не может соотнести тот ток, который протекает, с толщиной шины, которую необходимо сделать. Поэтому это рассчитывает человек. С уверенностью можно сказать, что в обозримом будущем топологам «нашествия роботов» можно не опасаться.
А что там с заданием?
Задание по топологии было максимально приближено к практике и разбито на три части. Первые две связаны с цифровой топологией.
Сперва участникам предстояло собрать схемы D-триггера, DV-триггера и СВЧ ключа, используя библиотеку DDK gpdk045 (gsclib045). Затем создать их символы, тестовую схему для проверки работоспособности и спроектировать топологию. Потом последовательно провести сначала DRC, а затем LVS верификацию и экстракцию топологии разработанных триггеров и ключа, которую нужно было учесть в последующем моделировании. Дальше начинались различия.
- Используя библиотеку DDK gpdk045 (gsclib045) собрать схему D-триггера.
- Создать символ D-триггера.
- Создать тестовую схему для проверки работоспособности D-триггера
- Спроектировать топологию D-триггера
- Провести верификацию DRC
- Провести верификацию LVS
- Провести экстракцию топологии разработанного D-триггера.
- Провести моделирование D-триггера с учётом экстракции
- Спроектировать схему делителя частоты (на 2, 4, 8, 16, 32), используя разработанный D-триггер.
- Создать символ делителя частоты (на 2, 4, 8, 16, 32)
- Создать тестовую схему для проверки работоспособности делителя частоты (на 2, 4, 8, 16, 32)
- Спроектировать топологию делителя частоты (на 2, 4, 8, 16, 32)
- Провести верификацию DRC
- Провести верификацию LVS
- Провести экстракцию топологии разработанных делителей
- Провести моделирование делителя частоты (на 2, 4, 8, 16, 32) с учётом экстракции
Время задержки, t01 | |
Время задержки, t10 |
Задание 2
- Используя библиотеку DDK gpdk045 (gsclib045) собрать схему DV-триггера.
- Создать символ DV-триггера.
- Создать тестовую схему для проверки работоспособности DV-триггера
- Спроектировать топологию DV-триггера
- Провести верификацию DRC
- Провести верификацию LVS
- Провести экстракцию топологии разработанного DV-триггера.
- Провести моделирование DV-триггера с учётом экстракции
- Спроектировать схему нецикличного реверсивного счётчика от 0 до 8:, используя разработанный DV-триггер.
- Создать символ разработанного счётчика
- Создать тестовую схему для проверки работоспособности разработанного счётчика
- Спроектировать топологию счётчика
- Провести верификацию DRC
- Провести верификацию LVS
- Провести экстракцию топологии счётчика
- Провести моделирование счётчика с учётом экстракции
Время задержки, t01 | |
Время задержки, t10 |
Задание 3
- Используя технологическую библиотеку gpdk045 собрать схему СВЧ ключа (Г-П-Т-образные) для получения наименьших потерь и наибольшей развязки.
- Создать символ ключа
- Создать тестовую схему для проверки работоспособности ключа
- Спроектировать топологию ключа
- Провести верификацию DRC
- Провести верификацию LVS
- Провести экстракцию топологии разработанного ключа.
- Провести моделирование ключа с учётом экстракции
Частота среза, ГГЦ | |
Потери, dB | |
Развязка, dB |
Для части с D-триггером — нужно было спроектировать схему делителя частоты (на 2, 4, 8, 16, 32). Для части с DV-триггером — спроектировать схему нецикличного реверсивного счётчика от 0 до 8. Часть со сборкой схемы СВЧ ключа сюрпризов в себе не таила, но до неё, к сожалению, не добрался никто из участников. Из-за этого жюри пришлось оценивать тех, кто по максимуму справился с первыми двумя частями.
Для создания ячейки деления на два, на четыре и на восемь, участники пытались использовать защёлку (половину master/slave), стремясь уменьшить себе работу, реализовав это на простой схеме. По-хорошему необходимо было использовать схему триггеров master/slave.
Много времени у ребят занял и поиск в сети подходящего решения. Если реализацию делителя на два ещё можно найти, то вот переход к делению на четыре и на восемь — нужно додумывать самому. Особенно во второй части, где нужно было спроектировать схему счётчика. Для неё нужно было написать таблицу истинности и по ней собрать цифровой блок, а студенты решили, что можно загуглить.
Ещё одна причина, почему у участников не получилось решить 3 части — они не работали с этой средой проектирования. Сделать первые две части задания и корректно реализовать топологию им помогли лишь написанные инструкции по проектированию.
Мотаем опыт на ус
Из проблем участников с третьим заданием организаторы извлекли важный урок о предварительном информировании участников о том, с чем им предстоит работать.
Изначально задание создавалось для тех, кто видел САПР Cadence Design System и осведомлен о том, как там проектировать топологии. В МИЭТ есть кафедры проектирования микросхем, на которых обучают работе в этой программе. Студенты-четверокурсники с кафедры проектирования топологии смогли бы, подумав, написать таблицу истинности. Но так уж вышло, что с этой кафедры на хакатон пришёл только один участник и командам пришлось импровизировать, в этом им помог их опыт в проектировании плат, который можно соотнести с проектированием микросхем. Ведь если человек разбирается, как соединяются резисторы или конденсаторы на плате, то он сможет, немного подумав, сделать это и на микросхеме.
Как пофиксить такой дисбаланс участников мы ещё будем думать. Например, можно провести серию вебинаров, на которых подробно раскрывалась бы роль топологии в проектировании микросхем и рассказывалось об инструментах, том же Cadence Design System.
Несмотря на некоторые сложности, участники отмечали, что им понравилось задание и они поучаствовали бы ещё. Остаётся этому только способствовать и заинтересовывать топологией больше молодёжи, тем более что спрос на топологов будет только расти ввиду открытия в России новых дизайн-центров.
Автор:
ALEKSANDR_IEMS