ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ ---------------o0o--------------- BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỀ TÀI: DESIGN FOR TEST GVHD: Nguyễn Phan Hải Phú Bùi Lê Quốc Doanh SVTH: Hoàng Đức Thắng MSSV: 1915222 TP. HỒ CHÍ MINH, THÁNG 03 NĂM 2023 Lời cảm ơn GVHD: Nguyễn Phan Hải Phú LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Em xin gửi lời cảm ơn chân thành đến thầy Bùi Lê Quốc Doanh, thầy Nguyễn Phan Hải Phú giảng viên Bộ môn Điện Tử - trường đại học Bách Khoa TPHCM người đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình làm đồ án. Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường nói chung, các thầy cô trong Bộ môn nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập.
Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành khoá luận tốt nghiệp. Với điều kiện thời gian cũng như kinh nghiệm còn hạn chế của một học viên, luận văn này không thể tránh được những thiếu sót. Em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô để tôi có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn công tác thực tế sau này Tp. Hồ Chí Minh, ngày 9 tháng 3 năm 2023.
Sinh viên Hoàng Đức Thắng i Đồ án môn học GVHD: Nguyễn Phan Hải Phú TÓM TẮT ĐỒ ÁN Đồ án này trình bày về kĩ thuật Design for test (DFT), bao gồm tìm hiểu về lý thuyết và thực hiện mô phỏng thiết kế kiểm tra cho mạch Logic và Memory cũng như các chip đã được gắn trên board mạch. Trong phần lý thuyết chúng ta sẽ đi tìm hiểu về hệ thống các lỗi sẽ thường xuyên xảy ra và các phương pháp để xác định các lỗi đó cùng với một số các ví dụ và bài tập để xác định rõ phương pháp kiểm tra. Trong phần thiết kế thì ta sẽ tiến hành tạo ra các mạch thực tế, các khối kiểm thử dựa trên lý thuyết sau đó tiến hành chạy kiểm thử, so sánh với kết quả lý thuyết. Từ đó đưa ra kết luận cũng như phương pháp khắc phục và tối ưu tốt nhất cho mạch.
ii Đồ án môn học GVHD: Nguyễn Phan Hải Phú MỤC LỤC 1.2 Nhiệm vụ đề tài .1 Design for test là gì (DFT).1 Stuck-at Fault (SAF) .3 Các thuật toán sử dụng trong DFT .1 Thuật toán Ad-hoc.2 Thuật toán Scan. THIẾT KẾ PHẦN CỨNG .1 Thiết kế mạch kiểm tra Scan .1 Kiểm tra lỗi stuck-at .2 Kiểm tra lỗi transition delay. THIẾT KẾ GIẢI THUẬT MBIST CHO SRAM. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.2 Hướng phát triển.
59 iii Đồ án môn học GVHD: Nguyễn Phan Hải Phú 6. TÀI LIỆU THAM KHẢO .59 iv Đồ án môn học GVHD: Nguyễn Phan Hải Phú DANH SÁCH HÌNH MINH HỌA Hình 1.1: Các lỗi vật lý có thể sinh ra trong quá trình sản xuất chip .1: Các lỗi kẹt đơn tại các ngõ vào ra của cổng AND .2: Lỗi kẹt đơn Fanout và Branches trên mạch .1: Các lỗi Bridging thực tế .2: Mô hình lỗi Wired-OR và Wired-AND .3: Hình mô phỏng lỗi hở điện trở .1: Chèn điểm kiểm tra .2: Chèn điểm quan sát .1: Chế độ hoạt động của Scan flip flop .2: Sơ đồ chuyển đổi mạch tuần tự sang mạch tổ hợp .3: Mô tả chế độ hoạt động của Muxed DFF .1: Kiểm tra board mạch bằng JTAG .2: Kiến trúc của JTAG .3: Sơ đồ máy trạng thái của tap controller .4: Kiến trúc register trong JTAG .5: Kiến trúc ngõ vào Boundary scan cells .6: Kiến trúc ngõ vào Boundary scan cells chế độ Normal .7: Kiến trúc ngõ vào Boundary scan cells chế độ Scan .8: Kiến trúc ngõ vào Boundary scan cells chế độ Update .1: Sơ đồ kiến trúc quá trình kiểm tra EXTEST .2: Cấu trúc output BSC và máy trạng thái hoạt động của chip1 .3: Cấu trúc input BSC và máy trạng thái hoạt động của chip2 .4: Kiến trúc built in selt test .1: kiến trúc MBIST .40 v Đồ án môn học GVHD: Nguyễn Phan Hải Phú Hình 3.1: Sơ đồ khối scan flip flop .1: Sơ đồ mạch test stuck at trên candence .2: Kết quả dạng sóng biểu thị mẫu thử scanff .3: Sơ đồ mạch kiểm tra lỗi delay transition trên candence.4: Kết quả tín hiệu dạng sóng mạch kiểm tra lỗi transition .1: Kiến trúc MBIST cho bộ nhớ .2: Mô hình trạng thái máy của giải thuật MarchC- .57 vi Đồ án môn học GVHD: Nguyễn Phan Hải Phú DANH SÁCH BẢNG SỐ LIỆU Bảng 2.1: Bảng giá trị các lỗi đơn tại ngõ vào ra của cổng AND .2: Bảng giá trị biểu hiện Lỗi kẹt đơn Fanout và Branches trên mạch .1: Bảng biểu thị giá trị của mô hình lỗi Wired-OR và Wired-AND .1: Tóm tắt tín hiệu điều khiển các chế độ hoạt động ngõ vào .2: Bảng tóm tắt tín hiệu của các chế độ hoạt động ngõ ra JTAG .1: Các giá trị trạng thái MarchC- .2: Sự chuyển trạng thái trong MarchC-. 57 vii Đồ án môn học GVHD: Nguyễn Phan Hải Phú 1.1 Tổng quan Ngày nay các kĩ thuật kiểm tra mạch VLSI đang đối mặt với nhiều thách thức thú vị và phức tạp. Trong thời đại các hệ thống lớn được nhúng trong một hệ thống trên chip (SOC) duy nhất và được chế tạo liên tục trong công nghệ thu hẹp, điều này quan trọng là phải đảm bảo hành vi đúng đắn của toàn bộ hệ thống.
Vì thế trường hợp tốt nhất cho hoàn cảnh hiện tại đó là tạo ra một môi trường thử nghiệm thuận lợi trên chip bằng cách sử dụng kĩ thuật Design For Test (DFT). DFT là một kỹ thuật giúp cho một thiết kế có thể được kiểm tra (test) dễ dàng và đầy đủ hơn sau khi sản xuất thành chip mà không cần quan tâm đến chức năng của mạch (thiết kế). Một quy trình sản xuất không thể đảm bảo toàn bộ chip được sản xuất ra đều đạt chất lượng và không có lỗi. Lỗi ở đây là lỗi vật lý (physical fault) sinh ra so quá trình sản xuất, không phải lỗi chức năng hay lỗi logic (logical fault) do thiết kế sai.
Một số lỗi vật lý có thể gặp như nối đất GND (stuck-at-0, s-a-0), nối nguồn với VCC (stuck-at-1, s-a-1), ngắn mạch(short), hở mạch (open). Một lỗi vật lý sinh ra sẽ làm cho hoạt động của chip bị sai hoặc không thể hoạt động (hình 1. Lỗi chức năng Reduce test cost do thiết kế sai phải được phát hiện khi mô phỏng và kiểm tra trước khi sản xuất. Để dễ hình dung, các bạn hãy liên tưởng đến việc kiểm tra các bo mạch in (PCB), một bo mạch in sau khi sản xuất phải được kiểm tra xem các đường mạch có bị nối GND, VCC, ngắn mạch hay hở mạch (bị đứt) hay không.
Chip cũng cần được kiểm tra các lỗi như vậy. Một chip gồm hai phần logic là user logic và DFT logic. Trong đó, user (function) logic là thành phần xử lý các chức năng dành cho người dùng chip, DFT logic dùng để test chip. 1 Đồ án môn học GVHD: Nguyễn Phan Hải Phú Hình 1.1: Các lỗi vật lý có thể sinh ra trong quá trình sản xuất chip Tóm lại, kỹ thuật DFT là kỹ thuật giúp kiểm tra chip dễ dàng và đầy đủ hơn bằng cách thêm các logic dùng cho việc test vào trong chip.
Nếu không có DFT, một chip vẫn có thể được kiểm tra thông qua đo đạc và chạy các test chức năng (function test) trên chip nhưng thời gian test rất lâu và không đảm bảo toàn bộ chip được test đầy đủ (coverage thấp). Ví dụ, một chip không có DFT, nếu chạy các test chức năng có thể mất 30 giây (hoặc nhiều hơn) cho một chip thì tổng thời gian test cho một lô sản phẩm 100.000 chip là khoảng 35 ngày, cho 1 triệu chip là 347 ngày. Nhưng với kỹ thuật DFT, tổng thời gian test có thể giảm hơn 10 lần. Tuy nhiên, việc áp dụng kỹ thuật DFT sẽ làm kích thước chip lớn hơn do phải thêm các logic phục vụ việc test.2 Nhiệm vụ đề tài Trong đề tài này chúng ta tập trung vào các nội dung chính như sau: Nội dung 1: Tìm hiểu nguyên lý, lý thuyết về DFT Nội dung 2: Nghiên cứu các phương pháp và giải thuật sử dụng trong DFT Nội dung 3: Thiết kế bộ scan flip flop để test các lỗi vật lý đúng với lý thuyết đề ra và giải thích sơ đồ máy trạng thái của memory built in self test.
2 Đồ án môn học GVHD: Nguyễn Phan Hải Phú 2.1 Design for test là gì (DFT) DFT là một kỹ thuật giúp cho một thiết kế có thể được kiểm tra (test) dễ dàng và đầy đủ hơn sau khi sản xuất thành chip mà không cần quan tâm đến chức năng của mạch (thiết kế). Một quy trình sản xuất không thể đảm bảo toàn bộ chip được sản xuất ra đều đạt chất lượng và không có lỗi. Lỗi ở đây là lỗi vật lý (physical fault) sinh ra so quá trình sản xuất, không phải lỗi chức năng hay lỗi logic (logical fault) do thiết kế sai. Lỗi chức năng Reduce test cost do thiết kế sai phải được phát hiện khi mô phỏng và kiểm tra trước khi sản xuất.
Tại sao phải sử dụng design for test (DFT)? • Reduce ATPG effort :Rút ngắn thời gian chạy ATPG • Improve test quality :Khả năng bao phủ lỗi cao, Rút ngắn độ lớn kiểm tra và thời gian kiểm tra • Reduce time to market : Chuẩn đoán và gỡ lỗi đơn giản 2.1 Stuck-at Fault (SAF) • Single Stuck-at Fault (SSF) Lỗi kẹt đơn có nghĩa là một đường tín hiệu trong mạng tổ hợp của cổng logic được cố định thành logic 0 hoặc logic 1, độc lập với các tín hiệu logic và các dòng tín hiệu khác Kí hiệu : node x stuck-at fault o x/0, x/1 o x s@0, x s@1 o x SA0, x SA1 Số lượng lỗi đơn là tuyến tính đối với kích thước của mạch. Bởi vì chúng ta có 2 lỗi đó là stuck-at one và stuck-at zero nên trên mỗi mạch chúng ta có 2n SSF trên mỗi nút. 3 Đồ án môn học GVHD: Nguyễn Phan Hải Phú Examples: kiểm tra lỗi kẹt đơn tại hai ngõ vào của cổng AND Hình 2.