So sánh Directed Test và Constrained Random Test trong Verification

Thứ Năm, 13 tháng 03, 2025

Trong quy trình kiểm tra thiết kế vi mạch (Design Verification – DV), hai phương pháp phổ biến là Directed Test và Constrained Random Test, mỗi phương pháp có ưu và nhược điểm riêng, phù hợp với các giai đoạn khác nhau trong quá trình kiểm tra.

Directed Test là cách tiếp cận dựa trên việc tự viết các chương trình test (testcases) theo những kịch bản (scenarios) đã được dự đoán trước. Kỹ sư DV sẽ xác định các trường hợp quan trọng cần test dựa trên tài liệu thiết kế (design specification) và tạo ra các testcase để đảm bảo các trường hợp này được bao phủ (cover) đầy đủ. Phương pháp này thường được sử dụng khi các kỹ sư RTL hoàn thành việc thiết kế và cần kiểm tra nhanh chức năng trước khi bàn giao cho nhóm DV. Trong các chương trình cơ bản (Fundamental Design & Verification), directed test sẽ giúp người học dễ tiếp cận, hiểu cách xây dựng, phát triển môi trường kiểm tra và phân tích kết quả mô phỏng.

Mặc dù Directed Test mang lại sự kiểm soát tốt đối với từng trường hợp cụ thể, phương pháp này lại tốn nhiều thời gian do kỹ sư cần viết từng testcase riêng lẻ. Hơn nữa, do chỉ tập trung vào các kịch bản dự đoán trước, phương pháp này có thể bỏ sót những trường hợp đặc biệt mà kỹ sư chưa nghĩ đến, dẫn đến nguy cơ xuất hiện lỗi trong silicon.

Trong khi đó, Constrained Random Verification sử dụng kỹ thuật tạo dữ liệu ngẫu nhiên có kiểm soát bằng cách áp dụng các ràng buộc (constraint) để định hướng các giá trị ngẫu nhiên, giúp bao phủ không gian kiểm thử một cách toàn diện hơn. Phương pháp này được ứng dụng rộng rãi trong quy trình kiểm tra hiện đại, đặc biệt với ngôn ngữ SystemVerilog và UVM, giúp kỹ sư nhanh chóng đạt được coverage cần thiết mà không cần thiết kế từng bài kiểm thử riêng lẻ như Directed Test. Nhờ khả năng bao quát rộng, phương pháp này cũng giúp phát hiện các trường hợp hiếm gặp, đồng thời có thể kiểm tra chính xác những corner case (các điều kiện dễ gây ra bug) bằng cách điều chỉnh các ràng buộc để tập trung vào những trường hợp quan trọng.

Tuy nhiên, Constrained Random Verification cũng có những thách thức nhất định. Nếu không đặt ràng buộc hợp lý, phương pháp này có thể bỏ sót những trường hợp quan trọng hoặc lãng phí tài nguyên vào những trường hợp không có giá trị. Bên cạnh đó, việc debug cũng có thể trở nên phức tạp hơn do kết quả của việc mô phỏng mang tính ngẫu nhiên, khiến việc tái hiện lỗi (reproduce bug) trở nên khó khăn.

Kết hợp cả hai phương pháp là cách tiếp cận hiệu quả nhất trong thực tế. Directed Test phù hợp để kiểm tra nhanh chức năng, hỗ trợ việc học tập và phát triển bài kiểm thử cơ bản, trong khi Constrained Random Test giúp tăng tốc quá trình kiểm tra và mở rộng phạm vi bao phủ, giúp làm tăng coverage. Khi đi sâu hơn vào lĩnh vực kiểm chứng, kỹ thuật xây dựng môi trường kiểm tra tự động bằng Constrained Random Test với SystemVerilog và UVM sẽ đóng vai trò quan trọng trong việc nâng cao hiệu quả và chất lượng kiểm tra thiết kế. Việc sử dụng linh hoạt cả hai phương pháp không chỉ giúp đảm bảo chất lượng của design mà còn tối ưu hóa thời gian và tài nguyên trong quy trình kiểm tra.

——————————————————

Hiện tại ICTC đang mở các khóa học thiết kế vi mạch từ cơ bản đến nâng cao, các bạn có thể tìm hiểu tại các bài viết sau nhé:

 

Truy cập Server EDA Miễn Phí của ICTC để thực hành thiết kế vi mạch:
Truy cập Server EDA Miễn Phí

 

Thứ Năm, 13 tháng 03, 2025

Đội Ngũ Giảng Viên Đến Từ Các Công ty vi mạch hàng đầu với NHiều năm kinh nghiệm

Khóa học thiết kế vi mạch ICTC giảng viên từ Ampere
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ MediaTek Singapore
Khóa học thiết kế vi mạch ICTC giảng viên từ BOS
Khóa học thiết kế vi mạch ICTC giảng viên từ Marvell
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ NSING

Nổi Bật

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Boom!  Cảm giác vỡ òa khi màn hình hiện kết quả design của bạn đã "pass" golden model – cửa ải cuối cùng trước khi “tốt nghiệp”!À quên, còn một điều kiện là coverage phải đủ nữa nha  Nhưng mà... cái cảm giác được thông báo ALL_PASSED vẫn là một điều gì đó thật đặc...

TỔNG KẾT OFFLINE VI MẠCH 07/2024

TỔNG KẾT OFFLINE VI MẠCH 07/2024

Vậy là sau hơn 4 tiếng đồng hồ giao lưu và chia sẻ các kiến thức về tổng quan ngành vi mạch, các vị trí việc làm, tuyển dụng, các kinh nghiệm học tập, phỏng vấn, ... buổi offline ngày hôm nay đã kết thúc thành công tốt đẹp.Rất cảm ơn các bạn đã không ngại đường xá xa...

Bài Viết Mới

Chuỗi bài viết về Physical Design

Chuỗi bài viết về Physical Design

Khi nói đến việc tạo ra một con chip điện tử – từ vi xử lý trong điện thoại, GPU trong card đồ họa cho đến các SoC phức tạp dùng trong xe tự lái – nhiều người thường hình dung đến việc lập trình hay thiết kế logic. Tuy nhiên, một bước cực kỳ quan trọng nhưng ít được...

PHYSICAL DESIGN – Bài 1: PHYSICAL DESIGN (PD) LÀ GÌ?

PHYSICAL DESIGN – Bài 1: PHYSICAL DESIGN (PD) LÀ GÌ?

Trong thế giới thiết kế vi mạch số( Digital IC Design), bạn có thể sẽ bắt gặp rất nhiều thuật ngữ như RTL, DV, Synthesis... và một trong số đó là PD, viết tắt của Physical Design, dịch ra là thiết kế vật lý. Vậy PD là gì, và nó đóng vai trò gì trong hành...

BẠN CHƯA BIẾT BẮT ĐẦU TỪ ĐÂU?

Sau nhiều năm tư vấn và đào tạo vi mạch cho hàng trăm bạn sinh viên, học sinh và phụ huynh, kết hợp với kinh nghiệm từ các anh chị kỹ sư vi mạch có nhiều năm kinh nghiệm, đây là tất cả những kinh nghiệm và tài liệu mà mình đúc kết, tổng hợp lại được thành một quy trình tìm hiểu ngành vi mạch để các bạn mình mới tham gia vào ngành có thể bắt đầu một cách hiệu quả nhất.

 

Bấm nút bên dưới để tìm hiểu về ngành, về nghề nghiệp cũng như những thứ bản thân cần chuẩn bị để tham gia vào hành trình trở thành kỹ sư vi mạch tuy có phần gian nan nhưng vô cùng thú vị bạn nhé!

LỘ TRÌNH TỰ HỌC VI MẠCHGROUP CHAT HỌC TẬP VI MẠCH