Hôm bữa chúng ta đã được nghe về 1 ngày làm việc của một kỹ sư Physical Design. Nhận lời thách đấu của anh PD lead, hôm nay mình sẽ viết về 1 ngày làm việc của mình – 1 kỹ sư Design Verification (DV) 7+ YoE sẽ diễn ra như thế nào. Hi vọng sẽ cung cấp một số góc nhìn thú vị cho các bạn về công việc của DV Engineer. Hãy cùng mình và ICTC – IC Training Center Vietnam theo dõi bài viết dưới đây nhé.
–
Sau tiếng báo thức inh ỏi, mình tắt máy mà mắt vẫn nhắm hờ, tay đã kịp lướt điện thoại xem tin nhắn, email, lịch họp. Hôm nay lại là một ngày bận rộn: daily meeting, review testplan, debug regression, và viết thêm vài testcase mới. Hít sâu một hơi, mình tự nhủ: “Chiến thôi!”
Có những ngày được làm việc tại nhà (work from home), mình bật máy tính rồi ung dung đi pha tách cà phê đá đậm đặc, ăn sáng cùng gia đình. Quay lại bàn làm việc, mình check email, chạy script Perl tổng hợp kết quả regression tối hôm qua. Màn hình đôi khi xanh lè vì test pass, đôi khi đỏ rực vì test fail – dù thế nào thì vẫn phải bắt đầu summary kết quả cho buổi họp sáng sớm.
Buổi họp daily diễn ra, cả team DV cùng review status toàn dự án, đánh giá tiến độ, lên kế hoạch, target cho hôm nay. Sau họp, mình bắt đầu “chìm đắm” vào waveform: mở log file, phân tích những testcase fail, dò từng signal xem đâu là điểm bất thường. Khi tìm ra nguyên nhân, mình sửa lỗi, submit regression lại. Có lúc, failcase phức tạp đến mức phải hỗ trợ team FPGA chạy binary code trực tiếp trên chip, kết hợp debug cả simulation lẫn C code…. Khá là hồi hộp vì sợ…lọt bug.
Hoàn thành buổi sáng, mình ăn trưa cùng gia đình, có hôm tranh thủ chợp mắt 30 phút, có hôm lại buôn chuyện với đồng nghiệp: về những bug khó nhằn, về cách tối ưu UVM testcase, hay đơn giản chỉ cười phá lên với mấy chuyện vui trong team.
Buổi chiều bắt đầu bằng việc viết UVM testcase cho các scenario mới. Căng não nghĩ cách random constraint sao cho cover được các corner case, check lại coverage report hôm qua thấy còn thiếu code coverage ở vài branch. Thế là lại cắm cúi mò tiếp. Song song đó, mình tiếp tục debug test fail, mở waveform, dò log, từng dòng signal. Lỗi hôm nay quên cấu hình lại clock sau khi pad reset. Chỉnh lại testbench, chạy lại simulation rồi …cầu trời test pass. Vì mỗi lần chạy lại đôi khi mất cả ngày.
Đến buổi chiều muộn, mình họp review testplan cùng team và designer: xem xét testplan đã đủ cover thiết kế chưa, nghe designer nhắc về vài corner case mới, các signal cần bổ sung để phù hợp với dòng chip mới của công ty. Cả team bàn bạc, mổ xẻ chi tiết, đôi lúc tranh luận căng nhưng rất đã.
Cuối ngày, mình ghi chú lại các vấn đề high priority, update Jira, Redmine (các phương tiện để record lại những issue xảy ra trong quá trình kiểm tra), commit code, submit regression chạy qua đêm. Đóng máy khi trời đã nhá nhem, mình tựa lưng ghế, thở ra một hơi dài. Một ngày nữa trôi qua. Có mệt, có áp lực, nhưng cũng đầy niềm vui, khi thấy dự án từng chút một tiến gần đến đích.
Làm Design Verification đôi khi giống làm “cảnh sát”: soi từng lỗi nhỏ, bắt bug, đảm bảo thiết kế chạy đúng ý. Có khi thức khuya, có khi stress deadline, nhưng cảm giác khi tìm ra một bug khó hoặc khi coverage đạt 100% thật sự rất “phê”.
