Original Research Open Access Logo

Automatic chip testing system

Trang Thi Thu Tran 1
Phuoc-Loc Diep 1
Vu-Huynh-Tuan Phan 2
Tien-Loc Nguyen 1
Trung-Khanh Le 1
Quoc-Hung Huynh 3
Duc-Hung Le 1, *
  1. DESLAB, Faculty of Electronics and Telecommunications, University of Science, Vietnam National University Ho Chi Minh City
  2. ESLAB, Faculty of Electronics and Telecommunications, University of Science, Vietnam National University Ho Chi Minh City
  3. Savarti Company Limited, Ho Chi Minh city, Vietnam
Correspondence to: Duc-Hung Le, DESLAB, Faculty of Electronics and Telecommunications, University of Science, Vietnam National University Ho Chi Minh City. Email: phamvanphuc2308@gmail.com.
Volume & Issue: Vol. 3 No. 3 (2019) | Page No.: 235-243 | DOI: 10.32508/stdjns.v3i3.605
Published: 2020-02-17

Online metrics


Statistics from the website

  • Abstract Views: 0
  • Galley Views: 0

Statistics from Dimensions

This article is published with open access by Viet Nam National University Ho Chi Minh City, Viet Nam. This article is distributed under the terms of the Creative Commons Attribution License (CC-BY 4.0) which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.

Abstract

In this paper, we implement an automatic chip testing system which can be applied on various types of chip packages. The conventional systems, such as manual chip testing systems, often repeat the same steps for input conditions; or high-cost testing systems are designed to be highly optimized, but the installation and operating costs are very expensive. This makes these systems difficult to be applied in education, research or small companies. The automatic chip testing system overcomes the above two weaknesses. The proposed system not only meets the requirement of a basic chip testing process, but also operates automatically and reduces the cost. Users only need to provide input data via a Graphical User Interface (GUI) which is built using C# programming language, then the system will automatically operate and return the corresponding output data to the software to synthesize and compare with the user’s expected data. The hardware is built on the TR4 FPGA Development Kit which helps save the cost of hardware design and its resources. The software and hardware withcommunicate to each other via Universal Asynchronous Receiver-Transmitter (UART) protocol. The proposed system is automatic, optimized and low-cost so that it can be applied both in IC design education and industry.

GIỚI THIỆU

Thiết kế vi mạch ngày càng phát triển và giữ vai trò quan trọng trong sự tiến bộ không ngừng của công nghệ điện tử. Khi nhu cầu sản xuất chip ngày càng cao, hàng loạt các loại chip tối ưu về thời gian, công suất, giá thành và công nghệ ra đời thì yêu cầu kiểm tra những sản phẩm chip cũng ngày càng tăng cao. Do đó, việc xây dựng một hệ thống test chip tự động giữ một vai trò cực kì quan trọng. Lý do thứ nhất là hệ thống này giúp các công ty tiết kiệm chi phí đầu tư vào hệ thống lớn, đó là những hệ thống không cần dùng thường xuyên nhưng chiếm chi phí cao như Advantest2, 1, LTX-Credence 3, Teradyne 4. Thứ hai, việc xây dựng hệ thống test chip tự động cũng giảm bớt áp lực cho các công ty về mặt đầu tư nhân sự khi các kỹ sư là những người chuyên thiết kế, không thiên về kiểm tra chip – một công việc chỉ diễn ra khi có sản phẩm chip hoàn thành. Cuối cùng, quy trình test chip thủ công bằng cách đưa từng dữ liệu vào và quan sát kết quả ra tương ứng hiện tại rất mất thời gian, lặp đi lặp lại một số thao tác và quy trình quen thuộc nên cần phải tối ưu quá trình này. Hệ thống test chip tự động tận dụng tài nguyên có sẵn trên Field-Programmable Gate Array (FPGA) để xây dựng quy trình tự động từ việc đưa dữ liệu vào chip đến việc lấy dữ liệu ngõ ra từ chip, sau đó tổng hợp kết quả, so sánh và hiển thị trực quan cho người dùng.

Trong bài báo này, chúng tôi mô tả về một quy trình test chip cơ bản, trình bày hệ thống test chip tự động, và các kết quả thực hiện được.

Phương pháp quy trình test chip cơ bản

Trong quá trình sản xuất chip, giá trị kiểm tra sản phẩm chip chiếm đến 60-70% tổng giá trị dự án (về mặt con người, tính toán và thời gian). Do đó, khi một chip được thiết kế, ngoài việc cân đối giữa các yếu tố về mặt tài nguyên, tốc độ, công suất, giá thành thì khả năng kiểm tra thiết kế cũng là yếu tố cần được cân nhắc và đặt lên hàng đầu.

Figure 1 mô tả quá trình kiểm tra thiết kế từ khi có yêu cầu thiết kế đến khi sản xuất và mối tương quan giữa quá trình kiểm tra với quá trình thiết kế5.

Figure 1

Các loại kiểm tra thiết kế.

Quá trình kiểm tra thiết kế gồm 2 bước :

i) Kiểm tra trong quá trình thiết kế (Verification): Khi thiết kế phần cứng, có thể sử dụng các công cụ phần mềm để kiểm tra độ chính xác ở từng bước thiết kế. Quá trình thực hiện trên phần mềm nên rất tối ưu và tiết kiệm thời gian, công sức. Verification đóng vai trò rất quan trọng vì đảm bảo thiết kế phải hoạt động đúng trên mô phỏng. Nếu mô phỏng bị lỗi, chip chắc chắn sẽ không hoạt động, không cần tốn chi phí sản xuất ra chip.

ii) Kiểm tra thiết kế sau khi sản xuất (Testing): Quá trình này là kiểm tra tính năng thực của chip. Chip phải được kiểm tra, hoạt động ổn định mới có thể đưa vào ứng dụng. Tuy nhiên, việc kiểm tra hàng loạt các sản phẩm chip cần hệ thống máy móc tự động nên rất tốn kém chi phí.

Figure 2

Quy trình test chip cơ bản.

Một quy trình test chip cơ bản như Figure 2 phải đảm bảo đưa được dữ liệu ngõ vào (các trường hợp muốn kiểm tra) vào chip ứng với những điều kiện hoạt động mong muốn (về thời gian, nhiệt độ, môi trường, điện thế cung cấp…). Sau đó, dữ liệu ngõ ra được thu thập (kết quả trả về tương ứng) để xử lí kết quả. Quy trình này có thể thực hiện bằng cách thêm khối test vào chip, khi chip hoạt động khối này sẽ tự động kiểm tra và báo kết quả về hoặc quy trình test ngoài - kiểm tra hoạt động của từng chip sau khi sản xuất6.

Phương pháp xây dựng hệ thống test chip tự động

Automatic test system

Khác với Build-In Self-Test (BIST) – nghĩa là các mạch được tích hợp vào thiết kế để tự kiểm tra khi thiết kế vận hành, nhưng yêu cầu thiết kế riêng cho mỗi chip khác nhau, thiết bị test chip tự động (Automatic Test Equipment – ATE) dùng để kiểm tra chức năng, hoạt động của hầu hết các loại chip sau khi sản xuất. Hệ thống chạy tự động và kiểm tra kết quả thực hiện của chip.

Figure 3 mô tả một cấu trúc cơ bản của hệ thống test chip tự động dựa trên FPGA7. Máy tính giao tiếp với phần cứng FPGA thông qua một giao tiếp nối tiếp. FPGA chứa những dữ liệu ngõ vào cần kiểm tra và dữ liệu ngõ ra mong muốn trong các bộ nhớ (memory), sau đó điều khiển dữ liệu xuất ra chip và lấy dữ liệu về từ chip để so sánh. Quy trình này diễn ra tự động để đối sánh những dữ liệu cần kiểm tra và kết quả mong đợi.

Figure 3

Hệ thống test chip tự động dựa trên FPGA.

Phương pháp xây dựng hệ thống test chip tự động

Figure 4

Sơ đồ tổng quan của hệ thống.

Dựa vào kiến trúc cơ bản của hệ thống ATE, chúng tôi xây dựng một hệ thống test chip tự động với những yêu cầu sau:

  • Về mặt phần mềm: Khi thiết kế, người dùng đã có sẵn tập tin testbench để mô phỏng chức năng của thiết kế trên các công cụ mô phỏng, kết quả mô phỏng là dạng sóng chứa các giá trị ngõ vào và ngõ ra tương ứng. Yêu cầu đặt ra là chuyển tập tin Value Change Dump (.vcd) của dạng sóng mô phỏng thành các tập tin chứa dữ liệu ngõ vào để đưa vào chip và tập tin chứa dữ liệu ngõ ra mong muốn để so sánh. Sau khi đã có dữ liệu đầu vào và đầu ra, hệ thống cần có một giao diện tương tác với người dùng để xác định dữ liệu cần xử lí cũng như điều khiển việc gửi nhận dữ liệu giữa máy tính và bo mạch test chip. Kết quả thu nhận được sẽ được xử lí và so sánh với kết quả mong đợi để xuất ra kết quả kiểm tra cuối cùng.

  • Về mặt phần cứng: Phần cứng cần có giao tiếp nối tiếp để nhận dữ liệu từ phần mềm và lưu trữ trong bộ nhớ. Khi đã nhận đủ số lượng dữ liệu tối đa, phần cứng sẽ tiến hành quá trình đẩy dữ liệu xuống bo mạch test chip và lấy dữ liệu về. Dữ liệu nhận về theo thời gian thực được lưu trữ trong bộ nhớ tương ứng. Khi kết thúc quá trình kiểm tra, dữ liệu sẽ được tiến hành gửi lên máy tính để xử lí.

Dựa vào những yêu cầu trên, chúng tôi đã xây dựng hệ thống với các đặc tả như Table 1.

Table 1

Đặc tả hệ thống test chip

Đặc tả hệ thống
Phần mềmC#
Phần cứngTR4 FPGA Development Kit
Giao tiếpNối tiếp qua UART
Dữ liệu UART8-bit dữ liệu, 1 start bit, 1 stop bit
Dữ liệu test48-bit ngõ vào / 48-bit ngõ ra
Tốc độ truyền nhận12,5 MHz
Baudrate115,200 bps
Tốc độ kiểm tra100 KHz – 200 MHz ( Tùy chọn )
Số lượng mẫu500

Vì hệ thống trên FPGA là cố định, chỉ tổng hợp một lần để ứng dụng cho nhiều loại chip khác nhau nên phần cứng và phần mềm phải thiết kế theo trường hợp tối đa có thể đáp ứng đặc tả hệ thống. Dữ liệu tối đa có thể đáp ứng được có chiều dài 48-bit với số lượng tối đa là 500 trong một giai đoạn kiểm tra. Nếu dữ liệu có chiều dài thấp hơn 48-bit, phần mềm sẽ tự động chèn thêm các bit 0, người dùng chỉ dùng những chân chip được gán tương ứng trên phần cứng có dữ liệu đưa ra theo như đặc tả của hệ thống. Nếu dữ liệu có chiều dài lớn hơn 500, phần mềm sẽ chia dữ liệu thành từng đoạn nhỏ 500 dữ liệu. Trong trường hợp số lượng dữ liệu trong một mẫu cần kiểm tra không là bội số của 500, phần mềm sẽ chèn thêm các dữ liệu chứa giá trị 0 đủ một lần kiểm tra trên phần cứng.

Kết quả khảo sát số lượng chân của một số loại đóng gói chip (chip packaging) như Table 2 cho thấy các loại đóng gói chip thông dụng thường có số lượng chân không quá 100 pin. Các loại đóng gói chip đặc biệt hơn sẽ có số lượng I/O lớn, nhưng có tính năng chuyên biệt nên cần phải có công cụ test phức tạp hơn. Do đó, việc lựa chọn số lượng I/O là 48 ngõ vào và 48 ngõ ra (96 chân ) giúp hệ thống vừa cân bằng được tài nguyên trên FPGA, vừa có thể kiểm tra cho hầu hết các loại chip.

Scheme 1

Các kiểu đóng gói chip.

Figure 4 trình bày sơ đồ tổng quan của hệ thống, các ngõ vào ra và đường di chuyển của dữ liệu bên trong hệ thống. Phần mềm nhận nhiệm vụ xử lí dữ liệu để đưa dữ liệu xuống phần cứng. Phần cứng đảm bảo quá trình kiểm tra chip, gửi kết quả về phần mềm để tổng hợp và so sánh kết quả cuối cùng. Tập tin có định dạng .vcd chứa dữ liệu ngõ vào và kết quả ngõ ra xuất ra từ dạng sóng mô phỏng do người dùng cung cấp cho hệ thống, sau đó người dùng nhận kết quả trả về thông qua phần mềm, mọi tiến trình còn lại hệ thống diễn ra tự động.

Các thành phần của hệ thống

Về hệ thống phần mềm : Hệ thống sử dụng ngôn ngữ lập trình C# để lập trình giao diện GUI như Figure 6. Giao diện này cho phép người dùng thực hiện các chức năng sau:

  • Lựa chọn cổng COM để kết nối UART.

  • Chọn tập tin chứa dữ liệu ngõ vào đưa xuống chip và dữ liệu ngõ ra mong đợi để so sánh.

  • Xác định số ngõ vào và ngõ ra của chip.

  • Chọn clock cho phần cứng đẩy dữ liệu ra chip, clock bắt dữ liệu vào và một tín hiệu clock tại ngõ ra SMA_CLKOUT_p để cung cấp thêm cho một số chip cần 2 tín hiệu clock khác nhau để hoạt động.

  • Nút bấm gửi dữ liệu đi và hộp thoại hiển thị trạng thái kiểm tra.

  • Hộp thoại Help hướng dẫn cách sử dụng phần mềm và chức năng của từng đối tượng trong giao diện.

Figure 5

Giao diện phần mềm của hệ thống.

Về định dạng dữ liệu đầu vào và ra: Khi thiết kế, các kỹ sư luôn mô phỏng các thiết kế của mình trên các công cụ mô phỏng và quan sát tín hiệu vào ra dưới dạng sóng. Dữ liệu dạng sóng có thể xuất ra định dạng .vcd chứa các dữ liệu ngõ vào và kết quả ngõ ra. Hệ thống test chip tự động sử dụng lại dữ liệu từ các tập tin .vcd này, sau đó chuyển đổi thành định dạng .binary (nghĩa là tập tin chứa các giá trị theo định dạng nhị phân) để làm dữ liệu ngõ vào.

Figure 6

(a) Định dạng dữ liệu ngõ vào; (b) Định dạng dữ liệu ngõ ra.

Figure 7(a) bên trái là định dạng của tập tin .vcd với các thông tin về thời gian, giá trị timescale, các ngõ vào /ra. Figure 7(b) bên phải là định dạng dữ liệu .binary của hệ thống test chip tự động với thứ tự các bit nhị phân là thứ tự của ngõ vào đưa vào hệ thống, mỗi hàng là kết quả trả về tương ứng với mỗi mẫu test. Figure 8 là giao diện phần mềm chuyển đổi định dạng dữ liệu được viết trên WPF (Windows Presentation Foundation).

Figure 7

Giao diện chuyển đổi định dạng tập tin.

Về sơ đồ phần cứng : Các khối được liên kết như đã trình bày ở Figure 4. Các khối chức năng được trình bày cụ thể như sau.

Khối UART_receive: Dữ liệu được truyền từ phần mềm qua giao tiếp UART với định dạng gồm 1 start bit, 8-bit data và 1 stop bit xuống phần cứng bằng m ô-đun CH340. Bộ UART_receive liên tục dò tìm start bit với baudrate là 115.200 bps, nếu đúng tốc độ và start bit bằng 0 thì khối này tiến hành nhận dữ liệu 8-bit. Sau 6 lần nhận dữ liệu 8-bit, khối sẽ chuyển dữ liệu có chiều dài 48-bit được lưu trong bộ nhớ tạm sang mem_receive lưu trữ. Sau đó, khối tiếp tục quá trình dò tìm start bit và nhận dữ liệu.

Figure 8

Dạng sóng của bộ chia clock dùng counter.

Khối mem_receive: Từng dữ liệu 48-bit được gửi từ khối UART_receive sẽ được lưu trữ trong khối mem_receive. Tốc độ hoạt động của khối này là 12,5 MHz. Mem_receive đóng vai trò như một bộ chuyển đổi vào nối tiếp ra song song. Do người dùng có thể chọn giá trị clock hoạt động nên 3 dữ liệu đầu sẽ là 3 mã chọn của 3 loại clock (clock đẩy dữ liệu xuống chip, clock bắt dữ liệu về và clock để debug). Sau khi nhận đủ mã của 3 loại clock, mem_receive bắt đầu chứa dữ liệu. Khi chứa đủ 500 dữ liệu, khối sẽ bật tín hiệu “done” báo hiệu quá trình test chip có thể bắt đầu giai đoạn kiểm tra. Sau đó, mem_receive tiếp tục quay lại quá trình nhận dữ liệu từ UART_receive.

Khối test: Dữ liệu khi đủ 500 dữ liệu với chiều dài 48-bit được chuyển sang từ mem_receive sẽ được đẩy vào quy trình test chip. Quá trình đẩy dữ liệu diễn ra song song với quá trình nhận dữ liệu về. Tại khối này, có hai tín hiệu clock được sử dụng lệch pha nhau để đảm bảo thỏa thời gian setup time và hold time. Tín hiệu được đẩy ra chip với tín hiệu iShiftClock và nhận về với tín hiệu iCaptureClock bị dịch pha so với tín hiệu iShiftClock.

Khối mem_transmit: Khi kết thúc quá trình test, test_stage sẽ bật tín hiệu báo hiệu kết thúc. Khối mem_transmit sẽ nhận dữ liệu từ test_stage và đóng vai trò như bộ chuyển đổi song song sang nối tiếp. Tốc độ hoạt động của mem_transmit cũng tương tự như mem_receive là 12,5MHz. Dữ liệu sẽ được đẩy từng giá trị 8-bit sang UART_transmit để truyền lên máy tính. Khi UART_transmit trả về tín hiệu sẵn sàng gửi data tiếp theo thì mem_transmit tiếp tục chuyển dữ liệu sang, tiến trình được lặp lại đến giá trị cuối cùng.

Khối UART_transmit: Khi nhận tín hiệu từ khối mem_transmit, UART_transmit sẽ gửi 1 start bit, 8-bit data và 1 stop bit với baudrate là 115.200 bps lên máy tính. Mỗi lần gửi xong dữ liệu, UART_transmit sẽ bật trạng thái ngõ ra oTx_DV, báo hiệu cho mem_transmit biết đã thực hiện xong và sẵn sàng gửi dữ liệu tiếp theo. Tương tự như UART_receive, UART_transmit có tốc độ hoạt động là 12,5 MHz ứng với baudrate là 115.200 bps nên mỗi bit cần duy trì thời gian gửi trong 109 clock.

Bộ chia clock: Trên bo mạch TR4 FPGA Development Kit, ta có sẵn xung clock ở tần số 50 MHz, từ đó có thể dễ dàng tạo thành những clock có tốc độ chậm hơn bằng các bộ counter. Dùng mạch đếm ( counter) n - bit lần lượt đếm từ 0 đến 2-1, bit thứ n-1 của mạch đếm là clock chia 2. Figure 9 minh họa dạng sóng một mạch điếm 4-bit, ngõ ra QA tương ứng với kết quả bit thứ 0 – clock được chia cho 2. QB tương ứng với kết quả bit thứ 1 – clock được chia cho 4. QC tương ứng với kết quả bit thứ 2 – clock được chia cho 8. QD tương ứng với kết quả bit thứ 3 – clock được chia cho 16. Tương tự, ta dễ dàng chia clock theo 2 hoặc 2n lần để tạo ra những giá trị clock chậm hơn từ clock 50 MHz, thuận tiện cho quá trình test nhiều loại chip khác nhau.

Khối PLL/DLL (Phase-Locked Loop/Delay-Locked Loop) : Bên cạnh tạo xung clock có tốc độ chậm, hệ thống cũng cần tạo ra những clock có tốc độ cao hơn 50 MHz và các clock dịch pha so với clock đẩy dữ liệu xuống chip để đảm bảo bắt dữ liệu chính xác. Phần mềm Quartus II hỗ trợ sẵn các lõi Intellectual property (IP) PLL/DLL để tạo ra các mô-đun cần cho hệ thống.

Khối giải mã clock: Việc tạo ra nhiều giá trị xung clock nhằm đáp ứng nhu cầu của người dùng muốn kiểm tra chip ở những điều kiện hoạt động khác nhau. Người dùng chọn clock dựa trên giao diện GUI trên phần mềm và clock là tín hiệu để phần cứng hoạt động nên cần có cơ chế mã hóa và giải mã. Hệ thống mã hóa bằng cách định danh mỗi clock bằng một mã nhị phân 8-bit và giải mã bằng các bộ đa hợp (Multiplexer).

Các khối trên được thiết kế dựa trên tài nguyên phần cứng của FPGA nên thiết kế linh hoạt, có thể tùy chỉnh và mở rộng. Table 3 là kết quả tổng hợp của thiết kế trên bo mạch TR4 FPGA Development Kit.

Table 2

Kết quả tổng hợp

KẾT QUẢ TỔNG HỢP
Combitional ALUTs97.155/424.960 (23%)
Memory ALUs0/212.480 (0%)
Dedicated logic register120.886/424.960 (28%)
Total registers120.886
Total pin343/888 (39%)
Total PLLs2/8 (25%)

Có thể thấy rằng, thiết kế đã tận dụng hiệu quả tài nguyên trên FPGA để hoàn thành yêu cầu đặt ra. Tài nguyên sử dụng chỉ chiếm 28% nên vẫn có thể mở rộng với các ứng dụng lớn hơn. Hơn thế, bo mạch TR4 FPGA Development Kit cũng hỗ trợ ba mức điện thế vào ra I/O lần lượt 1,5V, 1,8V, 2,5V và 3V đáp ứng một trong những vấn đề quan trọng của quy trình test chip là mức điện thế I/O phải phù hợp.

KẾT QUẢ VÀ THẢO LUẬN

Kết quả thực nghiệm trên TCAM

TCAM (Ternary Content A ddressable Memory) là bộ nhớ được thiết kế bởi công ty TNHH Savarti. Mức điện thế I/O của TCAM là 1,8 V, điện thế hoạt động của lõi là 0,9V. Bộ nhớ TCAM có 44 chân ngõ vào và 18 chân ngõ ra. Để kiểm tra chức năng của TCAM trong thực tế, người dùng cần kiểm tra lên đến 300 véc-tơ ngõ vào. Do đó, quy trình kiểm tra TCAM mất nhiều thời gian.

Việc ứng dụng hệ thống trên TCAM giúp hệ thống chứng minh được các đặc điểm: đáp ứng được nhiều ngõ vào và ngõ ra, số lượng lớn trường hợp cần kiểm tra, điện thế I/O ổn định và quy trình kiểm tra diễn ra hoàn toàn tự động. Đặc biệt, việc hệ thống chạy ổn định, ứng dụng đo chip thực tế có chức năng phức tạp là cơ sở để chứng minh chức năng của hệ thống test chip tự động.

Figure 10 là sơ đồ kết nối chip TCAM với bo mạch FPGA. Bo mạch màu xanh lá bên trái là hệ thống gắn chip TCAM cần kiểm tra tính năng, bo mạch màu xanh dương bên phải là hệ thống test chip tự động. Hai hệ thống kết nối I/O với nhau thông qua IDC Cable 2,54 mm và các xung clock hoạt động được cấp từ FPGA đến TCAM bằng ngõ ra SMA.

Figure 9

Kết nối chip TCAM với bo mạch FPGA.

Sau khi thực hiện quá trình test với nhiều véc-tơ trên chip TCAM, các dữ liệu trả về hoàn toàn khớp với dữ liệu mong đợi được rút trích từ quá trình mô phỏng. Figure 11 là một ví dụ về so sánh các dữ liệu. Figure 11(a) là dữ liệu ngõ ra nhận về từ hệ thống test chip tự động. Figure 11(b) là dữ liệu ngõ ra mong đợi được cung cấp bởi người thiết kế TCAM. Có thể thấy rằng, hai dữ liệu (a) và (b) giống nhau nên kết quả của lần kiểm tra này là chính xác.

Figure 10

(a) Dữ liệu ngõ ra của hệ thống test chip tự động; (b) Dữ liệu ngõ ra mong đợi từ người dùng.

Kết quả thực nghiệm trên chip ROHM 180nm

Chip ROHM, công nghệ CMOS 180nm, là chip học thuật thực hiện mạch đếm 4-bit do sinh viên phòng thí nghiệm DESLab thiết kế. Chip hoạt động ở điện thế 1,8V. Thiết kế là một mạch đếm cơ bản, hoạt động theo xung clock ngõ vào, nếu tín hiệu reset ở mức 0, ngõ ra bằng 0. Nếu tín hiệu reset lên 1 và có chân enable tích cực thì mạch đếm sẽ bắt đầu hoạt động. Mạch đếm này có thêm tín hiệu Add/Sub để xác định là đếm lên (Add) hay đếm xuống (Sub). Figure 12(a) là sơ đồ kết nối bo mạch FPGA với chip ROHM. Bo mạch màu xanh lá là chip ROHM chứa mạch đếm 4-bit cần test, bo mạch được nối với hệ thống FPGA để kiểm tra. Figure 12(b) là kết quả thu được khi hệ thống chạy trên chip. Dữ liệu bên trái Figure 12(b) là giá trị các ngõ vào đưa vào mạch đếm, dữ liệu bên phải Figure 12(b) là ngõ ra thu nhận được sau khi test. Có thể thấy rằng, ngõ ra đúng với những mô tả về cách hoạt động của counter tương ứng với các ngõ vào (trường hợp reset, trường hợp enable, trường hợp đếm lên, đếm xuống).

Figure 11

(a) Sơ đồ kết nối FPGA với chip ROHM; (b) Kết quả thực hiện trên chip ROHM.

Kết quả thực nghiệm trên thiết kế FPGA

Để trực quan hơn trong việc chứng minh hoạt động của hệ thống, chúng tôi thiết kế một bộ nhân 8-bit 8-bit trên bo mạch FPGA DE2-115. Sau đó xem bộ nhân nhúng trên DE2-115 như một chip mới và kết nối với hệ thống. Trên bo mạch DE2-115, chúng tôi dùng công cụ SignalTap để bắt dữ liệu gửi qua và dữ liệu gửi về hệ thống test chip. Bằng việc so sánh dữ liệu mà bo mạch DE2-115 nhận được với dữ liệu ngõ vào của người dùng và so sánh dữ liệu gửi đi của DE2-115 với dữ liệu nhận được của hệ thống, chúng tôi chứng minh hệ thống hoạt động chính xác. Figure 13 là kết nối giữa hệ thống với bo mạch DE2-115 (bo mạch bên phải). Figure 14 là dữ liệu thu được trên bo mạch DE2-115 bằng công cụ Signal Tap. Các dữ liệu này khớp với nhau và khớp với kết quả mong muốn nên chứng minh được chip hoạt động và hệ thống vận hành đúng.

Figure 12

Sơ đồ kết nối hệ thống với bo mạch FPGA DE2-115.

Figure 13

Dữ liệu đo đạc từ chip được hiển thị trên bo mạch FPGA DE2-115.

Table 3 tổng hợp kết quả thực nghiệm của hệ thống trong ba trường hợp trên. Với 3 loại chip : TCAM, ROHM 180 nm và bộ nhân, ở các mức điện thế và điều kiện cần test khác nhau, hệ thống vẫn hoạt động ổn định và kết quả trả về là “PASSED” – nghĩa là chip hoạt động tốt và có kết quả phù hợp với thiết kế ban đầu.

Table 3

Dữ liệu đo đạc từ chip được hiển thị trên bo mạch FPGA DE2-115

ChipTCAMROHMBộ nhân
Điện thế I/O1,8 V1,8 V3,0 V
Số bit ngõ vào44317
Số bit ngõ ra24416
Số lượng mẫu14,18158500
Kết quảPassedPassedPassed

KẾT LUẬN

Chúng tôi đã xây dựng được quy trình test chip tự động ứng dụng trên nhiều loại chip khác nhau. Hệ thống giúp người dùng tiết kiệm chi phí cũng như đơn giản hóa quá trình test chip. Hệ thống hoạt động ổn định trên các chip được kiểm tra với thời gian test nhanh và được xử lí tự động.

So với các hệ thống test chip tự động khác trên thị trường như CTS 2, hệ thống có ưu điểm là giá thành rẻ, nhỏ gọn nhưng vẫn đáp ứng được các nhu cầu cơ bản của một quy trình test chip (số lượng I/O, số lượng mẫu, tần số hoạt động và mức điện thế I/O).

Tuy nhiên, số lượng dữ liệu xử lí trong một lần kiểm tra chỉ 500 data nên chưa ứng dụng cho chip có tính năng phức tạp. Số lượng clock và độ phân giải của các clock chưa cao nên chưa đáp ứng được nhu cầu xác định chính xác giới hạn hoạt động của chip.

DANH MỤC CÁC TỪ VIẾT TẮT

ATE: Automatic Test Equipment

BIST: Build-In Self-Test

DESLAB: Digital Signal Processing and Embedded Systems Laboratory

DLL: Delay-Locked Loop

FPGA: Field-Programmable Gate Array

FSM: Finite State Machine

GUI: Graphical User Interface

HW: Hardware

MEM: Memory

PLL: Phase-Locked Loop

TCAM: Ternary Content-Addressable Memory

TNHH: Trách Nhiệm Hữu Hạn

UART: Universal Asynchronous Receiver-Transmitter

VCD: Value Change Dump

WPF: Windows Presentation Foundation

XUNG ĐỘT LỢI ÍCH

Các tác giả cam đoan không có xung đột lợi ích trong việc công bố bài báo này.

ĐÓNG GÓP CỦA TÁC GIẢ

Tác giả Trần Thị Thu Trang thực hiện xây dựng hệ thống, triển khai thực tế, kiểm tra hệ thống và viết bản thảo.

Tác giả Diệp Phước Lộc, Phan Vũ Huỳnh Tuấn, Nguyễn Tiến Lộc, Lê Trung Khanh đóng góp trong việc xây dựng hệ thống thực tế, thu thập dữ liệu và góp ý cho bản thảo.

Tác giả Lê Đức Hùng, Huỳnh Quốc Hưng có đóng góp quan trọng từ quá trình lên ý tưởng, định hướng sản phẩm, chỉnh sửa và hoàn thiện bản thảo.

References

  1. . :
  2. . :
  3. . :
  4. . :
  5. . J. Bergeron. Writing Testbenches: Functional Verification of HDL Models Second Edition, Springer. 2003; 1-23.. :
  6. L. Mostardini, L. Bacciarelli, L. Fanucci, L. Bertini, M. Tonarelli, M. De. Marinis. FPGA-based Low-cost Automatic Test Equipment for Digital Integrated Circuits. IEEE International Workshop on Intelligent Data Acquisition and Advanced Computing Systems Sep. 2009; : 32-37.
  7. G Jervan. “Hybrid Built-In Self-Test and Test Generation Techniques for Digital Systems,” PhD. dissertation, Linköpings universitet, Sweden. 2005; :

Comments