реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> JTAG, SVF формат данных, непонятка
SM
сообщение May 19 2009, 18:01
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Поясните мне пожалуйста, зачем в SVF в HIR/HDR/TIR/TDR/SIR/SDR нужен параметр SMASK? Что по нему должно делаться? Я понимаю, что он обозначает маску незначащих бит во входном потоке данных. Но зачем это нужно? Ведь никаких сравнений со входным потоком не может производиться, он тупо прогружается в DR/IR.
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 5 2009, 15:49
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ May 19 2009, 21:01) *
Поясните мне пожалуйста, зачем в SVF в HIR/HDR/TIR/TDR/SIR/SDR нужен параметр SMASK? Что по нему должно делаться? Я понимаю, что он обозначает маску незначащих бит во входном потоке данных. Но зачем это нужно? Ведь никаких сравнений со входным потоком не может производиться, он тупо прогружается в DR/IR.

Уважаемый SM.
Ниже представлен ответ моего коллеги, д-ра Ами Городецкого.

Ответ на Ваш вопрос содержится в одной из статей нашего цикла введения
в технологии граничного сканирования в журнале Производство Электроники,
в номере 8 за 2007 год. Там, в частности, объяснено, что маска - это не параметр,
а входной вектор данных, наряду со входным вектором TDI и вектором ожидаемых
реакций схемы TDO. Цитирую: "Маской SVF называется вектор, состоящий из единиц
и нулей, длина которого равна длине выходного вектора реакций, ожидаемого на
контакте TDO в рамках данного оператора SVF. Разряд вектора реакций SVF,
маска которого равна 1, является тестовым и предназначен для сравнения с
соответствующим разрядом выходного вектора реакций, получаемого на TDO.
Разряд вектора реакций SVF, маска которого равна 0, не является тестовым и
сравниваться с соответствующим разрядом выходного вектора реакций
на TDO не будет." Полная статья приложена, а все остальные статьи цикла мы Вам вышлем
бесплатно, если Вы обратитесь к нам по адресу info@Start-Test.com.

Удачи.

Сообщение отредактировал Leonid.K. - Jun 5 2009, 15:56
Прикрепленные файлы
Прикрепленный файл  4_paper_8_07___SVF___Tests.pdf ( 614.74 килобайт ) Кол-во скачиваний: 96
 
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 5 2009, 16:02
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Leonid.K. @ Jun 5 2009, 19:49) *
Разряд вектора реакций SVF, маска которого равна 0, не является тестовым и
сравниваться с соответствующим разрядом выходного вектора реакций
на TDO не будет.

Спасибо, конечно, но это Вы рассказали про MASK, это и так ясно, и вопроса про MASK не было. А вопрос был про SMASK - о нем в статье вообще не упомянуто ни слова.
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 6 2009, 07:45
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ Jun 5 2009, 19:02) *
Спасибо, конечно, но это Вы рассказали про MASK, это и так ясно, и вопроса про MASK не было. А вопрос был про SMASK - о нем в статье вообще не упомянуто ни слова.



"Это" я рассказал про любую маску в SVF: MASK - для выходного потока TDO, а SMASK - для входного потока TDI. Ваше непонимание роли масок следует из Вашей же фразы о том, что "он тупо прогружается в DR/IR" ... Стоит обратить внимание на то, что в технологии ГС ничего и никуда тупо не погружается! Вы представляете себе ГС-цепочку лишь из одного элемента, в этом случае Вам SMASK действительно ни к чему. Но если у Вас два и более элементов в цепочке, Вам необходимо указать, что именно во входном потоке к последующим элементам не имеет к ним никакого отношения, но является выходным потоком предыдущих - в этом смысл SMASK.

В статье действительно многого нет и быть не может из-за ограничений объема журнальной статьи. За любыми дополнительными консультациями смело обращайтесь прямо к нам.

Dr. JTAG (Ами Городецкий)
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 6 2009, 09:46
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Leonid.K. @ Jun 6 2009, 11:45) *
"Это" я рассказал про любую маску в SVF: MASK - для выходного потока TDO, а SMASK - для входного потока TDI. Ваше непонимание роли масок следует из Вашей же фразы о том, что "он тупо прогружается в DR/IR" ... Стоит обратить внимание на то, что в технологии ГС ничего и никуда тупо не погружается!

Извините, но Вы не поняли смысла сленгового словечка "тупо". Поясняю - это значит, что согласно спецификации SVF Rev.E все, что указано в параметре TDI будет выдвинуто с выхода TDO тап-контроллера.
Цитата(Leonid.K. @ Jun 6 2009, 11:45) *
"Это" я рассказал про любую маску в SVF: MASK - для выходного потока TDO, а SMASK - для входного потока TDI. Ваше
Вы представляете себе ГС-цепочку лишь из одного элемента, в этом случае Вам SMASK действительно ни к чему. Но если у Вас два и более элементов в цепочке, Вам необходимо указать, что именно во входном потоке к последующим элементам не имеет к ним никакого отношения, но является выходным потоком предыдущих - в этом смысл SMASK.

Опять же, по спецификации SVF Rev.E для этих целей задаются преамбула (header) HIR/HDR и постамбула (trailer) TIR/TDR. А не SMASK. И, к тому же, при проигрывании SVF-файла на TDO тап-контроллера не может физически ничего попасть, что является частью потока предыдущих, так как на TDO тап-контроллера выдается исключительно то, что указано в параметре TDI SVF-файла, а длина регистра сдвига тап-контроллера равна указанной в SVF в первом параметре SIR/SDR, и равна длине потоков TDO, TDI, MASK и SMASK (ну плюс еще регистры преамбулы и постамбулы, если они есть, они удовлетворяют тем же требованиям, но и для них тоже SMASK может быть).

Так что вопрос остался полностью открыт - какие действия надо предпринимать в SVF-плеере с параметром SMASK. И я ожидаю ответа типа такого:
"MASK накладывается по лог. И на принятый входной поток тап-контроллера и на поток, указанный в параметре TDO, после чего производится сравнение обоих потоков"
вот, по аналогии с этим, что делать в плеере с SMASK? (в стандарте я этого просто не обнаружил)
Go to the top of the page
 
+Quote Post
Oldring
сообщение Jun 6 2009, 10:57
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(SM @ Jun 6 2009, 13:46) *
Так что вопрос остался полностью открыт - какие действия надо предпринимать в SVF-плеере с параметром SMASK.


IMHO игнорировать. Чтобы понять причины появления этого параметра нужно допрашивать авторов стандарта. Кому они хотели передавать информацию о том, что некоторые входные биты на результат теста не влияют?


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 6 2009, 11:05
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Oldring @ Jun 6 2009, 14:57) *
IMHO игнорировать. Чтобы понять причины появления этого параметра нужно допрашивать авторов стандарта. Кому они хотели передавать информацию о том, что некоторые входные биты на результат теста не влияют?

Ну так и у меня то же IMHO. Пока так и делаю. И вопрос у меня, собственно, именно такой - кому и зачем... Ну а допрос авторов стандарта, тоже IMHO, не реален smile.gif

Одна из догадок, что это, возможно, полезно, если указан PIOMAP и хочется графически отобразить сигналы в случае ошибки, чтобы подсветить то, что значимое, и скрыть незначимое. Но это так, на уровне догадок.
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 6 2009, 13:28
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ Jun 6 2009, 14:05) *
Ну так и у меня то же IMHO. Пока так и делаю. И вопрос у меня, собственно, именно такой - кому и зачем... Ну а допрос авторов стандарта, тоже IMHO, не реален smile.gif

Одна из догадок, что это, возможно, полезно, если указан PIOMAP и хочется графически отобразить сигналы в случае ошибки, чтобы подсветить то, что значимое, и скрыть незначимое. Но это так, на уровне догадок.


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

Сообщение отредактировал Leonid.K. - Jun 6 2009, 13:46
Прикрепленные файлы
Прикрепленный файл  using_svf.pdf ( 39.27 килобайт ) Кол-во скачиваний: 63
Прикрепленный файл  SVF_Spec.pdf ( 85.22 килобайт ) Кол-во скачиваний: 333
 
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 6 2009, 20:42
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Leonid.K. @ Jun 6 2009, 17:28) *
Господа.
Не надо ломать головы и копья.
В приложенных документах совершенно точно определены цели и задачи операнда SMASK. Наслаждайтесь.

Господин, то, что в SMASK определяются биты входного (с точки зрения тестируемого устройства) потока, влияющие на результат тестирования и не влияющие - это и без Ваших документов понятно было. И привешивать спецификацию смысла не было никакого, она и так прочитана вдоль и поперек. Вы вообще вопрос-то читали? Я ведь не спрашивал, что определяет SMASK, я это знаю, я хочу получить ответ на вопрос "а зачем это нужно, и кому".
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 7 2009, 05:00
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ Jun 6 2009, 23:42) *
Господин, то, что в SMASK определяются биты входного (с точки зрения тестируемого устройства) потока, влияющие на результат тестирования и не влияющие - это и без Ваших документов понятно было. И привешивать спецификацию смысла не было никакого, она и так прочитана вдоль и поперек. Вы вообще вопрос-то читали? Я ведь не спрашивал, что определяет SMASK, я это знаю, я хочу получить ответ на вопрос "а зачем это нужно, и кому".


Уважаемый, гуру SM.
Читать вдоль и поперек, не всегда означает понимать прочитанное.
Если Вам в лом просто сказать, спасибо, можете не говорить.
Но если даже после прочтения спецификации от ASSET, написанной одним из разработчиков стандарта Беном Беннетом, Вы задаете подобные вопросы, боюсь, что ни уважаемый форум, ни Dr.JTAG Вам не помогут.

Удачи в освоении матчасти.
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 7 2009, 08:14
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Leonid.K. @ Jun 7 2009, 09:00) *
Если Вам в лом просто сказать, спасибо, можете не говорить.

Мне не в лом сказать спасибо, если мне кто-то помогает. Но за вывешивания доков, которые и так на каждом углу висят, и не дают ответа на поставленный вопрос, извините, спасибо не будет. Что задает MASK - ответ они дают. Зачем нужен MASK - дают. Что задает SMASK - дают. А вот зачем нужен SMASK, как не крутите, не дают. И если Вы этого сами не знаете, так и не отвечайте доками, в которых об этом ни слова. Если Вы не читали спецификацию сами - вот привожу цитату про SMASK из нее:
Цитата
Specifies that TDI data is don't care, expressed as a hex string. A ‘1’ in a specific bit position indicates the TDI data in that bit position is a care. A ‘0’ indicates a don't care. If this parameter is not resent, the mask used will equal the last previously specified SMASK value specified for the SDR/SIR statement. SDR and SIR SMASK values are ”remembered” independently. If a scan command changes the length of the last scan of the same type and the SMASK parameter is absent, the smask pattern used is all cares. The SMASK will be used even if the TDI parameter is not present


Да, тут описано как хранить SMASK и как вести себя при указании параметра и без указания, да, тут написано, что он обозначает незначащие биты в потоке TDI, но тут ни слова нет, а зачем все это нужно вообще. Больше в стандарте про SMASK ничего нет. Кроме порядка следования бит LSB->MSB.
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 7 2009, 09:12
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ Jun 7 2009, 11:14) *
Мне не в лом сказать спасибо, если мне кто-то помогает. Но за вывешивания доков, которые и так на каждом углу висят, и не дают ответа на поставленный вопрос, извините, спасибо не будет. Что задает MASK - ответ они дают. Зачем нужен MASK - дают. Что задает SMASK - дают. А вот зачем нужен SMASK, как не крутите, не дают. И если Вы этого сами не знаете, так и не отвечайте доками, в которых об этом ни слова. Если Вы не читали спецификацию сами - вот привожу цитату про SMASK из нее:


Да, тут описано как хранить SMASK и как вести себя при указании параметра и без указания, да, тут написано, что он обозначает незначащие биты в потоке TDI, но тут ни слова нет, а зачем все это нужно вообще. Больше в стандарте про SMASK ничего нет. Кроме порядка следования бит LSB->MSB.


If a

new scan command is specified which changes the

length of the data pattern with respect to a previous

scan, the SMASK parameter must be specified, otherwise

the default SMASK pattern used is undefined and

is an error. The SMASK will be used even if the TDI

parameter is not present.

Go to the top of the page
 
+Quote Post
SM
сообщение Jun 7 2009, 09:19
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Ну и что? Перевожу (если Вы сами не в состоянии):

Если в новой команде сканирования происходит смена длины потока, то должна быть указана новая SMASK, иначе будет взята SMASK, принятая по умолчанию. SMASK используется и в том случае, если не указан параметр TDI.

В моем плеере в процессе парсинга SVF-файла все полностью соответствует этому требованию. Если указана - берется указанная, если не указана - берется по умолчанию. Если TDI не указано - маску не сбрасываю, а оставляю.

Ну, блин, храню я ее в какой-то внутренней структуре, ну меняю я ее по этому правилу, НО ЗАЧЕМ ОНА НУЖНА? ГДЕ ЕЕ И ДЛЯ ЧЕГО ИСПОЛЬЗОВАТЬ?>
Go to the top of the page
 
+Quote Post
Leonid.K.
сообщение Jun 7 2009, 09:53
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178



Цитата(SM @ Jun 7 2009, 12:19) *
Ну и что? Перевожу (если Вы сами не в состоянии):

Если в новой команде сканирования происходит смена длины потока, то должна быть указана новая SMASK, иначе будет взята SMASK, принятая по умолчанию. SMASK используется и в том случае, если не указан параметр TDI.

В моем плеере в процессе парсинга SVF-файла все полностью соответствует этому требованию. Если указана - берется указанная, если не указана - берется по умолчанию. Если TDI не указано - маску не сбрасываю, а оставляю.

Ну, блин, храню я ее в какой-то внутренней структуре, ну меняю я ее по этому правилу, НО ЗАЧЕМ ОНА НУЖНА? ГДЕ ЕЕ И ДЛЯ ЧЕГО ИСПОЛЬЗОВАТЬ?>



Если в новой команде сканирования происходит смена длины потока, то обязана быть указана новая SMASK, иначе будет взята неопределенная SMASK, принятая по умолчанию, что является ошибкой. SMASK используется и в том случае, если не указан параметр TDI.

А нужно это для того, чтобы при "проталкивании" данных с TDO предыдущего элемента цепочки на TDI следующего Ваш SVF player позаботился о том, чтобы туда вошли только значащие биты. Это своего рода внутренний КПП.
В отличии от SMASK, MASK является внешним КПП, контроллирующим поток данных на TDO последнего элемента в цепочке.
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 7 2009, 10:24
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Leonid.K. @ Jun 7 2009, 13:53) *
Если в новой команде сканирования происходит смена длины потока, то обязана быть указана новая SMASK, иначе будет взята неопределенная SMASK, принятая по умолчанию, что является ошибкой. SMASK используется и в том случае, если не указан параметр TDI.

Ой-ой-ой, и где же это сказано, что неуказание SMASK и использование значения по умолчанию является ошибкой? Только не своими словами, а цитату плиз. Во всех SVF файлах, которые генерят мне средства разработки альтеры и lattice я вообще ни одного SMASK никогда не видел, и везде использовано значение по умолчанию. И SMASK по умолчанию отнюдь не неопределенная, в все единицы. If a scan command changes the length of the last scan of the same type and the SMASK parameter is absent, the smask pattern used is all cares.



Цитата(Leonid.K. @ Jun 7 2009, 13:53) *
А нужно это для того, чтобы при "проталкивании" данных с TDO предыдущего элемента цепочки на TDI следующего Ваш SVF player позаботился о том, чтобы туда вошли только значащие биты. Это своего рода внутренний КПП.

Можно как-то по-русски, чтобы понятно было? На конкретном примере.

Вот пример:

HIR 5 TDI(1F);
TIR 8 TDI(FF);
...
...
...
SIR 8 TDI(5C) SMASK(F3);

Я выталкиваю с TDO моего тап контроллера последовательность из 5 бит единиц HIR, потом 8 бит (в порядке их следования от LSB к MSB 0,0,1,1,1,0,1,0), потом 8 бит единиц TIR. Куда конкретно мне применить этот SMASK (F3) и как.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 22:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.0152 секунд с 7
ELECTRONIX ©2004-2016