Loading AI tools
З Вікіпедії, вільної енциклопедії
Граничне сканування (англ. Boundary Scan) — це метод тестування друкованих плат або груп елементів у мікросхемах. Граничне сканування також є популярним методом відлагодження, за допомогою якого можна спостерігати за станом контактів мікросхем.[1]
Було запропоновано об'єднати цю статтю або розділ з Периферійне сканування, але, можливо, це варто додатково обговорити. Пропозиція з червня 2016. |
З середини 70-х років структурне тестування друкованих плат ґрунтувалося на фізичному доступі до пристроїв та міжз'єднань на платі за допомогою так званого «ложа з цвяхів». З розвитком технології виготовлення друкованих плат, стали зменшуватися відстані між сусідніми мідними доріжками - стало більш ризиковано кожен раз класти плату на цвяхи. З'явилися двосторонні плати, і інженерам довелося прикладати цвяхи з двох сторін. Питання про фізичному доступі було вичерпано з появою багатошарових друкованих плат.
З такими проблемами зіткнулися в середині 80-х більшість виробників.
Для пошуку можливих рішень була створена група JTAG (Joint Test Action Group), яка за допомогою 200 провідних фірм протягом 5 років розробила стандарт Boundary Scan IEEE 1149.1 (IEEE - Institute of Electrical and Electronic Engineers).
В основу методу покладено концепцію розміщення послідовного зсувного регістра по межах пристрою. Причому, самі комірки такого регістра розташовуються безпосередньо між первинними входами/виходами пристрою і логічним ядром. Таким чином, у пристрій буде додано 4 контакти:
Сутність механізму сканування схожа з методом Scan Path. Однак, є суттєві відмінності. По-перше, логіка ядра може бути будь-якою, в тому числі містити послідовні структури (не потрібно розбивати пристрій на комбінаційну частину та пам'ять). По-друге, осередки сканування розташовуються як перед, так і після логіки.
Кілька пристроїв на платі можуть бути об'єднані в єдиний послідовний шлях сканування. Це можна зробити шляхом з'єднання TDO з TDI наступного пристрою. Таким чином, на платі з'являються також 4 додаткових виходи: TDI і TDO, і спільні для всіх пристроїв TCK і TMS.
Таким чином, технологія граничного сканування при відносно невеликих апаратних витратах дозволила реалізувати щось на кшталт «віртуальних цвяхів», що забезпечує не тільки 100% спостережуваність, але й 100% керованість входів/виходів пристроїв.
Сам пристрій, що реалізує необхідні функції, поміщається в обрамлення з тестової логіки, яку складають:
Тестова логіка надає можливість вибирати шлях проходження даних від TDI до TDO: або через регістр команд (Instruction Register), або через регістр даних (Data Register). Регістром даних в кожен момент часу може бути один з наступних регістрів:
Елементи граничного сканування (Boundary-Scan cells) поділяються на два типи: вхідні (розміщуються на тих первинних входах пристрою, де час критичний - наприклад, на вході синхронізації) і звичайні.
Сигнал проходить по лінії даних без затримок. Однак, там де це можливо на вхідних лініях, а також на всіх вихідних лініях розташовують звичайні елементи.
Розглядуваний елемент складається з двох D-тригерів, які працюють за прямим фронтом, двох мультиплексорів "2-в-1", чотирьох входів і двох виходів. Призначення структурних елементів схеми:
Нижче наведена таблиця режимів функціонування осередку:
Режим | ShiftDR | Mode | Функціонування |
---|---|---|---|
NORMAL | - | 0 | PI → PO |
CAPTURE | 0 | - | PI → SO по фронту на ClockDR |
SHIFT | 1 | - | SI → SO по фронту на ClockDR |
UPDATE | - | 1 | SO → PO по фронту на UpdateDR |
Шлях сканування TDI → SI1 → SO1 → ... → SOi-1 → SIi → SOi → SIi + 1 → ... → TDO фізично не перетинається з лініями даних PI → PO елементів граничного сканування. Таким чином, регістр граничного сканування є "прозорим" для самого пристрою. Для здійснення операцій сканування відсутня необхідність перемикатися в спеціальний тестовий режим. Вплив тестової логіки на функціонування пристрою зведено до мінімуму. На вхідних лініях затримка проходження сигналу може бути відсутньою взагалі, а на вихідних - дорівнює затримці вихідного мультиплексора (Output Mux).
Внутрішній регістр (Internal register), передбачений розробником пристрою, наприклад, для зберігання результуючої сигнатури перевірки пристрою, якщо в ньому реалізовані засоби вбудованого самотестування.
Регістр обходу (Bypass register) - простий, але дуже важливий елемент в даній архітектурі. Він створює найкоротший шлях між TDI і TDO, не зачіпаючи при цьому всі інші регістри. Необхідність такого регістра зумовлена раніше обговоренною можливістю з'єднання декількох пристроїв в послідовний шлях сканування. Якщо нам необхідно мати доступ не до всіх, а тільки до деяких пристроїв в ланцюжку, то інші пристрої встановлюються в режим Bypass, утворюючи мінімальні затримки проходження сканованих даних. Bypass register складається з одного мультиплексора "2 в 1" і одного D-тригера, синхронізованого переднім фронтом. Відсутній паралельний вихід даних (в зв'язку з чим, сигнал Update_DR відсутній в схемі), але є деяка особливість з операцією Capture - в регістр може записуватися апаратно реалізоване значення 0 (тобто проводиться захоплення значення 0).
Регістр ідентифікації (Identification register) - необов'язковий 32-битий регістр з режимами збору даних і зсуву (рис. 10.13). 32 біта ідентифікують пристрій через наступні поля:
Регістр команд (Instruction Register) складається з власне зсувного регістру, деякої декодуючої логіки (в залежності від кількості і типів реалізовуваних команд) та секції зберігання декодованої команди, одразу після надходження в яку команда переходить до виконання. Стандарт IEEE 1149.1, по-перше, прописує, що є тільки 3 обов'язкові команди, необхідні для функціонування апарату Boundary-Scan, а всі інші є необов'язковими (додатковими), по-друге, обов'язкові та додаткові команди в стандарті описуються тільки функціонально, а їх реалізація на апаратному рівні залишена повністю на розсуд розробника. Останнє, до речі, відноситься до всього тестового обрамлення пристрою.
Наступні три команди повинні обов'язково бути реалізовані тестової логікою:
TAP контролер (TAP controller) - незвичайний автомат. Він має вхід синхронізації TCK, вхід даних TMS та 16 внутрішніх станів. Також він має 9 виходів (3 - для управління регістром команд, 4 - для управління регістром даних і 2 - загального призначення). Причому перехід в якийсь стан активізується послідовністю двійкових сигналів на вході TMS.
Розглянемо приклад використання архітектури Boundary-Scan для тестування міжз'єднань. Нехай дана схема з 3-х пристроїв з BS-архітектурою, необхідно протестувати цілісність ліній між 2-м і 3-м пристроями. Послідовність дій складається з 3-х етапів:
Хоча EXTEST дозволяє проводити тестування без залучення яких би то додаткових команд, найчастіше вона використовується спільно з SAMPLE/PRELOAD, яка виконує роль команди, що завантажує інформацію в регістр сканування (в режимах Shift (SI→SO) або Capture (PI→SO)).
Слід зауважити, що перш ніж тестувати систему, необхідно перевірити справність тестера, тобто цілісність регістра зсуву та інших регістрів даних.
Необхідно розуміти, що Boundary-Scan є новим підходом до тестування систем в тому сенсі, що з розвитком технології надійність пристроїв стала набагато вищою, ніж надійність з'єднань між ними. Тому основним завданням такої архітектури, відповідно до стандарту IEEE 1149.1 є тестування міжз'єднань (перевірка наявності, розміщення і зв'язку з'єднаних компонентів, а також виявлення обривів з'єднань та замикань між пристроями).
Переваги технології Boundary-Scan:
Стандарт IEEE 1149.1 прийнятий в 1990 році, а його вдосконалена версія IEEE 1149.1а - в 1993. У стандарт IEEE 1149.1 входить BSDL - Boundary Scan Description Language - мова опису організації та архітектури граничного сканування в рамках одиничної ВІС. Він побудований як підмножина мови VHDL. Одним з основних завдань, що покладаються на мову, є створенням програмних засобів, що автоматизують процес створення тестів. HSDL - Hierarchical Scan Description Language (розробка фірми Texas Instrument) - мова, орієнтована на опис потоків в групі ВІС, об'єднаних JTAG інтерфейсом. HSDL є розширенням мови BSDL, повністю з ним сумісним, входить до складу стандарту IEEE 1149.1а і побудований як підмножина мови VHDL.
Стандарт описує пристрій з наступними входами/виходами:
Група розробників даного стандарту була сформована в 1991 році, через рік після опублікування стандарту 1149.1. Їх мета - зробити можливим доступ до аналогових виходів змішаних (аналогово-цифрових) схем для того, щоб:
У цифровому режимі, іменованому Dot 1 mode, ABM - аналогові елементи регістра граничного сканування приєднуються до аналогових входів і виходів. При подачі тестової послідовності на тестовий вхід TDI АВМ працюють в цифровому режимі. Вони пов'язані і разом приєднуються до цифрових елементів регістра граничного сканування (DBM), що підтримує стандарт IEEE 1149.1, для формування єдиного граничного регістра сканування, який оточує весь чип. У цьому випадку команда EXTEST (сканування міжз'єднань) працює як зазвичай, і використовує виходи АВМ для завдання цифрових сигналів впливу, а входи АВМ для захоплення результатів тестування.
В аналоговому режимі (Analog mode), можливо транспортувати аналогові тестові сигнали впливу (змінний/послідовний струм або напруга) з одного з двох зовнішніх виходів АТ1 на аналоговий вихід АВМ, і до приєднаних аналогових пристроїв. Реакції, що надходять на аналоговий вхід АВМ, можна просунути на інший зовнішній вихід АТ2, і далі через інші пристрої до зовнішнього вимірювального приладу. Таким чином можна відстежувати наявність, розміщення і зв'язок аналогових компонентів на платі.
На рівні плати АТ1 і АТ2 представлені, як 2-х провідникова аналогова шина.
По суті, стандарт 1149.4 можна розглядати як розширення (на 2 виходи) 1149.1 стандарту, що дозволяє пристосувати команду EXTEST до аналогових виходів, а також дає можливість виробляти додаткові аналогові вимірювання. В обох випадках метою експерименту є відстеження наявності, розміщення та зв'язку з'єднаних компонентів на платі, а також обривів і замикань на 1149.4-пристроях і, можливо, на приєднаних пристроях.
Стандарт IEEE 1149.4 Mixed-Signal Test Bus Standard був затверджений в липні 1999 року.
Стандарт описує пристрій для тестування вбудованих ядер, щи складається з наступних частин:
Система на кристалі (SOC - System-On-Chip або SOPC - System-On-Programmable-Chip або PSOC - Programmable System-On-Chip). Це пристрій з шинної структурою, що містить деяку кількість ядер - розроблених виробниками (legacy cores) або запозичених у зовнішніх постачальників (віртуальні компоненти - IP (Intellectual Property) cores), або й ті й інші - і яке також містить вбудовану пам'ять разом з визначеною користувачем сполучною логікою. Ядра можуть бути: «м'якими» («soft») - вбудовуваними та змінними; «твердими» («firm») - підключеними до вентилів, але все ж змінними; і «жорсткими» («hard») - зашитими в кристал (не вбудовується), що реалізують блоки, отримані методами проектування замовних схем.
Тестування таких пристроїв - «страхіття», якщо не подбати про забезпечення тестопригодності. Останнім часом проектувальники складних замовних мікропроцесорів (попередників SOC) використовували різноманітні структурні та ad hoc підходи для забезпечення тестопріодності, але такий неструктурований підхід не підходить для проектування спеціалізованих інтегральних схем, поза мікропроцесорної індустрії. Тому був потрібний більш структурований підхід до забезпечення SOC тестопригодності, і в 1995 році група розробників стандарту IEEE Р1500 заявила про цю проблему. Головне завдання розробників - визначення стандартних тестових структур, які могли б бути об'єднані в стандартних будівельних блоках SOC (ядра, пам'ять), щоб забезпечувати:
До того ж забезпечення стандартного опису тестів для ядер, тобто забезпечення тесту для ядер мовою опису.
У певному сенсі SOC-тестування аналогічно граничному тестуванню плат - «перевірка наявності, розміщення і зв'язку з'єднаних компонентів, а також виявлення обривів з'єднань та замикань між пристроями». Для SOC рівня слово «пристрій» замінюється словами «проектувальний модуль» або «ядро». Тобто можна адаптувати метод граничного сканування (IEEE 1149.1) для вирішення проблем тестування SOC. Однак, існує важлива відмінність.
На рівні плати, ми можемо робити припущення, що пристрій, встановлений на ній протестовано окремо перед встановленням, і немає необхідності перевіряти його працездатність з використанням засобів граничного сканування. У мові IEEE 1149.1 стандарту команда INTEST є необов'язковою.
На SOC рівні це припущення не вірно. Навіть модуль «жорсткого» ядра є «м'яким», поки нарощування кристала не завершено. Це означає, що будь-яка додаткова тестова структура повинна передбачати функціональну перевірку модуля нарівні з структурною (перевірку виробничого дефекту). Команда INTEST (для тестування функціонування) обов'язкова, так як ядра необхідно протестувати після їх додавання на кристал.
Тому група розробників стандарту IEEE Р1500 запропонувала багаторівневі структури граничного сканування дуже схожі на IEEE 1149.1 структури. Ці структури називаються wrappers (дослівно - обгортки) і підтримують внутрішньо- та зовнішньо-ядерні функції тестування, реалізовані за допомогою механізму тестового доступу (TAM - Test Access Mechanism). Сам TAM точно не визначений стандартом, але спосіб визначення тестів специфікований (детально викладений). Загалом, тести це комбінації векторів і протоколів (правил їх проходження). Рекомендується також використовувати інший стандарт для побудови тестів - IEEE 1450 Standard Test Interface Language (STIL) - (стандартна мова тестового інтерфейсу). Стандарт STIL був затверджений в 1999 році. Він присвячений проблемі проміжного формату для тестів, згенерованих за допомогою засобів автоматичної генерації тестових наборів, наприклад, для тестів, які повинні транспортуватися через середовище ATE (Automatic Test Equipment - автоматичне випробувальне обладнання).
IEEE Р1500 Стандарт Standard for Embedded Core Test збиралися прийняти в 2000.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.