Tải bản đầy đủ (.pdf) (108 trang)

nghiên cứu đề xuất một phương pháp kiểm định hình thức cho thiết kế vi mạch bất đồng bộ và tích hợp vào quy trình thiết kế

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 108 trang )




ỦY BAN NHÂN DÂN TP.HCM
SỞ KHOA HỌC VÀ CÔNG NGHỆ










BÁO CÁO NGHIỆM THU
(Đã chỉnh sửa theo góp ý của Hội đồng nghiệm thu)

NGHIÊN CỨU ĐỀ XUẤT
MỘT PHƯƠNG PHÁP KIỂM ĐỊNH HÌNH THỨC
CHO THIẾT KẾ VI MẠCH BẤT ĐỒNG BỘ
VÀ TÍCH HỢP VÀO QUI TRÌNH THIẾT KẾ






CHỦ NHIỆM ĐỀ TÀI
(Ký tên)





ĐINH ĐỨC ANH VŨ BÙI HOÀI THẮNG


CƠ QUAN QUẢN LÝ CƠ QUAN CHỦ TRÌ
(Ký tên/đóng dấu xác nhận) (Ký tên/đóng dấu xác nhận)













THÀNH PHỐ HỒ CHÍ MINH
THÁNG 06/ 20013



i

Xác nhận đã hiệu chỉnh theo ý kiến phản biện
Phản biện 1

(chữ ký)



TS. Nguyễn Đình Uyên
Phản biện 2
(chữ ký)



TS. Bùi Trọng Tú

iii

Danh sách các cán bộ tham gia thực hiện đề tài
1. PGS. TS. Đinh Đức Anh Vũ
2. TS. Bùi Hoài Thắng
3. KS. Nguyễn Thiện Tín
4. KS. Lê Hữu Khôi Nguyên

v

Tóm tắt nội dung nghiên cứu
Vi mạch bất đồng bộ ra đời với cơ chế đồng bộ cục bộ đã thu hút được sự chú ý của rất
nhiều nhà khoa học. Vi mạch bất đồng bộ không cần phải phân bố tín hiệu xung nhịp – clock
toàn cục như trong vi mạch đồng bộ, thay vào đó, nó sử dụng các cơ chế bắt tay cục bộ để thực
hiện cơ chế đồng bộ. Do đó, nó có nhiều ưu điểm hứa hẹn so với vi mạch đồng bộ. Ngày nay,
các nghiên cứu liên quan đến vi mạch bất đồng bộ ngày càng được đầu tư và phát triển. Tuy
nhiên, các công cụ thiết kế vi mạch bất đồng bộ vẫn còn rất hạn chế.
Vi mạch bất đồng bộ là một dạng vi mạch mới, do đó một trong những lĩnh vực cần phải

được đẩy mạnh hơn nữa là việc xác định tính đúng đắn của nó. Quá trình thiết kế một vi mạch
(đồng bộ hay không đồng bộ) luôn được thực hiện qua nhiều giai đoạn khác nhau. Để kết quả là
đáng tin cậy thì mỗi qui trình đều cần phải được kiểm chứng rõ ràng. Trong nghiên cứu này,
chúng tôi đề nghị một phương pháp kiểm định vi mạch bất đồng bộ bằng phương pháp kiểm
định hình thức. Việc kiểm định sẽ được thực hiện ở mức cao của qui trình thiết kế. Nhờ đó, nó sẽ
nhanh chóng tìm ra được sai sót thiết kế (nếu có) trong thời gian sớm nhằm tiết kiệm thời gian
và công sức của các giai đoạn sau của thiết kế.
Quá trình nghiên cứu bao gồm các công đoạn tìm hiểu về thiết kế cấp cao vi mạch bất
đồng bộ như sử dụng ngôn ngữ đặc tả ADL (Asynchronous Description Language), các mô hình
biểu diễn trung gian cho vi mạch bất đồng bộ (mạng petri – Petri nets, đồ thị dòng dữ liệu –
DFG),… Các phương pháp kiểm định hình thức được tập trung nghiên cứu bao gồm kiểm tra mô
hình (model checking) và chứng minh toán học (theorem proving). Nhờ vào các ưu điểm nổi bật,
kiểm tra mô hình được lựa chọn làm phương pháp kiểm định cho vi mạch bất đồng bộ trong
nghiên cứu này của chúng tôi. Công cụ kiểm tra mô hình NuSMV được sử dụng như là công cụ
chính yếu cho phương pháp đề xuất. Nhóm nghiên cứu cũng đã xây dựng qui trình đầy đủ để
biểu diễn vi mạch bất đồng bộ trong ngôn ngữ SMV (ngôn ngữ đầu vào của NuSMV) để tiến
hình kiểm định.
Sau khi thử nghiệm các nội dung trên, nhóm nghiên cứu đã tiến hành xây dựng một
module kiểm định để tích hợp vào môi trường thiết kế vi mạch bất đồng bộ PAiD – Project on
Asynchronous circuit Design (được phát triển ở Đại học Bách Khoa TPHCM năm 2008).
Phương pháp kiểm định đề xuất đã được thử nghiệm thành công trên một số ví dụ mẫu do nhóm
nghiên cứu xây dựng.

vii

Abstract
Asynchronous circuit has become an interesting field for researching decades ago. In
contrast to synchronous circuit, synchronization in this kind of circuit is done without the need
of clock signal. Instead, asynchronous circuit uses handshaking protocol to deal with
synchronization locally. It has, therefore, some promising features over synchronous circuit.

Nowadays there are so many researches on asynchronous circuit that are invested; however EDA
tool for asynchronous circuit design is still limited.
Because asynchronous circuit is a new kind of circuit, its correctness must be considered
carefully. It is certain that the circuit design process usually consists of many stages. In order to
ensure their reliability, each design step has to be verified sufficiently. In this research, we
propose a formal method for verifying asynchronous circuit. We aim to apply the method in
high-level of circuit design process. Thus, the design errors can be identified soon and it will
help saving both design time and effort to produce correct circuit.
Our research includes many aspects of asynchronous circuit design such as : (1)
asynchronous circuit high-level description language, for example ADL – Asynchronous
Description Language, (2) asynchronous circuit intermediate representing models that include
Petri nets, Data Flow Graph. In this research, we focus on two well-known approaches in formal
verification, that are model checking and theorem proving. After investigating these two
approaches, we finally choose model checking as our proposed verifying method. And NuSMV
is chosen as the model checking tool in our method. Furthermore, in order to run NuSMV tool,
we develop a complete process to represent asynchronous circuit model in SMV language –
input language of NuSMV.
After deep studying and examining those works above, we implement a new module,
called verification module that is integrated into current asynchronous circuit design tool – PAiD
(Project on Asynchronous circuit Design). This PAiD tool is implemented at HCM University of
Technology in 2008. The verification module is successfully tested on some design examples.


ix

Mục lục
Danh sách các cán bộ tham gia thực hiện đề tài iii
Tóm tắt nội dung nghiên cứu v
Abstract vii
Mục lục ix

Danh mục hình xiii
Danh mục bảng xv
Danh sách các chữ viết tắt xvii
Chương 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 Tóm tắt đề tài 1
1.2 Giới hạn của đề tài 1
1.3 Tổng quan tình hình nghiên cứu 1
1.3.1 Tình hình nghiên cứu ngoài nước 1
1.3.2 Tình hình nghiên cứu trong nước 3
1.4 Tính cấp thiết của đề tài 3
1.5 Ý nghĩa và tính mới về khoa học và thực tiễn 4
Chương 2 TỔNG QUAN THIẾT KẾ VI MẠCH BẤT ĐỒNG BỘ 5
2.1 Tại sao lại thiết kế với vi mạch bất đồng bộ 5
2.1.1 Các vấn đề của vi mạch đồng bộ 5
2.1.2 Các nguyên lý cơ bản của vi mạch bất đồng bộ 6
2.1.2.1 Chế độ hoạt động bất đồng bộ 6
2.1.2.2 Các vấn đề 7
2.2 Các khái niệm cơ bản 8
2.2.1 Kênh trao đổi thông tin 8
2.2.2 Biểu diễn dữ liệu 9
2.2.2.1 Mã hóa “nhóm dữ liệu” (bundled data) 9
2.2.2.2 Mã hoá không phụ thuộc thời gian trễ (delay-insensitive) 9
2.2.3 Giao thức truyền thông 10
2.2.3.1 Giao thức 2 pha 11
2.2.3.2 Giao thức 4 pha 12
2.2.4 Hiện thực giao thức truyền thông dùng cổng Muller 12
x

2.2.5 Nhiễu (hazard) 14
2.2.5.1 Nhiễu hàm tổ hợp (combinatorial functional hazard) 14

2.2.5.2 Nhiễu luận lý tổ hợp (combinatorial logic hazard) 14
2.2.5.3 Nhiễu tuần tự (sequential hazard) 17
2.2.5.4 Kết luận 17
2.2.6 Mô hình thời gian trễ, mô hình mạch và mô hình môi trường 18
2.2.6.1 Mô hình thời gian trễ 18
2.2.6.2 Các chế độ hoạt động 18
2.2.7 Phân loại vi mạch bất đồng bộ 19
2.2.7.1 Vi mạch không phụ thuộc thời gian trễ (DI, “Delay Insensitive”) 19
2.2.7.2 Vi mạch QDI (“Quasi-Delay Insensitive”) 20
2.2.7.3 Vi mạch không phụ thuộc tốc độ (SI, “Speed Independence”) 20
2.2.7.4 Vi mạch micropipeline 21
2.2.7.5 Vi mạch kiểu Huffman 22
2.2.7.6 Kết luận 22
Chương 3 ĐẶC TẢ VI MẠCH BẤT ĐỒNG BỘ 23
3.1 Ngôn ngữ ADL 23
3.2 Biểu diễn trung gian vi mạch bất đồng bộ 24
3.2.1 Mạng Petri 24
3.2.2 Đồ thị dòng dữ liệu DFG (“Data Flow Graph”) 26
3.2.3 Sự kết hợp giữa mạng Petri và đồ thị dòng dữ liệu (PN-DFG) 26
3.3 Kết luận 27
Chương 4 MÔI TRƯỜNG THIẾT KẾ TÍCH HỢP CHO VI MẠCH BẤT ĐỒNG BỘ - PAiD
29
4.1 Giới thiệu 29
4.2 Giao tiếp người dùng 30
4.3 Mô đun phân tích cú pháp và ngữ nghĩa của ngôn ngữ ADL 32
4.4 Mô đun biến đổi sang mạng Petri 33
4.5 Mô đun kiểm tra DTL 34
4.5.1 Kiểm tra truy xuất tuần tự và đồng thời 34
4.5.2 Kiểm tra tính phụ thuộc và khởi tạo 34
4.6 Mô đun tạo ra phương trình phụ thuộc và phương trình luận lý 35

4.7 Mô đun tối ưu 35
4.8 Mô đun quản lý và hiển thị sơ đồ các cổng (netlist) 36
4.9 Mô đun tạo báo cáo 36
4.10 Một ví dụ thiết kế 36
xi

4.11 Kết luận 42
Chương 5 TỔNG QUAN PHƯƠNG PHÁP KIỂM ĐỊNH HÌNH THỨC 43
5.1 Giới thiệu chung 43
5.2 Chứng minh toán học 43
5.3 Kiểm tra mô hình 44
Chương 6 PHƯƠNG PHÁP KIỂM ĐỊNH VI MẠCH BẤT ĐỒNG BỘ 49
6.1 Tổng quan phương pháp kiểm định đề xuất 49
6.1.1 Nội dung phương pháp 49
6.1.2 Xây dựng module kiểm định vi mạch cho môi trường thiết kế PAiD 51
6.2 Công cụ kiểm tra mô hình NuSMV 52
6.2.1 Giới thiệu 52
6.2.2 Ngôn ngữ đặc tả SMV 53
6.2.2.1 Ngôn ngữ khai báo 53
6.2.2.2 Ngôn ngữ đặc tả cấu trúc 53
6.2.2.3 Ngôn ngữ biễu diễn biểu thức 53
6.3 Mô hình trung gian PN-DFG trong NuSMV 54
6.3.1 Phân rã mô hình trung gian PN-DFG 54
6.3.1.1 Mô hình PN-DFG 2 pha 54
6.3.1.2 Mô hình PN-DFG 4 pha 57
6.3.1.3 Kết luận 58
6.3.2 Biểu diễn mô hình chi tiết PN-DFG trong NuSMV 58
6.3.2.1 Biểu diễn place 59
6.3.2.2 Biểu diễn transition 59
6.3.2.3 Biểu diễn DFG 59

6.3.2.4 Biểu diễn hoạt động của mô hình PN-DFG 59
6.3.2.5 Ví dụ minh họa 60
6.3.3 Mô tả hệ thống trong NuSMV 62
6.3.3.1 Biểu diễn thành một module 62
6.3.3.2 Biểu diễn thành nhiều module 62
6.3.4 Thực nghiệm với NuSMV 63
6.3.4.1 Môi trường thực nghiệm 63
6.3.4.2 Mô tả hệ thống 63
6.3.4.3 Giao thức truyền thông 64
6.3.5 Kết luận 65
6.4 ADL đề xuất cho đặc tả yêu cầu thiết kế 65
Chương 7 THỰC NGHIỆM 67
xii

7.1 Bộ vi mạch mẫu 67
7.1.1 Mạch trọng tài bất đồng bộ 67
7.1.1.1 Mô tả chi tiết 67
7.1.1.2 Đặc tả ADL 68
7.1.1.3 Tính chất kiểm định 68
7.1.2 Mạch chọn bất đồng bộ 69
7.1.2.1 Mô tả chi tiết 69
7.1.2.2 Đặc tả ADL 69
7.1.2.3 Tính chất kiểm định 70
7.1.3 Bộ phân hợp kênh bất đồng bộ 70
7.1.3.1 Mô tả chi tiết 70
7.1.3.2 Đặc tả ADL 70
7.1.3.3 Tính chất kiểm định 71
7.1.4 Bộ tranh chấp tương hỗ phân tán 71
7.1.4.1 Mô tả chi tiết 71
7.1.4.2 Đặc tả ADL 72

7.1.4.3 Tính chất kiểm định 73
7.1.5 Bộ lọc đáp ứng xung hữu hạn bất đồng bộ 73
7.1.5.1 Mô tả chi tiết 73
7.1.5.2 Đặc tả ADL 74
7.1.5.3 Tính chất kiểm định 75
7.2 Thiết lập môi trường thực nghiệm 75
7.3 Kết quả 76
7.4 Đánh giá 77
Chương 8 KẾT LUẬN 79
8.1 Bảng khối lượng công việc 79
8.2 Các bài báo đã được công bố trong quá trình thực hiện đề tài 80
8.3 Kết luận 81
Tài liệu tham khảo 83



xiii
Danh mục hình
Hình 1 Khái niệm kênh truyền thông 8
Hình 2 Các mã hóa thông tin thông dụng cho vi mạch bất đồng bộ 10
Hình 3 Mã hóa “1-of-N” 10
Hình 4 Giao thức 4 pha với mã hóa “nhóm dữ liệu” 11
Hình 5 Giao thức 2 pha 11
Hình 6 Giao thức 4 pha 12
Hình 7 Ký hiệu và các cách đặc tả cổng Muller 2 ngõ nhập 13
Hình 8 Mạch hiện thực của cổng Muller 13
Hình 9 Cổng Muller bất đối xứng [30] 13
Hình 10 Nhiễu tĩnh gây ra trong cổng luận lý AND và OR 15
Hình 11 Ví dụ nhiễu luận lý tĩnh loại SIC 15
Hình 12 Ví dụ nhiễu luận lý tĩnh loại MIC 16

Hình 13 Nhiễu động 16
Hình 14 Ví dụ nhiễu luận lý động loại MIC 17
Hình 15 Các lớp mạch bất đồng bộ khác nhau 19
Hình 16 Sự tương đương giữa rẽ nhánh đồng đẳng QDI và SI 20
Hình 17 Cấu trúc cơ bản của vi mạch kiểu micropipeline 21
Hình 18 Cấu trúc micropipeline với bộ xử lý và thanh ghi 21
Hình 19 Ví dụ mạng Petri 25
Hình 20 Đồ thị dòng dữ liệu cho biểu thức x := a + b*c*d + 1 26
Hình 21 Biểu diễn trung gian của vi mạch bất đồng bộ 27
Hình 22 Qui trình thiết kế PAiD 30
Hình 23 Giao diện đồ họa người dùng GUI của PAiD 31
Hình 24 Tương tác trong mô đun phân tích của ngôn ngữ ADL 32
Hình 25 Xây dựng mạng Petri 34
Hình 26 Ví dụ thiết kế Selector 37
Hình 27 Sơ đồ các cổng dưới dạng EDIF 2.0 41
Hình 28 Sơ đồ cổng cho mạch Selector 42
Hình 29 Sơ đồ thực hiện kiểm tra mô hình 45
Hình 30 Qui trình tổng quát kiểm định vi mạch bất đồng bộ 51


xiv
Hình 31 Kiến trúc môi trường thiết kế PAiD mới 52
Hình 32 Các mô hình PN-DFG cần được phân rã theo giao thức truyền thông 54
Hình 33 PN-DFG 2 pha biểu diễn tác vụ truyền 55
Hình 34 PN-DFG 2 pha biểu diễn tác vụ nhận 56
Hình 35 PN-DFG 2 pha biểu diễn tác vụ probe 56
Hình 36 PN-DFG 4 pha biểu diễn tác vụ truyền 57
Hình 37 PN-DFG 4 pha biểu diễn tác vụ nhận 58
Hình 38 PN-DFG 4 pha biểu diễn tác vụ probe 58
Hình 39 PN-DFG 4 pha của bộ truyền (Sender) 60

Hình 40 Đặc tả SMV của mô hình PN-DFG Sender 4 pha 61
Hình 41 PN-DFG 4 pha của bộ nhận (Receiver) 63
Hình 42 PN-DFG 2 pha của bộ truyền (Sender) và bộ nhận (Receiver) 64
Hình 43 Kiến trúc mạch trọng tài bất đồng bộ 67
Hình 44 Kiến trúc mạch chọn bất đồng bộ 69
Hình 45 Kiến trúc bộ phân hợp kênh bất đồng bộ 70
Hình 46 Kiến trúc bộ DME 3 tiến trình 72
Hình 47 Kiến trúc bộ lọc FIR 3 tầng 74




xv
Danh mục bảng
Bảng 1 Kết quả so sánh các phương án mô tả hệ thống trong NuSMV 64
Bảng 2 Kết quả so sánh các phương án giao thức truyền thông trong NuSMV 64
Bảng 3 Kết quả thực nghiệm về quá trình tổng hợp PN-DFG và chuyển đổi sang NuSMV 76
Bảng 4 Kết quả thực nghiệm của quá trình kiểm định bằng NuSMV 77
Bảng 5 Bảng khối lượng công việc 79
Bảng 6 Mối liên hệ giữa nội dung công bố khoa học và nội dung đề tài 81

×