1 / 31

تولید الگوهای تست test pattern generation

تولید الگوهای تست test pattern generation. دکتر سعادت پورمظفری مسلم دیده بان بهار88. تولید الگویهای تست. تولید تست( test generation ) اشکالی وجود دارد، کدام بردارهای تست آن را مشخص میکنند؟ شبیه سازی اشکال (fault simulation) برای یک بردار تست داده شده، کدام اشکالات قابل تشخیص اند؟. Test

woods
Download Presentation

تولید الگوهای تست test pattern generation

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. تولید الگوهای تست test pattern generation دکتر سعادت پورمظفری مسلم دیده بان بهار88

  2. تولید الگویهای تست • تولید تست(test generation) • اشکالی وجود دارد، کدام بردارهای تست آن را مشخص میکنند؟ • شبیه سازی اشکال(fault simulation) • برای یک بردار تست داده شده، کدام اشکالات قابل تشخیص اند؟ Test vectors (T) Faults (F) Test vectors (T) Faults (F)

  3. تولید الگویهای تست • دسته بندی روش های تولید الگوهای تست: • تست کردن عملیاتی(functional testing) • تمام حالات مختلف ممکن ورودی را به مدار اعمال میکنیم و خروجی را چک میکنیم. • تست کردن ساختاری (Structural testing) • سعی میشود تا کمترین مجموعه تست مورد نیاز برای مشخص کردن اشکالات مدار استفاده شود.

  4. تولید الگویهای تست Est. speedup over D-ALG (normalized to D-ALG time) 1 7 23 292 1574 ATPG System 2189 ATPG System 8765 ATPG System 3005 ATPG System 485 25057 Year 1966 1981 1983 1987 1988 1990 1991 1993 1995 1997 Algorithm D-ALG PODEM FAN TOPS SOCRATES Waicukauski et al. EST TRAN Recursive learning Tafertshofer et al.

  5. تولید خودکار الگوی تستATPG • تولید خودکار الگوی تست(ATPG) فرآیندی میباشد که در آن الگوها برای یک مدار که بصورت دقیق توسط یک نت لیست در سطح منطقی توصیف شده، ایجاد میشوند. • یک اشکال معین را درسیستم در نظر میگیریم. • ورودی ها را طوری انتخاب میکنیم که خروجی بین مدار سالم و مدار خطادار متفاوت شوند. • جبر تولید خودکار الگوی تست (ATPG Algebras) • یک مجموعه نشان گذاری سطح بالای بولی، که مقادیر مدار سالم و خطا دار را باهم نشان میدهد.

  6. جبر تولید خودکار الگوی تست (ATPG Algebras) sa0 sa1 Failing Machine 0 1 0 1 X Symbol D D 0 1 X Good Machine 1 0 0 1 X Meaning 1/0 0/1 0/0 1/1 X/X

  7. D-algorithm • اصطلاحات • Singular cover • D-intersection • Primitive D-cube of a fault (pdf) • Propagation D-cubes (pdc)

  8. Singular cover SC-AND SC-NAND SC-OR SC-NOR • sc : نسخه فشرده شده ی جدول صحت گیت SC-XOR SC-XNOR SC-NOT

  9. D-intersection B A خاصیت جابجایی ندارد. هر چیزی با خودش یا X، خودش میشود.

  10. Primitive D-Cube of Fault (pdf) • اشکال S-a-0 داده شده : • انتخاب سطری با خروجی 1 در SC • اشتراک(D-intersection) سطر انتخابی با (X,X,0) A 0 S-a-0 C B 0 D “X X 0”= “0 0 D” “0 0 1” SC-NOR سطری از SC که خروجی آن یک است، خروجی را D میگذاریم

  11. Primitive D-Cube of Fault (pdf) • اشکال S-a-1 داده شده: • انتخاب سطری با خروجی 0 در SC • اشتراک(D-intersection) سطر انتخابی با (X,X,1) A 1 0 S-a-1 C B 0 1 D D SC-XOR “X X 1”= “1 1 D” “X X 1”= “0 0 D” “1 1 0” “0 0 0” سطری از SC که خروجی آن صفراست، خروجی را D میگذاریم

  12. Primitive D-Cube of Fault (pdf) • مثال های بیشتر: 0 X 1 D X S-a-1 S-a-0 S-a-1 S-a-0 S-a-0 S-a-1 SC-AND SC-OR 0 D 1 X 0 0 D D D D

  13. Propagation D-cubes (pdc) D D D D D D D D D • در SC جستجو میکنیم هر دو سطری که در یک ستون متفاوت بودند را با هم D-intersection میکنیم اگر خروجی Dیا D شود، معتبر است. A B C 0 1 0 1 0 D 1 D D SC-XOR PDC

  14. Propagation D-cubes (pdC) • برای انتقال اشکال از یک ورودی گیت فقط لازم است در جدول SC دوسطر متفاوت از ورودی که میخواهیم اشکال از طریق آن منتشر شود، را بیابیم و از D-intersection آنها PDF حاصل میشود. A C B PDC SC-AND

  15. D-algorithm • D-algorithm در سه مرحله انجام میشود: • یک اشکال را در یکی از نودهای مدار در نظر میگیریم. • اشکال داده شده را با PDF مناسب مدل میکنیم. • از محل وقوع اشکال تا یکی از خروجی های مدار یک مسیر را در نظر گرفته (X-path)، و با استفاده از PDC تاثیر اشکال را تا خروجی انتقال میدهیم(D-drive procedure) • برای سیگنالهای باقی مانده مدار با کمک SC مقدار مشخص میکنیم (justify)و اگر به تناقضی رسیدیم عقبگرد میکنیم (Consistency procedure) در هر مرحله هر انتسابی را در جدولD-cube ذخیره میکنیم و در هنگام عقبگرد از آخر ورودی های جدول را حذف میکنیم و انتخاب را عوض میکنیم.

  16. D-algorithm • Number all circuit lines in increasing level order from PIs to POs; • Select a PDF to be the test cube; • D-drive (); • Consistency (); • return ();

  17. D-algorithm 1 1 X • مثال 0 d f D D D 0 sa0 g 1 1 1 i e h Step 1: PDF step 2: PDC step 3: Justify & Consistency Check

  18. D-algorithm A • اشکالات افزونه در D-algorithm e B g Sa0 f d C Step 1: PDF

  19. D-algorithm A • اشکالات افزونه در D-algorithm e 1 B g Sa0 1 D f D d 0 X C Step 1: PDF step 2: PDC step 3: Justify & Consistency Check Inconsistency in e

  20. Branch and Bound Search Branch:انتخاب 0 یا 1 برای ورودی A Bound: محدودیتهایی که از جستجوی قسمت نامفید درخت، جلوگیری میکنند A B Backtrack C راه حل با انتسابهای B=C=1 A=0 راه حل با انتسابهای A=C=0 B=1 راه حل با انتسابهای A=B=0 راه حل با انتساب A=1

  21. PODEM S-a-0

  22. PODEM • اصطلاحات • Objective: مقداری دهی سیگنالها بطوری که جستجو برای الگوریتم ATPG راحتتر شود • Backtrace: عملیاتی که انجام میدهیم تا مشخص کنیم که کدام ورودیها objective را فعال میکنند • D-frontier: گیتهایی که ورودی DیاD’دارند و خروجی آنها X میباشد • Implication: با ورودیهای معینی که داریم تا میشود سیگنالهای نامعین مدار را تعیین میکنیم • :Backtrackدر PODEM اگر D-frontier خالی باشد یا اگر خروجی مستقل لز اشکال تعیین شود، از Stack یک ورودی را بر میداریم و مقدار آن را برعکس میکنیم

  23. PODEM الگوریتم: • همه ورودیها X • به یکی از ورودی هایی که مقدار معینی ندارد، یک مقدار نسبت میدهیم. با کمک objective و Backtraceسعی میکنیم ورودی مناسب را انتخاب کنیم. • با کمک ورودیهای مشخص شده، سیگنالهای میانی مدار را تا جایی که امکان دارد، تعیین میکنیم(Implication) • اگر الگوی تست تولید شده، تمام. • آیا ممکن است که با تعیین مقادیر سایر ورودی های مشخص نشده، الگوی تست تولید شود؟(امیدی هست؟) اگر ممکنه برو به 2 • برای ورودیهایی که مقداری به آنها منتسب کرده ایم اگر حالت امتحان نشده ای وجود دارد به 2 میرویم و انتساب دیگر را انجام میدهیم(Backtrack)

  24. PODEM Y is constant A 0 1 4 1 1 3 B B 0 0 5 1 1 1 0 Sa1-t D’ 0 1 1 1 2 0 D frontier is empty 7 0 1 0 6 D’ 8 9

  25. PODEM • مانند D-algorithm است ولی در آن لزومی ندارد که تمام ورودی ها و سیگنال ها را مقدار دهی کنیم و فقط به ورودیهای اولیه مقدار میدهیم و باعث میشود که پیچیدگی در بدترین حالت از2all-signal به2PIکاهش پیدا کند • در D-algorithm تصمیم گیری ها به ازای انتخاب از جدول PDC بودند ولی در PODEM تصمیم گیری به ازای انتخاب ورودی و انتساب مقدار به آن داریم • در D-algorithm به علت ناسازگاری Backtrackمیگردیم ولی در PODEM اگر D-frontier خالی شود یا اگر خروجی مستقلاً تعیین شده باشد، Backtrack میکنیم

  26. PODEM g-s-1 0 1 D’ 1 0 Fault g-s-1 is redundant

  27. PODEM e-s-1مثال: c D D fault is redundant B B

  28. PODEM r-s-0 0 1 D D’ 0 1

  29. PODEM fault is redundant S-a-1

  30. FAN • گسترش در PODEM با کمک: • جستجوی درخت تصمیم گیری تا Headlines • استفاده از Multiple objectives • مقدار دهی قطعی به سیگنالهای میانی Immediate implication

  31. FAN D-sa-1 k as a headline Step 6: Objective – sensitize fault. Implication stack – A = 1, E = 0, C = 1, B = 0. Implications – d = D, l = D or D, m = 0, n = D or D. D-frontier – g. D-frontier – g. Step 3: Objective – sensitize fault. Implication stack – A = 1, E = 0, C = 0. Implications – d = D, l = D or D, m = 0, n = D or D. D-frontier – g. Step 7: Objective – propagate fault to k. Implication stack – A = 1, E = 0, C = 1, B = 0, D = 0. Implications – d = D, e = 1, g = D, f = D, h = D, k = 0, l = 0, m = 0, n = 0. D-frontier – φ; D-frontier disappeared, so backtrack. Step 1: Objective – propagate any fault effect from k to n. Implication stack – A = 1. Implications – l = D or D. D-frontier – n. Step 9: Objective – sensitize fault. Implication stack – A = 1, E = 0, C = 1, B = 1. Implications – d = 1, l = D or D, m = 0, n = D or D. D-frontier – −; D-frontier disappeared, so backtrack, but no alternatives left. Fault is redundant (4 backtracks.) Step 4: Objective – propagate fault to k, set e = 1. Implication stack – A = 1, E = 0, C = 0, D = 1. Implications – d = D, e = 1, g = D, h = 0, k = 0, l = 0, m = 0, n = 0. D-frontier – φ; D-frontier disappeared, so backtrack. Step 5: Objective – propagate fault to k, Implication stack – A = 1, E = 0, C = 0, D = 0. Implications – d = D, e = 0, g = 1, h = 0, k = 0, l = 0, m = 0, n = 0. D-frontier – φ; D-frontier disappeared, so backtrack again. Step 8: Objective – propagate fault to k. Implication stack – A = 1, E = 0, C = 1, B = 0, D = 1. Implications – d = D, e = 0, g = 1, f = 1, h = 0, k = 0, l = 0, m = 0, n = 0. D-frontier – φ; D-frontier disappeared, so backtrack again. Step 2: Objective – propagate any fault effect from l to n. Implication stack – A = 1, E = 0. Implications – l = D or D, m = 0, n = D or D. D-frontier – −.

More Related