Jump to content

    

синтез цифровой схемы: c падами или без?

К сожалению, в моих чипах аналог не тестировался вообще, и проблема не до конца понятна.

Возвращаясь к вопросу покрытия. Давайте рассуждать логически. Баундари цепочка житага работает в режимах intest и extest. Очевидно, что если вы хотите задавать константы на аналог, то 1. нужен extest, 2. прошивать сканами тап контроллер и саму баундари скан чейн - нельзя, и триггеры, входящие в эти структуры нельзя сделать скановыми. Однако, можно задействовать в скане триггеры из баундари цепи, которые смотрят внутрь и используются в инструкции intest. Придется вмешаться в логику работы этих BC7(или что вы используете) ячеек, и синтезнуть их на скан флопах. Так вы увеличите покрытие по входам ядра. Что касается выходов ядра,  то подобный фокус не пройдет, поскольку нельзя вмешиваться в работу extest баундари ячеек, и нужно искать другие приемные скан-флопы. Я бы их вписал вручную в ртл - просто флопы, чей вход подключен к выходам кор, а выход  ... куда нибудь. Можно их в цепочку обьединить, подавая на вход каждого флопа выход предыдущего флопа, заXORеный с одним из выводов ядра. Получается альтернатива решению на мультиплексорах со входа на выход ядра.

Share this post


Link to post
Share on other sites
15 hours ago, Aleх said:

Баундари цепочка житага работает в режимах intest и extest. Очевидно, что если вы хотите задавать константы на аналог, то 1. нужен extest, 2. прошивать сканами тап контроллер и саму баундари скан чейн - нельзя, и триггеры, входящие в эти структуры нельзя сделать скановыми. 

Всё верно кроме одного - баундари цепочка и состоит собственно из сканових тригеров - она-ж сканится :)

Берем баундари цепочку (ту часть что на выходах цифры) и в режиме extest устанавливаем константу перед началом ATPG теста - "аналог в режиме ATPG".

Залачиваем это состояние в латче баундари цепочки (баундари селы на выходах двойные - латч плюс тригер, тип по стандарту не помню...). Теперь можем использовать ее скановые тригеры как +1 скан цепь при ATPG, которая обзервит выход цифры.

Состояние аналоговых выходов нас не интересует во время ATPG. Поэтому часть баундари цепи на входах цифры можно просто использовать как +1 скан цепь при ATPG, которая драйверит вход цифры.

Понимая что есть +2 скан цепи (плюс к N штук внутри самой цифры), ЕТ их должен использовать чтобы автоматом драйверить входы цифры и обзервить выходы.

=============================

В результате имеем быстрий самоклокающийся (можна осцилятор отрубить) стандартный тестовый интерфейс. Используем баундари цепь для теста аналога на борту, и для драйва\обзерва входов\выходов цифры при ATPG. А также имеем внутренние скан цепи подключенніе к нему-же без дополнительных падов на корпусе. Всё в одном флаконе.

=============================

Поэтому и был вопрос:

Кто ни будь использовал JTAG боундари скан при генерации ATPG чтобы стимулировать входы и читать выходы цифры вместе со встроенными в цифру скан цепями? 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
2 minutes ago, Aleх said:

Баундари скан джитага содержит не скан-флопы, а любые. В общем случае это обычные флопы. 

А чем скановский флоп от любого отличается?

Я вот всегда беру простые флопы, синтезю и они как-то в DFT цепочку внедряются....

Share this post


Link to post
Share on other sites

Шутите? У скан флопов расширенный состав пинов (встроен мультиплексор по входу). Может быть скан можно и на обычных флопах сделать, но я ни разу такого не видел, имел дело только со стандартными библиотеками, где скан флопы обязательно присутствуют.

Share this post


Link to post
Share on other sites
2 minutes ago, Aleх said:

Шутите? У скан флопов расширенный состав пинов (встроен мультиплексор по входу). Может быть скан можно и на обычных флопах сделать, но я ни разу такого не видел, имел дело только со стандартными библиотеками, где скан флопы обязательно присутствуют.

Уж поверьте на слово

Share this post


Link to post
Share on other sites

Понял. Проиллюстрирую. Возможно, у вас своя кастом либа, поскольку как правило присутствуют такие флопы, использующиеся для скана:

chain_scan_flip_flop.svg

Теперь, что такое самая простая скан-селла BC_2, использующаяся в баундари скан житага

CH14-2.gif

Здесь datain dataout это провод, в разрыв котрого вставлена селла. Если этот провод - вход цифры, то наверно можно второй флоп заменить на скановский, но придется ему на вход D поставить что то вроде мультиплексора , чтобы завести сигнал из контролируемой сканом области. Если же это вход аналога, то такой фокус не пройдет.

ps 

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

 

 

Edited by Aleх

Share this post


Link to post
Share on other sites
On ‎4‎/‎3‎/‎2019 at 6:56 AM, Aleх said:

Понял. Проиллюстрирую. Возможно, у вас своя кастом либа, поскольку как правило присутствуют такие флопы, использующиеся для скана:

Для генератора ATPG вообще пофиг как скан цепочка сделана. Хоть прямо в код вписана и синтезина с отдельно флопа плюс мукс, или хоть скан флопы DFT вставлял и в цепь соединял. Более того, шифт регистры DFT тул любит приладить в скан цепь по умолчанию. Вас же не смущает что синтезатор работает бей супер гейтов типа 2AND-3NAND-XOR?

 

On ‎4‎/‎3‎/‎2019 at 6:56 AM, Aleх said:

Теперь, что такое самая простая скан-селла BC_2, использующаяся в баундари скан житага 

Ставим это на цифровом выходе.

В скан режиме вдуваем значения в левый тригер. Даём одиночный клок пульс на updateDR и записываем всканенное значение в правый тригер - он задаёт режим аналога (как нам давно и надо было). Во время ATPG клок updateDR не дёргаем - аналог тоже не дёргается.

Вход левого тригера подключен к dataIN - т.е. он обзервит выход цифры.

clockDR  это SCAN_CLK, scan_in - SCAN_IN, scan_out - SCAN_OUT. 

В итоге имеем полноценную ATPG  скан цепь которую сожрет ЕТ. Зачем что-то менять на скановские флопы?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this