Kỹ sư RTL Design có cần biết verify không?

Thứ Tư, 20 tháng 05, 2026

Đây là một câu hỏi mình nhận được trong buổi đầu tiên của lớp IC35. Thật ra đây cũng là thắc mắc của rất nhiều bạn mới tìm hiểu về thiết kế vi mạch. Nhiều bạn hay nghĩ công việc được chia rất rõ: RTL engineer thì chỉ viết design, còn verify là chuyện của các bạn DV. Viết xong rồi bàn giao qua là xong.

Thực tế thì không hẳn như vậy. Câu trả lời ngắn gọn là có, kỹ sư RTL design vẫn cần biết verify.

Lý do khá đơn giản. Khi bạn vừa thiết kế xong một module, không ai mang đi đưa cho đội DV ngay mà chưa tự kiểm tra xem nó có chạy đúng những chức năng cơ bản hay không. Trong design flow, bước self-test (tự kiểm tra sau khi code) gần như là bắt buộc đối với kỹ sư thiết kế

Ví dụ, giả sử bạn vừa viết một module FIFO đồng bộ. Trước khi nghĩ đến những bài test phức tạp như simultaneous read/write ở mọi corner case, full-empty transition trong các timing ngặt nghèo, hay stress test với hàng chục nghìn transaction ngẫu nhiên… thì ít nhất bạn phải tự chắc rằng những thứ cơ bản nhất chạy được, như là ghi vào đọc ra phải đúng thứ tự, full thì không ghi thêm được, empty thì không đọc bậy. Những thứ basic sanity check đó là phần mà chính người viết RTL phải tự verify được trước.

Còn những testcase phức tạp hơn như random traffic trong thời gian dài, functional coverage, protocol stress test, assertion checking, corner-case cross scenario… đó mới là lúc các bạn DV phát huy thế mạnh để verify sâu và rộng hơn.

Ngoài ra, kỹ sư RTL design chính là người hiểu thiết kế của mình rõ nhất. Bạn biết từng nhánh if-else, từng state transition, từng assumption rất nhỏ lúc viết code. Có những corner case cực kỳ đặc thù mà đôi khi phía DV không nghĩ ra được, đơn giản vì họ thường phải phụ trách số lượng module nhiều hơn khá nhiều so với một kỹ sư RTL. Thế nên trong thực tế, rất nhiều lần chính RTL engineer sẽ tự viết luôn testcase để check cho chắc.

Chính vì vậy nên một kỹ sư RTL design cần biết những kỹ năng verify cơ bản: viết testbench, viết testcase, chạy simulation, đọc waveform, debug, trace signal, tìm nguyên nhân mismatch giữa expected và actual output…

Trong các lớp cơ bản, các bạn cũng sẽ làm đúng những việc đó. Không phải chỉ ngồi viết RTL xong là xong, mà phải tự build testbench, tự chạy, tự sửa, tự debug cho đến khi design clean. Đây cũng là cách làm gần với môi trường dự án nhất.

Một câu hỏi hay khác là: “Vậy kỹ sư RTL design có cần biết SystemVerilog và UVM không?”

Câu trả lời vẫn là có, nhưng không nhất thiết phải quá sâu như một Verification Engineer.

Trong nhiều dự án, RTL engineer vẫn cần đọc testcase của team DV để hiểu họ đang verify flow nào, stimulus đang được generate ra sao, constraint viết kiểu gì, sequence đang đẩy transaction thế nào, monitor bắt tín hiệu ở đâu, scoreboard đang compare theo logic gì.

Có những lúc bug xuất hiện, bạn phải lần theo testcase để trace xem dữ liệu đi từ sequence xuống driver ra interface rồi vào DUT như thế nào. Nếu không hiểu cấu trúc cơ bản của SV/UVM, package import ở đâu, class hierarchy chạy ra sao, phase nào execute trước, objection được raise/drop thế nào… thì việc debug phối hợp với DV sẽ khá vất vả.

Nói cách khác, RTL engineer không cần thành UVM expert, nhưng nên đủ hiểu để đọc được flow verify và giao tiếp trơn tru với team DV.

Đó cũng là lý do ở các bài test đầu vào của lớp RTL nâng cao sắp tới, ngoài phần design thì vẫn có phần yêu cầu tự viết testbench để self-check để đảm bảo rằng khi bước vào các bài SoC design phức tạp hơn, các bạn đã có tư duy tự verify cho chính thiết kế của mình.

RTL design chưa bao giờ là chuyện viết code xong rồi để người khác lo phần còn lại. Một kỹ sư thiết kế tốt luôn là người có khả năng tự kiểm chứng sản phẩm của mình trước khi mang nó đi xa hơn trong flow. Và một kỹ sư RTL giỏi thường sẽ có mindset: cố gắng tìm ra bug của mình trước khi testcase của DV tìm thấy nó.

Tóm lại là khá vui khi ngay buổi đầu của IC35 đã có những câu hỏi như vậy. Nó cho thấy các bạn đang bắt đầu nhìn ngành này đúng hơn: không phải học từng mảnh rời rạc, mà phải hiểu cách mọi thứ kết nối với nhau trong một flow hoàn chỉnh.

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

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ứ Tư, 20 tháng 05, 2026

Độ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

ICTC DV TECH TALK

ICTC DV TECH TALK

Để giúp các bạn hiểu rõ hơn về Design Verification (DV) – một trong những lĩnh vực quan trọng trong ngành IC Design, ICTC sẽ tổ chức một buổi DV Tech Talk nhằm giới thiệu tổng quan về lĩnh vực này cũng như chia sẻ kinh nghiệm học tập và phát triển trong ngành. Buổi...

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

Nhiều tiền như Elon Musk cũng chưa chắc mua được máy EUV

Nhiều tiền như Elon Musk cũng chưa chắc mua được máy EUV

Người ta thường nói có tiền thì sẽ mua được mọi thứ. Nhất là với những tỷ phú như Elon Musk - ông chủ của Tesla, SpaceX. Thế nhưng trong ngành bán dẫn, câu chuyện lại không đơn giản như vậy. Gần đây thì Musk tiếp tục gây chú ý với tham vọng xây dựng TeraFab - một hệ...

Học Systemverilog và UVM sao cho hiệu quả – Phần 1: Systemverilog

Học Systemverilog và UVM sao cho hiệu quả – Phần 1: Systemverilog

Sau series Design Verification Engineer làm gì?, chắc mọi người cũng hình dung được công việc DV nó ra sao rồi. Giờ mình đi vào phần chính là SystemVerilog và UVM. Nếu bạn định đi theo Design Verification, gần như sớm muộn gì bạn cũng sẽ gặp SystemVerilog và UVM. Bài...

STA là gì? Làm PD có cần hiểu STA?

STA là gì? Làm PD có cần hiểu STA?

Hôm nay mời các bạn theo dõi bài viết tiếp theo của anh PD lead tại Học Vi Mạch Cùng ICTC về chủ đề STA nhé---Một trong những câu hỏi mình gặp khá thường xuyên trong các lớp Physical Design là: “Trong lúc chạy PnR em thấy tool báo setup, hold, rồi WNS, TNS…...

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