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

Luận văn thạc sĩ Kỹ thuật điện tử: Thiết kế mạch bất đồng bộ dựa trên bộ thư viện semi-static công nghệ 45NM

79 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hướng dẫn khoa học : PGS TS Hoàng Trang

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 : TS Nguyễn Minh Sơn

(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 : TS Bùi Trọng Tú

(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 06 tháng 01 năm 2023

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 Chủ tịch hội đồng: PGS TS Trương Quang Vinh

2 Phản biện 1: TS Nguyễn Minh Sơn 3 Phản biện 2: TS Bùi Trọng Tú 4 Ủy viên: TS Trần Hoàng Linh

5 Thư ký: TS Nguyễn Lý Thiên Trường

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

Trang 3

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Trương Trí Lạc MSHV: 2070621 Ngày, tháng, năm sinh: 25/08/1998 Nơi sinh: tp Hồ Chí Minh

Chuyên ngành: Kỹ thuật điện tử Mã số : 8520203

I TÊN ĐỀ TÀI : Thiết kế mạch bất đồng bộ dựa trên bộ thư viện semi-static công nghệ

45nm (Asynchronous circuit design based on 45nm technology semi-static library)

II NHIỆM VỤ VÀ NỘI DUNG:

- Nghiên cứu về Null Convention Logic, giao thức bắt tay trong thiết kế bất đồng bộ, pipeline

- Nghiên cứu về các cấu trúc của cổng ngưỡng NCL Ưu điểm và nhược điểm của từng cấu trúc

- Nghiên cứu về template của thư viện, các thông số đặc trưng của thư viện

- Nghiên cứu phương pháp thiết kế mạch bất đồng bộ dựa trên bộ thư viện semi-static

III NGÀY GIAO NHIỆM VỤ : 06/09/2021

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 06/01/2023 V CÁN BỘ HƯỚNG DẪN : PGS TS Hoàng Trang

Trang 4

Một lần nữa, tôi xin chân thành cảm ơn!

First of all, I would like to thank Assoc.Prof.Dr Hoang Trang who has wholehearedly guided me, and given me the best condition to complete this thesis

In the process of completing my graduation thesis, I realized that I have tried my best, but because of my limited knowledge, there are still many shortcomings Therefore, I would appreciate it if you could give me your comments or suggestions so that my thesis can be improved better

Finally, I sincerely thank to all members of the NCL research team, especially PhD student Le Thanh Toi, for their enthusiastic support and help to complete the thesis

Tp Hồ Chí Minh, ngày 06 tháng 01 năm 2023

Trang 5

TÓM TẮT LUẬN VĂN

Mô hình thiết kế mạch đồng bộ đã và đang được sử dụng cho hầu hết các thiết kế trong ngành công nghiệp bán dẫn Tuy nhiên, khi công nghệ ngày càng phát triển (từ 10µm vào năm 1971 đến 1nm vào năm 2021 theo thống kê trên trang Techplayon), thì nhiều vấn đề khó khăn đã xảy ra như mạch sẽ khó đáp ứng được timing, các vấn đề về clock skew, clock tree, nhiễu, … và đặc biệt là công suất tiêu thụ sẽ tăng lên đáng kể Chính vì những lý do này, nên mô hình thiết kế mạch bất đồng bộ đang được các nhà khoa học hướng tới để nghiên cứu và phát triển Bởi vì mô hình thiết kế mạch bất đồng bộ không sử dụng xung clock nên mô hình này sẽ khắc phục được hầu hết các hạn chế của mô hình thiết kế mạch đồng bộ

Trong các phương pháp thiết kế của mô hình thiết kế mạch bất đồng bộ, Null Convention Logic (NCL) là một trong số phương pháp nổi bật của thiết kế bất đồng bộ vì tính chất không nhạy với độ trễ và có khả năng tối ưu hóa mạch tốt hơn các phương pháp khác Để thiết kế mạch bất đồng bộ NCL, các nhà nghiên cứu thường sử dụng các công cụ để chuyển đổi mạch đồng bộ sang mạch bất đồng bộ NCL như Uncle, Balsa, Cách thực hiện này tuy đơn giản vì việc chuyển đổi từ mạch đồng bộ sang mạch bất đồng bộ NCL đã được thực hiện bởi các công cụ đó, nhưng mạch NCL được tạo thành sẽ khó để kiểm tra được sự hoàn thành ngõ vào và khả năng quan sát của mạch đó Ngoài ra, quá trình chuyển đổi mạch phụ thuộc vào công cụ riêng của tác giả nên sẽ gây khó khăn trong việc phát triển và tối ưu hóa công cụ nếu công cụ này không còn được hỗ trợ bởi tác giả Vì vậy, trong luận văn này, một quy trình thiết kế mạch bất đồng bộ NCL từ mạch đồng bộ được đề xuất Quy trình này không sử dụng bất kỳ công cụ riêng nào của tác giả, và đọc giả có thể tự thiết kế mạch bất đồng bộ NCL và kiểm chứng các điều kiện hoàn thành ngõ vào và khả năng quan sát ngõ ra của mạch đó

Mặc dù thiết kế mạch bất đồng bộ hiện nay đang được quan tâm nhưng vẫn chưa có nhiều thư viện hỗ trợ cho mô hình thiết kế bất đồng bộ này, và đây chính là vấn đề khó khăn mà các nhà nghiên cứu đang gặp phải, đặc biệt là đối với sinh viên ở các trường đại học Do đó, trong luận văn này, quy trình thiết kế thư viện cell chuẩn Null Convention Logic cho mạch bất đồng bộ được đề xuất Với quy trình này, các nhà nghiên

Trang 6

cứu có thể tự tạo thư viện cell ở các công nghệ khác nhau và cập nhật các cell mới một cách dễ dàng Điểm nổi bật của quy trình thiết kế thư viện này so với các quy trình của các tác giả khác là việc sử dụng ngôn ngữ OCEAN Ngôn ngữ này giúp việc mô phỏng, đo đạc các thông số của cell một cách tự động hóa, giúp các nhà nghiên cứu tiết kiệm được thời gian, và tránh việc mô phỏng lặp đi lặp lại đối với các cell phức tạp Ngoài ra, quy trình đề xuất chỉ sử dụng công cụ thương mại như công cụ Virtuoso, Spectre của Cadence để vẽ mạch nguyên lý, đo đạc và trích xuất các đặc tính của cell, công cụ Design Compiler để kiểm tra thư viện có thể tổng hợp thành công hay không Việc sử dụng các công cụ thương mại này sẽ giúp các nhà nghiên cứu tránh gặp phải vấn đề phụ thuộc vào công cụ của riêng tác giả, và cũng đảm bảo được độ chính xác của các thư viện cell Thư viện cell NCL bao gồm 27 cell được sử dụng để tổng hợp các thiết kế bất đồng bộ dựa trên NCL Trong luận văn này, học viên thiết kế mạch bất đồng bộ bằng sử dụng thư viện bán tĩnh Thư viện này được thực hiện dựa trên quy trình đề xuất để tạo ra bộ thư viện cell bán tĩnh vì cấu trúc này có ưu điểm về công suất hơn so với cấu trúc cell tĩnh và động Để so sánh bộ thư viện cell NCL bán tĩnh trong luận văn này so với thư viện cell NCL của tác giả khác, học viên đã thực hiện việc so sánh kết quả tổng hợp của bộ cộng toàn phần 4 bit bằng cách sử dụng thư viện cell NCL được đề xuất và thư viện cell NCL của tác giả khác Kết quả tổng hợp cho thấy công suất của bộ cộng toàn phần đã cải thiện được 39% khi được tổng hợp bởi thư viện NCL bán tĩnh

Trong luận văn này, để thiết kế mạch bất đồng bộ dựa trên bộ thư viện semi-static thì học viên nghiên cứu 3 vấn đề chính như sau:

- Thứ nhất là nghiên cứu qui trình thiết kế mạch bất đồng bộ NCL từ mạch đồng bộ được trình bày ở chương 3

- Thứ hai là đề xuất quy trình thiết kế thư viện cell NCL được trình bày ở chương 4

- Thứ ba là thiết kế bộ cell semi-static ở công nghệ 45nm cho các thiết kế bất đồng bộ được trình bày ở chương 4

Bố cục của luận văn bao gồm 5 chương: 1 Giới thiệu đề tài nghiên cứu

Trang 7

2 Tổng quan về Null Convention Logic (NCL), cấu trúc cổng ngưỡng của cell NCL, định dạng file liberty của thư viện

3 Đề xuất quy trình thiết kế mạch bất đồng bộ NCL từ mạch đồng bộ 4 Đề xuất quy trình thiết kế thư viện cell bất đồng bộ NCL

5 Kết luận

Trang 8

ABSTRACT

Over the decades, the synchronous circuit design model has been used for most designs in the semiconductor industry However, when the technology is increasingly developed (from 10µm in 1971 to 1nm in 2021 according to statistics on Techplayon), many difficult problems have occurred such as the circuit will be difficult to meet the timing, problems about clock skew, clock tree, noise, and especially power consumption will increase significantly It is for these reasons that the asynchronous circuit design model is being researched and developed by scientists Because the asynchronous circuit design model does not use clock pulses, this model will overcome most of the limitations of the synchronous circuit design model

Among the design methods of the asynchronous circuit design model, Null Convention Logic (NCL) is one of the prominent methods of asynchronous design because of its delay insensitivity and better optimal ability than other methods To design the NCL asynchronous circuit, researchers often use tools to convert the synchronous circuit to the NCL asynchronous circuit such as Uncle, Balsa, etc This implementation is simple because the conversion from synchronous to asynchronous circuit NCL has been done by such tools, but the NCL circuit generated will be difficult to check the input completion and visibility of that circuit In addition, the switching process depends on the author's own tools, so it will be difficult to develop and optimize the tool if this tool is no longer supported by the author Therefore, in this thesis, a process of designing NCL asynchronous circuit from synchronous circuit is proposed This procedure does not use any of the author's own tools, and readers can design their own NCL asynchronous circuit and verify its input completion conditions and output visibility

Although asynchronous circuit design is currently receiving much attention, there are still not many libraries to support this asynchronous design model, and this is the difficult problem that researchers are facing, especially for students in universities Therefore, in this thesis, the design process of Null Convention Logic standard cell library for asynchronous circuit is proposed With this process, researchers can create their own cell libraries in different technologies and update new cells easily The

Trang 9

highlight of this library design process compared to other authors' processes is the use of the OCEAN language This language helps to automate the simulation and measurement of cell parameters, saving researchers time, and avoiding repetitive simulations for complex cells In addition, the proposed process only uses commercial tools such as Virtuoso, Cadence's Spectre tool to draw the circuit, measure and extract cell characteristics, Design Compiler tool to check the possible library whether the synthesis was successful or not Using these commercial tools will help researchers avoid the problem of depending on the author's own tools, and also ensure the accuracy of cell libraries

The NCL cell library consists of 27 cells that are used to synthesize NCL-based asynchronous designs In this thesis, author designs an asynchronous circuit using a semi-static library This library is implemented based on the proposed process to create a semi-static cell library because this structure has the advantage of capacity over the static and dynamic cell structure To compare the semi-static NCL cell library in this thesis with the NCL cell library of other authors, the author has compared results of the 4-bit full adder using the proposed and other author's cell NCL library The combined results show that the capacity of the full adder has improved by 39% when synthesized by the semi-static NCL library

In this thesis, to design an asynchronous circuit based on the semi-static library, the author studies 3 main issues as follows:

- The first is to study the design process of NCL asynchronous circuit from synchronous circuit presented in chapter 3

- The second is to propose the NCL cell library design process presented in chapter 4 - The third is the design of semi-static cells at 45nm technology for asynchronous designs presented in Chapter 4

The structure of the thesis consists of 5 chapters: 1 Introduction of research topic

2 Overview of Null Convention Logic (NCL), threshold gate structure of NCL cell, liberty file format of library

Trang 10

3 Propose the process of designing NCL asynchronous circuit from synchronous circuit 4 Proposing the design process of NCL asynchronous cell library

5 Conclusion

Trang 11

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của bản thân tôi Các kết quả nghiên cứu và các kết luận trong luận án này là trung thực, được chính tác giả thực hiện trong quá trình nghiên cứu và không sao chép từ bất kỳ một nguồn nào, dưới bất kỳ hình thức nào Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng qui định

Tp HCM, ngày 06 tháng 01 năm 2023

Học viên

Trang 12

MỤC LỤC

Chương 1: GIỚI THIỆU 1

1.1 Tổng quan 1

1.2 Tình hình nghiên cứu trong và ngoài nước 4

Chương 2: CƠ SỞ LÝ THUYẾT 6

2.1 Null Convention Logic 6

2.2 Cấu trúc cổng ngưỡng NCL ở cấp transistor 15

2.3 Định dạng file liberty của thư viện 22

Chương 3: ĐỀ XUẤT QUY TRÌNH THIẾT KẾ MẠCH TỔ HỢP BẤT ĐỒNG BỘ NCL TỪ MẠCH ĐỒNG BỘ 27

3.1 Phân tích yêu cầu thiết kế 27

3.2 Lập bảng chân trị 28

3.3 Tối ưu hóa logic 29

3.4 Kiểm tra tính hoàn thành của ngõ vào và khả năng quan sát 29

3.5 Ánh xạ logic 29

3.6 Mô phỏng kiểm tra chức năng 30

3.7 Thử nghiệm với quy trình thiết kế mạch bất đồng bộ NCL từ mạch tổ hợp đồng bộ 30

Chương 4: ĐỀ XUẤT QUI TRÌNH THIẾT KẾ THƯ VIỆN BẤT ĐỒNG BỘ NCL 36

4.1 Giới thiệu tổng quan về quy trình thiết kế thư viện cell NCL 36

4.1.1 Phân tích chức năng của cell 38

4.1.2 Thiết kế mạch nguyên lý và tạo ký hiệu 39

4.1.3 Kiểm tra chức năng 42

4.1.4 Công suất rò rỉ và điện dung ngõ vào 42

4.1.5 Đặc tính hóa cell 43

4.1.6 Tạo file thư viện liberty 47

4.1.7 Kiểm tra tổng hợp code RTL với thư viện 48

4.2 Thực hiện thiết kế thư viện cell bán tĩnh 48

Trang 13

4.3 So sánh qui trình thiết kế thư viện cell NCL được đề xuất với qui trình của tác giả khác

57

Chương 5: KẾT LUẬN 58

DANH MỤC CÔNG TRÌNH ĐÃ CÔNG BỐ 59

TÀI LIỆU THAM KHẢO 60

Trang 14

DANH SÁCH HÌNH MINH HỌA

Hình 2 1 Điều kiện yếu cho sự hoàn thành ngõ vào của NCL [12] 7

Hình 2 2 Các cổng ngưỡng khác nhau 9

Hình 2 3 Thanh ghi NCL 1 bit 12

Hình 2 4 Mạch phát hiện hoàn thành n bit 13

Hình 2 5 Thực thi NCL của a) inverter b) Cổng exor 15

Hình 2 6 Cấu trúc chung của cổng ngưỡng tĩnh 15

Hình 2 7 Khối transistor a) Go to NULL b) Hold DATA 16

Hình 2 8 Cấu trúc cổng ngưỡng NCL tĩnh tổng quát thnn 16

Hình 2 9 Cổng th23 tĩnh 18

Hình 2 10 Cấu trúc tổng quát của cổng ngưỡng bán tĩnh 19

Hình 2 11 Mạch nguyên lý của cổng ngưỡng bán tĩnh NCL th23 19

Hình 2 12 a) Mô hình tổng quát của cổng ngưỡng động b) Ví dụ cổng th23 20

Hình 2 13 Thông tin chung về file liberty của thư viện cell 23

Hình 2 14 Thông tin cụ thể về cell 24

Hình 2 15 Thông tin cụ thể về pin của cell 26

Hình 3 1 Giải thuật thiết kế mạch tổ hợp NCL 27

Hình 3 2 Quy trình thiết kế mạch NCL từ mạch đồng bộ 28

Hình 3 3 Bìa Karnaugh cho tín hiệu cout 31

Hình 3 4 Bìa Karnaugh cho tín hiệu sum 32

Hình 3 5 Bộ cộng toàn phần NCL 1 bit 32

Hình 3 6 Bộ cộng RCA đồng bộ 4 bit 33

Hình 3 7 Bộ cộng RCA bất đồng bộ NCL 4 bit 33

Hình 3 8 Kết quả mô phỏng của bộ cộng RCA đồng bộ 4 bit 34

Hình 3 9 Kết quả mô phỏng của bộ cộng RCA bất đồng bộ NCL 4 bit 34

Hình 4 1 Qui trình thiết kế thư viện cell chuẩn 38

Trang 15

Hình 4 2 a) Cấu trúc cổng ngưỡng tĩnh b) Cấu trúc cổng ngưỡng bán tĩnh 39

Hình 4 7 a Rise transition at output pin, b Fall transition at output pin 47

Hình 4 8 Sơ đồ mạch nguyên lý của th33 49

Hình 4 9 Mạch testbench của th33 50

Hình 4 10 Kiểm tra chức năng cell th33 (A, B và C kết nối Vpulse) 51

Hình 4 11 Kết quả mô phỏng với chân A được cấp Vpulse, B và C được nối GND 52

Hình 4 12 Kết quả mô phỏng với chân A được cấp Vpulse, B và C kết nối VDD 53

Hình 4 13 File netlist sau khi tổng hợp 55

Hình 4 14 Kết quả tổng hợp về diện tích 56

Hình 4 15 Kết quả tổng hợp về công suất 56

Hình 4 16 Kết quả tổng hợp về delay 56

Trang 16

DANH SÁCH BẢNG SỐ LIỆU

Bảng 2 1 Mã hóa tín hiệu dual-rail 7

Bảng 2 2 Hai mươi bảy cổng NCL cơ bản và hàm Boolean tương ứng 10

Bảng 3 1 Mô tả cổng của bộ toàn phần 30

Bảng 3 2 Bảng chân trị của bộ cộng toàn phần 30

Bảng 3 3 Kết quả tổng hợp của bộ cộng RCA 4 bit 34

Bảng 4 1 Các giá trị Cload và thời gian cạnh lên hoặc xuống của Vpulse 52

Bảng 4 2 Cell fall delay (A = Vpulse, B = GND, C = GND) 53

Bảng 4 3 Fall transition (A = Vpulse, B = GND, C = GND) 53

Bảng 4 4 Fall power (A = Vpulse, B = GND, C = GND) 54

Bảng 4 5 Cell rise delay (A = Vpulse, B = VCC, C = VCC) 54

Bảng 4 6 Rise transition (A = Vpulse, B = VCC, C = VCC) 54

Bảng 4 7 Rise power (A = Vpulse, B = VCC, C = VCC) 55

Bảng 4 8 Kết quả so sánh của toàn phần 4-bit 57

Trang 17

Chương 1: GIỚI THIỆU

1.1 Tổng quan

Trong hơn nhiều thập niên qua, phương pháp thiết kế đồng bộ chiếm ưu thế trong ngành vi mạch điện tử, các kỹ sư thiết kế phải đối mặt với hàng loạt thử thách Như được nhấn mạnh của các chuyên gia hàng đầu về công nghệ bán dẫn trong tài liệu “Lộ trình công nghệ bán dẫn quốc tế (ITRS)”, các thử thách đó liên quan đến tác động của sự biến đổi gia tăng, công suất, nhiệt, tỉ lệ lỗi kể cả lỗi mềm, vấn đề mở rộng qui mô, vì các chip hiện nay đang nhắm tới mục tiêu hàng tỉ transistor và cấu trúc đa lõi [1]

Trong khi mô hình đồng bộ đã chiếm ưu thế trong vài thập kỷ qua thì thiết kế bất đồng bộ hoặc là thành phần lai giữa đồng bộ và bất đồng bộ cung cấp tiềm năng cho hệ thống phần cứng phân tán theo hướng đối tượng, hệ thống này hỗ trợ thành phần module, thành phần mở rộng, hoạt động theo yêu cầu mà không cần sự quản lý năng lượng thiết bị rộng rãi và thiết kế chịu được sự thay đổi Như được nhấn mạnh bởi ITRS, mô hình bất đồng bộ được xem là thành phần quan trọng để giải quyết các thử thách trên

Thiết kế bất đồng bộ thì không mới, nó đã mang lại nhiều lợi ích cho nhiều công ty điện tử hàng đầu thế giới Vào cuối năm 1990 và đầu năm 2000, Philips Semiconductors đã thành công về thương mại với các bộ vi điều khiển bất đồng bộ 80C51 Một phiên bản nâng cao của nó là SmartMX được sử dụng rộng rãi trên 75 quốc gia kể cả Châu âu và Mỹ Năm 2011, Fulcrum Microsystems được Intel mua lại bộ startup bất đồng bộ để sản xuất dòng chip mạng tốc độ cao, các chuyên gia phân tích coi đây là nỗ lực để cạnh tranh với sản phẩm của Cisco Dòng chip chuyển mạch FM5000/FM6000 hỗ trợ Ethernet 40 gigabit bao gồm một Crossbar switch tốc độ cao hoàn toàn bất đồng bộ, cung cấp độ rộng băng thông cao, trễ thấp và hỗ trợ liên kết hệ thống linh hoạt Một ví dụ khác về sự thương mại hóa sản phẩm bất đồng bộ là họ Speedster 22i của FPGA được sản xuất bởi Achronix Semiconductor Đây là ứng dụng của FPGA hiệu suất cao, được sản xuất bằng công nghệ 22nm, chip này có thể hoạt động ở tần số 1.5GHz Một ví dụ thú vị khác là TrueNorth, được phát hành vào tháng 8 năm 2014, đây là chip lớn nhất từng được phát triển tại IBM, với 5,4 tỷ transistor Dòng

Trang 18

chip này tích hợp 4096 lõi thần kinh trên một chip đơn, cấu hình 1 triệu nơ-ron và 256 triệu khớp thần kinh Quy mô tích hợp này đặt ra một thách thức về thiết kế vật lý phức tạp, đã được đáp ứng thành công bằng cách sử dụng mạng kết nối và các yếu tố xử lý hoàn toàn bất đồng bộ

Trong thực tế đã có một vài thử nghiệm công nghiệp với thiết kế bất đồng bộ, mặc dù các thử nghiệm này khá thành công nhưng không xuất hiện trong các sản phẩm thương mại chẳng hạn như bộ lọc FIR của IBM được thực hiện dưới hình thức lai giữa hỗn hợp đồng bộ và bất đồng bộ Kết quả thử nghiệm cho thấy giảm được 50% trễ trường hợp xấu nhất và cải thiện được thông lượng Ngoài các mục tiêu thiết kế cổ điển, một số ứng dụng mới xuất hiện mà thiết kế bất đồng bộ đã sẵn sàng tạo ra tác động, điển hình nhất là trong việc tích hợp nhiều thành phần có các miền định thời riêng biệt vào trong một thành phần thì bất đồng bộ nhất thiết xảy ra cụ thể trong các bộ vi xử lý nhiều lõi, SoC, hệ thống GALS Ngoài ra, nhiều ứng dụng khác mới xuất hiện khác hệ thống năng lượng cực thấp và thu hoạch năng lượng, các bộ xử lý tín hiệu số thời gian liên tục, điều khiển trong môi trường khắc nghiệt, mô hình điện toán thay thế

Trong các mạch bất đồng bộ, khái niệm cơ bản về định thời chính là độ trễ Mọi thành phần thiết kế số được sử dụng trong thiết kế đều có độ trễ vốn có Toàn bộ hành vi của mạch thường được mô hình hóa bằng các mô hình trễ để định thời Các mô hình này có tính đến độ trễ của cổng, dây hoặc cả hai Khoảng cách ngày càng tăng giữa các mô hình trễ của dây và trễ của cổng khi chúng ta chuyển sang các công nghệ DSM (Deep Sub-Micron) Việc khoảng cách ngày càng tăng đã tạo thêm động lực cho các phương pháp thiết kế mà không phụ thuộc vào định thời Trong trường hợp không có xung nhịp, các mạch bất đồng bộ được thiết kế không có giả định về độ trễ Nguyên tắc chung là đảm bảo rằng mạch hoạt động chính xác trong điều kiện độ trễ cổng và dây khác nhau Tùy thuộc vào giả định thời gian trễ của dây và cổng, các thiết kế mạch bất đồng bộ được phân thành hai nhóm mô hình chính là mô hình mạch có trễ bị giới hạn và mô hình mạch gần như không nhạy với trễ [2]

1.1.1 Mô hình mạch có trễ bị giới hạn

Trong nhóm mô hình này, giả định trễ qua cổng và dây bị giới hạn, điều đó có nghĩa là mỗi cổng và dây sẽ được gán một giá trị giới hạn của các giá trị trễ, mô hình

Trang 19

giả định cho tất cả mọi hoạt động, giá trị trễ chỉ rơi vào trong giới hạn đó, các trễ này được đưa vào dựa trên tình huống xấu nhất để tránh điều kiện nguy hiểm (hazard conditions) Do đó, các mô hình có trễ bị giới hạn thường được thực hiện thông qua luồng dữ liệu được điều khiển bởi các ràng buộc định thời cục bộ cho trường hợp xấu nhất Tín hiệu req phải được trì hoãn một khoảng thời gian đủ dài cho tới khi tất cả tín hiệu hợp lệ và ổn định Nhìn chung, tất cả các mô hình có trễ bị giới hạn hoạt động theo kiểu đồng bộ và cho hiệu quả mã hóa tốt nhưng yêu cầu phải phân tích định thời trường hợp xấu nhất

1.1.2 Mô hình gần như không nhạy với độ trễ QDI (Quasi Delay Insensitive) Các mạch QDI cho phép trễ cổng và dây tùy ý nhưng nó áp đặt một giả định về isochronic của nhánh để tránh hazard và glitch không mong muốn Giả định này nằm bên trong các thành phần cơ bản của mạch như bộ cộng, độ lệch thời gian được tạo ra bởi độ trễ của dây ít hơn nhiều so với độ trễ cổng, vì thế độ trễ cho tất cả các đầu cuối của các dây nhánh là tương tự nhau Thông thường, các giả định về isochronic của nhánh đạt được ở thiết kế cấp cổng của các thành phần cơ bản Điều quan trọng cần lưu ý là ở cấp độ kết nối thành phần, độ trễ dây không cần tuân thủ giả định này, vì dữ liệu đầu vào có thể được kiểm soát bằng các mạch phát hiện hoàn thành Do đó, các mạch QDI cần rất ít việc phân tích định thời và có thể đạt được hiệu suất trung bình thay vì hiệu suất trong trường hợp xấu nhất như các mô hình trễ bị giới hạn Trong việc triển khai, các mạch QDI thông thường sử dụng sơ đồ mã hóa nhiều dây để truyền dữ liệu Hình 1.2 minh họa cho sơ đồ mã hóa dual-rail, điều đó có nghĩa là sử dụng hai dây để mã hóa cho một bit nhị phân Dữ liệu chính nó tự nhận dạng nó hợp lệ hay không nên dây tín hiệu Req được bỏ qua [3]

Trong thiết kế mạch QDI, hầu hết các phương pháp tiếp cận ban đầu chỉ sử dụng cổng phần tử C và mạch Boolean để có được độ nhạy trễ lý tưởng DIMS (Delay Insensitive Minterm Synthesis) [1] là một ví dụ điển hình Ngược lại, Null Convention Logic (NCL) xác định trước 27 cổng giữ trạng thái trễ cơ bản cho thiết kế mạch, do đó, NCL cung cấp khả năng tối ưu hóa tốt hơn [4] Ví dụ, cổng AND hai ngõ vào sẽ yêu cầu 56 transistor bán dẫn, 5 cổng và trễ qua 2 cấp cổng nếu được triển khai trong DIMS,

Trang 20

trong khi đó, chỉ cần 31 transistor bán dẫn, 2 cổng và trễ qua 1 cấp cổng nếu được triển khai trong NCL [5]

Bên cạnh các cách tiếp cận giống như DIMS, một nhóm phương pháp khác được sử dụng để thiết kế các mạch QDI dựa trên ngôn ngữ lập trình Hoare’s CSP (Communicating Sequential Processes) Tangram [6], và Balsa [7] là những cách tiếp cận như vậy Những nhóm tiếp cận này là các ngôn ngữ dựa trên CSP dành cho thiết kế bất đồng bộ và cung cấp các công cụ chuyên dụng để tổng hợp các thiết kế thành netlist của các thành phần bắt tay Thành phần bắt tay là sự triển khai mạch của một cấu trúc ngôn ngữ, chẳng hạn như lập trình tự và lặp lại [8], được tạo ra để mô tả mạch bất đồng bộ Về ngôn ngữ thiết kế, Tangram, Haste và Balsa, dựa trên CSP, là các ngôn ngữ lập trình đồng thời thuật toán cấp cao, hoàn toàn khác với các ngôn ngữ phần cứng hiện tại như VHDL và Verilog Hơn nữa, các cách tiếp cận này thường không thể tạo ra các mạch bất đồng bộ hiệu suất cao, vì chúng sử dụng phép dịch theo hướng cú pháp để tổng hợp các mạch trực tiếp từ mô tả chức năng [9] Do đó, Null Convention Logic là một trong những phương pháp được quan tâm nhất cho đến nay

Sự phát triển của NCL từ việc thực thi và kiểm tra các mạch NCL trên Field Programmable Gate Array (FPGA) [10-14] Một số thư viện cấu trúc Complementary Mental Oxide Semiconductor (CMOS) [13-16] và các công cụ tự động “gate mapping” [17,18] đã được phát triển cho NCL Thêm vào đó, các kỹ thuật DFT (Design For Test) [19] cho mạch NCL đã được khám phá ra Ngoài ra, kỹ thuật thiết kế cổng NCL mới được nghiên cứu đã cho hiệu suất vượt trội so với phương pháp thiết kế NCL bằng CMOS tĩnh và bán tĩnh truyền thống [20] Tuy nhiên, việc tổng hợp các thiết kế bất đồng bộ dựa trên NCL vẫn còn là vấn đề gây khó khăn lớn đối với các nhà nghiên cứu do thiếu các thư viện bất đồng bộ NCL Vì thế, việc nghiên cứu giải pháp để tạo ra thư viện bất đồng bộ NCL vừa đơn giản, dễ hiểu và gần giống với phương pháp đồng bộ nhất là việc rất cần thiết

1.2 Tình hình nghiên cứu trong và ngoài nước

Trong nước, dựa trên các tài liệu được đăng lên như các luận văn, các bài báo,… thì vẫn chưa có tác giả nào đề xuất ra quy trình thiết kế mạch bất đồng bộ NCL từ mạch đồng bộ và quy trình thiết kế thư viện cell NCL

Trang 21

Trên thế giới, hiện nay, có một nhóm các nhà khoa học Brazil đang nghiên cứu phát triển thư viện bất đồng bộ NCL Tuy nhiên, việc thực hiện luồng thiết kế thư viện bất đồng bộ đó khá phức tạp và yêu cầu đọc giả phải cài thêm các công cụ của riêng họ

Trang 22

Chương 2: CƠ SỞ LÝ THUYẾT

Chương này trình bày tổng quan các vấn đề về NCL như tiêu chuẩn hoàn thành, hệ thống NCL pipeline, các cấu trúc cổng ngưỡng cơ bản và định dạng của file lib làm cơ sở để nghiên cứu cho luận văn

2.1 Null Convention Logic

NCL là mô hình bất đồng bộ không nhạy với trễ, có nghĩa là các mạch NCL sẽ hoạt động chính xác bất kể độ trễ của các thành phần và dây dẫn Các mạch NCL sử dụng logic dual-rail hoặc logic quad-rail để đạt được độ không nhạy với trễ Trong suốt luận văn này, các thiết kế sử dụng logic dual-rail Phần này sẽ giải thích các vấn đề cơ bản của NCL, chẳng hạn như các thành phần được sử dụng để xây dựng các mạch NCL, các tiêu chí mà mỗi và mọi thành phần của tín hiệu dual-rail NCL phải có

2.1.1 Tiêu chuẩn hoàn thành

NCL sử dụng hai tiêu chuẩn hoàn thành để đạt được hành vi không nhạy với trễ: tính hoàn thành về mặt biểu tượng của biểu thức và tính hoàn thành của đầu vào Một biểu thức hoàn thành về mặt ký tự được định nghĩa là một biểu thức chỉ phụ thuộc vào mối quan hệ của các ký tự được biểu diễn trong biểu thức Tín hiệu dual-rail với ba trạng thái logic (NULL, DATAO và DATA1) được sử dụng để đạt được tính hoàn thành ký tự của biểu thức Tín hiệu dual-rail D bao gồm hai dây, D0 và D1 Giá trị của tín hiệu dual-rail được biểu thị bằng một giá trị từ tập {DATAO, DATA1, NULL}, được hiển thị trong Bảng 2.1 Trạng thái DATA0 (D0 = l (cao), D1 = 0 (thấp)) tương ứng với logic Boolean 0 Trạng thái DATA1 (D0 = 0 (thấp), D1 = l (cao)) tương ứng với logic Boolean 1 Trạng thái Null (D0 = 0 (thấp), D1 = 0 (thấp)) tương ứng với trạng thái không có dữ liệu Trạng thái D0 = l (cao) và D1 = l (cao) là trạng thái bị cấm

Trang 23

Bảng 2 1 Mã hóa tín hiệu dual-rail

Hình 2 1Điều kiện yếu cho sự hoàn thành ngõ vào của NCL [12]

Trang 24

(1) Một số ngõ vào trở thành DATA trước khi một số ngõ ra trở thành DATA

(2) Tất cả các ngõ vào trở thành DATA trước khi tất cả các ngõ ra trở thành DATA

(3) Tất cả các ngõ ra trở thành DATA trước khi một số ngõ vào trở thành NULL

(4) Một số ngõ vào trở thành NULL trước khi một số ngõ ra trở thành NULL

(5) Tất cả các ngõ vào trở thành NULL trước khi tất cả các ngõ ra trở thành NULL

(6) Tất cả các ngõ ra trở thành NULL trước khi một số ngõ vào trở thành DATA

Một ngõ ra được gọi là ngõ vào hoàn chỉnh ứng với một ngõ vào cụ thể nếu giá trị ngõ ra (DATA) đó không xuất hiện cho đến khi giá trị ngõ vào (DATA) xuất hiện Ngõ vào này được gọi là ngõ vào hoàn chỉnh của ngõ ra cụ thể đó Một mạch tổ hợp được gọi là có ngõ vào hoàn chỉnh khi và chỉ khi mỗi ngõ vào của mạch có ít nhất một ngõ ra mà hoàn chỉnh đối với ngõ vào đó

2.1.2 Cổng ngưỡng có độ trễ

NCL sử dụng một loại cổng đặc biệt, cụ thể là cổng ngưỡng có độ trễ [21, 22] Tên chung của cổng ngưỡng cơ bản được mô tả là thmnwK1K2…Kn, trong đó 'th' có nghĩa là cổng ngưỡng, m là ngưỡng, n là số ngõ vào, W có nghĩa là trọng số, giá trị ' K1 ',' K2

', ' Kn' lần lượt là các trọng số của các ngõ vào, mặc định giá trị trọng số là 1 Một số cổng ngưỡng được thể hiện trong Hình 2.2 Trong một số cổng ngưỡng có thể có biến thể cho ngõ ra được set, reset hoặc lấy đảo Trong trường hợp đó, có thể đính kèm chữ ‘d’, ‘n’ hoặc ‘b’ có thể được gắn vào tên của cổng ngưỡng Ví dụ, th22n là một cổng th22

với ngõ vào điều khiển ‘reset’, ngõ ra có thể được khởi tạo ở mức thấp miễn khi tín hiệu reset được kích hoạt Tương tự, ‘d’ được sử dụng để khởi tạo ngõ ra ở mức cao và ‘b’ chỉ ra rằng ngõ ra được tích hợp thêm cổng đảo

Trang 25

Hình 2 2 Các cổng ngưỡng khác nhau

Hành vi ngưỡng của cổng yêu cầu ngõ ra trở thành 1 nếu ít nhất m trong số n ngõ vào đã trở thành 1 Hành vi trễ yêu cầu ngõ ra chỉ thay đổi sau khi đã thiết lập đủ các giá trị ngõ vào Trong trường hợp chuyển đổi từ 0 sang 1, ngõ ra vẫn ở mức 0 cho đến khi ít nhất m ngõ vào trở thành 1 Trong trường hợp chuyển đổi từ 1 sang 0, ngõ ra vẫn ở mức 1 cho đến khi tất cả n ngõ vào trở thành 0 Độ trễ trong mỗi cổng NCL đảm bảo rằng tất cả các ngõ vào phải chuyển qua NULL trước khi ngõ ra của mạch tổ hợp sẽ chuyển sang NULL, làm cho ngõ vào mạch hoàn thành đối với NULL, giả sử rằng mạch hoàn thành ngõ vào đối với DATA Các cổng này là các thành phần cơ bản mà trên đó tất cả các thành phần thiết yếu tạo nên các đường ống (pipeline) NCL

27 cổng ngưỡng cơ bản trong thư viện thiết kế NCL, trong Bảng 2.2, tạo thành tập hợp tất cả các hàm bao gồm bốn biến hoặc ít hơn

Trang 26

Bảng 2 2 Hai mươi bảy cổng NCL cơ bản và hàm Boolean tương ứng

NCL gate Boolean Function

th24w2 A + BC + BD + CD th34w2 AB + AC + AD + BCD th44w2 ABC + ABD + ACD

Trang 27

2.1.3 NCL Pipeline

Cấu trúc cho các hệ thống NCL bao gồm logic tổ hợp không nhạy với trễ và mạch phát hiện hoàn thành được kẹp giữa các thanh ghi không nhạy với trễ Sự kết hợp giữa các thanh ghi NCL này cùng với mạch phát hiện hoàn thành và logic tổ hợp được gọi là NCL pipeline [23] Vì vậy, các thành phần cơ bản của bất kỳ mạch hoặc hệ thống NCL nào cũng là các thanh ghi NCL, mạch phát hiện hoàn thành và logic tổ hợp NCL như exor, bộ cộng toàn phần, v.v

Các cặp DATA và NULL đi qua từng thành phần trong đường ống NCL liên tiếp Sự hiện diện của NULL được sử dụng làm thời gian tham chiếu trong các mạch NCL Yêu cầu ngõ vào cho mỗi thanh ghi xuất phát từ mạch phát hiện hoàn thành của thanh ghi tiếp theo Giả sử rằng tất cả các mạch đều ở trạng thái NULL và các tín hiệu yêu cầu ngõ vào của thanh ghi hiện tại (Kic) và thanh ghi tiếp theo (Kin) đang yêu cầu DATA và thanh ghi trước đó hiển thị một bộ DATA hoàn thành đối với mạch tổ hợp của nó Khi mặt sóng truyền qua mạch tổ hợp trước đó đến thanh ghi hiện tại, thanh ghi hiện tại chuyển dữ liệu do dòng điều khiển của nó đang yêu cầu DATA Khi một bộ dữ liệu hoàn chỉnh được nhận ra bởi mạch phát hiện hiện tại, mạch phát hiện hoàn thành sẽ chuyển dòng điều khiển (KiP) sang thanh ghi trước để yêu cầu NULL chỉ ra rằng thanh ghi hiện tại đã nhận và lưu trữ dữ liệu và thanh ghi trước đó có thể nhận NULL Mặt sóng NULL được yêu cầu từ thanh ghi trước có thể đến thanh ghi hiện tại, nhưng miễn là dòng điều khiển (thanh ghi hiện tại) đang yêu cầu DATA, mặt sóng NULL sẽ bị chặn và thanh ghi hiện tại sẽ duy trì bộ DATA cho mạch tổ hợp hiện tại Dòng điều khiển cho thanh ghi hiện tại sẽ vẫn yêu cầu DATA cho đến khi mặt sóng DATA được truyền qua mạch hiện tại và đã được nhận bởi thanh ghi tiếp theo Khi thanh ghi tiếp theo nhận và lưu trữ mặt sóng DATA, bộ DATA không còn cần được duy trì bởi thanh ghi hiện tại Mạch phát hiện hoàn chỉnh tiếp theo phát hiện bộ DATA hoàn chỉnh và chuyển đổi dòng xác nhận của nó (Kic) để yêu cầu NULL chỉ ra rằng nó đã nhận được mặt sóng DATA và thanh ghi hiện tại có thể cho phép mặt sóng NULL Đây là toàn bộ hoạt động của toàn bộ đường ống NCL

2.1.3.1 Thanh ghi NCL

Trang 28

Các hệ thống NCL chứa ít nhất hai thanh ghi không nhạy với trễ, một ở đầu vào và một ở đầu ra Hai tầng thanh ghi liền kề tương tác thông qua các tín hiệu yêu cầu và xác nhận; Ki và Ko, tương ứng, để ngăn mặt sóng DATA hiện tại ghi đè lên mặt sóng DATA trước đó, bằng cách đảm bảo rằng hai mặt sóng DATA luôn được phân tách

bằng mặt sóng NULL

Hình 2 3 Thanh ghi NCL 1 bit

Hình 2.3 cho thấy một thanh ghi NCL 1 bit Một thanh ghi n-bit được thực hiện thông qua các sắp xếp cascade của n các thanh ghi dual-rail, 1 bit Mỗi thanh ghi NCL 1 bit được sử dụng trong suốt luận văn bao gồm hai cổng th22n chỉ cho phép truyền giá trị DATA ở đầu vào khi Ki (tín hiệu yêu cầu) ở mức logic 1 và chỉ truyền NULL khi Ki ở mức logic 0 Thanh ghi này cũng chứa một cổng th12b có hai ngõ vào, một trong số đó được kết nối với ngõ ra của một trong hai cổng th22n và ngõ vào còn lại được kết nối với ngõ ra của cổng th22n còn lại Ngõ ra của th12b được ký hiệu là Ko, tín hiệu xác nhận của thanh ghi 1 bit Ko trở thành logic 0 khi thanh ghi nhận DATA hoàn toàn và có logic 1 khi thanh ghi nhận NULL Các tín hiệu xác nhận của mỗi thanh ghi 1 bit trong thanh ghi n bit được kết hợp trong mạch phát hiện hoàn chỉnh để tạo tín hiệu yêu cầu đến thanh ghi trước đó Tín hiệu yêu cầu Ki của thanh ghi hiện tại là ngõ ra của mạch phát hiện hoàn thành của thanh ghi tiếp theo Khi tín hiệu reset ở ngõ vào ở mức cao, cả hai cổng th22 trong thanh ghi 1 bit được reset thành NULL, thanh ghi sẽ xuất ra Null Tuy nhiên, một trong hai thanh ghi có thể được reset thành giá trị DATA bằng

Trang 29

cách thay thế chính xác một trong các cổng th22n bằng cổng th22d Nhưng đối với các ứng dụng trong luận văn này, chỉ có cổng th22n được sử dụng

2.1.3.2 Mạch phát hiện hoàn thành

Mạch phát hiện hoàn thành bao gồm một bộ các cổng xác định sự xuất hiện hoàn toàn của DATA hoặc NULL tại các thanh ghi Như đã đề cập trong phần trước, tất cả các Kos của mỗi thanh ghi 1 bit đều đi qua mạch phát hiện hoàn thành và tạo ra tín hiệu yêu cầu cho thanh ghi trước đó Hình 2.4 là một ví dụ về mạch phát hiện hoàn thành n bit.

Vì cổng ngưỡng có số ngõ vào tối đa là cổng th44, số lượng mức logic trong thành phần hoàn thành cho thanh ghi n bit được đưa ra bởi log4 (n) Ví dụ: giả sử một thanh ghi 64 bit Mạch phát hiện hoàn thành có log4 (64) = 3 cấp độ Ở cấp thứ nhất mạch có 16 cổng th44, ở cấp thứ hai mạch có 4 cổng th44 và cấp thứ ba có 1 cổng th44.

Hình 2 4 Mạch phát hiện hoàn thành n bit

Trang 30

Dưới đây là một ví dụ khác làm rõ quá trình xây dựng mạch phát hiện hoàn thành theo cách tốt hơn Hãy xem xét một thanh ghi NCL 44 bit Mạch phát hiện hoàn thành của thanh ghi 44 bit này có ba mức logic và được xây dựng bằng cách sử dụng 11 cổng th44 ở cấp logic thứ nhất, 2 cổng th44 và 1 cổng th33 ở cấp logic thứ hai và 1 cổng th33 ở cấp logic thứ ba

2.1.3.3 Mạch tổ hợp NCL

Chức năng của các mạch tổ hợp NCL tương tự như các mạch logic tổ hợp Boolean ngoại trừ các mạch NCL được tạo từ 27 cổng ngưỡng được đề cập trong Bảng 2.2 Tất cả các mạch tổ hợp NCL phải duy trì hai tính chất quan trọng, tính hoàn thành ngõ vào và khả năng quan sát

Tính hoàn thành ngõ vào thỏa mãn 2 yêu cầu:

- Tất cả các ngõ ra của mạch tổ hợp không được chuyển từ NULL sang DATA cho đến khi tất cả các ngõ vào đã chuyển từ NULL sang DATA

- Tất cả các ngõ ra của mạch tổ hợp không được chuyển từ DATA sang NULL cho đến khi tất cả các ngõ vào được chuyển từ DATA sang NULL

Khả năng quan sát đòi hỏi rằng không có “orphans” có thể truyền qua cổng Một orphan được định nghĩa là một dây mà tham gia thực hiện chuyển đổi mặt sóng DATA hiện tại, nhưng không được sử dụng để xác định ngõ ra Orphans được gây ra bởi wire forks và có thể bị bỏ qua thông qua giả định isochronic fork (nghĩa là độ trễ cổng dài hơn nhiều so với độ trễ dây trong một thành phần) Điều kiện quan sát này, còn được gọi là điều kiện ổn định, đảm bảo rằng mọi chuyển đổi cổng đều có thể quan sát được ở ngõ ra; có nghĩa là mọi cổng chuyển tiếp là cần thiết để chuyển đổi ít nhất một trong các ngõ ra

Hình 2.5 cho thấy một số mạch tổ hợp NCL a) inverter, b) exor sử dụng cổng ngưỡng

Trang 31

Hình 2 5 Thực thi NCL của a) inverter b) Cổng exor

2.2 Cấu trúc cổng ngưỡng NCL ở cấp transistor

Hiện nay, có 3 cấu trúc cổng ngưỡng NCL khác nhau được sử dụng phổ biến nhằm mục đích nghiên cứu là tĩnh, bán tĩnh và động Phần này về cơ bản là để hiểu các khái niệm về cổng ngưỡng ở cấp độ transistor

2.2.1 Cấu trúc tĩnh

Mô hình cổng ngưỡng NCL tĩnh được thực hiện bằng công nghệ CMOS, bao gồm 5 khối cơ bản: Go to NULL, Go to DATA, hold NULL, hold DATA và cổng đảo ở ngõ ra được trình bày trong Hình 2.6

Hình 2 6 Cấu trúc chung của cổng ngưỡng tĩnh

Trang 32

Các khối Go to NULL và Hold DATA có cấu trúc bù lẫn nhau và có các hình dạng đặc biệt được hiển thị trong hình 2.7 Khối Go to NULL chỉ ON khi tất cả N ngõ vào là 0 và khối Hold DATA chỉ ON nếu một hoặc nhiều đầu vào là 1 Vì chuỗi nối tiếp trong khối Go to NULL nên việc đảm bảo tốc độ sẽ giới hạn các cấu trúc này ở số lượng tối đa ngõ vào, thường ít hơn sáu Tương tự khối go to DATA và khối hold NULL là bù lẫn nhau nhưng cấu trúc chính xác của chúng phụ thuộc vào giá trị ngưỡng m Đơn giản nhất bắt đầu bằng trường hợp đặc biệt m = n Cấu trúc tổng quát của cổng ngưỡng tĩnh có n ngõ vào và ngưỡng là n được trình bày trong Hình 2.8

Hình 2 7 Khối transistor a) Go to NULL b) Hold DATA

Hình 2 8 Cấu trúc cổng ngưỡng NCL tĩnh tổng quát thnn

Trang 33

Để phân tích hoạt động của nó, giả sử bắt đầu với tất cả ngõ vào ở trạng thái 0 Trong trường hợp này khối Go to NULL và khối Hold NULL ở trạng thái ON, ngõ ra Z sẽ ở trạng thái logic 0, do đó tất cả transistor PMOS trong mạng kéo lên sẽ ở trạng thái ON Ở cùng thời điểm đó, khối Go to DATA và khối Hold DATA ở trạng thái OFF, tất cả các transistor NMOS trong mạng kéo xuống cũng ở trạng thái OFF Nếu một trong các ngõ vào lên mức 1 thì khối Go to NULL sẽ chuyển sang trạng thái OFF và khối Hold DATA vẫn ở trạng thái ON Tuy nhiên, ngõ ra Z vẫn không thay đổi trạng thái bởi vì khối Hold NULL vẫn ở trạng thái ON và nó vẫn duy trì kết nối của điểm trung gian với nguồn VDD Ngõ ra sẽ thay đổi chỉ khi tất cả ngõ vào lên mức 1 Ở thời điểm đó khối Hold NULL sẽ OFF và khối Go to DATA ở trạng thái ON và làm cho ngõ ra ở trạng thái DATA Sau đó chúng ta gặp phải tình huống mà tất cả các transistor PMOS ở mạng kéo lên đều OFF và tất cả các transistor NMOS trong mạng kéo xuống đều ON Do cấu trúc mạch đối xứng nên hoạt động tương tự sẽ xãy ra khi ngõ ra trở lại trạng thái NULL

Trong trường hợp ngưỡng m nhỏ hơn số ngõ vào n thì cấu trúc của khối Go to DATA và Hold NULL sẽ được xác định riêng cho mỗi trường hợp Ví dụ về cổng ngưỡng th23 có các ngõ vào A, B và C như Hình 2.9

Cần lưu ý rằng các khối Go to Null và Hold DATA ở dạng chuẩn của nó, cấu trúc của các khối còn lại có được theo sự phân tích sau: đầu tiên bắt đầu bằng khối Go to DATA, khối này ở trạng thái ON khi 2 trong 3 ngõ vào lên mức 1 Biểu thức logic mô tả cho nguyên lý hoạt động của cổng được biểu diễn trong (2.1)

𝑓(𝐴, 𝐵) = 𝐴𝐵 + 𝐵𝐶 + 𝐶𝐴 = 𝐴𝐵 + 𝐶 (𝐴 + 𝐵) (2.1) Cấu trúc của khối Go to DATA có nguồn gốc trực tiếp từ biểu thức (2.1) bằng cách sử dụng nguyên tắc thông thường để xây dựng mạng chuyển mạch của các transistor NMOS Vì khối Hold NULL là bù với khối này, biểu thức mô tả của nó có được bằng cách lấy bù biểu thức (2.1) ở trên và đơn giản bằng cách sử dụng luật DeMorgan như sau:

𝑓(𝐴, 𝐵)

̅̅̅̅̅̅̅̅̅̅ = 𝐴𝐵 + 𝐶(𝐴 + 𝐵)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = (𝐴̅ + 𝐵̅)(𝐶̅ + 𝐴̅ 𝐵̅)

Trang 34

= 𝐴̅ 𝐶̅ + 𝐴̅ 𝐵̅ + 𝐵̅ 𝐶̅ = 𝐴̅ 𝐵̅ + 𝐶̅ (𝐴̅ + 𝐵̅) (2.2)

Sơ đồ nguyên lý của khối Hold NULL trong Hình 2.9 được xây dựng trực tiếp bằng cách dựa vào biểu thức cuối cùng của𝑓(𝐴, 𝐵)(biểu thức (2.2)) bằng cách sử dụng các luật thông thường để xây dựng các mạng chuyển mạch PMOS Lưu ý, phương trình của𝑓(𝐴, 𝐵)cho thấy khối Hold NULL sẽ ON khi có ít nhất 2 trong số 3 ngõ vào ở mức 0 Tương tự như vậy đối với cấu trúc của khối Go to NULL và Hold DATA

Hình 2 9 Cổng th23 tĩnh 2.2.2 Cấu trúc bán tĩnh

Cấu trúc tổng quát của cổng ngưỡng bán tĩnh thmn [24] trình bày trong Hình 2.10 gồm 3 khối chính: khối Go to NULL, khối Go to DATA và khối cổng đảo có hồi tiếp ở ngõ ra để duy trì thông tin trạng thái Do đó, cổng này không yêu cầu tốc độ tối thiểu của ngõ vào vì nó có thể giữ trạng thái ngõ ra vô thời hạn Thông tin trạng thái được duy trì thông qua cổng đảo hồi tiếp yếu Cổng đảo này có nhiệm vụ bù lại dòng rò có tác dụng xả điện cho điểm Y khi cả hai khối Go to NULL và Go to DATA ở trạng thái OFF Kích thước cổng đảo hồi tiếp yếu thích hợp là điều cần thiết cho hoạt động

Trang 35

chính xác của cổng bán tĩnh Nếu cộng đảo hồi tiếp ở ngõ ra quá yếu, nó sẽ không thể bù được dòng rò ở nút bên trong và do đó, điện tích ở nút bên trong Y sẽ bị rò rỉ và ngõ ra cổng Z có thể trở nên không hợp lệ hoặc chuyển đổi giá trị hoàn toàn Ngược lại, nếu bộ đảo hồi tiếp ở ngõ ra không đủ yếu thì nó sẽ yêu cầu dòng điện lớn từ mạch kéo lên hoặc kéo xuống để chuyển đổi trạng thái ở ngõ ra Trong trường hợp này, ngõ ra của cell có thể bị kẹt ở mức 1 hoặc mức 0

Hình 2 10 Cấu trúc tổng quát của cổng ngưỡng bán tĩnh

Hình 2 11 Mạch nguyên lý của cổng ngưỡng bán tĩnh NCL th23

Ví dụ về cổng ngưỡng bán tĩnh th23 được trình bày trong Hình 2.11, cấu trúc của các transistor NMOS ở mạng kéo xuống có nguồn gốc từ dạng nguyên thủy và chưa được triển khai trong Bảng 2.2

Trang 36

2.2.3 Cấu trúc động

Trong nhiều ứng dụng tính toán thời gian thực, dòng dữ liệu vào phải luôn liên tục ở một tốc độ tối thiểu Trong tình huống này, không cần thiết để duy trì thông tin trạng thái bằng một cơ cấu hồi tiếp Thay vào đó, sự có mặt hay vắng mặt của điện tích tại điểm cách li có thể duy trì được vài ms mà không phải mất bất kỳ thông tin nào Do đó, đối với các loại ứng dụng này, chúng ta có thể loại bỏ cổng đảo hồi tiếp yếu của cấu hình cổng ngưỡng bán tĩnh Mạch kết quả được gọi là cổng ngưỡng động và sơ đồ khối tổng quát của nó được trình bày trong Hình 2.12a Khối Go to NULL và Go to DATA giống các khối tương tự được sử dụng trong cấu hình của cổng ngưỡng bán tĩnh, kể cả việc tối ưu để tối thiểu hóa hiệu ứng dùng chung điện tích

Hình 2 12 a) Mô hình tổng quát của cổng ngưỡng động b) Ví dụ cổng th23

Mạch nguyên lý của cổng ngưỡng động th23 thực hiện bằng các transistor CMOS trên Hình 2.12 giống với cổng ngưỡng bán tĩnh th23 được trình bày trong Hình 2.11 ngoại trừ không có bộ đảo hồi tiếp yếu Khi khối Go to DATA trở thành ON, điểm Y sẽ được xả điện qua các transistor NMOS làm cho ngõ ra được xác nhận Tương tự, khi tất cả các ngõ vào được xác nhận lại, khối Go to NULL sẽ ON, điểm Y sẽ được nạp

Trang 37

điện lại qua các transistor PMOS đến điện áp VDD và làm cho ngõ ra được xác nhận lại Trong việc triển khai các cổng ngưỡng động NCL, khối Go to DATA là mạng kéo xuống của các transistor NMOS xuất phát từ các phương trình trong Bảng 2.2 Mặc khác, khối Go to NULL là một chuỗi nối tiếp của các transistor PMOS trong đó một transistor cho mỗi ngõ vào Như vậy, nếu các cổng NCL có cùng số ngõ vào thì có khối Go to NULL giống nhau Cả hai khối Go to NULL và Go to DATA không phải bù lẫn nhau, có nhiều lúc cả hai khối này OFF, điểm Y sẽ bị thả nổi, giá trị điện áp của nó được duy trì trong một khoảng thời gian ngắn khoảng vài ms trên điện dung kí sinh trước khi điện tích của nó rò rỉ mất, chính vì thế mà các cổng ngưỡng động NCL có thể duy trì trạng thái trong một khoảng thời gian hữu hạn Do đó, khi khối DATA trở thành ON và ngõ ra được xác nhận thì nó vẫn được xác nhận cho tới khi khối Go to NULL trở thành ON và ngõ ra được xác nhận lại Phương trình logic miêu tả chức năng của khối Go to DATA (2.3) bên dưới [25]

F = AB + AC + BC (2.3)Biểu thức (2.3) có thể được triển khai rút gọn để làm giảm số lượng transistor (2.4)

F = A (B + C) + BC (2.4)Cổng ngưỡng NCL động có diện tích nhỏ nhất, tốc độ nhanh nhất, và tiêu thụ năng lượng ít nhất Tuy nhiên, nó không thể giữ trạng thái ngõ ra vô thời hạn khi cả hai khối Go to DATA và Go to NULL trở thành OFF nên nó không được xem là giải pháp không nhạy với delay Hơn nữa, thông tin trạng thái được lưu trữ trên điện dung ký sinh, nó rất dễ bị ảnh hưởng bởi nhiễu, hiệu ứng dùng chung điện tích Với những lí do này mà các cổng ngưỡng NCL động ít được dùng trong các ứng dụng thực tế

Triển khai tĩnh của các mạch NCL có thể sử dụng điện áp rất thấp, dưới điều kiện điện áp thấp, chúng tiêu thụ năng lượng hay công suất rất thấp [30] Tuy nhiên, tốc độ xử lý rất chậm Vì vậy, các mạch NCL tĩnh chỉ thích hợp cho các ứng dụng năng lượng thấp mà không đòi hỏi nhiều về tốc độ xử lý và diện tích vi mạch Triển khai động của các mạch NCL sử dụng diện tích vi mạch ít hơn, tốc độ cao hơn Thuận lợi

Trang 38

của triển khai bán tĩnh là khả năng mẫn cảm với nhiễu, khi nhiễu là một vấn đề thì triển khai bán tĩnh của các mạch NCL sẽ được lựa chọn [25]

2.3 Định dạng file liberty của thư viện

File liberty hay gọi tắt là file lib, là file định dạng tiêu chuẩn công nghiệp được sử dụng để mô tả các cell thư viện của một công nghệ cụ thể nào đó, nó chứa mô hình thời gian và mô hình công suất, diện tích, chức năng, điều kiện hoạt động, … của các cell Về cơ bản, file lib là một tệp mô hình thời gian chứa độ trễ của cell, thời gian chuyển đổi cell, yêu cầu về thời gian setup và thời gian hold của cell File lib được tạo ra và cung cấp cho nhà thiết kế ASIC bởi nhà cung cấp thư viện cell chuẩn như TSMC, UVM, Global Foundries

File liberty của thư viện bất đồng bộ NCL gần giống với file liberty của thư viện đồng bộ, do hiện nay các công cụ tổng hợp thiết kế đều hỗ trợ cho thiết kế đồng bộ nên việc dựa trên định dạng file lib của thiết kế đồng bộ là rất cần thiết Thư viện bất đồng bộ không có các cell latch hoặc flip flop bởi vì chính bản thân các cell NCL đã có khả năng giữ trạng thái (dữ liệu) thông qua các cổng đảo hồi tiếp

Thông tin bên trong file lib có thể được chia thành hai phần chính, trong phần đầu tiên, nó chứa một số thông tin chung cho tất cả các cell tiêu chuẩn được thể hiện ở hình 2.13

Trang 39

Hình 2 13 Thông tin chung về file liberty của thư viện cell

Trong phần chung này, file liberty chứa

- Tên thư viện

- Giá trị của điều kiện hoạt động (quá trình, điện áp, nhiệt độ)

Thông thường, để đảm bảo cho mạch hoạt động đúng, các corner luôn được kiểm tra là fast-fast, typical-typical, slow-slow, slow-fast, và fast-slow đối

Ngày đăng: 31/07/2024, 09:16