Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với giải thuật khã trình PHAN MO DAU Sự phát triển nhanh chỏng về số lượng và chủng loại bộ nhở nhúng trong, §S
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC BẢCH KHOA HÀ NỘI
NGUYÊN MINH DŨNG
NGHIÊN CỨU VÀ THIẾT KẺ MẠCH TỰ KIỂM TRA VA
PHAN TICH LOI BQ NHỚ NHŨNG VỚI GIẢI THUẬT
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
'TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
NGUYEN MINH DUNG
NGIDEN CUU VA TIMET KE MACII TY KIEM TRA VA PITAN
TICII LOI BO NOG NITUNG VOI GIAI TIICAT KIA TRINIT
CHUYEN NGANH KỸ THUÁT DIỆN TỪ
LUẬN VĂN THẠC SĨKỸ THUẬT
KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DAN KHOA HOC:
PGS.1E PHAM NGỌC NAM
Hà Nội —- Năm 2014
Trang 3
MỤC I
MỤC LỤC
T.O1 CAM BOAN
DANH MỤC CÁC HÌNH VŨ ào cceeerrvec
DANII MUC CÁC BANG BIRU
DANH MỤC CÁC TỬ VIẾT TẤT ào
PLAN MỞ DẦU HH HH HH HH gi
Chương] Téng quan về kiếm tra bộ nhớ, các mô hình lỗi và mach logic br kiểm tra bd whe
11 Giớithiệu
142 Mô hình lỗi của bộ nhủ
21 Các lỗi ô nhỏ Memory Cell
1.2.2 Các lỗi giải mã địa chi (AFs)
1.23 Các lãi Dynamie
13 Các thuật loán kiểm tra
1.3.1 Các thuật toán truyền thông 1.3.2 Các thuật toán March
144 Các kỹ thuật kiểu tra bộ nhớ
1.41 Kiểm tra chức năng 1.42 Kỹ thuật quét đường biên Boundary Scan 1.43 Kỹ thuật ghép cách li Multiplexor Isolation
1.4.4 Mạch logic tự kiếm tra Build-in self-test
15 Ket luận
3
Trang 42.2.6 Khối điều khiến hoại động chính của mạch FSM BISD 64
2.4.3 Mô tá hoạt động và các khối chinh ¬
Chương 3 Phẩn mm mô hình hỏa hoạt động mạch BISD và mô kính lối bộ nhớ SRAM B4
3.1 Giới thiệu về phân mễm — <
3⁄2 Các khối mô hình hớa "—
Trang 53.21 Các ñile dữ liệu ii
3.22 Môhinhlõi àoceeciee
3.2.3 Các mỏ đun chính
3.2.4 Các File kết quả àcocccsccee Chương 4 Kết quả mô phỏng, tông hợp mạch BISD và hướng phát triển
Al Két qua mé phéng 41.1 Kết quả mê phỏng mạch BISD trên QuestaSim 4.1.2 Kết quả mô phỏng trên phần mềm mô hình hỏa
4.143 Dôi chiếu kết quả
4.1.4 Code GoVeraBe is
Lo Ö„112 lA
Trang 6Trước hết, tôi xin gửi lời cảm ơn chân thành tới tập thể các thây cô trong,
Viện Điệu tử viễn thông, iường Đại học Bách Khoa Hà Nội đã lạo ra một môi trường tốt đẻ tôi học tập và nghiên cửu Tôi cũng xin cảm ơn các thầy 06 trong 'Viên Đào tạo sau đại học đã quan tâm đến khóa học này, tạo điều kiện cho các
học viên có điều kiện thuận lợi để học lập và nghiên cứu Và đặc biệt lỗi xin gửi
lời cảm ơn sâu sắc đến thầy giáo PGB.TS PHAM NGỌC NAM, đã tan tinh
thưởng dẫn và sửa chữa cho nội dung của luận văn này
Téi xin cam doan rằng nội dung của luận văn nảy hoàn toàn do tôi tu hiểu, nghiên cửu và viết ra Tất cá đều được tôi thực hiện cẩn thận, cỏ sự góp Ÿ
và sửa chữa cũa giáo viên hướng dẫn
Tôi xin chịu trách nhiệm với tắt cả nội đung trong luận vẫn này,
Tác giả
Nguyễn Minh Dũng,
IV
Trang 7linh 1-1 Kiến trúc chưng SoC dụa trên các khối nhúng,
Hình 1-2 Du bao về diện tích bộ nhớ nhúng trên chịp SoC
Hình 1-3 Mô hình chức năng bộ nhớ SR.AM
Hình 1-4 Mô hình chức năng rút gọn của bộ nho SRAM
Hình 1-5 Mô hình lỗi
Tình 1-6 So sánh độ phức lạp tính toán và thời gian kiểm tra
Tỉnh 1-7 Khả năng phát hiện lỗi của một số thuật toán
Tình 1-8 Đánh gia thoi gian kiểm tra của thuật loạn March Cocklail
Tình 1-9 Memory boundary sean
Tình 1-10 Muhaplexor Isolation
t
Hinh 1-11 Kién wic mach Build-in self-test
Hinh 1-12 Kién mie mach BISD
Hinh 1-13 Thanh ghi FOP
Tình 1-14 Từ điển cầu trúc thông tần lỗi với thuật toán March-]7N'
Tình 1-15 Sơ đã khối mạch BISD
Tlinh 1-16 So dé khéi mach BISR sit dung Fuse Macro
Hinh 2-1 Thiét ké chip SoC hé tro mach BISD
Tình 2-2 Sơ đề khỏi mach BISD
Hình 2-3 Sơ đề khái TTG
Linh 2-4 So dé khdi SAG
Tlinh 2-5 Giản đề thời gian khối SAG
Tlinh 2-6 Khdi SA Step Counter
dD
40 41
Trang 8Hình 2-8 Sơ đỗ khối PAG code
Hinh 2-9 Gian dễ thời gian khối PAG
‘Hin 3-10 Cấu trúc của thanh ghi shií_ datx
Tình 3-11 Cấu trúc FIFO
Tình 2-12 Sơ đỏ thuật toán khối PAG
Tình 2-13 Giãn đỗ thời gian doc ghi Delphin SP SRAM
Hinh 2-14 So dd khdr Physical Signal Generator
Hình 3-15 Giãn đỗ thời gian khéi Physical Signal Generator
Hinh 2-16 So dé khdi Physical Counter
Hinh 2-17 Thuật toán khỏi Physical Counter
Tình 3-18 Bảng dữ liệu không dao chuẩn và đỡ liệu dio chuẩn
Tình 3-19 Sơ đồ khối Data Background Top
Tlinh 2-20 Sơ để khỏi Data Background Monitor
Hinh 2-21 Gian để thời gian khói Data Backeround Generator
Hinh 2-22 So dé khỏi Data Background Generator
Hinh 2-23 Thuật toán khỏi Data Backpround Generator
Linh 2-24 Sot dé khéi Comparator oo
Linh 2-25 Thuật toàn khỏi Comparator co or
Tinh 2-26 Cấu trúc thông tin lỗi BISD syndrome
Tlinh 2-27 Giản đỗ thời gian khối Comparakor
Tlinh 2-28 Các trạng thái của FSM BISD
Hình 2-29 Sơ dé khén TAP Controller
264
66
1 68
Trang 9Hình 2-30 Sơ dỏ khói chỉ tiết TAP Controllor
Hinh 2-31 May tang thai FSM TAP Conuoller
Hinh 2-32 Sơ dỗ khối Instrucdon Register
Tình 2-33 Sơ đỗ khốt Trsiruction Decoder
Tình 3-34 Sơ đã khối Bypass Rogister
Tình 2-35 Sơ đỏ khối TD Register
Hinh 2-36 Sơ dỗ khối BISD_in Register
Hinh 2-37 Sơ dỗ khối BISD_ out Registcr
Hinh 2-38 So dé khéi RAM BISD Interface
Hinh 2-39 So da kién inte khéi RAMBISD Interface
Hinh 2-40 So do khdi asyne_emp
Hinh 2-41 So dd khdi wpir_full
Hinh 2-42 So dd khdi rptr_emply
Tlinh 2-43 So dé khéi fifomem
Hinh 3-1 Thiết kẻ của phân mêm mã hình hóa
Hình 3-2 Mô hình giải thuật cho BISD
Hình 4-1 Mô hình kiểm tra từng khôi
1linh 4-2 Mô hình kiém tra toan bé mach BISD "
Linh 4-3 Phần mêm mô hinh hòa 5 ninh niet
Tinh 4-4 Mô hình đổi chiếu kết quả
Trang 10
Bang 1-1 Ky hiệu các lỗi trong máng ö nhớ cúa bộ nhớ nhùng Đ
Bang 1-3 Bảng các ký hiệu sử đụng trong các thuật toán March L6
Bang 1-4 Bang danh sácHt 42 thuật toàn March cơ bản LỂ
Bảng 1-5 Khả năng phát hiện lỗi của một số thuật toán March co ban kiểm
tra bộ nhớ theo từng ĐẤU scceneseisnsieersstssenestrsiesneetniee ¬ -
Bang 1-6 Kết quả mô phỏng thuật toán MATS+T theo word với nhiều đữ
Bang 2-5 1/O khdi Physical Signal Generator 49 Bang 2-6 1/O khéi Physical Counter - 31
Bảng 2-8 Bảng đữ liệu cho độ rộng bus 32 bịt 56
Bảng 3-1 Bảng các file đữ liệu trong phản mẻm mó hình hỏa 85
VI
Trang 11Bang 3-3 Hành vi cửa coÏ] cover
Tâng 3-4 Các thuộc tính của lỗi
Tâng 3-5 Các loại lỗi
Bảng 3-6 Hành vị của lỗi hàng/cột
Bang 3-7 Dinh dang chudi TIO
Bang 3-8 Cúc nhĩm lỗi
Bang 3-9 Cae thude tinh eda colt
Bang 3-10 Céc thude Unk lép ea 36 Fault
Bảng 3-11 Các thuộc tính lớp AF (mỡ rộng từ lớp FauH)
Bảng 3-12 Các thuộc tính lớp CFid (mở rộng từ lớp Fanlr)
Bảng 3-13 Các thuộc tỉnh lớp CoÏF (nở rộng từ lớp EaulD)
Bang 3-14 Các thuộc tỉnh lớp RowF (mở rộng từ lớp Fault)
Bảng 3-15 Các thuộc tỉnh lớp SAF (ind réng tit lép Fault)
Tang 3-16 Các thuộc tính lớp Cellinfo
Bang 4-1 Kết quả file Log txt
Bang 1-2 Code coverage khéi CORE BISD
Bang 4-3 Code coverage khéi TIG
Bang 4-4 Code coverage khối SA co,
Bang 4-5 Code coverage khối SAG Step Counter occur
Bang 4-6 Code coverage khối SAG Rom
Bang 4-7 Code coverage khối PA cover
Bang 4-8 Code coverage khéi Data Background Top
Bang 4-9 Code coverage khéi Data Background Generator
"-
88
89
90 a1
93
101
102
102 LOZ
102 LOB LOB
LOZ
Trang 12Bang 4-11 Code coverage khoi Physical Signal Generator sees LOE Bang 4-12 Code coverage khoi Physical Counter + 104 Bang 4-13 Code covcrage khỏi Cornparalor - - 104 Bảng 4-14 Kết quả lổng hợp mạch BISD với bộ nhở SRAM Dolphin dti sp tm6Sgplus 14426 twtJbwlxoe m seeereeere.TS
Bang 4-15 Kết quả tổng hợp mach BISD với bộ nhớ SRAM Dolphin
Trang 13¬" -DANH MI CÁC TỪ VIỆT TAT
Từ viết tắt Từ tiếng anh
ATPG Automatic test patlen gericration
BIST Built-in self-test
BISD Built-in self-diagnosis
C¥id Idempotent coupling fault
EOP Error Operation Protocol
8L Fault Site Indicator
FSM Finite State Machine
NPSF Neighborhood Pattem Sensitive Fault
PAG Programable Algorithm Genorator
RA Redundancy Analysis
RO Read disturb fault
SAF Stuck-at fault
SAG Stored Algorithm Generator
Trang 14
TDI Test data in
TPG Test Pattern Generator
TIG Test Instruction Generator
VLSI Very large scale integration
Trang 15
Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khã trình
PHAN MO DAU
Sự phát triển nhanh chỏng về số lượng và chủng loại bộ nhở nhúng trong,
§SoC khiến việc kiểm tra bộ nhớ nhúng trở thành một van de quan trọng, không,
thể thiếu trong quá trinh kiểm tra SoC Quy trình công nghệ cảng hiện đại, mật
độ tích hợp càng cao, kích thước bộ nhở nhúng trong SoC cảng được thu nhỏ, tuy
nhiên số lượng lỗi có thẻ tăng lên rất lớn Điều này gây ảnh hưởng rất lớn đến quá trình sản xuất SoC ở giai đoạn sản xuất ban đầu của một quy trình công nghệ mới, rất nhiều SoC cỏ bộ nhở có lỗi và can phải loại bỏ nêu bị phát hiện trong, quá trình kiểm tra Điều này khiến hiệu suất giảm, kéo theo đó là giá thành SoC'
cao Bên cạnh đỏ, nhiều mô hình lỗi mới của bộ nhớ nhúng trong SoC có thể
không bị phát hiện, lâm cho hoạt động của SoC sau quá trình kiểm tra truyền
thong không ôn định, thâm chi không thẻ sử dụng được trong thực tế
Do đó, một vẫn đề rất quan trọng và cần được đây mạnh là làm thẻ nào để
kiểm tra, phân tích và dự đoán được lỗi trong các bộ nhớ nhúng của SoC Từ đó,
các kĩ sư thiết kể có thẻ sớm xác định được các nguyên nhân gây ra lỗi và cải tiến thiết kế của các bộ nhớ nhúng Một hệ thống SoC với các bộ nhớ đã được kiểm
tra không có lỗi sẽ hoạt động ôn định, đáng tin cậy và sẽ được sử dụng trong các
thiết bị điện tử hiện đại
Tới thời điểm hiện nay, nhiều phương pháp kiểm tra bộ nhớ đã được đưa
ra Tuy nhiên, khi cân nhắc đến vân đề chỉ phí vả khả năng kiêm tra, giải pháp tốt nhất và được sử dụng rộng rãi trong các công ty thiết kế SoC là mạch logic tự
kiểm tra lỗi BIST cho bộ nhớ Luan văn nảy nghiên cửu và đưa ra một thiết kế
mach logic tu kiém tra và phân tích lỗi cho bộ nhớ nhúng (BISD) với một số cải
tien mới Thiết kế trong luận văn sử dụng nhieu thuật toản March đề kiểm tra
giúp phát hiện được nhiêu loại lỗi Mạch BISD hỗ trợ hai cơ chế kiểm tra lỗi trong bé nhớ, cơ chế thứ nhất lưu trữ bên trong mạch một thuật toản mặc định va
cơ chế thử hai là truyền thuật toán vào từ bên ngoài qua chuan JTAG 1149.1 Thông tin về các thuật toan được thống kê vả xử lý để cỏ thẻ truyền vào mạch 'BISD một cách hiệu quả nhằm tiết kiêm diện tích mạch logie BISD nhưng vẫn có
Trang 16giải thuật khả trình
hiệu suất hoạt động và khả năng linh hoạt cao Ngoài ra, thiết kế còn kết hợp với phan mềm xử li dữ liệu giúp phân tích chỉnh xác loại lỗi từ đỏ xác định được nguyên nhân gây lôi Thiết kế mạch BISD phủ hợp với nhiều loại bộ nhớ nhúng, Tuy nhiên trong khuôn khỏ luận văn, thiết kế mạch BISD phủ hợp đề kiểm tra
SRAM, bộ nhớ nhúng phố biến nhất trong SoC được lựa chọn đề triển khai thiết
kế
Trang 17Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
Chương 1 Tổng quan về kiểm tra bộ nhớ, các mô
hình lỗi và mạch logic tự kiểm tra bộ nhớ
Ngay từ đầu những năm 1960, các nghiên cứu vẻ kiểm tra bộ nhớ ban dan
đã xuất hiện, đi cùng với sự phát triển của nên công nghiệp vì mạch bán dan
Thời gian kiểm tra và phạm vi kiểm tra luôn là những điểm quan tâm chỉnh của
các nghiên cửu này Sự ra đời của SoC đặt ra những vẫn đẻ mới cho các nha
nghiên cứu Số lượng vả diện tích của các bộ nhớ nhúng trong SoC tăng lên rất
nhanh chóng Do đó, sản lượng của các bộ nhớ trên chip sẽ xác định sản lượng
của chúp Việc kiểm tra đúng/sai đã không cỏn đủ cho các bộ nhớ nhúng trong thời đại của SoC Bên cạnh đó, bộ nhớ thường được sử dụng như lả một chỉ bảo
công nghệ, do đỏ chúng thường được thiết kế với mật độ rất lớn ở mỗi quy trình
công nghệ Phân tích lỗi bộ nhớ nhanh chỏng trở thành vẫn đẻ quan trọng, giông
như vấn đẻ vẻ sản lượng công nghiệp và thời gian phát triển của các sản phẩm SoC Viée chân đoán lỗi một cách hiệu quả và các phương pháp phân tích lỗi của
bộ nhở sẽ giúp cải thiện sản lượng của các sản phẩm SoC, đặc biệt là với sự thay
đổi nhanh chóng của quá trình phát triển các sản phẩm mới vả các quy trình công
nghệ tiên tiễn
Chương này của luận văn sẽ trình bảy về kiến trúc bộ nhở SRAM, mô
hình lỗi cho bộ nhở và các thuật toản kiểm tra Thuật toản March được sử dụng,
rông rãi và được coi là hiệu quả nhất với mô hình bộ nhớ lỗi truyền thống Cac
thuật toán March khá ngắn va dé phat trien Dong thoi, mạch tự kiểm tra bộ nhớ
Memory Built-in self-test (BIST) cũng sẽ được trinh bảy một cách khái quát
trong chương nảy Nó được xem là giải pháp tốt nhất cho việc kiểm tra bộ nhớ
nhúng trên các chip SoC.
Trang 18giải thuật khả trình
11 — Giớithiệu
Cùng với sự ra đời của của công nghệ vi mạch độ tích hợp rắt lớn (VLSD,
các công ty bán dân đã hưởng sự quan tâm đến các giải pháp SoC Đó là xu hướng thiết kẻ các hệ thông điện tử bao gồm các vi xử lý, các mạch giao tiếp,
mạch tương tu, DSP va bé nhé vao trong mét chip don Cae SoC tích hợp một số
lượng rất lớn các khỏi chức năng đã từng đứng độc lập trước đó trong các bang
mạch có kích thước lớn hơn cả chục lân so với kích thước của SoC Việc kết hợp các chức năng này vào một chip đơn hiển nhiên làm giảm kích thước của chip Đây là một ưu điểm quan trọng của các thiết bị điện tử càn phải nhỏ vả nhẹ trong, các thiết bị di động Ngoài ra, các SoC cỏn cỏ hiệu suất hoạt đông cao hơn nhưng
tiêu thụ điện năng ít hơn Khi tất cả các khối nhỏ được tích hợp vảo trong chip đơn, số lượng giao tiếp giữa các chịp cũng giảm đi rất nhiều Kiên trúc chung của SoC ngày nay được thiết kế dựa trên các khối chức năng nhúng được biểu diễn
Function Function Function
specific |||[ specific |||] specific
core A core B coret lI yp, oa
Hình 1-1 Kiến trúc chung SoC dựa trên các khối nhúng
Các bộ nhớ là các thành phần cỏ vai trò ngảy cảng quan trọng trong các
sản phẩm truyền thông, không dây va trong may tinh Trước đây, các IC có các
chức năng riêng biệt được hỗ trợ bộ nhớ nằm ngoài Hiện nay, các bộ nhớ nhúng
Trang 19Nghiên cửu và thiết kế mạch tự kiểm tra và phân tích lỗi bộ nhớ nhúng với
giải thuật khả trình
được ứng dụng vao may tỉnh và các sản phẩm truyền thông (bao gồm cả các thiết
bị cho mạng di động, thiết bị cảm tay vả các thiết bị cho phép kết nối mạng Internet) yêu cầu băng thông lớn hơn, kích thước nhỏ hơn, tiêu thụ ít năng lượng
hơn, hiệu suất hoạt động cao hơn và có nhiêu chức năng hơn Do đó, bộ nhớ
nhúng cảng trở nên quan trọng hơn
Thông thường bộ nhớ nhúng chiếm tử 30% đến 50% diện tích SoC Con
số nảy tăng nhanh qua từng thẻ hệ sản phẩm và hiện nay bộ nhớ nhúng đã có thẻ
chiếm đến 90% diện tích chip Hiệp hội công nghiệp ban dan SIA da dur đoán
rằng con số nảy sẽ tăng lên 94% vào năm 2014 theo hinh 1-1 [4]
Year hire elt A Ris eins
Hình 1-2 Dự báo về diện tích bộ nhớ nhúng trên chip SoC
Do xu hướng này, việc kiêm tra bộ nhớ nhúng nhận được rất nhiều sự chú
ý của giới công nghiệp cũng giỏng như cộng dong nghiên cứu
Có rất nhiều thử thách trong việc kết hợp bộ nhớ (DRAM, SRAM,
fiash, ) với các thành phân logic khác Bênh cạnh đó, việc xử lý các vẫn đẻ
công nghệ, bảo đảm hiệu suất, chất lượng và đồ tin cậy của các bộ nhở nhúng với
chỉ phí được sử dụng một cách hiệu quả đỏi hỏi những nỗ lực nghiên cứu sâu
hơn Việc kiểm tra bộ nhớ nhúng lại càng khỏ hơn kiểm tra bộ nhớ thông thường
Vấn đề đầu tiên là tính truy cập Truy cập lõi DRAM từ một thiết bị kiểm tra
Trang 20giải thuật khã trình
ngoại vi rất tốn kém - cả về vẫn đề vượt quả số chân/diện tích, sụt giảm hiệu
năng, và nhiễu - khi mà bộ nhớ DRAM được nhúng trong CPU hoặc ASIC va
bao quanh bởi các khối logie khác [6] Phương pháp thiết kế cho phép kiểm tra
(DFT — design for test) phải được cung cấp cho việc cách ly lõi và cho phép truy
cập, và cái giá phải trả là việc vượt quá số lượng cong logic (hardware overhead),
hiệu năng thập, nhiều và ảnh hưởng kỷ sinh Ngay cả khi đã chấp nhận những
điều trên, thiết bị kiểm tra đáp ứng đủ tiêu chuẩn đẻ kiểm tra bộ nhở nhúng
DRAM sẽ rất đắt vi tốc độ chạy kiểm tra và độ rộng băng thông I/O Tổng chỉ phí đầu tư sẽ rất cao Giải pháp triên vong cho van dé trén 1a mach logic tu kiểm
tra (BIST) Với BIST, yêu câu cho thiết bị kiểm tra bộ nhở nhúng DRAM được
giảm thiểu, thời gian kiểm tra giảm đáng kể trong toản bộ quy trình kiểm tra đối
với DRAM Tắt nhiên, tổng thời gian kiểm tra có thẻ được giảm nữa nêu kiểm tra
song song các bộ nhớ ở mức chip bởi vì điều nảy rất dễ xử lỷ Do đỏ mạch logic
tự kiểm tra được xem như một yêu cầu bắt buộc với bộ nhớ nhúng DRAM Một
ưu điểm khác của BIST là vân đẻ bảo về sở hữu trí tuê Ví dụ trong trường hợp
nay, nha cung cap ban dan chi can dua khéi DRAM với chuối kich hoạt và đáp
tmg BIST cho nhu câu kiểm tra và chân doan 16i ma khéng phải cung cấp chỉ tiết
thiet ke DRAM IP
BIST cũng được áp dụng thành công với bộ nhớ nhúng SRAM, flash,
CAM Tuy nhiên, nó vẫn can dén thiết bị kiểm tra ngoại vi trừ trường hợp việc
chân đoản và sửa lỗi được tự thực hiện bẻn trong chip Dieu nay hiển nhiên không thể thực hiện bởi kiến trúc BIST hiện tại cho SRAM Đồng thời, các mô
hình lỗi mới có thể cần được kiểm tra; và thuật toán March được sử dụng cho
SRAM BIST có thẻ không tích hợp
Tuy nhiên, nhiều thách thức khác vẫn tổn tại, ví dụ như các thiết bị bộ nhớ
thường yêu cầu sửa chữa cứng bằng cách lập trình các cầu chỉ điện (bưn-in) để
giảm tỉ lệ lỗi, nhưng với các thiết bị logic, IddQ có thể được sử dụng Sử dụng
IddQ cho bộ nhở không he dé dang Vậy nêu chúng ta tích hợp bộ nhở vả logic, làm thẻ nảo để đạt được yêu câu vẻ độ tin cây? Thử thách tiếp theo là thiết kế tự
Trang 21Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khã trình
đông Thiết kế logic sử dụng các công cụ tổng hợp mach trong khi thiết kế bộ nhớ thường sử dụng thiết kế tủy chỉnh hoan toản Việc tích hop hai luồng khác nhau đòi hỏi rất nhiều nỗ lực Những thử thách khác nữa như là tiêu chuẩn thời gian, hay kiểm tra nguồn điện AC của bộ nhớ không đồng bộ với mạch logic
BIST déng bé
1.2 Mô hình lỗi của bộ nhớ
Để kiểm tra hoạt động chức năng của mạch, ta thường mô tả các đặc điểm
của mạch trước, tử đó xác định được các mô hình lôi thường gặp của mạch được
kiểm tra (CUT - circuit under test) Sau khi cac 16i dién hinh được định nghĩa, ta
có thể chọn một tập các kịch bản kiểm tra nhằm phát hiện được lỗi này Đề làm
viée dé dang với các mô hình lỗi hoặc khuyết tật, chúng ta mô hình hóa chúng
dựa trên biểu hiện gây lỗi Mặc đủ mô hình lỗi chức năng nảy không được sử
dụng rộng rãi trong giới công nghiệp, đây vẫn là một phương pháp phát triển hiệu
quả đề giải quyết nhiều vấn đề trong kiểm tra bộ nhớ
Mô hình chức năng của bộ nhớ SRAM, thường thấy trong các tải liêu
hướng dẫn của nhả sân xuất, bao gồm nhiều khỏi Mõ hinh chức năng được sử dung pho biển cỏ thể thấy như Hình 1-2 [1] Mỗi khỏi trong mô hình nảy thực
hiện một chức năng riêng và cỏ thể có lỗi, lỗi trong một số khỏi khác nhau có thẻ
gây ra cùng một hành vị lỗi
Trang 22out in and chip
Hình 1-3 Mô hình chức năng bộ nhớ SRAM
Với mục đích mô hình lỗi, mô hình chức năng có thể được đơn giản hóa
thành mô hình chức năng rút gọn như Hình 1-3 [1] Mô hình bao gồm Khoi giai
mã địa chỉ Address Decoder (rút gọn từ các khối A, B, C ở Hình 1-2), Khối
Mảng ô nhớ Memory cell array, và Khôi logie đọc/ghủi (rút gọn từ các khối E, F,
Trang 23Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
Mô hình lỗi chức năng có thể được phân loại như hình 1-4 [2,6]
Mô hình lỗi chức năng bộ nhớ:
ký hiệu sau [6]
Bang 1-1 Kỷ hiệu các lỗi trong mảng ö nhở của bộ nhớ nhúng
† Sự chuyên đôi tăng của một ô nhớ (liên quan dén lệnh ghi)
{ Sự chuyên đổi giảm của một ô nhớ
Tt Sự chuyên đôi tăng hoặc giảm của một ö nhớ
<Si, , Sma; | Mot loi hén quan den m ô nhớ
Sw/F> Voi: - Sy, Sma 1a cae diéu kiên tương ứng của m—] ô
nhớ được yêu càu đề kích hoạt lỗi trên 6 nhớ m (có trạng
Trang 24giải thuật khả trình
1.2.1 Các lỗi ô nhớ Memory Cell
Nhiều lỗi có thể xảy ra trong mảng ô nhớ Chúng cỏ thể được phân loại thành các lỗi chỉ xảy ra ở mét 6 nhé (SAF, SOF, TF, DRF, RDF) va cae lỗi ma
một ô nhớ hoặc một nhỏm cae 6 nhé anh huéng téi hanh vi etia mét 6 nhé khac (CF, BF, NPSF) Các lỗi ô nhớ Memory Cell được phân loại thành các nhỏm lỗi
chỉnh như sau [1,2,6]
1.2.1.1 Lỗi xảy ra ở một ô nhớ hoặc một hàng
a) _ Lỗi không thay đôi giá trị (S4F)
Giá trị của một ô nhớ hoặc một hàng luôn luôn lả 0 (SA0) hoặc luôn luôn
là 1 (SA1) Ký hiệu <W/1> minh họa lỗi SAI và kỷ hiệu <V/0> minh họa lỗi
SAO
b) _ Lãi không truy cập được (SOF)
Một ô nhớ không thẻ truy cập được ví dụ nguyên nhân vì đường dữ liệu bị
đứt hoặc một chuyền mạch luôn mở
e)_ Lỗi không chuyến trạng thdi (TF)
Một ô nhớ không chuyền được trạng thái 0 — 1 (lỗi <†/0> TF) hoặc trạng thái 1 — 0 (lỗi <|/1>)
4) Lỗi mất dữ liệu (DRF)
DRF lả lỗi một ô nhớ lỗi không giữ được giả trị logic của nỏ sau một
khoảng thời gian nhất định Lỗi DRE có thể bị gây ra bởi một phần tử mạch kéo
lên bị hỏng (hoặc mở) trong một ô nhớ Có hai loại lỗi DRF khác nhau (chúng cỏ
thể xuất hiện đồng thời trong một ô nhớ đơn): <1+/0> và <0y/1>
ø) _ Lỗi nhiễu trong quả trình đọc (RDF)
Giá trị một ô nhớ bị đảo khi được đọc (quả trình lặp lại),
12.12 - Lỗi giữa các ô nhớ
a) Lỗi một ô nhớ hoặc một hàng ảnh hưởng tới một ô nhớ hoặc một hàng
khác (CF)
10
Trang 25Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
e_ Lỗi đão giá trị (CFin) - Sự chuyển trạng thái của một ô nhở lảm một ô nhớ
khác bị đảo giả trị Có hai loại lỗi CFim: <†/†> hoặc <|/†> Giữa một cặp hai
ô nhớ bắt kỳ, cả hai loại lỗi có thể tồn tại đồng thời
« Lỗi chuyển trang thai (CFid) ~ Sự chuyển trạng thái của một ö nhớ khiến
cho ô nhớ khác có một giá trị xác định (0 hoặc 1) Có 4 loại lỗi CFid khác nhau: <†; 1/0>, <†; 0/1>, <|; 1⁄0>, hoặc <|; 0/1>
© Lỗi trạng thái (CFst) - Một ô nhở hoặc một hàng bị chuyên thành một giá trị xác định nêu một ô nhớ hoặc một hàng khác ở trong một trang thải xác
định Giữa hai ô nhớ hoặc hai hàng, có 4 loại lỗi CFst khác nhau: <0; 0/1>,
<1; 0/1>, <0; 1/0>, hoặc <1; 1/0>
b) _ Lỗi ngắn mạch (BE)
Ngắn mạch giữa hai ô nhớ (cỏ thẻ là loại AND hoặc OR)
©_ Lỗiãnh hưởng của các ô nhớ lân cận nhau (PSEF)
Nội dung của một ô nhớ hoặc khả năng dé chuyền nội dung một ö nhớ bị
ảnh hưởng bởi nội dung của một số ô nhớ bên cạnh trong bộ nhở
© Active (Dynamic) NPSF - khi các ô bên cạnh thay đổi, ô lỗi bị thay đổi
Passive NPSF - khi các ô bên cạnh thay đổi, ö lỗi không thay đôi được trạng
thái
© Static NPSF —khi cac 6 bén canh thay đôi, ô lỗi có một giả trị xác định
12.2 Các lỗi giải mã địa chỉ (AFs)
Các lỗi này xuất hiện trong bộ giải mã địa chỉ Address Decoder với giả sử
rằng AFs không thay đổi bộ giải mã trong mạch logic tuần tự vả sẽ giữ nguyên
trong các quả trình đọc và ghủ
11
Trang 26Một ô nhớ xác định không thể tmuy cập bởi bắt
O & kỳ địa chỉ nào
© Sense amplifier recovery: b6 khuếch đại bão hòa sau khi đọc/ghi một
chuỗi đài các bit 0 hoặc 1
©_ Write reeovery: Một lệnh ghi, sau đỏ là một lệnh đọc hoặc ghi ở một vị
trí khác nhưng đem lại kết quả lả lệnh đọc hoặc ghi ở củng vị trí Nguyên
nhân lả do bộ giải mã địa chỉ bị chậm
Disturb faults: ô nhớ lỗi bị thay đổi giá trị thanh 0 hoặc 1 neu ching ta doc
hoặc ghi trên ô nhớ khác cỏ tác động (cỏ thể lả củng một ô nhớ),
Data Retention faults: bộ nhở bị mất dữ liệu một cách tự nhiên, không do
lệnh đọc hoặc ghủ
o DRAM refresh fault: Duong Refresh gap 16i stuck-at
© DRAM leakage fault
* Sleeping sickness — mat dit liéu trong khoang thời gian ngắn hơn gia tri hold time (thông thường vài trăm us cho đến vải chục ms),
12
Trang 27Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
13 — Các thuật toán kiểm tra
Các thuật toản được sử dụng để kiểm tra bộ nhớ cỏ thẻ được phân loại vào
bai nhóm chính là thuật toán truyền thống và thuật toán March [2,6]
1.3.1 Các thuật toán truyền thống
Các thuật toán truyền thông cơ bản gồm có: Zero-one, Checker board, and
GALPAT and Walking1/0 [6]
1.3.1.1 Thuậttoán Zero-one
“Thuật toán này cỏn được biết đến với tên MSCAN (Memory Scan) Thuật
toán đơn giản chỉ gồm có lệnh ghi dữ liệu toản 0 hoặc toàn 1 vào bộ nhớ Do đó,
nỏ rất để đề thiết kế nhưng không đủ mạnh đề kiểm tra bộ nhớ vì nó không phát
hiện được hết các lỗi AF và CF
1.3.1.2 Thuật toán Checkerboard
Đây cũng lả một thuật toán ngắn và đơn giản Các ô nhở của mảng ö nhớ được chia thành hai nhỏm: nhóm ö nhớ 1 và nhỏm ô nhớ 2, từ đó tạo nên đoạn
mã kiểm tra đẻ ghi vào bộ nhớ
Checkerboard có khả năng phát hiện lỗi như sau:
© Không phải tất cả lôi AF đều được phát hiện Nó chi dam bao cho hai
ô nhớ được truy cập
©_ Lỗi SAF được phát hiện nếu có điều kiện đảm bảo lả chức năng giải
mã địa chỉ phải đúng, nêu không cũng chỉ cỏ hai ô nhở được bảo đảm không có lỗi SAE
e Không phát hiện được tất cả lỗi TE và CF
13
Trang 28giải thuật khã trình
1.3.1.3 Thuậttoán GALPAT và Walking 1/0
Thuật toán GALPAT (GALloping PATtem) va Walking 1/0 tương tự nhau Ngoại trừ một ô nhớ cơ sở duy nhất chứa dữ liêu bịt 1 (hoặc 0), tat cả các ô
nhớ cỏn lại trong bộ nhớ chửa dữ liệu bịt 0 (hoặc 1) Trong quả trình kiểm tra, ô
nhớ cơ sở này được dịch lần lượt qua từng vị trí của bộ nhớ Điểm khác biệt giữa
GALPAT và Walking 1/0 là khi đọc ô nhớ cơ sở với Walking 1/0, sau mỗi bước
các ô nhớ đều được đọc và ô nhở cơ sở được đọc cuối cùng Với GALPAT, tắt cả
các ô nhở được đọc nhưng sau mỗi ö nhớ thi ô nhớ cơ sở cũng được đọc
Khả năng phát hiện lỗi của cä hai thuật toán như sau:
œ Tất cả lỗi AF đều được phát hiện và đánh dau
Tat ca 16i SAF sẽ được đánh dau
© Tat ca 16i TF được đánh dâu
œ Tất cả lỗi CFid duge đánh dau
13⁄2 Các thuật toán March
Kích thước của bộ nhớ cảng ngảy lớn và nhiều lôi phức tạp xuất hiện Các thuật toán truyền thông hoặc là không đủ mạnh đẻ phát hiện lỗi hoặc là mắt quả
nhiều thời gian đề chạy kiểm tra Có nhiều thuật toán mới được phát triển nhưng
nếu chủng có độ phức tạp tỉnh toản cao hơn độ phức tạp tuyến tính theo thời gian
thi việc sử dụng sẽ lả không khả thi Hình 1-5 thể hiện mối liên hệ giữa đỏ phức
tạp tỉnh toán và thời gian kiểm tra [2]
14
Trang 29Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
256K 0,0256s | 0.463 13.4s 1.9h
Hình 1-6 So sánh độ phức tạp tính toán và thời gian kiểm tra
Theo hình 1-5, nêu bộ nhớ có kích thước 1Gigabit được kiểm tra với thuật
toán có độ phức tạp tuyển tính n thì thời gian kiểm tra chỉ lả 1.75 phút nhưng nếu
kiểm tra với thuật toán có độ phức tạp nẺ thì sẽ mắt 3659 năm Vì lí do đó, các
thuật toản tuyển tính theo thời gian, đủ đơn giản mà vân phát hiện được các lỗi
SAF, TF, CF được phát triển Chúng ta gọi đó lả các thuật toản March Hiện nay,
thuật toán March đã phát triển rất phô biên vả có rất nhiều thuật toán March bien
thể mới [6]
Một thuật toán March bao gồm một chuỗi cae phan tir March Một phản tử
March bao gồm một chuỗi các lệnh được thực hiện lần lượt trên từng ô nhở của
bộ nhớ Một lệnh có thể bao gồm việc ghi 0 vảo một ö nhớ (w0), ghi 1 vào một ô
nhớ(w1), đọc một ô nhớ với giá trị mong đợi 0 (r0), và đọc một ô nhớ với giá trị
mong đợi 1 (r1) Sau khi tất cả các lệnh của một phân tử March đã được thực hiện trên một ô nhớ xác định, chúng sẽ được thực hiện với ô nhớ tiếp theo Địa
chỉ của ö nhớ tiếp theo được xác định bởi thử tự địa chỉ, có thê có hai thứ tự địa
chỉ: thứ tự địa chỉ tăng từ địa chỉ 0 tới n-1 được mô tả bởi kỷ hiệu †, và thứ tự địa
15
Trang 30giải thuật khả trình
chỉ giảm dẫn được mô tả bởi ký hiệu | Khi thứ tự địa chỉ không cần xét đến, ký hiệu † được sử dụng Ở đây, n mô tả tổng số địa chỉ
Độ phức tạp tính toán của thuật toán March phụ thuộc số lượng lệnh có
trong thuật toán Ví dụ với thuật toán cỏ 10 lệnh đọc/ghi dữ liệu thì độ phức tạp
† Địa chỉ thay đổi theo thứ tự tăng dàn
J Địa chỉ thay đổi theo thứ tự giảm dẫn
w0 Lệnh ghi dữ liệu 0 lên õ nhớ,
wl Lệnh ghi dữ liêu 1 lên 6 nhớ
1.3.2.1 Một số thuật toán March cơ bản
Sau đây lả một số thuật toán March co bản đã được nghiên cứu vả sử dụng,
[2,6.7,12]
a) March X
Thuật toán MARCH X được gọi như vậy vì nó được sử dụng mả không
được công bố chính thức Nỏ có thẻ phát hiện được các lỗi unlinked SAE, AF, TE
và CEin Độ phức tạp tỉnh toán của MARCH X là 6n
{1(w0).†00,w1); 1ứ1;w0).1(0)}
16
Trang 31Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
b)_ MATS+-MATS++
Thuật toán MATS+ phát hiện được tất cả lỗi SAF và AF, nó thường được
sử dụng thay cho thuật toán MATS khi kiểm tra bộ nhớ với công nghệ được sử
dụng chưa rõ Độ phức tạp tính toán là 5n Kí hiệu cho MATS+ như sau
{1(w0);†Œ0,w1);JŒ1,w0)}
MATS++ là một thuật toán hoản chỉnh, đã được tối ưu và không dư thừa
Ngoài các lỗi SAF vả AE, nó có thể phát hiện thêm lỗi TE Độ phức tạp tỉnh toán
là 6n Thuật toán này được đẻ cử cho việc kiểm tra các lỗi unlinked SAF va TF
{1(w0):†Œ0,w1);|(1,w00)}
©) March C, C-
March C thường được dùng đẻ phát hiện các lỗi unlinked Cfid ngoài các
lỗi AF, SAF, unlinked TF, CFst, and unlinked CEin Độ phức tạp tính toán của
March C la 11n
{{(w0);†Œ0,w1);†(r1,w0):†00),|(r0.w1);|Œ1,w0);†(0)}
March C— phát hiện được các lỗi SAF and unlinked TE bởi vì các ô nhớ
được đọc theo trạng thái 0,1,0, Do đó cả chiều chuyển trạng thái † và {, và lềnh đọc sau đỏ đều được diễn ra March C- cũng phát hiện các lỗi CFid, CFin and
CEst với sự giới hạn là các lỗi CF lả không kết nói Độ phức tạp tính toản là 10n
Thuật toán March B là mở rộng của March A, nó phát hiện thêm được lỗi
TTF liên kết với CFin hoặc CFid Đẻ làm được điều này, phân tử MI của March A
được mở rộng thêm hai lệnh đọc vì lỗi TE không thẻ bị che bởi lỗi CE khi không,
có lệnh ghi đến ô nhớ khác Độ phức tạp thuật toán la 17n
17
Trang 32giải thuật khả trình
{1(w0):†0,w1.r1,w0x0,w1);†Œ1,w0,w1);|(r1,w0,w1,w0);|(10,w1,w0)}
ø)_ Khả năng phát hiện lỗi của các thuật toản March cơ bãm
Danh sách 42 thuật toán March cơ bản được sử dụng trong việc thiết kể thuật
toán kiểm tra được liệt kê trong Bảng 1-4 [1,6,7,14]
Bảng 1-4 Bảng danh sách 42 thuật toán March cơ bản
MATS+ March U March LR TFA-I3N
MATS++ March U- SOA-March C | 6N
Marching 1/0 |9N March G Algorithm A
March X March LA March GS March BY
March C Marinescu A [MarchM LA-
March C- AloguthmB | March LRD LAD
March A SOA-CFst MarhLRDD |LADD-
March Y SOA-March B- | March UD March G+
March B SOA-March C-_ | March UD- March PS
Check board _ | March FT
Bang 1-5 chỉ ra kết quả của một số thuật toán March cơ bản kiểm tra bộ
nhớ theo từng bit [3] Ta thấy, chỉ cỏ thuật toán March C- phát hiện hoản toàn
các lỗi CEid vả CEst Các thuật toán March cỏn lại thực tế không được phát triển
để phát hiện các lỗi CF Ngoài ra, các thuật toán March cũng không được chủ
18
Trang 33Nghiên cửu và thiết kế mạch tự kiểm tra và phân tích lỗi bộ nhớ nhúng với
giải thuật khả trình
định phát triển để phát hiên các lỗi SOF Mặc dù khả năng phát hiện lỗi SOF và
các lỗi CF cỏ thẻ tỉnh bằng tay được nhưng rất khỏ khăn va tồn nhiều thời gian
Vi s6 lượng mô hình lỗi và giải thuật kiểm tra ngày càng tăng nên việc tính toán
bằng tay không phải là một phương pháp tốt đẻ dự đoán khả năng phát hiện lỗi
Hiệu suất việc kiểm tra bộ nhở của các thuat toan March co ban so với các
thuật toán truyền thông là rất lớn và có thẻ thấy ở hình 1-6 Kết quả này thu được
dựa trên việc kiểm tra bộ nhớ SRAM 16-Kbit [1,9] Những kết quả này áp dụng
chỉ với các bộ nhớ được kiểm tra Tuy nhiên, do sự tương đồng giữa các công
nghệ SRAM khác nhau và các thiết kế mạch, các kết quả cỏ thẻ được sử dụng
cho bộ nhớ SRAM néi chung
Hình 1-7 Khả nang phát hiện lỗi của một số thuật toán
1.3.2.2 Thuật toán March Cocktail
a) Giới thiệu
Các mô hình lỗi chức năng được sử dụng cho bộ nhớ cân kiểm tra bao gom SAF, TF, AF, CFin, CFid, CFst Tuy nhiên, đề cỏ thể dự đoán lỗi, cần phải biết không chỉ các địa chỉ lôi mả cả nguyên nhân gây ra lỗi Các mô hình lỗi cảng chỉ tiết thì cảng nhiều hành vị chỉ tiết được xác định
19
Trang 34MATS++ (6N) và March C- (L0N) với tất cả kết hợp của các dữ liệu chuẩn nay
đưa ra kết quả ở các bảng dưới đây Trong các bảng nảy, kí hiệu P;¿ là kết hợp 2
dữ liêu chuẩn P; hoặc P;, kí hiệu P;|P; là mö phỏng với đữ liệu chuẩn P; hoặc P;
Bang 1-6 Kết quả mô phỏng thuật toán MATS++ theo word với nhiều dữ liệu chuẩn
Từ hai bảng 1-6 và 1-7, ta thay việc sử dụng nhiều dữ liệu chuân có thể
tăng đáng kẻ khả năng kiêm tra lỗi CF của thuật toản MATS++ nhưng cài thiện
tương đối ít đổi với thuật toán March C- Điều nảy có thê lí giải bởi bản thân thuật toán March C- với 1 dữ liệu chuẩn có thẻ phát hiện tắt cả các lỗi CF giữa
các word khác khau, việc sử dụng thém dữ liệu chuẩn chỉ phát hiện thêm một
phần rất nhỏ các lỗi khác, ví dụ như lỗi bên trong một word của bộ nhớ
20
Trang 35Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
Co thẻ để dàng nhận ra rằng, việc sử dụng thêm các dữ liệu chuẩn có thẻ
khiến khả năng phát hiện lỗi được cải thiện, tuy nhiên, nỏ kéo theo thời gian
kiểm tra cũng tăng lên Số lượng dữ liệu chuẩn được sử dụng tương ứng với số lần tăng lên của thời gian kiểm tra Dựa trên kết quả mô phỏng của hai thuật toán
MATS++ và March C-, ta thấy rằng sử dụng một thuật toán tốt với ít dữ liệu
chuẩn vẫn tốt hơn sử dụng một thuật toán cỏ khả năng phát hiện lỗi kém với
nhiều dữ liệu chuẩn
Một phương pháp được sử dụng rộng rãi đẻ kiểm tra bộ nhớ theo word la
sử dụng các giải thuật kiểm tra bộ nhớ theo bịt với nhiều dữ liệu chuẩn khác nhau
và số lượng dữ liệu chuân cân thiết phải từ logw+1 trở lên, với w là độ rộng word
của bộ nhớ Phương pháp nảy dẫn tới việc nghiên cửu sử dụng các thuật toán
March nao va su két hợp những dữ liệu chuẩn nảo đề vừa phát hiện được day đủ
các lỗi trong bộ nhớ trong khi làm giảm tối đa thời gian cân thiết để kiểm tra bộ
nhớ Đây chính la ly do thuat toan March Cocktail ra đời
Thuat toan March C- với một dữ liệu chuẩn (P1) có thẻ phát hiện hầu hét
các lỗi, do đỏ, nó được chọn làm cơ sở để phát triển thành thuat toan March
Cocktail Nó bao gồm khả năng của một số thuật toán March truyền thông, và
mỗi thuật toán chạy với một dữ liệu chuân riêng [3]
b) Môtäthuật toán
Thuật toán March Coektail được sử dụng de kiểm tra word trong bộ nhớ
Do đỏ, chiều đài chuối kiểm tra của nó phụ thuộc vào số lượng bit của dữ liệu
chuẩn
{†(wD0); †D0,wD0*); †D0*,wD0); D0, wD0*); |(rD0*,wD0, rD0); †(D0);
1(wDI,wD1*.+D1*,wDI,DI);
1(wD2,wD2*.rD2*,wD2,rD2);, 1(wD3,wD3*,rD3*,wD3,rD3);
1(wD4.,wD4*,rD4*,wD4,rD4);
†(wD5.wD5*,rD5*,wDS,rD5)}
21
Trang 36giải thuật khả trình
©)_ Đánh giá thuật toán March Cocktail
Ket qua thu được là tất cả các lỗi trên có thể kiểm tra hoàn toản và hiệu
quả sử dụng thuật toán March-CW [3] Việc sử dụng hai dữ liệu chuẩn P2 vả P3
với các kết hợp khác nhau và được sử dụng dé mô phỏng với các thuật toản đang tổn tại cho kết quả được so sảnh với thuật toán March Cocktail như hinh dưởi
March Y(P3) March Cˆ (P1), MATS++(P2,P3) March CW
0 10N 20N 30N 40N Test Length
Hình 1-8 Đánh giá thời gian kiểm tra của thuật toán March Cocktail
Từ hình 1-6, ta thấy rằng sử dụng kết hợp các thuật toan March dang tôn
tại với các dữ liệu chuẩn khác nhau, khả năng kiểm tra lỗi đây đủ bởi một giải
thuật kiểm tra ngắn hơn, với thởi gian kiểm tra ngắn hơn Thuật toán March
Cocktail có kế quả tốt nhất Với bộ nhớ có độ rộng word bằng 4, thuật toản
March Cocktail giảm 39% thời gian kiểm tra so với thuật toán March C- mở réng
với nhiều đữ liêu chuân
13.23 Tổng kết
Trên đây là các thuật toán tiêu biểu và được sử dụng rông rãi Thực tế,
cảng nhiều thuật toản được triển khai, cảng nhiều lỗi bộ nhớ được phát hiện
Thuat toan March mới được nghiên cửu (March Cocktail) cùng với 42 thuật toán
March cơ bản đã được thống kê và sử dụng trong thực tế Do đỏ trong luận van
này, tôi đề xuất kiến trúc kiểm tra bộ nhớ sử dụng thông tỉn từ 42 thuật toán
March va thuat toan March Cocktail này được đẻ xuất Với số lượng thuật toán
có thể hỗ trợ lớn như vậy, kiến trúc kiểm tra bộ nhớ này có thể phát hiện được
Trang 37Nghiên cửu và thiết kế mạch tự kiểm tra và phân tích lỗi bộ nhớ nhúng với
giải thuật khả trình
nhiều lỗi cho nhiều loại bộ nhớ khác nhau Kiến trúc này đông thời cũng tạo ra sự linh hoạt trong việc lựa chọn thuật toán tốt nhất đẻ kiểm tra cho một loại bộ nhớ nhất định
1.4 Các kỹ thuật kiểm tra bộ nhớ
Có hai vấn đề chính đổi với việc kiểm tra bộ nhớ nhúng Ja lam thé nao dé
kiểm tra được các logic xung quanh bộ nhở nhúng và bản thân bộ nhớ Co 4 ky
thuật cơ bản được sử dụng hiện nay gồm: kiểm tra chức năng, kỹ thuật quét
đường biên bộ nhớ (boundary sean), ghép cách li (multiplexor isolation) va mach
logic tu kiem tra (build-in self-test)
1.4.1 Kiểm tra chức năng
Các bộ nhở nhúng được kiểm tra bằng cách kiểm tra chức năng Đây là
phương pháp hiệu quả nêu hoạt động của chip truy cập trực tiếp vảo các bộ nhớ
Một ví dụ là chíp ví điều khiển với các chỉ thị lệnh đặc biệt đề truy cập vào bộ nhớ đêm, do đỏ việc kiểm tra chức năng cho bộ nhở đêm nảy rất đơn giản
1.4.1.1 - Ưu điểm của kỹ thuật này bao gồm:
s* Không cỏ thêm mạch logic và độ trễ nảo đổi với việc kiểm tra
s# Bất kỷ thuật toán nào cũng có thể sử dụng để kiểm tra
sw Việc kiểm tra có thể thực hiện ở tản số hoạt động của bộ nhở at-speed-
testing
1.4.1.2 Nhược điểm của kỹ thuật này bao gồm:
s* Không hiệu quả cho bộ nhở mà việc truy cập trực tiếp không đơn giản trong chê độ hoạt động chức năng của chip
s# Cân nhiều nguồn lực đề thực hiện việc kiểm tra
s#* Các logic xung quanh bô nhớ không dễ đề kiểm tra
“ Dữ liệu quả trình kiểm tra có thẻ lớn
1.4.2 Kỹ thuật quét đường biên Boundary Scan
Kỹ thuật nảy sử dụng một vòng quét (sean chain) đặt tại đường biên của
bộ nhớ Một bộ ghép được sử dụng để chọn giữa các chân chức năng của bộ nhớ
2
Trang 38giải thuật khã trình
và chân vòng quét Mục đích của việc này lả bắt được nội dung của toản bộ dữ liệu đầu vào và đầu ra của bộ nhớ mà không gây ảnh hưởng đền nội dung của bộ nhớ Một kiên trúc cơ bản của kỹ thuật quét đường biên như sau:
Hình 1-9 Memory boundary scan
Dữ liệu đầu vảo của vỏng quét la chan SDI vả dữ liêu đầu ra là chân SDO 'Việc truy cập dữ liêu tại đầu vào vả đầu ra của bộ nhở được thực hiện bằng cách
dịch tuần tự
1.4.2.1 Ưu điểm của kỹ thuật này gồm có:
#' Khả năng phát hiện lỗi cao bên trong bộ nhớ
# Khả năng phát hiện lỗi cao cho logic xung quanh bộ nhớ nều sử dụng quét
ATPG
$' Bất kỳ thuật toán nào cũng có thể sử dụng đề kiểm tra
* Diện tích mạch logic tăng thêm ít bởi có thêm một sỏ thanh ghi quét ở dau
vào và đầu ra của bộ nhớ
1.42.2 Nhược điểm của kỹ thuật này gồm có:
s#*ˆ Thời gian kiểm tra rất lâu vi cách dịch tuần tự của dữ liệu
s# Không thẻ chạy củng tân số của bộ nhớ at-speed-testing
s* Dữ liệu quả trình kiểm tra rất lớn
s# Hiện không cỏ công cụ thương mại nảo có thể tạo đoạn mã quét cho bộ
nhớ
24
Trang 39Nghiên cứu và thiết kế mạch tự kiêm tra và phân tích lỗi bộ nhở nhưúng với
giải thuật khả trình
1.4.3 Kỹ thuật ghép cách li Multiplexor Isolation
Trong kỹ thuật nảy, một bộ ghép được sử dụng ở đầu vảo của bộ nhớ, vải
tin hiệu đâu vào chính được nói trực tiếp tới đầu vào kiểm tra của bộ ghép dau
vào Tương tự thể, một bộ ghép được sử dụng ở đầu ra của bộ nhớ va dau ra của
bộ nhớ được nỏi trực tiếp tới đâu vào kiểm tra của bộ ghép đầu ra Một kiến trúc
cơ bản của kỹ thuật ghép cách li như sau
Hinh 1-10 Multiplexor Isolation
Kỹ thuật này cung cấp một đường kết nỗi trực tiếp từ các tín hiệu dau vao chính đến đầu vào bộ nhớ, và từ đầu ra bộ nhớ đến các tin hiệu đầu ra chính Nó
có nghĩa là các logie xung quanh đâu vào và đâu ra bộ nhớ được bỏ qua và chúng
ta có thể truy cập trực tiếp vào bộ nhớ thông qua các tín hiệu dau vào chính và
đầu ra chính
1.4.3.1 Ưu điểm của kỹ thuật này bao gồm:
s#' Bất kỳ thuật toán nào cũng có thẻ sử dụng đề kiểm tra
s# Việc kiểm tra có thẻ thực hiện ở tần số hoạt động của bộ nhớ at-speed-
testing
1.4.3.2 Nhược điểm của kỹ thuật này bao gồm:
s# Diện tích tăng thêm do quá trình định tuyến các kết nói là rất lớn
“ Dir liéu quá trình kiểm tra có thể lớn
s# Logic xung quanh bộ nhớ khó kiêm tra
25
Trang 40giải thuật khả trình
1.4.4 Mạch logic tự kiểm tra Build-in self-test
Mạch logic tự kiểm tra là giải pháp tốt nhật cho việc kiểm tra bộ nhở
nhúng Bộ nhớ thường được kiểm tra bằng một đoạn mã do thuật toán kiểm tra
tạo ra Việc thiết kế khỏi tạo dữ liệu đầu vào vả khối phân tích đáp ứng dữ liệu
đầu ra được gọi là mạch logic tự kiểm tra Build-in self-test (BIST) Khdi tạo dữ
liêu và khối phân tích đáp ứng được điêu chỉnh đẻ phủ hợp với từng bộ nhở cần kiểm tra Một kiên trủc cơ bản của mạch logic tự kiểm tra như sau [6,8,14]}
Hình 1-11 Kiến trúc mạch Build-in self-test
Với kiển trúc BIST như trên, việc kiểm tra từ bên ngoài không cần được sit dung Kỹ thuật này xuất phát từ ý tưởng xây dựng một thuật toán kiêm tra có
khả năng phát hiện lỗi cao nhưng lai dé dang thiết kế ở mức mạch logic phan
cứng
1.4.4.1 Ưu điểm của kỹ thuật này bao gồm:
s#' Không cần nhiều nguồn lực cho việc kiêm tra
s+ Sử dụng được các thiết bị kiểm tra không đắt tiền
s Việc kiếm tra có thẻ thực hiện ở tan số hoạt động của bộ nhớ at-speed-
testing
# Dữ liệu quả trinh kiểm tra thấp
* Việc kiểm tra được thực hiện tại các tảng khác nhau như: chip, bo mach va
hệ thông,
26