System Verilog Là Gì? Lịch Sử, Chức Năng, Sử Dụng Trong DV, UVM

Thứ năm, 18 tháng 04, 2024

SystemVerilog là một ngôn ngữ phát triển từ Verilog, được sử dụng chủ yếu trong thiết kế (RTL design) và kiểm tra (DV) hệ thống điện tử số. Đây là một ngôn ngữ mở rộng của Verilog, bổ sung nhiều tính năng mới nhằm hỗ trợ thiết kế phức tạp hơn và kiểm tra hiệu suất cao hơn.

Phần 1: SystemVerilog lịch sử phát triển

Lịch sử phát triển của SystemVerilog bắt đầu từ nhu cầu mở rộng Verilog để hỗ trợ các yêu cầu thiết kế và kiểm tra phức tạp hơn. Dưới đây là một số giai đoạn chính trong lịch sử phát triển của SystemVerilog:

  • Đầu những năm 2000: Các công ty và tổ chức trong ngành công nghiệp VLSI bắt đầu nhận thức được rằng Verilog, ngôn ngữ thiết kế chính thức cho hầu hết các mạch tích hợp, cần được mở rộng để đáp ứng các yêu cầu thiết kế ngày càng phức tạp hơn. Các nhà sản xuất chip như Synopsys, Cadence và Mentor Graphics đã cùng đưa ra các đề xuất để phát triển Verilog thành SystemVerilog.
  • IEEE Standardization: Sau đó, IEEE (Institute of Electrical and Electronics Engineers) đã đảm nhận vai trò chính thức trong việc đặt tiêu chuẩn cho SystemVerilog. Quy trình tiêu chuẩn hóa SystemVerilog đã được bắt đầu vào khoảng năm 2002 và cuối cùng dẫn đến việc phát hành chuẩn IEEE 1800-2005 vào năm 2005.
  • Phát triển UVM: Trong quá trình phát triển SystemVerilog, nhu cầu trong việc kiểm tra và xác minh (verification) các mạch tích hợp ngày càng tăng. Do đó, Universal Verification Methodology (UVM) đã được phát triển bởi một số công ty như Cadence, Mentor Graphics và Synopsys, với sự hỗ trợ của Accellera Systems Initiative. UVM trở thành một phần của chuẩn IEEE 1800-2012, là một bộ công cụ kiểm tra tiêu chuẩn trong ngành công nghệ VLSI.
  • Sự lan rộng và ứng dụng: SystemVerilog và UVM đã nhanh chóng trở thành các công nghệ phổ biến và chính thức trong ngành công nghiệp điện tử, giúp các kỹ sư điện tử thiết kế và kiểm tra các mạch tích hợp phức tạp một cách hiệu quả hơn.

Phần 2: Các chức năng chính của Systemverilog

Các tính năng chính của SystemVerilog bao gồm:

  • Kiểu dữ liệu phức tạp: SystemVerilog cung cấp các kiểu dữ liệu phức tạp hơn so với Verilog, bao gồm cả kiểu cấu trúc (struct), kiểu liệt kê (enum) và kiểu class (class) để hỗ trợ thiết kế mô-đun phức tạp.
  • Tính năng hướng đối tượng: Với lớp (class) và đối tượng (object), SystemVerilog hỗ trợ phương pháp lập trình hướng đối tượng trong việc mô hình hóa và thiết kế các thành phần điện tử.
  • Kiểm tra và kiểm định (Verification): SystemVerilog cung cấp UVM (Universal Verification Methodology) là một bộ công cụ kiểm tra tiêu chuẩn được sử dụng rộng rãi trong ngành công nghệ VLSI để kiểm tra mạch tích hợp.

Phần 3: SystemVerilog trong kiểm tra xác minh – Design verification (DV)

Systemverilog có thể được dùng trong thiết kế RTL và cả kiểm tra xác minh (DV), nhưng trong bài viết này chúng ta sẽ khảo sát việc sử dụng Systemverilog vào quá trình kiểm tra xác minh.

Những điểm mạnh và tính ứng dụng cao của Systemverilog so với Verilog trong DV có thể kể đến như:

  • Assertion: SystemVerilog hỗ trợ các câu lệnh khẳng định (assertions) để xác minh tính đúng đắn của các điều kiện trong mạch tích hợp. Các assertions được sử dụng để kiểm tra các điều kiện đúng sai trong quá trình xác minh.
  • Functional Coverage: SystemVerilog cung cấp các công cụ để đo lường độ bao phủ chức năng (functional coverage) của các testbench. Độ bao phủ chức năng là một chỉ số quan trọng để đảm bảo rằng tất cả các trường hợp chức năng của mạch tích hợp đã được kiểm tra.
  • Constrained Randomization: SystemVerilog hỗ trợ kỹ thuật sinh ngẫu nhiên có ràng buộc (constrained randomization) để tạo ra các điểm kiểm tra đa dạng và toàn diện hơn. Việc sử dụng sinh ngẫu nhiên có ràng buộc giúp tăng khả năng phát hiện lỗi trong thiết kế.
  • Transaction-Level Modeling (TLM): SystemVerilog cho phép mô hình hóa mức giao dịch (transaction-level modeling) để mô phỏng các hoạt động trao đổi dữ liệu giữa các thành phần trong mạch tích hợp.
  • Interface with C/C++ (DPI-C): SystemVerilog cung cấp các tính năng để tương tác với các mã C/C++, cho phép tích hợp dễ dàng giữa các mô-đun SystemVerilog và các mô-đun phần mềm khác trong môi trường xác minh.

Phần 4: UVM

UVM là viết tắt của “Universal Verification Methodology” (Phương pháp kiểm tra tổng quát) là một thư viện được viết bằng ngôn ngữ Systemverilog, UVM được sử dụng rộng rãi để xác minh (verify) các mạch tích hợp phức tạp trước khi chúng được sản xuất.

Các đặc điểm chính của UVM bao gồm:

  • Tính tổng quát (Universal): UVM là một khuôn khổ tổng quát và linh hoạt, có thể áp dụng cho nhiều loại thiết kế và môi trường xác minh khác nhau.
  • Tiêu chuẩn hóa (Standardized): UVM là một tiêu chuẩn ngành, được phát triển bởi Accellera Systems Initiative, để đảm bảo tính nhất quán và sự chia sẻ giữa các công ty và tổ chức trong ngành công nghệ VLSI.
  • Hỗ trợ đa mô hình (Multi-Level Modeling): UVM hỗ trợ mô hình hóa ở nhiều cấp độ khác nhau, từ mô hình mô-đun đơn giản đến mô hình hệ thống phức tạp.
  • Kiểm tra tự động (Automated Testing): UVM cung cấp các công cụ và kỹ thuật để xây dựng các testbench tự động và hiệu quả, bao gồm các bộ kiểm tra tự động (testbenches), các mô hình mô phỏng (simulation models), và các kịch bản kiểm tra (test scenarios).
  • Quản lý hiệu suất (Coverage and Performance Management): UVM cung cấp các công cụ để quản lý độ bao phủ (coverage) của các kiểm tra và đánh giá hiệu suất của quá trình xác minh.

UVM giúp tăng cường độ tin cậy của quá trình xác minh bằng cách cung cấp các tiêu chuẩn và kỹ thuật phát triển một cách có cấu trúc, cho phép các kỹ sư điện tử kiểm tra và xác minh tính chính xác, độ bao phủ, và tính toàn diện của các thiết kế VLSI. UVM cũng đóng vai trò quan trọng trong việc giảm thiểu thời gian và chi phí của quá trình xác minh, đảm bảo rằng các sản phẩm điện tử được phát triển đạt được chất lượng cao và tuân thủ các tiêu chuẩn ngành.

Phần 5: Lời kết

Khi mà càng ngày các con chip càng trở nên phức tạp hơn thì chúng ta cần có 1 môi trường kiểm tra mạnh mẽ. Việc học systemverilog cũng như UVM có thể tham khảo từ internet và 1 số đầu sách miễn phí nhưng các bạn có thể gặp khó khăn trong việc ứng dụng vào thực tiễn công việc.

Hiểu được điều đó sắp tới ICTC sẽ cung cấp khóa học DV advanced. Khóa học tập trung phần tích cấu trúc dữ liệu của Systemverilog và UVM, đồng thời ứng dụng vào thiết kế VIP (Verification IP) và tạo testbench cho quá trình kiểm tra IP và với kiến thức về systemverilog và UVM sẽ là một điểm cộng rất lớn khi bạn phỏng vấn vào vị trí DV.

Để chuẩn bị tham gia khóa học này, các bạn có thể bắt đầu trau dồi kiến thức và kĩ năng qua khóa Thiết Kế Vi Mạch Cơ Bản IC Overview nhé!

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

Tìm hiểu lộ trình cho người mới bắt đầu để hiểu thêm về công việc, ngành nghề, đãi ngộ và những kiến thức cần thiết để học thiết kế vi mạch và tham gia vào thị trường vi mạch.
Lộ Trình Bắt Đầu Ngành Thiết Kế Vi Mạch Bán Dẫn

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í

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é:

Thứ năm, 18 tháng 04, 2024
Giảng Viên Huy Nguyen Đào Tạo Thiết Kế VI Mạch
Huy Nguyễn
Với hơn 6 năm làm việc trong lĩnh vực vi mạch, tập trung vào khâu kiểm tra (Design verification - DV), mình từng làm việc ở các công ty trong và ngoài nước và hiện tại đang công tác tại công ty NSING Technology Singapore, mình nhận thấy đây là một ngành nghề mang lại nhiều giá trị. Đứng trước các vấn đề về thời đại, ngành vi mạch ngày càng trở nên thu hút hơn khi các tập đoàn lớn đang đẩy mạnh đầu tư và tìm kiếm nguồn nhân lực ở các nước đang phát triển, trong đó có Việt Nam. Từ đó, ngày càng có nhiều bạn mong muốn được tiếp cận với ngành vi mạch nhưng chưa có định hướng cụ thể và chưa biết phải bắt đầu như thế nào và chuẩn bị những gì. Là một người đã và đang làm trong ngành vi mạch, mình mong muốn có thể đóng góp một phần nhỏ bằng cách mang những kinh nghiệm, trải nghiệm và kiến thức thực tế nhất đến với các bạn đang quan tâm lĩnh vực này, đem đến một hành trang vững chắc trên hành trình chinh phục ước mơ của các bạn - những Kỹ sư vi mạch tương lai. Đó là lý do trung tâm đào tạo ICTC được ra đời, với khát vọng đóng góp một phần vào sự phát triển ngành vi mạch nói chung và ngành vi mạch ở Việt Nam nói riêng.

Độ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
Lê Tiến Đạt

Lê Tiến Đạt

DFT Engineer - SemiFive

"Mình chuyển sang vi mạch thực sự khoảng đầu năm nay, mông lung và mất định hướng. Trong quá trình tự học thì biết đến ICTC, cũng nghĩ mục tiêu ban đầu là học để có cái nhìn tổng quát về ngành chứ không nghĩ là sẽ nhận được nhiều như vậy từ các anh. Mình phỏng vấn lần đầu tiên vào tháng 1, sau 6 tháng nỗ lực và tham gia cùng với ICTC thì mình nhận được offer."

Nguyễn Thị Phương Quỳnh

Nguyễn Thị Phương Quỳnh

Technical Engineer - Synopsys

"Trong mùa hè muốn phát triển bản thân, mình đã chọn tham gia khóa học IC Overview tại ICTC để củng cố kiến thức về RTL và DV. Trước đây, mình chỉ tập trung coding module mà bỏ qua kỹ năng thiết kế - điều cốt lõi của kỹ sư vi mạch. Qua khóa học, mình hiểu rõ hơn vai trò và công việc thực tế của một kỹ sư vi mạch. Đội ngũ giảng viên giàu kinh nghiệm đã hỗ trợ tận tình cả trong và ngoài lớp học, giúp mình cải thiện đáng kể, đặc biệt khi phỏng vấn cho các offer hiện tại của mình. Xin cảm ơn anh Ân và ICTC rất nhiều!"

Phan Vinh Phong

Phan Vinh Phong

RTL Design Engineer - BOS Semiconductor

"Những ngày tu luyện miệt mài trên server của ICTC được đền đáp bằng một offer RTL Design đầu tiên, một thành quả không tưởng với bản thân mình của 3 tháng trước. Mình thực sự rất biết ơn các anh giảng viên trong đội ngũ ICTC đã tạo nên một môi trường học tập vô cùng chuyên nghiệp, tâm huyết và đầy cảm hứng để các bạn trẻ như mình, dù xuất phát điểm trái ngành, vẫn có thể tự tin theo đuổi và hiện thực hóa giấc mơ của trong lĩnh vực vi mạch."

Nguyễn Thanh Vương

Nguyễn Thanh Vương

Design Verification Engineer - FPT Semiconductor

"Khóa học quá oke ấy chứ ạ. Lúc trước em fail 3 lần pv và nhận ra mình thiếu project vs tool EDA thực tế, khóa học có server vs thạo VIM em thấy lợi thế hơn hẳn luôn ấy."

Lê Duy Thức

Lê Duy Thức

Technical Engineer - Synopsys

"Khóa học thiết kế vi mạch cơ bản do anh Ân phụ trách thật sự rất bổ ích. Anh Ân dạy rất dễ hiểu, lại còn cực kỳ thân thiện và luôn sẵn sàng hỗ trợ tụi em khi gặp khó khăn. Em thấy nội dung khóa học giúp ích rất nhiều cho quá trình phỏng vấn thực tập sau này. Đặc biệt, phần final project khiến em nắm vững hơn về cách đọc và hiểu code RTL, cực kỳ thực tế và sát với công việc. Đây là một khóa học đáng giá cho những ai muốn học và làm về thiết kế vi mạch."

Phan Minh Khôi

Phan Minh Khôi

PD Engineer - ADT Technology & SNST

"Nhờ các kiến thức của khóa học tại trung tâm nên em có cái nhìn chi tiết hơn về ngành, giúp em trả lời tốt các câu hỏi tạo điểm cộng trong mắt nhà tuyển dụng."

Nổi Bật

Tổng Kết Khóa Học Thiết Kế Vi Mạch Cơ Bản Tháng 6 2024

Tổng Kết Khóa Học Thiết Kế Vi Mạch Cơ Bản Tháng 6 2024

Hôm nay, khóa học Thiết kế Vi mạch Cơ bản tại Trung tâm ICTC đã chính thức khép lại với buổi lễ tổng kết ý nghĩa. Đây là dịp để giảng viên và học viên cùng nhau nhìn lại hành trình học tập, những thành quả đạt được, và chia sẻ cảm nghĩ sau khóa học. Cảm Nghĩ Của Họ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

VLSI Testing – Phần 3: Testing Trong Quy Trình Sản Xuất IC

VLSI Testing – Phần 3: Testing Trong Quy Trình Sản Xuất IC

Bài viết nằm trong series về VLSI Testing Hình dưới đây mô tả các bước để làm ra 1 con chip. Sau khi chip đã được thiết kế hoàn chỉnh, một số con chip mẫu (prototype chip) sẽ được gửi về để test (prototype test). Sau khi quá trình testing hoàn tất và fix tất cả các...

VLSI Testing – Phần 2: Test Là Quá Trình Đưa Ra Quyết Định

VLSI Testing – Phần 2: Test Là Quá Trình Đưa Ra Quyết Định

Bài viết nằm trong series bài viết về VLSI Testing Các Khả Năng Xảy Ra Khi Test Chip Có 4 khả năng xảy ra khi test chip 1.True PASS: tất cả các tính năng của chip đều được test một cách chính xác, chip hoạt động tốt, không có defect nào cả. 2.Test escape: quá trình...

VLSI Testing – Phần 1: VLSI Testing (Chip Testing) Là Gì?

VLSI Testing – Phần 1: VLSI Testing (Chip Testing) Là Gì?

Bài viết nằm trong series bài viết về VLSI Testing. VLSI Testing là gì? VLSI testing, hay chip testing là quá trình diễn ra sau IC đã được sản xuất, nhằm xác định một phần hoặc toàn bộ chip hoạt động đúng tính năng hay không (PASS or FAIL).Testing là công đoạn bắt...

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