flammmable 4 29 июня, 2021 Опубликовано 29 июня, 2021 (изменено) · Жалоба В чем различие команд EXTEST и SAMPLE/PRELOAD интерфейса JTAG? Я читал здесь, здесь и здесь. Из текстов я понял, что: EXTEST устанавливает логические значения, что позволяет тестировать микросхему и соединения, а SAMPLE устанавливает логические значения, что позволяет тестировать микросхему и соединения. Т.е. "сегодня ты читаешь Двач, а завтра ты читаешь Двач". В чем разница между этими режимами? Изменено 29 июня, 2021 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 29 июня, 2021 Опубликовано 29 июня, 2021 · Жалоба 5 hours ago, flammmable said: В чем различие команд EXTEST и SAMPLE/PRELOAD интерфейса JTAG? SAMPLE/PRELOAD используется: его SAMPLE часть функционала: для неразрушающего снятия отсчетов всех сигналов (и входов чипа, и его выходов) по фронту TCK в Capture-DR state; его PRELOAD часть: для подготовки начальных, инициализационных значений регистров для использования в последующей команде EXTEST или INTEST (иначе сразу после переключения на одну из этих команд соответствующие сигналы будут в неизвестном состоянии). Загрузка происходит по спаду TCK в Update-DR state. EXTEST используется для тестирования внешней по отношению к данному чипу системы, и в этом режиме внутренняя системная логика чипа полностью изолируется от внешних пинов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 29 июня, 2021 Опубликовано 29 июня, 2021 · Жалоба 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? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 29 июня, 2021 Опубликовано 29 июня, 2021 · Жалоба 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 - там такой же подход, но для тестирования уже внутренней системной логики чипа). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 29 июня, 2021 Опубликовано 29 июня, 2021 (изменено) · Жалоба 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? Изменено 29 июня, 2021 пользователем flammmable Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 29 июня, 2021 Опубликовано 29 июня, 2021 · Жалоба 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. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
flammmable 4 30 июня, 2021 Опубликовано 30 июня, 2021 · Жалоба 16 hours ago, Raven said: Да нет же. Все проще. Божественно! Большое спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться