Перейти к содержанию
    

В чем различие команд EXTEST и SAMPLE/PRELOAD?

В чем различие команд EXTEST и SAMPLE/PRELOAD интерфейса JTAG?
Я читал здесьздесь и здесь.
Из текстов я понял, что:
EXTEST устанавливает логические значения, что позволяет тестировать микросхему и соединения,
а SAMPLE устанавливает логические значения, что позволяет тестировать микросхему и соединения.
Т.е. "сегодня ты читаешь Двач, а завтра ты читаешь Двач".
В чем разница между этими режимами?

Изменено пользователем flammmable

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, flammmable said:

В чем различие команд EXTEST и SAMPLE/PRELOAD интерфейса JTAG?

 

SAMPLE/PRELOAD используется:

  • его SAMPLE часть функционала: для неразрушающего снятия отсчетов всех сигналов (и входов чипа, и его выходов) по фронту TCK в Capture-DR state;
  • его PRELOAD часть: для подготовки начальных,  инициализационных значений регистров для использования в последующей команде EXTEST или INTEST (иначе сразу после переключения на одну из этих команд соответствующие сигналы будут в неизвестном состоянии). Загрузка происходит по спаду TCK в Update-DR state.

EXTEST используется для тестирования внешней по отношению к данному чипу системы, и в этом режиме внутренняя системная логика чипа полностью изолируется от внешних пинов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 minutes ago, Raven said:

SAMPLE/PRELOAD используется:

  • его SAMPLE часть функционала: для неразрушающего снятия отсчетов всех сигналов (и входов чипа, и его выходов) по фронту TCK в Capture-DR state;
  • его PRELOAD часть: для подготовки начальных,  инициализационных значений регистров для использования в последующей команде EXTEST или INTEST (иначе сразу после переключения на одну из этих команд соответствующие сигналы будут в неизвестном состоянии). Загрузка происходит по спаду TCK в Update-DR state.

EXTEST используется для тестирования внешней по отношению к данному чипу системы, и в этом режиме внутренняя системная логика чипа полностью изолируется от внешних пинов.

Ага. Правильно ли я понимаю? Т.е. EXTEST принудительно устанавливает состояния на выходные пины и читает состояние входных пинов, отрезая ядро от внешнего мира (пинов). А SAMPLE сам ничего не устанавливает, но если ядро (не прекращая работу) что-нибудь выкинет на выходные пины, то SAMPLE сможет это обнаружить. Ну и входной сигнал также обнаруживается при помощи SAMPLE.

Могли бы вы подробней рассказать про PRELOAD? О неизвестном состоянии каких сигналов идет речь? О BSR? Вот, допустим, мы скомандовали EXTEST (без PRELOAD). В BSR - фиг знает что. По щелчку Update-IR в регистре команд окажется EXTEST. Но на выходные пины это никак не повлияет. Затем мы командуем Capture-DR - опять же, выходные пины останутся, как были. А входные защелнутся в BSR. Затем мы пощелкаем Shift-DR, заполним BSR через TDI и считаем то, что защелнулось в BSR через TDO. И, наконец, скомандуем Update-DR. Тут-то пины поменяют свои значения. Но и BSR к этому моменту полностью нами определен. Тогда зачем нужен PRELOAD?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 minutes ago, flammmable said:

Ага. Правильно ли я понимаю? Т.е. EXTEST принудительно устанавливает состояния на выходные пины и читает состояние входных пинов, отрезая ядро от внешнего мира (пинов). А SAMPLE сам ничего не устанавливает, но если ядро (не прекращая работу) что-нибудь выкинет на выходные пины, то SAMPLE сможет это обнаружить. Ну и входной сигнал также обнаруживается при помощи SAMPLE.

Да, верно.

51 minutes ago, flammmable said:

О неизвестном состоянии каких сигналов идет речь? О BSR?

Да, именно BSR, т.к. команда EXTEST работает именно с ним, и только с ним.

52 minutes ago, flammmable said:

Вот, допустим, мы скомандовали EXTEST (без PRELOAD). В BSR - фиг знает что. По щелчку Update-IR в регистре команд окажется EXTEST. Но на выходные пины это никак не повлияет.

Стоп! Как же не повлияет? Что было в параллельном каскаде BSR (осталось от предыстории сдвигов и прочей деятельности) - то и будет использовано сразу же командой EXTEST. Для простоты считаем, что это состояние неизвестно/неопределено (хотя оно, конечно же, вполне определяется этой самой предысторией и при большом желании может быть вам известно). Вот именно для того, чтобы обеспечить явным и понятным образом это начальное значение параллельной секции регистра BSR, и нужен PRELOAD - для "сшивки" предыстории и команды EXTEST (или INTEST - там такой же подход, но для тестирования уже внутренней системной логики чипа).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

39 minutes ago, Raven said:

Стоп! Как же не повлияет? Что было в параллельном каскаде BSR (осталось от предыстории сдвигов и прочей деятельности) - то и будет использовано сразу же командой EXTEST. Для простоты считаем, что это состояние неизвестно/неопределено (хотя оно, конечно же, вполне определяется этой самой предысторией и при большом желании может быть вам известно). Вот именно для того, чтобы обеспечить явным и понятным образом это начальное значение параллельной секции регистра BSR, и нужен PRELOAD - для "сшивки" предыстории и команды EXTEST (или INTEST - там такой же подход, но для тестирования уже внутренней системной логики чипа).

Я, признаться, думал, что все выбросы на пины происходят только по Update-DR.
В какой момент неопределенные данные из BSR сбросятся на пины? По щелчку Update-IR микросхема еще не в курсе, что вот-вот перейдет в режим EXTEST. Следовательно по самому Update-IR это вряд ли произойдет. Между Update-IR и заполнением BSR через Shift-DR находятся три команды: Run-test, Select-DR и Capture-DR. Одна из этих команд сбрасывает данные из BSR на пины при EXTEST-е в IR?

Изменено пользователем flammmable

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, flammmable said:

Одна из этих команд сбрасывает данные из BSR на пины при EXTEST-е в IR?

Да нет же. Все проще.

2 hours ago, flammmable said:

Я, признаться, думал, что все выбросы на пины происходят только по Update-DR.

По Update-DR происходят не "выбросы на пины", а ровно то, что заключено в ее названии - обновление регистра DR (читай - его параллельной секции) значением из сдвиговой секции. Для инструкций SAMPLE/PRELOAD, EXTEST, INTEST роль DR играет BSR. Как подключены входы и выходы этой параллельной секции - определяется текущей инструкцией, как интерпретировать события Capture-DR и Update-DR - тоже определяется инструкцией.

2 hours ago, flammmable said:

По щелчку Update-IR микросхема еще не в курсе, что вот-вот перейдет в режим EXTEST. Следовательно по самому Update-IR это вряд ли произойдет.

 

Именно в момент Update-IR чип становится "в курсе" того, какую инструкцию с этого мгновения ему надлежит выполнять. И именно с этого момента он начинает это делать.

2 hours ago, flammmable said:

В какой момент неопределенные данные из BSR сбросятся на пины?

 

Команда EXTEST задает режим коммутации сигналов между BSR, external pins and internal system logic, а именно - делает так, например, что внешние выходы корпуса чипа теперь подключены к выходам определенных разрядов параллельной секции BSR, входы - к определенным входам регистров в BSR и т.п. Этот режим становится действительным по спаду TCK в состоянии Update-IR. Т.е. почти сразу после этого момента, лишь с задержкой распространения сигнала tCQ + tOUT (суммарно это не более 1 нс), состояние параллельной секции регистра BSR (уж какое оно там сложилось к этому моменту) появляется на соответствующем выходе чипа.

Вот поэтому и надо, чтобы это самое состояние было не абы каким, а ровно тем, какое надо. И поможет нам в этом PRELOAD (в очень старых чипах это была отдельная инструкция) или ее комбинированный с командой SAMPLE вариант SAMPLE/PRELOAD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...