You are on page 1of 7

1.

1
Universal Verification Methodology (UVM) là một kỹ thuật và một tiêu chuẩn quy trình phát
triển kiểm tra phần cứng (hardware verification) trong ngành thiết kế vi mạch tích hợp
(Integrated Circuit - IC).

UVM cung cấp một khung làm việc kiểm tra phần cứng tái sử dụng, tự động hóa và tiêu chuẩn
hóa, cho phép các nhà thiết kế và kỹ sư kiểm tra có thể xây dựng các mô hình kiểm tra linh
hoạt và hiệu quả. Nó sử dụng ngôn ngữ hợp thành (SystemVerilog) để mô phỏng và kiểm tra
hệ thống phần cứng.

UVM giúp tăng cường tính linh hoạt, tái sử dụng và hiệu quả của quá trình kiểm tra phần
cứng. Nó cung cấp các khái niệm và các lớp thư viện, giúp kiểm tra viên tạo ra các mô hình
kiểm tra tái sử dụng, đơn giản hóa quá trình kiểm tra và nâng cao khả năng xác minh và chất
lượng của sản phẩm cuối cùng.

Với UVM, các thành phần kiểm tra, mô phỏng và quản lý bộ nhớ được xây dựng theomột cách
tiêu chuẩn, cho phép sử dụng lại các mô-đun kiểm tra đã được phát triển trước đó và chia sẻ
chúng giữa các dự án. Điều này giúp giảm thời gian và công sức cần thiết cho việc phát triển và
kiểm tra phần cứng, đồng thời cung cấp tính nhất quán và tin cậy cho quá trình kiểm tra.

Tóm lại, UVM là một tiêu chuẩn và khung làm việc quy trình phát triển kiểm tra phần cứng
giúp tăng cường tính tái sử dụng, linh hoạt và hiệu quả của quá trình kiểm tra phần cứng trong
ngành thiết kế vi mạch tích hợp.
UVM sử dụng ngôn ngữ SystemVerilog

SystemVerilog là 1 ngôn ngữ giống như Verilog và có các cấu trúc, cú pháp và tính năng
riêng, nhưng UVM là một khung gồm các lớp SystemVerilog mà từ đó có thể xây dựng các
testbench đầy đủ chức năng. Chỉ có một điều kiện tiên quyết để tìm hiểu UVM đó là
SystemVerilog vì nó là nền tảng cho UVM

1.2

UVM (Universal Verification Methodology) được sử dụng để xác minh và kiểm tra tính
đúng đắn của mạch tích hợp trong ngành công nghệ VLSI (Very Large Scale Integration). Dưới
đây là một số nhiệm vụ chính mà UVM thực hiện:

1. Tạo bộ kiểm tra: UVM cho phép kỹ sư xác minh phát triển các bộ kiểm tra tự động để
kiểm tra chức năng và hiệu suất của mạch tích hợp. Các bộ kiểm tra này được viết bằng ngôn
ngữ SystemVerilog và sử dụng các phương thức kiểm tra, khởi tạo, và cập nhật trạng thái của
mạch.

2. Mô phỏng mạch tích hợp: UVM cung cấp các công cụ và quy tắc để mô phỏng mạch
tích hợp trong môi trường xác minh. Mô phỏng giúp giả lập hoạt động của mạch và kiểm tra
tính đúng đắn của các thành phần, giao tiếp và tương tác giữa chúng.

3. Kiểm tra hợp thành phần: UVM cho phép kỹ sư xác minh xác minh tính đúng đắn của
từng thành phần (module) trong mạch tích hợp. Bằng cách xác minh và kiểm tra các thành
phần này một cách riêng lẻ, kỹ sư có thể đảm bảo chất lượng và tính ổn định của mạch trong
quá trình phát triển.

4. Tương tác với môi trường xác minh: UVM cung cấp các lớp và phương thức để
tương tác với môi trường xác minh (testbench). Điều này bao gồm việc giao tiếp với các tác
nhân (agent) xác minh, gửi và nhận tín hiệu điều khiển và dữ liệu, và cung cấp thông tin về
trạng thái xác minh của mạch.

5. Phân tích kết quả và báo cáo: UVM hỗ trợ phân tích kết quả xác minh và tạo báo cáo
chi tiết về các lỗi, cảnh báo và thành công của các bộ kiểm tra. Điều này giúp kỹ sư xác minh
hiểu rõ hơn về tình trạng và chất lượng của mạch tích hợp.

1.3

Các khối cơ bản của UVM: Test, Env, Agent, Driver, Seqeuencer, Monitor, Sequence,
Packet
Đối chiếu tương tự với các lớp trong testbench của Verilog
Quy trình hoạt động của UVM
Trong UVM (Universal Verification Methodology), các lớp cơ bản cung cấp các chức
năng quan trọng để xây dựng bộ kiểm tra và môi trường xác minh. Dưới đây là một số
lớp cơ bản trong UVM và chức năng của chúng:

1. uvm_component: Lớp cơ bản nhất trong UVM, đại diện cho các thành phần chính
trong một môi trường xác minh. Các thành phần có thể là bộ kiểm tra, môi trường xác
minh, tác nhân xác minh, v.v. Lớp này cung cấp các phương thức quản lý trạng thái,
chuẩn bị và khởi tạo, và các phương thức callback để tương tác với quá trình xác
minh.

2. uvm_test: Lớp dùng để định nghĩa và thực hiện các bộ kiểm tra. Nó là lớp cha cho
các bộ kiểm tra cụ thể trong môi trường xác minh và cung cấp các phương thức chạy
bộ kiểm tra, chuẩn bị môi trường, và xử lý kết quả kiểm tra.

3. uvm_env: Lớp đại diện cho một môi trường xác minh, chứa các thành phần và tác
nhân xác minh. Nó cung cấp các phương thức để xây dựng môi trường, kết nối các
thành phần và tác nhân, và quản lý luồng xác minh.

4. uvm_agent: Lớp đại diện cho tác nhân xác minh, là một thành phần quan trọng
trong môi trường xác minh. Tác nhân xác minh tương tác với mô hình phần cứng và
thực hiện các hoạt động xác minh như gửi và nhận tín hiệu điều khiển và dữ liệu. Lớp
này cung cấp các phương thức để cấu hình, khởi tạo, và điều khiển tác nhân.

5. uvm_driver và uvm_monitor: Lớp driver làm nhiệm vụ gửi tín hiệu điều khiển và dữ
liệu từ môi trường xác minh đến mô hình phần cứng, trong khi monitor theo dõi các
tín hiệu và dữ liệu từ mô hình phần cứng và gửi về môi trường xác minh. Hai lớp này
là thành phần quan trọng của tác nhân xác minh.

6. uvm_sequence và uvm_sequencer: Lớp sequence đại diện cho một chuỗi các giao
thức và hoạt động xác minh, trong khi sequencer là thành phần điều khiển các chuỗi
sequence. Sequence và sequencer là cặp lớp hoạt động cùng nhau để tạo ra các luồng
xác minh tự động và kiểm soát quy trình xác minh.

Các lớp cơ bản trong UVM cung cấp cấu trúc và phương thức để xây dựng và tổ chức
các bộ kiểm tra và môi trường xác minh, từ việc định nghĩa bộ kiểm tra cho đến
tương tác với mô hình phần cứng và kiểm tra kết quả.
II>

UVM Testbench là thành phần chứa toàn bộ môi trường kiểm tra, bao gồm cả
DUT.

1. DUT (Design Under Test) chính là thiết kế cần kiểm tra. Trong loạt bài này, nó là
lõi IP UART-APB.
2. User checker là một thành phần giám sát và kiểm tra một vài điều kiện đặc biệt
theo yêu cầu mô tả bởi người kiểm tra.
3. User coverage là một thành phần kiểm tra yêu cầu coverage ở một số vị trí
được mô tả bởi người kiểm tra.
4. UVM Test là lớp bao trên cùng chứa tất cả các thành phần UVM
 UVM Environment là thành phần nhóm các thành phần khác của môi trường
UVM như UVM Agent, UVM Scoreboard hoặc UVM Environment khác:
 UVM Agent nhóm các thành phần kiểm tra kết nối với giao tiếp của DUT.
Nó có thể có nhiều thành phần khác nhau, nhưng thường có 3 thành
phần chính:
 UVM Monitor là thành phần giám sát thông tin và tín hiệu giao
tiếp với DUT.
 UVM Sequencer điều khiển quá trình truyền các transaction từ
các seqence
 UVM Driver nhận các transaction từ các sequence là lần lượt
chuyển chúng thành các giá trị tương ứng để lái các tín hiệu trên
giao tiếp với DUT
 UVM Scoreboard là thành phần kiểm tra hành vi, hoạt động hoặc dữ
liệu mong muốn của DUT.
 UVM Sequence là đối tượng tạo ra các transaction và cung cấp chúng cho UVM
Sequencer để đưa đến UVM Driver.
 Transaction là gói dữ liệu test được sử dụng để kiểm tra DUT.
 UVM Configuration là thành phần cấu hình môi trường UVM với các thông số
mong muốn trước khi thực thi test.

You might also like