|
|
  |
MG Expedition ликбез ... |
|
|
|
Mar 16 2009, 15:59
|

Гуру
     
Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512

|
Цитата(SM @ Mar 16 2009, 18:13)  А как тогда грамотно поступить с дизайн рулезами - ведь если я увеличу "a" - то уменьшится зазор "c-a", выйдя за пределы технологического допуска. А занизить его для именно этого слоя я не могу, так как на одном и том же слое такие via могут как и начинаться, имея размер "b", так и заканчиваться, имея размер "a". Если у вас несколько buildup слоев (а не только два внешних) в которых вы будете делать такие переходы, то для каждого вида перехода (слой-2-слой) придется сделать свой padstack, в котором и зададите размер площадки ( d ) на слое с которого пробивают отверстие и ( с ) на который пробивают. Диаметры отверстия, как уже было сказано, взамосвязаны т.е. если сделать ( b ), то внутри получится ( a ) и наоборот, т.к. это происходит из-за технологии пробивания отверстия, посмотрите книгу по HDI http://electronix.ru/forum/index.php?showtopic=58403. Вы не можете сказать я хочу ( b ) такой-то, а ( a ) такой-то, ибо размер ( a ) получится от заданного ( b ), толщины розового слоя и выбранного технологами варианта пробивания отверстия, или наоборот ( b ) получится от ( a ) и тех. процесса.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Mar 16 2009, 18:50
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 16 2009, 18:59)  или наоборот ( b ) получится от ( a ) и тех. процесса. Или третий вариант, а именно мой случай - тех. процесс получится из заданных мной ( a ) и ( b ). Т.е. я выберу из доступного мне множества ( a ) + ( b )+толщина+процесс подходящий для пр-ва моего девайса из всех возможных вариантов, предлагаемых мне тайваньцами. Но суть не в этом. Я хочу понять, как мне сделать такие дизайн рулезы, чтобы перекрытие переходнушки металлом для via(1->2) на слое 2 было одним, а перекрытие металлом переходнушки 2->3 - на слое 2 - соотв. другим, большим (если нельзя задать отверстие-конус, что избавило бы от этого вопроса автоматом). Сорри за терминологию, применяемую при проектировании топологии ИС, но технологии тут практически идентичны, и я отношусь к проектированию такой платы больше как к родному, проектированию топологии ИС, а не классики PCB. PS. За ссылку на литературу спасибо, но она к заданному мной вопросу отношения не имеет. Я не спрашивал про технологии, я лишь хочу узнать, как мне сделать нужное мне действие в заданной программе.
|
|
|
|
|
Mar 17 2009, 09:46
|

Гуру
     
Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512

|
Цитата(SM @ Mar 16 2009, 21:50)  Или третий вариант, а именно мой случай - тех. процесс получится из заданных мной ( a ) и ( b ). Т.е. я выберу из доступного мне множества ( a ) + ( b )+толщина+процесс подходящий для пр-ва моего девайса из всех возможных вариантов, предлагаемых мне тайваньцами. Но суть не в этом. Я хочу понять, как мне сделать такие дизайн рулезы, чтобы перекрытие переходнушки металлом для via(1->2) на слое 2 было одним, а перекрытие металлом переходнушки 2->3 - на слое 2 - соотв. другим, большим (если нельзя задать отверстие-конус, что избавило бы от этого вопроса автоматом). Сорри за терминологию, применяемую при проектировании топологии ИС, но технологии тут практически идентичны, и я отношусь к проектированию такой платы больше как к родному, проектированию топологии ИС, а не классики PCB.
PS. За ссылку на литературу спасибо, но она к заданному мной вопросу отношения не имеет. Я не спрашивал про технологии, я лишь хочу узнать, как мне сделать нужное мне действие в заданной программе. 1. Вы хотите сказать что при проектировании IC вы задавали отверстия-конусы? Насколько я помню проектирование IC (которым занимался очень давно), задается маска для отверстия на слое с которого травят, т.е. в вашей терминологии для via(1->2), задали отверстие 10мкм на слое 1, получим к примеру 8мкм на слое 2 (полученное значение зависит от параметров тех. процесса, т.е. глубины травления, материалов и инструментов). Т.е. мы не задаем конус, он просто получается из-за технологии травления. Поэтому по аналогии с IC определяющим параметром является ( b ), а ( a ) зависит от него и тех. процесса. 2. Зазоры в PCB считаются между краями площадок (pad). Площадки задают в padstack (можно для каждого слоя задать свою). Объясняю на примере (если так не понятно), делаем два padstack: Via(1->2)слой1 - 10мкм слой2 - 8мкм hole 4мкм - если вам по барабану к какому из диаметров привязываться, то лучше привязаться к меньшему т.е. к ( a ), тогда софт не будет ругаться на размер перекрытия, величина ( b ) будет например 6мкм исходя из заданного вами тех. процесса (оговариваете это с производителем), при этом ( b ) нигде в системе отслеживаться не будет; или наоборот считаете что размер отверстия это ( b ), что более логично с точки зрения производства, но тогда можете нарваться на то что система будет считать недостаточным перекрытие на следующем слое (где площадка меньше), т.к. отверстие не считается конусным. Via(2->3)слой2 - 12мкм слой3 - 10мкм hole 4мкм
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Mar 17 2009, 12:11
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 17 2009, 12:46)  1. Вы хотите сказать что при проектировании IC вы задавали отверстия-конусы? Нет, при проектировании IC я задаю для каждого слоя металла по два разных дизайн рулеза на перекрытие металлом переходного отверстия. Т.е. например - METAL2 контачит и с VIA1 (M1->M2) и c VIA2 (M2->M3). И у меня два рулеза есть - OVERLAP METAL2 VIA2 0.4 um, OVERLAP METAL2 VIA1 0.35 um. Что означает, что минимальное расстояние от края отверстия VIA1 до края металла, на который VIA1 контачит, 0.35 микрон, а то же, но VIA2 - 0.4 микрон. Таким образом DRC обругает все некорректно описанные "контактные площадки", где оказалось недостаточно металла вокруг via, при том проверяя площадку на слое METAL2 для VIA1 и VIA2 по разным правилам. Да и нету в технологии IC (в тех, с которыми я дело имел) конусов, точнее есть, но они могут быть как прямыми, так и обратными, с плюс-минусом. Главное, что в IC-софте они в принципе поддерживаются через разные перекрытия для разных via. Цитата(fill @ Mar 17 2009, 12:46)  2. Зазоры в PCB считаются между краями площадок (pad). Площадки задают в padstack (можно для каждого слоя задать свою). Т.е. я сам задаю площадки, они на моей совести, и полностью проверить соответствие площадок (перекрытия ими отверстий) технологическим нормам в DRC не представится возможным, так как мне придется задать одинаковое перекрытие отверстия металлом ("вторым") и для VIA(1->2) и для VIA(2->3)? А про зазоры все понятно, об этом вопросов собственно и не было.
|
|
|
|
|
Mar 17 2009, 13:22
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 17 2009, 16:03)  Операция OVERLAP в DRC производится обычно не на объектах (т.к. они содержат много фигур), а на фигурах (Shape) в конкретных логических слоях проектирования (не путать с физическими слоями идущими в фотошаблон). Операция OVERLAP в DRC (в маршруте топологии ИМС) производится в конкретных физических слоях. Соотв. METAL2 это физический слой, представляющий металлизацию №2, VIA1 это физический слой, представляющий переходные отверстия METAL1->METAL2, а VIA2 - физический слой, представляющий собой переходные METAL2->METAL3. Соответсвтенно в слое METALn сама разводка, а в слоях VIAn - "квадратики" на местах переходнушек, они там квадратные, а не круглые, но это не суть важно. Цель DRC - проверка того, что отправляется на фабрику, на соответствие ее требованиям, поэтому проверяется именно выходной "физический" GDS-II формат, непосредственно представляющий маски для технологии. Да и вообще, хрен ли толку с такого DRC, который проверяет что-то логическое... Он должен давать гарантию того, что то, что я отправляю на фабрику, соответствует требованиям. При этом операция OVERLAP METAL2 VIA1 выглядит примерно так (на языке DRC-проверялки hercules, менторовская калибра тоже имеет похожий синтаксис): Код ENCLOSE via1 BY metal1 { COMMENT = " V1.3a : Minimum Metal1 enclosure for via1" SPACING<0.20 TOUCH=TRUE VERBOSE=TRUE } PERM=V1.3a (180) BOOLEAN via1 NOT metal1 { COMMENT = " V1.3b : V1 must be covered by M1" VERBOSE=TRUE } PERM=V1.3b (180)
ENCLOSE via1 BY metal2 { COMMENT = " V1.4a : Minimum Metal2 enclosure for via1" SPACING<0.15 TOUCH=TRUE VERBOSE=TRUE } PERM=V1.4a (180) BOOLEAN via1 NOT metal2 { COMMENT = " V1.4b : V1 must be covered by M2" VERBOSE=TRUE } PERM=V1.4b (180) где и описано, что дырка, геометрия которой представлена объектом (в данном случае полигоном) в слое via1, должна быть перекрыта 1-м металлом на 0.2 микрона, вторым металлом на 0.15 микрон, и при этом перекрытие должно быть полным, и оно обязательно. ("V1.x" это не версия, а сокращенное название конкретного правила из design rules, а NOT это сокращенное AND NOT). Соотв. для всех VIAn есть по паре таких рулезов. Хм... А может взять Mentor Calibre, экспортировать плату во что нить, с ней совместимое, и проверить? В калибре точно можно сделать все то, о чем я спрашиваю, и калибра "впереди планеты всей" по качеству DRC-контроля....
|
|
|
|
|
Mar 17 2009, 13:53
|

Гуру
     
Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512

|
Цитата(SM @ Mar 17 2009, 16:22)  Операция OVERLAP в DRC (в маршруте топологии ИМС) производится в конкретных физических слоях. Соотв. METAL2 это физический слой, представляющий металлизацию №2, VIA1 это физический слой, представляющий переходные отверстия METAL1->METAL2, а VIA2 - физический слой, представляющий собой переходные METAL2->METAL3. Соответсвтенно в слое METALn сама разводка, а в слоях VIAn - "квадратики" на местах переходнушек, они там квадратные, а не круглые, но это не суть важно. Цель DRC - проверка того, что отправляется на фабрику, на соответствие ее требованиям, поэтому проверяется именно выходной "физический" GDS-II формат, непосредственно представляющий маски для технологии. Хоть и не приведен пример описания ОБЪЕКТА Via, все таки стало понятно, что VIA1 это слой и он один присутствует в переходном 1-2. Тогда получается что это переходное отверстие представлено тремя фигурами: METAL1-VIA1-METAL2 т.е. размер КП меняется, а дырка нет ( a )=( b ). В PCB DRC по умолчанию проверяется только один размер перекрытия Minimum Annular Ring. В Batch_DFF послойно
Если хотите создать свои правила проверки (как в IC) то флаг вам в руки - берите Automation и пишите. Или File>Export>GDSII и проверяйте в любом верификаторе IC.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Mar 17 2009, 15:39
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 17 2009, 16:53)  Хоть и не приведен пример описания ОБЪЕКТА Via, все таки стало понятно, что VIA1 это слой и он один присутствует в переходном 1-2 Ну ясно дело не приведен, ибо там нет такого объекта. В маршруте ИС все просто - каждой маске (фотошаблону для литографии) по слою, и вперед. VIA это полноценный слой, маска, сделанная из которого, обеспечивает травление отверстий в диэлектрике и последующее заполнение их проводником. Цитата(fill @ Mar 17 2009, 16:53)  PCB DRC по умолчанию проверяется только один размер перекрытия Minimum Annular Ring. В Batch_DFF послойно Вот это собственно я и хотел узнать, после того, как узнал о невозможности задания конусного отверстия. Мне просто почему-то представлялось, что для плат это (конус) по идее должно быть как-то реализовано, в т.ч. и для вычислений в моделяторе типа гиперлинкса. Цитата(fill @ Mar 17 2009, 16:53)  Если хотите создать свои правила проверки (как в IC) то флаг вам в руки - берите Automation и пишите. Это подразумевается windows COM/DCOM/DDE? Или в самом expedition есть встроенный механизм с таким названием? Если первое, то облом-с... Linux кругом. Цитата(fill @ Mar 17 2009, 16:53)  Или File>Export>GDSII и проверяйте в любом верификаторе IC. Ну это радует
|
|
|
|
|
Mar 17 2009, 19:33
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 17 2009, 20:49)  1. А это тогда что по вашему А я не работаю в этой среде. В ней может и есть, но я об этом не в курсе. Я работаю в синопсисе (CosmosLE, Custom Designed LE), там нет таких объектов. Цитата(fill @ Mar 17 2009, 20:49)  Любой процесс полу и автоматической разводки подразумевает создание комплексного объекта VIA. Ну с натягом ЭТО конечно можно объектом назвать, но это лишь скрипт, который максимально плотно исходя из DR (design rule) заполняет слой VIA переходнушками соединяя два прямоугольника в двух металлах. И об этом "якобы объекте" знает только сам редактор, а ни DRC, ни LVS даже об этом и не догадываются, и не должны догадываться. Им не важно, вручную я via поставил, или скриптом среда сгенерила. Такими темпами, кстати, и любой PCELL можно объектом обозвать, хотя это такой же параметризованный скрипт-рисовалка. И такой "псевдообъект" DR не может нарушить априори, так как генерируется автоматически исходя из DR самой средой. Собственно мы далеко от темы ушли. Да и автоматическая разводка меня не интересует. Цитата(fill @ Mar 17 2009, 20:49)  ибо сколько бы раз вы не разместили корректный объект на плате правила внутри его элементов не будут нарушены. А такой случай, когда несколько слоев объединяются по какому-то закону в один, не рассматривается? Проверив DRC на каждом из них по отдельности мы в результате не имеем гарантии, что то, что пойдет на фабрику, а именно объединение этих слоев, будет корректным. Когда речь идет о простой плате, такого разумеется и не бывает. А когда HDI, да серьезный HDI....
|
|
|
|
|
Mar 18 2009, 21:54
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 18 2009, 15:55)  1. Ну так поинтересуйтесь принципами работы на Standard_CELLs и Blocks - поймете что они близки к платам. А что интересоваться-то, если это не та тема... Я занимаюсь как раз разработкой собственно этих cells/blocks. И четко знаю, что именно эта задача близка к ручной разводке HDI-плат. Разница лишь в том, что элементы не паяются, а формируются примерно теми же методами, что и дорожки, и переходнушки. А то, о чем Вы - это ближе к автоматической и полуавтоматической разводке, что меня (пока) мало волнует. Цитата(fill @ Mar 18 2009, 15:55)  4. Видимо вы никогда не встречались с иерархическими DRC и LVS, а работали только на уровне MASK. Ибо при работе на иерархическом уровне как раз и DRC и LVS понимают что такое комплексные объекты и не опускаются до уровня примитивных фигур. Встречался. Куда же без него. Иерархическое DRC вызывает из-под себя построение MASK-слоев на базе переданных им псевдообъектов, после чего "сдает" результат построения тому же фабовскому скрипту проверки MASK-слоев, который анализирует чистую графику теми же элементарными операциями AND OR NOT SELECT INTERNAL EXTERNAL ENCLOSE и т.д. Как не выкручивай, а DRC проверяется именно в графических слоях и именно тем скриптом, который дал фаб, и ни чем более. Цитата(fill @ Mar 18 2009, 15:55)  2. Вы упорно не можете понять что можно оперировать не одной фигурой, а сборкой фигур. Когда проводят трассу в плате или между Standard_CELLs и Blocks при изменении слоя, в случае если ширины трассы недостаточно для осуществления перехода, то появляется как минимум три фигуры (металл1-соединитель-металл2), а не одна. А вы не понимаете, что этот уровень, ауторутера, меня мало интересует. Я полностью ручную разводку делаю. И в CosmosLE. И в Expedition тоже. Цитата(fill @ Mar 18 2009, 15:55)  3. От типа платы это не зависит. Приведите хотя бы теоретический пример, когда нужно объединить слои на плате и это приведет к нарушению зазоров. пол-платы в этом слое plane, а в другой пол-плате - обычный сигнальный. На стыке их - он то туда, то сюда залезает. Соответственно я развожу в двух слоях, один чисто plane, второй чисто сигнальный, потом их объединяю, инвертируя plane. Если сделать неаккуратно - можно напортачить. Я вообще что-то недопонимаю, к чему все это, если я уже получил все ответы на поставленные мной вопросы, и всем удовлетворен? И понял, что самое близкое для меня решение состоит в экспорте в GDS-II и передаче на проверку в hercules/dracula/calibre, в которых я ориентируюсь как рыба в воде.
|
|
|
|
|
Mar 19 2009, 08:48
|

Гуру
     
Группа: Модераторы
Сообщений: 4 361
Регистрация: 17-08-04
Из: КП Две Поляны
Пользователь №: 512

|
1. Поднимитесь на уровень выше и попробуйте соединить ваши стандартные ячейки и блоки, в большой блок или кристалл. Тогда и поймете, что нормальный иерархический DRC может работать не залезая внутрь уже ранее проверенных стандартных ячеек и блоков. Тоже самое и LVS может проверять соотвествие на уровне соединений между стандартными ячейками и блоками. Он может считать ячейки и блоки "черными ящиками" и не лезть внутрь, не проверять соотвествие на уровне транзисторов. Говорю вам об этом потому что VIA в плате это аналог стандартной ячейки, и зачем проверять ее содержание на плате если оно уже проверено на этапе создания padstack. 2. Из того что вы написали складывается впечатление, что ТРАССИРОВКОЙ вы не занимаетесь, а занимаетесь РИСОВАНИЕМ графики представляющей проводники и элементы соединений. Мне не понятно зачем так "изгаляться" поэтому и уточнял ваш процесс. На мой взгляд это не производительно, но если вам так удобнее, то это ваше право и я не буду больше пытаться навести вас на мысль о том что можно работать и по другому. 3. Возвращаясь к начальному вопросу и рисунку: если вы сделали - PADSTACK перехода 1-2 в котором задали d=20мкм b=12мкм c=14мкм и производитель гарантирует вам что при таком значении b значение a=8мкм, то получается что покрытие на слое 1 равно 4мкм, а на слое 2 равно 3мкм. - PADSTACK перехода 2-3 в котором задали d=18мкм b=12мкм c=16мкм и производитель гарантирует вам что a=8мкм, то получается что покрытие на слое 2 равно 3мкм, а на слое 2 равно 4мкм. И такие параметры получатся в каждом месте где разместили VIA как PADSTACK. а не рисовали VIA как набор фигур. Поэтому и проверять каждый instance перехода на плате бессмысленно.
--------------------
Чем больше познаю, тем больше понимаю ... насколько мало я все таки знаю. www.megratec.ru
|
|
|
|
|
Mar 19 2009, 09:18
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(fill @ Mar 19 2009, 11:48)  1. Поднимитесь на уровень выше и попробуйте соединить ваши стандартные ячейки и блоки, в большой блок или кристалл. Тогда и поймете, что нормальный иерархический DRC может работать не залезая внутрь уже ранее проверенных стандартных ячеек и блоков. Тоже самое и LVS может проверять соотвествие на уровне соединений между стандартными ячейками и блоками. Он может считать ячейки и блоки "черными ящиками" и не лезть внутрь, не проверять соотвествие на уровне транзисторов. Да хоть на 10 уровней выше, а ни одна известная мне проверялка (dracula/assura/calibre/hercules) не умеет работать на уровне блоков не раскрывая их до полной графики. Да и не нужно это никому. Это RC-экстракция умеет. А DRC/LVS - нет. Что касается всяких там DRC on-the-fly при интерактивной разводке - так это пародия на DRC, она и одной десятой всех правил не проверяет. Цитата(fill @ Mar 19 2009, 11:48)  2. Из того что вы написали складывается впечатление, что ТРАССИРОВКОЙ вы не занимаетесь, а занимаетесь РИСОВАНИЕМ графики представляющей проводники и элементы соединений. Мне не понятно зачем так "изгаляться" поэтому и уточнял ваш процесс. именно этим и занимаюсь, в углу платы, которая примерно 1/4 всей площади, примерно 1.5х0.8 см. Я и сам не думал, что "изгаляться" так придется.
|
|
|
|
|
  |
2843 чел. читают эту тему (гостей: 2843, скрытых пользователей: 0)
Пользователей: 0
|
|
|