1 / 24

دانشگاه صنعتي اصفهان دانشكده برق وكامپيوتر تست مدارها ي ديجيتال با روش JTAG

دانشگاه صنعتي اصفهان دانشكده برق وكامپيوتر تست مدارها ي ديجيتال با روش JTAG سميناردرس سيستمها ي مطمئن علي بهلولي زفره استاد درس دكتر مازيار پالهنگ اسفند 1381. ذ. عناوين اصل ي. 1) مقدمه. 2) JTAG چيست؟. 3) معمار ي پ ي ما ي ش مرز ي. 4) مدار کنترل ي مورد ن ي از. 5) زبان BSDL.

Download Presentation

دانشگاه صنعتي اصفهان دانشكده برق وكامپيوتر تست مدارها ي ديجيتال با روش JTAG

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. دانشگاه صنعتي اصفهان دانشكده برق وكامپيوتر تست مدارهاي ديجيتال با روش JTAG سميناردرس سيستمهاي مطمئن علي بهلولي زفره استاد درس دكتر مازيار پالهنگ اسفند 1381 ذ

  2. عناوين اصلي 1) مقدمه 2) JTAG چيست؟ 3) معماري پيمايش مرزي 4) مدار کنترلي مورد نياز 5)زبان BSDL 6) مصارف ديگر روش JTAG

  3. مقدمه • امروزه تجهيزات الکترونيکي که مورد استفاده روز مره قرار مي گيرند در حال کوچک شدن هستند.با افزايش حجم مدارات الکتروتيکي و نياز به بوردهاي چند لايه و همچنين متمرکز کردن مدارات بر روييک تراشه ، ديگر امکان دسترسي به پايه هاي تراشه ها يا تست به روش “Bed of Nails” غير ممکن شده است. • سير صعودي استفاده از قطعات کوچک که در دو طرف بردهاي PCB استفاده مي شوند باعث شده که تست اين بردها و برنامه ريزي آنها براي مهندسان مشکل شود. • علاوه بر کوچک شدن قطعات ، افزايش سرعت بردهاي ديجيتال باعث شده است که روشهاي تست سنتي غير ممکن شود. • بنابرين براي حل اين مشکلات بايد روشي جهت تست اين مدارها انديشيده شود. • مشخصاتي که اين روشها بايد داشته باشند عبارتند از: • - داراي کمترين بالا سري باشند • -کم هزينه باشند • -قابل گسترش باشند

  4. همکاري شرکتهاي بين المللي جهت ارايه راه حل Joint Test Action Group JTAG در سال 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. BSC Internal Logic مدارهايي که بايد در ورودي و خروجي اضافه شوند پايه هاي ورودي پايه هاي خروجي مدار کنترل نحوه چينش سلولهاي تست در يک تراشه

  7. Scan out MUX System Logic Signal In MUX Scan in سيگنالهاي کنترلي ساختار داخلي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. Test-logic-reset 1 0 1 1 1 Run-test/Idle Select IR-scan Select DR-scan 0 0 0 1 Capture IR Capture DR 1 0 0 0 0 Shift IR Shift DR 1 1 Exit1-IR Exit1-DR 1 0 0 Pause IR Pause DR 0 0 1 1 0 Exit2-IR Exit2-DR 1 1 Update IR Update DR 1 0 1 0 ماشين حالت 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. IC#2 IC#1 TDI TDO TDI TDO IC#3 IC#4 BYPAS TDO TDI TDO TDI دستوالعملهاي اصليTAP در استاندارد 1149.1 حداقل 3 دستور زير بايد وجود داشته باشند ، شرکت سازنده مي تواند علاوه بر اين دستورات دستورات ديگري نيز در موقع طراحي در نظر بگيرد. 1- BYPASS: اين دستور باعث مي شود که TDI با يک فليپ فلاپ به TDO وصل شود. از اين دستور در مواقعي استفاده مي شود که چندين تراشه در برد وجود داشته باشند در اين موقع هنگام تست يکي از آنها بقيه بايد به صورت Bypass باشند. به عنوان مثال در شکل روبرو براي تست IC#3 ، بقيه تراشه ها بايد در حالت bypass باشند.

  16. Internal Logic پايه هاي ورودي پايه هاي خروجي TDO دستوالعملهاي اصليTAP 2- Sample/Preload: زماني که چنين دستوري صادر شده باشد، در مرحله Capture DR باعث مي شود که رجيستر DR داده جاري را درون خود لود کند. سپس در مرحله Shift-DR اين داده به بيرون شيفت داده مي شوند و داده جديد نيز از طريق TDI وارد مي شوند.

  17. Read Data Write Data IC#1 IC#1 TDI TDO TMS TCK دستورات اصلي 3- EXTEST:(External Test ) اين دستورالمل مانع از انجام کار عادي دستگاه مي شود. هنگامي که اين دستور درون IR قرار مي گيرد در مرحله Update IR سبب مي شود که داده ها ي درون لچ در خروجي قرار گيرند. زماني که اين دستور اجرا مي شود در مرحله Capture Data سبب مي شود که داده ها درون DR قرار گيرند و در مرحله Shift DR اين داده ها به بيرون منتقل شوند. در اين روش مي توان از اتصال فيزيکي دو تراشه اطينان حاصل کرد

  18. Version(4Bits) Part Number(16Bits) 1 Manufacture ID(11Bits) دستورات قابل تعريف توسط شرکت سازنده دستورات اختياري عبارتند از: IDCODE: يک رجيستر 32 بيتي در داخل تراشه قرار مي گيرد که حاوي اطلاعاتي نظير کد شرکت سازنده ، شماره قطعه و نسخه آن است. در صورت صدور چنين فرماني مي توان اين عدد 32 بيتي را از طريق TDO خواند.

  19. دستورات قابل تعريف توسط شرکت سازنده USERCODE: براي ساختن ساختارهاي خاص براي تست مي باشد. همانطور که گفته شد اين رجيستر نيز به دلخواه شرکت سازنده قرار مي گيرد و از مثالهاي کاربردي آن مي توان BIST را نام برد. RUNBIST و INTEST:( Internal Test ) با اين دستور مي توان يک سري تستهاي داخلي انجام داد. الگوهاي تست توسط شرکت سازنده در درون تراشه قرار گرفته است . و با توجه به کاتالوگهاي شرکت سازنده بايد از صحت انجام اين تستها مطمئن شد.

  20. .[1,5] BSDL • همانطور که گفته شد در طراحي کنترل کننده TAP تنها تعدادي از دستورات جنبه عمومي دارند و بقيه بر حسب نياز شرکتهاي سازنده طراحي مي شوند ، براي جلوگيري از بوجود آمدن هرج و مرج زبان BSDL طراحي شد تا استانداردي براي توصيف پيمايش مرزي هر تراشه باشد. در اين حالت براي هر تراشه فايلي با پسوند BSD ساخته مي شود که در آن مشخصات سخت افزار استفاده شده برايBoundary scan آمده است همچنين طول رجيستر IR و DR وIDCODE آورده شده است. بنابرين نرم افزاري که براي تست برد استفاده مي شود براي استخراج کردن مشخصات تراشه هاي استفاده شده در برد، فايل آنها را آناليز مي کند وخود را با آنها تطبيق مي دهد. • اين زبان زير مجموعه اي از زبان توصيف سخت افزار VHDL است.

  21. کابل [2] JTAG • کامپيوترهايPC از طريق کابلي با 6 رشته سيم با تراشه هايي که طبق استاندارد JTAG هستند ارتباط برقرار مي کنند. به اين کابل ، کابل JTAG گفته مي شود. اين کابل داراييک بافر است که تغذيه اين بافر از طريق دو رشته سيم همين کابل تامين مي شود. 4 رشته ديگر TCK, TDI,TDO,TMS هستند. • انواع مختلفي از اين کابلها در بازار موجودند.که عمده آنها از نوع موازييا سريال يا USB هستند. • برنامه هاي نوشته شده توسط شرکتهاي سازنده از اين کابل جهت ارتباط با تراشه هاي روي برد استفاده مي کنند.

  22. مصارف ديگر روش [2] JTAG • روش JTAG ابتدا براي تست مدارهاي ديجيتال بوجود آمد. در اين روش چون به تمام پينهاييک تراشه به صورت مجازي مي توان دسترسي داشت بنابرين مي توان براي برنامه ريزي تراشه نيز استفاده شود. • امروزه روش JTAG به عنوان استانداردي برايProgram کردن انواع تراشه هايPROM، CPLDها و FPGAها تبديل شده است.

  23. مراجع [1] IEEE std 1194.1-1990,IEEE standard Test Access port and boundary scan architecture [2] Data source Xilinx CD,xapp017.pdf, jtag programmer help [3] www.oki-europe.de/1.Products/ASIC/APPNOTES/Jtag.pdf [4] Texas instrument ,scan educator demo program [5] http://www.fm.vslib.cz/~kes/bs/bsdl.pdf

  24. پايان

More Related