Semaphore trong Systemverilog

Tags:
Thứ Sáu, 13 tháng 02, 2026

Chào các bạn, hôm nay cùng mình và Học Vi Mạch Cùng ICTC sẽ tìm hiểu một concept nền tảng trong SystemVerilog, giúp giải quyết các bài toán đồng bộ, đó là semaphore.

Những ngày đầu học Design Verification, hầu như thứ gì cũng mới. RTL còn có thể lần mò vì khá giống các môn digital ở trường, nhưng khi bước sang testbench, sequence, driver… thì cảm giác như đang bước vào một thế giới hoàn toàn khác. Khi đó, suy nghĩ thường rất đơn giản: chỉ cần viết stimulus sao cho DUT chạy được là ổn. Còn chuyện nhiều tiến trình chạy song song, hay dữ liệu dùng chung có thể ảnh hưởng lẫn nhau như thế nào, gần như chưa được để ý tới.

Rắc rối chỉ bắt đầu lộ ra khi testbench phức tạp hơn. Một hiện tượng quen thuộc xuất hiện: cùng một test, có lúc pass, có lúc fail. Chạy lại lần nữa thì kết quả lại khác. Không phải do code thay đổi, mà nguyên nhân thường nằm ở chỗ: có nhiều tiến trình đang cùng truy cập một tài nguyên mà không hề có cơ chế kiểm soát.

Và ở đây, semaphore xuất hiện như một người gác cổng. Nói đơn giản, semaphore là một cơ chế dùng để kiểm soát quyền truy cập vào tài nguyên dùng chung giữa các tiến trình chạy song song.

Có thể hình dung theo một ví dụ đời thường như sau trong gia đình có hai người nhưng chỉ có một chiếc ô tô. Vậy làm sao biết hiện tại ai đang sử dụng xe? Lúc này, semaphore giống như chiếc chìa khóa ô tô. Ai muốn dùng xe thì phải cầm chìa khóa đi. Dùng xong thì đặt chìa khóa lại trên bàn. Nếu nhìn lên bàn mà không thấy chìa khóa, ta hiểu ngay rằng xe đang được người khác sử dụng. Cùng xem code minh họa để hiểu thêm về semaphore 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ứ Sáu, 13 tháng 02, 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

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

Tại Sao RTL Lại Cần Thiết Trong Thiết Kế Vi Mạch?

Tại Sao RTL Lại Cần Thiết Trong Thiết Kế Vi Mạch?

Các bạn sinh viên ngành thiết kế vi mạch viết RTL hằng ngày, vậy có khi nào tự đặt câu hỏi tại sao lại RTL lại xuất hiện không nè?Trong thiết kế vi mạch, về mặt lý thuyết, chúng ta hoàn toàn có thể mô tả một con chip bằng netlist thuần túy. Từng cổng logic, từng...

BÀI 9: IR-Drop Trong Physical Design

BÀI 9: IR-Drop Trong Physical Design

Mời các bạn theo dõi bài viết tiếp theo của anh PD lead của Học Vi Mạch Cùng ICTC nhé-----Chào các bạn, sau các bài viết về congestion, timing violation và CTS, hôm nay chúng ta sẽ cùng đến với chủ đề cuối cùng trong chuỗi series về các thách thức trong...

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