MickeyMouse 0 19 декабря, 2019 Опубликовано 19 декабря, 2019 (изменено) · Жалоба Имеется память RAM(TSMC) Как ее дфтить ? Что использовать ATPG или BIST ? Как потом это интегрировать с глобальным DFT который в виде скан цепочки ? Какие тулы лучше mentor или cadence ? Я имею ввиду для вставки DFT и анализа ATPG В теме DFT буквально пару недель поэтому столько вопросов... Изменено 19 декабря, 2019 пользователем MickeyMouse Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба DFT для памяти называется MBIST, это некая синтезируемая (soft-IP) тестовая структура, встраивемая в разрыв интерфейса памяти. Для управления использует собственный интерфейс, для которого еще нужен контроллер и тестовый порт, либо просто тестовые выводы микросхемы. У кэденса эта штука вставляется синтезатором (Genus), и есть еще отдельный тул у Ментора. Еще, можете этот MBIST написать сами: ничего сложного, по сути - просто автомат записи/чтения со сравнением результата и тестовым доступом к регустру команд и чтению статуса (результата теста). Итого, начните с изучения документации Генуса (он у Вас есть, если не путаю). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MickeyMouse 0 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба 2 минуты назад, Aleх сказал: DFT для памяти называется MBIST, это некая синтезируемая (soft-IP) тестовая структура, встраивемая в разрыв интерфейса памяти. Для управления использует собственный интерфейс, для которого еще нужен контроллер и тестовый порт, либо просто тестовые выводы микросхемы. У кэденса эта штука вставляется синтезатором (Genus), и есть еще отдельный тул у Ментора. Еще, можете этот MBIST написать сами: ничего сложного, по сути - просто автомат записи/чтения со сравнением результата и тестовым доступом к регустру команд и чтению статуса (результата теста). Итого, начните с изучения документации Генуса (он у Вас есть, если не путаю). А все-таки используют ли ATPG-скан вместо MBIST для памяти? Если скажем память не очень большая. Имели ли Вы опыт работы с Tessent ? Просто документация от ментора на порядок лучше Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба @MickeyMouse ATPG предназначено для проверки логики и флопов/латчей, а не памяти. И работает по другому принципу - тесты задаются не внутренним автоматом, а снаружи, с тестера. При этом, думаю, можно совместить управление MBIST со сканами: организовать для MBIST последовательный тестовый порт и подключить его к одной из цепочек. Тогда управлять MBIST можно будет задвигая/выгружая векторы с тестера. Но, я далеко не гуру в этом вопросе, лучше спросить у @topor_topor , он вроде часто чипы с DFT делает. С Ментором нет, не работал. Мне вообще чипы с DFT почти не попадались. Избыточно это: больше места, выше потребление, и т.д. - изделие проиграет конкурентам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба 2 hours ago, MickeyMouse said: А все-таки используют ли ATPG-скан вместо MBIST для памяти? Если скажем память не очень большая. Имели ли Вы опыт работы с Tessent ? Просто документация от ментора на порядок лучше ATPG вместо MBIST - это как? Память у Вас в каком виде? На регистрах в исходниках и синтезируется вместе с остальным кодом? Или таки аналоговый IP? 2 hours ago, Aleх said: Мне вообще чипы с DFT почти не попадались. Избыточно это: больше места, выше потребление, и т.д. - изделие проиграет конкурентам. А разбраковывали как? 100% покрытие функциональными тестами или уже в приборе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 19 декабря, 2019 Опубликовано 19 декабря, 2019 · Жалоба С Tessent когда-то у меня не опыт, а скорее проба была. Заняла неделю (неспешно) с 0 до моделирования нетлиста со вставленным MBIST. И еще время ушло на перегон части исходников (тех, где память вставляется и что задействуются для доступа к ней по иерархии до топа) с VHDL в verilog. Tessent вставляет свой код на verilog. Дальше обычный синтез с DFT или без. Управление MBIST можно через JTAG организовать, если есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MickeyMouse 0 20 декабря, 2019 Опубликовано 20 декабря, 2019 (изменено) · Жалоба 16 часов назад, Aleх сказал: @MickeyMouse ATPG предназначено для проверки логики и флопов/латчей, а не памяти. И работает по другому принципу - тесты задаются не внутренним автоматом, а снаружи, с тестера. При этом, думаю, можно совместить управление MBIST со сканами: организовать для MBIST последовательный тестовый порт и подключить его к одной из цепочек. Тогда управлять MBIST можно будет задвигая/выгружая векторы с тестера. Но, я далеко не гуру в этом вопросе, лучше спросить у @topor_topor , он вроде часто чипы с DFT делает. С Ментором нет, не работал. Мне вообще чипы с DFT почти не попадались. Избыточно это: больше места, выше потребление, и т.д. - изделие проиграет конкурентам. Ну насколько я понимаю, основной аргумент против ATPG для памяти - это время и объемы тестирования. Так то вроде ничего сложного в этом нет, задвинули данные на запись слова - выдвинули на чтение(+ возможно доп тестовый порт WR)... Кроме того в либах TSMС имеются два варианта для RAM : BIST (в виде обычных муксов на портах) и ATPG(видимо просто структурная модель, чтобы проверку на иксы проходить в модусе, пока не понял). Ну понятно, буду с бистом разбираться. Интересует все-таки вопрос качества ATPG-тулов от тех кто имеет опыт в этом деле. По первому впечатлению модус хуже тисента. 14 часов назад, honinbo сказал: С Tessent когда-то у меня не опыт, а скорее проба была. Заняла неделю (неспешно) с 0 до моделирования нетлиста со вставленным MBIST. И еще время ушло на перегон части исходников (тех, где память вставляется и что задействуются для доступа к ней по иерархии до топа) с VHDL в verilog. Tessent вставляет свой код на verilog. Дальше обычный синтез с DFT или без. Управление MBIST можно через JTAG организовать, если есть. Мне наверно нет большого смысла организовывать управление через JTAG при наличии скановых цепей для ATPG. В таком случае я должен буду сначала гонять цепи, а потом подключаться через JTAG к бистам и их отдельно гонять. Ведь если отбросить проблему диагностики ошибок, то единственной задачей DFT является разбраковка. И в таком случае очень удобно будет все объединить в один заход для ATE. Вот если потом еще затолкать весть DFT в JTAG - это сэкономит минимум один порт. Повторюсь не имел опыта работы с DFT, поэтому могу не знать каких-то банальных вещей. Изменено 20 декабря, 2019 пользователем MickeyMouse Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 20 декабря, 2019 Опубликовано 20 декабря, 2019 (изменено) · Жалоба @MickeyMouse Вы не все верно поняли. 1. ATPG это скан-цепи, вставляемые в синтезируемую логику. Блок SRAM, очевидно, не синтезируемая логика, а хард-айпи, скан цепями его не прошить. Что имели ввиду TSMC, я не знаю, надо читать их доки. 2. В чипе даже средних размеров делают не одну, а сотни скан цепей, поскольку иначе получим проблемы с покрытием и длинной цепей. Более того, используют алгоритмы сжатия, снижая количество цепей до 1-2 десятков. Очевидно, что через JTAG более одной последовательной цепочки дергать не получится, поэтому нужно выводить интерфейс на тестовые пины. Часто ATPG прошивают уже поверх вставленного JTAG. p.s. Много лет назад я участвовал в проектировании пары маленьких микросхем, у каждой была всего одна скан-цепь, и доступ к ней через JTAG. Изврат жуткий. Ведь к каждому сгенеренному вектору добавлялась инструкция житага, чтобыэтот вектор задвинуть, а в считанном векторе надо было вычесть несколько бит. К тому же, приходилось специальным образом донастраивать генератор, чтобы векторы задвигались внутренними сигналами тап-контроллера житаг, которые дергаются несколько иначе, чем принято в ATPG. В общем, так делать не надо. Изменено 20 декабря, 2019 пользователем Aleх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MickeyMouse 0 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба В 21.12.2019 в 00:02, Aleх сказал: @MickeyMouse Вы не все верно поняли. 1. ATPG это скан-цепи, вставляемые в синтезируемую логику. Блок SRAM, очевидно, не синтезируемая логика, а хард-айпи, скан цепями его не прошить. Что имели ввиду TSMC, я не знаю, надо читать их доки. 2. В чипе даже средних размеров делают не одну, а сотни скан цепей, поскольку иначе получим проблемы с покрытием и длинной цепей. Более того, используют алгоритмы сжатия, снижая количество цепей до 1-2 десятков. Очевидно, что через JTAG более одной последовательной цепочки дергать не получится, поэтому нужно выводить интерфейс на тестовые пины. Часто ATPG прошивают уже поверх вставленного JTAG. p.s. Много лет назад я участвовал в проектировании пары маленьких микросхем, у каждой была всего одна скан-цепь, и доступ к ней через JTAG. Изврат жуткий. Ведь к каждому сгенеренному вектору добавлялась инструкция житага, чтобыэтот вектор задвинуть, а в считанном векторе надо было вычесть несколько бит. К тому же, приходилось специальным образом донастраивать генератор, чтобы векторы задвигались внутренними сигналами тап-контроллера житаг, которые дергаются несколько иначе, чем принято в ATPG. В общем, так делать не надо. Во текст из документации на tesetnt : The ATPG tool does not test the internals of the RAM/ROM, although MacroTest (separately licensed but available in the ATPG tool) lets you create tests for small memories such as register files by converting a functional test sequence or algorithm into a sequence of scan tests. For large memories, built-in test structures within the chip itself are the best methods of testing the internal RAM or ROM Никто и не говорил про "прошить изнутри", вопрос лишь в возможности теста через подачу/прием тестовых векторов. По сути бист эту задачу и реализует, просто чтобы это сделать быстро источник входных вектров встраивают в чип в виде генератора случайных чисел, тут же делают проверку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба @MickeyMouse Так можно делать, но время тестирования памяти получится чудовищно большим. Представляете, сколько необходимо тестов памяти? Я как то заглянул в исходники такого теста и насчитал аж 83 пунка - бегущие единицы, 0xAAA-0x5555 и т.д. - по всем адресам. Если каждй тест пускать последовательными записями, работать будет оооочень медленно. Когда то на заре, я написал тест JTAG boundary scan, который дергая лапки микросхемы считывал содержимое NVRAM, NAND флеша, и в довесок еще и SPI памяти. Почувствовал себя крутым, но .. ни разу не пригодилось, слишком медленно работало :-) Это из той же серии - круто, но бестолково. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба 18 minutes ago, Aleх said: @MickeyMouse Так можно делать, но время тестирования памяти получится чудовищно большим. Представляете, сколько необходимо тестов памяти? Я как то заглянул в исходники такого теста и насчитал аж 83 пунка - бегущие единицы, 0xAAA-0x5555 и т.д. - по всем адресам. Если каждй тест пускать последовательными записями, работать будет оооочень медленно. MBIST только запускается через JTAG (если вы выбрали этот способ) и выдает результат теста. Алгоритмы (те, что вы выбрали из стандартных или описали свой) теста прошиты внутри MBIST. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 23 декабря, 2019 Опубликовано 23 декабря, 2019 · Жалоба 1 hour ago, honinbo said: MBIST только запускается через JTAG (если вы выбрали этот способ) и выдает результат теста. Алгоритмы (те, что вы выбрали из стандартных или описали свой) теста прошиты внутри MBIST. Коллега имел ввиду именно задание тестов через скан, а не управление мбистом: > The ATPG tool does not test the internals of the RAM/ROM, although MacroTest (separately licensed but available in the ATPG tool) lets you create tests for small memories such as register files by converting a functional test sequence or algorithm into a sequence of scan tests. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MickeyMouse 0 4 января, 2020 Опубликовано 4 января, 2020 · Жалоба В 19.12.2019 в 21:55, Aleх сказал: Мне вообще чипы с DFT почти не попадались. Избыточно это: больше места, выше потребление, и т.д. - изделие проиграет конкурентам. В 20.12.2019 в 00:02, honinbo сказал: А разбраковывали как? 100% покрытие функциональными тестами или уже в приборе? Присоединяюсь к вопросу, ограничиваетесь функциональными тестами? А если память большая есть ? А есть еще кто-то кто использует DFT в каком-либо виде ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
baumanets 12 4 января, 2020 Опубликовано 4 января, 2020 · Жалоба Насколько я знаю, в отечественных компаниях, для памяти используют проверки искл. ИЛИ (XOR) состояния соседних топологических ячеек. Они могут располагаться в адресном пространстве рядом друг с другом, в соседних ячейках для гражданских применений. Либо соседние по топологии ячейки находятся в разных байтах и даже банках. Это для военки и космоса. Делается это для того, чтобы в случае попадания вот таких частиц, не нарушалась работа систем. А была возможность исправить ошибки по CRC и прочим алгоритмам. Для ОЗУ космических применений это должно делаться на этапе написания компилятора памяти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 4 января, 2020 Опубликовано 4 января, 2020 · Жалоба 12 hours ago, MickeyMouse said: Присоединяюсь к вопросу, ограничиваетесь функциональными тестами? А если память большая есть ? Вместо ATPG - функциональные тесты, как и написал @honinbo. Конечно, покрытие низкое, но если чип с браком, то сыпется сразу куча мест. Память - самое уязвимое в чипе, ее проверять обязательно: вставляется MBIST, управляется через JTAG. Boundary scan - весьма желательно иметь, т.к. с пайкой косячат часто, особенно при ручном монтаже малых серий. Итого, мы экономили в основном на ATPG, ряд микросхем, что я делал, был без памятей, но почти везде был boundary scan. Поскольку с рекламациями тоже приходилось иметь дело, скажу следующее: boundary scan очень и очень себя оправдал, сами микросхемы браковались в основном по тестам памяти (сбой функционального теста при работающей памяти - редкость), но - скрывать не буду - было пару раз такое, что поступали рекламации по чипам, которые прошли отбраковку. Впрочем их могли и банально перегреть при ручном (де)монтаже, там история темная была. Другими словами, все зависит от конкретной ситуации: где то ATPG обязателен а где то достаточно и функциональных тестов. К примеру, некоторые продают не отдельные чипы, а собранные модули - там все значительно проще: микросхемы дополнительно тестируются в системе, покрытие очень высокое можно получить, да и периферия обычно заранее известна и не меняется. А если продавать не модули, а целые системы/приборы в сборе, то тестирование чипов на стороне разработчика и еще глубже получается. Как то так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться