Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát

Việc xác minh chức năng thiết kế là một yêu cầu bắt buộc phải có và chiếm đến gần 70 - 80% thời gian trong chu kỳ

của một thiết kế bất kì. Những phương pháp xác minh hiện nay bằng cách kiểm tra trực tiếp các thiết kế thường tốn

nhiều thời gian, có độ tin cậy thấp và khá nhàm chán. Bên cạnh đó, nó khó bao quát được hết tất cả các trường hợp cần

phải xác minh. Bài báo này trình bày một cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4-bit dựa trên phương

pháp xác minh phổ quát (UVM) sử dụng ngôn ngữ System Verilog. Việc kết hợp những ưu điểm của UVM trong cấu

trúc được đề xuất này cùng với System Verilog giúp xây dựng môi trường xác minh mà ở đó các biến ngõ vào được

thiết lập ngẫu nhiên giúp giảm thời gian xây dựng testbench. Ngoài ra, việc tận dụng ngôn ngữ System Verilog để tạo ra

các ma trận nhằm đánh giá độ bao phủ các trường hợp cần xác minh giúp ích rất nhiều trong việc gia tăng độ tin cậy

trong thiết kế. Kết quả mô phỏng cho thấy độ bao phủ này lên đến 99.3%. Hơn nữa, cấu trúc được đề xuất này có thể tái

sử dụng hoặc mở rộng thêm trong việc kiểm tra các thiết kế SoC khác, rút ngắn được thời gian kiểm chứng.

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 1

Trang 1

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 2

Trang 2

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 3

Trang 3

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 4

Trang 4

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 5

Trang 5

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 6

Trang 6

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 7

Trang 7

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 8

Trang 8

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 9

Trang 9

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát trang 10

Trang 10

pdf 10 trang duykhanh 5120
Bạn đang xem tài liệu "Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát

Cấu trúc kiểm chứng thiết kế cho bộ cộng toàn phần 4 - Bit dựa trên phương pháp xác minh phổ quát
ại học Duy Tân 04(41) (2020) 3-12 6 
 DUT - Device Under Test: thiết kế cần 
xác minh. 
 Environment: đây là lớp chính của cấu 
trúc xác minh. Nó kết nối một hay nhiều 
tác nhân xác minh với bảng kiểm tra kết 
quả xác minh. Hơn nữa, nó có thể bao 
gồm các thành phần khác như là khối 
giám sát và kiểm kê (Checker), và khối 
dự đoán ngõ ra của thiết kế (Predictor). 
 Agent: có nhiệm vụ tạo ra các trường hợp 
kiểm tra khác nhau cho việc xác minh 
thiết kế và truyền chúng đến DUT thông 
qua lớp giao diện. Một tác nhân xác minh 
thông thường bao gồm bộ sắp xếp trình 
tự, bộ điều hướng và bảng giám sát, cùng 
với các thông số để cấu hình nên tác nhân 
xác minh. 
 Sequencer: có nhiệm vụ chuyển các 
chuỗi ngõ vào tới bộ điều hướng bất cứ 
khi nào bộ điều hướng này cần. 
 Driver: có nhiệm vụ liên tục nhận các kết 
quả từ bộ sắp xếp trình tự, và chuyển đổi 
chúng thành các giá trị tương ứng bậc cao 
hơn mà DUT có thể hiểu được. 
 Monitor: nhận lấy tín hiệu ngõ ra của 
DUT thông qua lớp giao diện và chuyển 
chúng thành các giá trị tương ứng bậc 
thấp hơn. Tiếp theo, bảng giám sát gởi 
các kết quả này tới bảng kiểm tra kết quả 
xác minh. 
 Scoreboard: tại đây sẽ kiểm tra các hành 
vi của DUT như mong muốn hay không, 
bằng cách so sánh các đáp ứng thực tế 
của DUT (là các kết quả nhận được từ 
bảng giám sát) với các giá trị mong đợi 
(được lấy từ lớp khối dự đoán ngõ ra của 
thiết kế). 
2.2. Các giai đoạn chạy mô phỏng của UVM 
Các thành phần nêu trên của UVM sẽ tiến 
hành hoạt động theo một trật tự nhất định. Trật 
tự này được quy định bởi các giai đoạn đã được 
định nghĩa trong UVM. UVM có 9 giai đoạn 
chủ yếu, hoạt động theo một cơ chế đồng bộ 
trong suốt quá trình chạy mô phỏng. Nghĩa là 
các thành phần UVM phải thực hiện xong giai 
đoạn hiện tại trước khi chuyển đến giai đoạn kế 
tiếp. Hình 2 trình bày chi tiết các giai đoạn chạy 
mô phỏng của UVM. 
 build_phase (giai đoạn khởi tạo): khởi 
tạo các thành phần và các đối tượng trong 
UVM. 
 connect_phase (giai đoạn kết nối): kết 
nối các thành phần và các đối tượng 
UVM từ giai đoạn trước đó lại với nhau. 
 end_of_elaboration_phase (giai đoạn 
cấu hình): tiến hành cấu hình cho các 
thành phần UVM sau khi kết nối nếu cần 
thiết. 
 start_of_simulation_phase (giai đoạn 
tiền mô phỏng): kích hoạt các giá trị ban 
đầu cho các thành phần UVM trước khi 
chạy mô phỏng hoặc phát đi các thông 
báo và thông tin về cấu trúc liên kết nếu 
cần. 
 run_phase (giai đoạn thực thi): tiến hành 
mô phỏng bằng việc tạo ra các giao dịch 
để gởi tới các thiết kế cần xác minh. 
 extract_phase (giai đoạn trích xuất): thu 
thập tất cả các thông tin cần thiết cho việc 
so sánh ở các giai đoạn tiếp theo. 
 check_phase (giai đoạn kiểm tra): so 
sánh và kiểm tra các kết quả thực tế nhận 
được từ thiết kế cần xác minh với các kết 
quả mong đợi từ khối dự đoán. 
 report_phase (giai đoạn báo cáo): trả về 
kết quả PASS / FAIL sau khi so sánh và 
kiểm tra ở các giai đoạn trên. 
 final_phase (giai đoạn hoàn tất): thực 
hiện một số xử lý, thao tác cuối cùng nếu 
có trước khi kết thúc mô phỏng. 
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 7 
Hình 2: Các giai đoạn chạy mô phỏng của UVM 
3. Cấu trúc xác minh cho bộ cộng toàn phần 
4-bit được đề xuất 
3.1. Bộ cộng toàn phần 4-bit (F.A. 4-bit) 
Đầu tiên, xét một bộ cộng toàn phần 1-bit cơ 
bản bao gồm hai bộ cộng bán phần (Hình 3) 
được nối với nhau bằng một cổng OR. Cấu trúc 
bộ cộng toàn phần này được cho ở Hình 4. 
Thiết kế của bộ cộng này sử dụng các cổng 
logic đơn giản như AND, XOR and OR. 
Hình 3: Bộ cộng bán phần 
AND
XOR
A
B
Cout
S
AND
ORXOR
Cin
Hình 4: Bộ cộng toàn phần 
uvm_build_phase 
uvm_connect_phase 
uvm_end_of_elaboration_phase 
uvm_start_of_simulation_phase 
uvm_run_phase 
uvm_extract_phase 
uvm_check_phase 
uvm_report_phase 
uvm_final_phase 
AND
XOR
A
B
C
S
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 8 
Bộ cộng toàn phần 1-bit thực hiện việc cộng 
ba số nhị phân A, B và Cin. Trong đó A và B là 
hai số cộng 1-bit và Cin là phần dư của phép 
cộng trước. Mạch cho ra kết quả là tổng S và số 
dư Cout. Kết quả xác minh chức năng của bộ 
cộng này phải trùng khớp với bảng sự thật sau: 
Bảng 1: Bảng sự thật của một bộ cộng toàn 
phần 
Cin A B S Cout 
0 0 0 0 0 
0 0 1 1 0 
0 1 0 1 0 
0 1 1 0 1 
1 0 0 1 0 
1 0 1 0 1 
1 1 0 0 1 
1 1 1 1 1 
Công thức ngõ ra của một bộ cộng toàn phần 
1-bit được rút ra từ bảng sự thật như sau: 
S = (𝐴 ⨁ 𝐵) ⨁ 𝐶𝑖𝑛 (1) 
 𝐶out = 𝐴 ⋅ 𝐵 + (𝐴 ⨁ 𝐵) ⋅ 𝐶𝑖𝑛 (2) 
Hình 5 trình bày sơ đồ khối của một F.A. 4-
bit; trong đó có bốn bộ cộng toàn phần 1-bit 
(F.A. 1-bit) được mắc nối tiếp nhau. Mỗi F.A. 
1-bit có ba đầu vào tương ứng là Ax, Bx, và Cx, 
và hai ngõ ra là Sx và Cx+1 (với x từ 0 tới 3). 
Như vậy, F.A. 4-bit có các ngõ vào là hai số 
cộng 4-bit (A3A2A1A0 & B3B2B1B0) và số nhớ 
từ phép tính trước C0. Các ngõ ra của F.A. 4-bit 
lần lượt là số dư C4 và tổng S3S2S1S0. 
F.A.
1-bit
F.A.
1-bit
F.A. 
1-bit
F.A. 
1-bit
S3
S2
S1
S0
C4
C3
C2
C1
C0
A0
B0
A1
B1
A2
B2
A3
B3
Hình 5: Sơ đồ khối của một FA 4-bit 
3.2. Cấu trúc xác minh được đề xuất 
Hình 6 trình bày cấu trúc xác minh dựa trên 
UVM được đề xuất cho thiết kế F.A. 4-bit. 
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 9 
Driver
Sequencer
Monitor
Scoreboard
Agent
Environment
Test
Monitor
Predictor
Agent 
Configuration
F.A. 4-bit
Interface
E
n
v
iro
n
m
en
t C
o
n
fig
u
ra
tio
n
Testbench
Sequence
TransactionTransaction
Transaction
Hình 6: Cấu trúc xác minh dựa trên UVM cho FA 4-bit được đề xuất 
Test: UVM mức đỉnh. 
Environment Configuration: cấu hình môi 
trường. 
Agent Configuration: cấu hình tác nhân xác 
minh. 
Sequence: chuỗi ngõ vào. 
Transaction: giao dịch 
Predictor: lớp dự đoán kết quả 
Mô-đun Testbench khai báo đối tượng là 
F.A. 4-bit, lớp giao diện và lớp UVM mức 
đỉnh. Mỗi lớp UVM mức đỉnh sẽ tương ứng với 
mỗi trường hợp kiểm tra khác nhau được tiến 
hành để xác minh F.A. 4-bit. Lớp UVM mức 
đỉnh tiến hành khai báo cho lớp môi trường và 
cấu hình cho quá trình xác minh thông qua các 
lớp cấu hình môi trường. Lớp môi trường này 
bao gồm một lớp tác nhân xác minh đơn lẻ, 
cùng với một lớp bảng kiểm tra kết quả xác 
minh, một lớp dự đoán kết quả để dự đoán hành 
vi của F.A. 4-bit dùng trong việc so sánh, một 
lớp giám sát ngoại vi, và lớp chứa những cấu 
hình cho những tác nhân xác minh khác nhau. 
Lớp tác nhân xác minh được đề xuất bao gồm 
các lớp như đã giới thiệu ở phần 2 (bộ sắp xếp 
trình tự, bộ điều hướng, và bảng giám sát). 
Các chuỗi ngõ vào sẽ cấu thành các giao 
dịch. Khi bộ điều hướng cần, các giao dịch này 
sẽ được truyền từ bộ sắp xếp trình tự đến và 
tiến hành biên dịch sang các giá trị tương ứng 
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 10 
bậc cao hơn mà F.A. 4-bit có thể hiểu, rồi sau 
đó bắt đầu tiến hành các quá trình tính toán bên 
trong nó. 
Trong cấu trúc testbench được đề xuất này, 
bảng kiểm tra kết quả xác minh sẽ kiểm tra 
hành vi của F.A. 4-bit có đúng với yêu cầu 
được đưa ra hay không. Bảng kiểm tra kết quả 
xác minh so sánh hồi đáp của F.A. 4-bit được 
lấy từ lớp giám sát bên trong lớp tác nhân xác 
minh với giá trị hoạt động mong đợi của F.A. 
4-bit từ lớp dự đoán kết quả. Có nghĩa là trong 
trường hợp này, dữ liệu của lớp dự đoán kết 
quả đóng vai trò như một mô hình tham khảo. 
Nếu kết quả so sánh giống nhau thì bảng kiểm 
tra kết quả này sẽ đưa ra tín hiệu báo F.A. 4-bit 
hoạt động như yêu cầu – là PASS và ngược lại 
– là FAIL. Trong lớp giao diện, các tín hiệu ngõ 
vào và ngõ ra được khai báo, cho phép việc 
giao tiếp hiệu quả giữa F.A. 4-bit và các lớp 
bên trong Testbench. 
3.3. Độ bao phủ chức năng 
Độ bao phủ chức năng là một phần thiết yếu 
của việc xác minh thiết kế. Nó là một ma trận 
được định nghĩa bởi người kiểm tra, dùng để 
xác minh kế hoạch kiểm tra đạt được bao nhiêu 
phần trăm [13]. Chất lượng của việc xác minh 
thiết kế phụ thuộc vào chất lượng của kế hoạch 
kiểm tra. Về mặt bản chất, độ bao phủ sẽ trả lời 
cho câu hỏi “các trường hợp kiểm thử đưa vào 
xác minh thiết kế đã đủ ngẫu nhiên hay chưa?” 
Trong cấu trúc xác minh được đề xuất ở bài báo 
này, mô hình bao phủ được xây dựng từ tập 
hợp những điểm cần bao phủ (coverpoint). Mỗi 
điểm cần bao phủ liên quan đến một chức năng 
hoặc đặc điểm của F.A. 4-bit cần xác minh. Cụ 
thể trong trường hợp này, mỗi điểm cần bao 
phủ tương ứng với từng ngõ vào của bộ cộng 
toàn phần. Thông thường một thiết kế được 
đánh giá là tốt nếu có kết quả độ bao phủ đạt từ 
95% trở lên. 
4. Kết quả mô phỏng 
Cấu trúc xác minh dựa trên UVM được đề 
xuất cho F.A. 4-bit được tiến hành và mô 
phỏng sử dụng phần mềm QuestaSim. 
SystemVerilog cùng với phương pháp UVM 
được sử dụng cho việc thiết kế cấu trúc xác 
minh này. Bên cạnh đó, SystemVerilog cũng 
được dùng cho việc mô tả F.A. 4-bit. Rất nhiều 
trường hợp kiểm tra được tạo ra để xác minh 
chức năng của F.A. 4-bit này một cách đầy đủ 
nhất. Testbench được thiết kế với mục đích xác 
nhận hoạt động chính xác của mô hình F.A. 4-
bit dựa trên dữ liệu được cung cấp ở ba ngõ 
vào, và kiểm chứng kết quả ở hai ngõ ra. 
A=4'b0110
B=4'b1101
Cin = 1'b0
S=4'b0011
Cout = 1'b1
A=4'b0110
B=4'b0110
Cin = 1'b1
S=4'b1101
Cout = 1'b0
A=4'b0101
B=4'b1001
Cin = 1'b1
S=4'b1111
Cout = 1'b0
Hình 7: Kết quả dạng sóng mô phỏng 
Hình 7 là dạng sóng mô phỏng kết quả của 
cấu trúc xác minh được đề xuất. Có tất cả 4097 
tổ hợp ngõ vào được tạo ra, một vài trong số đó 
sẽ bị lặp lại; đây là kết quả của quá trình tạo 
ngõ vào ngẫu nhiên. Ba trong số các kết quả mô 
phỏng được hiển thị cho thấy cấu trúc xác minh 
được đề xuất này hoạt động chính xác và đạt 
được hiệu suất xác minh cao cho F.A. 4-bit. 
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 11 
Đối với phương pháp xác minh truyền 
thống, kỹ sư thẩm định thiết kế sẽ phải trực tiếp 
nhập từng giá trị ngõ vào. Ví dụ trong trường 
hợp này, các ngõ vào A và B có 4 bits nghĩa là 
có 16 giá trị khác nhau được tạo ra tương ứng 
cho từng ngõ vào. Ngõ vào Cin có 1-bit, nghĩa 
là tương ứng với 2 giá trị khác nhau được tạo 
ra. Tổng cộng, kỹ sư thẩm định thiết kế sẽ phải 
trực tiếp nhập 512 trường hợp khác nhau để 
chắc chắn rằng thiết kế hoạt động bình thường. 
So với việc dùng cấu trúc xác minh dựa trên 
UVM, thì công việc kiểm tra thủ công này tốn 
nhiều thời gian hơn và trở nên phức tạp hơn đối 
với những thiết kế hỗn hợp và có nhiều ngõ vào 
cần xác minh. 
Bên cạnh đó, các phương pháp xác minh 
truyền thống không có một cơ sở nào để tự 
động kiểm tra xem các trường hợp đưa vào 
kiểm tra đã đầy đủ hay chưa. Tuy nhiên, 
phương pháp xác minh được đề xuất trong bài 
báo này đã tận dụng chức năng của 
SystemVerilog để phân tích độ bao phủ cho các 
trường hợp đưa vào kiểm tra. 
Hình 8: Phân tích độ bao phủ cho các trường hợp kiểm tra 
Phân tích độ bao phủ ở Hình 8 cho thấy 
rằng, điểm bao phủ cho tất cả ngõ vào của F.A. 
4-bit đạt hoàn toàn 100%. Sự giới hạn của thời 
gian mô phỏng khiến cho việc kết hợp của cả 
ba ngõ vào này chưa hoàn toàn bao phủ hết tất 
cả các trường hợp. Kết quả độ bao phủ đạt 
99.3% (tốt hơn rất nhiều so với tiêu chuẩn 
95%) đã khẳng định cho hiệu quả xác minh cao 
của cấu trúc xác minh cho F.A. 4-bit được đề 
xuất này. 
5. Kết luận 
Bài báo đã trình bày cấu trúc xác minh chức 
năng dựa trên UVM cho bộ cộng toàn phần 4-
bit. Khi so sánh với các phương pháp xác minh 
truyền thống, cấu trúc xác minh này đã khai 
thác được những ưu điểm vốn có của UVM và 
SystemVerilog để xây dựng nên một phương 
pháp mà có thể bao quát hầu hết các trường hợp 
cần kiểm tra, đảm bảo rằng thiết kế hoạt động 
chính xác nhất nhờ dựa vào tổ hợp các ngõ vào 
được cung cấp ngẫu nhiên và kiểm tra độ bao 
phủ. Hơn nữa, trong tương lai, cấu trúc xác 
minh này có thể được mở rộng dễ dàng để kiểm 
tra chức năng cho các bộ cộng có số bit ngõ vào 
cao hơn như 8-bit, 16-bit, 32-bit, 64-bit,..hoặc 
là các thiết kế số khác mà không cần phải xây 
dựng bộ xác minh từ đầu. 
Tài liệu tham khảo 
[1] T. M. Pavithran and R. Bhakthavatchalu, "UVM 
based testbench architecture for logic sub-system 
verification," 2017 International Conference on 
Technological Advancements in Power and Energy 
(TAP Energy), Kollam, 2017, pp. 1-5. 
[2] J.Bergeron, “Writingtestbenchesusingsystemverilog,” 
www.Verificationguild.com, 2006, pp. 24. 
[3] K. Salah, "A UVM-based smart functional 
verification platform: Concepts, pros, cons, and 
opportunities," 2014 9th International Design and 
Test Symposium (IDT), Algiers, 2014, pp. 94-99. 
[4] Ron Vogelsong, Ahmed Hussein Osman, Moustafa 
Mohamed, “Practical RNM with SystemVerilog”, 
CDNLive 2015, 2015. 
[5] Walter Hartong and Scott Cranston, “Real Valued 
Modeling for Mixed Signal Simulation”, Cadence, 
2009. 
[6] Sathishkumar Balasubramanian and Pete Hardee, 
“Solutions for MixedSignal SoC Verification Using 
Real Number Models”, Cadence Design Systems, 
2013. 
N.X.Tiến, T.Q.Việt, T.L.T.Đồng / Tạp chí Khoa học và Công nghệ Đại học Duy Tân 04(41) (2020) 3-12 12 
[7] Accellera, Universal Verification Methodology 
(UVM) 1.1 User’s Guide, 2011. 
[8] K. A. K. Maurya, Y. R. Lakshmanna, K. B. Sindhuri 
and N. U. Kumar, "Design and implementation of 
32-bit adders using various full adders," 2017 
Innovations in Power and Advanced Computing 
Technologies (i-PACT), Vellore, 2017, pp. 1-6. 
[9] A. K. Yadav, B. P. Shrivatava and A. K. Dadoriya, 
"Low power high speed 1-bit full adder circuit 
design at 45nm CMOS technology," 2017 
International Conference on Recent Innovations in 
Signal processing and Embedded Systems (RISE), 
Bhopal, 2017, pp. 427-432. 
[10] M. Yang and E. Oruklu, "Full Adder Circuit Design 
Using Lateral Gate-All-Around (LGAA) FETs 
Based on BSIM-CMG Mode," 2018 IEEE 61st 
International Midwest Symposium on Circuits and 
Systems (MWSCAS), Windsor, ON, Canada, 2018, 
pp. 420-423. 
[11] B. Ramesh and M. A. Rani, "Implementation of 
parallel adders using area efficient quantum dot 
cellular automata full adder," 2016 10th 
International Conference on Intelligent Systems and 
Control (ISCO), Coimbatore, 2016, pp. 1-5. 
[12] N. Zhang and Z. Duan, "Verification of Hardware 
Designs: A Case Study," 2011 First ACIS/JNU 
International Conference on Computers, Networks, 
Systems and Industrial Engineering, Jeju Island, 
2011, pp. 198-203. 
[13] M.F. S. Oliveira, F. Haedicke, R. Drechsler, C. 
Kuznik, H.M. Le, W. Ecker, W. Mueller, D. Große, 
V. Esen “The System Verification Methodology for 
Advanced TLM Verification ” ISSS, 2012. 

File đính kèm:

  • pdfcau_truc_kiem_chung_thiet_ke_cho_bo_cong_toan_phan_4_bit_dua.pdf