|
JTAG, SVF формат данных, непонятка |
|
|
|
 |
Ответов
|
Jun 7 2009, 09:19
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Ну и что? Перевожу (если Вы сами не в состоянии):
Если в новой команде сканирования происходит смена длины потока, то должна быть указана новая SMASK, иначе будет взята SMASK, принятая по умолчанию. SMASK используется и в том случае, если не указан параметр TDI.
В моем плеере в процессе парсинга SVF-файла все полностью соответствует этому требованию. Если указана - берется указанная, если не указана - берется по умолчанию. Если TDI не указано - маску не сбрасываю, а оставляю.
Ну, блин, храню я ее в какой-то внутренней структуре, ну меняю я ее по этому правилу, НО ЗАЧЕМ ОНА НУЖНА? ГДЕ ЕЕ И ДЛЯ ЧЕГО ИСПОЛЬЗОВАТЬ?>
|
|
|
|
|
Jun 7 2009, 09:53
|
Частый гость
 
Группа: Участник
Сообщений: 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 последнего элемента в цепочке.
|
|
|
|
|
Jun 7 2009, 10:24
|
Гуру
     
Группа: Свой
Сообщений: 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) и как.
|
|
|
|
|
Jun 7 2009, 14:40
|
Частый гость
 
Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178

|
Цитата(SM @ Jun 7 2009, 13:24)  Ой-ой-ой, и где же это сказано, что неуказание 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.
Можно как-то по-русски, чтобы понятно было? На конкретном примере.
Вот пример:
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) и как. 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.
TDI(5C) 0011 0101 SMASK(F3) 1100 1111 Биты, выделенные красным в TDI не имеют значения, в соответствии с нулями в маске SMASK.
|
|
|
|
|
Jun 7 2009, 15:12
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Leonid.K. @ Jun 7 2009, 18:40)  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. Это из какого документа? В спецификации Rev.E (в том числе в той, которую Вы же и привесили http://electronix.ru/forum/index.php?act=a...t&id=33413) такого нет! Более того, там указано совершенно однозначно: " 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, 18:40)  TDI(5C) 0011 0101 SMASK(F3) 1100 1111 Биты, выделенные красным в TDI не имеют значения, в соответствии с нулями в маске SMASK.
Ну и я знаю, что они не имеют значения, потому, что в маске там нули, и я не спрашивал, что означает SMASK, на этот вопрос спецификация ответ дает. Вопрос был: Какие конкретные действия должны быть предприняты в плеере с этой маской SMASK?
|
|
|
|
|
Jun 11 2009, 18:54
|
Частый гость
 
Группа: Участник
Сообщений: 76
Регистрация: 4-06-07
Пользователь №: 28 178

|
Цитата(SM @ Jun 7 2009, 18:12)  Это из какого документа? В спецификации Rev.E (в том числе в той, которую Вы же и привесили http://electronix.ru/forum/index.php?act=a...t&id=33413) такого нет! Более того, там указано совершенно однозначно: " 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." Если это из апноты ксилинкса, то это свидетельствует лишь о том, что их реализация не соответствует спецификации, и, соответственно, некорректна. (у меня к их апнотам давно доверие потеряно, и это лишнее подтверждение) Ну и я знаю, что они не имеют значения, потому, что в маске там нули, и я не спрашивал, что означает SMASK, на этот вопрос спецификация ответ дает. Вопрос был: Какие конкретные действия должны быть предприняты в плеере с этой маской SMASK? Доверие, как и Вера, личное дело индивидуума. А Ваш вопрос я задал командам поддержки Corelis, JT и FLYNN. Corelis и JT скромно промолчали, а вот Hank Flynn ответил буквально следующее: The only place where we have used the SMASK bits is in applications where we added buffer bits to equalize the boundary register lengths in parallel JTAG chains of differing lengths and needed a way to identify the beginning and end of actual data. We do not currently add an SMASK field in any SVF files that we generate. For SVF files that onTAP imports, such as programming files, all of the TDI bits are treated as care bits and are scanned in without change. As a result I don’t have a ready explanation as to the utility of the SMASK field. Так что, в случае с неизменной длиной цепочки этот параметр можно смело игнорировать. Он, собственно, и определен как опциональный. Удачи. Приятно было пообщаться. В спорах рождается истина.
|
|
|
|
Сообщений в этой теме
SM JTAG, SVF формат данных May 19 2009, 18:01 Leonid.K. Цитата(SM @ May 19 2009, 21:01) Поясните ... Jun 5 2009, 15:49 SM Цитата(Leonid.K. @ Jun 5 2009, 19:49) Раз... Jun 5 2009, 16:02  Leonid.K. Цитата(SM @ Jun 5 2009, 19:02) Спасибо, к... Jun 6 2009, 07:45   SM Цитата(Leonid.K. @ Jun 6 2009, 11:45) ... Jun 6 2009, 09:46    Oldring Цитата(SM @ Jun 6 2009, 13:46) Так что во... Jun 6 2009, 10:57     SM Цитата(Oldring @ Jun 6 2009, 14:57) IMHO ... Jun 6 2009, 11:05      Leonid.K. Цитата(SM @ Jun 6 2009, 14:05) Ну так и у... Jun 6 2009, 13:28       SM Цитата(Leonid.K. @ Jun 6 2009, 17:28) Гос... Jun 6 2009, 20:42        Leonid.K. Цитата(SM @ Jun 6 2009, 23:42) Господин, ... Jun 7 2009, 05:00         SM Цитата(Leonid.K. @ Jun 7 2009, 09:00) Есл... Jun 7 2009, 08:14          Leonid.K. Цитата(SM @ Jun 7 2009, 11:14) Мне не в л... Jun 7 2009, 09:12
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|