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

Workshop Làm Quen Với Linux

Workshop Làm Quen Với Linux

Để giúp các bạn làm quen với command line, terminal trong Linux, ICTC sẽ tổ chức một buổi workshop về Linux với cơ hội thực hành trực tiếp trên Server ICTC cùng host là anh Thông (người xây dựng và quản lý Server ICTC). Nội dung workshop: Hướng dẫn làm quen và thực...

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...

Bài Viết Mới

4 kỹ thuật cơ bản trong Low Power Design cho thiết kế SoC

4 kỹ thuật cơ bản trong Low Power Design cho thiết kế SoC

Trong các SoC hiện đại, công suất tiêu thụ đã trở thành ràng buộc thiết kế quan trọng hàng đầu. Hiệu năng có thể đánh đổi, nhưng một thiết kế kém hiệu quả về năng lượng thì gần như không thể chấp nhận, đặc biệt ở các node công nghệ tiên tiến. Vì vậy, kỹ sư VLSI/ASIC...

SAI LẦM THƯỜNG GẶP TRONG VERIFICATION

SAI LẦM THƯỜNG GẶP TRONG VERIFICATION

Chào các bạn, sau vài tuần chia sẻ về các chủ đề kỹ thuật, tuần này cùng mình và Học Vi Mạch Cùng ICTC đổi không khí một chút, cùng nhìn lại những sai lầm thường gặp của người mới khi bắt đầu với Verification. Hầu hết những ai mới bắt đầu với Design...

Bạn thích làm Standard Cell Layout hay Physical Design hơn?

Bạn thích làm Standard Cell Layout hay Physical Design hơn?

Mấy nay anh PD lead của Học Vi Mạch Cùng ICTC bận tapeout quá nên giờ mới rãnh viết bài lại. Mời các bạn cùng theo dõi nhé  --- Trong buổi đầu tiên của lớp PD, khi hỏi vài câu làm quen, mình thấy khá nhiều bạn chưa phân biệt được hai khái niệm về...

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