1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ế

108 313 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 108
Dung lượng 2,05 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Về bản chất, các vi mạch bất đồng bộ là tổ hợp các thành phần hoạt động độc lập và giao tiếp với nhau thông qua các tín hiệu giao thức thông báo trạng thái hoàn thành của các lệnh hoặc t

Trang 1

Ủ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

Đ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

Trang 3

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

Trang 5

Danh sách các cán bộ tham gia thực hiện đề tài

Trang 7

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

Trang 9

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

Trang 11

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

Trang 12

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

Trang 13

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

Trang 14

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

Trang 15

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

Trang 16

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

Trang 17

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 64Bảng 2 Kết quả so sánh các phương án giao thức truyền thông trong NuSMV 64Bả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 76Bảng 4 Kết quả thực nghiệm của quá trình kiểm định bằng NuSMV 77Bảng 5 Bảng khối lượng công việc 79Bả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

Trang 21

Chương 1

Chương 1 GIỚI THIỆU ĐỀ TÀI

1.1 Tóm tắt đề tài

Đề tài này tập trung vào 2 mục tiêu chính:

 Nghiên cứu các phương pháp kiểm định (verification) thiết kế vi mạch bất đồng bộ biểu diễn

ở cấp cao (ví dụ như ngôn ngữ thiết kế cấp cao, mạng Petri) và đề xuất một phương pháp kiểm định phù hợp;

 Xây dựng công cụ trợ giúp thiết kế có kiểm định

Ở hướng thứ nhất, đề tài tập trung làm rõ các lý thuyết về kiểm định thiết kế vi mạch hiện đang được nghiên cứu trên thế giới, cũng như đề xuất một vài phương pháp kiểm định phù hợp cho vi mạch bất đồng bộ ở một cấp biểu diễn cao Kết quả của hướng này còn là một đề xuất cho phương án mô tả các yêu cầu ràng buộc bổ sung vào bản đặc tả thiết kế dùng ngôn ngữ cấp cao nhằm đảm bảo tính đúng đắn của một thiết kế

Ở hướng thứ hai, đề tài sẽ mở rộng một công cụ thiết kế vi mạch có sẵn để kiểm định thiết kế Công cụ mở rộng này sẽ cho phép các nhà thiết kế vi mạch đặc tả một bản thiết kế ở ngôn ngữ cấp cao đồng thời với việc mô tả các yêu cầu ràng buộc Công cụ khi đó sẽ kiểm định bản thiết kế với các ràng buộc này và trợ giúp người thiết kế định vị các khiếm khuyết có trong thiết kế một cách dễ dàng

1.2 Giới hạn của đề tài

Nội dung chính yếu của đề tài này là phương pháp kiểm định hình thức vi mạch bất đồng

bộ, đồng thời tích hợp vào môi trường thiết kế Nhóm thực hiện hướng đến đề xuất thành công một phương pháp kiểm định hình thức khả thi Theo đó, nhóm thực hiện cũng sẽ xây dựng một

số vi mạch để kiểm chứng cho phương pháp đề xuất Giới hạn của đề tài chỉ xây dựng các thiết

kế vi mạch vừa và nhỏ

1.3 Tổng quan tình hình nghiên cứu

1.3.1 Tình hình nghiên cứu ngoài nước

Trong lĩnh vực thiết kế vi mạch tích hợp mật độ cao VLSI hiện nay, một trong lĩnh vực phát triển mũi nhọn của các quốc gia trên thế giới, hướng thiết kế vi mạch bất đồng bộ (asynchronous circuit) nổi lên như một giải pháp tự nhiên và vững chắc thay thế cho các hạn chế

Trang 22

về việc đồng bộ mà vi mạch đồng bộ (synchronous circuit) gặp phải như là việc phân phối xung nhịp, năng lượng tiêu thụ, nhiễu [15] Về bản chất, các vi mạch bất đồng bộ là tổ hợp các thành phần hoạt động độc lập và giao tiếp với nhau thông qua các tín hiệu (giao thức) thông báo trạng thái hoàn thành của các lệnh hoặc tác vụ Một số loại vi mạch bất đồng bộ đã được nghiên cứu

và phát triển cho những kết quả rất khả quan Điều đó cho thấy nó là một cách thiết kế quan trọng trong tương lai Tuy vậy, mặc dù vi mạch bất đồng bộ có những ưu điểm và tiềm năng to lớn, các qui trình thiết kế vi mạch bất đồng bộ vẫn có chưa nhiều Một trong các nguyên nhân là tính phổ quát của vi mạch bất đồng bộ ứng dụng trong công nghiệp còn thấp Ngoài ra, việc thiết

kế vi mạch theo kiểu đồng bộ đã đạt đến mức trưởng thành, tự động hoá cao làm trì trệ việc chuyển sang một kiểu thiết kế mới của các nhà thiết kế

Một trong nhưng nguyên nhân quan trọng nữa là hiện nay các phương pháp kiểm định hình thức (formal verification) để đảm bảo tính đúng đắn (correctness) của một thiết kế vi mạch bất đồng bộ vẫn còn đang được nghiên cứu [57][35][32][11][23] Giả định rằng, các phương pháp kiểm định thiết kế là hiệu quả, một nhà thiết kế vi mạch có thể nhanh chóng xác định được các khiếm khuyết trong thiết kế của 1 vi mạch bất đồng bộ trước khi nó được chế tạo và tung ra thị trường Hiển nhiên việc kiểm định này giúp tiết kiệm tài chính, nhân lực và thậm chí cả tính mạng của con người trong việc khắc phục sai sót của các vi mạch trong đời sống chúng ta Tuy nhiên, các phương pháp kiểm định thiết kế là hiệu quả chỉ là giả định và bản thân khái niệm

“hiệu quả” cũng không rõ ràng khi có sự đánh đổi giữa tài nguyên con người, máy móc với mục tiêu cần được kiểm định

Do các thành phần của vi mạch bất đồng bộ hoạt động độc lập, chỉ giao tiếp với nhau thông qua các giao thức, các nhà thiết kế có thể dùng các ngôn ngữ đặc tả hình thức (formal specification) cấp cao để biểu diễn vi mạch Đây là một điểm đặc biệt thuận lợi của phương pháp thiết kế bất đồng bộ.Các ngôn ngữ đặc tả hình thức cấp cao như CSP (Communicating Sequential Processes) [8], CHP (Communicating Hardware Processes) [23] còn có thể giúp các nhà thiết kế kiểm định tính đúng đắn của các thiết kế ADL (Asynchronous Description Language) [3] là một ngôn ngữ cấp cao như vậy Nó được đề xuất nhằm thoả mãn các yêu cầu cần thiết dùng trong đặc tả vi mạch bất đồng bộ và đồng thời giúp nhà thiết kế làm việc một cách hiệu quả

Ngoài các ngôn ngữ cấp cao và cấp thấp (ví dụ như sơ đồ netlist dùng để mô tả mạch trước khi hiện thực trên phần cứng) trong biễu diễn các thiết kế vi mạch, các hình thức trung gian khác như mạng Petri [36] cũng được quan tâm nghiên cứu Trong [15], nhóm tác giả đề xuất một

sự kết hợp của mạng Petri và đồ thị dòng dữ liệu (gọi tắt là PN-DFG) Như vậy, một qui trình tổng hợp vi mạch bất đồng bộ từ ngôn ngữ đặc tả cấp cao đến mức hiện thực là rất cần thiết

Như vậy, để đưa các phương pháp kiểm định thiết kế vào trong thiết kế vi mạch bất đồng

bộ, có 2 vấn đề lớn cần giải quyết: (1) nghiên cứu các phương pháp kiểm định thiết kế và (2) tích hợp việc kiểm định vào qui trình thiết kế

Vấn đề thứ nhất thuộc phạm vi nghiên cứu lý thuyết và thực nghiệm vì chung qui lại nó nhằm giải quyết vấn đề bùng nổ không gian trạng thái (state space explosion problem) Đây là vấn đề cơ bản của bất kỳ phương pháp kiểm định nào (phần mềm, phần cứng, qui trình công nghiệp, …) Nói một cách tổng quát, chỉ khi nào tất cả các trạng thái có thể có của một vi mạch đều không dẫn đến khiếm khuyết nào, vi mạch đó mới được đảm bảo là đúng với mục đích thiết

kế của nó Khi công việc thiết kế tiến đến qui mô công nghiệp, không gian trạng thái của vi mạch

sẽ nhanh chóng vượt ra ngoài tầm kiểm soát Mặc dù người ta có thể dùng phương pháp mô phỏng (simulation) và kiểm thử (testing) để nâng độ an tâm đối với vi mạch, chúng không thể

Trang 23

đảm bảo tính đúng đắn của một vi mạch [9] Tuy vậy, do vi mạch bất đồng bộ có những đặc thù riêng (như chỉ quan tâm đến các kết nối giữa các thành phần mà không quan tâm đến hoạt động bên trong của các thành phần đó), việc cải thiện hiệu quả của các phương pháp kiểm định là rất khả quan [57]

Vấn đề thứ hai liên quan đến qui trình thiết kế và thời điểm tích hợp phương pháp kiểm định vào qui trình này Như đã trình bày, các qui trình thiết kế ngày nay đều cho phép các nhà thiết kế mô tả vi mạch ở cấp ngôn ngữ cấp cao trước khi diễn tả ở một ngôn ngữ cấp thấp hơn (ví

dụ như sơ đồ netlist) và hiện thực mạch bằng phần cứng Do đó, việc tích hợp có thể diễn ra ở cấp ngôn ngữ cấp cao hoặc các cấp trung gian [28] và thậm chí ở mức ngôn ngữ cấp thấp [11] Mỗi cách tích hợp sẽ giải quyết được những nhóm bài toán khác nhau đối với vấn đề kiểm định

Ví dụ như, các hiện tượng nhiễu (hazard) chỉ có thể được kiểm định sau khi có bản thiết kế ở mức cổng phần cứng (netlist) [48] Tuy nhiên, độ phức tạp của bài toán sẽ tăng lên rất nhiều khi mức biểu diễn càng xuống cấp thấp Ngoài ra, ngôn ngữ càng cấp cao, trừu tượng càng gần gũi

và dễ hiểu hơn với người thiết kế Do vậy, các kiểm định ở các mức cấp cao này sẽ giúp nhà thiết

kế giải quyết vấn đề thiết kế hiệu quả hơn [75][23] Lúc này, các công cụ thiết kế hỗ trợ ngôn ngữ cấp cao, có tích hợp các phép biến đổi đến các cấp thấp hơn và cấp cổng phần cứng, đồng thời tích hợp việc kiểm định, là một nhu cầu rất lớn

Ở các cấp biểu diễn trung gian, mặc dù đã có nhiều nghiên cứu có kết quả khả quan [32][57][28] như chuyển từ mạng Petri sang BDD [57] và dùng các công cụ kiểm định sẵn có, việc biểu diễn một vi mạch bất đồng bộ dùng các ngôn ngữ trung gian này (như mạng Petri) là khá khó khăn Trong vấn đề này còn có thêm một vấn đề kèm theo đó là kiểm định tính đúng đắn của các phép biến đổi từ các đặc tả mức cao hơn xuống một mức thấp hơn [35][32] Vấn đề này phần nào đã được giải quyết trong [15] bằng các qui luật biến đổi bảo toàn mục tiêu thiết kế

Vì vậy, bài toán đặt ra cấp bách hiện nay chính là kiểm định tính đúng đắn trong thiết kế

ở mức diễn đạt cấp cao và các cấp trung gian

1.3.2 Tình hình nghiên cứu trong nước

Trong nghiên cứu được thực hiện ở ĐH Bách Khoa Tp.HCM [15] về việc nghiên cứu xây dựng phương pháp luận thiết kế vi mạch bất đồng bộ loại QDI, các tác giả đã đưa ra được 1 framework phục vụ cho qui trình thiết kế vi mạch bất đồng bộ và hiện thực thành nó thành công

cụ gọi là PAiD Công cụ này cho phép nhà thiết kế đặc tả vi mạch bất đồng bộ ở ngôn ngữ cấp cao ADL và thông qua các phép biến đổi trung gian tổng hợp thành vi mạch biểu diễn ở cấp thấp (netlist).Tuy nhiên, công cụ này chưa giải quyết bài toán kiểm định thiết kế

Hiện nay, các nhóm nghiên cứu về thiết kế vi mạch ở Việt nam đã được hình thành và đạt được một số kết quả khả quan: các phòng thí nghiệm thiết kế vi mạch của ĐHBK TP.HCM và ĐHQG TP.HCM đã được đầu tư và vận hành; các bộ vi xử lý do các nhóm nghiên cứu của ĐHQG TP.HCM chế tạo Mặc dù vậy, các nghiên cứu về việc kiểm định tính đúng đắn của một bản thiết kế vi mạch nói chung và vi mạch bất đồng bộ nói riêng chưa được quan tâm đúng mức

và hiện nay chưa có công cụ hiệu quả hổ trợ công tác kiểm định này

1.4 Tính cấp thiết của đề tài

Như đã trình bày, các nghiên cứu về việc kiểm định tính đúng đắn của một bản thiết kế vi mạch nói chung và vi mạch bất đồng bộ nói riêng chưa được quan tâm đúng mức Bên cạnh đó, hiện nay chưa có công cụ hiệu quả hổ trợ công tác kiểm định đã nêu Rõ ràng bài toán kiểm định

Trang 24

tính đúng đắn trong thiết kế ở mức diễn đạt cấp cao và các cấp trung gian là một vấn đề cấp bách

Như vậy, khi các vi mạch bất đồng bộ có một tương lai tươi sáng trong lĩnh vực thiết kế

vi mạch tích hợp cao, nhu cầu về một qui trình thiết kế là rất lớn Việc tích hợp bài toán kiểm định hình thức vào công cụ hổ trợ thiết kế vi mạch bất đồng bộ PAiD nếu thành công sẽ giúp cho các nhà thiết kế tạo ra được các vi mạch bất đồng bộ đáng tin cậy và đáp ứng đúng mục tiêu và ràng buộc của một vi mạch phục vụ con người

Ngoài ra, việc tích hợp này sẽ là một đóng góp rất quan trọng phục vụ cộng đồng thiết kế

vi mạch bất đồng bộ, cũng như trong giảng dạy, góp phần thúc đẩy nền công nghiệp công nghệ cao của Việt nam trong tương lai

1.5 Ý nghĩa và tính mới về khoa học và thực tiễn

Việc nghiên cứu kiểm định hình thức trong thiết kế vi mạch là một hướng nghiên cứu mạnh trên thế giới nhưng chưa được quan tâm đúng mức ở Việt nam Quan trọng hơn, việc tích hợp kiểm định hình thức vào trong thiết kế vi mạch bất đồng bộ là một hướng nghiên cứu mới trên thế giới do bài toán thiết kế vi mạch bất động bộ vẫn còn là một lĩnh vực mới Kết quả nghiên cứu này sẽ góp phần đặt nền móng cho hướng nghiên cứu về kiểm định thiết kế mạch bất đồng bộ nói riêng, thiết kế phần cứng nói chung và rộng hơn nữa là kiểm định các hệ thống tương tranh (concurrency system)

Ngoài ra, việc tích hợp này sẽ mở rộng công cụ PAiD, một công cụ hổ trợ thiết kế vi mạch bất đồng bộ do người Việt nam thiết kế,giúp cho các sinh viên và các kỹ sư chuyên ngành thiết kế vi mạch có điều kiện nâng cao chất lượng các thiết kế phục vụ dân sinh Đề tài sẽ góp phần nâng tầm trí tuệ Việt nam trong lĩnh vực nghiên cứu, giảng dạy thiết kế vi mạch bất đồng

bộ nói riêng, vi mạch nói chung và rộng hơn là nghiên cứu khoa học và ứng dụng thực tiễn của người Việt nam Đồng thời, các hoạt động nghiên cứu ở đề tài này sẽ giúp hình thành một nhóm nghiên cứu mạnh trên cùng lĩnh vực, góp phần thúc đẩy công tác nghiên cứu phục vụ nền công nghiệp công nghệ cao của Việt Nam trong tương lai

Trang 25

Chương 2

2.1 Tại sao lại thiết kế với vi mạch bất đồng bộ

Các vi mạch tích hợp luận lý được thiết kế dễ dàng hơn dựa trên hai luận cứ cơ bản: các tín hiệu được xử lý dưới dạng nhị phân và khái niệm thời gian được rời rạc hóa Việc số hóa các tín hiệu cho phép hiện thực mạch đơn giản và tạo ra phương pháp thiết kế dựa trên đại số Boole Tuy nhiên một hệ thống hoạt động không dựa trên các luận cứ này cũng có thể cho ra các kết quả tốt hơn Vi mạch bất đồng bộ (BĐB) giữ lại luận cứ các tín hiệu được rời rạc hóa, nhưng không dựa trên luận cứ thời gian rời rạc Nó đại diện cho một tập hợp lớn hơn các vi mạch bởi vì bộ điều khiển của các vi mạch này được hoạt động bằng tất cả các cơ chế khác với cơ chế xung nhịp duy nhất của vi mạch đồng bộ

2.1.1 Các vấn đề của vi mạch đồng bộ

Đa phần các hệ thống số hiện tại đều hoạt động theo cơ chế đồng bộ Các hệ thống này được tổ chức dựa trên một xung nhịp và hoạt động của hệ thống diễn ra tuần tự theo tín hiệu xung nhịp Mọi phần tử của hệ thống đều cùng hoạt động khi có sự xuất hiện của xung nhịp Cơ chế kích hoạt đồng thời các phần tử dẫn đến một ràng buộc về thời gian Tất cả các phần tử trong

hệ thống phải đảm bảo thực hiện trong một khoảng thời gian cố định, được xác định bằng tần số xuất hiện các sự kiện kích hoạt (điều kiện hoạt động đúng) Do đó, tất cả các phần tử phải được đồng bộ theo thời gian

Nhờ vào tính đơn giản của việc tập trung điều khiển trong phương cách tiếp cận này, các

hệ thống đồng bộ đã chiếm ưu thế trong nền công nghiệp vi điện tử một thời gian dài Tuy nhiên, khi các hệ thống trở nên phức tạp hơn (có tính đồng thời nhiều hơn) và khi các thành phần cấu tạo hệ thống trở nên nhỏ hơn, nhanh hơn, phương cách tiếp cận đồng bộ ngày trở nên hạn chế

Có một số khó khăn khi thiết kế các hệ thống đồng bộ:

 Phân phối xung nhịp: nếu tín hiệu xung nhịp không được phân phối một cách đồng đều, các phần tử trong mạch có thể nhận tín hiệu xung nhịp tại các thời điểm khác nhau (hiện tượng

trôi xung nhịp – “clock skew”), dẫn tới mạch có thể không hoạt động đúng Tuy nhiên, vấn

đề phân phối xung nhịp thực tế có thể được hạn chế bằng 2 cách Cách thứ nhất là giảm tần

số xung nhịp để đảm bảo điều kiện hoạt động đúng Giá phải trả cho cách tiếp cận này là việc giảm hiệu suất hoạt động của mạch Cách thứ hai là giảm thiểu vấn đề phân phối xung nhịp bằng cách thiết kế cẩn thận đường tín hiệu xung nhịp Giá phải trả cho cách tiếp cận này là sự gia tăng kích thước mạch

Trang 26

 Thứ tự xuất hiện các tín hiệu nhập: thời điểm xảy ra bất kỳ của các tín hiệu nhập có thể ảnh hưởng đến tính chính xác của mạch Các tín hiệu nhập này có thể khiến các phần tử nhớ của

mạch rơi vào trạng thái không xác định: metastability [72] Không có giải pháp nào để giải

quyết vấn đề này Việc dùng cặp các phần tử nhớ để tái đồng bộ một tín hiệu nhập không đồng bộ với xung nhịp [17] có khả năng làm giảm hiệu suất hoạt động của hệ thống

 Hiệu quả thấp nhất: nếu một thành phần của hệ thống có khả năng xử lý nhanh chóng một số các tín hiệu nhập nhất định nào đó, hiệu suất của thành phần này cũng bị giới hạn bởi tần số xung nhịp

 Tiêu thụ năng lượng: việc phân phối tín hiệu xung nhịp đến các thành phần khác nhau trong

hệ thống khiến việc tiêu thụ năng lượng của hệ thống tăng lên Năng lượng tiêu thụ sẽ càng nhiều hơn nếu người ta tăng tần số xung nhịp của hệ thống

 Khó mođun hóa thiết kế: trong một hệ thống đồng bộ, người ta không thể dễ dàng thay thế một thành phần mà không xét đến các ràng buộc toàn cục Nếu thành phần mới được thay chạy chậm, hệ thống có thể không hoạt động đúng trừ phi người ta phải giảm tần số xung nhịp toàn cục của hệ thống Đây là một vấn đề quan trọng trong việc thiết kế các hệ thống hướng đến đối tượng: rất khó khi muốn kết hợp các hệ thống đồng bộ hoạt động với các tần

số xung nhịp khác nhau Mođun tính là tính chất rất quan trọng trong việc thiết kế mạch, tuy nhiên tính chất này lại rất khó áp dụng trong việc thiết kế mạch đồng bộ

 Nhiễu điện từ: trong mạch đồng bộ, việc xử lý các tác vụ được thực hiện khi có sự xuất hiện của xung nhịp Tất cả các tín hiệu sẽ thay đổi theo tần số xung nhịp Điều này sẽ dẫn đến sự thay đổi đáng kể cường độ dòng điện, tạo ra các đỉnh trong biểu đồ dòng điện

Rõ ràng là các khó khăn trở ngại của vi mạch đồng bộ đã khiến vi mạch bất đồng bộ phát triển đáng kể trong các năm gần đây Với việc giải quyết được những khó khăn trở ngại của vi mạch đồng bộ, phương pháp bất đồng bộ đã mở ra một hướng tiếp cận mới trong việc thiết kế vi mạch [14] Thay vì hoạt động với một xung nhịp toàn cục, các hệ thống bất đồng bộ hoạt động với bộ điều khiển phân tán cục bộ Điều này sẽ tránh được các vấn đề liên quan đến xung nhịp toàn cục

2.1.2 Các nguyên lý cơ bản của vi mạch bất đồng bộ

2.1.2.1 Chế độ hoạt động bất đồng bộ

Khác với hệ thống đồng bộ, trong đó tín hiệu xung nhịp đóng vai trò chủ đạo trong hoạt động toàn cục, hệ thống bất đồng bộ là những mạch có bộ điều khiển hoạt động không theo một tín hiệu xung nhịp toàn cục Các hệ thống này hoạt động với cơ chế đồng bộ cục bộ và việc thực hiện các tác vụ chỉ phụ thuộc vào sự có mặt của các dữ liệu đầu vào Vì vậy tính đúng đắn của hệ thống sẽ không phụ thuộc vào thời gian thực hiện của các thành phần

Do đó mạch bất đồng bộ hoạt động theo sự xuất hiện của các sự kiện (không cần theo thứ tự) Hoạt động này tương tự như hoạt động của hệ thống “dòng dữ liệu” Người ta có thể dùng đồ thị phụ thuộc (ví dụ như mạng Petri) để biểu diễn thứ tự xảy ra của các sự kiện Mô hình biểu

diễn này có nhiều nét tương đồng với mô hình các quá trình giao tiếp tuần tự (“sequential communicating processes”) [8] Trong mô hình này, các quá trình đồng bộ với nhau bằng cách trao đổi thông điệp thông qua các kênh truyền thông (“communication channel”) Để trao đổi

thông tin, 2 thành phần trong hệ thống phải đồng bộ với nhau Chúng trao đổi thông tin cho nhau thông qua các kênh truyền thông, sau đó tiếp tục quá trình thực thi của chúng một cách độc lập

Trang 27

Chính vì vậy, người ta phải dùng một giao thức để đảm bảo thứ tự của quá trình trao đổi thông tin

Theo cách trên, một hệ thống phức tạp với nhiều thành phần hoạt động đồng thời có thể được xây dựng bằng cách kết hợp các thành phần đó theo những qui tắc và thứ tự kết nối thông thường Điều này có thể thực hiện được là do việc đặc tả chức năng của các thành phần và sự giao tiếp của chúng với các thành phần khác không bị ràng buộc tường minh về thời gian Kết quả là ta có một kiến trúc tường minh, không bị che giấu trong một bộ tuần tự trung tâm Kiến trúc này cho phép khảo sát việc thiết kế một chức năng nào đó mà không bị ràng buộc bởi bản

mô tả các đặc tính liên quan đến việc hiện thực của bộ tuần tự (hay bộ điều khiển)

Từ quan điểm thiết kế, hệ thống bất đồng bộ không cần quan tâm đến các vấn đề phân phối xung nhịp và tín hiệu phát Do không bị hạn chế bởi xung nhịp, các thành phần của hệ thống bất đồng bộ có thể hoạt động với tốc độ nhanh nhất có thể Hơn nữa, vấn đề giao tiếp giữa các thành phần hoạt động với tốc độ khác nhau có thể được giải quyết Do đó việc mở rộng hệ thống sẽ được thực hiện dễ dàng hơn Do tính cục bộ trong vấn đề đồng bộ, hệ thống bất đồng bộ

có thể được xây dựng từ các thành phần được cấu tạo khác nhau, chỉ với điều kiện là giao thức truyền thông phải được đảm bảo Người ta có thể thay đổi công nghệ hiện thực của các thành phần, thay thế chúng bằng các thành phần tương đương mà chức năng của hệ thống vẫn được đảm bảo Do đó sự chuyển dịch công nghệ có thể được thực hiện dễ dàng

2.1.2.2 Các vấn đề

Mặc dù tiềm ẩn nhiều ưu điểm so với mạch đồng bộ, mạch bất đồng bộ cũng có những

vấn đề trong việc thiết kế Một trong những vấn đề quan trọng nhất là hiện tượng nhiễu (hazard)

[65] Trong cơ chế đồng bộ, do thời gian được rời rạc hóa, người ta có thể cho phép nhiễu xảy ra khi các tín hiệu đang trong quá trình thay đổi Trong khi đó đối với cơ chế bất đồng bộ, do không

có xung nhịp toàn cục, mạch có thể thay đổi theo sự thay đổi của các tín hiệu ngõ nhập tại bất cứ thời điểm nào Mọi thay đổi của tín hiệu có thể được xem như một sự kiện mang thông tin Điều này dẫn đến hệ quả là mọi loại nhiễu đều có thể khiến mạch không còn hoạt động đúng Các vấn

đề liên quan đến sự nhạy cảm của mạch bất đồng bộ với nhiễu có thể là:

 Tính đúng đắn về mặt chức năng: phương pháp thiết kế vi mạch bất đồng bộ phải đảm bảo tạo ra các mạch không có nhiễu

 Tính linh động: nhiều ràng buộc cứng được đặt ra để đảm bảo mạch hoạt động đúng Một

ràng buộc điển hình là chế độ hoạt động cơ bản (“fundamental mode”): mỗi thời điểm chỉ có

một sự thay đổi của các tín hiệu ngõ nhập Ràng buộc này giúp việc thiết kế mạch dễ dàng bởi vì các kỹ thuật loại bỏ nhiễu cho chế độ hoạt động cơ bản đã được phát triển từ lâu và đơn giản hơn các kỹ thuật dùng cho các chế độ trong đó cho phép nhiều sự thay đổi cùng lúc [65] Tuy nhiên các mạch tạo được theo chế độ hoạt động cơ bản ít được dùng trong thực tế

 Tính tương thích: nhiều phương pháp thiết kế mạch bất đồng bộ tạo ra mạch không tương thích với các giao tiếp có sẵn (như giao tiếp với các mạch đồng bộ) Các mạch này sử dụng những giao thức riêng, ví dụ giao thức bắt tay 4 pha Điều kiện này sẽ hạn chế việc áp dụng mạch bất đồng bộ vào các hệ thống với các giao tiếp có sẵn

 Hiệu quả: thực tế, có vài loại vi mạch bất đồng bộ có hiệu suất thấp Hiện tượng nhiễu được loại bỏ bằng cách thêm các thời gian trễ vào mạch Giải pháp này bảo đảm tính đúng đắn về mặt chức năng của mạch, nhưng làm giảm đi tính hiệu quả tiềm tàng của mạch bất đồng bộ Hơn nữa, để đảm bảo việc thực hiện các giao thức truyền thông trong các khối chức năng,

Trang 28

người ta phải thêm vào các mạch điều khiển cục bộ Điều này sẽ làm tăng kích thước của vi mạch

 Các công cụ thiết kế: do hiện tượng nhiễu, việc thiết kế vi mạch bất đồng bộ, đặc biệt là các

vi mạch phức tạp, khó hơn rất nhiều khi thực hiện thủ công Hơn nữa, các công cụ trợ giúp thiết kế vi mạch (CAD) hiện nay nói chung không hỗ trợ cho việc thiết kế mạch bất đồng bộ Các công cụ thiết kế hiện tại đòi hỏi phải được điều chỉnh mới có thể áp dụng cho việc thiết

kế mạch bất đồng bộ

Các khó khăn trở ngại này đã hạn chế việc sử dụng mạch bất đồng bộ trong nhiều năm Tuy nhiên, với sự lớn mạnh nhanh chóng của cộng đồng người dùng mạch bất đồng bộ, vi mạch bất đồng bộ với những ưu điểm và tiềm năng hứa hẹn sẽ thay đổi vị trí trong tương lai

2.2 Các khái niệm cơ bản

Trong các năm gần đây, người ta đã đưa ra khá nhiều lý thuyết và nguyên lý trong việc thiết kế mạch bất đồng bộ Nhiều cách tiếp cận dựa trên sự kết hợp của các nguyên lý mô tả khác nhau, ràng buộc việc giao tiếp giữa vi mạch và môi trường, cũng như giả thiết về mô hình thời gian trễ của các phần tử trong mạch (dây nối, các cổng ) Trong chương này, chúng tôi không

dự định trình bày chi tiết tất cả các khái niệm mà chỉ nhấn mạnh các định nghĩa, các giả thiết và tính chất cơ bản của việc thiết kế vi mạch bất đồng bộ

2.2.1 Kênh trao đổi thông tin

Các vi mạch bất đồng bộ thường được xây dựng từ các khối chức năng Dữ liệu được trao đổi giữa các khối này thông qua các kênh truyền thông (Cách xây dựng này cho phép dễ dàng sử dụng lại các khối chức năng có sẵn và do đó làm đơn giản hóa việc thiết kế các hệ thống phức tạp) Kênh truyền thông là một phương tiện trao đổi dữ liệu từ điểm này đến điểm khác giữa các khối bất đồng bộ Kênh truyền thông gồm một số dây nối và một giao thức Các dây nối bao gồm tập hợp các dây nối cần thiết để trao đổi tín hiệu điều khiển (thực hiện giao thức truyền thông) và tập hợp các dây nối để truyền dữ liệu Giao thức được dùng để đảm bảo tính đúng đắn của việc trao đổi thông tin theo đặc tả mong muốn Hình 1 minh họa khái niệm kênh truyền thông

Hình 1 Khái niệm kênh truyền thông

Việc trao đổi dữ liệu thông qua kênh truyền thông được thực hiện có hướng từ bên phát đến bên nhận Bên phát (hoặc bên nhận) được gọi là chủ động nếu nó khởi xướng việc truyền thông tin Bên phát (hoặc bên nhận) được gọi là thụ động nếu nó đáp trả một yêu cầu truyền thông tin Đối với bên phát chủ động, nó khởi xướng việc truyền thông tin bằng cách báo hiệu dữ liệu trên kênh truyền thông là hợp lệ Tín hiệu hợp lệ này được phát hiện bởi bên nhận thông qua

bộ mã hóa dữ liệu được dùng Đối với bên phát thụ động, bên nhận yêu cầu dữ liệu mới bằng cách gởi một tín hiệu ACK Để tránh các hiểu lầm, các kênh truyền thông được đề cập trong bản báo cáo này (ngoại trừ các trường hợp được chỉ ra cụ thề) được xây dựng từ chế độ bên phát chủ động và bên nhận thụ động

Kênh truyền thông cũng được dùng để đồng bộ các khối chức năng khác nhau Loại kênh này (được trình bày sau) không mang dữ liệu Người ta cũng có thể định nghĩa các kênh truyền thông trong đó dữ liệu được trao đổi theo 2 hướng [46][54] Loại kênh này (không được trình

Trang 29

bày trong bản báo cáo này) thường được dùng trong việc giao tiếp với các bộ nhớ ROM, RAM

2.2.2 Biểu diễn dữ liệu

Các vi mạch bất đồng bộ hoạt động dựa vào sự hiện diện của tín hiệu ở ngõ nhập và sự sẵn sàng của mạch tại thời điểm đó Để phát hiện dữ liệu tại các ngõ nhập và do đó đảm bảo sự đồng bộ giữa các đường dữ liệu khác nhau trong một vi mạch bất đồng bộ, thông tin về tính hợp

lệ của dữ liệu phải đi kèm với mỗi đường dữ liệu Nguyên lý này ám chỉ cần phải có một cách biểu diễn thông tin phù hợp đối với vi mạch bất đồng bộ, nghĩa là phải có cách mã hóa thông tin khác Có hai cách mã hóa thông tin thông dụng hiện nay: mã hóa nhóm dữ liệu và mã hóa không phụ thuộc thời gian trễ [53][1]

2.2.2.1 Mã hóa “nhóm dữ liệu” (bundled data)

Cách dễ dàng nhất trong việc biểu diễn tính hợp lệ của dữ liệu là thêm một tín hiệu vào mỗi đường dữ liệu để chỉ thị dữ liệu này hợp lệ hay không (xem Hình 2a) Đường dữ liệu vẫn tuân theo cách mã hóa thông thường của mạch đồng bộ: mỗi dây tín hiệu biểu diễn một bit thông

tin (còn gọi là mã hóa mono-rail hoặc single-rail [55] Tín hiệu chỉ thị tính hợp lệ của dữ liệu (còn gọi là tín hiệu yêu cầu – request) thường có một thời gian trễ thích hợp

[68][40][47][27].Thời gian trễ này phải lớn hơn hoặc bằng thời gian cần thiết để xử lý trong trường hợp xấu nhất

Cách mã hóa này rất hiệu quả về mặt kích thước mạch (số đường dây tín hiệu và số cổng dùng để điều khiển các đường dây này) Nó cho phép vi mạch bất đồng bộ thực hiện đúng chức năng cần thiết Tuy nhiên, nhược điểm của cách mã hóa thông tin này là việc phải dùng các thời gian trễ thích hợp Thời gian trễ này phụ thuộc vào trường hợp hoạt động xấu nhất của vi mạch, không phụ thuộc vào thời gian lan truyền thực tế của các tín hiệu

2.2.2.2 Mã hoá không phụ thuộc thời gian trễ (delay-insensitive)

Khác với cách mã hóa “nhóm dữ liệu”, một cách mã hóa khác phức tạp hơn bao gồm tích hợp thông tin về tính hợp lệ của dữ liệu vào trong chính dữ liệu đó Cách mã hóa này có đặc điểm là dữ liệu được phát hiện mà không dựa vào bất cứ ràng buộc về thời gian nào cả Đặc điểm này mang lại khả năng cao, tính khả chuyển và sự dễ dàng trong việc thiết kế vi mạch

2.2.2.2.1 Mã hóa 4 trạng thái

Theo cách mã hóa này (Hình 2b), mỗi bit dữ liệu được biểu diễn bằng 2 đường tín hiệu Trong số 4 trạng thái có thể của 2 đường tín hiệu này, 2 trạng thái để biểu diễn giá trị 0, 2 trạng thái để biểu diễn giá trị 1 Việc thay đổi dữ liệu mới được thực hiện bằng cách thay đổi chỉ một đường tín hiệu: thay đổi đường tín hiệu bên trái chỉ thị giá trị của dữ liệu không đổi so với giá trị

cũ của dữ liệu, thay đổi đường tín hiệu bên phải chỉ thị giá trị của dữ liệu trái ngược với giá trị cũ

của dữ liệu Tính hợp lệ của dữ liệu được biểu diễn bằng sự thay đổi parity của 2 đường tín hiệu

2.2.2.2.2 Mã hóa 3 trạng thái

Cũng như cách mã hóa thông tin theo 4 trạng thái, mỗi bit theo cách mã hóa này được biểu diễn bởi 2 đường tín hiệu Tuy nhiên, mỗi bit thông tin chỉ được biểu diễn bằng một tổ hợp các đường tín hiệu Tổ hợp thứ 3 được dùng để chỉ trạng thái không hợp lệ của dữ liệu và tổ hợp thứ 4 không được dùng Do đó như trong Hình 2c, việc thay đổi giá trị hợp lệ này sang giá trị hợp lệ khác phải đi qua trạng thái không hợp lệ

Trang 30

Hình 2 Các mã hóa thông tin thông dụng cho vi mạch bất đồng bộ

Trong 3 cách mã hóa thông tin kể trên, mặc dù cách mã hóa 3 trạng thái có vẻ như không

tự nhiên lắm, nhưng đây chính là cách mã hóa được sử dụng nhiều nhất hiện nay Điều này là do

sự dễ dàng trong việc hiện thực và tính bảo mật cao của cách mã hóa thông tin này Thực ra, trong 2 cách mã hóa kia, mạch luận lý thêm vào cho việc mã hóa đều có vấn đề Đối với cách mã hóa “nhóm dữ liệu”, người ta phải tái kết hợp dữ liệu và tín hiệu chỉ thị tính hợp lệ Đối với cách

mã hóa 4 trạng thái, người ta phải cần bổ sung thêm một mạch để kiểm tra parity của 2 đường tín

minh họa trong Hình 3) được gọi là mã hóa “1-of-N” hoặc mã hóa multi-rails Người ta cũng có thể mở rộng cách mã hóa này thành mã hóa “M-of-N”

Hình 3 Mã hóa “1-of-N”

Một biến thể của cách mã hóa 3 trạng thái là cách mã hóa 2 trạng thái: một trạng thái hợp

lệ và một trạng thái không hợp lệ Do chỉ được mang thông tin để chỉ thị hợp lệ hay không hợp

lệ, kênh truyền thông dùng cách mã hóa 2 trạng thái chỉ được dùng để đồng bộ hoạt động giữa các khối chức năng bất đồng bộ Trong trường hợp này, người ta chỉ cần duy nhất một đường dây tín hiệu: giá trị 1 để biểu diễn sự hợp lệ và giá trị 0 để chỉ trạng thái không hợp lệ Người ta

gọi cách mã hóa này là mã hóa mono-rail để thống nhất với việc đặt tên cách mã hóa multi-rails

Tuy nhiên cách gọi tên này lại gây nhầm lẫn với cách mã hóa “nhóm dữ liệu” (xem §2.2.2.1) Để

rõ ràng, chúng tôi thống nhất dùng tên mã hóa mono-rail cho cách mã hóa thông tin 2 trạng thái

trong suốt bản báo cáo này

2.2.3 Giao thức truyền thông

Việc mô tả chức năng của các khối bất đồng bộ trước hết dựa vào giao thức truyền thông được dùng trong việc trao đổi với các khối khác Giao thức dùng để đồng bộ (hoặc còn gọi là

Trang 31

giao thức bắt tay – handshaking protocol) là tập hợp các qui định liên quan đến việc trao đổi

thông tin thông qua kênh truyền thông giữa các khối bất đồng bộ với nhau

Người ta đã đưa ra nhiều giao thức khác nhau để thỏa mãn các ràng buộc đặt ra Thông thường để đơn giản hóa việc trình bày một giao thức, người ta mô tả tuần tự việc trao đổi thông tin giữa 2 khối chức năng trong một chu kỳ cơ bản Theo phương pháp này, các giao thức được phân làm 2 loại: giao thức 2 pha và giao thức 4 pha

Một giao thức thông qua một kênh truyền thông giữa 2 khối chức năng được đặc trưng bởi a) thứ tự việc trao đổi thông tin, b) cách mã hóa dữ liệu và c) tính chất hoạt động của các cổng Số tổ hợp các giao thức có thể sẽ là tích Descartes của các tham số:

{2 pha, 4 pha}×{“nhóm dữ liệu”, dual-rails, multi-rails, …}×{chủ động, thụ động}

Ví dụ trong Hình 4 là một giao thức 4 pha với cách mã hóa “nhóm dữ liệu” Giao thức

này thường được sử dụng trong các vi mạch bất đồng bộ kiểu “micropipeline” [29]

Hình 4 Giao thức 4 pha với mã hóa “nhóm dữ liệu”

Giống như cách mã hóa dữ liệu, việc hiện thực các giao thức bắt tay cũng cần có các mạch bổ sung Đây là cái giá phải trả cho việc kết hợp dữ liệu và thông tin hợp lệ của dữ liệu; và

sự phối hợp giữa các khối chức năng bất đồng bộ Việc hiện thực giao thức bắt tay cũng làm cho tốc độ của hệ thống giảm đi Không có giao thức bắt tay, dữ liệu được gởi đi một cách liên tục Với việc thực hiện giao thức bắt tay, người ta gởi dữ liệu đi, sau đó là tín hiệu chỉ thị dữ liệu hợp

lệ, thực hiện việc bắt tay (đồng bộ việc trao đổi) và kết thúc thủ tục để dữ liệu tiếp theo được gởi

đi Các khó khăn này là một thách thức cho các nghiên cứu để tìm ra giải pháp cho phép vi mạch bất đồng bộ cạnh tranh về tốc độ với vi mạch đồng bộ

Việc chọn lựa giao thức sẽ ảnh hưởng đến việc hiện thực vi mạch (về mặt kích thước, tốc

độ, tiêu thụ năng lượng, khả năng chịu đựng …) Nói chung, mạch thực hiện giao thức 4 pha không phức tạp bằng mạch thực hiện giao thức 2 pha và các phương pháp tối ưu cho vi mạch bất

đồng bộ micropipeline (sẽ trình bày sau) có thể được áp dụng cho mạch giao thức 4 pha Giao thức 2 pha chỉ hiệu quả khi thiết kế cho các vi mạch có latency cao [52]

2.2.3.1 Giao thức 2 pha

Hình 5 Giao thức 2 pha

Trang 32

Giao thức 2 pha, còn được gọi là NRZ (Non Return to Zero), được trình bày như Hình 5

Dữ liệu và ACK được biểu diễn bằng các cạnh lên và xuống Trình tự 2 pha diễn ra như sau:

 Pha 1: là pha chủ động của bên nhận Bên nhận phát hiện dữ liệu, xử lý dữ liệu và tạo ra tín hiệu ACK trả ngược về bên phát

 Pha 2: là pha chủ động của bên phát Bên phát phát hiện tín hiệu ACK và gởi tiếp dữ liệu kế tiếp (nếu còn)

Mặc dù có vẻ rất hiệu quả, nhưng giao thức 2 pha này ít được dùng trong thực tế Sự bất đối xứng giữa 2 pha kế tiếp nhau (ACK lên và ACK xuống) khiến cho việc hiện thực mạch khó khăn hơn

2.2.3.2 Giao thức 4 pha

Hình 6 Giao thức 4 pha

Giao thức 4 pha, còn gọi là RZ (Return to Zero), như sau:

 Pha 1: bên nhận phát hiện dữ liệu mới, xử lý dữ liệu đó và tạo ra tín hiệu ACK trả ngược về bên phát

 Pha 2: khi bên phát nhận được tín hiệu ACK, nó thay đổi đường dữ liệu khiến dữ liệu không còn hợp lệ nữa

 Pha 3: khi bên nhận phát hiện ra trạng thái không hợp lệ của dữ liệu, nó trả tín hiệu ACK về trạng thái không tích cực

 Pha 4: bên phát khi nhận được trạng thái không tích cực của tín hiệu ACK liền phát ra dữ liệu mới (nếu còn)

Trái với giao thức 2 pha, giao thức 4 pha được sử dụng nhiều trong thực tế do tính đối xứng của các pha Dù dữ liệu nhiều hay ít, trạng thái của hệ thống trong giao thức 4 pha vẫn không đổi từ đầu cho đến kết thúc quá trình trao đổi (Hình 6)

2.2.4 Hiện thực giao thức truyền thông dùng cổng Muller

Để hiện thực các giao thức truyền thông, ngoài các cổng luận lý cơ bản, người ta còn phải

dùng thêm cổng Muller (hay còn được gọi là phần tử C – “C element”) [61] Các cổng Muller

đóng vai trò quan trọng trong việc thực hiện mạch bất đồng bộ Nó hiện thực cơ chế đồng bộ các tín hiệu khác nhau Giá trị ở ngõ xuất của cổng Muller sẽ bằng với giá trị ở các ngõ nhập nếu các giá trị ở ngõ nhập này bằng nhau Trong trường hợp giá trị ở các ngõ nhập khác nhau, giá trị ngõ xuất sẽ không thay đổi (giữ nguyên giá trị cũ) Hình 7 trình bày ký hiệu và các đặc tả khác nhau của cổng Muller 2 ngõ nhập

Trang 33

Hình 7 Ký hiệu và các cách đặc tả cổng Muller 2 ngõ nhập

Từ đặc tả chức năng của cổng Muller 2 ngõ nhập, Hình 8 trình bày các cách hiện thực

bằng cổng luận lý cơ bản và bằng transistor

Hình 8 Mạch hiện thực của cổng Muller

Trong thực tế, người ta còn dùng các biến thể của cổng Muller trong việc hiện thực vi

mạch bất đồng bộ Cổng Muller tổng quát (“generalized C element”) [4] là cổng Muller trong đó

các tín hiệu ngõ nhập khiến ngõ xuất lên 1 có thể khác với các tín hiệu ngõ nhập khiến ngõ xuất xuống 0 Cổng Muller này còn được gọi là cổng Muller bất đối xứng Chức năng của cổng Muller bất đối xứng có thể được mô tả như sau:

 Khi các tín hiệu ngõ nhập khiến cho ngõ xuất lên 1 mà bằng nhau và bằng 1, ngõ xuất của cổng Muller sẽ lên 1

 Khi các tín hiệu ngõ nhập khiến cho ngõ xuất xuống 0 mà bằng nhau và bằng 0, ngõ xuất của cổng Muller sẽ xuống 0

 Nếu các điều kiện trên không xảy ra, ngõ xuất của cổng Muller sẽ giữ nguyên giá trị cũ

Hình 9 trình bày một ví dụ cổng Muller tổng quát (ký hiệu mạch, đặc tả chức năng và

hiện thực bằng transistor) Trong ví dụ này, ngõ nhập B và C là các ngõ nhập làm cho ngõ xuất

lên 1 và ngõ nhập A và B là các ngõ nhập làm cho ngõ xuất xuống 0

Hình 9 Cổng Muller bất đối xứng [31]

Trang 34

2.2.5 Nhiễu (hazard)

Tổng quát, nhiễu là một thay đổi tín hiệu không mong muốn (glitch) xảy ra khi có sự thay

đổi của một số tín hiệu ngõ nhập Nhiễu có thể được tạo ra do sự chênh lệch thời gian trễ giữa các cổng Sự xuất hiện của nhiễu có thể sẽ khiến hoạt động của vi mạch không còn đúng nữa, nhất là đối với vi mạch bất đồng bộ (rất nhạy cảm với những sự thay đổi) Nhiễu có thể được phát hiện ở các bước khác nhau trong quá trình thiết kế Ví dụ nhiễu có thể được sinh ra trong quá trình đặc tả chức năng của một bộ điều khiển Nhiễu cũng có thể được sinh ra trong quá trình hiện thực mạch Điều này khiến việc thiết kế vi mạch không chỉ dừng lại ở việc đặc tả chức năng, mà còn phải đảm bảo các kỹ thuật hiện thực không tạo ra thêm nhiễu trong mạch

Đối với vi mạch bất đồng bộ, việc thiết kế phải được thực hiện kỹ càng cho tất cả các phần mạch (phần mạch tổ hợp và phần mạch tuần tự) từ quá trình đặc tả cho đến quá trình hiện

thực mạch Đối với phần mạch tổ hợp, có 2 loại nhiễu cơ bản: nhiễu tổ hợp (“combinatorial hazard”) và nhiễu hàm (“functional hazard”) Mỗi loại nhiễu này lại được chia thành nhiễu tĩnh

và nhiễu động Các phần sau sẽ trình bày các loại nhiễu khác nhau mà vi mạch bất đồng bộ phải quan tâm

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

Nhiễu hàm tĩnh [34]: f là một hàm luận lý Boole có một nhiễu hàm tĩnh khi chuyển từ tổ

hợp các ngõ nhập A sang tổ hợp các ngõ nhập C (A, C  {0, 1}n) nếu và chỉ nếu:

 Tồn tại một tổ hợp các ngõ nhập B (B  [A, C]) sao cho f(A) ≠ f(B)

Nhiễu hàm động [34]: f là một hàm luận lý Boole có một nhiễu hàm động khi chuyển từ

tổ hợp các ngõ nhập A sang tổ hợp các ngõ nhập D nếu và chỉ nếu:

 Tồn tại một cặp tổ hợp các ngõ nhập B và C (A ≠ B, C ≠ D) sao cho “với B  [A, D] và

C  [B, D] ta có f(A) = f(C) và f(B) = f(D)”

Do đó, nhiễu hàm tổ hợp là đặc trưng của hàm luận lý Nhiễu này có thể được phát hiện

và loại bỏ ở mức trừu tượng cao trong quá trình thiết kế bằng cách nghiên cứu và chỉnh sửa đặc

tả luận lý của hàm Nhiễu này không phụ thuộc vào việc hiện thực mạch và thời gian trễ Sử dụng một bản đặc tả không gây ra nhiễu hàm thì mới tạo được một mạch không có nhiễu (nếu không tính các ràng buộc về thời gian trễ của các phần tử trong mạch)

2.2.5.2 Nhiễu luận lý tổ hợp (combinatorial logic hazard)

Nhiễu luận lý tổ hợp là đặc trưng của việc hiện thực hàm luận lý Nhiễu này xuất hiện phụ thuộc vào thời gian trễ trong các phần tử mạch [34] chứng minh được rằng nếu một cách hiện thực hàm luận lý có nhiễu hàm khi chuyển tổ hợp các ngõ nhập thì cách hiện thực này không thể có nhiễu tổ hợp cho việc chuyển tổ hợp các ngõ nhập đó Tuy nhiên, nếu cách hiện thực hàm luận lý không có nhiễu hàm, nó có thể có nhiễu luận lý

Nhiễu luận lý được phân làm 2 loại chính [65][69]:

Nhiễu SIC (“Single-Input Change”): như tên gọi, loại nhiễu này xuất hiện trong quá trình

thay đổi duy nhất một ngõ nhập

Nhiễu MIC (“Multi-Input Change”): đây là nhiễu luận lý xuất hiện trong quá trình thay đổi

nhiều ngõ nhập

Giống như nhiễu hàm, nhiễu luận lý cũng bao gồm 2 loại: nhiễu tĩnh và nhiễu động

Trang 35

2.2.5.2.1 Nhiễu luận lý tĩnh

Định nghĩa [34]: một cách hiện thực tổ hợp của hàm luận lý f chứa một nhiễu luận lý

tĩnh khi chuyển từ tổ hợp các ngõ nhập A sang tổ hợp các ngõ nhập B nếu và chỉ nếu:

 đối với một ràng buộc thời gian trễ nào đó, ngõ xuất của mạch không nằm im trong quá trình chuyển từ A sang B

Nhiễu này còn được gọi là nhiễu gai (spike) Các cổng luận lý AND và OR có thể tạo ra

loại nhiễu này khi các ngõ nhập thay đổi đồng thời (xem Hình 10)

Hình 10 Nhiễu tĩnh gây ra trong cổng luận lý AND và OR

Nhiễu tĩnh xuất hiện khi một cổng không hoàn toàn được bao phủ được một quá trình chuyển tổ hợp, nghĩa là cách hiện thực không có một cổng có khả năng giữ giá trị của ngõ xuất trong quá trình chuyển tổ hợp Ví dụ trong Hình 11, việc chuyển từ tổ hợp A ( zxy ) sang tổ hợp

B (xyz) không được bao phủ bởi một cổng duy nhất trong cách hiện thực này Có thể với một ràng buộc thời gian trễ nào đó, 2 cổng AND xuống 0 trong khoảng thời gian ngắn Điều này khiến ngõ xuất về 0 (nhiễu tĩnh với giá trị 1) Nhiễu này có thể loại bỏ bằng cách bổ sung thêm một cổng AND với các ngõ nhập xy Cổng này sẽ giữ giá trị 1 của ngõ xuất trong quá trình chuyển tổ hợp trên

Hình 11 Ví dụ nhiễu luận lý tĩnh loại SIC

Hình 12 minh hoạ một nhiễu luận lý tĩnh loại MIC Trong quá trình chuyển tổ hợp từ A sang B, không có cổng nào được dùng để duy trì ngõ xuất ở giá trị 1 Do đó nếu các cổng AND x

w và y đủ nhanh và các cổng AND z xz và w đủ chậm, giá trị của ngõ xuất sẽ về 0 trong ymột thời gian ngắn (nhiễu tĩnh với giá trị 1)

Trang 36

Hình 12 Ví dụ nhiễu luận lý tĩnh loại MIC

Để kết luận, bài báo [41] chứng minh được rằng một cách hiện thực bất kỳ dạng tổng các

tích SOP (“Sum Of Product”), không có nhiễu nào xảy ra trong quá trình chuyển giá trị ngõ xuất

0→0, 0→1 và 1→0 Do đó, quá trình tổng hợp mạch chỉ cần quan tâm loại bỏ nhiễu tĩnh với giá trị 1 Ngoài ra, [16] trình bày điều kiện cần và đủ để tránh nhiễu luận lý tĩnh loại MIC cho các hiện thực mạch SOP 2 mức Đối với các hiện thực SOP nhiều mức, điều kiện phức tạp hơn và được trình bày trong [33]

2.2.5.2.2 Nhiễu luận lý động

Định nghĩa [34]: một cách hiện thực tổ hợp của hàm luận lý f có một nhiễu luận lý động

khi chuyển từ tổ hợp các ngõ nhập A sang tổ hợp các ngõ nhập B nếu và chỉ nếu:

Trang 37

Hình 14 Ví dụ nhiễu luận lý động loại MIC

Các nhiễu luận lý động có thể được phát hiện nhờ vào kỹ thuật được trình bày trong [58]

Để kết luận, cách hiện thực mạch bất đồng bộ có tầm quan trọng đặc biệt Nó đòi hỏi các công cụ thiết kế phải xét đến vấn đề nhiễu Đặc biệt quá trình ánh xạ công nghệ phải đặc thù riêng cho vi mạch bất đồng bộ Cách hiện thực môt hàm luận lý bằng các cổng luận lý cơ bản phải được xem xét cẩn thận để tránh gây ra các nhiễu luận lý tổ hợp

Việc loại bỏ nhiễu là giải quyết bài toán bao phủ của bảng Karnaugh:

 Việc chuyển từ 1→1 phải được bao phủ

 Đối với các thay đổi từ 1→0 và 0→1, một tích giao với sự thay đổi phải chứa tổ hợp bắt đầu hoặc tổ hợp đích

 Việc chuyển từ 0→0 không tạo ra nhiễu nếu hiện thực mạch theo kiểu SOP

Những điều kiện này đủ để loại bỏ bất kỳ nhiễu MIC nào Nếu có nhiều nhiễu MIC, bài toán bao phủ rất có thể không có lời giải Đối với một tập hợp các chuyển tổ hợp loại MIC (ví dụ hàm chuyển trạng thái trong một máy trạng thái), người ta không đảm bảo tìm được một bao phủ bảng Karnaugh (cho một hiện thực SOP)

2.2.5.3 Nhiễu tuần tự (sequential hazard)

Nhiễu tuần tự xảy ra đối với các tín hiệu hồi tiếp Loại nhiễu này có thể phát hiện được

trong quá trình đặc tả bài toán, ví dụ khi xem xét bảng dòng dữ liệu (“flow table” [65]) Người ta

thường chỉ ra các nhiễu tuần tự bằng cách thay đổi cũng ngõ nhập đó 1 lần rồi 3 lần: nếu trạng thái cuối không giống nhau trong 2 trường hợp tức là có nhiễu tuần tự xảy ra

2.2.5.4 Kết luận

Có nhiều loại và nhiều kiểu nhiễu khác nhau trong quá trình thiết kế vi mạch Mạch bất đồng bộ rất nhạy cảm đối với các loại nhiễu Nó đòi hỏi quá trình thiết kế phải rất cẩn thận cho các phần mạch khác nhau (tổ hợp và tuần tự)

Nhiễu xảy ra theo một ràng buộc thời gian trễ nào đó Khi chuyển tổ hợp từ A sang B,

nhiễu tĩnh xảy ra đối với f(A) = f(B) trong khi nhiễu động xảy ra đối với f(A) ≠ f(B) Nhiễu hàm

tổ hợp rất khó phát hiện và loại bỏ bởi vì nó chỉ phụ thuộc vào việc đặc tả vi mạch Chúng tôi không đề cập đến loại nhiễu này trong đề tài này Trái lại nhiễu luận lý xảy ra trong việc hiện thực mạch Cần phải có những phương pháp hiện thực không tạo ra nhiễu để vi mạch bất đồng

bộ hoạt động đúng chức năng

Trang 38

2.2.6 Mô hình thời gian trễ, mô hình mạch và mô hình môi trường

Mô hình thời gian trễ, mô hình mạch và mô hình môi trường sẽ quyết định sự hiện thực của vi mạch Phần này sẽ trình bày các mô hình chủ yếu đang được sử dụng cho việc thiết kế mạch bất đồng bộ hiện nay

2.2.6.1 Mô hình thời gian trễ

Khái niệm thời gian trễ rất quan trọng trong quá trình thiết kế vi mạch Thời gian trễ gắn liền với mạch vật lý Thời gian trễ cũng có thể được thêm trực tiếp vào mạch bằng các phần tử

trễ Có 2 loại mô hình thời gian trễ: mô hình thuần (“pure model”) và mô hình quán tính (“inertial model”) [65][69] Mô hình thuần không làm thay đổi dạng sóng của tín hiệu, chỉ đơn

thuần làm trễ tín hiệu đó theo thời gian Mô hình quán tính có thể làm thay đổi dạng sóng của tín hiệu Ngoài ra, mô hình quán tính có một chu kỳ ngưỡng D: các xung có độ rộng nhỏ hơn D sẽ

bị loại bỏ

Thời gian trễ cũng có thể được phân loại dựa vào đặc tính thời gian của nó Thời gian trễ được gọi là “không giới hạn” nếu nó có thể có một giá trị hữu hạn bất kỳ Thời gian trễ được gọi

là “giới hạn” nếu giá trị của nó chỉ nằm trong một khoảng cho trước Thời gian trễ được gọi là

“cố định” nếu nó có một giá trị cố định cho trước

Thời gian trễ được dùng để đặc trưng cho hành vi của các dây nối và cổng trong mạch Thông thường, mỗi dây nối trong mạch đều có một thời gian trễ Trong mô hình cổng đơn giản

(“simple gate”), mỗi cổng trong mạch đều có một thời gian trễ Đối với mô hình cổng phức hợp (“compound gate”), một tập hợp các cổng đơn giản có mộ thời gian trễ duy nhất Do đó, trong

mô hình này, một sơ đồ kết nối các cổng có thể được xem như một cổng đơn

Mô hình mạch được xác định bởi mô hình thời gian trễ được dùng cho các dây nối và các cổng của nó

2.2.6.2 Các chế độ hoạt động

Quan hệ giữa vi mạch và môi trường hoạt động của nó cũng rất quan trọng Vi mạch và môi trường hoạt động tạo thành một hệ thống khép kín, được gọi là mạch hoàn chỉnh [61] Theo thuật ngữ được định nghĩa trong [30], các mô hình môi trường hoạt động được phân loại như sau:

Chế độ cơ bản: có các ràng buộc thời gian giữa môi trường hoạt động và mạch Môi

trường không thể đáp ứng trước khi các mạch chưa ở trạng thái ổn định (tất cả các ngõ nhập, ngõ xuất và các tín hiệu bên trong mạch chưa ổn định) Môi trường chỉ cho phép một ngõ nhập thay đổi Không thể có sự thay đổi khác ở ngõ nhập nếu mạch chưa trở về trạng thái ổn định sau khi tạo được một ngõ xuất cho sự thay đổi ngõ nhập trước đó Do không biết được trạng thái ổn định của mạch, môi trường phải áp dụng thời gian trễ dài nhất để mạch ổn định Điều này dẫn đến phải giới hạn thời gian trễ cho các cổng và dây nối trong mạch Hạn chế này của môi trường cũng được xem như một ràng buộc đồng bộ tuyệt đối

Chế độ liên tục: đây được xem là mở rộng của chế độ cơ bản Khi mạch đang ở trạng

thái ổn định, môi trường có thể cho phép thay đổi nhiều ngõ nhập (thứ tự thay đổi không quan trọng) Khi mạch đã tạo ra các ngõ xuất cho các sự thay đổi này và trở về trạng thái

ổn định, môi trường mới cho phép các thay đổi mới ở ngõ nhập

Chế độ vào-ra: môi trường đáp ứng cho mạch mà không có ràng buộc thời gian Môi

trường có thể cho phép các ngõ nhập thay đổi trước khi ngõ xuất được tạo ra do các sự

Trang 39

thay đổi ngõ nhập trước đó ở trạng thái ổn định Ràng buộc duy nhất trong chế độ này là quan hệ nhân quả giữa các sự thay đổi ở ngõ nhập và ngõ xuất

2.2.7 Phân loại vi mạch bất đồng bộ

Vi mạch bất đồng bộ thường được phân loại theo mô hình mạch và mô hình môi trường Hình 15 minh họa thuật ngữ thông dụng trong việc đánh giá vi mạch bất đồng bộ Chức năng của mạch càng thỏa mãn cơ chế bất đồng bộ, mạch càng được xem là có khả năng mạnh và càng phức tạp Trong phần sau, chúng tôi trình bày vắn tắt các loại mạch bất đồng bộ khác nhau, từ những mạch hoàn toàn theo cơ chế bất đồng bộ cho đến các mạch với ràng buộc thời gian càng mạnh Cách trình bày này do đó sẽ đi từ mạch hoàn toàn bất đồng bộ cho đến mạch đồng bộ

Hình 15 Các lớp mạch bất đồng bộ khác nhau

2.2.7.1 Vi mạch không phụ thuộc thời gian trễ (DI, “Delay Insensitive”)

Vi mạch thuộc lớp này hoạt động đúng theo cơ chế bất đồng bộ Nó dùng mô hình thời gian trễ “không giới hạn” cho các dây nối và các cổng Không có bất cứ ràng buộc về thời gian nào Nói một cách khác, vi mạch DI hoạt động chính xác mà không phụ thuộc vào thời gian trễ của dây nối và các phần tử luận lý trong mạch

Dựa trên nghiên cứu [74] và được trình bày lại trong [38], vi mạch DI luôn đáp ứng đúng đối với các yêu cầu bên ngoài nếu nó có đủ thời gian để xử lý Điều này ngầm hiểu rằng bên nhận tín hiệu luôn phải báo cho bên phát rằng tín hiệu đã được nhận Bên nhận phải có mạch phát hiện tín hiệu đến và phát hiện sự kết thúc quá trình xử lý của nó Bên phát phải chờ tín hiệu phản hồi (tín hiệu ACK) trước khi phát dữ liệu mới Các ràng buộc hiện thực khi dùng lớp vi mạch này rất mạnh Phần lớn các mạch hiện này đều dùng cổng luận lý một ngõ xuất Mô hình thời gian trễ “không giới hạn” không cho phép sử dụng các loại cổng này Thực ra, ngõ xuất các cổng luận lý có thể thay đổi giá trị nếu một ngõ nhập thay đổi Nhưng như đã trình bày, các phần

tử của vi mạch DI phải đảm bảo các ngõ nhập thay đổi xong rồi mới thay đổi ngõ xuất Nếu ngõ xuất thay đổi khi một ngõ nhập thay đổi, thì chỉ có một ngõ nhập đó được phản hồi mà không

Trang 40

nhiên các mạch được xây dựng chỉ dùng cổng Muller rất ít [7] Giải pháp duy nhất là dùng cổng phức hợp cho các phần tử cơ bản [39][49] Trong trường hợp này, thay vì dùng cổng luận lý cơ bản, người ta thực hiện mạch DI với các thành phần cơ bản và phức hợp (các cổng này có thể có nhiều ngõ nhập và nhiều ngõ xuất)

2.2.7.2 Vi mạch QDI (“Quasi-Delay Insensitive”)

Lớp QDI là một lớp con của lớp mạch DI Lớp này cũng dùng mô hình thời gian trễ

“không giới hạn” cho các kết nối, nhưng thêm vào đó khái niệm rẽ nhánh đồng đẳng

(“isochronic fork”) [7][45] và mô hình cổng đơn giản và “không giới hạn” cho các phần tử cơ

bản của mạch

Một rẽ nhánh là một dây nối kết nối một bên phát và 2 (hoặc nhiều) bên nhận Rẽ nhánh được gọi là đồng đẳng nếu thời gian trễ giữa bên phát và các bên nhận bằng nhau Ràng buộc này ảnh hưởng quan trọng đến mô hình và hiện thực mạch Nó giải quyết được vấn đề sử dụng các cổng luận lý một ngõ xuất trong lớp vi mạch DI Do các rẽ nhánh là đồng đẳng, chỉ cần kiểm tra một nhánh, người ta có thể đảm bảo tín hiệu cũng đã tới được đích trên các nhánh khác Do

đó người ta cho phép phản hồi trên một trong các nhánh của một rẽ nhánh đồng đẳng Alain Martin đã chứng minh trong [6] rằng nhánh đồng đẳng là ràng buộc yếu nhất thêm vào lớp DI để

có thể hiện thực các mạch với các cổng nhiều ngõ vào và một ngõ xuất Do đó mạch QDI có thể được thực hiện bằng các cổng chuẩn như trong mạch đồng bộ

Hoạt động của mạch QDI không phụ thuộc vào thời gian lan truyền của các tín hiệu trong mạch (trong các cổng và các dây nối, với ràng buộc rẽ nhánh đồng đẳng) Đây là một ràng buộc

mà việc thiết kế mạch QDI phải đảm bảo Bù lại, mạch QDI có khả năng chịu đựng khá mạnh

mẽ Về lý thuyết, mạch sẽ không có bất cứ lỗi nào Thực tế, ràng buộc rẽ nhánh đồng đẳng khá yếu và có thể được đảm bảo bằng một phương pháp thiết kế thích hợp, đặc biệt trong quá trình đi dây và bắt đầu của quá trình chuyển mạch Để đảm bảo điều này thời gian trễ lan truyền tới các đầu của một rẽ nhánh phải nhỏ hơn thời gian trễ của các bộ tính toán mà nó nối tới (tối thiểu là dây nối và cổng mà ngõ xuất của rẽ nhánh nối tới [7][45]

2.2.7.3 Vi mạch không phụ thuộc tốc độ (SI, “Speed Independence”)

Đối với lớp vi mạch SI [61], thời gian trễ trong các dây dẫn là không đáng kể và mô hình thời gian trễ trong các cổng là “không giới hạn” Ràng buộc này là không thể hiện thực với các công nghệ hiện nay Trong thực tế, mạch SI tương đương với mạch QDI , chỉ khác là tất cả các

rẽ nhánh đều được xem là đồng đẳng Hình 16 trình bày sơ đồ một rẽ nhánh đồng đẳng QDI như một rẽ nhánh trong mạch SI [67]

Hình 16 Sự tương đương giữa rẽ nhánh đồng đẳng QDI và SI

Trong thực tế, người ta dùng mô hình QDI, bởi vì mô hình này phân biệt rõ các rẽ nhánh đồng đẳng và các rẽ nhánh khác (không đồng đẳng) Do đó trong các quá trình thiết kế, người ta chỉ quan tâm kiểm tra duy nhất các kết nối nhạy cảm với thời gian trễ trong mạch

Ngày đăng: 11/02/2015, 01:28

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] A.V. Dinh-Duc, L. Fesquet and M. Renaudin. A New Language-based Approach for Specification of Asynchronous Systems. In Proc. of the 3rd Int. Conf. in CS:Research, Innovation and Vision of the Future (RIVF), Cantho, Vietnam, Feb 2005 Sách, tạp chí
Tiêu đề: A New Language-based Approach for Specification of Asynchronous Systems
Tác giả: A.V. Dinh-Duc, L. Fesquet, M. Renaudin
Nhà XB: Proc. of the 3rd Int. Conf. in CS:Research, Innovation and Vision of the Future (RIVF)
Năm: 2005
[5] A. J. Martin, "Distributed Mutual Exclusion on a Ring of Processes," in Science of Computer Programming, 1985 Sách, tạp chí
Tiêu đề: Distributed Mutual Exclusion on a Ring of Processes
[6] Alain J. Martin. Programming in VLSI: From communicating processes to delay- insensitive circuits. In C. A. R. Hoare, editor, Developments in Concurrency and Communication, UT Year of Programming Series, pages 1-64. Addison-Wesley, 1990 Sách, tạp chí
Tiêu đề: Programming in VLSI: From communicating processes to delay-insensitive circuits
Tác giả: Alain J. Martin
Nhà XB: Addison-Wesley
Năm: 1990
[7] Alain J. Martin. The limitations to delay-insensitivity in asynchronous circuits. In William J. Dally, editor, Advanced Research in VLSI, pages 263-278. MIT Press, 1990 Sách, tạp chí
Tiêu đề: Advanced Research in VLSI
Tác giả: Alain J. Martin
Nhà XB: MIT Press
Năm: 1990
[8] C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM 32, vol. 8, pp 666-677, 1978 Sách, tạp chí
Tiêu đề: Communicating Sequential Processes
Tác giả: C.A.R. Hoare
Nhà XB: Communications of the ACM
Năm: 1978
[11] D. Borrione, M. Boubekeur, E. Dumitrescu, M. Renaudin, J. Rigaud, and A. Sirianni. An Approach to the Introduction of Formal Validation in an Asynchronous Circuit Design Flow. In Proc. of the 36th Annual Hawaii Int. Conf. on System Sciences (Hicss'03), Vol 9. HICSS. IEEE Computer Society, Jan 2003 Sách, tạp chí
Tiêu đề: An Approach to the Introduction of Formal Validation in an Asynchronous Circuit Design Flow
Tác giả: D. Borrione, M. Boubekeur, E. Dumitrescu, M. Renaudin, J. Rigaud, A. Sirianni
Nhà XB: HICSS
Năm: 2003
[13] D. L. Dill - Trace Theory for Automatic Hierarchical Verification of Speed- Independent Circuits, ACM Distinguished Dissertation, The MIT Press, 1988 [14] Dinh-Duc, A.V., Asynchronous: a new approach for SoC design. In Proceedings ofthe 9th Conference on Science and Technology, October 10, 2005, HoChiMinh, Vietnam Sách, tạp chí
Tiêu đề: Trace Theory for Automatic Hierarchical Verification of Speed- Independent Circuits
Tác giả: D. L. Dill
Nhà XB: The MIT Press
Năm: 1988
[15] Đinh Đức Anh Vũ. Nghiên cứu xây dựng phương pháp luận thiết kế vi mạch bất đồng bộ loại QDI và phát triển các công cụ trợ giúp thiết kế. Báo cáo tổng kết kết quả đề tài KH-CN cấp Trọng điểm ĐHQG-HCM Mã số B2005-20-02-TĐ, ĐH Quốc Gia Tp.HCM, 2007 Sách, tạp chí
Tiêu đề: Nghiên cứu xây dựng phương pháp luận thiết kế vi mạch bất đồng bộ loại QDI và phát triển các công cụ trợ giúp thiết kế
Tác giả: Đinh Đức Anh Vũ
Nhà XB: ĐH Quốc Gia Tp.HCM
Năm: 2007
[17] E. J. McCluskey. Logic Design Principles: with emphasis of testable semicustom circuits. Prentice-Hall, Englewood Cliffs, NJ, 1986 Sách, tạp chí
Tiêu đề: Logic Design Principles: with emphasis of testable semicustom circuits
Tác giả: E. J. McCluskey
Nhà XB: Prentice-Hall
Năm: 1986
[18] E. M. Clarke, K. L. McMillan, S. Campos, and V . Hartonas-Garmhausen. Symbolic model checking. In Rajeev Alur and Thomas A. Henzinger, editors, Proceedings of the Eighth International Conference on Computer Aided Verification CAV, volume 1102 of Lecture Notes in Computer Science, pages 419- 422, New Brunswick, NJ, USA, July/August 1996. Springer Verlag Sách, tạp chí
Tiêu đề: Proceedings of the Eighth International Conference on Computer Aided Verification CAV
Tác giả: E. M. Clarke, K. L. McMillan, S. Campos, V. Hartonas-Garmhausen
Nhà XB: Springer Verlag
Năm: 1996
[19] E. M. Clarke, and J. M. Wing - Formal methods: state of the art and future directions, ACM Comput. Surv. 28 (4), 1996, pp. 626-643 Sách, tạp chí
Tiêu đề: Formal methods: state of the art and future directions
Tác giả: E. M. Clarke, J. M. Wing
Nhà XB: ACM Comput. Surv.
Năm: 1996
[22] G. S. W. S. Hubert Garavel, "On the semantics of communicating hardware processes and their translation into LOTOS for the Verification of Asynchronous Circuits with CADP," in Sci. Comput. Program, 2009 Sách, tạp chí
Tiêu đề: On the semantics of communicating hardware processes and their translation into LOTOS for the Verification of Asynchronous Circuits with CADP
Tác giả: G. S. W. S. Hubert Garavel
Nhà XB: Sci. Comput. Program
Năm: 2009
[23] H. Garavel, G. Salaun, and W. Serwe. On the semantics of communicating hardware processes and their translation into LOTOS for the verification of asynchronous circuits with CADP. Science of Computer Programming, vol. 74 (3), Jan2009, pp. 100-127, ISSN 0167-6423 Sách, tạp chí
Tiêu đề: On the semantics of communicating hardware processes and their translation into LOTOS for the verification of asynchronous circuits with CADP
Tác giả: H. Garavel, G. Salaun, W. Serwe
Nhà XB: Science of Computer Programming
Năm: 2009
[26] H. Zheng, H. Yao, and T. Yoneda - Modular Model Checking of Large Asynchronous Designs with Efficient Abstraction Refinement, IEEE Trans. on Comp. 59(4) (2010), pp. 561-573 Sách, tạp chí
Tiêu đề: Modular Model Checking of Large Asynchronous Designs with Efficient Abstraction Refinement
Tác giả: H. Zheng, H. Yao, T. Yoneda
Nhà XB: IEEE Transactions on Computers
Năm: 2010
[31] J.B. Rigaud, Spécification de bibliothèques pour la synthèse de circuits asynchrones, PhD thesis (in French), INP of Grenoble, 2002 Sách, tạp chí
Tiêu đề: Spécification de bibliothèques pour la synthèse de circuits asynchrones
Tác giả: J.B. Rigaud
Nhà XB: INP of Grenoble
Năm: 2002
[34] J. G. Bredeson and P. T. Hulina. Elimination of static and dynamic hazards for multiple input changes in combinational switching circuits. Information and Control, 20: 114-224. 1972 Sách, tạp chí
Tiêu đề: Elimination of static and dynamic hazards for multiple input changes in combinational switching circuits
Tác giả: J. G. Bredeson, P. T. Hulina
Nhà XB: Information and Control
Năm: 1972
[35] J. He, and K.J. Turner. Verifying and Testing Asynchronous Circuits using LOTOS. In Proc. of Joint Intl. Conf. on Formal Description Techniques For Distributed Systems and Communication Protocols (FORTE Xiii) and Protocol Specification, Testing and Verification (PSTV Xx), T. Bolognesi and D. Latella, Eds., vol. 183. Kluwer B.V., pp. 267-283, Oct 2000 Sách, tạp chí
Tiêu đề: Verifying and Testing Asynchronous Circuits using LOTOS
Tác giả: J. He, K.J. Turner
Nhà XB: Kluwer B.V.
Năm: 2000
[36] J.L. Peterson. Petri Net theory and the Modeling of Systems. Prentice-Hall, Englewood Cliffs, NJ, 1981 Sách, tạp chí
Tiêu đề: Petri Net theory and the Modeling of Systems
Tác giả: J.L. Peterson
Nhà XB: Prentice-Hall
Năm: 1981
[37] J. R. Burch, E. M. Clarke, D. E. Long, K. L. McMillan, and D. L. Dill - Symbolic Model Checking for Sequential Circuit Verification, IEEE Trans. on Computer- Aided Design of Integrated Circuits and Systems 13(4) (1994), pp. 401-424 Sách, tạp chí
Tiêu đề: Symbolic Model Checking for Sequential Circuit Verification
Tác giả: J. R. Burch, E. M. Clarke, D. E. Long, K. L. McMillan, D. L. Dill
Nhà XB: IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems
Năm: 1994
[38] Jan Tijmen Udding. A formal model for defining and classifying delay-insensitive circuits. Distributed Computing, 1(4):197-204, 1986 Sách, tạp chí
Tiêu đề: A formal model for defining and classifying delay-insensitive circuits
Tác giả: Jan Tijmen Udding
Nhà XB: Distributed Computing
Năm: 1986

HÌNH ẢNH LIÊN QUAN

Hình 18  Cấu trúc micropipeline với bộ xử lý và thanh ghi - 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ế
Hình 18 Cấu trúc micropipeline với bộ xử lý và thanh ghi (Trang 41)
Hình 19  Ví dụ mạng Petri - 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ế
Hình 19 Ví dụ mạng Petri (Trang 45)
Hình 21  Biểu diễn trung gian của vi mạch bất đồng bộ - 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ế
Hình 21 Biểu diễn trung gian của vi mạch bất đồng bộ (Trang 47)
Hình 22  Qui trình thiết kế PAiD - 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ế
Hình 22 Qui trình thiết kế PAiD (Trang 50)
Hình 23  Giao diện đồ họa người dùng GUI của PAiD - 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ế
Hình 23 Giao diện đồ họa người dùng GUI của PAiD (Trang 51)
Hình 24  Tương tác trong mô đun phân tích của ngôn ngữ ADL - 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ế
Hình 24 Tương tác trong mô đun phân tích của ngôn ngữ ADL (Trang 52)
Hình 25  Xây dựng mạng Petri - 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ế
Hình 25 Xây dựng mạng Petri (Trang 54)
Hình 28  Sơ đồ cổng cho mạch Selector - 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ế
Hình 28 Sơ đồ cổng cho mạch Selector (Trang 62)
Hình 30  Qui trình tổng quát kiểm định vi mạch bất đồng bộ - 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ế
Hình 30 Qui trình tổng quát kiểm định vi mạch bất đồng bộ (Trang 71)
Hình 34  PN-DFG 2 pha biểu diễn tác vụ nhận - 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ế
Hình 34 PN-DFG 2 pha biểu diễn tác vụ nhận (Trang 76)
Hình 37  PN-DFG 4 pha biểu diễn tác vụ nhận - 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ế
Hình 37 PN-DFG 4 pha biểu diễn tác vụ nhận (Trang 78)
Hình 40  Đặc tả SMV của mô hình PN-DFG Sender 4 pha - 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ế
Hình 40 Đặc tả SMV của mô hình PN-DFG Sender 4 pha (Trang 81)
Hình 46  Kiến trúc bộ DME 3 tiến trình - 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ế
Hình 46 Kiến trúc bộ DME 3 tiến trình (Trang 92)
Hình 47  Kiến trúc bộ lọc FIR 3 tầng - 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ế
Hình 47 Kiến trúc bộ lọc FIR 3 tầng (Trang 94)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w