|
JTAG, SVF формат данных, непонятка |
|
|
|
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. Так что, в случае с неизменной длиной цепочки этот параметр можно смело игнорировать. Он, собственно, и определен как опциональный. Удачи. Приятно было пообщаться. В спорах рождается истина.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|