Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ECO (Engineering Change Order) cell, как устроены? как использовать?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Разработка цифровых, аналоговых, аналого-цифровых ИС
yes
скорее для флейма, а не для дела. потому как скорее всего это сильно субъективно...

но все же :
добавляете ли вы "запасные" ячейки?
какого типа?
какое количество?

собственно в тех проектах, где я участвовал - ревижинов не делали, поэтому реально spare cell-ами не пользовались, были какие-то правки финального нетлиста (уже отплэйс-роутенного) на пару вентелей

синтезатор например любит OAIxxx AOIxxx - на порядок больше чем любой другой логики
а я XORы люблю...

ну и вроде как критерием должно быть не количество spare cell-ов, а вероятность найти рядом с местом правки целл требуемого типа

--------------------

также TSMC предлагает некий универсальный запасной целл

ECO cell is intended to serve logic changes with metals only ECO (Engineering Change Order), after first tapeout, without having to touch base layers of POLY layer and below. Cells in this ECO library are designed with metal 1 and metal2 (Flip-Flop cells) routing resources only.

который вроде как автоматически использует бэкенд, без нашего участия

тоже интересно - насколько это заменяет спаре целы, и сколько штук smile.gif надо

интересно устройство - в библиотеке этот (или эти) ECO cell характеризован, как набор элементов

The prefix code specifies the function of the cell. Notice that in order to identify with the other standard cell, all ECO cell prefixes “G” (means Gate array) to the cell name. Table 3.1 lists the prefix code descriptions.

GAN
AND Gate
GAOI
AND-OR-Inverter Gate
GBUFF
Non-Inverting Buffer
GDCAP
Decoupling cell
GDFQ
Q-only D Flip-Flop without Set/Reset
GINV
Inverting Buffer
GMUX
Multiplexer
GNR
NOR Gate
GOR
OR Gate
GXNR
Exclusive NOR Gate
GXOR
Exclusive OR Gate

причем размеры и мощность выходного каскада разная

интересно - это все-таки один цел (с размером приблизительно равным аналогичному стандартному) ?
или группа целов (реальный размер, которых значительно больше указанных при характеризации) типа микро-БМК, из которых выбирается требуемая функция
soshnev
Цитата(yes @ Sep 7 2007, 13:53) *
скорее для флейма, а не для дела. потому как скорее всего это сильно субъективно...

но все же :
добавляете ли вы "запасные" ячейки?
какого типа?
какое количество?

собственно в тех проектах, где я участвовал - ревижинов не делали, поэтому реально spare cell-ами не пользовались, были какие-то правки финального нетлиста (уже отплэйс-роутенного) на пару вентелей

синтезатор например любит OAIxxx AOIxxx - на порядок больше чем любой другой логики
а я XORы люблю...

ну и вроде как критерием должно быть не количество spare cell-ов, а вероятность найти рядом с местом правки целл требуемого типа

--------------------

также TSMC предлагает некий универсальный запасной целл

ECO cell is intended to serve logic changes with metals only ECO (Engineering Change Order), after first tapeout, without having to touch base layers of POLY layer and below. Cells in this ECO library are designed with metal 1 and metal2 (Flip-Flop cells) routing resources only.

который вроде как автоматически использует бэкенд, без нашего участия

тоже интересно - насколько это заменяет спаре целы, и сколько штук smile.gif надо

интересно устройство - в библиотеке этот (или эти) ECO cell характеризован, как набор элементов

The prefix code specifies the function of the cell. Notice that in order to identify with the other standard cell, all ECO cell prefixes “G” (means Gate array) to the cell name. Table 3.1 lists the prefix code descriptions.

GAN
AND Gate
GAOI
AND-OR-Inverter Gate
GBUFF
Non-Inverting Buffer
GDCAP
Decoupling cell
GDFQ
Q-only D Flip-Flop without Set/Reset
GINV
Inverting Buffer
GMUX
Multiplexer
GNR
NOR Gate
GOR
OR Gate
GXNR
Exclusive NOR Gate
GXOR
Exclusive OR Gate

причем размеры и мощность выходного каскада разная

интересно - это все-таки один цел (с размером приблизительно равным аналогичному стандартному) ?
или группа целов (реальный размер, которых значительно больше указанных при характеризации) типа микро-БМК, из которых выбирается требуемая функция

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

Бывают технологические добавления - но это производственные ( тестовые структуры и т.п)

2. По поводу выбора ОАI AOI - всегда есть возможность поставить dont use и синтезировать
в нужном базисе. XOR-ы плохи тем что сильно "дрожат" и SDF Path пути у них странные
(задержка IOPATH (причём например из 0->1) зависит от состояний на других входах).
А вообще всё можно синтезировать, используя NAND2,NOR2 и буферные элементы.

3. Можно синтезировать и в GateArray - но принцип тот-же как и asic. Как и в asic размеры у всех
ячеек разные. Наверное можно сделать GA по принципу FPGA - но тогда будут потери
по площади, да и ПО нужно специфическое и т.п.

4. Использование окружения топологии в аналогичном случае - только в FPGA при использовании стандартной большой многофункциональной ячейки (естественно надо экономить)
Часто используется эквивалентность входов.
Если логика типа and2 и при трассировке он может переставить (пересоединить) входные выводы.
Более того, он может вообще изменить логику (обычно большую группу) группу and заменить например на xor и др. и т.п.
Ещё есть хитрость - например, нужен инвертор а у соседней ячейки осталась часть (хоr)
берётся этот хоr, один вывод заводится на питание а другой рабочий (получился инвертор) и т.п.
Добавляются также элементы для выравнивания задержек (и много ещё чего).

Это всё можно посмотреть, анализируя timing netlist получаемый для моделирования из FPGA.
Я смотрел MAX-PLUS (тащил netlist).
5. А вообще, чтобы точно ответить по библиотеке надо посмотреть её файлы для проектирования.

Как я понимаю термин standard cell - это аттестованный , проверенный в изготовлении,
обсчитанный cell (а не универсальный).
yes
1)
ну например вот
http://www.synplicity.com/literature/pdf/SpareGates.pdf
google находит какие-то патенты и т.п. но на ASIC SPARE LOGIC нашел 200000 сцылок

2)
синтез подразумевается мануальный - ну то есть ошибку какуюнибудь исправить - в нетлисте берем запасной элемент и мануально вставляем
при этом на физическом уровне тянем проводки - то есть меняется только 1 или несколько металлов

вопрос собственно был какие элементы выгоднее брать (более универсальные)?

----------------

по поводу общих вопросов : количество запасных тип и т.п.....
soshnev
Цитата(yes @ Sep 10 2007, 17:09) *
1)
ну например вот
http://www.synplicity.com/literature/pdf/SpareGates.pdf
google находит какие-то патенты и т.п. но на ASIC SPARE LOGIC нашел 200000 сцылок

2)
синтез подразумевается мануальный - ну то есть ошибку какуюнибудь исправить - в нетлисте берем запасной элемент и мануально вставляем
при этом на физическом уровне тянем проводки - то есть меняется только 1 или несколько металлов

вопрос собственно был какие элементы выгоднее брать (более универсальные)?

----------------

по поводу общих вопросов : количество запасных тип и т.п.....

1.
Интересная ссылка:
-- Действительно, я понял так же, что если вы ошиблись "по мелочам" (или хототе достроить scan), то используя зарезервированные spare вы можете коррекцией одним или двумя металлами исправить ситуацию.
-- В привед. примере используется версия Synplify Asic 3.0.3. Synplify ASIC - вообще больше не развивается (во всяком случае больше не рекламируется).
-- Cadence FE поддерживает режим spare (spare cell shot gunning). Но это надо ещё проверять...
(наверняка будут ошибки или изменения (нестыковки) в маршруте back end). Но то что поддерживает это хорошо.
-- Рекомендаций наверняка нет (здесь пишут - можно "гибко" и "неограниченно" и по разному в иерархических блоках)

Собственно ничего нового, за исключением того что spare-cells должны быть сделаны определённым
образом. В нерабочем режиме должны быть подключены определённым образом.
Потом мы их (или вокруг них) drill down...

2.
Какие брать - я думаю зависит от имеющейся свободной площади.
За "универсализм" приходится платить.
Я думаю - по критерию минимальной площади.

А вообще вопрос филосовский. Это надо предвидеть в чём возможна ошибка и что ещё может вдруг понадобится или что-то заложить для дальнейшего развития.
В режиме gate-array - там всегда мало металлов (это принцип GA, изменяй как хочешь, зато есть некот. недостатки в другом).

Но в любом случае, надо сначала оценить используемую площадь.
Ну и конечно прокатить маршрут до конца.

Хорошо-бы посмотреть библиотеку. Как в конце задействуются эти spare.
(1 металл или 2 металла,1 или 2 контактов понадобится для коррекции если вдруг...)
soshnev
Цитата(yes @ Sep 10 2007, 17:09) *
1)
ну например вот
http://www.synplicity.com/literature/pdf/SpareGates.pdf
google находит какие-то патенты и т.п. но на ASIC SPARE LOGIC нашел 200000 сцылок

2)
синтез подразумевается мануальный - ну то есть ошибку какуюнибудь исправить - в нетлисте берем запасной элемент и мануально вставляем
при этом на физическом уровне тянем проводки - то есть меняется только 1 или несколько металлов

вопрос собственно был какие элементы выгоднее брать (более универсальные)?

----------------

по поводу общих вопросов : количество запасных тип и т.п.....

Навёл справки...
Действительно это делать полезно.
Более того, хорошо бы заложить несколько spare контактных площадок.

И как всегда другая сторона...
Как правило "мелочи" обнаруживаются уже после исследования изготовленных образцов и
эта spare-возможность будет зависеть от фабрики и как будет осуществляться изготовление.
На мой взгляд надо учесть следующие аспекты:
-- режим запуска (университетский и т.п. или обычный)
-- объём выпуска (малый или большой)
-- способ изготовления шаблонов (мультишаблон или 1шаблон-1проект)
-- другие возможные нюансы (например, минимальная цена).

Например в первом случае (один из указанных в скобках) совершенно необязательно
что удастся провести spare-коррекцию и соответственно запланированно съэкономить.
Поскольку фабрика может и не хранить "базы" вашего проекта и мультишаблон и т.п.
vechnost
V principe yesli yest gate array eco cells (eto prosto kucha transistorov svyazannih kak yomkost, no mozno perevezat ispolzuya tolko metal i sdelat lyubuyu cifrovuyu funkciyu), to tolko eto nado i stavit kak spare cell. A s nimi stoit zapolnit vsyu neispolzovanuyu ploshad na chipe. Yedinstvenaya plohaya vesh s nimi eto to sto dobavlyayut leakage po sravneniyu so sluchayem gde voobshe net zapasnoy logiki. Gate-i s fiksirovanoy funkciey tolko nado stavit yesli net gate array.
zzzzzzzz
А какой пакет может из ячейки, содержащей матрицу транзисторов, синтезировать заказанную функцию? Или вы предполагаете это делать вручную, только в случае корректировки ошибки?
Возможен вариант синтеза нужной ячейки из нескольких одинаковых ячеек всего с парой п- и р- транзисторов? Так можно было бы выиграть по площади по сравнению с бОльшей матрицей транзисторов . Это тоже какой-то пакет умеет?

Представляется, что такой подход целесообразен именно только в случае ошибки. (А ее быть не должно при хорошей верификации smile.gif ). А иначе - какая разница сколько разных ячеек в библиотеке, - лишь бы схема работала так, как надо.
Тогда можно пойти немного дальше - спроектировать такую схемотехнику в универсальной ячейке, которую можно было бы корректировать несколькими точечными "уколами" лазера. Появилась бы уникальная возможность вносить исправления "дома", "на коленках".
vechnost
Da, ya tolko videl i polzovalsya takimi stuckami v slucaye osibki. Iz moego opita osibkov vsegda kucha daze yesli dostatochno normalnaya verifikaciya smile.gif To ze neploho yesli hoces zakrit bazniye sloi chipa stobi otpravit na mask making a porabotat esho nemnozhko polzuyas tolko metaliceskimi i via sloyami.

Sto kasayetsya lazera ili focused ion beam, eta horoshaya ideya yesli ne ispolzovat flip chip a wire bond packaging.

Mozhno poiti esho dalse i zdelat malenkiye fpga v castyah svoego asic-a, LSI Logic v odnom momente polzovalsya takim priomom, no okazalos sto u Xilinx i Altera patenti protiv etogo i oni ih zastavili perestat nemedlenno.
zzzzzzzz
Цитата(vechnost @ Jul 27 2008, 00:26) *
Mozhno poiti esho dalse i zdelat malenkiye fpga v castyah svoego asic-a, LSI Logic v odnom momente polzovalsya takim priomom, no okazalos sto u Xilinx i Altera patenti protiv etogo i oni ih zastavili perestat nemedlenno.
Явные издержки патентной системы. И сейчас еще попадаются "фрукты", запатентовавшие инвертор, 2И-НЕ и т.п и злобно требующих компенсации за использование smile.gif . Идиотизм бесконечен...

Мне тоже как-то приходилось над этим размышлять. Вывод такой - малоэффективно это. Если хватает мозгов, времени, средств на то, чтобы предусмотреть возможности корректировки, то его с большей пользой нужно тратить на верификацию. Вероятность ошибки пропорциональна сложности чипа. То есть, если вы не сочиняете Супер-пупер чип, то она практически маловероятна. Иначе просто плохо организована разработка.

Гораздо эффективней прием остановки части партии пластин до металлизации.
Часть прогоняется до конца и по ней фактически определяется верность работы. В случае ошибки - корректируются ФШ для оставшейся части. Правда, не всегда производитель идет на такой маршрут. В РФ - это постоянная практика для сложных разработок. А в шатлах пошлют куда подальше, скорее всего.

Делать ФПГА в ЭйСиках тоже как-то некрасиво - потребуются дополнительные средства для программирования. Да и потом эти ячейки нужно выкидывать - тайминг поменяется - появляется дополнительная вероятность ошибки.

Мне лично было бы интересно поковырять пакет, способный из транзисторов сам собирать (компактно!) стандартные ячейки (или любые другие схемы. В принципе, так можно в любом трассировщике, если ему подсунуть нетлист из ячеек из двух транзисторов. Но, это будет примерно в 1.5-2 раза менее компактно, чем рисовать ячейки руками. А площадь порой - решающий фактор.
vechnost
Sto kasayetsa verifikaciyi, ya soglasen, no ya poka vsyo i rabotal na ogromnih cipah s >100 razrabotchikov. Yesli vsye normalniye lyudi - osibok malo, no iz moego opita obicno 90% tupovatih i 10% nadyoznih lyudey. Gauss-ovskaya distribuciya vezde v prirode smile.gif

Po voprosu transistorov, para kompaniy popitalas sdelat tool kotoriy generiruyet standard cell "on the fly" stobi soversenno podhodil situaciye. Naskolko pomnyu fokus bil na size standad cell-a, (po tipa, sdelayet BUFX1.33 jesli nado).
Cadabra
Zenasis
Esho odna bila no ne pomnyu kak nazivalas. U nih po cemu to ne ochen polucilos na rinke.
yes
Цитата(zzzzzzzz @ Jul 26 2008, 12:09) *
А какой пакет может из ячейки, содержащей матрицу транзисторов, синтезировать заказанную функцию?


этот ECO-cell имеется в библиотеке

то есть отмоделировано и проверено для разных соединений. его хараектеристики похуже чем у стандартных целов

отчитываясь по результатам : хоть мы и ставили и spare и ECO - они опять не понадобились smile.gif критических багов не обнаружили, а всякую мелочевку софтом можно пофиксить

то есть изменений между триал-раном и основной партией не было
zzzzzzzz
Цитата(yes @ Aug 15 2008, 23:28) *
то есть изменений между триал-раном и основной партией не было
Можно только поздравить! tort.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.