Bối cảnh và vấn đề nghiên cứu

Trong những thập kỷ gần đây, ngành công nghiệp vi điện tử đã đạt được những bước tiến vượt bậc nhờ vào công nghệ chế tạo bán dẫn mật độ cao. Sự phát triển này tạo nền tảng then chốt cho các ngành công nghệ thông tin, điện tử viễn thông và thiết bị điện tử tiêu dùng. Trong bối cảnh đó, việc làm chủ quy trình thiết kế vi mạch tích hợp chuyên dụng (Application-Specific Integrated Circuits - ASIC) theo luồng thiết kế hệ thống trên chip (System on Chip - SoC) trở thành một yêu cầu cấp thiết.

Cùng với sự gia tăng về quy mô và độ phức tạp của vi mạch, việc kiểm tra lỗi vật lý phát sinh sau quy trình chế tạo (silicon errors / manufacturing faults) ngày càng trở nên phức tạp. Các khiếm khuyết vật lý phổ biến như chạm nguồn, chạm đất (stuck-at faults), đứt đường mạch kim loại hoặc dính mạch (short circuits) làm suy giảm nghiêm trọng độ tin cậy và tỷ lệ xuất xưởng vi mạch hoạt động tốt (yield). Nếu trước đây việc kiểm tra lỗi chỉ được thực hiện độc lập sau khi hoàn tất chu trình thiết kế, thì quy trình vi mạch hiện đại đòi hỏi phải tích hợp các kỹ thuật thiết kế hướng kiểm thử (Design for Testability - DFT) trực tiếp vào các giai đoạn thiết kế logic. Kỹ thuật DFT giúp đảm bảo mọi nút (node) bên trong vi mạch đều đạt được hai thuộc tính then chốt: tính điều khiển được (controllability) và tính quan sát được (observability).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:

  1. Nghiên cứu hệ thống lý thuyết về phương pháp DFT, các kỹ thuật kiểm tra biên (Boundary Scan / JTAG theo chuẩn IEEE 1149.1), tự kiểm tra tích hợp cho bộ nhớ (Memory BIST), tự kiểm tra tích hợp cho khối logic (Logic BIST), và kỹ thuật chèn chuỗi quét (Scan Insertion).
  2. Phân tích cấu trúc các loại phần tử quét (Scan Cells) và kỹ thuật nén chuỗi quét (Scan Compression) nhằm giảm thời gian cũng như dung lượng dữ liệu kiểm thử trên thiết bị kiểm tra tự động (Automatic Test Equipment - ATE).
  3. Xây dựng môi trường thiết kế, thiết lập thông số công cụ (Synopsys DFT Compiler) và áp dụng kỹ thuật chèn chuỗi quét vào lõi vi xử lý ARM Cortex-M0 (sử dụng thiết kế mẫu từ bộ gói ARM DesignStart).
  4. Khảo sát, nhận diện và khắc phục các vi phạm kiểm tra luật thiết kế kiểm thử (DFT DRC violations) thông qua phương pháp sửa đổi kỹ thuật (Engineering Change Order - ECO) để tối ưu hóa độ phủ kiểm thử (Test Coverage).

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Lõi vi xử lý ARM Cortex-M0 thuộc gói thiết kế ARM DesignStart, các phần tử logic tuần tự (flip-flop, chốt) và mạng logic tổ hợp của vi xử lý sau giai đoạn tổng hợp logic (post-synthesis netlist).
  • Phạm vi không gian và học thuật: Đề tài được thực hiện tại Bộ môn Kỹ thuật Máy tính, Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh, dưới sự hướng dẫn của TS. Nguyễn Minh Sơn và ThS. Nguyễn Duy Mạnh Thi, theo Quyết định thành lập hội đồng số 462/QĐ-ĐHCNTT ngày 23 tháng 07 năm 2021.
  • Phạm vi kỹ thuật: Tập trung vào mô hình lỗi kẹt tĩnh (stuck-at fault model), kỹ thuật quét toàn phần (Full Scan), phương pháp nén quét DFTMAX và kỹ thuật xử lý vi phạm DFT DRC (D1, D2, D3, D7, D9) bằng chèn mạch MUX điều khiển.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và các khái niệm cốt lõi

Khóa luận xây dựng trên nền tảng lý thuyết kiểm thử vi mạch số và các tiêu chuẩn công nghiệp về DFT:

  • Mô hình lỗi vật lý và độ phủ kiểm thử: DFT không kiểm tra lỗi sai chức năng thiết kế (functional faults) mà tập trung vào các lỗi vật lý xuất hiện trong quá trình chế tạo silicon. Khả năng kiểm tra được định lượng qua hai chỉ số:

    • Độ phủ lỗi (Fault Coverage - FC): Tỷ lệ phần trăm giữa số lượng nút có thể kiểm tra được trên tổng số nút của thiết kế: $$\text{Fault Coverage} = \frac{\text{Số nút có thể kiểm tra}}{\text{Tổng số nút}}$$
    • Độ phủ kiểm thử (Test Coverage - TC): Tỷ lệ phần trăm giữa số lượng nút thực tế đã được kiểm tra bằng các mẫu kiểm thử (test patterns) trên tổng số nút có thể kiểm tra: $$\text{Test Coverage} = \frac{\text{Số nút đã được kiểm tra}}{\text{Số nút có thể kiểm tra}}$$
  • Kỹ thuật Scan Insertion: Thay thế các phần tử nhớ tuần tự thông thường (non-scan cells) bằng các phần tử quét chuyên dụng (scan cells), sau đó nối chúng tuần tự thành một hoặc nhiều chuỗi thanh ghi dịch gọi là chuỗi quét (scan chains / scan paths). Quá trình này giúp chuyển bài toán tạo mẫu kiểm thử cho mạch tuần tự phức tạp thành bài toán cho mạch tổ hợp đơn giản hơn.

  • Các cấu trúc Scan Cell: Khóa luận khảo sát 6 cấu trúc phần tử quét chính:

    1. Multiplexer Flip-Flop: Bổ sung bộ ghép kênh 2-sang-1 tại đầu vào dữ liệu của D-FF, điều khiển bởi tín hiệu scan_enable. Diện tích tăng khoảng 15% so với D-FF chuẩn.
    2. Multiplexer Latch Master-Slave: Sử dụng hai chốt với hai tín hiệu xung nhịp không chồng lấn (master_clock và slave_clock).
    3. Clocked Scan (cho FF và Latch): Điều khiển chế độ chức năng theo mức xung nhịp và chế độ quét theo sườn xung nhịp kiểm tra.
    4. Single Latch LSSD (Level Sensitive Scan Design): Thay thế chốt đơn bằng cặp chốt Master-Slave với hai xung kiểm tra scan_clock_a và scan_clock_b không chồng lấn; diện tích tăng 100% hoặc hơn.
    5. Double Latch LSSD: Thay thế cặp chốt, diện tích tăng từ 15% đến 30%.
    6. Auxiliary-Clocked LSSD: Hỗ trợ hai chế độ dịch quét song song (parallel) và nối tiếp (serial) thông qua ba tín hiệu xung nhịp kiểm tra.
  • Kỹ thuật tạo mẫu kiểm thử tự động (ATPG): Sử dụng công cụ ATPG để sinh mẫu kiểm thử dựa trên hai phương pháp: phương pháp ngẫu nhiên (random technique) và phương pháp tất định (deterministic technique) nhằm kích hoạt và lan truyền ảnh hưởng của lỗi kẹt ra các đầu ra quan sát được.

  • Kỹ thuật nén quét (Scan Compression): Chia các chuỗi quét dài tiêu chuẩn thành nhiều chuỗi quét ngắn hơn đặt song song. Hệ thống sử dụng khối giải nén (Decompressor) ở đầu vào và khối nén (Compressor) ở đầu ra, tạo thành cấu trúc Codec.

    • Hệ số giảm thời gian kiểm thử (Test Application Time Reduction - TATR): $$\text{TATR} = \frac{\text{Số mẫu quét thường} \times \text{Chiều dài chuỗi quét thường}}{\text{Số mẫu nén} \times \text{Chiều dài chuỗi nén}}$$
    • Hệ số giảm dung lượng dữ liệu kiểm thử (Test Data Volume Reduction - TDVR): $$\text{TDVR} = \frac{\text{Số mẫu quét thường} \times \text{Dữ liệu chân quét thường}}{\text{Số mẫu nén} \times \text{Dữ liệu chân quét nén}}$$

Bảng tổng hợp đặc tính các loại Scan Cell

Loại Scan Cell Cấu tạo phần cứng Tác động tốc độ Độ tăng diện tích Tín hiệu điều khiển bổ sung
Multiplexer Flip-Flop MUX 2:1 + D-FF Tăng trễ đường truyền ~15% scan_enable, scan_in
Clocked Scan (Latch/FF) Latch/FF + Cổng xung kiểm tra Không đáng kể 15% - 30% test_scan_clock, scan_in
Single Latch LSSD Master Latch + Slave Latch phụ Không ảnh hưởng $\ge$ 100% scan_clock_a, scan_clock_b
Double Latch LSSD Master Latch + Slave Latch Ít ảnh hưởng 15% - 30% scan_clock_a, scan_clock_b
Clocked LSSD Cặp Master-Slave Latches Không đáng kể 40% - 80% scan_clock_a, scan_clock_b
Auxiliary-Clocked LSSD Cặp Latches + Xung phụ Giới hạn tốc độ Tăng diện tích dây 3 đường xung nhịp kiểm tra

Phương pháp nghiên cứu và nguồn dữ liệu

Nghiên cứu sử dụng kết hợp các phương pháp:

  • Phương pháp phân tích - tổng hợp thiết kế vi mạch: Phân tích netlist sau tổng hợp của vi xử lý ARM Cortex-M0 và tích hợp luồng DFT công nghiệp của Synopsys.
  • Phương pháp thực nghiệm mô phỏng và kiểm tra quy tắc (DRC Analysis): Chạy kiểm tra DFT DRC trên công cụ DesignVision/DFT Compiler, phát hiện các điểm nút không điều khiển được hoặc không quan sát được.
  • Phương pháp can thiệp kỹ thuật (DFT ECO): Chèn các cổng logic bổ sung (MUX) và thiết lập tín hiệu kiểm thử chuyên dụng nhằm triệt tiêu vi phạm DRC.
  • Nguồn dữ liệu: Mã nguồn RTL và netlist tổng hợp từ gói ARM DesignStart Cortex-M0, thư viện công nghệ tế bào chuẩn bán dẫn ASIC, cùng hệ thống lệnh điều khiển của bộ công cụ Synopsys DFT Compiler và TetraMAX.

Thiết kế và triển khai

Luồng thực hiện chèn chuỗi quét (Scan Insertion Flow)

Quy trình chèn cấu trúc quét vào thiết kế ARM Cortex-M0 được thực hiện theo 8 bước chuẩn:

  1. Đọc thiết kế (Read Design): Nạp netlist đã được ánh xạ công nghệ (read_ddc, read_verilog).
  2. Khởi tạo giao thức kiểm thử (Create Test Protocol): Khai báo các tín hiệu phục vụ kiểm thử bằng lệnh set_dft_signal và thiết lập giao thức thông qua lệnh create_test_protocol.
  3. Kiểm tra luật thiết kế kiểm thử ban đầu (Pre-DFT DRC): Thực hiện lệnh dft_drc để xác định các vi phạm quy tắc thiết kế trước khi chèn chuỗi quét.
  4. Định hình kiến trúc quét (Specify Scan Architecture): Thiết lập số lượng chuỗi quét, quy tắc phân bổ miền xung nhịp bằng các lệnh set_scan_configuration, set_scan_path, định dạng tên cổng quét test_scan_in_port_naming_style và test_scan_out_port_naming_style.
  5. Xem trước kiến trúc quét (Preview Scan Architecture): Sử dụng lệnh preview_dft để kiểm tra trực quan sơ đồ kết nối trước khi áp dụng chính thức vào netlist.
  6. Chèn đường quét (Insert Scan Paths): Tự động thay thế tế bào tuần tự và nối chuỗi bằng lệnh insert_dft.
  7. Kiểm tra DRC và ước lượng độ phủ sau chèn quét (Post-DFT DRC Coverage): Chạy lại dft_drc để xác nhận tính toàn vẹn của các chuỗi quét và ước lượng độ phủ kiểm thử ATPG.
  8. Bàn giao thiết kế (Handoff Design): Xuất các tập tin phục vụ các bước tiếp theo trong quy trình thiết kế vật lý và kiểm thử: netlist Verilog, tập tin DDC, giao thức cho TetraMAX, tập tin Test Model (write_test_model) và Scandef.

Các biến môi trường và thiết lập biên dịch áp dụng

Trong quá trình tổng hợp và chèn DFT, nhóm tác giả đã thiết lập các biến biên dịch chuyên dụng nhằm đảm bảo tối ưu hóa cấu trúc chuỗi quét:

  • compile_delete_unloaded_sequential_cells: Xóa các ô tuần tự không tải.
  • compile_seqmap_identify_shift_registers và compile_seqmap_identify_shift_registers_with_synchronous_logic: Nhận diện các cấu trúc thanh ghi dịch có sẵn để tái sử dụng.
  • test_disable_enhanced_dft_drc_reporting: Điều chỉnh chế độ báo cáo lỗi DRC.
  • auto_wire_load_selection: Tự động chọn mô hình tải dây dẫn.
  • verilogout_show_unconnected_pins: Hiển thị rõ các chân không kết nối khi xuất netlist Verilog.
  • compile_seqmap_propagate_constant, compile_seqmap_enable_output_inversion, case_analysis_with_logic_constants: Tối ưu hóa logic lan truyền hằng số và đảo ngõ ra.
  • set_fix_multiple_port_nets, set_dft_insertion_configuration: Khống chế việc chèn phần tử quét trên các đường net nối nhiều cổng.

Xử lý vi phạm DFT DRC bằng phương pháp DFT ECO

Trong quá trình phân tích DRC, một số cấu trúc phần cứng gây cản trở hoạt động quét:

  • Xung nhịp không điều khiển được (Uncontrollable Clock): Xung nhịp đi qua mạch Clock Gating hoặc các khối logic tổ hợp phức tạp khiến đầu vào CLK của Flip-Flop không hoạt động đúng ở chế độ quét. Tác giả khắc phục bằng cách chèn bộ MUX trước đầu vào CLK, điều khiển bằng tín hiệu chế độ kiểm tra TM (scan_mode).
  • Tín hiệu bất đồng bộ không khống chế được (Uncontrollable Reset/Clear/Set): Tín hiệu Reset hoặc Set/Clear bất đồng bộ nếu tích cực trong lúc quét sẽ làm gián đoạn chuỗi dịch dữ liệu (vi phạm các luật D1, D2, D3, D7, D9). Tác giả đã chèn MUX trước các đầu vào RSTB, SETB hoặc điểm chung của các đường điều khiển để ép các chân này về trạng thái không tích cực (inactive level) trong suốt quá trình dịch quét.
  • Tín hiệu xung nhịp dùng làm dữ liệu và vòng lặp phản hồi (Loop Logic): Nhận diện các cấu trúc hồi tiếp và loại bỏ hoặc cô lập để tránh suy giảm độ phủ kiểm thử.

Triển khai cấu trúc nén quét (Scan Compression)

Nhóm tác giả thiết lập chế độ nén quét thông qua lệnh set_scan_compression_configuration. Kỹ thuật này cấu hình khối giải nén Decompressor nhận dữ liệu từ các cổng Scan_In truyền vào số lượng lớn các chuỗi quét nén ngắn hơn (ví dụ chuỗi nén 21), sau đó dữ liệu qua mạch Compressor nén lại để đưa ra các cổng Scan_Out, tối ưu hóa hiệu năng kiểm thử của chip trên máy đo ATE.


Nội dung chính theo từng chương

Giới thiệu tổng quan về DFT và các khái niệm cơ bản (Introduction about DFT & Concepts)

Chương này trình bày lý do ra đời của DFT, phân biệt giữa lỗi sai chức năng và lỗi chế tạo vật lý trên tấm bán dẫn. Tác giả phân tích chi tiết các kỹ thuật DFT phổ biến gồm Boundary Scan (IEEE 1149.1 / JTAG), Memory BIST (cơ chế dịch mẫu 0/1 kiểm tra ô nhớ và sử dụng từ nhớ dự phòng reserved word để sửa lỗi), và Logic BIST.

Chương phân tích toàn diện 6 cấu trúc Scan Cell kèm bảng chân trị và sơ đồ logic chi tiết. Tiếp đó, chương trình bày các phương pháp quét: Full Scan (quét toàn phần), Part Scan (quét một phần) và Partition Scan (quét phân vùng cho các khối phân cấp phức tạp). Các vấn đề trở ngại khi chèn quét như xung nhịp qua mạch Clock Gating, xung nhịp dùng làm đường dữ liệu, tín hiệu Reset/Clear bất đồng bộ, vòng lặp hồi tiếp và phần tử chốt (latches) được phân tích kèm giải pháp chèn cổng MUX. Cuối chương giới thiệu phương pháp ATPG (ngẫu nhiên và tất định) và cơ chế nén quét DFTMAX (cấu trúc Codec, Decompressor, Compressor, công thức tính TATR và TDVR).

Tổng quan về kiến trúc vi xử lý ARM Cortex-M0 và thiết kế hệ thống (ARM Cortex-M0 & System Design Overview)

Chương này giới thiệu chi tiết cấu trúc phần cứng của bộ xử lý ARM Cortex-M0 tiêu chuẩn và phiên bản vi xử lý Cortex-M0 trong bộ gói ARM DesignStart. Tác giả phân tích sơ đồ khối chức năng, sơ đồ khối rút gọn của vi xử lý và hệ thống vi điều khiển mẫu (DesignStart's example microcontroller system top-level view).

Chương cũng làm rõ cấu trúc netlist và các khối chức năng của hệ thống sau bước tổng hợp logic (Structure Block after Synthesis), xác định số lượng và vị trí của các phần tử nhớ tuần tự cần được thay thế trong quá trình chèn DFT.

Xây dựng môi trường và phân tích kỹ thuật ECO DFT (Build Environment & Analyze ECO DFT)

Chương 3 đi sâu vào các bước cấu hình thực tế trong môi trường thiết kế. Nội dung bao gồm việc thiết lập các biến môi trường, nạp thư viện công nghệ ASIC, định thời tín hiệu kiểm thử và định dạng tên cổng vào/ra cho các đường quét. Tác giả trình bày chi tiết các lệnh cấu hình của DFT Compiler (set_scan_configuration, set_dft_insertion_configuration, set_fix_multiple_port_nets, report_dft_configuration, report_scan_configuration).

Chương tập trung phân tích các dạng vi phạm luật thiết kế kiểm thử (DFT DRC Violations) xuất hiện trước và sau khi chèn quét:

  • Đầu vào CLK của FF không được điều khiển hoặc không kích hoạt khi mở clock.
  • Đầu vào SET/RST của FF không khống chế được trạng thái.
  • Đầu vào CLK không bắt được dữ liệu (cannot capture data) hoặc xuất hiện vòng lặp trạng thái ở đầu ra.
  • Chi tiết các kịch bản script ECO chèn cổng MUX trước các đầu vào CLK, SETB, RSTB, A2 hoặc điểm chung của các tín hiệu để khắc phục triệt để các vi phạm quy tắc D1, D2, D3, D7, D9.

Kết quả thực nghiệm và đánh giá độ phủ kiểm thử (DFT Implementation Results & Test Coverage Analysis)

Chương trình bày các kết quả thực nghiệm sau khi áp dụng luồng thiết kế DFT vào ARM Cortex-M0:

  • Sơ đồ nguyên lý mạch trước và sau khi thực hiện insert_dft.
  • Báo cáo cấu trúc các chuỗi quét tiêu chuẩn: số lượng chuỗi, số lượng flip-flop trên từng chuỗi, và ánh xạ các cổng Scan_In/Scan_Out.
  • Đánh giá sự cải thiện của độ phủ kiểm thử (Test Coverage) trước và sau khi chạy kịch bản DFT ECO xử lý lỗi vi phạm Reset/Clock DRC.
  • Kết quả triển khai chế độ nén quét (Scan Compression): cấu trúc Codec, phân bổ các chuỗi quét nén, cấu hình khối Decompressor và Compressor kết nối với các cổng Scan_In và Scan_Out, cùng báo cáo vi phạm DFT DRC và chỉ số Test Coverage tương ứng ở chế độ nén.

Kết quả và đóng góp

Kết quả đạt được

Khóa luận đã thực hiện thành công việc áp dụng các kỹ thuật DFT trên lõi vi xử lý ARM Cortex-M0 với các kết quả cụ thể:

  1. Xây dựng hoàn chỉnh luồng thiết kế DFT: Thiết lập toàn bộ quy trình từ khâu tiếp nhận netlist tổng hợp, tạo giao thức kiểm thử, kiểm tra DRC, cấu hình chuỗi quét, chèn quét đến xuất tập tin bàn giao cho công đoạn backend và kiểm tra ATE.
  2. Xử lý triệt để các vi phạm DFT DRC: Thông qua việc phân tích nguyên nhân phần cứng và áp dụng các kịch bản ECO chèn MUX điều khiển, toàn bộ các lỗi vi phạm quy tắc D1, D2, D3, D7, D9 đối với tín hiệu xung nhịp và tín hiệu Reset/Set bất đồng bộ đã được khắc phục.
  3. Cải thiện độ phủ kiểm thử (Test Coverage): Việc sửa lỗi DRC qua ECO giúp các phần tử tuần tự trong thiết kế đạt khả năng điều khiển và quan sát tối đa, nâng cao độ phủ kiểm thử của vi xử lý sau chèn quét.
  4. Tối ưu hóa hiệu năng kiểm thử bằng nén quét: Áp dụng thành công kỹ thuật nén quét với cấu trúc Codec (Decompressor và Compressor), chia nhỏ các chuỗi quét dài thành nhiều chuỗi ngắn song song. Kết quả phân tích lý thuyết và thực nghiệm cho thấy thời gian kiểm tra (TATR) được cắt giảm đáng kể (trong ví dụ tính toán của đề tài, thời gian nạp mẫu giảm hơn 8 lần, từ 2.000.000 chu kỳ xuống còn 240.000 chu kỳ).

Đóng góp của đề tài

  • Hệ thống hóa toàn diện cơ sở lý thuyết về DFT, đặc biệt là việc phân loại chi tiết cấu trúc, nguyên lý hoạt động và bảng chân trị của 6 loại tế bào quét (Scan Cell) trong thiết kế ASIC.
  • Cung cấp giải pháp kỹ thuật cụ thể và tập kịch bản lệnh (scripts) trên công cụ Synopsys DFT Compiler để giải quyết các bài toán xung nhịp qua Clock Gating và tín hiệu bất đồng bộ không khống chế được.
  • Minh chứng tính khả thi và hiệu quả của việc kết hợp kỹ thuật quét toàn phần (Full Scan) với kỹ thuật nén quét (Scan Compression) trên lõi vi xử lý ARM Cortex-M0.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài

  • Khóa luận chủ yếu tập trung vào mô hình lỗi kẹt tĩnh (Stuck-At Fault Model), chưa đi sâu khảo sát các mô hình lỗi động ở tần số hoạt động thực tế của chip như lỗi trễ chuyển mạch (Transition Delay Fault) hay lỗi trễ đường truyền (Path Delay Fault / At-Speed Testing).
  • Việc chèn thêm các cổng logic phụ trợ (bộ ghép kênh MUX) trong quá trình sửa lỗi ECO và khối Codec phục vụ nén quét làm gia tăng diện tích vi mạch (area overhead) và có thể gây trễ bổ sung trên đường truyền tín hiệu chức năng.

Hạn chế và hướng nghiên cứu tiếp theo

  • Mở rộng nghiên cứu áp dụng kỹ thuật kiểm thử trễ ở tốc độ thực tế (At-Speed Test Pattern Generation) để phát hiện các lỗi định thời trên lõi ARM Cortex-M0.
  • Kết hợp kỹ thuật Logic BIST và Memory BIST hoàn chỉnh cho các khối bộ nhớ SRAM tích hợp trong vi điều khiển nhằm giảm phụ thuộc vào thiết bị kiểm tra ATE bên ngoài.
  • Nghiên cứu tối ưu hóa vị trí vật lý của chuỗi quét (Physical-aware Scan Reordering) ở giai đoạn thiết kế Backend (Place & Route) nhằm giảm độ dài dây nối và giải tỏa nghẽn vi mạch.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên cao học thuộc các chuyên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Thiết kế Vi mạch / Bán dẫn: Tài liệu cung cấp kiến thức nền tảng và hướng dẫn thực hành chi tiết về luồng thiết kế DFT tiêu chuẩn công nghiệp.
  • Kỹ sư thiết kế DFT và kỹ sư tổng hợp logic (Synthesis Engineers): Phần phân tích bảng chân trị các loại Scan Cell (Chương 1) và các giải pháp script ECO xử lý vi phạm xung nhịp/Reset DRC (Chương 3) là tài liệu tham khảo trực tiếp cho các dự án thiết kế SoC trên nền tảng công cụ Synopsys.

Câu hỏi thường gặp

1. Mục đích chính của việc áp dụng kỹ thuật DFT trong khóa luận này là gì?
Kỹ thuật DFT được áp dụng nhằm phát hiện các lỗi vật lý phát sinh trong quá trình chế tạo chip silicon (như dính nguồn, dính đất, đứt mạch hoặc chạm chập dây dẫn), giúp kiểm tra và loại bỏ các chip lỗi trước khi xuất xưởng. DFT không dùng để kiểm tra lỗi sai chức năng thiết kế (functional bugs).

2. Điểm khác biệt căn bản giữa chế độ quét thường (Standard Scan) và nén quét (Compressed Scan) là gì?
Ở chế độ Standard Scan, mỗi chuỗi quét dài tương ứng với một cổng quét vào và một cổng quét ra riêng biệt. Ở chế độ Compressed Scan, các chuỗi quét dài được chia thành nhiều chuỗi ngắn hơn đặt song song, sử dụng bộ giải nén (Decompressor) ở đầu vào và bộ nén (Compressor) ở đầu ra để chia sẻ chung số lượng chân quét vào/ra, giúp giảm mạnh số chu kỳ nạp mẫu và thời gian kiểm thử trên ATE.

3. Tại sao các tín hiệu xung nhịp qua mạch Clock Gating hoặc tín hiệu Reset/Clear bất đồng bộ lại gây ra vi phạm DFT DRC?
Vì trong chế độ kiểm thử dịch quét, toàn bộ các phần tử nhớ phải được điều khiển đồng bộ bởi xung nhịp kiểm tra và các chân bất đồng bộ phải được giữ ở trạng thái không kích hoạt (inactive). Nếu xung nhịp đi qua mạch logic phức tạp hoặc tín hiệu Reset/Clear bị kích hoạt ngoài tầm kiểm soát, Flip-Flop sẽ mất khả năng bắt dữ liệu quét hoặc làm mất dữ liệu đang dịch, dẫn đến các vi phạm quy tắc D1, D2, D3, D7, D9.

4. Nhóm tác giả đã giải quyết các lỗi vi phạm DFT DRC bằng giải pháp kỹ thuật nào?
Nhóm tác giả đã sử dụng phương pháp DFT ECO, chèn thêm các bộ ghép kênh (MUX) điều khiển bởi tín hiệu chế độ kiểm tra (scan_mode hoặc test_asynch) trước các chân CLK, SETB, RSTB của Flip-Flop. Giải pháp này cho phép mạch hoạt động bình thường ở chế độ chức năng nhưng ép các chân điều khiển về trạng thái ổn định, kiểm soát được trong chế độ dịch quét.

5. Hệ số giảm thời gian kiểm tra (TATR) được tính toán như thế nào trong đề tài?
Hệ số TATR được tính bằng tỷ số giữa tích của số mẫu quét thường với chiều dài chuỗi quét thường chia cho tích của số mẫu nén với chiều dài chuỗi nén. Trong ví dụ minh họa của đề tài, cấu hình quét thường cần $2.000 \times 1.000 = 2.000.000$ chu kỳ, trong khi cấu hình nén cần $2.400 \times 100 = 240.000$ chu kỳ, giúp giảm thời gian kiểm tra hơn 8,33 lần.


Kết luận

Khóa luận tốt nghiệp của sinh viên Đào Vĩnh Hiển và Nguyễn Vũ Quang Vinh đã giải quyết trọn vẹn bài toán áp dụng các kỹ thuật thiết kế hướng kiểm thử (DFT) vào lõi vi xử lý ARM Cortex-M0 theo quy trình thiết kế ASIC tiêu chuẩn. Đề tài đã hệ thống hóa cơ sở lý thuyết về các phần tử quét, làm rõ luồng chèn chuỗi quét, đồng thời khắc phục triệt để các vi phạm luật thiết kế kiểm thử thông qua phương pháp can thiệp kỹ thuật ECO bằng cổng MUX. Kết quả triển khai cấu trúc nén quét DFTMAX đã chứng minh khả năng tối ưu hóa vượt trội về thời gian và dung lượng kiểm thử, mang lại tài liệu tham khảo có giá trị kỹ thuật thực tiễn cao cho lĩnh vực thiết kế và kiểm thử vi mạch số.