بخشی از پاورپوینت
اسلاید 2 :
عناوين اصلي
1) مقدمه
5) زبان BSDL
4) مدار کنترلي مورد نياز
3) معماري پيمايش مرزي
2) JTAG چيست؟
6) مصارف ديگر روش JTAG
اسلاید 3 :
مقدمه
امروزه تجهيزات الکترونيکي که مورد استفاده روز مره قرار مي گيرند در حال کوچک شدن هستند. با افزايش حجم مدارات الکتروتيکي و نياز به بوردهاي چند لايه و همچنين متمرکز کردن مدارات بر روي يک تراشه ، ديگر امکان دسترسي به پايه هاي تراشه ها يا تست به روش “Bed of Nails” غير ممکن شده است.
سير صعودي استفاده از قطعات کوچک که در دو طرف بردهاي PCB استفاده مي شوند باعث شده که تست اين بردها و برنامه ريزي آنها براي مهندسان مشکل شود.
علاوه بر کوچک شدن قطعات ، افزايش سرعت بردهاي ديجيتال باعث شده است که روشهاي تست سنتي غير ممکن شود.
بنابرين براي حل اين مشکلات بايد روشي جهت تست اين مدارها انديشيده شود.
مشخصاتي که اين روشها بايد داشته باشند عبارتند از:
- داراي کمترين بالا سري باشند
-کم هزينه باشند
-قابل گسترش باشند
اسلاید 4 :
همکاري شرکتهاي بين المللي جهت ارايه راه حل
JTAG
Joint Test Action Group
در سال 1985 گروهي از شرکتهاي بزرگ ساخت آي سي(Joint Test Action Group ) روشي کم هزينه براي تست معرفي کردند.
اين روش در سا ل1990 توسط IEEE به استانداردي تحت عنوان IEEE std 1149.1 معرفي شد.
طبق اين استاندارد شرکتهاي سازنده ابزارهاي الکترونيکي مي بايست مدارهايي را در ورودي و خروجي هاي آي سي ها به منظور تست نعبيه کنند
علاوه بر اين بايد مداري براي کنترل اين قسمت در نظر گرفته شود.
اسلاید 5 :
ساختار روش ارايه شده توسط گروه JTAG
در قسمت قبل گفته شد که کارخانه هاي ساخت ابزارهاي الکترونيکي بايد مدارهايي را در ورودي و خروجي هر تراشه تعبيه کنند.
اين مدار که بين پايه هاي تراشه و مدار داخلي قرار ميگبرد را سلول ميناميم. اين سلولها به يکديگر متصلند و از طريق مدار کنترل از بيرون قابل دسترسي هستند.
JTAG هر کدام از اين سلولها را ،BSC ( Boundary Scan Cell )ناميد و از روش پيمايش مرزي( Boundary Scan ) براي تست استفاده کرد.
روش پيمايش مرزي توسط IEEE استاندارد شده است و زباني براي توصيف آن به نامBSDL Boundary Scan Description Language)) پايه گذاري شده است. در ادامه به تشريح اين مطلب پرداخته مي شود.
اسلاید 6 :
نحوه چينش سلولهاي تست در يک تراشه
اسلاید 7 :
ساختار داخلي BSC
هر سلول داراي 4 ورودي ، خروجي اصلي و تعدادي سيگنال کنترلي است.
هر سلول با سلولهاي مجاورش ارتباط دارد
سلولها پايه هاي تراشه را به مدار داخلي آن متصل مي کنند.
اسلاید 8 :
ارتباط TAP با دنياي خارج
سلولها به صورت سريال به يكديگر متصلند و تشکيل يک شيفت رجيستر مي دهند. اين شيفت رجيستر
Data Register (DR ) ناميده مي شود.
توسط DR تمام پايه هاي ورودي ، خروجي به صورت مجازي قابل دسترسي هستند به همين دليل به آنها Virtual Nail نيز گفته مي شوند.
اين شيفت رجيستر توسط کنترلري به نام Test Access Port (TAP )كنترل مي شود.
ا TAP با دنياي خارج توسط 4 پين اصلی زير در ارتباط است:
-TCK (Test Clk ): اين پايه فراهم کننده کلاک براي TAP است.
-TMS(Test Mode Select ) : ترتيب اجراي دستورات در TAP controller بوسيله وضعيت اين پايه در لبه
بالا رونده TCK تعيين مي شود، اين پايه داراي يک pull up خارجي است.
-TDI : ( Test Data In ): اين پايه يک ورودي سريال براي TAP است که به کمک آن مي توان به TAP فرمان داد که چه دستوري را انجام دهد ، همچنين از اين پايه براي مقدار دادن به پايه هاي ورودي يا خروجي تراشه مي توان استفاده کرد.
-TDO ( Test Data Out ) :اين پايه يک خروجي سريال براي TAP است وضعيت اين پايه توسط TMS و IR تعيين مي شود.در مواقعي که به TDO نيازي نيست خروجي آن Hi Z مي شود.اين پايه pull up داخلي است.
-
اسلاید 9 :
نحوه کار TAP
وظيفه TAP اين است که با توجه با سيگنالهاي کنترلي TMS و TCK سيگنالهاي کنترلي براي سلول ها بفرستد
اسلاید 10 :
ماشين حالت TAP
کنترل پيمايش مرزي بوسيله يک ماشين حالت انجام مي شود. اين ماشين حالت داراي 16 state است.
اسلاید 11 :
ماشين حالت TAP
جهت حرکت در اين ماشين حالت بوسيله وضعيت پايه TMS تعيين مي شود. در لبه بالا روندهTCK از وضعيت TMS نمونه برداري مي شود و با توجه به آن State بعدي مشخص مي شود.
اين ماشين حالت داراي دو ستون اصلي مي باشد که يکي براي شيفت دادن داده به درون DR استفاده مي شود و ديگري براي شيفت دادن يک دستورالعمل به درون Instruction Register استفاده مي شود.
توضيحات هر کدام از اين حالتها به شرح زير است:
Test-logic-reset:
در اين state ، پيمايش مرزي متوقف مي شود و تراشه کار عادي خود را انجام مي دهد. اگر TMS حداقل براي 5، CLK در سطح High باشد به اين حالت وارد مي شويم
Run-test/Idle:
در اين مرحله اگر دستورالعمل مربوط به تست داخلي يا گرفتن ID code باشد ، اجرا خواهد شد
Select-DR-Scan:
اين حالت يک حالت موقت براي رفتن به مرحله capture data است.
اسلاید 12 :
ماشين حالت TAP
Capture Data:
در اين مرحله داده ها از پينهاي ورودي و خروجي به صورت موازي درون شيفت رجيستر DR منتقل مي شوند.
Shift DR:
در اين مرحله با توجه به اينکه چه دستورالعملي داخل رجيستر IR باشد. محتواي شيفت رجيستر DR از طريق TDO به صورت سريال به بيرون منتقل مي شود يا بيتهاي وارد شده توسط TDI وارد شيفت رجيستر مي گردند.
Exit1-DR,Exit2-DR:
اين دو State، حالتهاي موقت هستند که اگر TMS ، High نگه داشته شوند عمل اسکن متوقف مي شود.
Pause-DR:
در اين مرحله عمل اسکن موقتا متوقف مي شود و به باس اصلي اجازه داده مي شود که دوباره بارگيري کند.
Update DR:
در اين مرحله محتويات رجيستر DR درون لچ مرحله بعد قرار مي گيرد. و زماني که فرماني براي مقدار گرفتن پينهاي ورودي يا خروجي صادر مي شود اين مقادير منتقل مي شوند.
اسلاید 13 :
ماشين حالت TAP
Select IR Scan:
يک مرحله موقت براي رفتن به State ، Capture IR.
Capture IR:
در اين مرحله يک مقدار ثابت درون IR قرار مي گيرد.
Shift IR:
در لبه بالا رونده TCK، داده قرارگرفته در TDI به درون رجيستر IR شيفت داده مي شود همچنين دستورالعمل قبلي از TDO خارج مي شود.
Exit1IR,Exit2IR:
اگر TMS را high کنيم از حالت اسکن خارج مي شويم.
Pause-IR:
اين مرحله باعث مي شود که عمل اسکن را موقتا متوقف کرده و به باس اصلي اجازه دهد که داده بارگيري شود.
اسلاید 14 :
ماشين حالت TAP
Update-IR:
در اين مرحله دستورالعمل که در IR قرار گرفته شده در لچ خروجي قرار مي گيرد و دستور العمل جديد به حساب مي آيد.
در مرحله شيفت مي توان دستورالعمل را از طريق TDO خارج کرد و به طور همزمان نيز از طريق TDI دستور جديد وارد شود.
در هر لبه بالا رونده TCK داده از TDI برداشته مي شود و در لبه پايين رونده داده روي TDO قرار مي گيرد.
مرحله شيفت آنقدر تکرار مي شود تا زماني که تمام بيتهاي دستورالعمل وارد شود. بعد از وارد شدن آخرين بيت در لبه بالا رونده TCK وارد مرحله Exit1 مي شويم و به مرحله Update مي رويم تا دستورالعمل جديد لچ شود.
اين اتفاق در لبه پايين رونده TCK انجام مي شود.تعداد بيتهاي IR ، مينيمم ، دو بيت مي باشد.
اسلاید 15 :
دستوالعملهاي اصلي TAP
در استاندارد 1149.1 حداقل 3 دستور زير بايد وجود داشته باشند ، شرکت سازنده مي تواند علاوه بر اين دستورات دستورات ديگري نيز در موقع طراحي در نظر بگيرد.
1- BYPASS:
اين دستور باعث مي شود که TDI با يک فليپ فلاپ به TDO وصل شود. از اين دستور در مواقعي استفاده مي شود که چندين تراشه در برد وجود داشته باشند در اين موقع هنگام تست يکي از آنها بقيه بايد به صورت Bypass باشند.
به عنوان مثال در شکل روبرو براي تست IC#3 ، بقيه
تراشه ها بايد در حالت bypass باشند.
اسلاید 16 :
دستوالعملهاي اصلي TAP
2- Sample/Preload:
زماني که چنين دستوري صادر شده باشد، در مرحله Capture DR باعث مي شود که رجيستر DR داده جاري را درون خود لود کند. سپس در مرحله Shift-DR اين داده به بيرون شيفت داده مي شوند و داده جديد نيز از طريق TDI وارد مي شوند.
اسلاید 17 :
دستورات اصلي
3- EXTEST:(External Test )
اين دستورالمل مانع از انجام کار عادي دستگاه مي شود. هنگامي که اين دستور درون IR قرار مي گيرد در مرحله Update IR سبب مي شود که داده ها ي درون لچ در خروجي قرار گيرند. زماني که اين دستور اجرا مي شود در مرحله Capture Data سبب مي شود که داده ها درون DR قرار گيرند و در مرحله Shift DR اين داده ها به بيرون منتقل شوند. در اين روش مي توان از اتصال فيزيکي دو تراشه اطينان حاصل کرد
اسلاید 18 :
دستورات قابل تعريف توسط شرکت سازنده
دستورات اختياري عبارتند از:
IDCODE:
يک رجيستر 32 بيتي در داخل تراشه قرار مي گيرد که حاوي اطلاعاتي نظير کد شرکت سازنده ، شماره قطعه و نسخه آن است. در صورت صدور چنين فرماني مي توان اين عدد 32 بيتي را از طريق TDO خواند.
اسلاید 19 :
دستورات قابل تعريف توسط شرکت سازنده
USERCODE:
براي ساختن ساختارهاي خاص براي تست مي باشد. همانطور که گفته شد اين رجيستر نيز به دلخواه شرکت سازنده قرار مي گيرد و از مثالهاي کاربردي آن مي توان BIST را نام برد.
RUNBIST و INTEST:( Internal Test )
با اين دستور مي توان يک سري تستهاي داخلي انجام داد. الگوهاي تست توسط شرکت سازنده در درون تراشه قرار گرفته است . و با توجه به کاتالوگهاي شرکت سازنده بايد از صحت انجام اين تستها مطمئن شد.
اسلاید 20 :
.[1,5] BSDL
همانطور که گفته شد در طراحي کنترل کننده TAP تنها تعدادي از دستورات جنبه عمومي دارند و بقيه بر حسب نياز شرکتهاي سازنده طراحي مي شوند ، براي جلوگيري از بوجود آمدن هرج و مرج زبان BSDL طراحي شد تا استانداردي براي توصيف پيمايش مرزي هر تراشه باشد. در اين حالت براي هر تراشه فايلي با پسوند BSD ساخته مي شود که در آن مشخصات سخت افزار استفاده شده براي Boundary scan آمده است همچنين طول رجيستر IR و DR وIDCODE آورده شده است. بنابرين نرم افزاري که براي تست برد استفاده مي شود براي استخراج کردن مشخصات تراشه هاي استفاده شده در برد، فايل آنها را آناليز مي کند وخود را با آنها تطبيق مي دهد.
اين زبان زير مجموعه اي از زبان توصيف سخت افزار VHDL است.