TẬP ĐOÀN BƯU CHÍNH VIỄ N THÔNG VIỆT NAM HỌC VIỆ N CÔNG NGHỆ BƯU CHÍNH VIỄ N THÔNG
BÀI GIẢNG
THIẾT KẾ HỆ THỐNG VLSI Nhóm biên soạn: Phạm Văn Sự Đặng Hoài Bắc Mai Linh
HÀ NỘI – 2010
Lời nói đầ u Ngày nay, l ĩnh ĩnh vực thiết k ế điện tử đang có những bướ c tiến vượ t b ậc nhờ sự phát triển của các công ngh ệ ngu ồn. Tuy v ậy, ở Vi Vi ệt Nam, vi ệc trang b ị các kiến th ức và k ỹ năng ình đạo t ạo c ử nhân và k ỹ sư chưa đượ c quan tâm cơ bản của l ĩnh ĩnh vực này trong các chương tr ình đúng mức. Nhằm t ạo điều kiện thu ận lợ i cho việc h ọc tậ p và nghiên c ứu của sinh viên chuyên ngành Điện-Điện tử của Học viện Công ngh ệ Bưu chính Viễn thông, chúng tôi m ạo muội biên dịch cu ốn Bài giảng Thiế t k ế hệ thố ng ng VLSI . M ục đích của t ậ p bài gi ảng là giớ i thiệu v ớ i các ế h sinh viên chuyên ngành Điện - Điện t ử một cách chung nh ất các k ỹ thuật, các phương pháp tiế p cận tiên tiến trong thi ết k ế, sản xuất các chíp điệ n tử có mật độ tích hợ p cao và r ất cao. Từ đó, sinh viên có cơ hộ i làm quen và hi ểu bi ết những kiến thức, k ỹ năng cơ bản trong l ĩnh ĩnh vực thiết k ế điện tử. Nội dung c ủa cuốn bài giảng chia làm 5 chương: Chương 1: Giớ i thiệu về Hệ thố ng VLSI Chương 2: Các kỹ thuật thực hiện và cài đặt ràng buộc trong layout m ạch CMOS Chương 3: Thiết k ế lô-gíc và m ạch CMOS Chương 4: Thiết k ế hệ thống con CMOS Chương 5: Các phương pháp thiết k ế hệ thống VLSI Các chương 1,2 và 3 do giả ng viên Phạm Văn Sự biên so ạn. Các chương còn l ại do giảng viên Mai Linh và gi ảng viên Đặng Hoài B ắc biên soạn. Nội dung bài gi ảng chủ yếu đượ c biên soạn t ừ các cuốn tài liệu Modern VLSI Design: System-on-Chip Design c ủa tác giả Wayne Wolf do nhà xu ất bản Prentice-Hall ấn hành năm 2002, Principles of CMOS VLSI Design c ủa tác giả N. Weste và cộng sự do nhà xu ất b ản Addison Wesley ấn hành năm 1993, và Algorithms for VLSI Physical S herwani do nhà xu ất Physical Design Automation của tác giả Naveed Sherwani bản Kluwer Academic Publishers ấn hành năm 1999. Mặc dù vớ i s ự nỗ lực cố gắng h ết sức của nhóm tác gi ả cùng vớ i sự hỗ tr ợ ợ ttừ ban lãnh đạo Khoa K ỹ thuật Điện tử và Học viện, cuốn bài giảng ra đờ i trong m ột thờ i gian gấ p rút ch ắc chắn sẽ không tránh kh ỏi những nhầm lẫn và sai sót. Nhóm tác giả luôn mong mu ốn đượ c những đóng góp và ý kiến từ các sinh viên, những nhà khoa học để ngày càng hoàn thi ện hơn. Mọi góp ý g ửi về địa chỉ: Khoa K ỹ thuật Điện tử 1, Phòng 216 nhà A1, H ọc viện Công nghệ Bưu chính Viễn thông, Km10 Đườ ng ng Nguyễn Trãi. ội, ngày 2 Hà N ội,
tháng 7 năm 2010 Nhóm biên soạ n
ii
Danh mục các từ vi viết tắt ALU Arithmetic Logic Unit ASIC Application-Specific Integrated Circuit
Đơn vị lô-gic số họ c M ạch điện tử tích hợ p vớ i mục đích cụ thể CAD Computer-Aided Design Công cụ máy tính hỗ tr ợ thiết k ế ợ thi CISC Complex Instruction Set Computer Ki ến trúc tậ p lệnh phức tạ p CMOS Complementary Metal-Oxide Semiconductor Công ngh ệ bán dẫn-ô-xit-kim lo ại bù DSP Digital Signal Processing Xử lý tín hiệu số EBL Electron Beam Lithography Công ngh ệ khắc dòng tia điện tử FET Field-effect Transistor ng Transistor trườ ng HDL Hardware Description Language Ngôn ng ữ mô tả phần cứng IC Integrated Circuit M ạch tích hợ p LSI Large Scale Integration M ạch tích hợ p m ật độ lớ n MAS Micro-Architectural Specification Tiêu chí vi ki ến trúc MCM Multi-Chip Module Khối đa chíp MOS Metal-Oxide-Semiconductor Công ngh ệ bán dẫn - ô-xit - kim lo ại MSI Medium Scale Integration M ạch tích hợ p m ật độ trung bình MTF Mean of Time Failure Trung bình s ố lần thất b ại PCB Printed Circuit Board Bảng mạch in PLA Programmable Logic Array Dãy lô-gic kh ả trình PLD Programmable Logic Device Thi ết b ị lô-gic khả trình PR Photoresist Chất cản quang RAM Random Access Memory B ộ nhớ truy truy cậ p ngẫu nhiên RISC Reduced Instruction Set Computer Ki ến trúc tậ p lệnh thu g ọn ROM Read Only Memory B ộ nhớ ch chỉ đọc RTL Register Transfer Level M ức truyền đạt thanh ghi SLI System level Integration M ạch tích hợ p m ức hệ thống
SoC SOI SSI TTL ULSI UV VLSI
System on Chip Silicon on Insulator Small Scale Integration Transistor-Transistor Logic Ultra l arge Scale Integration Ultraviolet Very Large Scale Integration
Hệ thống trên chíp đơn Công ngh ệ si-líc trên tấm cách điệ n M ạch tích hợ p m ật độ thấ p ng cực Transistor lưỡ ng M ạch tích hợ p m ật độ cực lớ n Tia cực tím M ạch tích hợ p m ật độ r ất lớ n
iii
Mục lục Lời nói đầu ............................................................................................................................ ii Danh mục các từ viết tắt........................................................................................................iii Mục lục................................................................................................................................. iv Chương 1 Giớ i thiệu về Hệ thống VLSI ................................................................................ 1 1.1 Lịch sử chung ............................................................................................................... 1 1.2 Chu trình thiết k ế VLSI ................................................................................................ 3 1.2.1 Chu trình thi ết k ế VLSI cơ bản .............................................................................. 3 1.2.2 Các xu th ế mớ i trong Chu trình thi ết k ế VLSI ........................................................ 8 Chương 2 Các kỹ thuật thực hiện và cài đặt ràng bu ộc trong layout m ạch CMOS................ 12 2.1 Giớ i thiệu công nghệ bán d ẫn si-líc............................................................................. 12 2.1.1 Quá trình t ạo Wafer - Wafer processing ............................................................... 12 2.1.2 Ô-xi hóa – Oxidation ........................................................................................... 13 2.1.3 Khu ếch tán lựa chọn - Selective diffusion ............................................................ 14 2.1.4 Quá trình t ạo cổng si-líc - The silicon gate process .............................................. 15 2.2 Công ngh ệ CMOS ...................................................................................................... 16 2.2.2 Quá trình t ạo p-well............................................................................................. 17 2.2.3 Quá trình t ạo n-well ............................................................................................. 21 2.2.4 Quá trình t ạo ống đôi ........................................................................................... 23 2.2.5 Si-líc trên t ấm cách điện ...................................................................................... 24 2.3 Các tính chất của transitor .......................................................................................... 28 2.3.1 Cấu trúc của một transistor .................................................................................. 28 2.3.2 Mô hình transistor đơn giản ................................................................................. 29 2.3.3 Các tham s ố ký sinh của transistor ....................................................................... 31 2.4 Dây k ết nói, via, ký sinh ............................................................................................. 32 2.4.1 Giớ i thiệu chung .................................................................................................. 32 2.4.2 Các tham s ố ký sinh của dây d ẫn ......................................................................... 33 2.4.3 Hiệu ứng bề mặt trên các k ết nối đồng ................................................................. 36 2.5 Các ràng bu ộc trong thiết k ế layout ............................................................................ 37 2.5.1 Các biểu diễn lớ p ................................................................................................. 39 2.5.2 Các ràng bu ộc dựa trên lambda cho quá trình p-well ............................................ 40 2.5.3 Các lu ật dựa trên cho quá trình Si-líc trên t ấm cách ly ...................................... 47 2.5.4 Các lu ật thiết k ế lớ p kim loại đôi ......................................................................... 48 2.5.5 Tổng k ết các ràng bu ộc thiết k ế ........................................................................... 48 2.6 Thông s ố hóa quy trình ............................................................................................... 49 2.6.1 Các lớ p tr ừu tượ ng............................................................................................... 49 2.6.2 Các lu ật về khoảng cách ...................................................................................... 49 2.6.3 Các lu ật xây d ựng ................................................................................................ 49 Chương 3 : Thiết k ế lô-gíc và m ạch CMOS......................................................................... 53 3.1 Giớ i thiệu chung ......................................................................................................... 53 3.2 Cấu trúc lô-gíc CMOS ................................................................................................ 54 3.2.1 Lô-gic bù CMOS ................................................................................................. 54 iv
3.2.2 Lô-gic gi ả nMOS................................................................................................. 55 3.2.3 Lô- gics CMOS độ ng............................................................................................ 56 3.2.4 Lô- gic CMOS định thờ i ....................................................................................... 60 3.2.5 Lô- gic đô-mi-nô CMOS....................................................................................... 60 3.2.6 Lô-gic chuy ển mạch điện áp cascade ................................................................... 62 3.2.7 Lô- gic đô-mi-nô c ải tiến ...................................................................................... 63 3.2.8 Lô-gic transistor thông qua - Pass transistor logic ................................................ 65 3.3 Thiết k ế điện và vật lý các cổng lô-gíc ........................................................................ 67 3.3.1 Cổng đảo – Inverter ............................................................................................. 67 3.3.2 Thiết k ế cổng NAND........................................................................................... 72 3.3.3 Thiết k ế cổng NOR.............................................................................................. 73 3.4 Các chiến lượ c clock trong thiết k ế ............................................................................. 75 3.4.1 Chiến lược đồng hồ 2-pha gi ả - Pseudo 2-phase clocking..................................... 75 3.4.2 Chiến lược đồng hồ 2-pha - 2-phase clocking ...................................................... 77 3.4.3 Chiến lược đồng hồ 4-pha.................................................................................... 77 3.4.4 Chiến lược đồng hồ giả 4-pha .............................................................................. 77 3.5 Cấu trúc vào ra (I/O) .................................................................................................. 78 3.5.1 Tổ chức chung..................................................................................................... 78 3.5.2 Các chân đế VDD và VSS ...................................................................................... 80 3.5.3 Các chân đế đầu ra............................................................................................... 80 3.5.4 Các chân đế đầu vào............................................................................................ 81 3.5.5 Các chân đế 3 tr ạng thái....................................................................................... 83 3.5.6 Các chân đế hai tr ạng thái.................................................................................... 83 Chương 4 Thiết k ế các hệ thống con CMOS........................................................................ 84 4.1 Giớ i thiệu ................................................................................................................... 84 4.2 Bộ cộng và các hàm liên quan .................................................................................... 84 4.2.1 Bộ cộ ng tổ hợ p - Combinational Adder................................................................ 84 4.2.2 Bộ cộ ng tổ hợp độ ng............................................................................................ 88 4.2.3 Sự truyền của bộ cộng cực cửa ............................................................................ 89 4.2.4 Bộ cộng mang khóa đầu....................................................................................... 91 4.2.5 Bộ cộ ng mang Manchester ................................................................................... 94 4.2.6 Bộ cộng khóa đầu mang nhị phân ........................................................................ 96 4.2.7 Bộ cộ ng lựa chọn mang ..................................................................................... 101 4.2.8 Bộ khở i tạo kiểm tra ngang b ậc (parity) ............................................................. 101 4.2.9 Bộ so sánh ......................................................................................................... 102 4.3 Bộ đếm nhị phân ...................................................................................................... 104 4.3.1 Bộ đếm không đồ ng bộ ...................................................................................... 104 4.3.2 Bộ đếm đồ ng bộ ................................................................................................ 104 4.4 Bộ nhân .................................................................................................................... 106 4.5 Bộ ghi d ịch............................................................................................................... 119 4.6 Bộ nhớ ..................................................................................................................... 122 4.6.1 Giớ i thiệu .......................................................................................................... 122 v
4.6.2 SRAM ............................................................................................................... 124 4.6.3 DRAM .............................................................................................................. 127 4.6.4 ROM ................................................................................................................. 128 4.6.5 Bộ nhớ Flash ..................................................................................................... 129 4.6.6 PLA................................................................................................................... 131 4.7 Đườ ng dữ liệu - Data paths....................................................................................... 132 Chương 5 Các phương pháp Thiết k ế hệ thống VLSI ........................................................ 133 5.1 Giớ i thiệu ................................................................................................................. 133 5.2 Thiết k ế cấu trúc và Testing ...................................................................................... 134 5.2.1 Các chi ến lượ c thiết k ế cấu trúc ......................................................................... 134 5.2.2 Testing .............................................................................................................. 137 5.3 Hệ thống layout ........................................................................................................ 143 5.3.1 Layout kí hi ệu lướ i thô ...................................................................................... 143 5.3.2 Layout ma tr ận cổng .......................................................................................... 145 5.3.3 Layout hình que ................................................................................................. 148 5.3.4 Layout kí hi ệu lướ i ảo ........................................................................................ 148 Tài liệu tham khảo ............................................................................................................. 151
vi
Chương 1 Giớ i thiệu về Hệ thống VLSI 1.1 Lịch sử chung Trong suốt nửa đầu thế k ỷ 20, các m ạch điện tử thườ ng sử dụng các bóng điệ n tử dạng ống chân không (vacuum tubes) có kích thướ c r ất lớn, đắt đỏ và tiêu t ốn r ất nhiều năng lượ ng. Tuy nhiên, ngày nay cùng v ớ i sự phát triển của khoa học k ỹ thuật là sự xu ất hiện của các thiết bị điện tử bán d ẫn r ờ i r ạc ch ẳng hạn như transistor lưỡ ng c ực (TTL), transistor trườ ng (FET) đã cho phép vi ệc tích hợ p m ột số, thậm chí là nhi ều mạch điện tử trong một chíp duy nh ất tạo thành các m ạch điện t ử t ổ hợ p (IC - Integrated Circuit). Năm 1965, Gordon Moore đ ã ch ỉ ra số lượ ng transistor có thể đượ c chế tạo một cách kinh t ế trên m ột chíp đơn thông qua luậ t Moore. Theo lu ật này, số lượ ng transistor trong m ột chíp đơn được nhân đôi cứ sau 18 tháng. Hình 1.1 [10] ch ỉ ra sự tăng mạnh của số lượ ng transistor trong các chíp vi x ử lý của hãng Intel, IBM,...
Hình 1.1 Sự tăng nhanh của số lượ ng transistor trong các chíp vi xử lý
Về cơ bản, các IC số có thể được phân chia theo độ phức tạ p của chúng được đo lườ ng bằng số cổng lô-gíc ho ặc số transistor trong m ột chíp đơn. Vớ i chíp có số cổ ng lô-gíc độc lậ p nhỏ hơn 10 đượ c g ọi là các mạch tích hợ p t ỷ lệ thấ p (SSI - Small Scale Integration). N ếu số cổng trong m ột chíp đơn từ 10-100 thì các m ạch tích hợp đó đượ c gọi là các mạch có t ỷ lệ tích hợ p trung bình (MSI - Medium Scale Integration). Các b ộ giải mã, b ộ cộng, bộ so sánh là các ví d ụ điển hình c ủa MSI. Vớ i các mạch tích hợ p tỷ lệ lớ n (LSI - Large Scale Integration), s ố lượ ng cổng trong m ột chíp đơn thườ ng từ 100-1000. Các h ệ thống điện tử số như là các bộ vi xử lý c ổ điển, các chíp nh ớ , các thiết b ị lô-gíc khả trình (PLD) là các ví d ụ điển hình của LSI. Đến cu ối những năm 70, các hãng sản xuất đ ã chế tạo thành công các chíp tích h ợ p t ỷ l ệ r ất lớ n (VLSI - Very Large Scale Integration) có hàng ngàn c ổng lô-gíc chẳng hạn như các chíp xử lý củ a máy tính cá nhân 80186, 80286. T ừ đó cho đến nay, s ố lượ ng cổ ng tích hợ p thành
công của chíp tăng rất nhanh và vượt ngưỡ ng 10 triệu c ổng. Và chúng ta đang chứng kiến sự xuất hiện c ủ a các m ạch tích hợ p tỷ lệ cực lớ n (ULSI - Ultra Large Scale Integration), m ạch tích hợ p mức hệ thống (SLI - System Level Integration), h ệ thố ng trên m ột chíp (SoC System-on-Chip). S ự phân lo ại sơ lượ c trên có thể tóm tắt bằng bảng 1.1 [11]. Bảng 1.1 Phân lo ại cơ b ản các hệ thống mạch tích hợ p Phân lo ại
Thờ i gian
M ật độ (cổng lô-gic)
Transistor đơ n
1959
1
Cổng lô-gic
1960
1
SSI
1964
10
MSI
1967
10-100
LSI
1972
100-1000
VLSI
1978
1000-10000
ULSI
1980
10000
SLI/SoC
1990-
>10 triệu
Hình 1.2 Sự phát triển của công nghệ nền
2
Cùng vớ i s ự tăng nhanh về số lượ ng c ổng lô-gíc có th ể tích hợ p trong m ột chíp đơn, tốc độ làm việc của các mạch tổ hợ p cũng tăng rất nhanh. Điều này đạt đượ c là do nh ững thành tựu vượ t bậc về công nghệ bán d ẫn. T ừ nh ững năm 60 các chíp điệ n t ử đượ c sản xuất trên các công nghệ đế cỡ chục mi-cron ( ), đến năm 2006 là các công nghệ đế 60nm. Sự phát triển củ a công nghệ nền đượ c minh họ a trong hình 1.2 [10]. Các hệ thống VLSI hiện đại không chỉ đượ c thiết k ế vớ i quy mô và kích c ỡ r ất lớ n, tốc độ làm việc nhanh mà còn đượ c thiết k ế vớ i yêu cầu tiêu hao năng lượ ng thấ p. Vớ i các thiết b ị hoạt động dựa trên ngu ồn cung cấ p là pin hay ắc qui thì vi ệc thiết k ế tiêu hao năng lượ ng thấ p là v ấn đề s ố ng còn của thiết b ị. Đối vớ i các hệ thống VLSI kích thướ c nhỏ thì việc tiêu hao năng lượ ng quá mức sẽ d ẫn đến v ấn đề khó khăn trong việc tỏa nhiệt (lead to heat problem). Hình 1.3 [10] minh h ọa công su ất tỏa nhiệt củ a các dòng chíp vi x ử lý Intel.
Hình 1.3 Công suất tỏa nhiệt c ủa các chíp vi xử lý Intel
1.2 Chu trình thiết kế VLSI Chu trình thiết k ế hệ thống VLSI b ắt đầu bằng việc định ra các ch ỉ tiêu k ỹ thuật của mộ t chíp VLSI, sau khi tr ải qua một loạt các bước để đi đến cuối cùng là s ản xuất và đóng gói chíp. Chu trình thi ết k ế hệ thống VLSI thông thường đượ c mô tả trong hình 1.4 [9]. Trong phần này, chúng ta s ẽ xem xét mộ t cách tóm t ắt yêu cầu và mục đích của các bước trong sơ đồ. 1.2.1 Chu trình thiết kế VLSI cơ bản 1) Xác định chỉ tiêu k ỹ thuật của hệ thống - System Specification Cũng giống như bất cứ một quá trình thiết k ế nào khác, bước đầu tiên c ủa chu trình thiết k ế h ệ th ống VLSI là đưa ra các chỉ tiêu k ỹ thuật của hệ thống. Các chỉ tiêu k ỹ thuật củ a h ệ thống là một bi ểu diễn ở m ức cao của hệ thống. Trong quá trình này, các y ếu tố thường đượ c quan tâm bao g ồm: chất lượ ng ho ạt động c ủ a hệ thống, các tính năng, và kích thướ c vật lý (kích thướ c c ủa die (nhân chip)) c ủa hệ thống. Ngoài ra, c ũng cần quan tâm đến các k ỹ thuật thiết k ế, công ngh ệ s ử dụng để sản xuất chip. Xác định chỉ tiêu k ỹ 3
thuật của một hệ thống là bướ c sự thỏa hiệ p (compromise) giữa các yêu c ầu của thị trườ ng, công ngh ệ và tính khả thi về m ặt thương mại (economical viability). K ết qu ả của giai đoạn này là các thông s ố c ần thiết v ề kích cỡ , tốc độ, công suất cũng như là các tính năng của hệ thống.
Hình 1.4 Lược đồ đơn giản của chu trình thiết k ế hệ th ống VLSI
4
2) Thiết kế kiến trúc của hệ thống - Architectural Design Giai đoạn này thực hiện việc thiết k ế kiến trúc cơ bản của h ệ thống. Các vấn đề cần quan tâm trong thi ết k ế kiến trúc cơ bản của hệ th ống là việc lựa chọn gi ữa kiến trúc t ậ p lệnh đượ c gi ảm nhỏ (RISC - Reduced Instruction Set Computer) hay ki ến trúc tậ p lệnh phức tạ p (CISC - Complex Instruction Set Computer), sô lượ ng các bộ lô-gíc số học (ALU), các đơn vị d ấu ph ẩy động (floating point unit), s ố lượ ng và cấu trúc các pipeline, và kích cỡ của bộ nhớ đệm (caches). K ết quả của quá trình này là m ột MicroArchitectural Specification (MAS). M ặc dù MAS ch ỉ là mô t ả hệ thống ở d ạng chữ (a textual (english like) description), các ki ến trúc sư có thể dự đoán mộ t cách chính xác chất lượ ng hoạt động, công su ất và kích thướ c c ủa h ệ thố ng thi ết k ế dựa trên bản mô t ả này. Các ước đoán này đượ c d ựa trên t ỷ lệ (the scaling) c ủa các thiết k ế đã có hoặc các phần tử của các thiết k ế đã có. Do hầu hết các thiết k ế, nhất là vớ i các thiết k ế bộ vi xử lý, thườ ng d ựa trên việc thay đổi hoặc mở r ộng các thiết k ế đã có, các ước đoán dựa trên b ản mô t ả MAS có thể cho k ết qu ả bước đầu khá chính xác. Các ước lượng bước đầu này có vai trò quyết định đến vi ệc xác định tính kh ả thi của sản phẩm trong giai đoạn đưa sả n phẩm ra thị trương (giai đoạn thương mại hóa sản ph ẩm - a market segment). L ấ y ví d ụ, vớ i các sản phẩm máy tính (chẳng hạn như máy tính xách tay), yêu cầ u tiêu thụ công su ất thấ p là m ộ t yêu cầu tối quan tr ọng vì dòng s ản ph ầm này bị hạn chế về thờ i gian sử dụng của pin. Các ước lượng ban đầ u d ựa trên kiến trúc hệ thống còn có th ể đượ c s ử d ụng để quyết định xem thi ết k ế đưa ra có chắc ch ắn đảm b ảo đượ c yêu c ầu về ch ỉ tiêu công su ất tiêu thụ hay không. 3) Thiết kế chức năng hoặ c hoạt động của hệ thống - Behavioral or Functional Design Bướ c này thực hiện vi ệc xác định (identify) các kh ối ch ức năng chính củ a hệ th ống. Bên cạnh đó cũng xác định các yêu c ầu k ết nối giữa các khối chức năng đó. Cùng vớ i việc định ra các kh ối chức năng thì độ lớ n diện tích, công su ất tiêu thụ và một loạt các tham số khác của mỗi khố i chức năng cũng cần được ước lượng. Sau đó các khía cạ nh hoạt động tổng quát của hệ thống đượ c xem xét mà không c ần phải chi tiết hóa các thông tin về việc th ực hi ện cụ thể các khối. Chẳng hạn, chúng ta có th ể quy định r ằng hệ thống sẽ thực hiện một phép nhân, tuy nhiên ở đây chưa cần thiết phải định rõ là phép nhân trong hệ nào. Chúng ta có th ể sử dụng các b ộ nhân c ứng (multiplication hardware) tùy thuộc vào các yêu c ầu về tốc độ và k ích thướ c từ (word). Điều chính yếu ở đây là định ra hoạt động củ a hệ thống ở d ạng đầu vào, đầu ra và đị nh thờ i c ủa mỗi khối mà không c ần quan tâm đến c ấu trúc bên trong c ủa m ỗi khối. K ết quả của quá trình thi ết k ế các chức năng thườ ng là một sơ đồ định thờ i hoặc là các m ối quan hệ giữa các khối chức năng. Các thông tin thu đượ c này giúp cải thiện quá trình thiết k ế tổng thể và giảm nhỏ sự phức tạ p của các quá trình thi ết k ế tiế p sau. Thiết k ế chức năng hoặc hoạt động c ủa hệ thống cung c ấ p một mô phỏng (emulation) nhanh c ủa hệ thống và cho phép rà soát l ỗi (debugging) toàn b ộ hệ thống m ột cách nhanh chóng. Quá trình thi ết k ế ch ức năng phần lớn đượ c thực hiện một cách thủ công vớ i sự tr ợ giúp một phần nhỏ hoặc hoàn toàn không có sự hỗ tr ợ tự động từ các công cụ hỗ tr ợ sẵn có. 5
4) Thiết kế lô-gic - Logic Design Trong giai đoạn thiết k ế này, các chu trình điều khiển, độ r ộng của từ, vị trí các thanh ghi, các phép toán s ố học, và các phép toán lô-gíc c ủa thiết k ế dướ i dạng các thiết k ế chức năng đượ c suy ra (drive) và th ử nghiệm. Mô tả này đượ c gọi là mô t ả mức truyền đạ t thanh ghi (RTL - Register Transfer Level). Mô t ả RTL đượ c bi ểu diễn b ở i các ngôn ngữ mô tả phần cứng (HDL - Hardware Description Language) ch ẳng hạn như VHDL hay Verilog. Mô t ả này có thể đượ c dùng trong mô ph ỏng và kiểm tra tính đúng đắn của thiết k ế. Mô t ả này bao g ồm các biểu th ức Boolean và các thông tin định thờ i. Các biểu thức Boolean đượ c tối thiểu hóa để nhằm thu đượ c cấu trúc lô-gíc nh ỏ nhất có chức năng giống như chức năng đượ c thiết k ế. Thiết k ế lô-gíc của hệ thống đượ c mô phỏng và đượ c kiểm tra để xác nhận tính đúng đắn của nó. Trong m ột số trườ ng hợp đặc biệt, thiết k ế lôgíc có thể đượ c thực hiện một cách tự động b ằng cách sử dụ ng các d ụng cụ tổng hợ p mạch b ậc cao. Các d ụng c ụ hỗ tr ợ sẽ t ạo ra một mô tả RTL từ các mô tả ch ức năng của thiết kê. 5) Thiết kế mạch của hệ thống - Circuit Design Mục đích củ a việc thiết k ế m ạch là phát tri ển một mạch điện cụ thể d ựa trên thiết k ế lô-gíc đã có ở bước trước đó. Các biểu thức Boolean đượ c chuyển đổi sang biểu diễn mạch điện thông qua vi ệc xem xét đế n các yêu c ầu về tốc độ và công su ất tiêu thụ của thiết k ế ban đầu. Tính đúng đắn và đị nh thờ i của mỗi thành phần đượ c kiểm tra thông qua việc mô phỏ ng mạch. K ết quả củ a thiết k ế mạch là các sơ đồ mạch điện. Sơ đồ mạch trình bày các phần tử của mạch như các ô (cells), các macros, các cổ ng (gate), các transistor và các k ết nối giữa các phần t ử này. Biểu diễn này thườ ng còn đượ c gọi là một netlist. Các công c ụ đượ c sử dụng để nhậ p các mô tả này một các thủ công đượ c gọi là các công cụ thể hiện sơ đồ (schematic capture). Trong nhi ều trườ ng hợ p, một netlist có thể đượ c tạo ra một cách tự động từ một mô tả RTL lô-gíc b ằng việc sử dụng một số công cụ tổng hợ p lô-gíc. 6) Thiết kế vật lý - Physical Design Sau khi thi ết k ế m ạch c ủ a hệ thống đ ã hoàn thành, chúng đượ c chuyển đổi sang các biểu diễn hình h ọc. Nói cách khác, bướ c thiết k ế vật lý thực hiện sắ p xế p và tr ải (layout) các thành ph ần của m ạch. Việc này đượ c thực hiện thông qua vi ệc chuyển đổi mỗ i thành phần m ạch điện sang d ạng biểu diễn hình học (cụ th ể hóa hình d ạng và lớp) tương ứng. Bướ c thiết k ế vật lý này cũng thực hiện việc chuyển đổi các k ết nối giữa các phần tử sang dạng biểu diễn hình học là các đườ ng dẫn nhiều l ớ p. Tính chi ti ết và chính xác c ủa layout phụ thuộc vào các ràng bu ộc thiết k ế được quy định b ở i các công nghệ s ử d ụng cho việc sản xu ất c ũng như các tính chất điệ n c ủa v ật li ệu đượ c sử dụng trong sản xuất. Quá trình thiết k ế vật lý là m ột quá trình ph ức t ạp và thường đượ c chia nhỏ thành nhi ều quá trình con. Trong quá trình thi ết k ế vật lý, nhi ều phép ki ểm định và ki ểm tra tính hợ p lệ đượ c thực hiện. Do tính ph ức tạ p của quá trình thi ết k ế vật lý của các d ự án lớ n, nên trong m ột số trườ ng hợ p k ết quả của thiết k ế v ật lý có thể đượ c thiết k ế tự động hoàn toàn ho ặc một phần và layout c ủa mạch có thể đượ c tạo tr ực tiế p từ netlist nhờ các công c ụ tổng h ợ p layout. Hầu hết các layout của các thiết k ế có yêu cầu chất lượ ng v ừa phải ho ặc có yêu 6
cầu thờ i gian từ sản xuất đến thị trườ ng ngắn đều đượ c thực hiện tự động. Tuy vậ y, layout của mộ t số chíp có yêu c ầu cao trong thi ết k ế (chẳng hạn như các bộ vi xử lý) thường đượ c thiết k ế thủ công. Việc thực hiện layout thủ công thườ ng chậm và t ốn r ất nhiều công s ức, nhưng bù lại cho k ết quả tốt hơn về mặt diện tích là chất lượ ng so vớ i việc thực hi ện tự động b ằng các công c ụ thiết k ế. M ặc dù vậy, điểm m ạnh này tr ở thành mờ nhạt khi chúng ta ph ải thực hiện các d ự án thiết k ế lớ n, các d ự án thiết k ế mà ở đó việc nắm rõ và đạt đượ c giải pháp tối ưu hóa toàn hệ thống vượ t qua cả khả năng củ a con ngườ i. 7) Sản xuất chíp - Fabrication Sau khi thực hiện thiết k ế layout và ki ểm tra tính đúng đắ n c ủa thiết k ế, thiết k ế đã sẵn sàng cho vi ệc sản xuất. Các dữ liệu layout thường đượ c gửi tớ i các phòng s ản xuất (fab) ở dạng các băng (ta pe), và quá trình này th ường đượ c gọi là quá trình xu ất băng (Tape Out). Các d ữ liệu layout đượ c chuyển đổi (ho ặc phân chia - fractured) thành các mặt nạ quang khắc (photo-lithographic mask) cho các l ớp tương ứng. Các mặt nạ xác định kho ảng không gian trên t ấm wafer mà vùng đó các loại vật liệu nhất định cần đượ c lắng đọng (deposite), khu ếch tán (diffuse) ho ặc thậm chí đượ c lo ại bỏ. Chúng ta đ ã bi ết, các tinh thể si-líc đượ c hình thành và c ắt gọt để t ạo thành các t ấm wafer. Do đó, để s ản xuất các chíp VLSI với kích thướ c cực k ỳ nhỏ các tấm wafer đượ c yêu cầu phải đượ c đánh bóng gần tuyệt đối.Quá trình s ản xuất bao gồm một số bước liên quan đế n việc lắng đọng (deposite), và khu ếch tán một số lo ại vật li ệu khác nhau trên t ấm wafer. Trong m ỗi bướ c mộ t m ặt nạ đượ c sử d ụng. Thườ ng thì mộ t quá trình s ản xu ất c ần đến hàng tá m ặt nạ. Trước khi các chíp đượ c sản xuất hàng lo ạt, ngườ i ta sản xuất thử nghiệm và kiểm tra bản thử (prototype) c ủa chíp. Một tấm wafer có đườ ng kính 20cm (8 inch) có th ể sử dụng để sản xuất ra hàng trăm chíp tùy thuộc vào kích thướ c các chíp. Ngày nay, công nghi ệ p sản xuất chíp điện tử đang chuyể n nhanh sang công ngh ệ sử dụng các tấm wafer có đườ ng kính cỡ 30cm (12 inch) nh ằm cho phép s ản xuất nhiều chíp hơn trong mộ t lần dẫn wafer (per wafer leading) nh ằm giảm giá thành s ản xuất. 8) Đóng gói, kiểm tra và debugging - Packaging, testing and debugging Sau khi các chíp đượ c sản xuất trên tấm wafer, chúng đượ c cắt riêng r ẽ. Mỗi chíp được đóng gói và kiểm tra để đảm bảo r ằng chúng thỏa mãn các ch ỉ tiêu k ỹ thu ật thiết k ế cũng như hoạt động đúng vớ i các chức năng thiết k ế. Các chíp sử dụng trong các b ảng mạch in (PCB - Printed Circuits Boards) được đóng gói trong gói hai hàng chân (Dual Inline Package), ho ặc v ớ i m ảng lướ i các chân (Pin Grid Array), ho ặc vớ i m ảng lướ i các đầu (Ball Grid Array) ho ặc trong gói ph ẳng vuông (Quad Flat Package). Các chíp đượ c sử d ụng trong các kh ối đa chíp (Multi-Chip Modules) thì không c ần đóng gói, bở i vì các chíp MCM thường đượ c sử dụng tr ần. Chúng ta cũng cần chú ý r ằng d ự án thiết k ế một chíp VLSI ph ức tạ p cũng chính là mộ t dự án qu ản lý nhân lực ph ức t ạ p. B ở i vì các d ự án l ớn thườ ng yêu c ầu s ố lượ ng hàng vài trăm kỹ sư làm việc trong vòng hai đến ba năm. Các dự án như vậ y không ch ỉ yêu cầu sự có mặt của các k ỹ sư thiết k ế kiến trúc, các k ỹ sư thiết k ế mạch, các chuyên gia thi ết k ế vật lý mà còn cả các k ỹ sư thiết k ế tự động. Và thườ ng thì việc thiết k ế thường đượ c phân chia theo các 7
khối chức năng và các khối này đượ c th ực hiện bở i các nhóm khác nhau. Ở mỗi thời điểm, các nhóm khác nhau có th ể không ở trong cùng m ột pha (m ức) trong quá trình thi ết k ế. Nói mộ t cách khác, trong khi m ột nhóm đang ở giai đoạn thiết k ế lô-gic, thì nhóm khác có th ể đã hoàn thành xong giai đoạ n thiết k ế vật lý. Điều này t ạo ra một vấn đề khó khăn cho các công cụ thiết k ế m ức độ chip vì chúng ph ải làm việc vớ i các d ữ liệu không toàn ph ần (partial data) ở mức độ chíp. Chu trình thiết k ế hệ thống VLSI là m ột chu trình l ặ p, c ả ngay trong một bướ c thiết k ế và giữa các bướ c thiết k ế các nhau. Toàn b ộ chu trình thiết k ế có thể được xem như các biế n đổi (transformation) c ủa các biểu điễn (representation) trong các bướ c khác nhau. Trong m ỗi bướ c, một biểu diễn mớ i của hệ thống đượ c tạo ra và đượ c phân tích. Bi ểu diễn này đượ c nâng c ấ p liên t ục để thỏa mãn các chỉ tiêu k ỹ thu ật hệ thố ng. Chẳng hạn, một layout đượ c nâng cấ p và c ải thiện liên tục sao cho nó th ỏa mãn các ch ỉ tiêu k ỹ thuật về định thờ i của hệ thống. Một ví dụ khác là việc phát hiện các vi phạm các ràng bu ộc thiết k ế trong quá trình kiểm tra tính đúng đắ n của thiết k ế. Nếu các vi ph ạm đó đượ c phát hiện, thì bướ c thiết k ế vật lý cần đượ c th ực hiện lại để sửa lỗ i này. Mục đích của các công c ụ máy tính hỗ tr ợ thiết k ế (CAD) là giảm nhỏ th ờ i gian cho mỗi bướ c lặ p và giảm nhỏ tổng số bướ c lặ p yêu cầu, từ đó làm ngắn đi thờ i gian tung s ản phẩm ra thị trườ ng. 1.2.2 Các xu thế mớ i trong Chu trình thiết kế VLSI Trong phần trên, chúng ta mô t ả một chu trình thi ết k ế h ệ thống VLSI đơn giản và cơ bản nhất. Tuy nhiên, xu hướ ng công nghệ là một quá trình phát tri ển không ngừng. Trong thực t ế, có r ất nhiều xu thế m ớ i trong công nghi ệ p sản xu ất chíp điện t ử được đưa ra đã làm thay đổi lớ n chu trình trên. Trong đó phải k ể đến là: 1) Tăng trễ liên k ết - Increasing interconnect delay Mặc dù quá trình s ản xuất đượ c cải tiến, k ết nối (interconnect) không đượ c tỷ lệ cùng tốc độ vớ i các thiết b ị. Các thiết bị ngày càng có kích thướ c nhỏ và ho ạt động nhanh hơn, trong khi đó các kế t n ối không b ắt k ị p tốc độ này. K ết qu ả là, gần 60% tr ễ đườ ng truyền là do các k ết nối. Một giải pháp cho v ấn đề tr ễ k ết nối và tính toàn v ẹn của tín hiệu là chèn các bộ phát lặp (repeater) vào trong các đườ ng dây d ẫn dài. Trong thực tế, các b ộ phát l ặ p là cần thiết cho hầu h ết các mạng ở m ức độ chíp. K ỹ thuật chèn bộ phát lặ p yêu cầu phải có k ế hoạch từ trướ c vì diện tích cho các b ộ phát lặ p ph ải được định vị trướ c. 2) Tăng diện tích k ết nói - Increasing interconnect area Ngườ i ta thống kê đượ c r ằng v ớ i một die vi xử lý chỉ có kho ảng 60-70% di ện tích củ a nó là các thi ết b ị tích cực. Phần di ện tích còn lại c ần đượ c cung cấ p cho k ết n ối. Và vùng diện tích này là nguyên nhân d ẫn đến sự suy giảm ch ất lượ ng ho ạt động của mạch. Trong các thế hệ m ạch tích hợp đầu tiên, hàng vài trăm transistor đượ c k ết nố i vớ i nhau bằng cách sử d ụng một lớ p kim loại. Khi số lượ ng transisto r tăng lên, diện tích vùng k ết nối tăng theo. Tuy nhiên, bằ ng việc đưa vào mộ t lớ p kim lo ại thứ hai, diện tích vùng k ết nối đượ c giảm đi. Phương pháp này đ ã tr ở thành xu th ế giữa độ phức tạ p thiết k ế và số lượ ng lớ p kim lo ại. Trong các thi ết k ế hiện nay, vớ i xấ p xỉ $10$ tri ệu transistor và b ốn đế n sáu lớ p kim lo ại, ngườ i ta thấy r ằng chỉ còn kho ảng $40\%$ di ện tích của chíp đượ c dành cho k ết nối. M ặc dù việc tăng số lượ ng các lớ p kim loại cho phép giảm kích thướ c 8
die, điều này không có ngh ĩa là càng tăng số lượ ng các lớ p kim lo ại (lớn hơn một số lượ ng l ớ p nhất định nào đó) thì di ện tích vùng k ết nố i càng gi ảm. Điều này là do khi s ố lớ p kim lo ại tăng cao, đồ ng ngh ĩa vớ i không gian chi ếm d ụng bở i các via ở các lớ p phía dưới tăng.
3) Tăng số lượ ng lớ p kim loại - Increasing number of metal layers Để thỏa mãn sự tăng cao của yêu c ầu k ết nối, số lượ ng các lớ p kim loại sẵn sàng cho các k ết nối tăng lên. Hiện nay, phổ biến trong h ầu hết các thiết k ế là ba lớ p kim loại, riêng đối vớ i các thiết k ế các chíp vi xử lý là bố n hoặc năm lớ p. T ừ đây, nả y sinh nhu c ầu cần có các quan sát ba chi ều của các k ết nối trong quá trình thi ết k ế. 4) Tăng các yêu cầ u hoạch định trướ c - Increasing planning requirements Một vấn đề r ất quan tr ọ ng cần quan tâm khi tăng trễ k ết n ối, diện tích của die dùng cho k ết nối, và tăng số lượ ng lớ p kim lo ại đó là vị trí tương đối giữa các thiết b ị. Các chú ý thiết k ế vật lý này phải được đưa vào trong quá tr ình thiết k ế ở những pha sớ m nhất. Trong thực tế, quá trình thi ết k ế chức năng thườ ng phải bao gồm cả việc hoạch định vị trí chíp. Việc này bao g ồm hai bướ c quan tr ọng là: ho ạch định khối (block planning) và hoạch định tín hi ệu (signal planning). Ho ạch định khối thực hiện việc gán các hình d ạng và các vị trí cho các khối chức năng. Hoạch định tín hiệu tham chiếu (refer) t ớ i các phân công (assignment) c ủa các vùng ba chi ều qua đó các bus chính và các tín hiệu được đị nh tuyến (route). Trong giai đoạ n này, thờ i gian cũng cần được ước lượng để đảm b ảo tính hợ p lệ của hoạch định chíp. Bở i vì ho ạch định này cũng phải phải đượ c sử d ụng để tạo giớ i hạn về thời gian cho các giai đoạn thiết k ế tiếp sau đó. 5) Tổng hợ p - Synthesis Thờ i gian yêu c ầu để thiết k ế bất cứ khối nào có th ể đượ c giảm nhỏ nếu layout có th ể đượ c t ạo một cách tr ực tiế p hoặc tổng h ợ p từ một mô tả mức cao. Điều này không ch ỉ giảm nhỏ th ờ i gian thiết k ế, mà nó còn lo ại b ỏ các lỗi do con ngườ i m ắc phải. Tuy vậ y, việc thực hiện tổng hợ p mạch tự động gặ p ph ải một hạn chế là vùng di ện tích sử dụng của các khối đượ c tổng hợp thườ ng l ớn hơn vùng diện tích nếu thực hiện thiết k ế thủ công. Tùy thu ộc vào mức độ của thiết k ế trong đó việc t ổng hợ p m ạch đượ c sử dụng mà chúng ta có hai lo ại tổng hợ p: a) Tổng hợ p lô-gíc - Logic Synthesis Tổng lô-gíc thực hiện việc chuyển đổi các mô t ả HDL củ a một khối sang sơ đồ mạch (mô tả m ạch điện) và sau đó tạo ra layout tương ứ ng c ủa nó. Quá trình này là m ột công nghệ đượ c thiết lậ p cho các khối trong thiết k ế m ột chíp điện t ử, và cho vi ệc hoàn thành mạch điện tử tích hợ p vớ i mục đích ứng dụng cụ thể (ASICs). Tổng hợ p lô-gíc thông thườ ng không áp d ụng đượ c cho các khối l ớ n ch ẳng h ạn như RAMs, ROM, PLA và các đườ ng dữ li ệu (Datapath) c ũng nhu không thể áp dụng để hoàn thành các thi ết k ế bộ vi xử lý b ở i hai lý do là t ốc độ và diện tích sử dụng. Vớ i các khối như vậ y, các công cụ tổng hợ p lô- gíc thườ ng r ất chậm và vùng di ện tích sử dụng r ất không hiệu quả.
9
Hình 1.5 Chu trình thiết k ế hệ th ống VLSI gần vớ i thực tế
b) Tổng hợ p mứ c cao - High Level Synthesis Quá trình này chuyển đổi một mô tả chức năng hoặc mô tả vi kiến trúc (microarchitectural) thành m ột layout ho ặc một mô tả RTL. Trong quá trình t ổng hợ p m ức cao, đầu vào là mộ t mô tả mà nắm bắt (capture) ch ỉ các khía c ạnh ho ạt động (hành vi behavioral) c ủa hệ thống. Các công cụ tổng hợ p này t ạo ra một dãy (spectrum). H ệ thống tổng hợp này đượ c gọi là hệ th ống t ổng hợ p t ổng quát. Mộ t kiểu h ạn chế (restricted) hơn dùng cho t ổng hợ p các ki ến trúc có gi ớ i h ạn. Chẳng h ạn, các kiến trúc xử lý tín hiệu số (DSP) đã đượ c tổng hợ p thành công. Các h ệ thống tổng hợp này đôi khi c òn đượ c g ọi là các trình biên d ịch si-líc (Silicon Compiler). M ột kiểu tổng hợ p thậm chí còn h ạn chế hơn củ a các công cụ tổng hợ p là các b ộ sinh mô-đun (Module Generator) dùng để gi ải quyết các vấn đề có tầm cỡ nhỏ hơn. Ý t ưởng cơ bản là thực hi ện việc đơn giản hóa các tác vụ tổng h ợ p hoặc bằng cách hạn chế cấu trúc ho ặc bằng cách hạn chế tầm cỡ của vấn đề. Các trình biên d ịch si- líc đôi khi sử d ụng đầu ra của các bộ sinh mô-đun. Việc t ổng h ợ p mức cao hi ện mớ i chỉ đang trong quá tr ình nghiên c ứu mà chưa đượ c áp dụng vào việc phát triển chíp trong th ực tế. Nói tóm lại, các hệ thống t ổng h ợ p mức cao cung cấ p các thực thi r ất tốt cho các lớp đặc bi ệt của các hệ thống, và chúng s ẽ tiế p tục nhận đượ c s ự chấ p nhận r ộng rãi khi chúng tr ở lên tổng quát hơn. 10
Để có thể thích ứng vớ i các yếu tố vừa thảo luận, chu trình thiết k ế VLSI đang dần thay đổi. Hình 1.5 [9] mô t ả một chu trình thi ết k ế gần vớ i thực tế. Do sự tăng cao của tr ễ k ết nối, thiết k ế vật lý đượ c b ắt đầu từ giai đoạn r ất sớ m của chu trình thiết k ế để cải thiện các ước lượ ng chất lượ ng ho ạt động của chíp. Việc thực hi ện thiết k ế vật lý nền sớ m d ẫn đến c ải thiện đáng kể layout của chíp vì m ỗi khối đượ c cải thiện. Điều này c ũng cho phép mộ t cách tận dụng t ốt hơn diện tích của chíp phân b ố cho k ết n ối ba chiều. Phân bố này làm giảm kích thước die, nâng cao năng suấ t và giảm giá thành. V ề cơ bản, chu trình thi ết k ế VLSI tạo ra các mô tả xác định ngày càng t ốt hơn cho một chíp nhất định. Mỗi mô tả đượ c ki ểm nghiệm và nếu nó không th ỏa mãn các chỉ tiêu k ỹ thuật thì b ước này đượ c lặ p lại.
11
Chương 2 Các k ỹ thuật thự c hiện và cài đặt ràng buộc trong layout mạch CMOS 2.1 Giớ i thiệu công nghệ bán dẫn si-líc Si-líc bản chất là một chất bán d ẫn mà tr ở kháng điện của nó có giá tr ị nằm vùng gi ữa tr ở kháng điện c ủa các chất d ẫn điện và chất cách điện. Tính d ẫn điện c ủa si-líc có th ể đượ c gia tăng nhiều lần (over several orders of magnitude) b ằng cách đưa một số nguyên t ử tạ p chất (dopant) vào lướ i tinh thể của si-líc. Các dopant này có th ể hoặc tạo ra các điện tử (electron) t ự do ho ặc các lỗ tr ống (hole). Các nguyên t ử t ạ p ch ất s ử dụng điện tử đượ c g ọi là các acceptor b ở i vì chúng nhận một số điện tử vốn có trong nguyên t ử si-líc và tạo ra các khoảng tr ống hay còn g ọi là lỗ tr ống. Tương tự, các nguyên t ố mà nó cung c ấp điện t ử gọi là các donor. N ếu si-líc có chứa chủ yếu các hạt donor đượ c gọi là bán d ẫn loại n trong khi chứa chủ yếu các hạt acceptor đượ c g ọi là bán d ẫn loại p. Khi các bán d ẫn lo ại n và p đượ c ghép vớ i nhau, s ự tiế p xúc giữa vùng n và p t ạo ra lớ p tiế p giáp (junction). B ằng cách xếp đặt (arrange) các l ớ p ti ế p giáp theo m ộ t c ấu trúc vật lý nào đó và kết h ợ p vớ i các cấu trúc vật lý khác, chúng ta có th ể tạo ra nhiều loại thiết bị bán d ẫn. Tr ải qua thờ i gian nhiều năm, quá trình xử lý chất bán d ẫn si- líc (silicon semiconductor processing) đ ã phát triển nhiều k ỹ thuật phức tạ p có thể tạo ra các l ớ p tiế p giáp và nhiều cấu trúc khác có những tính chất đặc biệt. 2.1.1 Quá trình tạo Wafer - Wafer processing
Hình 2.1 Phươ ng pháp Czochraski sản xuất thanh si-líc đơ n tinh thể
Vật liệu thô sử dụng trong các nhà máy s ản xuất chất bán d ẫn hiện đại là tấm wafer hay các đĩa si-líc (silicon disk) v ới đường kính thay đổi từ khoảng 75mm đến 150mm và b ề dày nhỏ hơn 1mm. Các tấm Wafer đượ c cắt từ các thỏi si-líc đơn tinh thể si-líc (ingots of single crystal silicon) mà các th ỏi này đượ c kéo từ phần nấu chảy si-líc đa tinh thể nguyên chất. Phương pháp này gọi là phương pháp Czochralski và đang là một phương pháp phổ biến 12
nhất để sản xuất vật liệu đơn tinh thể. Hình 2.1 [2] mô t ả quá trình kéo này. M ột lượ ng có điều khiển các t ạ p chất đượ c thêm vào quá trình nóng ch ảy để tạo ra tinh thể v ớ i các tính chất điện như mong muốn. Định hướ ng củ a tinh thể (crystal orientation) đượ c quyết định b ở i một tinh thể mồi (seed crystal) đượ c nhúng (dip) vào dung d ịch nóng chảy để khởi đầu (initiate) quá trình hình thành tinh th ể đơn. Dung dịch nóng ch ảy đượ c chứa trong một nồi nấu thạch anh (quartz crucible) bao b ọc bở i m ột lò nung than (radiotor graphite). Lò than được đốt bằng cảm ứng t ừ cao tần (radio frequency induction) và duy trì ở nhiệt độ cao hơn nhiệt độ nóng chả y của si-líc vài độ (1425oC). Không khí phía bên trên lò thườ ng là khí hê-li (He) ho ặc agông (Ar) Sau khi tinh thể m ồi đượ c nhúng vào phần tan chảy, tinh thể mồi đượ c rút một cách từ từ theo phương thẳng đứng khỏi nồi nấu đồng thời đượ c quay tròn. Ph ần tan chả y si- líc đa tinh thể đầu tiên làm ch ảy ph ần mũi của thanh mồi (seed) và khi nó đượ c kéo lên, quá trình đông kết (refreezing) xả y ra. Khi phần tan chảy đông kết, nó hình thành tinh th ể đơn theo tinh thể của thanh m ồi. Quá trình này ti ế p t ục cho đến khi hết dung d ịch tan chả y si-líc đa tinh thể. Đườ ng kính c ủa thanh kéo đượ c quyết định bở i vận tốc kéo thanh m ồi và vận tốc quay khi kéo. Vận tốc hình thành tinh th ể đơn thườ ng trong kho ảng từ 30 đến 180mm/giờ . 1.1.1 Quá trình cắt thành các tấm wafer thường đượ c th ực hiện b ằng các lưỡ i c ắt kim cương (? internal cutting edge diamond blades). Các t ấm wafer thường có độ dày từ 0.25 đến 1.0mm phụ thuộc vào đườ ng kính của nó. Sau khi c ắt, ít nhất m ột m ặt của t ấm được đánh bóng cho đến khi t ạo đượ c mặt phẳng như gương không có vết xướ c. 2.1.2 Ô-xi hóa – Oxidation Có r ất nhiều cấu trúc và k ỹ thu ật sản xuất đượ c sử dụng để làm m ạch tích hợ p dựa trên các tính chất của ô-xit si-líc, SiO2. Do vậy việc sản xuất tin cậy của SiO2 r ất quan tr ọng. Việc ô-xi-hóa si- líc đạt đượ c bằng cách nung các t ấm wafer si-líc trong môi trườ ng ôxi-hóa chẳng hạn khí ô-xi ho ặc hơi nước. Có hai phương pháp ô-xi-hóa phổ biến là: Ô-xi-hóa ướ t - Wet Oxidation: Đây là quá tr ình ô-xi- hóa khi môi trườ ng ô-xi-hóa có chứa hơi nướ c. Nhiệt độ của lò nung thường đượ c giữ trong kho ảng 900oC đến 1000 oC. Quá trình ô-xi-hóa ướ t là một quá trình xử lý nhanh.
Ô-xi-hóa khô - Dry Oxidation: Quá trình ô-xi-hóa khô là quá trình ô-xi-hóa khi môi trườ ng ô-xi-hóa ch ứa khí ô-xi nguyên ch ất. Nhiệt độ lò nung thường đượ c giữ ở mức 1200 oC để đạt đượ c tốc độ hình thành hợ p lý.
Hình 2.2 Minh họa sự hình thành vùng ô-xít của transistor nMOS
13
Quá trình ô-xi-hóa là m ộ t quá trình tiêu t ốn si-líc. Do SiO 2 có thể tích xấ p x ỉ 2 lần thể tích của si-líc, các lớ p SiO2 hình thành h ầu như bằng nhau trong c ả hai phương thẳng đứng. Hiệu ứng này có thể quan sát đượ c qua minh h ọa trong hình \ref{fig:2.2} (3.2, \cite{weste}) của một thiết b ị CMOS kênh n trong đó SiO2 (vùng ô-xít) t ạo ra (project) phía trên và dướ i bề mặt si-líc không b ị ô-xi-hóa. 2.1.3 Khuếch tán lự a chọn - Selective diffusion Để tạo ra các loại si-líc khác nhau, t ức là chứa các phần t ỷ lệ khác nhau c ủa các tạ p chất donor ho ặc các acceptor, thì quá trình x ử lý thêm nữa cần đượ c thực hiện. Vì các vùng này phải được định vị và xác định kích thướ c m ột cách chính xác, m ột phương pháp (phương tiện - mean) để đảm b ảo vi ệc này là thực s ự c ần thiết. Khả năng của l ớ p SiO2 ho ạt động như mộ t rào chắn đối vớ i quá trình đưa vào (doping) các tạ p chất là một yếu tố quan tr ọ ng trong quá trình này và đượ c gọi là quá trình khu ếch tán lựa chọn. Lớ p SiO2 có thể đượ c sử dụng như một mặt n ạ mẫu (pattern mask). Các vùng c ủa b ề m ặt wafer si-líc ở những chỗ không có SiO2 cho phép các nguyên t ử dopant đi qua vào trong wafer và do đó làm thay đổ i các tính chất của si-líc. Vùng b ề mặt mà ở đó có lớ p SiO2 bao phủ ngăn chặn s ự thâm nhậ p của các nguyên tử dopant. Như vậy, quá trình khu ếch tán lựa chọn yêu c ầu (liên quan - entail):
Tạo các cửa sổ ở trên l ớ p SiO2 đ ã hình thành trên b ề mặt wafer. Loại bỏ phần SiO2 (không lo ại bỏ si-líc) vớ i một k ỹ thu ật khắc thích hợ p. Đưa phần si-líc lộ ra đối vớ i ngu ồn tạ p chất. Quá trình lo ại bỏ có l ựa chọn phần SiO2 đượ c thực hiện bằng cách bao ph ủ lên b ề mặt lớ p SiO2 một lớ p chống a-xit ăn mòn tr ừ vùng mà c ần tạo c ửa sổ cho quá trình khu ếch tán lựa chọn. L ớ p SiO2 đượ c lo ại b ỏ nhờ k ỹ thuật kh ắc. Chất chống a- xít ăn mòn thườ ng là một vật liệu hữu cơ nhạ y sáng gọi là lớ p cản quang (PR - photoresit), lo ại vật liệu mà có thể bị polymerized b ở i tia cực tím (UV). Khi tia c ực tím xuyên qua m ột mặt nạ vớ i các m ẫu định sẵn, lớ p bao ph ủ b ị polymerized ở những nơi mà mẫu sẽ xuất hiện. Vùng bao ph ủ không b ị polymerized s ẽ đượ c loại bỏ nhờ một dung d ịch hữu cơ. Quá tr ình khắc lớ p SiO2 đượ c tiến hành sau đó. Hình 2.3 [[2] mô t ả chi ti ết quá trình này. Trong quá trình thi ết lậ p sử d ụng lớ p cản quang (PR) k ết hợ p vớ i việc chiếu tia cực tím, sự khúc xạ xung quanh các c ạnh của m ẫu mặt nạ và mức độ sắ p xế p thẳng cho phép b ị hạn chế với độ r ộng đườ ng c ỡ khoảng 1,5m đến 2 m.Tuy nhiên trong nh ững năm gần đây, công nghệ quang kh ắc dòng (tia) điện tử (EBL) đã tr ở thành (emerged) m ột đối thủ cho việc tạo các mẫu và khắc ảnh có thể đạt đượ c các đườ ng có b ề r ộ ng có thể nhỏ cỡ 0,5m. Điểm mạnh của công nghệ EBL là ở chỗ: Các mẫu có thể đượ c tạo tr ực tiế p t ừ dữ liệu số. Không cần thiết các ảnh c ứng trung gian như là các mặ t n ạ, nói cách khác, quá trình thực hiện có thể thực hiện một cách tr ực tiế p. Các mẫu khác nhau có th ể đượ c phân chia trên các khu khác nhau c ủa wafer mà không gặ p sự khó khăn nào. Sự thay đổi giữa các m ẫu có thể đượ c tiến hành m ột cách nhanh g ọn.
14
Mặc dù vậy, m ột điểm b ất lợ i chính khiến cho việc áp dụng công ngh ệ này vào các dây chuyền s ản xu ất thương mại là giá thành c ủa thiết bị và thờ i gian yêu c ầu để có thể truy xuất mọi điểm trên wafer.
Hình 2.3 Minh họa đơ n giản các bướ c tại mẫu của lớ p SiO2
2.1.4 Quá trình tạo cổng si-líc - The silicon gate process Cho đến giờ , chúng ta m ớ i chỉ xem xét đến d ạng đơn tinh thể si-líc đượ c sử dụng trong quá trình s ản xu ất các tấm wafer và ô-xit c ủa nó trong quá trình s ản xuất và thực hiện các mạch điện. Tuy nhiên, si-líc c ũng có thể đượ c hình thành ở d ạng không định hình (không có c ấu trúc lướ i tinh thể đượ c xếp đặt một cách cẩn thận) và thường đượ c gọi là si- líc đa tinh thể hay polysilicon (đôi khi còn gọi là poly). D ạng này của si-líc thường đượ c sử dụng như là mộ t k ết nối giữa các mạch tích hợ p si-líc hoặc những cực cửa (gate electrode) trong các transistor MOS. Một điểm quan tr ọng của việc s ử dụ ng si-líc đa tinh thể như là cực cửa là nó có khả năng đóng vai tr ò như mộ t mặt nạ thêm vào cho phép xác định mộ t cách chính xác các cực ngu ồn (source electrode) và c ực máng (drain electrode). Điều này cho phép gi ảm nhỏ nhất sự bao trùm của các vùng c ực cửa vớ i cực nguồ n và cực cửa vớ i c ực máng, và như sẽ được đề cậ p chi ti ết trong phần sau, nó làm tăng cườ ng chất lượ ng ho ạt động của m ạch. Si-líc đa tinh thể đượ c hình thành khi si-líc l ắng đọng trên SiO 2 hoặc các b ề m ặt khác. Trong trườ ng hợ p v ớ i c ực c ửa c ủa m ột transistor MOS, si-líc đa tinh thể l ắng trên t ấm cách điện (cách ly) cực cửa. Do đó si-líc đa tinh thể và các c ực nguồn, cực máng thông thường đượ c tạo thêm cùng thời điểm. Các si-líc đa tinh thể không pha t ạ p (undoped) có tính tr ở kháng cao. Đặc tính này đượ c s ử d ụng để t ạo ra các điện tr ở giá tr ị lớ n trong các b ộ nhớ t ĩnh. Trở kháng cao của si-líc đa tinh thể có thể đượ c giảm nhỏ b ằng cách k ết hợ p nó vớ i m ột kim lo ại trơ (refractory metal) Các bướ c c ần thiết của quá trình t ạo cồng si- líc điển hình liên quan đến các quá trình sử dụng m ặt nạ quang (photomasking) và quá trình kh ắc ô-xít (oxide etching), trong đó các quá trình này có th ể đượ c lặ p một số lần trong su ốt quá trình th ực hiện. Hình 2.4 [2] minh h ọa các bướ c của quá trình t ạo cổng bắt đầu từ tấm wafer đ ã đượ c khắc mẫu SiO2. 15
Hình 2.4 Các bướ c thực hiện tạo cổng si-lic cho transistor nMOS
Đầu tiên, tâm wafer đượ c ph ủ một l ớ p SiO2 dày, gọi là vùng (field) ô-xít. Vùng ô-xít đượ c khắc tớ i lớ p si-líc ở nơi mà transistor sẽ được định vị (hình a). Sau đó một lớ p mỏng được điều khiển chính xác SiO 2 đượ c hình thành trên b ề mặt lớ p si-líc b ị hở. Đây đượ c gọi là ô-xít cực c ổng hay vùng ô-xít m ỏng hay thinox (hình b). Ti ếp đến si-líc đa tinh thể đượ c lắng trên toàn b ộ bề mặt wafer và đượ c kh ắc để tạo thành các k ết nối và các cổng c ủa transistor. Hình c minh h ọa k ết quả c ủa c ổng si- líc đa tinh thể đã đượ c khắc. Vùng thinox không đượ c bao ph ủ b ở i si-líc đa tinh thể sau đó đượ c khắc đi. Toàn bộ wafer sau đó được đưa vào chịu tác động của nguồ n dopant, k ết quả là các tiế p giáp khu ếch tán đượ c hình thành trên l ớp đế và si-líc đa tinh thể được đưa vào vớ i loại dopant cụ thể. Điều này làm giảm tr ở kháng của si-líc đa tinh thể. Chú ý r ằng, các tiế p giáp khu ếch tán hình thành các c ực máng và c ực nguồn c ủa transistor MOS. Các c ực này đượ c tạo ch ỉ trong vùng mà c ực si-líc đa tinh thể không che ph ủ vùng đế bê n dướ i. Quá trình này th ường đượ c gọ i là quá trình t ự x ế p b ở i vì cực máng và cực nguồn không m ở r ộng dướ i phần c ực c ửa. Cu ối cùng, toàn b ộ cấu trúc lại đượ c bao phủ b ở i mộ t lớ p SiO2 và các lỗ liên k ết đượ c khắc để tạo tiế p xúc vớ i các lớp bên dướ i (hình e). Nhôm hoặc một kim lo ại nào đó đượ c b ốc bay và đượ c kh ắc để hoàn thành các thành ph ần k ết nối cuối cùng (hình f).
2.2 Công nghệ CMOS Công nghệ CMOS (Complementary Metal Oxide Silicon) đượ c biết như là một đố i thủ dẫn đầu cho việc sản xuất các hệ thống VLSI hiện tại và tương lai. Sở d ĩ như vậ y là do CMOS 16
cung cấ p một công nghệ mạch t ĩnh công suất thấ p vốn có, từ đó có khả năng cho phép tạo tích công suất-tr ễ thấp hơn so vớ i các công ngh ệ nMOS và pMOS. Trong ph ần này, chúng ta s ẽ xem xét t ổng quan 4 công ngh ệ CMOS chủ đạo: quá trình t ạo p-well, quá trình tạo n-well, quá trình tạo ống-đôi (twin-tub), và quá trình si- líc trên đế cách điện (cách ly). Trong ph ần này, chúng ta s ẽ s ử dụng một s ố quy ướ c trong biểu diễn layout và m ặt cắt như trong hình vẽ 2.5 [2]
Hình 2.5 Một số quy ướ c trong biểu diễn layout
2.2.2 Quá trình tạo p-well Một phương pháp tiế p c ận chung cho quá trình s ản xuất CMOS p-well là b ắt đầu b ằng đế (wafer) lo ại n vớ i nồng đồ tạ p chất vừa phải, từ đó tạo giếng lo ại p cho các thi ết bị (còn gọi là các transistor) kênh n, và t ạo các transistor kênh p trên các đế n nguyên thủ y. Mặc dù các bướ c trong quá trình s ản xu ất khá phức t ạ p và ph ụ thuộc nhiều vào dây chuy ền s ản xuất, các bướ c chính trong quá trình đượ c minh họa trong hình 2.6 [2]. Trong minh h ọa này, các m ặt nạ cần thiết cho m ỗi bước đượ c trình bày bên c ạnh mặt c ắt ngang củ a thiết b ị kênh n và kênh p. Cần chú ý r ằng, tuy chúng ta đ ã trình bày quá trình t ạo cổng si- líc đa tinh thể, trong những năm 70 các cổng thường đượ c tạo b ằng kim lo ại (chẳng hạn nhôm). Công ngh ệ này tỏ ra chắc chắn và vẫn còn đượ c sử dụng ở nhiều vùng. Để ý trong hình 2.6 chúng ta th ấ y r ằng, các m ức mặt nạ không đượ c tổ chức theo chức năng thành phần mà chúng ph ản ánh các bướ c trong quá trình.
Mặt nạ đầu tiên định ra giếng p (p-well) (hay còn g ọi là ống p - p-tub): transistor kênh n sẽ đượ c hình thành trong gi ếng này. Vùng ô- xít đượ c khắc bỏ để cho phép s ự khuếch tán sâu (hình a). 17
Hình 2.6 Minh họa quá trình tạo giếng p và mặt nạ tươ ng ứng
18
Mặt n ạ tiếp theo đượ c g ọi là lớ p ô-xít mỏng, hay m ặt nạ thinox vì nó định ra vùng có lớ p ô-xít mỏ ng cần thiết để thực hiện các cổng của transistor và cho phép th ực hiện để tạo ra các khu ếch tán lo ại n ho ặc p cho vùng c ực nguồn và cực máng của transistor. Vùng ô- xít đượ c khắc đến b ề m ặt lớ p si-líc và sau đó lớ p ô-xít mỏng đượ c hình thành tại vùng này (hình b). Các khái ni ệm (term) khác liên quan đế n mặt n ạ này bao gồm vùng tích c ực (active area), vùng đảo (island), và đỉ nh nhô (mesa: an isolated relatively flat-topped natural elevation usually more extensive than a butte and less extensive than a plateau; also : a broad terrace with an abrupt slope on one side). Trong công ngh ệ nMOS, m ặt nạ này có thể là mặt nạ cho quá trình khu ếch tán. Việc xác định (definition) c ủa c ổng si-líc đa tinh thể đượ c hoàn thành. Quá trình này liên quan đến vi ệc bao phủ b ề mặt vớ i l ớ p si-líc đa tinh thể và sau đó khắc theo mẫu đượ c yêu cầu (theo hình c m ẫu là một chữ U ngược). Như đã chú ý trong ph ần trướ c, các vùng c ổng "poly" d ẫn đến việc tự sắ p xế p các vùng cực nguồn-máng (hình c). Một m ặt nạ p+ sau đó đượ c s ử dụng để đánh dấu (indicate) các vùng ô-xít m ỏng này (và si-líc đa tinh thể) là các vùng đượ c cấy p+. Do đó các khu vực ô-xít mỏng bị hở bở i mặt n ạ p+ sẽ tr ở thành các vùng khu ếch tán p + (hình d). N ếu vùng p + ở trên đế n thì một transistor kênh p ho ặc một dây d ẫn loại p đượ c t ạo ra. N ếu vùng p + ở trên đế loại p, thì m ột liên k ết điện tr ở (ohmic) vớ i giếng p đượ c tạo ra. Một liên k ết điện tr ở là một mối liên k ết chỉ có tr ở kháng t ự nhiên mà không có kh ả năng lọc (giống như điốt). Nói một cách khác, nó không có b ất cứ m ột tiế p xúc (tiế p xúc p-n ) nào. Và dòng điện có thể ch ạy theo c ả hai chiều của liên k ết này. Kiểu m ặt nạ này đôi khi còn đượ c gọi là mặt nạ chọn vì nó chọ n những vùng transistor là vùng lo ại p. Bướ c tiếp theo thườ ng sử d ụng phần bù (complement) c ủa m ặt nạ p +, m ặc dù một mặt nạ khác thườ ng là không c ần thiết. Sự thiếu vắng của một vùng p + ở phía trên l ớ p ô-xít mỏng chỉ ra r ằng vùng đó sẽ là vùng khu ếch tán n+ hoặc n-thinox. n-thinox trong giếng p xác định các transistor lo ại n hoặc các dây d ẫn (hình e). M ột quá trình khu ếch tán n+ trên đế loại n sẽ cho phép t ạo ra liên k ết điện tr ở . Theo sau quá trình này, b ề mặt của chíp đượ c bao phủ mộ t lớ p SiO2. Các điểm cắt liên k ết được xác định sau đó. Quá tr ình này liên quan đến việc khắc sâu lớ p SiO2 xu ống tận b ề mặt cần liên k ết (hình f). Việc này cho phép kim lo ại ( ở bướ c tiế p theo) liên k ết các vùng khu ếch tán ho ặc các vùng si- líc đa tinh thể vớ i nhau. Việc phủ kim lo ại lên bề mặt đượ c tiến hành và ti ế p sau là việc khắc có lựa chọn (hình g). Đến bướ c cuối cùng (không kèm trong minh h ọa) tấm wafer đượ c xử lý để chống ăn mòn (passivate: : to make inactive or less reactive
; to protect (as a solid-state device) against contamination by coating or surface treatment) và m ở đến những chân đế nối (bond pad) để cho phép thực hiện vi ệc nối dây. Vi ệc xử lý chống ăn mòn b ảo vệ bề mặt si-líc khỏi b ị nhiễm bẩn thâm nhậ p vào có thể làm thay đổi hoạt động của mạch một cách không mong muốn. 19
Các bướ c phụ thêm có thể bao gồm các bước điều ch ỉnh các m ức ngưỡng để thiết lậ p các mức điện thế ngưỡ ng cho các thiết b ị kênh n và kênh p. M ặt cắt ngang c ủa một quá trình tạo p-well đã hoàn thành đượ c minh họa trong hình 2.7 [2] . Layout tương ứng vớ i các transistor CMOS của mặt cắt ngang đượ c minh họa trong hình b. Và s ơ đồ mạch tương ứng (cho một bộ đảo) đượ c minh họa trong hình a. M ột m ặt cắt có tính biểu diễn hơn tr ình bày s ơ đồ thực (realistic topology) minh h ọa trong hình d. T ừ hình 2.7 chúng ta th ấ y r ằng đế loại n khu trú (accommodate) các thi ết b ị kênh p, trong khi đó đế loại p khu trú các thi ết bị kênh n.
Hình 2.7 Layout và mặt cắt ngang của transistor và mạch đảo trong công nghệ p-well
Quá trình khu ếch tán giếng p phải đượ c tiến hành vớ i một sự thận tr ọng cao vì m ật độ pha t ạ p (doping) gi ếng p và sự xuyên sâu ảnh hưởng đến m ức điện th ế ngưỡ ng cũng như có thể phá vỡ các mức điện áp ngưỡ ng của các thiết b ị kênh n. Để có thể đạt đượ c các mức điện áp ngưỡ ng thấ p (cỡ 0,6-1,0V) thì c ần phải có hoặc là giếng khuếch tán sâu ho ặc tr ở kháng giếng phải cao (high well resistivity). Các ti ế p giáp sâu kéo theo m ột không gian gi ữa các transistor n và p l ớn hơn vì tính chất một phía của quá trình khu ếch tán (due to lateral diffusion). Và k ết quả là yêu c ầu chíp có di ện tích lớn hơn. Mặt khác, tr ở kháng cao có th ể làm gia tăng các vấn đề chốt (latch-up). Nh ằm đạt đượ c mức điện thế ngưỡ ng hẹ p chấ p nh ận đượ c trong quá trình p-well, m ật độ giếng phải cỡ gấp đôi mật độ doping trong đế, và b ằng cách đó tạo ra hiệu ứng thân (body effect) cho các thi ết bị kênh n có đượ c lớn hơn cho các transistor kênh p. Hơn nữa, do mật độ cao hơn này, các transistor kênh n hứ ng ch ịu sự tăng quá mức của dung kháng gi ữa các c ực nguồn/máng vớ i giếng p. Nhìn chung, các transistor kênh n sản xuất từ quá trình này th ườ ng kém chất lượng hơn các transistor tương ứ ng sản xuất trên các đế nguyên thủ y (không có các gi ếng). Do đó, các mạ ch có các transistor kênh n có xu 20
thế ho ạt động chậm hơn, chẳng hạn vớ i một quá trình t ải suy yếu nMOS điển hình (a typical nMOS depletion load process). S ự suy giảm chất lượ ng ho ạt động của mạch có thể đượ c trong đợ i (dự đoán) trong mộ t số cấu trúc lô-gíc. Vì điện tr ở t ấm của một giếng p thườ ng cỡ khoảng 1-10k cho mỗi ô vuông (per square), các gi ếng phải đượ c ti ếp đất bằng cách nào đó sao cho giảm thiểu điện thế rơi do dòng thâm nh ập trong đế đượ c tậ p hợ p bở i giếng p. Trong một quá trình t ạo giếng p, các đế kiểu n có th ể đượ c k ết nối vớ i một ngu ồn cung cấp điện áp dương (VDD) qua các tiếp xúc (contact) đượ c gọi là các tiếp xúc đế VDD, trong khi đó giếng phải đượ c nối vớ i ngu ồn cung cấp điện áp âm (VSS) qua các ti ếp xúc đê VSS. Một đặc tính thú vị c ủa tiế p xúc VSS là các k ết nối phía trên cùng c ủa đế đượ c s ử d ụng. Điều này có thể so sánh vớ i công nghệ nMOS, trong đó các kế t nối mặt sau thường đượ c sử dụng. Tiế p xúc mặt sau VDD cũng có thể đượ c sử dụng, tuy nhiên các k ết n ối m ặt trên cùng thường đượ c chọn b ở i vì chúng cho phép làm gi ảm các tr ở kháng kí sinh, các tr ở kháng này có th ể gây ra hiện tượ ng latch-up. Các k ết nối đế đượ c t ạo thành b ằng cách đặt các vùng p + trong gi ếng p (các k ết nối VSS) ho ặc vùng n + trong đế loại n (các k ết n ối VDD) và đượ c minh họa trong hình 2.8 [2].
Hình 2.8 Các tiế p xúc trong quá trình p-well
Trong các quá trình s ản xu ất hiện nay, si-líc đa tinh thể thường đượ c pha tạ p n +. Giai đoạn pha tạ p p+ làm giảm sự pha t ạp đa tinh thể d ẫn đến si- líc đa tinh thể bên trong các vùng p+ có tr ở kháng tấm cao hơn si-líc đa tinh thể bên ngoài vùng. S ự mở r ộng suy giảm này có thể ảnh hưởng đến chất lượ ng liên k ết kim lo ại-si-líc đa tinh thể bên trong vùng p +. Để thỏa mãn yêu c ầu tăng mạ nh c ủa mật độ đóng gói, cải thiện trong latch-up, và s ự điều chỉnh mức ngưỡng độc lậ p, một loạt các biện pháp cải tiến quá trình p- well đã được đưa ra trong nh ững năm gần đây, chẳ ng hạn như quá tr ình CMOS p-well thoái hóa (retrrograde pwell CMOS) đượ c phát tri ển b ở i công ty GE-Intersil, hay quá trình CMOSC đượ c phát triển bở i công ty HP. 2.2.3 Quá trình tạo n-well Mãi cho đến g ần đây, các quá tr ình p- well đã tr ở thành một trong các d ạng s ẵn sàng phổ biến của công nghệ CMOS. Tuy nhiên, m ột điểm lợ i của quá trình n-well là nó có th ể 21
đượ c sản xuất trên cùng dây chuyền như đối vớ i công ngh ệ nMOS truyền thống. Do đó quá trình này thường đượ c tái thích nghi (retrofit) (retrofit: : to furnish (as a computer, airplane, or building) with new or modified parts or equipment not available or considered necessary at the time of manufacture; to install (new or modified parts or equipment) in something previously manufactured or constructed; to adapt to a new purpose or need) v ớ i các quá trình nMOS đã có. Các bướ c sản xu ất n-well điển hình c ũng tương tự như vớ i m ột quá trình t ạo p-well, ngoại tr ừ một giếng n đượ c sử dụng. Bướ c tạo m ặt nạ đầu tiên xác định các vùng c ủa giếng n. Quá trình này đượ c theo sau bở i một quá trình c ấy (implant) ph ốt-pho liều lượ ng thấp đượ c tiến hành trong nhi ệt độ cao để t ạo thành gi ếng n. Độ sâu của giếng được đượ c tối ưu hóa để đảm b ảo chống lại sự phá vỡ của khu ếch tán p + và đế loại p mà không ph ải thỏa hiệ p (compromise) s ự chia tách giếng n và n -. Các bướ c tiếp theo là định ra các thiết bị và các khuếch tán khác, để hình thành vùng ô-xít, các nút c ắt liên k ết, và quá trình phủ kim loại. Một mặt nạ n-well đượ c sử dụng để xác định các vùng giếng n, như đố i lậ p vớ i một mặt nạ p-well trong quá trình p-well. M ột m ặt nạ n+ có thể đượ c sử d ụng để xác định (define) các transistor kênh n và các ti ế p xúc V DD. M ột cách khác, chúng ta có th ể sử dụng một m ặt nạ p+ để định ra các transistor kênh p, vì các m ặt nạ thườ ng bù nhau (complement of each other). Vì có sự khác nhau c ủa độ linh động của các dòng h ạt mang điện (charge carrier) quá trình n-well t ạo ra các đặ c tính kênh p không t ối ưu, chẳ ng h ạn như dung kháng tiế p xúc cao và hiệu ứng thân cao (trong cùng cách mà quá trình p-well ảnh hưở ng lên các transistor kênh n). Tuy nhiên, nhi ều thiết k ế CMOS mớ i nổi có số thiết b ị kênh n và kênh p nhi ều hơn, do đó ảnh hưở ng tổ ng thể của chất lượ ng ho ạt động thấ p c ủa các transistor kênh p có th ể đượ c giảm thiểu bằng các thiết k ế một cách cẩn thận. Như vậ y, công ngh ệ n-well mang l ại một điểm mạnh rõ r ệt, vì các đặc tính thiết b ị t ối ưu chỉ yêu cầu v ớ i các transistor kênh n mà không c ần thiết cho các transistor kênh p. Và do đó, các thiế t b ị kênh n có th ể đượ c s ử dụng để tạo các thành phần lô-gíc vớ i tốc độ và mật độ cao, trong khi đó các thiế t bị kênh p có thể cơ bản đóng vai tr ò như các thiết bị kéo-lên (pull-up). Các m ạch vào ra (I/O) lo ại n đầy đủ c ũng có thể đượ c sử dụng để tận dụng điểm lợ i này. M ặc dù có nhi ều quá trình CMOS n- well đượ c đưa ra, quá tr ình xử lý đượ c phát triển bởi trường Đại học California tại Berkeley thườ ng đượ c chọn như một công cụ thích hợ p minh h ọa chi tiết các bướ c trong quá trình s ản xuất. Các bước đượ c diễn đạt trong m ột ngôn ngữ mô tả đầu vào quá trình (Process Input Description Language). Chẳng hạn một số lệnh của ngôn ngữ có dạng: SUBSTRATE ( * TYPE=[ P, N] I MPURI TY=[ ] )
Xác định tên lớp đế, loại và mức độ tạ p chất. OXI DE THI CKNESS=[ ]
Cụ thể hóa lớ p ô- xit và độ dày lớ p ô-xít. Một tệp đầu vào quá trình hoàn ch ỉnh có phần đầu có d ạng 1. LEVEL 1 2. SUBS SI LI CON TYPE=P I MPU=1e13 3. OXI DE OX1 THI CK=0. 1
22
... 2.2.4 Quá trình tạo ống đôi Công nghệ CMOS ống đôi (twin-tub) cung c ấp cơ sở cho việc tối ưu hóa sự phân tách của các transistor lo ại n và loại p và do đó nó cho phép việc tối ưu điện thế ngưỡ ng, hiệu ứng thân, và độ lợ i vớ i các thiết b ị kênh n và kênh p có th ể đượ c thực hiện một cách độc lậ p. M ột cách t ổng quát, quá trình xu ất phát từ v ật liệu ho ặc là đế n+ hoặc là đế p- vớ i một lớ p epitaxi đượ c pha nhẹ nhằm chống lại vấn đề latch-up. M ục tiêu của epitaxy (có ngh ĩa là đượ c sắ p xế p dựa theo, epitaxy: the growth on a crystalline substrate of a crystalline substance that mimics the orientation of the substrate) là để hình thành các lớ p si- líc có độ tinh khiết cao với độ dày đượ c kiểm soát và nồng độ hạt dopant được xác định (determine) m ột cách chính xác đượ c phân b ố đồng đều khắ p các lớ p. Các tính chất điện của lớp này đượ c quyết định b ở i hạt dopant và m ật độ của nó trong si-líc.
Hình 2.9 Các bướ c trong quá trình CMOS phát triển bở i phòng thí nghiệm Bell
23
Thứ tự của quá trình, c ũng tương tự như vớ i quá trình p-well ngoài quá trình hình thành ống nơi mà cả giếng p và giếng n đượ c sử dụng, yêu c ầu các bướ c sau:
Tạo ống Khắc lớ p ô-xít mỏng Cấy các cực ngu ồn và cực máng
Xác định các nút cắt liên k ết Phủ lớ p kim loại Hình 2.9 [2] minh h ọa các bướ c trong quá trình ống đôi đượ c phát triển b ở i phòng thí nghiệm Bell. Vì quá trình này mang l ại các giếng đượ c tối ưu hóa một cách riêng bi ệt, các transistor kênh n v ớ i ch ất lượ ng ho ạt động tốt hơn (có dung kháng nhỏ hơn, hiệu ứng thân ít hơn) có thể đượ c t ạo ra khi đượ c so sánh v ớ i quá trình p-well truy ền thống. Một cách tương tự, các transistor kênh p có th ể đượ c tối ưu. Chú ý r ằng việc sử dụng các bước điều chỉnh điện áp ngưỡ ng c ũng đượ c thêm vào quá trình này. Các m ặt nạ này đượ c suy ra t ừ thinox và các mặt nạ n+. Mặt c ắt ngang của một cấu trúc ống đôi điển hình đượ c trình bày trong hình 2.10 [2]. Các tiế p xúc (c ả hai lo ại tiếp xúc đượ c yêu cầu) cũng đượ c thêm vào minh h ọa trên.
Hình 2.10 Mặt cắt quá trình ống đôi và layout tươ ng ứng
2.2.5 Si-líc trên tấm cách điện Các quá trình t ạo si-líc trên t ấm cách điện (SOI - silicon on insulator) có m ột số điểm mạnh tiềm năng so vớ i các công ngh ệ CMOS truyền th ống. Các điểm m ạnh bao g ồm m ật độ cao hơn, không gặ p phải vấn đề latch-up, và có dung kháng ký sinh th ấp hơn. Trong quá tr ình SOI, một lớ p mỏng của màng si- líc đơn tinh thể đượ c hình thành b ằng phương pháp epitaxy 24
trên một t ấm cách điện chẳng hạn như sa-phia ho ặc h ỗn hợ p ô-xít nhôm ma-nhê (magnesium aluminate spinel). Các m ặt nạ và các k ỹ thu ật doping khác nhau đượ c sử dụng để tạo các thiết bị kênh p ho ặc kênh n. Hình 2.11-12 [2] minh h ọa một số bướ c trình trong quá trình này. Không giống như các công nghệ CMOS truyền thống, một số bướ c phụ thêm trong quá trình hình thành gi ếng không có m ặt trong công ngh ệ này.
Hình 2.11 Chu trình của quá trình SOI (phần 1)
Những bướ c sử dụng trong các quá trình CMOS SOI g ồm: Một màng m ỏng (7-8 m) si-líc lo ại n vớ i nồng độ tạ p chất nhỏ (lightly) đượ c hình thành trên m ột tấm cách điện. Đá sa -phia là một vật liệu phổ biến dùng làm đế cách điện (hình a). Một phép khắc không đồng nhất (anisotropic) đượ c sử dụng để khắc đi si-lic ngo ại tr ừ vùng mà s ự khuếch tán (n ho ặc p) cần ph ải thực hiện. Việc khắc phải là không đồng nhất vì độ dày c ủa si-líc lớn hơn rất nhiều các kho ảng cách mong mu ốn giữa các "đảo" (island) si-líc (hình b và c).
Các đảo p đượ c hình thành ti ế p theo b ằng cách che (masking) các đảo n v ớ i chất phản quang. Mộ t tạ p chất (dopant) lo ại n, chẳng hạn Bo (boron), đượ c cấy vào.Việc cấ y này bị chặn ở vùng có ch ất phản quang nhưng tạo thành các đảo p ở vùng không có m ặt nạ. Các đảo p sẽ là nơi hình thành các thi ết bị kênh n (hình d). Các đảo p tiếp đến đượ c bao phủ bở i một chất phản quang và m ột tạ p chất loại n, chẳng h ạn phốt- pho, đượ c cấy để t ạo t hành các đảo n. Các đảo n là nơi sẽ hình thành các thiết bị kênh p (hình e). 25
Một lớ p ô-xít cực cổng m ỏng (kho ảng 500-600A o) đượ c hình thành trên toàn b ộ cấu trúc si-líc. Quá trình này th ường đượ c thực hiện bằng phương pháp ô -xi-hóa nhiệt. Một màng m ỏng si-líc đa tinh thể đượ c lắng đọng lên trên lớ p ô-xít vừa tạo. Thông thườ ng, phố t- pho đượ c thêm vào trong quá trình l ắng đọng si-líc đa tinh thể nhằm giảm nhỏ tr ở tráng của nó (hình f).
Hình 2.12 Chu trình của quá trình SOI (phần 2)
Phần si- líc đa tinh thể sau đó đượ c tạo mẫu b ằng phương pháp tạo mặt nạ quang (photomasking) và đượ c khắc. Quá trình này t ạo (define) lớ p si-líc đa tinh thể trong cấu trúc (hình g). Bướ c tiế p theo là việc hình thành các c ực nguồn và cực máng pha t ạ p n (n-doped) c ủa các thiết bị kênh n tron g các đảo p. Các đảo n đượ c bao phủ b ằng một lớ p phản quang và m ột t ạ p chất loại n, thườ ng là phốt- pho, đượ c c ấy vào. Do có l ớ p phản quang, t ạ p chất bị chặn không thâm nh ập được vào các đảo n. T ại vùng cực c ổng của các đảo p, cũng do lớ p si-líc đa tinh thể, t ạ p chất cũng bị chặn không thâm nhập được. Sau bướ c này, các thiết bị kênh n đượ c hoàn thành (hình h). Các thiết b ị kênh p đượ c t ạo trong bướ c tiế p theo b ằng cách che các đảo p và c ấy các tạ p chất loại p chẳng hạn như Bo. Lớ p si-líc đa tinh thể trên vùng c ực cửa của các đảo 26
n chặn s ự thâm nhậ p của t ạ p chất. Do đó, chúng ta tạo đượ c các thiết b ị kênh p (hình i).
Một lớ p kính phốt-pho ho ặc một số chất cách điện khác, ch ẳng hạn như SiO2 đượ c lắng trên toàn b ộ c ấu trúc. Phần kính (glass) sau đó đượ c khắc tại các vị trí nút c ắt tiế p điểm. Một lớ p kim lo ại đượ c tạo ra b ằng cách làm b ốc bay nhôm trên toàn b ộ c ấu trúc sau đó khắc chỉ để lại các đườ ng d ẫn kim loại mong muố n. Kim lo ại nhôm sẽ chả y qua các nút c ắt tiếp xúc để tạo liên k ết vớ i các vùng khu ếch tán ho ặc các vùng si- líc đa tinh thể. Công đoạn cuối cùng là m ột lớ p bảo vệ của lớ p kính phốt- pho đượ c lắng đọng và đượ c khắc làm hở các điểm nối dây. Bở i vì các vùng khu ếch tán mở r ộng xuống đến đế cách điện, chỉ các vùng tườ ng bên cạnh (sidewall) gắn vớ i các khu ếch tán c ực ngu ồn và cực cửa t ạo ra dung kháng ký sinh ti ế p xúc. Do sa-phia là m ột chất cách điện tốt, các dòng rò gi ữa transistor và đế và các thiết bị bên cạnh gần như đượ c loại bỏ hoàn toàn. Để tăng sản lượ ng sản xuất, một số quá trình s ử dụng phương pháp khắc thiên vị (preferential etch) trong đó các cạ nh của các đảo đượ c cắt thon. Đo đó, các đườ ng chạ y (runner) c ủa kim lo ại nhôm ho ặc si-líc đa tinh thể có thể đi vào và đi ra khỏi các đảo vớ i m ột độ cao bướ c tối thiểu. Điều này trái ngượ c với phương pháp khắc không đồ ng nhất đầy đủ (fully anisotropic etch) trong đó nút cắt dưới (undercut) được đưa về không như minh họ a trong hình 2.13 [2]. Trong minh h ọa, phương pháp khắc đồng nhất (isotropic etch) c ũng đượ c trình bày để có một cái nhìn so sánh rõ ràng gi ữa các phương pháp.
Hình 2.13 Minh họa các phương pháp khắc
Một số điểm mạnh của phương pháp SOI có thể k ể đến là: 27
Vì không cần thiết s ử d ụng các giếng, các cấu trúc có m ật độ dày đặc hơn thân đế silíc (bulk silicon) có th ể dễ dàng đạt được. Hơn nữ a các k ết nối n đến p có thể đượ c tạo một cách tr ực tiế p. Vớ i k ết qu ả là dung kháng ký sinh th ấ p, công nghệ này là cơ sở cho việc s ản xuất các mạch có tốc độ hoạt động cực nhanh. Không gặ p phải vấn đề đảo vùng (field-inversion problem). Không gặ p ph ải vấn đề latch-up do s ự tách biệt của các transistor kênh n và kênh p b ở i đế cách điện. Vì không s ử dụng đế dẫn điện, nên không g ặ p ph ải các vấn đề hiệu ứng thân. Mở r ộng giớ i hạn cho phép c ủa sự phát xạ. Tuy nhiên, m ặt trái của công nghệ này, do s ự vắng mặt của các đi-ốt đế, các đầu vào ở mộ t m ức độ nào đó gặp khó khăn hơn trong việ c bảo vệ. Vì độ l ợ i c ủa thiết bị th ấ p, các c ấu trúc I/O phải làm lớn hơn. Thêm nữa, các đế sa-phia ho ặc các hỗn hợ p ô- xít (spinel) đườ ng là khá đắt đỏ so vớ i si-líc chưa kể các công ngh ệ xử lý cũng kém phát tri ển hơn các kỹ thuật x ử lý đế si-líc. Chính lý do này khi ến công ngh ệ SOI, m ặc dù là công ngh ệ tiềm năng cho CMOS tốc độ cao nhất, tr ở thành m ột công ngh ệ đắt đỏ nhất. 2.3 Các tính chất của transitor 2.3.1 Cấu trúc của một transistor Mặt cắt ngang của một transistor MOS kênh n đượ c trình bày trong hình 2.14 [1]. Chúng ta thấy transistor kênh n đượ c "gắn" (embedded) trên m ột đế loại p. Transistor đượ c tạo thành b ằng giao c ắt (intersection) c ủa một dây d ẫn loại n và m ột dây d ẫn si-líc đa tinh thể (polysilicon). Vùng t ại nơi giao cắt đượ c g ọi là kênh (channel), là nơi mà các hoạt độ ng của transistor diễn ra. Kênh k ết nối vớ i hai dây d ẫn loại n các dây mà t ạo thành các cực nguồn và máng của transistor. B ản thân vùng kênh đượ c pha thêm t ạ p chất loại p. Một lớ p ô-xít si-líc cách điện t ại kênh (đượ c gọi là ô-xít c ực cổng) r ất m ỏng so vớ i vùng ô- xít ngoài kênh (đượ c gọi là vùng ô-xít - field oxide). Vi ệc tạo ra lớ p ô-xít si-líc m ỏng tại vùng kênh là y ếu tố quyết định đến sự thành công c ủa hoạt động củ a transistor.
Hình 2.14 Mặt cắt của một transistor MOS kênh n
Transistor làm việc như mộ t chuyển mạch bở i vì điệ p áp cực cửa-cực ngu ồn điều chỉnh độ lớ n dòng điện chảy giữa cực nguồ n và cực máng. Khi điện áp cực cửa Vgs bằng không, kênh lo ại p chứa đầy lỗ tr ố ng, trong khi các c ực ngu ồn và máng lo ại n chứa đầy điệ n 28
tử. Tiế p giáp p-n t ại cực nguồn tạo thành một đi-ốt, cũng khi đó tiế p giáp t ại cực máng tạo thành một đi-ố t thứ hai ho ạt động ngược hướ ng ng với đi-ốt tương ứng ở c c ực ngu ồn. K ết quả là, không có dòng nào ch ạ y từ cực ngu ồn sang c ực máng. Khi điệ p áp Vgs tăng lên và lớn hơn không, t ình thế bắt đầu thay đổ i. Trong khi vùng có thêm mộ t số hạt mang điện loại kênh trước đây chứ a chủ yếu các mang điện loại p, bây giờ có n. Điện thế dương trên tấm si-líc đa tinh thể làm cho c ực cửa thu hút các điện tử. Vì chúng b ị chặt b ở i tấm ô-xít cực c ửa, các điện t ử đượ c t ậ p hợ p t ại phía trên cùng c ủa khu vực kênh d ọc theo biên c ủa tấm ô-xít c ực cửa. Ở một m ức điện áp nhất định gọi là điện áp ngưỡ ng ng (Vt), vớ i số lượng điện tử tậ p trung tại biên c ủa vùng kênh đủ lớ n, n, nó sẽ hình thành m ột lớp đảo chiều mộ t lớp các điện tử dày đặc đủ để tạo ra một dòng gi ữa cực nguồn và c ực máng. Kích thướ c của vùng kênh được xác định tương đố i theo chiều của dòng điện chạ y. Nói một cách cụ thể là chiều dài kênh L đượ c tính dọc theo hướ ng ng của dòng điện từ cực nguồn t ớ i cực máng, và b ề r ộ ng của kênh W là chi ều vuông góc v ớ i chiều dòng điện. Độ lớ n của dòng điện ch ạy là m ột hàm của t ỷ s ố W/L. Cũng tương tự như dòng điện, tr ở kháng thân ở kháng (bulk) thay đổi theo chiều dài và chi ều r ộng c ủa kênh: tăng bề r ộng ộng kênh làm tăng mặ t cắt vùng d ẫn, trong khi tăng chiều dài kênh làm tăng khoả ng cách mà dòng điện cần thiết phải chạ y qua trong kênh. Vì chúng ta có th ể ấn định các giá tr ị của W và L trong khi thi ết k ế layout của transistor, chúng ta có th ể thiết k ế một các đơn giản độ lớ n của dòng c ủa transistor. Cần chú ý r ằng, các transistor kênh p c ũng có cấu trúc tương tự như các transistor kênh n, tuy nhiên các v ật liệu sử dụng là đối ngượ c: c: tức là thay đổi p và n cho nhau. Transistor kênh p d ẫn bằng cách t ạo thành vùng đảo của các lỗ tr ống trong kênh lo ại n. Do đó, dễ thấy điện áp cực cửa-cực ngu ồn phải là điện áp âm để cho phép transistor d ẫn dòng. 2.3.2 Mô hình transistor đơn giản Hoạt động của cả transistor kênh n và kênh p có th ể đượ c diễn tả b ằng hai biểu thức và hai hằng số v ật lý, d ấu của các hằng số phân biệt lo ại kênh của transistor. Trướ c hết chúng ta định ngh ĩa một số biến đượ c sử dụng trong các công th ức. Vgs: điện áp giữa cực cửa và c ực ngu ồn.
Vds : điện áp giữ cực máng và c ực nguồn (chú ý r ằng Vds=-V sd). Id: dòng điện chạy giữa cực máng và c ực ngu ồn. Và các hằng số dùng đề xác định độ lớ n của dòng c ực cửa-cực máng của transistor: Vt: điện áp ngưỡ ng ng c ủa transistor, điện áp này dương vớ i các transistor kênh n và âm vớ i các transistor kênh p. k': hệ số điện dẫn (transconductance), h ằng số này dương cho cả hai loại transistor. W/L: tỷ s ố bề r ộng trên chi ều dài kênh c ủa transistor. ng Vt và k' được xác định b ằng đo lườ ng ng hoặc tr ực tiế p ho ặc gián tiế p cho Các đại lượ ng một quá trình s ản xuất. T ỷ số W/L được xác định trong quá trình thi ết k ế layout của transistor, tuy nhiên vì nó không thay đổi trong quá trình ho ạt động nên nó có th ể được coi như một hằng số trong các công th ức diễn tả hoạt động của thiết bị. Các công thức chi phối (govern) ho ạt động của transistor đượ c viết theo thông lệ di d iễn tả dòng cực máng như là mộ t hàm của các tham s ố khác. Một mô hình chính xác t ương đối 29
cho ho ạt động của transistor, đượ c viết gồm các thành ph ần của dòng c ực máng I d, phân chia hoạt động của transistor thành hai ph ần: phần tuyến tính và phần bão hòa. Vớ i một transistor kênh n, chúng ta có:
Vùng làm vi ệc tuyến tính Vds < Vgs-Vt: I d k '
W L
[(V gs V t )(V ds
1 2 V )] 2 ds
(2.1)
Vùng làm vi ệc bão hòa V ds >Vgs-Vt: 1 W 2 I d k ' (V gs V t ) (2.2) 2 L Vớ i transistor kênh p, dòng c ực máng âm và thi ết vị làm việc khi Vgs nhỏ hơn mức ng âm củ a thiết bị. Hình 2.15 [1] v ẽ đồ thị dòng Id của một transistor kênh n điện áp ngưỡ ng trong m ột số trườ ng ng h ợp điển hình. M ỗi đườ ng ng là một bi ểu diễn dòng của transistor khi cho Vgs cố định và Vds thay đổi từ 0 đến một điện áp lớ n. n.
Hình 2.15 Đồ thị dòng Id của transistor kênh n
Hoạt động chuyển m ạch của transistor x ảy ra b ở i vì mật độ của dòng hạt mang điệ n (carrier) trong kênh ph ụ thuộc mạnh vào điện áp giữa cực cửa và đế. Khi |Vgs|<|Vt |, không có đủ hạt mang điện trong lớp đảo để tạo ra một dòng điện đáng kể. Ở trên trên giá tr ị điện áp ng h ạt mang điện có quan h ệ tr ực tiế p vớ i ngưỡng cho đến khi rơi vào vùng b ão hòa, số lượ ng điện áp Vgs : điện thế đặt lên cực cửa càng lớ n thì càng nhi ều hạt mang điện đượ c kéo vào vùng đảo và tính d ẫn điện của transistor càng tăng. Mối quan hệ giữa t ỷ số W/L và dòng c ực nguồn-cực máng khá đơn giản (equally simple). Khi b ề r ộng ộng kênh tăng lên, càng nhiều hạt mang điện sẵn sàng cho d ẫn dòng điện. Tuy nhiên khi chi ều dài kênh tăng lên, điệ n áp giữa cực máng và c ực nguồ n b ị giảm đi ảnh ng. Vds là ngu ồn th ế năng để đẩy các hạt mang điện t ừ c ực máng đến c ực nguồn. Do đó, hưở ng. khi kho ảng cách từ c ực máng đến cực ngu ồn tăng lên, thời gian để đẩ y các hạt mang điện qua kênh của transistor lâu h ơn vớ i một giá tr ị Vds cố định, từ đó làm giảm dòng chảy hạt mang điện. 30
Bảng 2.1 li ệt kê một số giá tr ị điển hình c ủa k' và Vt cho quy trình 0,5 m. Bảng 2.1 : M ột s ố tham số điển hình của transistor cho quy trình 0,5m
k’
Vt
Loại n
k’n=73 A/V2
0.7V
Loại n
k’ p=21 A/V2
-0,8V
2.3.3 Các tham số ký sinh của transistor Các thiết b ị thực thườ ng ng có các thành ph ần ký sinh mà không th ể tránh khỏi trong cấu trúc của thiết b ị. Bản thân transistor có dung kháng c ực cửa, Cg. Dung kháng này đượ c hình thành do các l ớp (đĩa - plate) si- líc đa tinh thể song song v ới đế, và đây là thành phầ n t ải có tính dung kháng ch ủ yếu trong các m ạch lô-gíc nhỏ. C g =0,9fF/m2 cho c ả hai lo ại transistor trong quy trình s ản xu ất 2m điển hình. Dung kháng c ực c ửa toàn b ộ của một transistor đượ c tính b ằng cách đo lườ ng ng diện tích của vùng ho ạt động (ho ặc tích WL) và sau đó nhân vớ i hệ số dung kháng trên m ột đơn vị điện tích Cg.
Hình 2.16 Các dung kháng ký sinh trên vùng vùn g bao trùm cực của và cực nguồn/cực máng
ng lo lắng v ề các dung kháng do s ự bao trùm c ực nguồ n và Tuy nhiên, chúng ta thườ ng cực máng. Trong quá trình s ản xuất, các t ạ p chất trong các vùng c ực ngu ồn và cực máng khuếch tán theo m ọi hướ ng, ng, bao g ồm cả vùng phía bên dướ i cực cửa như minh họ a trong hình 2.16 [1]. Vùng bao trùm c ực ngu ồn và cực máng có xu th ế chiếm phần lớ n vùng di ện tích kênh trong các thi ết bị sử dụng quy trình nh ỏ hơn mi-cron. Vì các vùng bao trùm v ừa k ể là không ph ụ thuộc vào chiều dài của transistor, người ta thường đưa ra các đơn vị của Fa-ra trên một đơn vị chi ều r ộng cực cửa. B ằng cách đó, dung kháng phầ n bao trùm toàn b ộ c ực ngu ồn của transistor đượ c tính là: C gs C olW
(2.3)
Ngoài các dung kháng k ể trên, chúng ta c ũng cần phải quan tâm đến dung kháng vùng bao trùm c ực cửa và vùng thân do s ự nhô ra bên trên c ủa c ực cửa ở trên trên kênh và ở phía phía trên của thân khối transistor. Các vùng c ực nguồn và cực máng cũng tồn t ại dung kháng gi ữa các cực vớ i l ớp đế và một tr ở kháng khá r ất lớ n. n. Trong các mô ph ỏng mạch các tham s ố này có ở kháng thể ph p hải yêu cầu được xác định cụ thể. C ần chú ý r ằng, các k ỹ thu t huật đo lườ ng ng dung kháng ký sinh cực nguồ n, cực máng của transistor cũng tương tự phép ng dung kháng ký sinh c ủa tự phép đo lườ ng các dây khu ếch tán dài.
31
2.4 Dây k ết nói, via, ký sinh 2.4.1 Giớ i thiệu chung Hình 2.17 [1] minh h ọa mặt cắt ngang c ủa một sơ đồ nối dây và các nút n ối thông (via). Các dây d ẫn tạo ra t ừ các quá trình khu ếch tán lo ại n và lo ại p các vùng trên đế . Các dây dẫn si-líc đa tinh thể và các dây d ẫn kim lo ại được đặt trên t ấm đế, chúng được cách điện vớ i đế và v ớ i nhau bở i lớ p ô-xít si-líc. Các dây d ẫn đượ c thêm vào các l ớ p c ủ a chíp, xen k ẽ giữa các lớ p ô-xít si-líc: Một lớ p các dây d ẫn đượ c thêm vào phía trên c ủa một lớ p ô-xít si- líc đã có và sau đó dây chuyề n phủ lên thêm m ột lớ p ô-xít si-líc tạo lớp cách điện vớ i các dây d ẫn mớ i của mộ t lớ p khác. Các nút n ối thông đượ c cắt một cách đơn giản trong lớp cách điện ô-xít silíc; dòng kim lo ại đi qua các nút cắt tạo các liên k ết vớ i lớ p mong muốn phía bên dướ i.
Hình 2.17 Mặt cắt ngang của một chíp vớ i các dây dẫn và nút nối thông
Hình 2.18 Ảnh chụ p mặt cắt ngang của một liên k ết vớ i nút nối thông gồm 4 lớ p kim loại và một lớ p si-líc đa tinh thể
Các dây d ẫn và các nút n ối thông thường đượ c thực hiện b ằng kim lo ại nhôm. Tuy nhiên, công ngh ệ gần dây cho phép t ạo các liên k ết bằng đồng nhờ mộ t lớ p b ảo vệ đặ c biệt có khả năng ngăn đồng phá hủ y các vật liệu bán d ẫn trong t ấm đế. Các dây d ẫn kim lo ại ngoài nhiệm vụ dẫn tín hiệu, chúng còn có nhi ệm vụ cung cấ p nguồn cho toàn b ộ chíp. Các dây d ẫn kim lo ại trên chíp thườ ng có khả năng dẫn dòng hạn chế giống như vớ i bất k ỳ dây d ẫn nào khác. C ần chú ý r ằng, các dây d ẫn t ạo b ở i si-líc đa tinh thể và các quá trình khu ếch tán cũng gặ p phải hạn chế này, tuy nhiên vì chúng th ườ ng không 32
đượ c sử dụng để cung cấ p nguồn do đó các hạn chế vừa k ể không ảnh hưở ng trong quá trình thiết k ế. Khi dòng điện tử chạy theo tác động của điện áp trên đườ ng dây d ẫn, chúng va ch ạm vớ i vớ i các vân (grain) kim lo ại c ủa dây. N ếu năng lượ ng va chạm đủ lớ n nó có thể làm d ịch chuyển vân kim lo ại đi đáng kể. Đặ c biệt dưới tác động của dòng điện lớ n, các va chạm của điện tử vớ i các vân kim lo ại có thể kiến cho kim lo ại bị d ịch chuyển, quá trình này g ọi là hiện tượ ng di trú của kim loại (cũng còn đượ c biết vớ i tên hiện tượng di trú điệ n tử electromigration). Người ra dùng đại lượ ng giá tr ị trung bình c ủa số l ần thất b ại (failure) của dây dẫn (MTF - mean time to failure), là s ố lần thực hi ện kiểm tra thử mà 50% số vị trí kiểm tra thất b ại, làm đơn vị đánh giá. MTF được xác định là m ột hàm của mật độ dòng điện: MTF j n e Q / kT
(2.4) Trong đó j là mật độ dòng điện, n là m ột hằng số có giá tr ị từ 1 đến 3, Q là năng lượ ng hoạt động khu ếch tán. Các dây d ẫn kim lo ại có thể d ẫn đượ c dòng đến 1,5mA trên m ỗi bề r ộng dây m ột micrôn theo quy định của SCMOS. Ngh ĩa là một dây d ẫn có b ề r ộng 3m có thể d ẫn đượ c dòng đến 4,5mA. 2.4.2 Các tham số ký sinh của dây dẫn Các dây d ẫn, các nút n ối thông và các transistor đều tạo ra các thành ph ần ký sinh trong mạch. Trong khi c ảm kháng ký sinh không ph ải là vấn đề quan tr ọng trong công ngh ệ sản xuất mạch tích hợ p hiện nay, thì các dung kháng và tr ở kháng ký sinh l ại có ảnh hưở ng r ất lớn đến chất lượ ng hoạt động của mạch. Do đó, hiểu đượ c các tính chất cấu trúc của các thành phần t ạo ra các yếu tố ký sinh là c ực k ỳ quan tr ọng, cũng như cách để có thể ước lượ ng các tham số này từ layout của mạch. Các dung kháng ký sinh dây d ẫn khu ếch tán là các dung kháng ký sinh do các l ớ p tiế p giáp p-n t ại các biên c ủa vùng khu ếch tán vớ i các cấu trúc ống bên dướ i hoặc với đế. Các dung kháng này thay đổi theo điện áp gi ữa hai đầu vùng tiế p xúc, và nó thay đổ i trong quá trình hoạt động của m ạch. Và chúng ta thườ ng giả thiết chúng có giá tr ị tương ứng vớ i giá tr ị trong trườ ng hợ p xấu nhất. Để việc đo lườ ng dung kháng ký sinh dây d ẫn khu ếch tán m ột cách chính xác, chúng ta c ần ph ải tính toán riêng r ẽ cho phần đáy và các phầ n bên của dây bở i vì mật độ tạ p chất cũng như các tính chất của lớ p tiếp xúc thay đổi theo độ sâu. Để đo lườ ng dung kháng ký sinh toàn b ộ, chúng ta đo lườ ng vùng di ện tích khu ếch tán, gọi là dung kháng phía tường đáy, và phầ n chu vi, gọi là dung kháng phía tường bên (sidewall), như minh họa trong hình 2.19 [1] và tính t ổng các k ết qu ả tìm đượ c.
Hình 2.19 Minh họa các dung kháng của vùng khuếch tán
Dung kháng vùng lép (vùng nghèo - depletion) đượ c tính b ở i công thức: 33
C j 0
si xd
(2.5)
Biểu thức này còn đượ c g ọi là dung kháng vùng lép v ớ i phân c ực bằng không (zero bias), ngh ĩa là giả s ử r ằng điện áp b ằng không và có m ột sự thay đổi độ t ngột m ật độ tạ p chất từ Na sang Nd. Vùng lép vớ i bề r ộng xd0 đượ c minh họa trong hình 2.19 là v ùng màu đen; vùng này chia tách gi ữa các vùng n + và p + của tiế p giáp. B ề r ộng vùng lép đượ c tính b ở i công thức: x d 0
(
1
N a
1 2 siV bi )
N d
(2.6)
q
Trong đó, điện áp built- in đượ c cho b ở i công thức: V bi
kT q
N a N d
ln(
ni2
)
(2.7)
Dung kháng lớ p ti ế p xúc là m ột hàm của điện áp giữa hai đầu ti ế p xúc Vr và đượ c xác định bở i công thức: C j (V r )
C j 0
1
V r
(2.8)
V bi
Công thức 2.8 cho th ấy dung kháng ti ế p giáp giảm khi điện áp phân cực ngược tăng. Khác vớ i khái niệm dung kháng ti ế p xúc v ừa được đề cập, như chúng ta đã biết khi có các bản cực song song chúng s ẽ t ạo thành tụ điện. Do đó, chúng ta cũng phải ước lượ ng diện tích và chu vi c ủa các lớp tương ứng để ước lượ ng dung kháng cho các dây d ẫn si- líc đa tinh thể và dây d ẫn kim lo ại. Đầu tiên là khái niệm dung kháng đĩa (plate capacitance) tr ên một đơn vị diện tích đượ c tính toán vớ i giả thiết các đĩa song song vô tậ n. Trong thực tế, chúng ta phải xem xét đến sự thay đổi điện trườ ng ở các vùng biên c ủa đĩa, và để mô t ả khái niệm này người ta đưa ra khái niệm dung kháng rìa (fringe capacitance) trên đơn vị chu vi. Các dung kháng này đượ c minh họa trong hình 2.20 [1]. Các dung kháng có th ể đượ c tạo ra từ các tụ tạo thành bở i các dây d ẫn. Trong các công ngh ệ truyền thống, các dung kháng ký sinh có tính quyết định (dominant) là dung kháng t ạo b ở i các tụ đượ c t ạo thành do dây d ẫn và đế vớ i lớ p ô-xít si-líc là lớp cách điện giữa các đĩa song song tương ứng.
Hình 2.20 Minh họa các dung kháng của vùng khuếch tán
34
Tuy nhiên, khi s ố lượ ng các lớ p kim lo ại tăng lên và dung kháng lớp đế giảm xuống, dung kháng ký sinh sinh ra b ở i các tụ ký sinh t ạo b ở i các dây d ẫn dần tr ở thành quan trong hơn. Lúc này thì các b ề mặt song song c ủa hai lớ p khác nhau và c ủa các dây d ẫn trong cùng mộ t lớp đều cơ bản là các b ản cực tụ gây ra dung kháng. Dung kháng ký sinh gi ữa hai dây d ẫn trên hai lớ p khác nhau, ch ẳng hạn như Cm1m2 trong minh h ọa hinh 2.21[1], ph ụ thuộc vào diện tích các dây bao trùm nhau. Trong công ngh ệ sản xuất 0,5 m, dung kháng đĩa giữa lớ p kim loại m ột và hai vào kho ảng 0,3fF/cm 2 và giữa l ớ p kim lo ại m ột và ba vào kho ảng 0,1fF/cm 2. Khi hai dây d ẫn thuộc các lớ p khác nhau chạ y song song nhau d ọc theo một kho ảng cách nh ất định, vớ i các dây có s ự trùng phủ, thì dung kháng gi ữa các lớ p này có thể tr ở lên r ất lớ n. Dung kháng giữa các dây d ẫn trong cùng m ột l ớ p, chẳng hạn như Cw1w2 minh họa trong hình 2.21, đượ c t ạo b ở i các c ạnh thẳng đứng của các dây d ẫn kim loại. Vì các dây d ẫn kim lo ại thườ ng có chiều cao lớn hơn bề r ộng c ủa chúng, các thành d ựng đứng tr ở thành các tụ điện ký sinh không thể b ỏ qua. Tuy nhiên, dung kháng sinh ra b ở i các t ụ ký sinh ki ểu này phụ thuộc vào khoảng cách gi ữa các dây d ẫn. Các giá tr ị được đưa ra trong một tiêu chí k ỹ thuật của một quá trình sản xuất thường tương ứng với các dây có độ phân tách (separation) t ối thiểu. Dung kháng của các tụ ký sinh sinh ra b ở i các dây dẫn này giảm theo hệ số 1/x khi kho ảng cách giữa các dây d ẫn tăng. Cũng tương tự, khi các dây d ẫn trong cùng m ột lớ p chạy song song v ớ i nhau trên m ột đoạn dài thì dung kháng t ạo ra có thể tr ở lên r ất lớ n.
Hình 2.21 Minh họa các dung kháng của vùng khuếch tán
Tr ở kháng dây d ẫn cũng có thể đượ c tính toán b ằng cách đo lường kích thướ c của các dây d ẫn trong layout. Tuy nhiên chú ý là đơn vị tr ở kháng lúc này là Ôm trên đơn vị diện tích vuông ( /), chứ không phải Ôm trên đơn vị m2. Tr ở kháng củ a một đơn vị vuông c ủa v ật liệu là giống nhau cho m ột hình vuông v ớ i mọi kích thước. Để hiểu rõ, chúng ta xem xét minh họa 2.22 [1]. Giả s ử r ằng m ột đơn vị vuông củ a v ật liệu có tr ở kháng 1 . Khi đó, hai đơn vị vuông v ật liệu nối song song s ẽ có tr ở kháng là 1/2 . Nếu nối hai hình chữ nh ật như vậ y nối tiế p nhau t ạo thành m ột hình vuông kích th ướ c 22 thì tr ở kháng là 1 . Như vậy, chúng ta có thể đo lườ ng tr ở kháng của dây d ẫn bằng các đo lườ ng t ỷ lệ các cạnh (aspect ratio) c ủa nó.
35
Hình 2.22 Minh họa các dung kháng của vùng khuếch tán
2.4.3 Hiệu ứ ng bề mặt trên các k ết nối đồng Các vật liệu d ẫn điện tr ở kháng thấp như kim loại đồng không ch ỉ biểu hiện (exhibit) tính cảm kháng, mà chúng còn có m ột mối quan hệ tr ở kháng phức tạ p do m ột hiện tượ ng gọi là hiệu ứng bề m ặt (skin effect) t ạo ra. Hi ệu ứng bề m ặt làm cho tr ở kháng của dây d ẫn đồng tăng lên (trong khi cả m kháng gi ảm) ở các tần số cao. Chúng ta biết r ằng, m ột vật d ẫn lý tưở ng sẽ truyền d ẫn dòng điện ch ỉ trên bề m ặt của chúng. Dòng trên b ề mặt là một hiệu ứng biên (a boundary effect) - b ất cứ dòng nào bên trong dây dẫn s ẽ tạo ra một lực điện trườ ng gây ra m ột dòng ngh ịch làm suy gi ảm dòng. Dây d ẫn đồng sử d ụng trong các m ạch tích hợ p là một vật d ẫn không lý t ưở ng, khi làm vi ệc ở tần s ố thấ p, l ực điện trường đủ nhỏ và tr ở kháng đủ lớ n làm cho dòng đượ c dẫn trên toàn b ộ m ặt cắt của dây d ẫn. Tuy nhiên khi t ần s ố tín hiệu tăng lên, lực điện trường tăng lên. Như minh họ a trong hình 2.23 [1], v ớ i một dây d ẫn tách biệt, dòng ch ạ y qua một dây d ẫn có xu thế di trú ra phía cạnh ngoài khi t ần số tăng lên, vớ i dây d ẫn đặt gần đất (dây đất - ground) thì các dòng qua dây d ẫn và dây đất có xu thế tiến về gần nhau.
Hình 2.23 Minh họa các dung kháng của vùng khuếch tán
Hiệu ứng b ề mặt là nguyên nhân làm cho tr ở kháng dây d ẫn tăng lên theo tần s ố. Độ sâu bề m ặt (skin depth) là độ sau mà ở đó dòng điện d ẫn b ị giảm xu ống còn 1/e=37% dòng điện bề mặt và đượ c tính theo công thức: 1 (2.9) f
Trong đó, f là tần số tín hiệu, là hệ s ố t ừ thẩm, là độ điện d ẫn của dây. Công th ức cho thấy, độ sâu b ề m ặt giảm theo căn bậc hai của tần s ố tín hiệu. Cheng và c ộng sự c ủa ông đã tìm ra m ột ước lượ ng của độ tr ễ trên một đơn vị chiều dài của một dây d ẫn chịu đựng hiệu ứng bề mặt. Các giá tr ị tr ở kháng ướ c lượ ng ở tần số thấp và cao đượ c cho bở i: 1 (2.10) Rdc wt
36
1 (2.11) 2 (w t ) Trong đó, w và t lần lượ t là b ề r ộng và độ cao cua dây d ẫn. Công thức cho thấ y, hiệu ứng b ề m ặt làm cho tr ở kháng ở tần số cao R hf ph ụ thuộc vào tần số. Tr ở kháng trên m ột đơn vị độ dài có thể được ước lượ ng theo công th ức: Rhf
Rac
2 Rdc
(kRhf ) 2 (2.12)
k là một tr ọng số thườ ng có giá tr ị bằng 1,2. Hiệu ứng b ề mặt tr ở thành m ột yếu tố không thể bỏ qua trong các m ạch tích hợ p làm việc ở t ần số GHz . Điều mà nhiều b ộ vi x ử lý đ ã đạt đượ c ở t ần s ố này và m ột số chíp sẽ đạt đượ c trong m ột tương lai gần. 2.5 Các ràng buộc trong thi ết kế layout Các ràng buộc trong thiết k ế layout, còn đượ c gọi là các lu ật thiết k ế \cite{weste}, có thể được xem xét như một đơn thuố c (prescription) cho vi ệc chuẩn b ị các m ặt nạ quang khắc sử dụng trong quá trình s ản xuất các mạch tích hợ p. Các luật này cung c ấ p một mối liên hệ thông tin c ần thiết giữa ngườ i thiết k ế m ạch và k ỹ sư thực hiện quá trình trong giai đoạn sản xuất. M ục đích chính của các lu ật trong thi ết k ế layout là nhằm đạt đượ c m ạch vớ i sản lượ ng (yeild) tối ưu trong mộ t vùng di ện tích hình họ c nhỏ nhất có thể mà không ph ải đánh đổ i bằng độ tin cậy của mạch. Thông thườ ng, các ràng bu ộc thiết k ế biểu diễn m ộ t s ự thỏa hiệ p có thể tốt nhất giữa chất lượ ng ho ạt động của mạch và sản lượ ng. Các ràng bu ộc càng dè d ặt (vừa phải conservative) thì kh ả năng các mạch ho ạt động (function) càng ch ắc chắn (likely). Tuy nhiên, nếu các ràng bu ộc càng kh ắt khe, thì khả năng lớn hơn là chất lượ ng ho ạt động của mạch đượ c nâng cao. C ần chú ý r ằng, việc nâng cao ch ất lượ ng có thể phải đánh đổi bằng việc giảm sản lượ ng. Các ràng bu ộc thiết k ế cụ th ể hóa cho các nhà thi ết k ế những giớ i hạn hình họ c nhất định nào đó trong layout sao cho các mẫ u trên các t ấm wafer đượ c xử lý sẽ đượ c b ảo toàn về dạng hình họ c và topology c ủa các thiết k ế. Điều quan tr ọng c ần chú ý r ằng các ràng bu ộc thiết k ế không đưa ra mộ t ranh gi ớ i rõ r ệt nào (hard boundary) gi ữa việc sản xuất đúng và không đúng. Chúng chỉ bi ểu di ễn một m ức cho phép (tolerance) để đảm bảo vớ i một xác su ất cao nhất r ằng quá trình sản xuất và các thao tác trong chu ỗi con là đúng. Chẳ ng hạn, đôi khi chúng ta có th ể bắt gặ p một số thiết k ế layout vi ph ạm lu ật thiết k ế nhưng mạch vẫn hoạt động một cách đúng đắn, hoặc ngượ c lại, một số thiết k ế layout đảm b ảo tuân thủ các điều kiện ràng buộc thiết k ế nhưng vẫn không ho ạt động đúng. Mặc dù vậy, bất cứ m ột s ự vượ t xa quá đáng hoặc thường xuyên vượ t qua các ràng bu ộc thiết k ế sẽ làm tổ n hại (prejudice) nghiêm tr ọng đến sự thành công c ủa thiết k ế. Hai tậ p của các ràng bu ộc thiết k ế b ắt bu ộc (constraint) trong m ột quá trình liên quan đến độ r ộng các đườ ng và việc đảm bảo giữa các lớ p (interlayer registration). N ếu bề r ộng các đường đượ c thiết k ế quá nhỏ thì có thể dẫn đến khả năng các đườ ng sẽ bị đứt quãng. M ặt khác, nếu các dây d ẫn được đặt quá gần nhau thì c ũng có thể dẫn đến khả năng các đường đó bị hợ p lại thành một, nói cách khác ng ắn mạch của thể xả y ra giữa hai dây nối độc lậ p. Ngoài 37
ra, khoảng cách giữa các lớp độc lậ p c ũng có thể b ị ảnh hưở ng b ở i topology thẳng đứng của mộ t quá trình. Các ràng bu ộc thiết k ế về cơ bản giải quyết hai vấn đề: 1) tính tái sản xu ất hình học (geometrical reproduction) c ủa các đặc trưng (features) mà có thể đượ c tái sản xuất (reproduced) b ằng quá trình dùng m ặt n ạ và khắc b ản, và 2) các tương tác giữa các lớ p khác nhau. Có một số phương pháp sử dụng trong vi ệc mô tả các ràng buộc thiết k ế. Chúng bao gồm cả một số luật "mi-crôn" đượ c phát bi ểu ở m ức phân giải (resolution) vài mi-crôn, lu ật al-pha ( ), luật bê-ta () và lu ật d ựa trên lam- đa ( ). Các lu ật thiết k ế mi-crôn thường đượ c cho như một danh sách các kích thước đặc trưng tố i thiểu và các kho ảng cách cho t ất c ả các mặt n ạ đượ c yêu c ầu trong m ột quá trình s ản xu ất nào đó. Chẳ ng h ạn, b ề r ộ ng lớ p thinox tối thiểu có thể đượ c cụ thể hóa là 4 m. Đây là kiểu thông thườ ng cho s ản xuất công nghi ệ p. Trong các lu ật và kích thước đặc trưng cơ bản được xác định là hàm c ủa , và kích thướ c lướ i t ối thiểu cần thiết đượ c mô tả b ằng các hàm c ủa . Các hệ số và có thể có mối liên hệ thông qua m ột hệ số không đổi. Các luật thiết k ế d ựa trên lam-đa đượ c phổ biến bở i Mead và Conway và ch ỉ d ựa trên một tham số duy nhất. Tham số đặc trưng cho đặc trưng tuyế n tính - độ phân giải c ủa quá trình thực hi ện wafer hoàn ch ỉnh - và cho phép vi ệc t ỷ lệ b ậc một (mặc dù hiếm khi đượ c sử dụng). Một phát triển của mộ t số luật d ựa trên m ột tậ p mô t ả của các lu ật mi-crôn đượ c cho trong bảng 2.2. Bảng 2.2: Mở r ộng của các luật dựa trên từ luật
Mặt nạ Thinox
Polysilicon
Lớ p nhôm
Đặc tính
Bề r ộng tối thiểu Khoảng cách t ối thiểu Khoảng cách giữa lớ p p và n tối thiểu Bề r ộng tối thiểu Khoảng cách t ối thiểu Bề r ộng lớ p poly cực cửa (p) min Bề r ộng lớ p poly cực của (n) minh Độ mở r ộng lớ p poly cực của minh Bề r ộng Khoảng cách t ối thiểu
Các kích thướ c Luật Luật 4 m 2 4 m 2 8 m 4 3,75m 2 3,75m 2 4,5m 3 4,0m 2 3,5m 2 4,5m 3 4,5m 3
Cần chú ý r ằng sự suy giảm chất lượ ng hoạt động cũng như sự tăng diện tích vùng silíc có thể khiến cho các phương pháp không phù hợ p vớ i các mạch thương mại hay thậm chí là các mạch dùng thí nghi ệm. Trong phần này, chúng ta ch ỉ s ử d ụng các lu ật để minh họa các nguyên t ắc thiết k ế mà thườ ng hoàn toàn ẩn với ngườ i thiết k ế.
38
2.5.1 Các biểu diễn lớ p Các tiến bộ trong các quá trình CMOS th ườ ng là phức tạ p và ở một mức độ nào đó ngăn cản sự hình dung (visualization) c ủa t ất c ả các lớ p mặt nạ đượ c sử d ụng trong quá trình sản xuất thực t ế. Tuy vậ y quá trình thi ết k ế có thể đượ c tr ừu tượ ng hóa t ớ i một số có thể qu ản lý đượ c các mức layout khái ni ệm bi ểu di ễn các đặc trưng vật lý mà chúng ta có th ể quan sát đượ c trên các t ấm wafer si-líc cu ối cùng. Ở một m ức khái ni ệm đủ cao, tất cả các quá trình CMOS sử dụng các đặc trưng sau:
Hai lớp đế khác nhau.
Một sơ đồ màu đượ c cải tiến để phân biệt giữa các c ấu trúc nMOS và CMOS. Các mẫu khắc sơn (stipple pattern).
Các vùng có t ạ p chất của cả transistor loại n và p t ạo thành v ật liệu (forming material). Các bản cực cửa transistor. Các đườ ng k ết nối.
Các liên k ết giữa các lớ p. Các lớ p cho các quá trình CMOS điển hình đượ c biểu diễn trong các hình d ạng (figure) khác nhau ở dạng: Một sơ đồ (scheme) màu được đề xuất bở i JPL (Jet Propulsion Laboratory).
Các kiểu đườ ng. Hoặc là một hỗn hợ p của các d ạng trên. Bảng 2.3 và 2.4 trình bày m ột số trong các bi ểu diễn vừa k ể. Bảng 2.3: Biểu diễn lớ p JPL cho quá trình CMOS p-well
Màu
JPL Ký hiệu
p-well
Nâu
-
Ô-xít mỏng
Xanh lá cây
Transistor n
Poly p+ Kim loại 1 Kim loại 2 Nút cắt k ết nối
Đỏ Vàng Xanh da tr ời nhạt Xanh da tr ời đậm Đen
Si-lic đa tinh thể Transistor p Kim loại 1 Kim lo ại 2 K ết nối
Lớ p
Ghi chú Màu nâu bên trong là giếng p, bên ngoài là đế loại n Lớ p thinox không bao phủ biên giếng Thườ ng là n+ Bên trong là p+ -
Khi sơ đồ đượ c sử dụ ng, một ký hiệu (legend) sẽ đượ c s ử dụng để chỉ các phân chia lớ p. Ở mức mặt lạ, một số lớ p có th ể đượ c b ỏ qua để nhằm mục đích biểu diễn rõ ràng. Ở mức ký hi ệu, chỉ các transistor lo ại n và p đượ c trình bày. Điều này có th ể được xem như việc dịch sang mộ t tậ p thích hợ p các m ặt nạ cho b ất cứ quá trình nào đượ c xem xét.
39
Để thu ận tiện, các tên lớp CIF (Caltech Intermediate Form) như đượ c sử dụng bở i JPL cho CMOS thân (bulk) đượ c trình bày trong b ảng 2.4. B ảng 2.4: Biểu diễn các lớ p k ế tiế p cho quá trình CMOS p-well
Lớ p p-well Ô-xít mỏng Poly p+ Kim loại 1 Kim loại 2 K ết nố i
Màu xen k ẽ Nâu Đỏ Xanh lá cây Đỏ tía Vàng sậm Xanh da tr ờ i đậm Đen
Mã CIF CW CD CP CS CM CN CC
Phiên b ản 2.0 của CIF sử dụng bốn ký tự (số và chữ cái). Tuy nhiên t ựu trung chữ cái đầu tiên đượ c sử dụng để đặc tả lớ p quá trình, chẳng hạn chữ cái "C" cho các quá trình CMOS bulk. Theo sau là chữ cái thứ hai để xác định lo ại lớ p. 2.5.2 Các ràng buộc dự a trên lambda cho quá trình p-well Các ràng bu ộc này được xác định bở i các thành ph ần của:
Các kích thước đặc trưng. Sự phân tách (separation) và bao trùm (overlap) Có một số vấn đề chúng ta c ần thảo luận k ỹ bao gồm: 1. Các lu ật về s ự phân tách và kho ảng cách tốt. p-well thườ ng là một s ự khu ếch tán sâu, và do đó các kích thướ c bên ngoài c ần thiết phải cung cấ p (provide) độ rõ nét (clearence) đủ giữa các cạnh c ủa p-well và các vùng khu ếch tán p + lân cận. Trong các quá trình hiện nay, 5 là kích thước đủ để đảm bảo r ằng các cạnh củ a giếng p không b ị ngắn mạch vớ i các vùng khu ếc tán p+ trên đế loại n. Sự rõ ràng phía bên trong đượ c xác định b ở i sự chuyển tiế p (transition) c ủa vùng ô-xít qua vùng biên c ủa giếng như minh họa trong hình 2.24 [2]. M ặc dù mộ t s ố quá trình cho phép độ rõ nét phía bên trong b ằng không, tuy nhiên v ớ i các lu ật 3 các vấn đề chẳng h ạn như các hiệu ứng mỏ chim có thể xuất hiện. Một điểm nữa cũng cần phải lưu ý là để tránh các ngắn mạch, lớp thinox không đượ c phép bao trùm vùng biên c ủa giếng. Vì tr ở kháng tấm củ a giếng p có th ể lên đến vài k trên m ột đơn vị vuông, nên c ần thiết phải tiếp đất tốt cho giếng. Bằng cách này s ẽ ngăn chặn sự tụ t giảm điện áp một cách quá m ức do dòng rò đế. Như vậ y, lu ật thiết k ế để th ực hi ện việc ti ếp đất giếng p sẽ phải đặt các liên k ết đế bất cứ nơi nào khi không gian có thể và phù hợ p vớ i các lu ật thiết k ế đã đưa ra.
40
Hình 2.24 Ảnh hưở ng của sự khuếch tán một phía của giếng p
2. Các ràng bu ộc transistor. Khi lớ p si-líc đa tinh thể vượ t qua lớ p thinox, các vùng khuếch tán cực nguồn và cực máng đượ c che bở i vùng si- líc đa tinh thể này. Do v ậ y, các cực ngu ồn, cực máng và kênh s ẽ tự sắ p xếp đối vớ i c ực cửa. Điều quan tr ọng là lớ p si-líc đa tinh thể phải bao trùm hoàn toàn l ớ p thinox, nếu không transistor đượ c tạo ra sẽ bị ngắn mạch bởi đườ ng khu ếch tán giữa cực ngu ồn và cực máng. Để đảm b ảo điều kiện này, một lớ p si-líc đa tinh thể 1,5-2 cần phủ trên các c ạnh của vùng khu ếch tán. Đây chính là hiện tượ ng c ực cổng mở r ộng (gate extension). L ớ p ô-xít m ỏng phải mở r ộng bên trên l ớ p si-líc đa tinh thể cực cửa sao cho các vùng khu ếch tán tồn t ại và mang dòng h ạt tích điện vào và ra kh ỏi kênh. Một m ở r ộng 2 c ủa lớ p thinox c ần để bảo vệ các vùng c ực nguồn và cực máng. Các vùng si- líc đa tinh thể và thinox mà không gặ p nhau có ch ủ ý (intentionally) để tạo thành m ột transistor thì phải đượ c phân tách khoảng 0,5-1 . Luật cho sự rõ nét và bao trùm c ủa lớ p p+ và lớ p thinox là 2 . Hình 2.25 [2] minh h ọa trườ ng hợ p của cả hai lo ại transistor có m ột vùng thinox (khu ếch tán) và m ột vùng si- líc đa tinh thể. Một thiết bị loại n có m ột vùng giếng p bao quanh, trong khi đó mộ t thiết b ị lo ại p có một vùng p + bao quanh. Các vùng ô-xít mỏng không bao trùm b ở i lớ p p + là n+ và do đó là các thiết b ị lo ại n ho ặc các dây d ẫn (bên trong gi ếng p). Như vậ y, một transistor là m ột thiết b ị kênh p n ếu nó ở bên trong một vùng p +; ngượ c lại nó là một thiết bị kênh n. T ừ thảo luận trên, chúng ta th ấy r ằng có hai kiểu cấy ghép/khu ếch tán đượ c sử dụng để tạo thành các transistor lo ại p và lo ại n. Điều quan tr ọng cần chú ý là khu ếch tán p + đượ c t ạo ra b ằng phép "và lô-gíc" c ủa lớ p thinox và các m ặt n ạ p+, trong khi đó khuế ch tán n+ đượ c t ạo ra b ằng phép và lôgíc củ a lớ p thinox và mặt nạ đảo p+ (NOT p+ mask) 3. Các k ết nối. Có mộ t số k ết nối sẵn có: K ết nố i lớ p kim loại và lớ p thinox loại p (khu ếch tán p). K ết nố i lớ p kim loại và lớ p thinox loại n (khu ếch tán n). K ết nố i lớ p kim loại và lớ p si-líc đa tinh thể.
K ết nố i VDD và VSS (các k ết nối với đế). K ết nố i chẻ (split) (các k ết nối với đế).
41
Hình 2.25 Vị trí của các cạnh cực cổng và lớ p p+
Phụ thuộc vào quá trình, có th ể cho phép thực hiện các k ết nối khác chẳng hạn như các k ết nối "chìm" (buried) gi ữa lớ p thinox và lớ p si-líc đa tinh thể. Đôi khi, kiể u k ết nối này chỉ được phép đố i vớ i duy nhất mộ t loại của lớ p thinox. Vì đế đượ c chia thành các vùng giếng, m ỗi giếng tách biệt phải đượ c nối với điện áp cung c ấ p thích hợ p, ngh ĩa là giếng p phải đượ c n ối v ới điện áp VSS và đế (lớp đế mà chồng - (amount) lên gi ếng n) phải đượ c nối với điện áp V DD. Điều này có th ể đạt đượ c b ằng cách sử d ụng các k ết nối đế. M ột điều cần chú ý là m ọi thiết bị loại n phải đượ c bao quanh b ở i một giếng p và gi ếng p đó phải đượ c nối với điện áp VSS thông qua m ột k ết n ối VSS. Hơn nữa, m ỗi thiết b ị lo ại p phải có truy xu ất (access) đến một k ết nối VDD. K ết nối chia tách ho ặc hợp tương đương vớ i hai k ết nối kim loại khu ếch tán riêng r ẽ đượ c giữ (trap) vớ i nhau b ằng kim lo ại. Cấu trúc này đượ c sử dụng để nối các cực ngu ồn của transistor vớ i hoặt là đế hoặc là giếng p. Để đảm bảo biên vùng pha t ạ p p +/n+ nằm trong kho ảng 1 tính từ tâm của nút cắt nối thì phải áp d ụng luật 4-6 cho độ dài các nút c ắt nếu một nút cắt là một nút cắt kéo dài. Điều này đượ c minh họa trong hình 2.26 - 2.28 [2] cho các k ết hối hợ p VSS. Do các yêu c ầu khi quá trình đượ c t ỷ lệ (scaled), c ấu trúc k ết nối được chia tách đượ c sử dụ ng cho k ết nối hợ p VDD trong minh hoạ 2.26 - 2.28 thường đượ c sử d ụng nhiều hơ n (preferred). B ằng cách này, k ết qu ả là có thể tạo đượ c tất cả các nút c ắt k ết nối tương đối giống nhau cho toàn b ộ b ản thiết k ết, và như thế sẽ có nhi ều thu ận lợ i trong quá trình s ản xuất. Các k ết nố i có tính lọc c ũng có thể đượ c tạo ra từ k ết quả củ a vi ệc bỏ quên nút cắt k ết nối. Điều này có thể sẽ là một tai họa (fatal) cho s ản phẩm mặc dù trong thực tế, một số mạch vẫn có thể làm việc.
42
Hình 2.26 Minh họa sự gộ p của các k ết nối
4. Ràng buộc đối vớ i pha tạ p si-líc đa tinh thể. Trong m ột số quá trình CMOS p-well hiện nay, lớ p si-líc đa tinh thể thường đượ c pha tạ p p +. Điều này có ngh ĩa là bướ c pha tạ p p + ở một mức độ nào đó làm giả m n ồng độ t ạ p loại n+ trong lớ p si-líc đa tinh thể. Do đó có một sự gia tăng trong trở kháng tấm của lớ p si- líc đa tinh thể thườ ng b ắt gặ p trong các vùng. N ếu đây là mộ t vấn đề thì luật để thực hiên (the rule to follow) s ẽ phải đặt các dây d ẫn si-líc đa tinh thể (càng nhi ều càng t ốt) ra ngoài vùng p +. 5. Ràng buộc vớ i lớ p p+ và các c ạnh (edges) c ực cổng. Lu ật 2 cho việc phân tách (separation) giữa các cạnh cực cổng và lớ p p + t ạo cơ sở cho việc thay đổi nồng độ pha tạ p và cho phép s ự tạo thành của các đi-ốt một chiều như minh họ a trong hình 2.25 [2]. Như mộ t luật tổng quát trong quá trình s ản xuất, sự chuyển đổi từ vùng t ạ p chất n + 43
sang vùng p + không được điều khiển. Do đó, các định hướ ng l ớ p tiế p xúc khác nhau có các điện áp đánh thủng khác nhau có th ể dự đoán trong các quá tr ình khác nhau.
Hình 2.27 Minh họa sự gộ p của các k ết nối (tiế p)
6. Ràng buộc về các vành b ảo vệ. Các vành b ảo vệ là các vùng khu ếch tán p + trong đế loại n và vùng khu ếch tán n+ trong gi ếng p đượ c sử dụng để thu thậ p dòng các h ạt mang điện thiểu s ố (injected). N ếu chúng đượ c thực hiện (implemented) trong m ột đế thì các vành b ảo vệ p + phải đượ c nối vớ i VSS, trong khi đó các vành bảo vệ n+ phải đượ c n ố i vớ i VDD. Một khu ếch tán n+ vớ i vành b ảo vệ p+ đượ c minh họa trong hình 2.29 (hình a) [2], và m ột khuếch tán p + vớ i vành bảo v ệ n+ đượ c minh họa trong hình 2.29 (hình b) [2]. M ột layout điển hình cho m ột cổ ng lô-gíc NAND hai đầu vào sử dụng các lu ật thiết k ế d ựa trên đượ c minh họ a trong hình 2.30 [2].
44
Hình 2.28 Minh họa sự gộ p của các k ết nối (tiế p)
45
Hình 2.29 Thực hiện các vành bảo vệ n+ và p+
Hình 2.30 Mạch NAND 2 đầu vào sử dụng luật lambda cho CMOS p-well
46
2.5.3 Các luật dự a trên cho quá trình Si-líc trên tấm cách ly Bảng 2.5 [2] và hình 2.31 [2] minh h ọa một tậ p các lu ật cho quá trình si-líc trên t ấm cách ly (SOI) CMOS. Điểm thú vị về tậ p các lu ật này là ngoài lu ật về kho ảng cách giữa các thiết b ị lo ại n và thiết b ị lo ại p, các lu ật c ấy ghép (implant), các lu ật v ề khoảng cách giữa các lớ p kim lo ại, và các lu ật k ết nối, thì 2 là giá tr ị duy nhất c ần phải nhớ (tuy nhiên ai c ần phải nhớ các luật thiết k ế?). Luật kho ảng cách 2 giữa các cạnh đảo và lớ p si-líc đa tinh thể không liên quan (unrelated) đượ c sử d ụng để đảm bảo tránh sự ngắn mạch giữa lớ p si- líc đa tinh thể và các cạnh của đảo. S ự ngắn m ạch có thể xả y ra do s ự bao phủ của một lớ p ô-xít m ỏng hoặc lớ p ô-xit lỗi lên trên các đảo.
Hình 2.31 Luật dựa trên cho SOI
47
Bảng 2.5: Bảng luật dựa trên lambda cho SOI
Mặt nạ Đảo (island)
Cấ y ghép
Poly
Tiế p xúc
Kim loại
Đặc tr ưng Bề r ộng tối thiểu Khoảng cách thiết b ị p đến thiết bị n Khoảng cách thiết b ị n đến thiết bị n Khoảng cách thiết b ị p đến thiết bị p Bao trùm c ấy ghép/đảo Khoảng cách c ấ y ghép/đảo Bề r ộng tối thiểu Khoảng cách poly-poly t ối thiểu Khoảng cách poly-island t ối thiểu Khoảng cách poly đến cạnh đảo tối thiểu Sự mở r ộng poly trên đảo tối thiểu Khoảng cách trên c ạnh poly Khoảng cách trên c ạnh đảo Khoảng cách t ừ cạnh đảo Khoảng cách t ừ các đặc tr ưng không ti ế p xúc Bề r ộng tiế p xúc trên đảo Bề r ộng tiế p xúc trên poly Bề r ộng tối thiểu Khoảng cách t ối thiểu Kim lo ại bao trùm ti ế p xúc tối thiểu
Kích thướ c 2 2 3 3 2 2 2 2 2 2 2 2 3 2
2.5.4 Các luật thiết kế lớ p kim loại đôi Bảng 2.6 [2] và 2.7 [2] trình bày m ột s ố lu ật điển hình liên quan đến lớ p kim lo ại thứ hai vớ i l ớ p kim lo ại thứ nhất cho một quá trình hai l ớ p kim lo ại điển hình. Sự tăng trong bề r ộng và kho ảng chia tách (separation) c ủa lớ p kim loại thứ hai đảm b ảo ch ống lại s ự làm gãy các đườ ng dẫn hoặc làm ngắn mạch giữa các dây d ẫn sát nhau do topology th ẳng đứng. Bảng 2.6: Các luật kim loại đôi
Lớ p Kim lo ại 1 Kim lo ại 2 Via Nút cắt Khoảng cách nút c ắt-via
Bề r ộng 3m (2) 5m (4) 3m3m (22) 3m3m (22) -
Kho ảng cách 4m (3) 5m (4) 3m (2) 3m (2) 3m (2)
2.5.5 Tổng k ết các ràng buộc thiết kế Trong các thi ết k ế mang tính thương mạ i, các luật thường khó mà đủ để miêu tả các mạch có chất lượ ng cao. Do đó một số luật b ổ sung có th ể được đưa vào trong mộ t số quá trình chẳng hạn như:
Sự mở r ộng của lớ p si-líc đa tinh thể theo hướ ng mà các dây d ẫn kim loại đi ra khỏi một k ết nối. Sự khác biệt giữa độ dài cực cổng của transistor loại n và lo ại p. 48
Sự khác biệt về độ mở r r ộng của l ớ p si- líc đa tinh thể cực cổng phụ thu ộc vào độ dài củ a thiết b ị hoặc vào sự hình thành (construction) thi ết b ị. Bảng 2.7: Xây dựng các lớ p kim loại và via
Lớ p Kim loại 1 Via Kim loại 2
Kích thướ c 5m5m (44) 3m3m (22) 7m7m (55)
2.6 Thông số hóa quy trình Khi các công c ụ tự động tr ở lên phổ biến, sự cần thiêt về việc hiểu bi ết chi tiết các lu ật ở lên thiết k ế đối v ớ i các nhà thi ết k ế không còn quá quan tr ọng. Tuy nhiên, các công c ụ thiết k ế phải có một dạng thức mà trong đó các luật thiết k ế cho một quá trình ph ải đượ c trình bày (represent) rõ ràng (unambiguously). N ếu các lu ật c ần để thông tin gi ữa các công cụ, thì m ột dạng th ức dữ liệu ph p hải đượ c thiết k ế để có thể cung cấ p cho m ột giao tiế p thích h ợ p. Trong phần này, chúng ta s ẽ xem xét một s ố trong các ý t ưở ng ng này. Ý t ưởng chính là xác đị nh các cấu trúc quan tâm và trình bày các thu ật toán mà có th ể đượ c sử d ụng để xây d ựng các cấu trúc đó. Khoảng cách c ủa những cấu trúc này t ừ các cấu trúc khác thu đượ c bằng cách áp dụng các lu ật kho ảng cách thông thường đ ã biết. 2.6.1 Các lớ p trừu tượ ng ng Một khái ni ệm quan tr ọng trong quá trình t ổng h ợ p (và phân tích) t ích) là vi ệc định ra các lớ p tr ừu ng. Chẳng hạn, khu ếch tán n trong m ột quá trình t ạo giếng p bao g ồm một m ặt nạ ừu tượ ng. ô-xít mỏng "lô-gic và" v ớ i mặt nạ giếng p mà không c ần sự có mặt của p+, trong khi đó transistor khu ếch tán p bao g ồm lớ p ô-xít mỏng lô-gic và v ớ i m ặt n ạ p+ vớ i s ự vắng m ặt của giếng p. Chúng ta có th ể phát biểu điều này cho m ột quá trình p-well trong ngôn ng ữ giả thu ật (pseudo language) đượ c trình bày sau đây: NDI F F = N_ DI FFU FF USI ON = P_ WELL EL L AND AND THI NOX AND NOT P_ P _ PLU PL US PDI PDI F F = P_ DI FFU FF USI ON = P_ PLU PL US AND AND THI NOX AN AND NOT P_ WELL EL L ACTI ACTI VE = ACTI ACTI VE_TRA VE_ TRAN NSI STOR STOR_ AREA AREA = THI THI NOX AND POL POL YSI L I CON VDD VDDN = VDD VDD_ N_ DI FFUSI ON = THI NOX AND AND NOT P_ P _ WELL EL L AND AND NOT P_ P _ PL US VSSP = VSS_P_ VSS_ P_ DI FFU FF USI ON = THI THI NOX AN AND P_ PL US AND AND P_ WELL EL L
2.6.2 Các luật về khoảng cách Bằng việc sử dụng các lớ p tr ừu ng và các l ớp được định ngh ĩa thông thườ ng, ng, ừu tượ ng khoảng cách c ủa các lớ p có thể được xác định. Ch ẳng hạn: ND_ PD_ SP ND_ ND_ SP PD_ PD_ PD=SP CO_ CO CO_ _ SP CO_ GP_ SP
= = = = =
NDI FF TO PDI PDI F F SPAC SP ACII NG = 8*L 8* L AMBDA NDI FF TO NDI F F SPACI NG = 2*L 2* L AMBDA PDI PDI FF TO TO PDI PDI F F SPAC SP ACII NG = 2*L 2* L AMBDA CONTACT TO T O CO CON NTACT SPACI SPACI NG = 2* L AMBDA BDA CONTACT TO GATE POLY POLY SP SPACI NG = 2* L AMBDA BDA
2.6.3 Các luật xây dự ng ng Các lu ật xây d ựng đượ c sử d ụng để xây d ựng các cấu trúc. M ức đầu tiên của các cấu trúc là các lu ật độ r ộng tối thiểu. Ví d ụ: 49
TH_ TH_ WI D = MI NI MUM THI THI NOX WI DTH = 2* LAMBDA CO_ WI D = MI NI MUM CO CON NTACT WI DTH = 2* L AMBDA BDA PO_ PO_ WI D = MI NI MUM POL POL YSI L I CON WI DTH = 2*L 2* L AMBDA
Ngoài ra, các luật mở r r ộ ng cũng có thể phải đượ c cụ thể hóa, chẳng hạn: GP_ A_EXT A_ EXT = EXTENSI EXTENSI ON GATE_ POL POL Y OVER OVER ACTI ACTI VE = 2*L 2* L AMBDA PO_ PO_ CO_ EXT= EXTEN EXTENSI ON POL POL YSI L I CON OVER CO CONTACT = L AMBDA TH_ TH_ GP_EX P_ EXT= T=EXTEN EXTENSI SI ON THI THI NOX OVER VER GATE_POLY TE_POLY =2*LAM 2* LAMBDA TUB TUB_ TH_ TH_ EXT= EXT=EXTEN EXTENSI SI ON PTUB PTUB OVER THI THI NOX = 3* LAMBDA PP_ PP _ TH_ EXT=EXTEN EXTENSI ON PPL PP L US OVER THI NOX = 2* L AMBDA TH_ TH_ CO_ EXT= EXT=EXTEN EXTENSI SI ON THI THI NOX OVER VER CONTAC TACT = LAM L AMBDA
Sử dụng các tham s ố này, đoạn mã gi ả thu t huật toán sau là m ột ví dụ dùng để xây d ựng một transistor có độ dài tối thiểu và b ề r ộng là một biến số : t ype i s t r ansi st or t ype x, y i s t r ans i s t or o r pos i t i on w i s t r ansi st or wi dt h bui l d_ t r ans i s t or ( t y pe, x, y, w) { l = PO_ PO_ WI D + 2* TH_ TH_ GP_ EXT bui l d_r ect angl e( THI NOX, x- 1/ 2, y- w/ 2, x+1/ 2, y+w/ 2) i f ( t ype= ype== N_ TRA TRANSI STOR) { wp=w+2* TUB_TH_ TUB_ TH_EXT EXT l =l +2*TU 2* TUB_TH B_TH_ _ EXT EXT bui l d_r ect angl e( PTU PTUB, x- 1/ 2, y- wp/ 2, x+1/ 2, y+wp/ 2) } el se { wp=w+2* PP_ PP _ TH_EXT TH_ EXT l =l +2*PP_ TH_ TH_ EXT EXT bui l d_r ect angl e( PPLU PPLUS S, x- 1/ 2, y- wp/ 2, x+1/ 2, y+wp/ 2) } wp=w+2* GP_ A_EXT A_ EXT l =PO_ PO_ WI DTH bui l d_r ect angl e( POLY, LY, x- 1/ 2, y- wp/ 2, x+1/ 2, y+wp/ 2) }
K ết quả thu đượ c là một transistor chưa đượ c k ết nối như minh họ a trong hình 2.32 [2]. Thực hi ện thêm một s ố k ết nối theo tham s ố hóa chúng ta thu đượ c một transistor hoàn chỉnh. M ột transistor lớn hơn đượ c minh họa v ớ i các k ết nối đa cực ngu ồn và cực máng. D ải si-líc đa tinh thể và d ải k ết nối cực nguồ n/cực máng c ũng đượ c minh họa. Một cấu trúc transistor thay thế đượ c minh họa cùng với các kích thướ c kèm theo trong hình 2.33 [2]. Transistor này có d ải si-líc đa tinh thể đượ c giảm nhỏ bằng cách đánh đổ i (tr ả giá) cho s ự giảm nhỏ số k ết nối cực ngu ồn/máng. 50
Hình 2.32 Các transistor đượ c xây dựng theo thuật toán
Hình 2.33 Các transistor đượ c xây dựng theo thuật toán (tiế p)
51
52
Chương 3 : Thiết kế lô-gíc và mạch CMOS 3.1 Giớ i thiệu chung Chúng ta biết r ằng trong m ột transistor CMOS c ực cửa điều khiển dòng chạ y qua kênh giữa các cực máng và c ực ngu ồn. N ếu đơn giản hóa ho ạt động này, chúng ta có th ể thấy các transistor CMOS có thể xem như các chuyển mạch. Một chuyển mạch CMOS lo ại n (còn g ọi là chuyển mạch lo ại n) đượ c minh họa trong hình 3.1 [1] cùng v ớ i biểu diễn sơ đồ của chuyển mạch. Trong minh h ọa, cực c ửa đượ c kí hiệu là nhãn tín hi ệu s, cực máng b ở i nhãn a và c ực nguồn bở i nhãn b. Ở chuyển mạch lo ại n, chuyển m ạch đóng (hay ON) nếu c ực máng và c ực nguồn đượ c nối với nhau. Điều này xả y ra khi có tín hi ệu "1" (tức là điện áp cao, gi ả sử là 5V) tại cực c ửa. Chuyển mạch hở (hay OFF) n ếu không có s ự k ết nối cực ngu ồn và cực máng. Và điều này được đảm b ảo khi có tín hi ệu "0" (hay điện áp thấ p, giả sử là 0V) tại cực cửa. Những điều kiện này đượ c tổng k ết như trong minh họa ở hình b. M ộ t chuyển mạch loại n là mộ t chuyển m ạch g ần hoàn h ảo khi m ột tín hiệu "0" đượ c chuyển từ đầu vào tới đầu ra (hay nói một cách khác t ừ a tớ i b). Tuy nhiên, chuy ển mạch lo ại n là một chuyển mạch không hoàn hảo khi truyền tín hiệu "1". Điều này là b ở i vì mức điện áp tương ứng v ớ i tín hiệu "1" b ị suy giảm m ột chút. Hình c di ễn t ả điều này. Chuyển mạch lo ại p, đượ c minh họa trong hình d, có các tính chất khác vớ i chuyển mạch lo ại n. Chuyển mạch loại p đóng (ON) khi có mộ t tín hiệu "0" tại c ực c ửa, và hở (OFF) khi có tín hi ệu "1" tại cực c ửa. Như vậ y, chúng ta thấ y r ằng các chuyển mạch lo ại p và n đóng và mở tương ứng vớ i các tín hi ệu t ại cực cửa là đối ngượ c nhau (hay còn g ọi là bù nhau). Trong s ơ đồ, để diễn tả s ự khác bi ệt này của m ột chuyển mạch lo ại p, chúng ta thêm m ột vòng tròn nh ỏ như trong hình e. Dễ thấy r ằng, chuyển m ạch loại p là gần hoàn h ảo khi truyền tín hiệu "1" nhưng là không hoàn hả o khi truyền tín hiệu "0".
Hình 3.1 Mô tả hoạt động chuyển mạch của transistor
Từ các nguyên lý c ơ bản tương ứng của các chuyển mạch loại n và lo ại p nêu trên, ngườ i ta có thể xây d ựng một loạt các mạch lô-gic CMOS.
53
3.2 Cấ u trúc lô-gíc CMOS Trong mộ t số trườ ng hợ p, phần diện tích dùng b ở i mộ t cổng CMOS t ĩnh bù đầy đủ (fully complementary static CMOS gate) có th ể lớn hơn cần thiết yêu cầu, do đó tốc độ của mạch có thể quá chậm, hoặc chức năng của mạch có thể không có kh ả năng thực hiện đượ c như một cấu trúc bù thu ần túy (ch ẳng h ạn như trong các mạch PLA kích thướ c lớ n). Trong những trườ ng h ợp này, người ta thườ ng mong mu ố n th ực hiện các cổ ng nhỏ hơn vớ i tốc độ nhanh hơn vớ i sự tr ả giá về sự tăng độ phức tạ p thiết k ế và ho ạt động và có thể cả sự giảm tính ổn định của mạch. Có r ất nhiều cấu trúc lô-gic CMOS thay th ế có thể đượ c sử dụng. Trong phần này chúng ta xem xét m ột số cấu trúc cơ bản. 3.2.1 Lô-gic bù CMOS Các cổng đảo (inverter), NAND và NOR bù đượ c minh họa trong hình 3.2 [2]. T ất cả các cổng bù này có thể đượ c thiết k ế như các mạch không t ỉ lệ (ratioless). Ngh ĩa là, nếu t ất cả các transistor là cùng kích thướ c thì mạch sẽ hoạt động đúng. Cần chú ý r ằng, trong các phương pháp nhằm tối ưu tốc độ của các mạch có thể sử dụng các transistor vớ i các kích thướ c khác nhau.
Hình 3.2 Lô-gic bù CMOS
Một cấu trúc cổng phức tạ p tạo ra cơ sở so sánh gi ữa các họ lô-gic với hàm đầu ra Z ( AB ) C ( D E ) đượ c minh h ọa trong hình 3.3 [2]. 54
Hình 3.3 Cổng phức tạ p của lô-gic bù CMOS
Trong các sơ đồ mạch các liên k ết đế cũng đượ c minh họa. Trong các sơ đồ sau đây, để tăng sự rõ ràng chúng ta t ạm bỏ qua các liên k ết này. Tuy nhiên c ần phải hi ểu là các liên k ết này cực k ỳ quan tr ọng b ở i chúng t ạo ra một số thay đổi ho ạt động quan trong trong các mạch CMOS. 3.2.2 Lô-gic giả nMOS Một cổng lô-gic giả nMOS đượ c minh họa trong hình 3.4 [2] . Đây là một mở r ộng của mộ t m ạch đảo. Trong m ạch này, thiết b ị t ải (load) là mộ t transistor lo ại p đơn lẻ vớ i cực cửa đượ c nố i vớ i V SS. M ạch này tương đương vớ i m ột cổ ng nMOS nguyên th ủ y ngo ại tr ừ s ự suy yếu hoặt mở r ộng tải nMOS đượ c thay th ế bở i một transistor lo ại p. Cũng tương tự cổng nMOS, t ỷ số độ lợ i (gain ratio) của tải transistor lo ại p với các transistor đẩ y kéo (driver) n load\driver có thể đượ c chọn để đạt được đủ độ l ợi để t ạo ra đượ c các mức lô-gic thống nhất. Việc thiết k ế các kiểu cổng loại này liên quan đế n việc t ỷ lệ các kích thướ c c ủa transistor để đảm bảo việc chuyển mạch đúng. Nghĩa là, t ỷ s ố n\ p hiệu d ụng phải phù hợ p vớ i giá tr ị dự đoán cho tất c ả các tổ h ợ p các giá tr ị đầu vào. Vấn đề chính mà lo ại cổng này (cũng tương tự như các cổng nMOS thông thườ ng) là sự tiêu tán công su ất t ĩnh xả y ra b ất c ứ khi nào chu ỗi kéo-xu ống đượ c mở (pull-down chain is turned on). Vì t ải p luôn luôn m ở , khi transistor kéoxuống n mở , dòng chảy trong cấu trúc c ực cửa. Một c ổng giả nMOS có n đầu vào sẽ có n+1 transistor. Trong m ột cổng bù, t ải dung kháng trên m ỗi đầu vào ít nhất bằng hai đơn vị t ải cực cổng (dung kháng vào c ực cổng c ủa một transistor kích thướ c một đơn vị). Trong lo ại cổng này, t ải tối thiểu có thể là một đơn vị tải cực cổng, và như vậ y, có thể sử dụng chỉ một transistor cho mỗ i thành phần của hàm đầu vào. Tuy nhiên, n ếu các transistor kéo (driver) v ớ i kích thướ c tối thiểu đượ c sử dụng, thì hệ số khuếch đại kéo-lên phải giảm để cho phép các 55
mức chênh lệch (margin) nhi ễu chính xác. Và điều này lại làm chậm sự nâng (rise) thờ i gian của cổng. Cổng giả nMOS không có nhi ều điểm m ạnh so vớ i c ổng nMOS thông thườ ng v ớ i cổng t ải suy yếu. Trong quá trình CMOS nó cung c ấ p một phương pháp cho việc thực hiện (emulate) các mạch nMOS. Mộ t lợi điểm có thể có của tải pMOS là nó không ch ịu ảnh hưở ng của hiệu ứng thân như đố i vớ i tải suy yếu nMOS. Mộ t cổng loại này đượ c thực hiện có thể có mật độ lớn hơn một cổng bù đầy đủ .
Hình 3.4 Lô-gic giả nMOS
3.2.3 Lô-gics CMOS độ ng Một c ổng CMOS động cơ bản đượ c minh họa trong hình 3.5 [2]. C ổng này bao gồm mộ t cấu trúc lô-gic dùng transistor lo ại n mà nút đầu ra đượ c tiền nạ p (precharge) t ớ i VDD b ở i mộ t transistor (n ạp trướ c, tiền n ạ p - precharge) lo ại p và xả (discharge) có điều kiện b ở i một transistor loại n nố i vớ i V SS. (Ho ặc m ột cách khác, một transistor lo ại n nạp trướ c t ớ i VSS và mộ t transistor lo ại p xả tớ i V DD và m ột khối lô-gic gồm các transistor lo ại p đượ c s ử dụng). Gọi là một đồng hồ pha đơn. Vớ i m ạch s ử dụng các transistor lo ại n, pha n ạp trướ c xảy ra khi =0. Đườ ng đến nguồn cung cấ p V SS được đóng thông qua transistor loạ i n "chuyển mạch đất" khi =1. Dung kháng đầu vào của loại cổ ng này c ũng tương tự như của loại cổng giả nMOS. Thờ i gian kéo-lên (pull-up) có th ể đượ c c ải thiện nhờ ưu điểm c ủa chuyển m ạch tích cực nhưng thờ i gian kéo xu ống (pull-down) l ại tăng lên do chuyển mạch đất. Chú ý r ằng, chuyển mạch đất có thể đượ c b ỏ đi nếu các đầu vào được đả m bảo tr ở về giá tr ị không trong suốt quá trình n ạp trướ c. Một s ố vấn đề rõ ràng trong c ấu trúc này. Th ứ nhất, các đầu vào có th ể ch ỉ nạ p trong giai đoạn tiền nạ p. N ếu điều kiện này không được đả m bảo, các hiệu ứng tái phân tán n ạ p có thể phá hỏng điện áp nút đầu ra. Các cổng CMOS động đơn pha đơn giả n không th ể mắc cascade vớ i nhau. Chẳng hạn, xem xét hình 3.6 [2]. Khi các c ổng đang đượ c tiền nạ p, các nút đầu ra đượ c n ạp đến V DD. Trong giai đoạn đánh giá, đầ u ra của c ổng đầu tiên sẽ đượ c xả có điều kiện. Tuy nhiên có m ột sự tr ễ do thờ i gian kéo-xu ống là hữu h ạn. Do đó nút tiền n ạ p có thể xả nút đầu ra của cổng tiế p sau t rướ c khi cổng thứ nh ất được đánh giá một cách chính xác.
56
Hình 3.5 Lô-gic nMOS động
Hình 3.6 Sơ đồ cascade các cổng động
Hình 3.7 Một mạch lô-gic 4 pha
Một cải tiến của cấu trúc này s ử dụng d ạng lô-gic hai ho ặc bốn pha đượ c phát triển cho các lo ại trước đây của thiết k ế MOS. Các cổng này thêm vào m ột pha đồng hồ lấy và giữ mẫu vào các chu trình ti ền nạp và định giá. Hình 3.7 [2] minh h ọa một phiên b ản thực hiện sơ đồ cổng vớ i các quan h ệ nhịp đồ ng hồ tương ứng đượ c sử dụng. Sự k ết hợ p của các nhịp đồng 57
hồ 12 và 23 đượ c sử d ụng trong ví d ụ này. Trong su ốt nhị p 1, nút PZ đượ c tiền n ạ p, trong khi nút Z đượ c giữ ở giá tr ị trước đó của nó. Khi 2 thì nút PZ gi ữ nguyên tiền nạ p và, ngoài ra, cổng truyền được đóng, và do đó tiề n nạ p nút Z. Khi 3, cổng thực hiện định giá và nút PZ đượ c xả có điều kiện. Nút Z thực hiện theo sau nút PZ khi c ổng truyền vẫn đóng. Cuố i cùng, khi 4, nút Z s ẽ đượ c giữ trong tr ạng thái đã được định giá. Tr ạng thái c ủa nút PZ là không quan tr ọ ng nữa. Có bốn lo ại cổng đặc trưng bởi giai đoạn mà sự định giá đượ c thực hiện. Khi sử d ụng các mạch lô-gic lo ại này, chúng c ần phải đượ c sử dụng theo một tuần t ự thích hợ p. Các k ết nối cho phép gi ữa các loại này đượ c minh họa trong hình 3.8 [2].
Hình 3.8 Các liên k ết cho phép giữa các loại - Kiểu A
Chú ý r ằng b ốn mức lô-gic có thể được đánh giá trong khung thờ i gian m ột bít. Một cách khác, một sơ đồ m ạch lô-gic hai pha có th ể đượ c sử d ụng b ằng việc dùng lo ại b ốn cổng và lo ại hai cổng ho ặc loại một cổng và loại ba cổng. Một cấu trúc b ốn pha khác đượ c minh họa trong hình 3.9 [2] cùng v ớ i d ạng sóng xung nh ịp đồng h ồ. Cấu trúc này có các h ạn chế 58
tích hợp đượ c minh họa trong hình 3.10 [2]. C ổng loại này có sự hạn chế hơn so vớ i loại cổng đã đề c ậ p trong phần trên, tuy nhiên m ạch đơn giản hơn và số xung nh ị p đồng hồ đượ c giảm nhỏ, cùng v ớ i layout có thể đượ c thu nhỏ hơn. Một cách tương tự, một hệ thống hai pha có th ể dùng c ổng loại hai và b ốn.
Hình 3.9 Mạch lô-gic bốn pha - Kiểu B
Hình 3.10 Các liên k ết cho phép giữa các loại - Kiểu B
59
Số lượ ng các transistor c ần thiết cho các cổng lô-gic lo ại này ho ặc là n+4 ho ặc là n+3 vớ i một c ổng có n đầu vào. Một v ấn đề g ặ p phải c ủa các cổng loại này là tần số của tín hiệu đồng hồ phải đủ dài để cho phép c ổng chậm nhất có thể thực hiện đánh giá đượ c. Do vậy, các cổng tốc độ nhanh có xu th ế đánh giá nhanh và phầ n còn lại của chu k ỳ là thờ i gian chết (dead time). Các vấn đề thiết k ế hệ th ống khác nả y sinh là khi c ố gắng phân b ố bốn hoặc nhiều hơn đồng hồ và động bộ chúng xung quanh m ột chíp lớ n. 3.2.4 Lô-gic CMOS định thờ i Một c ổng CMOS định thời (clocked) đượ c minh họa trong hình 3.11 [2]. D ạng m ạch lô-gic này kh ở i ngu ồn đượ c sử d ụng để xây d ựng các mạch lô-gic CMOS v ớ i công su ất tiêu tán nhỏ. Lý do sự tiêu tán công su ất động giảm xuất phát chủ yếu từ các xem xét layout CMOS cổng kim lo ại. Các cấu trúc này ch ủ yếu đượ c s ử dụng trong các m ạch lô-gic để tạo thành các c ấu trúc định thờ i t ạo thành các m ạch chốt (latch) ho ặc các giao tiế p vớ i các d ạng động khác của cổng lô-gic. Các c ổng loại này có cùng dung kháng đầu vào như các cổng bù thông thường nhưng có thờ i gian nâng (rise) và xu ống (fall) l ớn hơn do các transistor nhị p đồng hồ nối tiế p (series clocking transistor).
Hình 3.11 Lô-gic CMOS khóa
3.2.5 Lô-gic đô-mi-nô CMOS Một c ấu trúc cải tiến c ủa c ấu trúc lô- gic CMOS định thờ i cho phép m ột đồng hồ đơn lẻ thực hiện tiền nạp và đánh giá mộ t tậ p m ắc nối tiế p (cascade) c ủa các khối lô-gic động. Cấu trúc này liên quan đến việc sử dụ ng một bộ đệm CMOS t ĩnh trong mỗi cổ ng lô-gic. Hình 3.12 [2] minh họa cấu trúc này. Trong su ốt quá trình tiền nạ p (precharge, =0), nút đầu ra của cổng động đượ c tiền n ạp đến mức cao và đầu ra của b ộ đệm ở tr ạng thái thấ p. Vì các khối lô-gic dãy con đượ c cung cấ p (feed) t ừ bộ đệm, các transistor trong các kh ối lô-gic dãy con s ẽ ng ắt 60
(OFF) trong su ốt giai đoạn tiền nạ p. Khi cổng được đánh giá, đầu ra sẽ đượ c x ả có điều kiện (cưỡ ng b ức?) làm cho đầu ra của bộ đệm được cưỡ ng b ức lên mức cao. Do v ậy, mỗi cổng trong dãy có th ể t ạo ra nhiều nhất một chuyển d ịch (1 0). Và như vậ y, b ộ đệm có thể chỉ tạo ra mộ t chuyển dịch (0 1). Trong m ột tậ p mắc cascade các khối lô-gic, mỗi tr ạng thái được đánh giá và làm cho các tầ ng tiếp theo sau được đánh giá - theo cùng cách như hiệ n tượng đổ chồng của các con đô-mi-nô. Số lượ ng tầng lô-gic m ắc cascade có thể là bất k ỳ miễn là toàn dãy có th ể được đánh giá trong một pha đồ ng hồ đánh giá. Một đồng hồ đơn có thể đượ c sử dụng để tiền nạp và đánh giá tất cả các cổng lô-gic trong m ột khối.
Hình 3.12 Lô-gic đô-mi-nô CMOS (a) Cổng cơ bản (b) phiên bản t ĩnh - tần số thấ p và (c) phiên bản chốt
Tuy nhiên c ấu trúc này c ũng gặ p phải mộ t số vấn đề. Thứ nhất, chỉ có các c ấu trúc không đảo là có thể khi sử dụng cấu trúc này. Th ứ hai, , mỗ i cổng phải có bộ đệm. Cuối cùng, cũng tương tự v ớ i cấu trúc CMOS định thờ i, hiện tượ ng tái phân tán n ạ p có th ể là m ột vấn đề 61
vớ i c ấu trúc này. Ph ụ thu ộc vào từng tình hu ống, ảnh hưở ng c ủa các vấn đề này có th ể đượ c giảm thiểu. Chẳng h ạn, trong các m ạch lô-gic phức tạ p, ví dụ như các đơn vị mạch lô-gic s ố học, các cổng XOR cần thiết có thể đượ c thực hiện một cách thông thường (như các cổ ng bù) và đượ c kéo bở i mạch đô-mi-nô cu ối cùng. M ạch đệm thườ ng cần thiết từ các xem xét t ải mạch và c ũng có thể cần thiết trong m ọi trườ ng hợ p. Cổng đô-mi-nô có thể đượ c tạo t ĩnh bằng việc thêm vào m ột transistor loại p yếu, như trong hình 3.12 (hình b). M ột transistor lo ại p yếu ngh ĩa là m ột transistor có hệ số khu ếch đại nhỏ (tức là t ỷ số W/L nhỏ). Hệ số khuếch đại của transistor này ph ải làm sao không phá (chống - fight) các transistor kéo-xu ống, tuy nhiên ph ải có khả năng cần b ằng các ảnh hưở ng của s ự rò r ỉ. Điều này cho phép ho ạt động tần s ố th ấ p hoặc hoạt động t ĩnh khi đồ ng hồ đượ c giữ ở mức cao. Trong trườ ng hợ p này, thờ i gian kéo-lên có th ể nhỏ hơn tốc độ của kéo-xu ống. Ngoài ra, dòng rút b ở i c ổng trong quá trình đánh giá phải đủ nhỏ sao cho công su ất tiêu tán t ĩnh của m ạch không b ị ảnh hưởng. Thườ ng chọn là giá tr ị b ằng 10 A. Chú ý r ằng, transistor tiền n ạ p có th ể đượ c bỏ đi nếu thờ i gian giữa các pha đánh giá đủ dài để cho phép transistor kéo-lên yếu có thể nạp cho nút đầu ra. Nhi ều tác gi ả cho r ằng việc thêm một transistor kéo-lên loại p yếu có thể làm giảm nhẹ vấn đề tái phân tán n ạ p và cải thiện mức dự tr ữ chống (margin) nhiễu. Tuy nhiên, nh ững k ết lu ận này không đúng cho các mạ ch t ốc độ cao, vì thời gian đáp ứng c ủa transistor lo ại p yếu này thườ ng r ất chậm. Việc thêm transistor như vừ a nêu có thể ảnh hưởng đến tốc độ hoạt động của mạch. Ngoài phương pháp vừ a nêu, cổng này có th ể đượ c tạo thành m ạch chốt bằng cách thay th ế m ột transistor hồ i tiế p lo ại p yếu như trong hình 3.12 (hình c). 3.2.6 Lô-gic chuyển mạch điện áp cascade Dạng cơ bản củ a loại mạch lô-gic này đượ c minh họ a trong hình 3.13 (hình a) [2] . Đây là một kiểu vi phân c ủa m ạch lô-gic b ở i vì nó yêu c ầu c ả tín hiệu "thật" (true) và tín hi ệu bù cần đượ c nối vớ i các cổng. Hai c ấu trúc chuyển mạch nMOS bù đượ c hình thành và sau đó đượ c nói vớ i một cặ p các transistor kéo-lên lo ại p được đấu chéo. Khi các đầu vào chuyển mạch, các nút Q và Q đượ c kéo ho ặc lên mức cao ho ặc kéo xu ống mức thấ p. H ồi tiếp dương đượ c s ử d ụng cho các transistor kéo-lên lo ại p để làm cho cổng thực hiện chuyển m ạch. Các cây lô-gic có th ể đượ c tối thiểu hóa thêm t ừ dạng vi phân đầy đủ b ằng cách sử dụng các thu ật toán tối thiểu hóa hàm lô-gic. C ấu trúc này, còn đượ c gọi là cấu trúc cổng lô-gic chuyển m ạch điện áp cascade (CVSL) t ĩnh, có tốc độ hoạt động chậm hơn cổng bù thông thườ ng s ử dụng mộ t cây lô-gic lo ại p và cây lô-gic lo ại n. Điều này là b ở i vì trong quá trình th ực hi ện chuyển mạch, các transistor kéo-lên lo ại p phải chống lại ảnh hưở ng củ a các cây kéo-xu ống lo ại n. Một thực hi ện cụ thể củ a loại cấu trúc cổng này đượ c minh họa trong hình 3.13 (hình b). C ần chú ý r ằng đây không phả i là cách thực hiện tối ưu của loại cổng này. Thực hiện việc cải tiến hơn nữa thu đượ c k ết quả là một phiên bản được định giờ (clocked) của cấu trúc CVSL như tr ình bày trong hình 3.13 (hình c). C ấu trúc này thực ra chỉ là hai cổng đô -mi-nô ho ạt động dựa trên các đầu vào "thật" và bù vớ i một cây lô-gic đượ c tối thiểu. Các điểm m ạnh của lo ại cấu trúc lô-gic này so v ớ i cấu trúc đô-mi-nô là sự đơn giản và khả năng tạo ra b ất cứ biểu thức lô-gic nào, điều này làm cho nó tr ở thành một họ mạch lô-gic hoàn chỉnh. Các điểm mạnh này đạt đượ c vớ i sự tr ả giá về việc phải định đườ ng thêm, về diện tích vùng tích c ực, và v ề độ phức tạ p kèm theo vớ i việc xử lý lô-gic rãnh đôi (double rail 62
logic). Tuy nhiên, kh ả năng có thể tạo m ọi hàm lô-gic tr ở thành một ưu điểm khi có yêu c ầu việc tổng hợ p mạch t ự động. Một ví dụ mạch XOR bốn đường đượ c tổng h ợ p sử d ụng lo ại cấu trúc lô-gic c ải tiến CVSL đượ c minh họa trong hình 3.14 [2].
Hình 3.13 Lô-gic CVSL (a) Cổng cơ bản (b) phiên bản t ĩnh và (c) phiên bản động
3.2.7 Lô-gic đô-mi-nô cải tiến Một cấu trúc c ải tiến của m ạch lô-gic CMOS đô-mi-nô đượ c trình bày trong hình 3.15 [2]. Về cơ bản, bộ đệm đô-mi-nô đượ c lo ại bỏ trong khi đó các khố i lô-gic m ắc cascade đượ c lần lượ t bao gồ m các transistor lo ại p và lo ại n. Trong m ạch hình a, khi =0, t ầng đầu tiên (vớ i lô-gic transistor lo ại n) đượ c tiền nạ p mức cao. T ầng thứ hai đượ c tiền nạ p ở mức thấ p và 63
tầng thứ ba đượ c tiền nạ p ở m m ức cao. Vì t ầng lô-gic thứ hai đượ c bao gồm các transistor lo ại p, chúng s ẽ ngắt trong su ốt quá trình ti ền nạp. Hơn nữa, vì t ầng thứ hai đượ c tiền nạ p mức thấ p, các transistor lo ại n trong t ầng lô-gic th ứ ba cũng sẽ b ị ng ắt. Các liên k ết ết đô-mi-nô có thể có đượ c minh họa trong hình b.
Hình 3.14 Cổng CVSL XOR bốn đầu vào
Hình 3.15 Các khối lô-gic đô-mi-nô loại n và loại p xen k ẽ
Các vấn đề gặ p phải loại cấu trúc này bao g ồm đáp ứng tốc độ kém c ủa các khối lô-gic loại p, hiện tượ ng ng tái phân tán nạ p, và sự giảm độ dự tr ữ chống nhiễu (noise margin). Tuy 64
nhiên lo ại mạch này có các một điểm mạnh cơ bản là khả năng có thể s ử d ụng chỉ một đồng hồ và sự vắng m ặt c ủa các mạch đệm t ại các đầu ra của c ổng. Một s ố điểm m ạch chung của các lo ại mạch lô-gic động lo ại này bao gồ m:
Vùng diện tích nhỏ hơn các cổng t ĩnh ĩnh đầy đủ. Các dung kháng ký sinh nh ỏ hơn, và do đó có tốc độ cao hơn. Mạch có thể hoạt động không có l ỗi nếu đượ c thiết k ế một cách cẩn thận. Điểm cu ối cùng là m ột khó khăn (catch). Nếu chúng ta mu ốn s ử d ụng các mạch động chúng ta ph ải đượ c chuẩn b ị đầu tư thêm nhiều cố gắng trong thi ết k ế để đảm bảo ho ạt động của mạch đúng trong mọi điều kiện củ a mạch. 3.2.8 Lô-gic transistor thông qua - Pass transistor logic Một dạng cấu trúc lô-gic khá ph ổ biến trong các m ạch nMOS là cấu trúc lô-gic transistor thông qua (còn g ọi là cấu trúc lô-gic d ẫn - pass transistor logic). M ột ví dụ đơn giản nhất là một b ộ ghép kênh hai đầu vào. Các c ấu trúc lô-gic d ẫn đượ c sử d ụng phổ bi b iến là các khối đơn vị hàm (function unit) đượ c sử dụng trong các kh ối lô-gic số h ọc (ALU) trong máy tính OM-1. C ấu trúc nMOS củ a loại mạch này đượ c minh họa trong hình 3.16 [2]. Trong CMOS, cấu trúc này có th ể đượ c lặp như minh họa trong hình 3.16 (hình b) b ằng cách s ử dụ ng cổng truyền đầy đủ cho mỗi transistor lo ại n gốc. Một layout tin c ậy hơn có thể đạt đượ c bằng việc sử d ụng mạch đượ c minh họ a trong hình 3.16 (hình c). Ph ương án này loại b ỏ r ất nhiều các liên k ết tr ực ti t iế p từ transistor lo ại n đến transistor lo ại p. Một phiên b ản động c ủa cấu trúc này đượ c minh họa trong hình 3.16 (hình d). N ếu xem xét v ề m ặt tốc độ, phiên b ản nMOS có thờ i gian xu ống (fall) nhanh nh ất trong khi phiên b ản bù có thờ i gian nâng (rise) nhanh nhất. Bằng cách s ử dụng các transistor lớn hơn có thể giảm thời gian nâng nhưng lại làm tăng thờ i gian xu ống. Phiên b ản động có tốc độ xấ p xỉ vớ i t ốc độ củ a phiên b ản nMOS nhưng cần thiết ph ải có một giai đoạn tiền nạ p d ẫn đến có thể làm tăng chu kỳ đồng hồ. M ột phương pháp thay thế mạch động là thêm vào m ộ t bộ đệm đượ c cung cấ p tr ở ở llại tớ i transistor kéo-lên lo ại p. Phương pháp này đạt đượ c một cổng ĩnh tĩnh vớ i công suất tiêu tán một chiều b ằng không. Các transistor kéo-lên lo ại p và kéo-xu ống lo ại n phải đượ c t ỷ l ệ sao cho cho phép b ộ đệm đầu ra thực hiện chuyển mạch. Nhiều phương pháp chính thống (formal) để suy ra (deriving) c ấu trúc lô-gic transistor dẫn đ ã được đưa ra cho nMOS. Chúng dự a trên mô hình đượ c trình bày trong hình 3.17 [2], trong đó mộ t tậ p các biến số điều kiển một m ạng các transistor d ẫn m ạng mà các bi ến số d ẫn ng hợ p một cổng XOR, bảng chân lý đượ c trình bày trong b ảng qua đó đượ c áp dụng. Với trườ ng 3.1. Cột hàm d ẫn tham chiếu đến các biến đầu vào, các bi ến mà có thể đượ c d ẫn (thông pass) đến đầu ra để đạt đượ c hàm mong mu ốn. Chẳng hạn, trong hàng th ứ nhất, các biến A và B có thể đượ c d ẫn ra đầu ra để đạt đượ c m ột lô-gic "0" và do đó thỏa mãn hàm XOR. M ột bảng Karnaugh (Các-nô) c ải tiến có thể đượ c xây dựng cho hàm d ẫn như minh họa trong b ảng 3.2. Trong b ảng này, các bi ến vào được nhóm để lái (steer) một cách thích h ợ p các bi ến d ẫn tới đầu ra dướ i ảnh hưở ng ng của các biến điều khiển. Trong trườ ng ng hợ p này, B là biến dẫn dướ i sự điều khiển c ủa A, B là biến d ẫn dướ i s ự điều khiển c ủa A . Cấu trúc thu được tươ ng ng ứng đượ c minh họa trong hình 3.18 [2]. Chú ý r ằng, việc nhóm thực hiện việc d ẫn cả các biến vào 65
"true" và "false" đến đầu ra phải đượ c thực hiện để tránh các tr ạng ạng thái không xác đị nh. Ngoài ra, nếu một phiên bản bù đượ c yêu cầu thì hàm d ẫn lo ại p phải đượ c xây d ựng. Cấu trúc này chính là c ấu trúc đối ngẫu của cấu trúc lo ại n.
Hình 3.16 Đơn vị hàm lô-gic dẫn (a) cấu trúc nMOS (b) các cổng truyền CMOS đầy đủ (c) layout đượ c cải tiến (d) phiên bản kéo-lên loại p
Hình 3.17 Mô hình lô-gic transistor dẫn Bảng 3.1: Bảng chân lý của hàm XOR
A 0 0 1 1
B 0 1 0 1
AB 0 1 1 0
Hàm d ẫn A+B A +B A+ B A + B
Bảng 3.2: Bảng Karnaugh
A 66
0 0 B 1
1
A
A B
A
B A
B
B
Hình 3.18 Cấu trúc transistor dẫn cho hàm XOR
Các điểm m ạch c ủa mạng transistor d ẫn trong CMOS c ần đượ c nghiên c ứu mộ t cách cẩn thận và sử d ụng một cách đúng đắn. Có một số điểm làm giảm các điểm m ạnh từ vi ệc s ử dụ ng các mạng d ẫn. Để đạt đượ c các mức lô-gic t ố t, các mạng d ẫn bù là c ần thiết tuy nhiên dẫn đến sự tr ễ tăng trong quá tr ình kéo-xu ống. Nếu so sánh vớ i các cổng thông thườ ng, sự hợ p c ủa các vùng c ực ngu ồn và vùng c ực máng là r ất khó, điều này dẫn đến dung kháng nút nội tại cao hơn. Điểm cu ối cùng, c ấu trúc này yêu c ầu các biến điều khiển "thật" và bù.
3.3 Thiết kế điện và vật lý các cổng lô-gíc Trong phần trên chúng ta đ ã xem xét một số kiểu thay thế c ủa c ấu trúc lô-gic CMOS. Trong phần này, chúng ta s ẽ tìm hiểu layout vật lý của các cổng CMOS trong m ột ngh ĩa chung nhất để khảo sát ảnh hưở ng c ủa cấu trúc vật lý lên ho ạt động của các mạch. Ngoài ra, các phân tích chi ti ết hơn của các ảnh hưở ng có hại đ ã được đề c ậ p sẽ đượ c xem xét lại m ột cách hoàn chỉnh. 3.3.1 Cổng đảo – Inverter Sơ đồ mạch của một cổng đảo đượ c trình bày trong hình 3.19 [2]. Chúng ta có th ể thực hiện một layout vật lý b ằng cách thay th ế biểu tượ ng này cho bi ểu tượng sơ đồ (schematic symbol). Trong m ột sơ đồ mạch, các đườ ng đượ c vẽ gi ữa các cực của transistor biễu diễn các liên k ết. Bất cứ tình huống không đồ ng phẳng nào có thể giải quyết bằng cách đơn giả n vắt chéo hai đườ ng (tức là liên k ết giữa c ực máng c ủa transistor loại n và c ực máng củ a transistor loại p). Tuy nhiên, trong layout v ật lý, chúng ta ph ải quan tâm đến sự tương tác vật lý của các lớ p liên k ết khác nhau. Chúng ta đ ã biết t ừ các xem xét c ủa quá trình s ản xuất r ằng cực ngu ồn và cực máng của transistor lo ại n là các vùng khu ếch tán lo ại n, trong khi transistor lo ại p sử dụ ng các vùng khu ếch tán lo ại p cho các liên k ết. Hơn nữa, trong m ột quá trình CMOS bulk, chúng ta không th ể tạo m ột k ết nối tr ực tiế p t ừ vùng khu ếch tán n đến vùng khu ếch tán p. Do đó, chúng ta phả i thực hiện liên k ết giữa các cực máng đơn giả n trong miền cấu trúc (structural domain), b ằng ít nh ất một dây dẫn và hai liên k ết trong miền vật lý. Giả sử quá trình không có các liên k ết chìm (buried contacts), liên k ết vừa đề cậ p phải bằng kim lo ại. 67
Bằng cách thay th ế các ký hiệu layout, một phần b ộ đảo đượ c minh họa trong hình 3.19 (hình b). Bằng cách suy lu ận tương tự, các liên k ết đơn giản đến ngu ồn (VDD) và đất (VSS) có thể đượ c tạo bằng cách sử dụng các dây d ẫn kim lo ại và các điểm liên k ết (hình 3.19, hình c). Nguồn và đất thường đượ c d ẫn trong kim lo ại (để có tr ở kháng thấ p từ m ạch t ớ i nguồn cung cấ p). K ết nối cực cổng chung có th ể là một dây d ẫn si-líc đa tinh thể đơn giản. Cuối cùng chúng ta phải thêm các ti ếp xúc đế các tiếp xúc mà không đượ c hàm ý (imply) trong s ơ đồ mạch. K ết qu ả một sơ đồ ký hiệu đượ c minh họa trong hình 3.19 (hình d). B ằng cách chuyển đổi sơ đồ này sang mộ t layout ký hi ệu chúng ta thu đượ c một s ự sắp đặt như đượ c trình bày trong hình 3.20 [2]. M ột layout khác đượ c minh họ a trong hình 3.21 [2] trong đó các transistor đượ c sắ p xế p theo chiều ngang.
Hình 3.19 Quá trình chuyển đổi từ sơ đồ mạch sang layout của bộ đảo
Hình 3.20 Layout có thể của bộ đảo
Chú ý r ằng có nhiều phương án thay đổ i trong topology có th ể đượ c sử d ụng để cho phép thực hiện sơ đồ các liên k ết không đồng phẳng. Chẳng h ạn, nếu một dây d ẫn kim lo ại phải đi qua phần giữa của một ô (cell) t ừ phía tận cùng bên trái c ủa cell đến tận cùng bên ph ải, khi đó layout trong hình 3.22 [2] có th ể đượ c sử dụng. Trong layout này, các d ải kim lo ại nằm ngang nối vớ i m ột đườ ng si-líc đa tinh thể thẳng đứng, đườ ng mà nối vớ i các c ực máng của các transistor. Một cách khác, n ếu một đườ ng dây kim lo ại cần phải đi qua từ phía trái sang 68
phía phải ở phần đầu (top) ho ặc đáy (bottom) của cell, các liên k ết từ nguồn và đất đến các transistor có thể đượ c tạo trong lớ p khu ếch tán thích hợ p (hình 3.23 [2]). V ới phương án này, trong thực t ế, làm cho bộ đảo trong su ốt vớ i các liên k ết kim lo ại nằm ngang các liên k ết mà có thể phải được định tuyến xuyên qua cell. T ừ các xem xét mà ảnh hưởng đến chất lượ ng làm việc của mạch, chúng ta th ấ y r ằng các thay đổi (deviation) trước đây từ layout gốc có ảnh hưở ng r ất nhỏ. Trong trườ ng hợ p liên k ết cực máng b ằng si-líc đa tinh thể thẳng đứng, sẽ sinh ra một tr ở kháng k ết nối phụ. Tr ở kháng này có th ể đượ c x ấ p x ỉ b ằng 2R contact +R poly trong đó R contact là tr ở kháng củ a tiế p xúc si-líc đa tinh thể -kim lo ại và R poly là tr ở kháng củ a d ải chạ y si-líc đa tinh thể. Ngoài ra, có th ể nảy sinh m ột dung kháng ph ụ nhỏ. Thườ ng, k ết quả của c ả hai hiệu ứng này s ẽ không quan tr ọng. Vớ i các liên k ết khuếch tán ngu ồn và đất, có sự b ất lợ i (penalty) là m ột tr ở kháng liên k ết dãy và dung kháng b ị tăng. Bằng kinh nghi ệm, tr ở kháng nên đượ c giữ v ớ i giá tr ị có độ lớ n nhỏ hơn trở kháng "on" c ủa transistor. Dung kháng c ủa các liên k ết ngu ồn cung cấ p thông thườ ng không ảnh hưởng đến chất lượ ng hoạt động của mạch.
Hình 3.21 Một layout có thể của bộ đảo
Hình 3.22 Một layout có thể của bộ đảo
69
Hình 3.23 Một layout có thể của bộ đảo
Hình 3.24 Một layout có thể của bộ đảo
Việc chạ y m ột liên k ết si-líc đa tinh thể từ trái sang phải phải đượ c hoàn thành bên dướ i hoặc bên trên các transistor, v ớ i các transistor sử dụng các liên k ết bằng kim lo ại tớ i nguồn và đất. Dải si-líc đa tinh thể chạ y từ phía trái sang phía ph ải qua phần giữa của cell cần có m ột d ải kim lo ại. Một phương án khác, layout củ a b ộ đảo có thể đượ c tái xây d ựng để sử dụng các transistor định hướ ng thẳng đứng như layout đượ c minh họa trong hình 3.24 [2]. Những layout này đượ c trình bày trong Plate 5. Vi ệc bổ sung một lớ p kim lo ại thứ hai cho phép thêm sự tự do của các liên k ết vớ i hai lớ p liên k ết khác. Lớ p kim loại thứ hai có thể đượ c sử dụng để chạy các đườ ng dẫn cung c ấ p ngu ồn VDD và V SS. M ột cách khác, lớ p kim lo ại thứ hai có thể đượ c sử dụng để giữ (strap) các d ải si-líc đa tinh thể theo ki ểu liên k ết song song 70
nhằm giảm tr ễ do các đườ ng chạ y si-líc đa tinh thể dài. Trong các trườ ng hợ p này, các layout vẫn cơ bản là không đổ i ngoại tr ừ các dây d ẫn kim lo ại thứ hai đượ c thêm vào và các m ẩu (stub) liên k ết kim lo ại thứ nhất.
Hình 3.25 Một layout có thể của bộ đảo lớ n
Hình 3.26 Một layout có thể của bộ đảo đạt dung kháng cực máng tối ưu
Cần chú ý r ằng, một bộ đảo lớ n có thể đượ c xây d ựng từ nhiều bộ b ảo nhỏ đượ c n ối song song. K ết quả từ việc xây d ựng này đượ c minh họa mang tính tượng trưng trong hình 3.25 [2]. Chúng ta có th ể dễ dàng viết m ột chương tr ình để t ạo ta mộ t bộ đệm có kích thướ c xác định nào đó vớ i mộ t t ỷ s ố các kích thước cho trướ c b ằng cách sử dụng k ỹ thuật ghép nối vừa nêu. Các vùng c ực nguồn và cực máng phải được "đính" (stitch) vớ i các liên k ết và kim loại để giảm nhỏ tr ở kháng cực ngu ồn-cực máng trong các transistor kích thướ c lớ n. Ngoài ra, các vùng khu ếch tán liền k ề đượ c ghép (gộ p - merge) lại sao cho dung kháng ngo ại vi đượ c giảm nhỏ. Bằng việc đặt các transistor lưng gố i nhau (hình 3.26 [2]) có th ể đạt đượ c dung kháng cực máng t ối ưu do sự ghép các cùng khu ếch tán. Điều này là k ết qu ả từ thực tế là vùng diện tích cực máng không tăng về kích thướ c nhiều trong khi đó hệ số khuếch đại của các transistor () được nhân đôi. Dung kháng cự c máng có thể đượ c giảm hơn nữa b ẳng cách sử 71
dụ ng các liên k ết hình sao nh ư trong hình 3.27 [2]. Hình 3.27 trình bày c ấu hình mang tính chất biểu trưng. Trong mặ t nạ cực nguồn và cực máng có thể là một vùng diện tích liên tục không có khe góc nh ằm tăng hệ số khuếch đại và giảm dung kháng ngo ại vi. Ở đây, hệ số khuếch đại của các transistor đượ c gấ p bốn lần, trong khi đó diệ n tích vùng c ực máng về cơ bản là không thay đổ i so vớ i bộ đảo đơn lẻ.
Hình 3.27 Một layout có thể của bộ đảo vớ i liên k ết hình sao
3.3.2 Thiết kế cổng NAND Các cổng lô-gic NAND có th ể đượ c xây d ựng trong các hệ thống MOS như là một mở r ộng đơn giản của m ạch đảo cơ bản. Layout m ạch trong nMOS, cùng v ớ i b ảng chân lý và các ký hiệu lô-gic c ủa mộ t mạch NAND hai đầu vào đượ c minh họa trong hình 3.28 [1].
Hình 3.28 Một layout có thể của cổng NAND vớ i cấu trúc nMOS
Trong mạch NAND, đầu ra sẽ ở m ức lô-gic cao ch ỉ khi c ả hai đầu vào A và B ở mức lô-gic cao. Cổng NAND này đơn giả n gồm một mạch đảo cơ bản vớ i một transistor ở ch ế độ nâng cao (enhancement) thêm vào m ắc nối tiế p vớ i transistor kéo-xu ống. Các cổng NAND 72
vớ i nhiều đầu vào hơn có thể đượ c xây d ựng b ằng cách thêm các transistor n ối tiế p với đườ ng (path) kéo-xu ống.
Hình 3.29 Layout có thể của cổng NAND đượ c chuyển đổi tr ực tiế p
Một cách khác, áp d ụng cách tiế p cận như đối vớ i mạch đảo cơ bản ở phần trướ c, chúng ta c ũng có thể thực hiện việc chuyển tr ực tiếp sơ đồ mạch sang layout c ủa một cổng lôgic NAND như minh họ a trong hình 3.29 [2]. N ếu thực hiện việc định hướ ng các transistor theo chiều ngang, chúng ta có th ể thu được layout như hình 3.29 (hình b). Vi ệc định hướ ng các transistor theo chi ều ngang như hinh 3.29 (h ình b) cho k ết qu ả m ạch rõ ràng hơn, và nhỏ gọn hơn. Điều này, v ề m ặt t ổng quát là đúng cho các cổ ng t ĩnh nhiều đầu vào. Do đó, chúng ta sẽ công nhận (adopt) ki ểu thiết k ế trong đó các transistor đượ c định hướ ng theo chiều ngang và các đườ ng tín hi ệu c ực cổng si-líc đa tinh thể chạ y theo chiểu dọc. Trong trườ ng hợ p không tuân theo phong cách này, thì s ẽ đượ c giải thích rõ các lý do. T ất nhiên cũng cần chú ý r ằng, cổng có thể đượ c quay 90 o để thu đượ c các liên k ết kim lo ại theo chiều dọc và các liên k ết si-líc đa tinh thể theo chiều ngang. Layout cổng NAND vớ i cấu trúc CMOS đượ c minh họa trong hình 3.30 [2].
Hình 3.30 Layout có thể của cổng NAND vớ i cấu trúc CMOS
3.3.3 Thiết kế cổng NOR Tương tự như vớ i cổ ng NAND, chúng ta c ũng có thể xây d ựng cổng NOR như là mộ t mở r ộng đơn giản c ủa b ộ đảo cơ bản. Hình 3.31 [2] minh h ọa layout củ a mộ t cổng NOR hai đầu vào. 73
Hình 3.31 Layout có thể của cổng NOR vớ i cấu trúc nMOS
Dễ dàng thấy r ằng, trong m ạch NOR, đầu ra ở m ức lô-gic thấ p nếu ho ặc một trong hai đầu vào A, B ho ặc cả hai đầu vào này ở mức lô-gic cao. Layout c ủ a mạch NOR trình bày trong hình 3.31 cho th ấ y một bộ đảo cơ bản v ớ i một transistor ở chế độ nâng cao thêm vào mắc song song v ớ i transistor kéo-xuống. Để xây d ựng mạch NOR vớ i nhiều đầu vào hơn, chúng ta có th ể th ực hiện việc đặt thêm các transistor song song trên đườ ng kéo-xuống. Cần chú ý r ằng mức điện áp ngưỡ ng lô-gic c ủa một mạch NOR n đầu vào sẽ giảm theo hàm c ủa số đầu vào ho ạt động (số đầu vào cùng chuy ển tr ạng thái từ lô-gic "0" sang lô-gic "1"). Th ờ i gian tr ễ của cổng NOR vớ i một đầu vào ho ạt động b ằng v ới độ tr ễ củ a một b ộ đảo vớ i transistor cùng kích thướ c hình học, ngo ại tr ừ có sự gia tăng dung kháng tả n mạn (stray). Trong các thiết k ế các mạch t ổ h ợp đơn giảm như vậ y, một điện tr ở kéo-lên duy nhất phải đượ c cố định tại điểm phía trên đầu ra.
Hình 3.32 Layout có thể của cổng NOR
Một layout có th ể khác của cổng NOR hai đầu vào đượ c minh họa trong hình 3.32 [2]. Trong layout có s ự thay đổ i củ a liên k ết tớ i hai transistor song song. M ột phương án khác đượ c minh họa trong layout 3.32 (hình b). V ới phương án này, cũng tương tự như vớ i các bộ đảo đượ c mắc song song, m ạch có di ện tích cực máng nhỏ hơn đượ c k ết nối với đầu ra. Điều này làm cho m ạch ho ạt động vớ i tốc độ cao hơn. Một layout cổng NOR vớ i cấu trúc CMOS đượ c minh họa trong hình 3.33 [2].
74
Cần chú ý r ằng, các cổ ng phức tạp hơn có thể đượ c xây d ựng từ việc mở r ộng các cổng chúng ta đ ã xây d ựng cho đến nay. Tuy nhiên có b ốn yếu tố cơ bản ảnh hưởng đế n các thiết k ế điện và do đó ảnh hưởng đế n thiết k ế vật lý của các cổng như vậy cần đượ c xem xét mộ t cách cẩn thận. Một cách cụ thể, các yếu tố đó là: liên kết transistor dãy, hi ệu ứng thân, dung kháng c ực nguồn-cực máng, và s ự tái phân b ố nạ p.
Hình 3.33 Layout có thể của cổng NOR vớ i cấu trúc CMOS
3.4 Các chiến lượ c clock trong thi ết kế Trong các phần trước, chúng ta đã khảo sát các d ạng m ạch lô-gic CMOS khác nhau cũng như các thiết k ế điện và vật lý cơ bản c ủa các mạch này. M ặc dù chúng ta đ ã khảo sát các cổng lô-gic riêng l ẻ, chúng ta đ ã bỏ qua chiến lược đồng h ồ toàn cục cho các c ổng. Cần nhớ r ằng, một quyết định quan tr ọng cần đượ c thực hi ện ngay khi b ắt tay vào thi ết k ế là việc lựa chọn chiến lược đồng hồ thích hợ p. Trong phần này, chúng ta s ẽ l ần lượ t xem xét một số chiến lược đồng hồ cơ bản. 3.4.1 Chiến lược đồng hồ 2-pha giả - Pseudo 2-phase clocking Chiến lược đồ ng hồ 2-pha gi ả sử d ụng sơ đồ đồng hồ nMOS không ch ồng lấn nhau 2 pha (đượ c sử dụng trong quá trình Mead và Conway) và thêm các đồng hồ bù (complementary). Do đó, chúng ta có 1, 2, 1 và 2 hay lên đến bốn pha đồ ng h ồ để chạ y vòng quanh m ột chíp. Thông thường, hai đồng h ồ chủ (master) s ẽ đượ c phân b ố vớ i các bộ đệm cục b ộ để tạo ra các đồ ng hồ cục b ộ. Một t ập điển hình d ạng sóng tín hi ệu đồng h ồ và mộ t mạch chốt (DFF1) đơn giản đượ c minh họa trong hình 3.34 [2]. Chú ý r ằng, 1(t). 2(t)=0 vớ i mọi t. Hoạt động của m ạch chốt đượ c minh họa trong hình 3.34 (hình a). Trong su ốt pha 1, t ầng 1 c ổng phát được đóng, do đó lưu mứ c lô-gic đầu vào trên t ụ cực cổng của b ộ đảo và tụ đầu ra của cổng phát (transmission gate) (C 1). Tr ạng thái c ủa tầng 2 được lưu trên tụ C2. Trong su ốt pha 2, tầng 1 cổng phát m ở và giá tr ị đảo của giá tr ị được lưu giữ trên C1 được đặt vào C2. 75
Hình 3.34 Dạng sóng và chốt đơn giản của đồng hồ giả 2-pha
Sự lựa chọn các quan hệ đồ ng hồ thực ph ụ thuộc vào các mạch. Tuy nhiên có m ột số mộ t số l ời khuyên (guideline) như sau. Nếu 1 đượ c sử d ụng như một đồ ng hồ cho quá trình tiền nạ p, thì nó phải có độ dài đủ để hoàn thành quá trình ti ền nạ p cho nút ở trườ ng hợ p xấu nhất trong mạch. Thông thường, điều này có thể xảy ra ở đườ ng dẫn bít b ộ nhớ truy cậ p ngẫu nhiên (RAM). S ự tr ễ giữa các đồ ng hồ phải đượ c lựa chọn để đảm b ảo với trườ ng h ợ p lệch (skew) tồi tệ nhất thì các đồ ng hồ c ũng không chồ ng lấn nhau. S ự lệch xung đồ ng hồ có thể xả y ra ở hai dạng. Dạng thứ nhất đượ c minh họa trong hình 3.35 [2]. Ở dạng này, các đồng hồ đượ c s ử d ụng cho m ột ch ốt (latch) đã chạy qua các đường có độ tr ễ khác nhau trước khi đến chốt. Hiện tượ ng lệch x ảy ra khi c ả hai đồng hồ đều đồng thờ i ở mức lô-gic cao làm cho hai cổng phát trong m ạch chốt tr ở thành trong su ốt.
Hình 3.35 Sự lệch đồng hồ và sự chậm các cạnh
Một kiểu lệch khác có th ể xả y ra thậm chí khi các đồng h ồ bao trùm nhau m ột cách hoàn chỉnh như đượ c minh họa trong hình 3.35 (hình d ướ i). Ở đây, thờ i gian nâng và h ạ chậm đến m ức mà chu k ỳ củ a vùng chuyển đổ i khiến cho các c ổng phát chốt k ết hợ p (couple) v ớ i nhau.
76
Cả hai d ạng này có th ể d ẫn đến việc giá tr ị sai được lưu trữ trên các tụ C1 và t ụ C 2. Do đó, chu kỳ của các đồ ng hồ ph ải cho phép th ờ i gian lan truyền lô-gic trong trườ ng hợ p tồi t ệ nhất trong các khối tổ hợp đượ c chốt lại. 3.4.2 Chiến lược đồng hồ 2-pha - 2-phase clocking Trong một số trườ ng hợ p, chúng ta mong mu ốn gi ảm số lượng đườ ng d ẫn nhịp đồng hồ c ần định tuyến xung quanh chíp. M ột trong các phương pháp giả i quyết vấn đề này là s ử dụ ng một đồng hồ 2-pha sử dụng , kiểu sắ p xế p (type arrangement). 3.4.3 Chiến lược đồng hồ 4-pha Trong phần trước, chúng ta đã xem xét các m ạch lô-gic động mà có một giai đoạn tiền nạ p và m ột giai đoạn đánh giá. Như đã được đề c ậ p, việc bổ sung một pha "gi ữ" (hold) làm đơn giản hóa việc thiết k ế lô-gic của mạch động. Điều này về cơ bản là k ết quả của việc loại bỏ sự chia sẻ nạ p trong chu k ỳ đánh giá. Tuy nhiên, các mạ ch lô-gic 4-pha có m ột nhược điểm là số lượng đồng hồ mà phải đượ c tạo ra. 3.4.4 Chiến lược đồng hồ giả 4-pha Chúng ta có th ể sử d ụng một đồng hồ 4- pha như là một phương án tổ ng quát cho các mạch lô-gic đô -mi-nô. Tuy nhiên b ằng cách sử d ụng c ổng lô-gic thích h ợ p, b ất cứ tổ hợ p nào của các pha có th ể đượ c tạo ra một cách cục bộ cho các mạch có yêu c ầu các chiến lược đồng hồ khác nhau. Ch ẳng hạn, 1 có thể đượ c sử dụng như một đồ ng hồ chố t tớ (slave). 2 đượ c sử dụ ng cho quá trình đánh giá lô -gic mức th ứ nhất. 3 đượ c s ử dụng như một đồ ng hồ chốt chủ (master). Và 4 đượ c sử dụng cho quá trình đánh giá lô-gic mức thứ hai. Sơ đồ khối của chiến lược đồng hồ này đượ c minh họa trong hình 3.36 [2].
Hình 3.36 Chiến lược đồng hồ 4-pha giả
Vớ i các thi ết k ế lần đầu, các thiết k ế mà thườ ng sử dụ ng các c ổ ng lô-gic t ĩnh, thì chiến lược đồng hồ 2-pha giả thường đượ c lựa chọn. Đây cũng thườ ng là một lựa chọ n phổ biến đượ c trình bày trong các tài li ệu của Mead và Conway. B ở i vì các vấn đề định tuyến tín hiệu đồng hồ đượ c giảm thiểu, đặc biệt trong các thi ết k ế các đườ ng dữ liệu (data path). M ột phương pháp khác, một đồng hồ một pha duy nh ất cùng vớ i các chốt đượ c minh họa trong hình 3.37 [2] có th ể đượ c sử d ụng ở những thiết k ế mà m ật độ không phải là m ột vấn đề. Các cổng động có thể đượ c sử dụng bằng cách áp d ụng các m ạch lô-gic 2-pha. Vớ i các m ạch bít nố i tiế p, các m ạch mà trong đó việc định tuyến tín hiệu đồng hồ và độ phức t ạ p của các mạch flip-flop là quan tr ọng thì một sơ đồ đồng hồ 2 hoặc 4-pha là thích hợ p nhất. Chiến lược đồng h ồ 4-pha giả có thể nói là m ột chiến lượ c phổ thông nhất bở i vì nó cho phép xây d ựng bất cứ dạng thức lô-gic nào b ằng việc tạo ra đồ ng hồ on-chip thích hợ p. 77
Hình 3.37 Chiến lược đồng hồ một pha duy nhất
3.5 Cấ u trúc vào ra (I/O) Trong các c ấu trúc mạch CMOS, thì các c ấu trúc vào ra (I/O) yêu c ầu phần lớ n k ỹ năng thiết k ế m ạch kèm theo v ớ i s ự hi ểu biết quá trình s ản xu ất một cách chi ti ết. Do đó, có thể là không thích h ợ p cho một thiết k ế viên thiết k ế h ệ thố ng (system designer) suy ng ẫm v ề việc thiết k ế các đế vào ra. Thay vào đó, các hàm thư viện đượ c mô t ả tốt nên đượ c s ử d ụng cho b ất cứ quá trình nào đang đượ c sử dụng. 3.5.1 Tổ chứ c chung Thông thườ ng thì các chân đế I/O thường đượ c s ản xuất với độ cao và b ề r ộ ng không đổi với các điểm liên k ết ở những vị trí xác định cụ thể. Kích thướ c của các chân đế đượ c xác định thông thườ ng b ằng kích thức tối thiểu mà một dây hàn (a bond wire) có th ể được đính vào. Giá tr ị này thườ ng vào kho ảng 150 m150m. Ngoài ra, m ột vị trí cố định cho V DD, VSS và các dây d ẫn điều khiển toàn cục khác cũng là một điểm mạnh. Hình 3.38 [2] minh h ọa một số khái niệm này.
78
Hình 3.38 Các layout chân đế phổ biến
Trong minh họa có trình bày các cách s ắp đặt các thành phần khác nhau. B ề r ộng bus nguồn và đất có thể đượ c tính toán t ừ các ước lượ ng ứng v ới trườ ng h ợ p xấu nhất của công suất tiêu tán c ủa die và t ừ việc cân nhắc để cung c ấp các điện áp tốt. Nhiều chân đế ngu ồn và đất có thể đượ c s ử d ụng để nhằm gi ảm nhiễu. Một s ố nhà thiết k ế ủng hộ (advocate) vi ệc đặt hiệu điện thế m ạch thấ p nh ất (V SS) ở rãnh (track) ngoài cùng. V ớ i tâm niệm này, m ột chương trình tạo khung có th ể d ễ dàng đượ c xây d ựng. Chương tr ình sử dụng một mô tả đơn giản của thứ tự chân đế và tạo ra một khung chân đế hoàn ch ỉnh. Một mô tả điển hình có thể như sau: LEFT; I NPUT A I NPUT B TOP; VDD VDD I NPUT C RI GHT; OUTPUT Z OUTPUT Y BOTTOM; OUTPUT W VSS VSS
79
Khi đó, khung I/O thu được đượ c minh họa trong hình 3.39 [1].
Hình 3.39 Việc tạo khung I/O
3.5.2 Các chân đế VDD và VSS Các chân đế VDD và VSS có thể d ễ dàng đượ c thiết k ế và bao g ồm m ột chân đế kim loại n ối vớ i các bus thích hợ p. Vấn đề không đồng phẳng có thể nả y sinh vớ i m ột trong các chân đế. Các đường đứt này có th ể đượ c hoàn thi ện bằng đườ ng si- líc đa tinh thể như minh họa trong hình 3.40 [2]. Một cách khác, công ngh ệ kim lo ại hai lớ p cho phép t ạo các đườ ng cắt ngang t ốt, bằng cách cung c ấ p một số lượ ng lớ n các via s ử dụng trong liên k ết. Không có lý do gì để giảm kích thướ c của các chân đế tớ i các liên k ết rãnh ngu ồn.
Hình 3.40 Thiết k ế chân đế VDD
3.5.3 Các chân đế đầu ra Điều đầu tiên và trướ c hết, một chân đế đầu ra phải có khả năng kích (drive) đủ để đạt đượ c thờ i gian nâng (lên - rise) và xu ống (fall) chính xác cho m ột t ải dung kháng xác định. Nếu chân đế kích các t ải không ph ải CMOS thì b ất cứ đặc tuyến m ột chiều (DC) đượ c yêu cầu nào phải đượ c thỏ a mãn. Trong ph ần này, chúng ta ch ỉ t ập trung vào các chân đế để kích các tải CMOS. Vớ i một dung kháng t ải cho trướ c và mục tiêu thờ i gian lên và xu ống xác định, các kích thước transistor đầu ra phải đượ c tính toán t ừ các công thức thiết k ế xác định. Thườ ng chúng yêu c ầu thực hiện bộ đệm để k ết nối mộ t tải thấp hơn vào mạch. Như đ ã đề cậ p, t ỉ lệ 2,7 là tối ưu cho tốc độ ho ạt độ ng. Tuy nhiên, m ột tỉ lệ tầng vào kho ảng 2-10 s ẽ làm 80
việc chính xác hơn. Thông thườ ng, trong m ột chân đế, m ột mạch đảo hai tầng đượ c sử d ụng để tạo ra mộ t tầng đầu ra không đả o. Với các kích thước transistor đã được ước lượ ng, chúng ta có th ể bắt đầu việc thực hiện layout. Vì các transistor l ớn thường đượ c sử dụng và các dòng I/O th ườ ng cao, kh ả năng dễ bị chốt (latch-up) là cao nh ất trong các c ấu trúc I/O. Do đó, các chỉ dẫn trong vi ệc thực hiện layout phải đượ c tuân thủ. Điều này có ngh ĩa là, thực hiện vi ệc chia tách các transistor loại n và lo ại p và việc sử dụng các vành b ảo vệ thích hợp đượ c nố i vớ i rãnh cung c ấ p nguồn. Hiện tượ ng chốt (latch-up) s ẽ cũng xảy ra khi s ự tăng tức thờ i (transients rise) trên m ức VDD hoặc dướ i mức VSS. Các trườ ng h ợp này thườ ng x ảy ra t ại các chân đế I/O do chúng là các giao tiế p vớ i các m ạch bên ngoài. Khi kích các t ải là các transistor lưỡ ng cực (TTL) vớ i các cổng CMOS, các mức ngưỡ ng chuyển mạch khác nhau ph ải đượ c xem xét. VIL củ a một cổng TTL là 0,4V trong khi đó VOL c ủa m ột cổng CMOS là 0V. Do v ậ y, chúng ta không g ặ p phải vấn đề gì trong tr ườ ng hợ p này. V IH của một cổng TTL là 2,4V trong khi đó VOH của một cổ ng CMOS là 5V (v ớ i mộ t ngu ồn cung cấp 5V) và do đó cũng không gặ p phải vấn đề gì trong tr ườ ng hợ p này. Ở tr ạng thái thấ p, b ộ đệm CMOS phải có kh ả năng làm "chìm" (sink) 1,6mA cho m ột tải TTL chuẩn vớ i một hiệu điện thế V OL<0,4V. Vớ i các transistor kích thông thường, điều này thườ ng không phải là vấn đề. 3.5.4 Các chân đế đầu vào Việc thiết k ế các chân đế đầu vào có th ể thực hiện song song v ớ i việc thiết k ế các chân đế đầu ra với chú ý đến kích thướ c c ủa transistor. Thường các transistor đượ c s ử dụ ng trong các chân đế đầu ra có thể đượ c sử dụng thay thế (turned around). Tuy nhiên ph ải quan tâm đến một khuyến cáo b ổ sung. Liên k ết cổng của m ột transistor MOS có tr ở kháng đầu vào r ất cao (kho ảng 10 12 đến 10 13). Ngưỡng điệ n áp mà lớ p ô-xít b ị đánh thủng và b ẻ gãy là vào khoảng 40-400V. Giá tr ị điện áp mà có th ể tạo trên một cổng được xác định như sau: I t (3.1) V C g
Trong đó, V là điện áp trên c ổng, I là dòng điện n ạ p, t là thờ i gian cần thi ết để nạ p cổng và Cg là dung kháng c ủa cổng.
Từ công thức, nếu I=10 A, C g =0,03pF và t =1s thì điện áp xu ất hiện trên c ổng xấ p xỉ vào kho ảng 330V. Thườ ng m ột tổ hợ p của một điện tr ở và các k ẹp đi-ốt (diode clamps) (bảo vệ t ĩnh điện) đượ c sử dụng để hạn chế điện áp phá hủ y ti ềm tàng này. M ột mạch điển hình đượ c minh họa trong hình 3.41 [2] cùng v ớ i hai layout có th ể của nó. Các đi-ốt k ẹ p D 1 và D2 đóng (turn on) nếu điệ n áp tại nút X tăng trên mức VDD hoặc giảm xuống dướ i mức V SS. Điện tr ở R đượ c sử dụng để hạn chế dòng đỉnh chạy qua các đi-ốt trong trườ ng hợ p có sự thông qua của một điện áp không bình th ườ ng. Giá tr ị điện tr ở thường đượ c chọ n trong khoảng 200 - 3k . Tr ở kháng này k ết hợ p v ới dung kháng đầu vào C sẽ t ạo ra một hằng số thờ i gian RC, hằng số này cần phải xem xét trong các m ạch tố c độ cao. Một điện tr ở bằng silíc đa tinh thể thường đượ c lựa chọn cho điện tr ở khuếch tán trong quá trình p-well, vì nó làm giảm khả năng tạo dòng phun (injection) n ạ p bổ sung vào lớp đế, dòng mà có th ể góp phần dẫn đến hiện tượ ng chốt. Trong m ột quá trình n-well, m ột mạch I/O toàn transistor lo ại n có 81
thể đượ c thiết k ế. Trong trườ ng h ợp này, các điệ n tr ở b ảo vệ đượ c khuếch tán n +, cũng như các thiết bị "đâm thủng" loại n (punch-through), có th ể đượ c sử dụng. Một thiết bị "đâm thủng" có vùng khu ếch tán cực ngu ồn và cực máng kho ảng cách r ất gần và không có c ực cửa. Thiết b ị này tạo khả năng bảo vệ b ằng cơ chế "thác lũ" (avalanching) ở điện áp kho ảng 50V. Khi đó, không cần thiết phải thêm (include) m ộ t giếng nào vào trong c ấu trúc I/O lo ại này.
Hình 3.41 Chân đế đầu vào vớ i bảo vệ phóng tĩnh điện
Khi thực hi ện giao tiế p lô-gic TTL v ớ i CMOS, sẽ thuận l ợi hơn nếu đặt điểm chuyển mạch c ủa bộ đảo đầu vào ở giữa vùng chuyển mạch c ủa TTL. VOL=0,4V và V OH=2,4V cho TTL. Như vậy, điểm chuyển mạch phải vào kho ảng gần 1,4V. Điều này có thể đạt đượ c b ằng cách t ỉ lệ hóa các transistor b ộ đảo hoặc s ử dụng điện áp tham chi ếu. Một cách khác, đầu ra TTL có thể sử dụng m ột điện tr ở bổ sung nối vớ i ngu ồn cung cấp 5V để cải thiện VOH của 82
TTL. Điện tr ở này có thể đượ c thêm vào bên trong c ủa chân đế dướ i dạng một transistor loại p. 3.5.5 Các chân đế 3 trạng thái Một chân đế 3 tr ạng thái có th ể đượ c xây d ựng dựa trên mô hình c ấu trúc b ộ đảo 3 tr ạng thái. Ho ặc một cách thực hiện khác đượ c minh họa trong hình 3.42 [2]. Các th ực hiện theo minh họ a này sẽ cho tốc độ ho ạt động nhanh hơn vì nó giảm số lượ ng transistor m ắc nối tiế p. Tuy nhiên c ần phải chú ý đến việc chuyển mạch bộ đệm sao cho có th ể ngăn chặn đượ c các dòng m ột chiều lớ n chả y trong quá trình chuy ển mạch.
Hình 3.42 Sơ đồ mạch chân đế ba tr ạng thái
3.5.6 Các chân đế hai trạng thái Bằng cách gộ p một chân đế đầu vào và m ột chân đế ba tr ạng thái, chúng ta có th ể xây dựng m ột chân đế hai tr ạng thái. Một thực hiện chân đế loại này đượ c minh họa trong hình 3.43 [2].
Hình 3.43 Sơ đồ mạch chân đế hai tr ạng thái
83
Chương 4 Thiết k ế các hệ thống con CMOS 4.1 Giớ i thiệu Trong các chương trước đ ã đề cập đến thiết k ế mạch lô-gic CMOS cơ bản. Trong chương này sẽ đề cập đến thiết k ế h ệ thố ng con CMOS (CMOS subsystem) v ớ i các lựa chọn tương thích vớ i m ạch CMOS. Các lựa chọn có thể là thờ i gian thiết k ế, công su ất thấ p, hoặc tốc độ cao, ho ặc là các tổ hợ p củ a các lựa chọn này. Trướ c tiên, xét ví d ụ đối vớ i các bộ c ộng trong m ột m ạch thiết k ế ở m ức transitor có nhiều tùy chọn. Và d ĩ nhiên, chúng ta hy v ọng r ằng các hệ thống thiết k ế mạch cao cấ p có th ể cho phép thi ết k ế đượ c các hệ thống con trong t ừng lựa chọn cụ thể. Theo sau mục các bộ cộng là b ộ đếm nhị phân và b ộ nhân sẽ đượ c trình bày. Ti ếp đó là việc thiết k ế b ộ ghi d ịch, bộ nhớ và đườ ng dữ liệu. 4.2 Bộ cộng và các hàm liên quan Các bộ cộng t ạo nên các phần tử quan tr ọng trong nhi ều mạch điện t ử. Bảng 4.1 thể hiện m ộ t b ảng sự thật cho một mạch c ộng toàn phần (còn đượ c gọi là bộ c ộng đầy đủ) cùng vớ i một vài hàm s ẽ đượ c sử dụng trong các trình bày liên quan đến bộ cộng trong phần này. A và B là các đầu vào của bộ cộng, C là đầu vào nhớ (hoặc còn gọi là chân mang carry input), SUM là đầu ra tổng, và CARRY là đầu ra nhớ . Mộ t tín hiệu sinh G(A,B) xu ất hiện khi có một tín hiệu CARRY đượ c sinh ra bên trong b ộ cộng. Khi tín hi ệu lan truyền, P(A+B) xuất hiện thì nhớ đầu vào trong tín hi ệu C đượ c truyền đến đầu ra nhớ (CARRY) nếu nhớ đầu vào C t ồn tại (true). Bảng 4.1: Bảng sự thật
C 0 0 0 0 1 1 1 1
A 0 0 1 1 0 0 1 1
B 0 1 0 1 0 1 0 1
A.B(G) 0 0 0 1 0 0 0 1
A+B(P) 0 1 1 1 0 1 1 1
AB 0 1 1 0 0 1 1 0
SUM 0 1 1 0 1 0 0 1
CARRY 0 0 0 1 0 1 1 1
4.2.1 Bộ cộng tổ hợ p - Combinational Adder Một trong nhưng phương pháp đơn giả n nhất để thiết k ế một bộ cộng là ghép các c ổng logic lại để đạt được các hàm logic cơ bản nhất định. Từ bảng sự thật ta có: SUM ABC A BC ABC A BC
(4.1) CARRY AB AC BC AB C ( A B) (4.2) Sơ đồ cổng đượ c vẽ trong hình 4.1 (hình a) [2] và sơ đồ transistor đượ c thể hiện trong hình 4.1 (hình b). Vì tín hi ệu nhớ đầu ra ( CARRY ) đượ c sử d ụng trong vi ệc t ạo ra hàm t ổng SUM, hàm SUM sẽ b ị tr ễ tương ứng với CARRY. Điều này đúng vớ i vi ệc sử dụng c ủa một mạch như vậ y trong một bộ cộng n-bit song song. Ở đây, tín hiệu CARRY được phép có “độ 84
gợ n” qua các t ầng, như minh họ a trên hình 4.2 (hình a) [2] . Trong trườ ng hợ p này, s ự tr ễ của tín hiệu nhớ phải đượ c giảm thi ểu, bở i vì độ tr ễ của bộ cộng là T a =nTc, vớ i Ta là t ổng thờ i gian cộng, n là s ố t ầng, và T c là thờ i gian tr ễ c ủa m ột t ầng. Để tối ưu hóa độ tr ễ của tín hiệu nhớ , ta có thể loại bỏ đi bộ đảo t ại lối ra của cổng nhớ . Và vì vậ y mọi tầng khác sẽ ho ạt động vớ i dữ liệu phần bù, như thể hiện trên hình 4.2 (hình b). K ết quả là tr ễ tín hiệu nhớ đượ c giảm đáng kể.
Hình 4.1 Sơ đồ mạch cộng tổ hợ p
Hình 4.3 minh h ọa một bộ cộng nối tiế p. T ại thời điểm t, tổng SUM đượ c tính và chân mang CARRY lưu giữ trong flip-flop. T ại thời điểm t + 1, phép tính t ổng sẽ lấy CARRY(t) để tính t ổng mớ i SUM. Trong ứng d ụng này, các tr ễ t ại chân SUM và CARRY là m ột ưu điểm khi có tần s ố xung đồng hồ nhanh nh ất tại đó bộ cộng có thể hoạt động. Khi xét chi ti ết sơ đồ của một bộ c ộ ng tổ hợ p, b ằng cách t ối ưu hóa chân mang thì ta có thể làm giảm đi độ gợ n của tín hiệu mang tr ễ. Điều này đặc biệt có ngh ĩa đố i vớ i b ộ c ộng song song.
85
Hình 4.2 Bộ cộng có nhớ gợ n n-bít
Hình 4.3 Sơ đồ bộ cộng nối tiế p
Hình 4.4 Sơ đồ của cổng mang và cổng của transistor
86
Hình 4.5 Các thiết k ế layout của bộ cộng tổ hợ p
Sơ đồ transistor cho tr ạng thái mang đượ c minh họa trên hình 4.4. Hình này th ể hiện mộ t cách rõ ràng h ơn việc ảnh hưở ng của số hạng P và G được đề cấp trướ c. Chú ý là chu ỗi p không giống như chuỗ i n. Vấn đề này được để lại cho người đọc tự tr ả lờ i. Tr ạng thái t ổng SUM cũng đượ c giớ i thiệu theo d ạng tương tự như vậy. Chúng ta có th ể bắt đầu thiết k ế lớ p vật lý b ằng cách sử dụng kích thước đơn vị của các transistor lo ại n và p. V ớ i các d ạng layout đượ c giớ i thiệu cho đến lúc này, có hai lo ại layout đượ c minh họa trên hình 4.5 là thích h ợ p vớ i bộ cộng tổ hợ p. Sự lựa chọn t ỷ số cạnh có thể phụ thu ộc vào môi trườ ng thiết k ế. Ví d ụ, đối với đườ ng d ẫn số liệu có chi ều cao phải đượ c tối thiểu hóa thì hình v ẽ 4.5 (hình a) (xế p chồng transistor tối thiểu) s ẽ đượ c lựa chọn. Hình 4.5 (hình a) minh h ọa m ột thiết k ế “độ r ộng tối thiểu”. Hình 4.5 (hình c) đưa ra một thiết k ế liên k ết giữa mẫu hình 4.5 (hình a) và 4.5 (hình b). T ừ khi thiết k ế layout cơ bản được xác đị nh, m ột vài kích thướ c tối ưu củ a transistor có thể đượ c tính toán. Vi ệc này chỉ thực s ự c ần thiết nếu sau khi mô phỏ ng, bộ c ộng v ẫn có tốc độ tính toán chậm. Lưu ý nếu như thiết k ế cực cửa t ĩnh điện CMOS một cách chính xác thì nó luôn ho ạt độ ng chính xác. Các t ối ưu sau đây trong thiế t k ế b ộ cộng có thể đượ c thực hiện (như trong hình vẽ 4.4):
87
1. Sắ p xế p các transistor chuyển mạch bở i chân tín hi ệu mang (C) gần vớ i chân lố i ra. Do đó nó sẽ cho phép các tín hi ệu lối vào thiết lậ p c ực c ửa sao cho các transistor ít b ị ảnh hưở ng bở i hiệu ứng thân (body effect). 2. Thiết k ế t ất cả các transistor có c ực cửa nối t ớ i chân CARRY để tính tổng s ẽ có kích thướ c bé nhất. Điều này làm giảm tính dung c ủa tải khi có tín hiệu. Và tín hiệu này sẽ đượ c dẫn qua các vùng khu ếch tán của cực cửa. 3. Ta có thể xác định kích thướ c củ a các transistor nối tiế p b ằng mô phỏng. Điều này có thể hoặc không làm tăng kích thướ c c ủa các transistor m ắc n ối ti ế p loại n hay lo ại p. Ví dụ, qua mô ph ỏng có thể tăng kích thướ c của các transistor n ối tớ i chân A và B trong cực cửa của một bộ cộng có gợ n tín hiệu mang, khi nh ững tín hiệu này sẽ có thờ i gian để xác lậ p trong các bit cao c ủa bộ cộng trong khi tín hi ệu mang có độ gợ n. Nó có thể làm tăng kích thướ c c ủa transistor C trong c ực cửa để vượ t qua các ảnh hưở ng của tụ phân tán. Đố i vớ i m ột bộ cộng song song, các transistor thi ết k ế cho cực cửa tính tổng SUM có thể đượ c thiết k ế với kích thướ c tối ưu, trong khi đó, vớ i một b ộ cộng nối tiế p, các chân CARRY và SUM c ần phải được cân đố i cho phù hợ p. 4.2.2 Bộ cộng tổ hợp độ ng Một loại transistor N-P CMOS của b ộ cộ ng ở trên đượ c minh họa trong hình vẽ 4.6. Bộ cộng này đ ã đượ c thiết k ế như một b ộ cộng n ối tiế p và vì vậ y nó có 1 bit tr ễ để dẫn tín hiệu mang tr ở lại b ộ cộng, và m ột tín hiệu mang xác lậ p l ại và m ột tín hiệu thiết l ập ban đầu. Điều này cho phép b ộ cộng ho ạt động như là một b ộ tr ừ b ằng cách xác l ậ p tín hi ệu mang t ại chu k ỳ đầu tiên và đảo một cách logic số bị tr ừ. Một ví dụ layout đượ c minh họa trong hình v ẽ 4.7. Một vấn đề có thể xẩy ra là cực cửa tích điện và phân b ổ lên các điểm không tích điện. Ví dụ, điểm X trên c ực cửa mang có thể phải nạp trướ c một cách độ c lậ p.
Hình 4.6 Sơ đồ và layout của bộ cộng nối tiếp động: loại một lớ p kim loại
88
Hình 4.7 Sơ đồ và layout của bộ cộng nối tiếp động: loại hai lớ p kim loại
Yêu cầu tương tự có thể cần thiết đối với điểm Y trong c ực cửa tính t ổng SUM. 4.2.3 Sự truyền của bộ cộng cự c cử a Một thiết k ế khác của bộ cộng sử dụng một cực cửa mớ i exclusive-or (XOR). Hình 4.8 minh họa sơ đồ cho mạch XOR. Ho ạt động của cực cửa như sau: Khi tín hiệu A ở mức cao, A ở mức thấ p. Cặ p transistor 1 và 2 ho ạt động như một bộ đảo, vớ i B xuất hiện ra ở lối ra. Việc truyền của cực cửa tại transistor cặ p 3 và 4 là mở , Khi tín hiệu A ở mức thấ p, A sẽ ở mức cao. Tại cực cửa truyền (của transistor 3 và 4) sẽ ngắt và vì vậy truyền tín hiệu ở B đến lối ra. Lúc này, c ặp đảo sẽ ngừng. Vì vậ y, c ấu hình c ủa loại transistor này t ạo ra m ột nhóm 6 (ho ặc 4) transistor XOR cực cửa. Nếu đảo chân nối A và B , ta tạo ra mộ t mạch exclusive-nor (XNOR).
Hình 4.8 Sự truyền của cực cửa XOR
89
Bằng cách s ử d ụng b ốn c ực cửa truyền, b ốn b ộ đảo, và hai m ạch XOR, một b ộ cộng có thể đượ c hình thành nh ư thể hiện trên hình vẽ 4.9. T ừ b ảng sự th ật cho b ộ cộng, ta có thể thấy r ằng khi AB là đúng, SUM= C . Khi AB là sai, SUM=C. Tương tự, khi AB là đúng, CARRY = C, khi AB là sai, CARRY = A (ho ặc B). Thiết k ế của bộ cộng này gồm có 24 transistor, giống như đố i vớ i mạch cộ ng tổ hợ p. Tuy nhiên, nó có ưu điểm là có cùng th ờ i gian tr ễ của cả hai chân SUM và CARRY. Hơn nữ a, các tín hiệu ở chân SUM và CARRY là không đảo. Hình vẽ 4.9 minh họa một sơ đồ thiết k ế hoàn chỉnh.
Hình 4.9 Bộ cộng cực cửa truyền
Hình 4.10 Sơ đồ thiết k ế hoàn chỉnh của bộ cộng cực cửa truyền
90
Hình vẽ 4.11 thể hiện mộ t thiết k ế layout cho b ộ cộng cực c ửa truyền. Thiết k ế layout này tương đối khác vớ i thiết k ế của cực c ửa bù. Cấu trúc của b ộ hợ p kênh hai chi ều đ ã đượ c đề cậ p ở chương trướ c có thể tương tự trong vi ệc thiết k ế này.
Hình 4.11 Layout của bộ cộng cực cửa truyền
4.2.4 Bộ cộng mang khóa đầ u Sự phát triển tuyến tính củ a bộ cộng mang tr ễ với kích thướ c của các bit lối vào có thể đượ c c ải thiện b ằng cách tính toán các tín hi ệu mang cho m ỗi tr ạng thái song song. Tín hi ệu mang của tr ạng thái thứ i, Ci, được tính như sau: (4.4) C i Gi Pi C i 1 Trong đó: Gi
Ai Bi tín hiệu sinh
(4.5)
Ai Bi tín hiệu truyền (4.6) Triển khai công th ức trên d ẫn đến: C i Gi Pi Gi 1 Pi Pi 1Gi 2 ... Pi ...P1C 0 (4.7) Tổng Si đượ c tính b ở i: (4.8) S i C i 1 Ai Bi nếu Pi=AiBi Kích thướ c củ a các cực cửa cần cho việc thiết k ế sơ đồ của bộ cộng mang khóa đầu rõ ràng là không th ể. K ết qu ả là, số tr ạng thái của b ộ khóa đầu thường đượ c giớ i hạn kho ảng 4. Bốn tr ạng thái c ủa khóa đầu là: Pi
G1 P1C 0 C 2 G2 P2 G1 P2 P1C 0 C 3 G3 P3 G2 P3 P2 G1 P3 P2 P1C 0 C 4 G4 P4 G3 P4 P3G2 P4 P3 P2 G1 P4 P3 P2 P1C 0 C 1
91
Hình 4.12 Sơ đồ tr ạng thái mang khóa đầu 4 bit đầy đủ
Thiết k ế khả thi cực cửa mang đối vớ i bộ cộng mang khóa đầu 4 bit đượ c minh họa trên hình vẽ 4.12. Chú ý là các c ực cửa đã đượ c phân chia sao cho s ố chân lối vào ít hơn hoặc bằng 4. Đây là tính đặ c thù của bộ mang khóa đầu và nó có th ể đượ c dung trong thi ết k ế của mộ t dãy cực cửa hoặc các ô chu ẩn. Thiết k ế mạch và layout là hoàn toàn không đồng đề u nhau. Lấy số hạng C4 và có: (4.9) C 4 G4 P4 (G3 P3 (G2 P2 (G1 P1C 0 ))) Hàm này có thể đượ c thực hiện như một cực cửa domino CMOS (nMOS) như thể hiện trên hình 4.13. Chân mang C 1-C3 đượ c t ạo ra như nhau. Nhớ r ằng đườ ng tr ễ chậm nh ất trong mạch này có sáu transistor m ắc n ối ti ế p. Một d ạng t ĩnh củ a c ực c ửa C 4 đượ c trình bày trong 92
hình 4.14 (hình a). Layout c ủ a c ực cửa để thực hiện hàm trên đượ c minh họa trên hình 4.14 (hình b). M ạch đượ c sắ p xế p lại để cho đơn giản.
Hình 4.13 Sơ đồ domino mang khóa đầu
93
Hình 4.14 Sơ đồ của cực cửa mang khóa đầu t ĩnh
4.2.5 Bộ cộng mang Manchester Ảnh hưở ng c ủa chu ỗi mang domino có th ể được tăng cườ ng b ằng các h tích trướ c tín hiệu tại các điểm thích hợ p. M ạch ban đầu đượ c v ẽ trong hình 4.15 (hình a). Ho ạt động của mạch như sau. Khi xung đồ ng hồ CLOCK thấ p, lối ra được tích trướ c tín hiệu b ở i một transistor p kéo lên. Khi xung CLOCK ở mức cao thì transistor n kéo xu ống sẽ hoạt động. Nếu chân mang kh ở i t ạo (A.B) là đúng thì l ối ra sẽ xả tín hiệu. N ếu chân mang lan truyền (A + B) là đúng thì chân mang tr ước đó có thể tạo cặ p vớ i chân lối ra, và xả tín hi ệu m ột cách có điều kiện. Lưu ý là trong m ạch này chân CARRY sẽ đượ c truyền tín hi ệu. Ta có thể xây d ựng một bộ cộng 4 bit k ết nối 4 tầng như vậ y lại và xây d ựng một mạch để cấ p những tín hiệu c ần thiết. Do đó ngườ i ta gọ i chung là b ộ cộng mang Manchester. Vì thế, m ột bộ cộng 4 bit có th ể đượ c thiết k ế như trong hình vẽ 4.15 (hình b). Ở đây ta không cần các cực cửa mang trung gian, khi các giá tr ị mang là phù h ợ p trong mạch điện này. Chúng ta đ ã chọn thiết k ế một mạch c ộng 4 bit để làm giảm số transistor truyền nối tiế p, và vì vậ y giảm đượ c hiệu ứng thân (body effect) c ủa transistor. N ếu tất cả các tín hiệu lan truyền là đúng, chân C ở mức cao, sáu transistor n n ối tiế p sẽ làm hạ thấ p tín hi ệu ở chân lối ra. Trườ ng hợ p kém nh ất này, thờ i gian lan truyền có thể đượ c cải thiện b ằng cách k ết nối bốn tr ạng thái nếu như tất c ả các tín hi ệu mang truyền là đúng. Mạch điện bổ xung cần thiết cho vấn đề này 94
đượ c minh họa trên hình v ẽ 4.16. Nó bao g ồm một cổng NAND động, và c ổng NAND này tạo tín hi ệu đi qua nếu t ất cả tín hiệu truyền mang là đúng. Mặc dù các mạch điện là tương tự, tụ điện t ại các điểm trung gian trong c ổng khóa đầu là xấ p xỉ 1/2 của chuỗi Manchester. Vì thế s ự sắ p xế p này sẽ làm tăng tốc độ của b ộ cộng. Số xế p tầng của các tr ạng thái t ốt nhất có thể được tính toán đố i vớ i từng công ngh ệ b ằng cách mô phỏ ng.
Hình 4.15 Sơ đồ mạch của chuỗi mang Manchester
Hình 4.17 minh h ọa một layout cho b ộ cộng này. Trong m ạch sử dụng hai chu ỗi mang song song, m ột để truyền tín hiệu mang và m ột để cung c ấ p tín hiệu mang cho vi ệc tạo ra tín hiệu ở chân SUM. Tín hiệu sau đó s ẽ mang nhiều t ải và sẽ làm chậm chu ỗi mang nếu như nó được dùng như là một chuỗi mang duy nh ất. Một xâu nằm ngang 1 bit bao g ồm tín hiệu 95
truyền mang và m ột khối khở i t ạo, hai chu ỗi mang, và kh ố i tính tổng. Các ô cu ối cùng trong chuỗi mang khác m ột chút để có các cổng cần thiết.
Hình 4.16 Mạch khóa đầu Manchester
Hình 4.17 Sơ đồ thiết k ế mạch của bộ cộng Manchester
4.2.6 Bộ cộng khóa đầ u mang nhị phân Nhắc lại các phương tr ình đối vớ i bộ cộng nhị phân: C i Gi Pi C i 1 96
Pi
Ai Bi hoặc Ai Bi
Gi
Ai Bi
S i
C i 1 Pi (nếu
Pi
Ai Bi )
Cả hai Gi và Pi có thể được xác định trong m ột hằng số thờ i gian, vì vậ y Ci là thờ i gian tớ i hạn duy nh ất cần đượ c tính toán. Ta có th ể định ngh ĩa một toán t ử mớ i là o mà nó có phương tr ình như sau: (4.10) ( g , p) ( g ' , p' ) ( g ( p, g ' ), p. p' ) Trong đó, g, p, g', và p' là các biế n lô-gic. Có thể thấ y r ằng toán tử mớ i có tính k ết hợ p, và tín hiệu mang có th ể được xác định: C i Gi Trong đó:
( g1 , p1 ) (i 1) (Gi , Pi ) ( g i , pi )... ...(Gi1 , Pi 1 ) (2 i n) (4.11) ( g , p ) ( g , p )... ...( g , p ) 1 1 i i i 1 i 1 Tính liên k ết của toán tử o cho phép th ực hiện các thành ph ần đ ã đượ c k ết hợ p trong cấu trúc d ạng cây nhị phân. Hình 4.18 minh h ọa một d ạng t ổng quát hóa c ủa b ộ cộng mang đầu khóa. B ộ cộng này đượ c t ạo thành t ừ các số h ạng sinh G và P, kh ối mang, và m ột khối tính t ổng.
Hình 4.18 Sơ đồ của bộ cộng mang khóa đầu
Khối mang đượ c thể hiện chi tiết hơn trong hình vẽ 4.19 đố i vớ i bộ cộng 4 bit. Nh ớ r ằng cấu trúc khóa đầu đượ c thực hiện khi m ột cây nhị phân theo sau b ở i m ột cây nhị phân đảo. Thờ i gian truyền mang trong c ấu trúc này t ỷ lệ vớ i log2 của kích thướ c bộ cộng. Hình 97
4.20 thể hiện bảng thiết k ế một bộ cộng 4 bit và các sơ đồ mạch đượ c trình bày trong hình 4.21. Nếu ta sử dụng cổ ng bù thì hàm có thể đượ c thực hiện: ( g , p ) (G, P) (( g ( p.G), p.P) . Biến đổi các cột sử dụng hàm đảo,
( g , p) (G, P) ( g ( p G), p .P) . Thêm vào đó, các tín hiệu được đệm tại các điểm không có bộ xử lý .
Hình 4.19 Khối mang của bộ cộng nhị phân mang khóa đầ u
Hình 4.20 Bảng thiết k ế cho bộ cộng nhị phân mang khóa đầu 4 bit
98
Hình 4.21 Sơ đồ của bộ cộng nhị phân mang khóa đầu
Thủ tục ‘C’ tạo ra bộ cộng n bit: Adder Pr ocedur e ( n bi t adder ) d=2; a=TRUE; do{ / *nor mal t r ee por t i on*/ f or ( i =1; i <=n; i ++) / *one col umn*/ { i f ( ( i \ %d) ==0 ) {
99
i f ( a) pl ot cel l BA; el s e pl ot c el l BB; } el s e i f ( ( i \ %d) <=( d/ 2) ) { i f ( i \ %2) pl ot cel l WB; el se pl ot cel l WA; } el se pl ot WA; move cel l posi t i on up; } r eset cel l posi t i on t o bot t om and move; r i ght one posi t i on; d*=2; a=- a; } whi l e ( d<=n) ; d/ =4; i f ( ( 3*d) > n) d/ =2; do{ / *i nver se t r ee por t i on*/ f or ( i =1; i <=n; i ++) { i mod = i \ %( 2*d) ; i f ( i <( 2* d) ) { i f ( i \ %2) pl ot cel l WB; el se pl ot cel l WA; } el se i f ( i mod==d) { i f ( a) pl ot cel l BA; el s e pl ot c el l BB; } el se i f ( i mod == 0) { i f ( i \ %2) pl ot c el l WB; el se pl ot cel l WA; } el se i f ( i mod < d) pl ot WA el se { i f ( i \ %2) pl ot WB; el se pl ot WA; } move cel l posi t i on up; } r eset cel l posi t i on t o bot t om and; r i ght one posi t i on; d/ 2=2; a=- a; } whi l e ( d>=1) ;
100
Nếu như domino logic đượ c sử dụng, hàm o có th ể tr ực tiếp đượ c thực hiện. Một phương pháp thiết k ế mạch đượ c thể hiện trên hình 4.22.
Hình 4.22 Sơ đồ của bộ cộng nhị phân mang khóa đầu
4.2.7 Bộ cộng lự a chọn mang Một cách khác để làm tăng tốc độ bộ c ộng là m ở r ộng các vùng c ủa tốc độ là sử dụng bộ c ộng lựa chọn mang. Sơ đồ cơ bản c ủa b ộ c ộng này trên hình 4.23 (hình a). Hai c ấu trúc của bộ cộng mang độ gợn đượ c tạo ra, một cấu trúc có tín hi ệu mang vào ở mức 0, và c ấu trúc kia vớ i m ột tín hiệu mang vào. Điều này đượ c lặ p lại đối v ớ i mộ t bộ cộng có kích thướ c cụ thể, ví dụ là 4 bit. Lúc đầu nó mang tín hi ệu, sau đó lự a chọn tín hiệu thích hợ p của tổng có s ử dụ ng bộ hợ p kênh ho ặc mạch cộng ba tr ạng thái. Tr ạng thái mang và tín hi ệu đượ c dẫn để tạo thành tín hi ệu mang ở tr ạng thái k ế ti ế p. Tối ưu hóa hơn nữa, vớ i mỗ i bộ cộng có độ gợ n tiế p theo có thể đượ c m ở r ộng thêm 1 t ầng để tính đến độ tr ễ trong cổng mang khóa đầu. Do đó, đối vớ i mộ t bộ cộng 32 bit, số tr ạng thái là 4-4-5-6-7- 6, như trên hình 4.23 (hình b). Điều này tạo ra một bộ cộng vớ i xấ p x ỉ (4 + 1 + 1 + 1 + 1 + 1), ho ặc là 9 cổng tr ễ cho 32 bit thêm vào. Các bộ cộng có gợ n có thể đượ c thiết k ế có tính động, t ĩnh, hoặc có k ết hợ p vớ i cả hai thuộc tính. 4.2.8 Bộ khở i tạo kiểm tra ngang bậc (parity) Chức năng liên quan đến cộng nhị phân chính là vi ệc khở i tạo kiểm tra ngang b ậc (parity). Thông thườ ng, m ột từ 16 ho ặc 32 bit c ần thiết để t ạo ra bit ki ểm tra ngang b ậc. Hàm kiểm tra có d ạng: 101
PARITY A0 A1 ... An
(4.12)
Hình vẽ 4.24 (hình a) minh h ọ a một thao tác truyền thống. Như trong hình 3.14 thể hiện sơ đồ ứng d ụng c ủa mạch logic nối tầng b ằng một bộ tạo bit kiểm tra ngang b ậc 4 lối vào. Mộ t s ố những sơ đồ này có th ể đượ c ghép t ầng để th ực hiện chức năng bit kiểm tra của 32 bit (hình vẽ 4.24 - hình b). M ạch XOR 4-lối vào t ĩnh có thể dùng đượ c minh họa trên hình 4.24 (hình c). Trong đườ ng dẫn số liệu, hình 4.24 (hình a) có th ể đượ c th ực hiện như một cột tuyến tính vớ i một kênh định tuyến dạng cây nối vớ i các c ổng XOR.
Hình 4.23 Sơ đồ bộ cộng lựa chọn mang
4.2.9 Bộ so sánh Bộ so sánh biên độ được dùng để so sánh biên độ c ủa hai sô nh ị phân. B ộ so sánh có thể đượ c x ậy d ựng từ một bộ cộng và b ộ bù, như minh họa trên hình 4.25 (hình a). M ột cách khác là dùng hàm lôgic truy ền qua. M ạch này có thể là m ạch bù ho ặc mạch single- ended như đã đề cậ p ở chương 3 và đượ c sử dụng như trên hình 4.25.
102
Hình 4.24 Bộ tạo bit kiểm tra ngang bằng
Hình 4.25 Sơ đồ cấu trúc bộ so sánh
103
4.3 Bộ đếm nhị phân Các bộ đế m nhị phân đượ c sử dụng trong để quay vòng thông qua m ột dãy các số nhị phân. Có hai lo ại bộ đếm nhị phân là đếm đồng bộ và đếm không đồ ng bộ. 4.3.1 Bộ đếm không đồ ng bộ Một bộ đếm nhị phân có ‘gợn mang’ đượ c vẽ trên hình 4.26. Điều này d ựa vào hai giai đoạn t ĩnh củ a flip-flop D đã được nói đến trướ c. Một tầng c ủa bộ đếm đượ c minh họa trên hình 4.26 (hình a). T ầng của b ộ đếm này có th ể đượ c ghép tầng như trên hình 4.26 (hình b). Nhớ r ằng xung đồ ng hồ của mối tầng đượ c thực hiện bở i bộ đếm tầng trước nó, và do đó thờ i gian cần thiết để ổn định là khá dài đố i v ớ i một dãy các bộ đếm. Đây là mộ t bộ đếm không đồng bộ vớ i các lối ra thay đổ i tức thì vớ i thờ i gian khác nhau.
Hình 4.26 Sơ đồ của một bộ đếm không đồng bộ
4.3.2 Bộ đếm đồng bộ Các bộ đếm đồng bộ yêu cầu mộ t tín hiệu ‘khóa đầu’ đượ c tạo ra. Các b ộ đếm này có xu hướ ng thiết k ế phức t ạp hơn so vớ i các bộ đếm không đồng bộ đơn giản, nhưng lại có ưu điểm là các tầng đượ c khóa lại đồ ng thờ i và sự thay đổi của đầu ra là đồ ng thờ i. Sử dụng flipflop D và hướ ng các m ạch để cấ p các tín hiệu lối vào cho D là m ột cách tiế p cận. Hình vẽ 4.27 minh h ọa m ột sơ đồ mạch như vậ y. Trong mạch này, t ầng đầu tiên ho ạt động đơn giả n như một bộ chia hai t ầng, với chân đượ c n ối về chân lối vào của filp-flop D. Các t ầng tiế p theo nối tín hiệu từ Q ho ặc tr ở lại D qua một bộ hợ p kênh. Vi ệc chuyển mạch này đượ c kích hoạt khi các tín hiệu Q tại hai tầng trướ c là có thực (mức cao). Lo ại mạch cộng này không thực s ự t ự thêm vào sơ đồ layout thông thường nhưng có một sơ đồ (hình 4.28) có ch ức năng phù hợ p sử dụng các ô tiêu chu ẩn. M ạch đếm này là đại diện của một bộ đế m có sử dụng trong hệ thiết k ế ô chu ẩn hoặc là chu ỗi các ô chu ẩn. Một dạng khác c ủa bộ đếm đồ ng b ộ là bao gồm một bộ ghi và m ột bộ cộng. Sơ đồ tổng thể cho m ạch thiết k ế này đượ c trình bày trên hình 4.29 (hình a). M ột cách cơ bản, b ộ đếm đượ c bố trí như là một bộ tích lũy. Chú ý là một bộ làm giảm (decrementor) có th ể đượ c xây dựng b ằng cách thay đổ i các lối vào như thể hiện trên hình vẽ 4.29 (hình b). Khi ch ỉ có mộ t bộ làm tăng (hoặc làm giảm đượ c yêu c ầu) thì b ộ đế m có thể được đơn giản hóa khi m ột trong các số hạng lối vào sẽ v ĩnh viễn bằng 0 (hay b ằng 1). Một mạch khác sử d ụng một cổng 104
XOR, mộ t c ổng AND, và m ộ t flip-flop D (hình 4.29 - hình c). Hình 4.30 (hình a) minh h ọa sơ đồ mạch của một bộ làm tăng tổ hợ p. Mạch này b ắt nguồ n từ mạch của một bộ đếm đã đượ c giớ i thiệu từ trướ c. T ốc độ có thể hoạt động đượ c c ủa bộ làm tăng được xác định b ằng thời gian độ gợ n mang t ừ bít có tr ọng số nhỏ nhất (LSB) đến bít có tr ọng số lớ n nhất (MSB). Điều này có th ể đượ c cải thiện b ằng cách sử dụ ng bất k ỳ các k ỹ thuật mang khóa đầu như đ ã đề cậ p trong m ục 4.2. Mặc dù sự phức tạ p của c ấu trúc mạch loại này là lớn hơn mạch điệ n của bộ đếm đồng bộ truyền thống. Nhưng nó thường đượ c dung và t ạo nên khối đếm đơn giả n cơ bản.
Hình 4.27 Sơ đồ bộ đếm đồng bộ
Hình 4.28 Sơ đồ bộ đếm đồng bộ sử dụng
105
Hình 4.29 Các bộ đếm làm tăng và làm giảm
Hình 4.30 Sơ đồ mạch của một bộ đếm
4.4 Bộ nhân Mặc dù phép nhân không ph ải là các thao tác ph ổ biến so vớ i phép c ộng, tuy nhiên nó vẫn là thành phần thi ết yếu của các bộ vi xử lý, các b ộ xử lý tín hi ệu số, và các engine đồ họa. Dạng thức cơ bản nhất c ủa một thao tác nhân bao g ồm việc tạo thành tích c ủa hai số nhị phân (dương) không dấu. Thao tác này có th ể đượ c hoàn thành b ằng việc sử dụng k ỹ thuật nhân truyền thống đượ c biết từ trườ ng tiểu học, được đơn giả n hóa với cơ số 2. Ví dụ minh họa phép nhân củ a hai số nguyên nh ị phân 4- bít dương, 1210 và 510 đượ c trình bày trong hình 4.31.
Hình 4.31 Minh họa việc thao tác một phép nhân
106
Từ minh họa trên, chúng ta th ấy r ằng, phép nhân M N-bít có th ể được xem như đượ c hình thành t ừ N phép nhân thành ph ần (partial product) c ủa M bít, và sau đó tính tổ ng của các tích đượ c d ịch thích hợp để tạo thành m ột k ết quả M+N-bít. Chú ý r ằng phép nhân nh ị phân tương ứng v ớ i phép lô- gíc "và" (AND). Do đó, việc t ạo ra các tích thành ph ần liên quan đến việc "và" lô-gíc các bít thích h ợ p c ủa số nhân và s ố bị nhân. M ỗi cột của các tổng thành phần sau đó phải đượ c cộng vớ i nhau, và n ếu c ần, bất cứ giá tr ị nh ớ nếu có phải đượ c chuyển sang cột tiế p theo. G ọi số b ị nhân là Y=(yM-1 yM-2 … y1 y0) và số nhân X=(x N-1x N-2…x1x0). V ớ i phép nhân không d ấu, tích của phép nhân đượ c cho trong công th ức (4.13). M 1
P(
N 1
y j 2 j )(
j 0
xi 2 i )
i 0
N 1 M 1
x y 2 i
j
i j
(4.13)
i 0 j 0
Hình 4.32 minh h ọa quá trình t ạo, dịch và cộng các tích thành ph ần trong m ột bộ nhân 66-bit.
Hình 4.32 Minh họa quá trình tạo, dịch và tính tổng các tích thành phần
Có r ất nhiều k ỹ thu ật đượ c s ử d ụng để thực hi ện phép nhân. M ột cách tổng quát, việc lựa chọn phương án thực hiện dựa trên nhiều yếu tố, chẳng hạn như độ tr ễ (latency), thông lượ ng, diện tích, và độ phức tạ p của thiết k ế. Một giải pháp hi ển nhiên là s ử dụng một bộ cộng truyền nhớ (CPA: Carry-Propagate Adder) M+1- bít để thực hiện việc cộng hai tích thành phần đầu tiên, sau đó mộ t bộ CPA khác th ực hiện việc cộng tích thành ph ần th ứ ba v ớ i tổng thu đượ c ở bước trướ c (còn gọi là tổng chạ y: running sum), và ti ế p t ục như vậy cho đế n khi hoàn thành. Chúng ta th ấy r ằng, phương án vừa nêu yêu c ầu N-1 b ộ CPA và có t ốc độ r ất chậm, thậm chí ngay c ả khi các b ộ CPA nhanh đượ c sử dụng. Các phương pháp song song hiệu quả hơn sử dụng kiểu mảng hoặc cây các b ộ cộng đầy đủ để tính tổng các tích thành phần. Trong phần này chúng ta b ắt đầu b ằng việc xem xét vi ệc s ử d ụng một m ảng đơn giả n cho các b ộ nhân không d ấu, sau đó cải tiến mảng để có thể xử lý đượ c các số bù 2 có d ấu bằng cách sử dụng thu ật toán Baugh-Wooley. S ố lượ ng các tích thành ph ần c ần tính tổng có thể đượ c giảm nh ỏ b ằng cách sử d ụng phép mã hóa Booth (Booth encoding) và s ố lượ ng các mức lô-gíc cần thiết để thực hiện việc tính tổng có thể đượ c giảm nh ỏ bằng việc s ử d ụng các cây Wallace (Wallace tree). Tuy nhiên, các cây Wallace thườ ng phức t ạ p cho việc th ực hiện layout và thườ ng có các dây d ẫn dài, b ất thường. Do đó, các cấu trúc lai ghép m ảng/cây thường đượ c chú ý nhi ều hơn. 107
2) Mạch nhân mảng không dấ u Các bộ nhân nhanh thườ ng sử dụ ng các b ộ cộng lưu nhớ (CSA: Carry-Save Adder) để tính tổng các tích thành ph ần. Hình 4.33 minh h ọa m ột b ộ nhân mảng 4 4 cho các số không dấu sử dụng m ột mảng các CSA. Mỗi ô chứa một cổng AND 2-đầu vào tạo thành một tích thành phần và m ột bộ cộng đầy đủ (CSA) để cộng các tích thành phần vào tổng chung.
Hình 4.33 Bộ nhân mảng
Hình 4.34 Bộ nhân mảng dạng hình chữ nhật
Hàng đầu tiên chuyển đổi tích thành ph ần thứ nhất thành d ạng dư thừa lưu nhớ (carrysave redundant form). Các hàng ti ế p theo s ử d ụng bộ CSA để cộng các tích thành ph ần tương
108
ứng vớ i k ết qu ả dư thừa lưu nhớ (carry-save redundant result) thu đượ c t ừ các hàng trước đó và t ạo ra các k ết qu ả dư thừa lưu nhớ mới. N bít đầu ra bậc th ấp (least significant) được đưa tr ực tiế p từ các bộ CSA ra tổng. Các bít đầu ra bậc cao (most significant) t ớ i trong d ạng dư thừa lưu nhớ và yêu cầu một bộ cộng truyền nhớ M-bit thực hiện việc chuyển đổi thành d ạng số nhị phân thông thườ ng. Trong minh h ọa, b ộ CPA đượ c thực hiện như một b ộ cộ ng chuyển nhớ (b ộ cộng mà nhớ của bộ này là đầu vào của bộ k ế tiế p). Vì m ảng có cấu trúc có quy lu ật, và sử dụng một loại ô duy nhất, do đó dễ dàng thi ết k ế và thực hiện layout. Giả sử r ằng, trong mộ t bộ CSA đầu ra nhớ nhanh hơn đầu ra tổng, khi đó đườ ng quyết định (critical path) đượ c đánh dấu là đường đứt nét trong minh h ọa. Bộ cộng có thể d ễ dàng đượ c pipeline vớ i việc đặt các thanh ghi giữa các hàng. Trong th ực tế, các mạch điện đượ c gán cho các kh ối hình chữ nhật trong quá trình ho ạch định vị trí, do đó khố i hình bình hành (parallelogram shape) làm lãng phí không gian. Hình 4.34 minh h ọa b ộ c ộng đã được ép để hợ p vớ i m ột khối hình chữ nhật. Thành phần m ấu chốt của thiết k ế là m ột b ộ CSA gọn. Điều này không ch ỉ có lợ i về mặt di ện tích mà còn giúp nâng cao ch ất lượ ng ho ạt động b ở i vì nó giúp cho các dây d ẫn có độ dài nhỏ hơn vớ i dung kháng dây th ấp hơn. Mộ t thiết k ế CSA lý tưởng có các độ tr ễ nhớ và tr ễ tổng xấ p xỉ b ằng nhau b ở i vì sự khác biệt lớ n của các độ tr ễ này sẽ hạn chế ch ất lượ ng làm việc. Chú ý r ằng, hàng đầu tiên của các b ộ CSA cộ ng tích thành ph ần đầu tiên vớ i một cặ p 0. Điều này cho phép t ạo ra một cấu trúc thông thườ ng tuy nhiên không hi ệu qu ả. Vớ i sự tr ả giá mộ t chút về cấu trúc thông thườ ng mong mu ốn, hàng đầu tiên của các bộ CSA có thể đượ c sử dụng để cộng ba tích thành ph ần đầu tiên vớ i nhau. Bằng cách này, s ố lượng các hàng đượ c giảm đi 2 và tươ ng ứng làm giảm tr ễ lan truyền c ủa các bộ cộ ng. Cũng có thể thực hi ện việc sử d ụng hàng đầu tiên của các bộ CSA để cộng m ột hoặc hai đầu vào khác mà không t ạo ra thêm tr ễ. Chẳng hạn, các chíp xử lý tín hiệu s ố thường đưa ra các đơn vị nhân tích l ũy (MAC: Multiply-accumulate unit) th ực hi ện hàm Y=A*B+C một thao tác m ấu chốt cho các bộ lọc và các phép chuyển đổi. Một cách khác để cải tiến chất lượ ng ho ạt động m ảng b ộ nhân là thay thế hàng cuối cùng vớ i một CPA nhanh hơn chẳ ng hạn như một bộ cộng cây (tree adder). Nói tóm lại, đườ ng quyết định của một bộ nhân m ảng liên quan đến N-2 bộ CSA và một bộ CPA. Bộ CSA là một mạch b ất đối xứng: một số đầu vào nh ất định có nhi ều c ố g ắng lô-gic (logic effort: m ột khái niệm được đưa ra để đánh giá trễ trong các m ạch CMOS) hơn các đầu vào khác. B ộ nhân có thể đượ c thiết k ế sao cho đầu ra tổng (vớ i effort lô-gíc l ớn hơn) kéo theo đầu vào của tầng tiế p theo có dung kháng th ấp hơn.
3) Mạch nhân mảng bù 2 Phép nhân c ủa các số bù 2 đầu tiên có vẻ khó hơn bở i vì mộ t số tích thành ph ần là âm và phải đượ c tr ừ đi. Chúng ta biết r ằng bít bậc cao nh ất của một số bù 2 có tr ọng số âm. Do đó, tích đượ c tính là:
M 2 N 2 y j 2 j x N 1 2 N 1 xi 2i j 0 i 0 N 2 M 2 N 2 M 2 xi y j 2 i j x N 1 y M 1 2 M N 2 xi y M 1 2i M 1 x N 1 y j 2 j N 1 i 0 j 0 j 1 i 0
P y M 1 2 M
1
(4.14)
109
Trong công th ức (4.14), hai trong s ố các tích thành ph ần có tr ọng số âm và do đó phải đượ c tr ừ đi thay vì cộ ng vào. Thu ật toán của bộ nhân Baugh-Wooley x ử lý phép tr ừ bằng cách lấ y các phần bù 2 của các thành ph ần c ần phải tr ừ đi (tức là b ằng cách đảo bít và c ộng v ớ i mộ t). Hình 4.35 minh h ọa các tích thành ph ần cần tính tổng. Hình bình hành trên cùng bi ểu diễn phép nhân không d ấu c ủa tất c ả bít ngo ại tr ừ các bít b ậc cao nhất của các đầu vào. Hàng tiế p theo là m ột bít duy nhất tương ứ ng vớ i tích của các bít b ậc cao nhất. Hai hàng tiế p theo là phần đảo củ a các thành phần c ần phải tr ừ đi. Mỗi thành ph ần có phần đầu ngầm ẩn và phần đuôi gồm các số $0$, phần thực hiện đảo sẽ cho phần đầu và phần đuôi là các bít 1. Mộ t bít 1 bổ sung cần đượ c thêm vào c ột bậc nhỏ nhất (least significant column) khi l ấy phần bù 2.
Hình 4.35 Các tích thành phần cho bộ nhân bù 2
Hình 4.36 Các tích thành phần được đơn giản hóa cho bộ nhân bù 2
Độ tr ễ của bộ nhân phụ thuộc vào số lượ ng các hàng tích thành ph ần cần đượ c tính tổng. Mạch nhân Baugh-Wooley c ải tiến giảm nh ỏ số các tích thành ph ần bằng các tính trướ c các tổ ng của các hằng số 1 và đẩy một số trong các thành ph ần lên trên thành các c ột bổ sung. Hình 4.36 minh họ a s ự s ắ p xế p này. Kh ối hình bình hành có th ể đượ c ép thành hình chữ nh ật để cho phép th ực hiện vi ệc thiết k ế giống như hầ u h ết các mạch nhân không d ấu đ ã biết như trong minh h ọa 4.37. Các c ổng AND có thể đượ c thay thế bở i các cổng NAND trong các ô
110
gạch và các bít 1 đượ c thêm vào v ị trí của các bít 0 ở một vài đầu vào không sử dụng. Các mảng dấu và không d ấu là tương tự nhau ở điểm một mảng duy nhất có thể đượ c sử dụng cho cả hai mục đích nếu các cổng XOR đượ c sử dụng để đảo có điều kiện một số trong các thành phần phụ thuộc vào thức làm việc.
Hình 4.37 Cải tiến Baugh-Wooley của bộ nhân bù 2
4) Mã hóa Booth Các bộ nhân m ảng đề cậ p trong các ph ần trên tính toán các tích thành ph ần theo cơ số 2, t ức là b ằng cách m ỗi lần quan sát m ột bít củ a bộ nhân. Các b ộ nhân cơ số 2r tạo ra N/r tích thành phần, mỗi một tích thành phần sẽ phụ thuộc vào r bít củ a bộ nhân. Càng ít s ố tích thành phần sẽ dẫn đến mảng CSA nhỏ hơn và nhanh hơn. Ví dụ , bộ nhân cơ số 4 t ạo ra N/2 tích thành phần. M ỗi tích thành ph ần là 0, Y, 2Y ho ặc 3Y phụ thuộc vào một cặ p bít của X. Việc tính toán 2Y có thể thực hiện một cách đơn giả n b ằng phép d ịch, tuy nhiên vi ệc tính 3Y là mộ t phép nhân khó vì nó yêu c ầu một phép cộ ng truyền nhớ chậ p của Y+2Y trướ c khi quá trình t ạo tích thành phần bắt đầu. B ảng 4.2: Các giá tr ị mã hóa Booth cơ số 4 cải tiến
Các đầu vào Tích thành ph ần Các lựa chọn Booth x2i+1 x2i x2i-1 PPi Xi 2Xi Mi 0 0 1 Y 1 0 0 0 1 0 Y 1 0 0 0 1 1 2Y 0 1 0 1 0 0 -2Y 0 1 1 1 0 1 -Y 1 0 1 1 1 0 -Y 1 0 1 1 1 1 -0(=0) 0 0 1 Mã hóa Booth đầu tiên được đề xuất để tăng tốc các phép nhân n ối tiế p. Mã hóa Booth cải tiến cho phép ho ạt động song song cơ số cao hơn mà không tạ o ra phép nhân 3Y khó b ằng cách thay vì s ử dụng các tích thành ph ần âm. Quan sát thấ y r ằng 3Y=4Y-Y và 2Y=4Y-2Y. 111
Tuy nhiên, 4Y trong m ột mảng b ộ nhân cơ số 4 là tương đương vớ i Y trong hàng ti ế p theo của mảng hàng mà mang 4 l ần tr ọng s ố. Do vậ y, các tích thành ph ần đượ c chọn bằng cách xem xét m ột cặ p bít cùng v ớ i bít b ậc cao nhất từ cặp trước đó. Nếu bít b ậc cao nhất từ cặ p trướ c là "thật" (true) thì Y ph ải đượ c c ộng vào tích thành ph ần hiện tại. N ếu bít b ậc cao nhất của cặ p hiện t ại là "thật", thì tích thành ph ần hiện tại đượ c ch ọn ph ải âm và tích thành ph ần tiếp theo được tăng lên. Bảng 4.2 minh h ọa cách các tích thành ph ần đượ c chọn, d ựa vào các bít của số nhân. Các tích thành ph ần đượ c t ạo ra b ằng cách lấy phần bù 2 của số b ị nhân (có thể dịch trái đi một cột). Trong một bộ nhân mã hóa Booth c ơ số 4, mỗi nhóm ba bít (m ột cặ p, cùng vớ i một bít bậc cao nhất của cặp trước đó) đượ c giải mã thành m ột số đườ ng l ựa chọn (Xi, 2Xi, và Mi, đượ c cho trong các c ột bên phải của b ảng 4.2 ) và đượ c kích qua hàng tích thành ph ần như trong minh họa hình 4.38 [12].
Hình 4.38 Bộ chọn và mã hóa Booth cơ số 4
Số nhân Y đượ c phân b ố đến t ất cả các hàng. Các đườ ng l ựa chọn điều khiển các b ộ chọn Booth để chọn các bội số thích hợ p c ủa Y cho mỗ i tích thành ph ần. Các b ộ ch ọn Booth thay thế các cổng AND trong m ột b ộ nhân mảng đơn giả n. Hình 4.38 minh h ọa một thiết k ế bộ chọn Booth truyền thống thực hiện việc tính bít tích thành ph ần thứ j c ủa tích thành ph ần i. Nếu tích thành ph ần có độ l ớ n Y, thì yi đượ c chọn. N ếu nó có độ l ớ n 2Y thì yi+1 đượ c chọn. Nếu nó âm, thì b ội số được đảo ngượ c (và m ột bít 1 đượ c cộng vào c ột b ậc nhỏ nhất ở trong mảng để tạo thành phần bù 2). Thậm chí trong m ộ t b ộ nhân không d ấu, các tích thành ph ần âm phải đượ c mở r ộng dấu để đượ c tính t ổng một cách chính xác. Hình 4.39 [12] minh h ọa một mảng tích thành phần Booth cơ số 4 16-bít c ủa m ột b ộ nhân không d ấu trong đó sử d ụng lược đồ kí hiệu dấu chấm để biểu diễn bộ nhân. M ỗi dấu chấm trong m ạch nhân mã hóa Booth đượ c tạo ra b ở i mộ t bộ chọn Booth chứ không phải bở i mộ t cổng AND đơn giản. Vớ i mỗi tích thành ph ần thứ i, bít d ấu si =Mi =x2i+1 là 1 cho các b ội số âm (những bội số trong phần nửa cuối của bảng 4.2) hoặc 0 cho các b ộ i số dương. Chúng ta cũng quan sát thấ y cách th ức m ột bít 1 b ổ sung đượ c cộng vào bít b ậc thấ p nhất trong hàng ti ếp theo để tạo thành phần bù 2 củ a các bội số âm. Bằng cách đảo ngượ c dãy ẩn các bít 0 s ẽ tạo ra dãy các bít 1 trên các b ội số âm. Các thành 112
phần b ổ sung làm tăng kích thướ c của b ộ nhân. PP 8 c ần phải có trong trườ ng hợ p PP7 là âm; tích thành phần này luôn luôn b ằng 0 ho ặc Y bở i vì x16 và x17 b ằng 0.
Hình 4.39 Các tích thành phần mã hóa Booth cơ số 4 vớ i mở r ộng dấu
Chúng ta c ũng thấ y các bít m ở r ộng d ấu t ất c ả hoặc là các bít 1 ho ặc là các bít 0. N ếu mộ t bít 1 duy nh ất đượ c cộng vào vị trí bậc thấ p nhất trong m ột chuỗ i bít toàn 1, k ết quả là mộ t chuỗi toàn bít 0 và m ộ t bít nhớ mà bít này có th ể b ị bỏ qua. Do đó, một số lượ ng lớ n các bít s trong m ỗi tích thành ph ần có thể đượ c thay thế b ằng một s ố tương đương các hằng số 1 và phần đảo của s đượ c cộng vào vị trí b ậc thấ p nhất, như trong minh họ a hình 4.40 [12]. Các hằng số chủ yếu có thể đượ c tối ưu hóa ngoài mả ng bằng cách tính toán trướ c tổng của chúng. K ết qu ả đơn giản hóa đượ c minh họa trong hình 4.4 0. Như thông thườ ng, bộ nhân có thể đượ c ép để phù hợ p vớ i một phân ho ạch (floorplan) hình ch ữ nhật.
Hình 4.40 Các tích thành phần mã hóa Booth cơ số 4 vớ i mở r ộng dấu đơn giản hóa
113
Đườ ng quyết định của một bộ nhân liên quan đến bộ giải mã Booth, các b ộ kích (driver) đườ ng lựa chọn, bộ chọn Booth, xấ p xỉ N/2 CSA, và m ột CPA cuối cùng. Mỗi tích thành phần điền khoảng M+5 cột. Các bộ nhân Booth cơ số 4 5353-bít cho các khối dấu phẩy động độ chính xác kép theo tiêu chu ẩn IEEE thườ ng nhỏ hơn khoảng 20-30% (và nhanh hơn khoảng 20%) các b ộ tương ứng không s ử dụng mã hóa, do đó kỹ thuật mã hóa đượ c sử dụ ng m ột cách r ộng rãi. Bộ nhân yêu c ầu M*N/2 bộ chọn Booth. B ở i vì chúng chi ếm một phần lớ n diện tích và ch ỉ một phần nhỏ đườ ng quyết định, chúng ph ải đượ c tối ưu hóa cho kích thướ c thay vì t ốc độ.
Hình 4.41 Các tích thành phần mã hóa Booth cơ số 4 cho phép nhân có dấu Bảng 4.3: Các giá tr ị mã hóa Booth cơ số 8 cải tiến
xi+2 xi+1 xi xi-1 Tích thành phần 0 0 0 0 0 0 0 0 1 Y 0 0 1 0 Y 0 0 1 1 2Y 0 1 0 0 2Y 0 1 0 1 3Y 0 1 1 0 3Y 0 1 1 1 4Y 1 0 0 0 -4Y 1 0 0 1 -3Y 1 0 1 0 -3Y 1 0 1 1 -2Y 1 1 0 0 -2Y 1 1 0 1 -Y 1 1 1 0 -Y 1 1 1 1 -0(=0) Phép nhân bù 2 có d ấu cũng tương tự, nhưng việ c mở r ộng d ấu d ựa trên d ấu của tích thành phần (t ức là dựa vào bít b ậc cao nhất c ủa tích thành ph ần) thay vì đơn giản ph ụ thuộc vào Mi b ở i vì số b ị nhân có thể âm. Hình 4.41 [12] minh h ọa một mảng như vừa đề cậ p trong đó việc m ở r ộng bít d ấu b ở i e i=Miy15. Cũng chú ý rằng, PP 8, thành phần b ằng Y ho ặc 0 đối vớ i phép nhân không d ấu, luôn b ằng 0 và có th ể đượ c bỏ qua trong phép nhân có d ấu bở i vì số nhân x đượ c mở r ộng dấu sao cho x 17=x16=x15. 114
Các bộ nhân lớ n có thể sử dụng phép mã hóa Booth v ới cơ số cao hơn. Ví dụ , phép nhân cơ số 8 thông thườ ng gi ảm số các tích thành ph ần xu ống kho ảng 1/3, tuy nhiên nó yêu cầu các bội số khó là 3Y, 5Y và 7Y. Phép mã hóa Booth c ơ số 8 chỉ yêu cầu một bội số khó là 3Y, như minh họ a trong b ảng 4.3 [12]. M ặc dù phương pháp này yêu cầ u một b ộ CPA trướ c khi thực hiện vi ệc t ạo tích thành ph ần, nó có th ể được điều chỉnh b ằng cách giảm kích thướ c của mảng và độ tr ễ. Các phép mã hóa Booth c ơ số cao hơn cũng có thể đượ c th ực hiện, tuy nhiên việc t ạo ra các b ội số khó khác khi ến cho vi ệc tăng cơ số là không mang l ại nhiều lợ i ích vớ i các bộ nhân nh ỏ hơn 64 bít. Các kỹ thu ật tương tự cũng đượ c áp dụng cho các b ộ nhân cơ số cao mở r ộng dấu. Một phương pháp khác cho phép nhân cơ số 8 là vi ệc tạo các bộ số dư thừa thành phần, do đó tránh đượ c các bội số khó. B ằng cách này, có th ể cải thiện đượ c tốc độ thực hiện, vùng diện tích, và công su ất so với phương pháp mã hóa Booth c ơ số 4. 5) Phép nhân cây Wallace Chúng ta thấy r ằng, một bộ CSA thực ch ất là mộ t b ộ "đếm bít 1" th ực hiện vi ệc c ộng mộ t số bít 1 vào các đầu vào A, B, và C và mã hóa chúng trong t ổng và nh ớ các đầu ra, như minh họ a trong b ảng 4.4 [12]. Do đó, mộ t b ộ CSA cũng đượ c biết đến như là một bộ đếm (3,2) b ở i vì nó thực hiện việc chuyển ba đầu vào thành m ột phép đếm đượ c mã hóa trong hai đầu ra. Phần nhớ ngoài (carry- out) đượ c chuyển sang cột bậc cao hơn kế tiếp, trong khi đó phần nhớ trong (carry- in) tương ứng đượ c nhận từ cột trước đó. Do vậy, để đơn giản, một giá tr ị nhớ đượ c biểu diễn như thể đượ c chuyển tr ực tiế p xuống cột. Hình 4.42 [12] minh h ọa một lược đồ dấu chấm của một cộ t bộ nhân mảng mà nó tính t ổng N tích thành ph ần một cách lần lượ t sử d ụng N-2 b ộ CSA. Đầu ra đượ c tạo ra trong d ạng thức dư thừa lưu nhớ thích hợ p cho bộ CPA cuối cùng. Bảng 4.4: Một bộ cộng như là một bộ đếm bít 1
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
Nhớ 0 0 0 1 0 1 1 1
Tổng 0 1 1 0 1 0 0 1
Số bít 1 0 1 1 2 1 2 2 3
Chúng ta d ễ thấ y r ằng phép c ộng theo c ột r ất chậm bở i vì chỉ có một bộ CSA hoạt động ở m ột thời điểm. Một cách để tăng tốc độ phép cộng theo cột là việc thực hi ện tính t ổng các tích thành ph ần song song thay vì n ối tiế p (lần lượ t). Hình 4.43 [12] minh h ọa một cây Wallace sử dụng phương pháp vừa nêu. Cây Wallace cần log 3 / 2 ( N / 2) mức của các bộ cộng (3,2) để giảm N đầu vào xu ống thành hai đầu ra dạng dư thừa lưu nhớ. Tuy nhiên, khi đó việc đị nh tuyến giữa các m ức tr ở lên r ất phức tạ p. Ngoài ra, dây d ẫn càng dài thì dung kháng c ủa dây càng lớn và sơ đồ cây tr ở lên bất thườ ng r ất khó thực hiện layout. 115
Hình 4.42 Sơ đồ dấu chấ p cho một bộ nhân mảng
Hình 4.43 Sơ đồ dấu chấ p cho bộ nhân cây Wallace
Một bộ nén [4:2] có th ể đượ c sử dụng trong m ộ t cây nhị phân để có thể tạo ra một layout bình thường hơn, như đượ c minh họa trong hình 4.44 [12].
Hình 4.44 Sơ đồ dấu chấ p cho một bộ nhân cây nhị phân
116
Một b ộ nén [4:2] s ử dụng b ốn đầu vào cùng tr ọng s ố và t ạo ra hai đầu ra. Nó có thể đượ c xây d ựng từ hai b ộ đếm (3,2) như đượ c minh họa trong hình 4.45 [12].
Hình 4.45 Xây dựng bộ nén [4:2] từ hai bộ đếm (3,2)}
Trong quá trình ho ạt động, nó t ạo ra một giá tr ị trung gian đượ c nhớ vào cột k ế tiế p, và chấ p nhận một nhớ từ cột trước đó, do đó thường đượ c gọi là một bộ đếm (5,3). Chỉ có log 2 ( N / 2) mức c ủa các bộ nén [4:2] đượ c yêu cầu, mặc dù mỗi m ột bộ có độ tr ễ l ớn hơn của một b ộ CSA. Khả năng tạo ra layout bình th ườ ng và kh ả năng định đườ ng c ũng làm cho bộ nhân cây nh ị phân đượ c chú ý nhi ều hơn. Hình \ref{fig:m.4.16} minh h ọa một phương án khác thực hiện bộ nén [4:2] s ử dụng số mức lô-gic ít hơn.
Hình 4.46 Một cách thiết k ế bộ nén [4:2] vớ i ít mức lô-gic hơn
6) Mạch nhân lai ghép - Hybrid multiplication Phương pháp mảng mang l ại k ết qu ả là các layout có d ạng thông thườ ng, tuy nhiên yêu cầu nhi ều mức của các bộ CSA. Cấu trúc cây cho phép gi ảm nhỏ mức các bộ CSA, tuy nhiên lại gặ p phải vấn để là layout thườ ng ít có d ạng thông thườ ng và yêu c ầu các dây d ẫn dài. Để giải quyết phần nào các v ấn đề gặ p ph ải c ủa các phương pháp trên, một phương pháp lai ghép đã được đề xuất. Phương pháp lai ghép cân bằng hai trườ ng h ợ p ở hai thái c ực cực đoan. Các phương pháp thự c hiện theo cách lai ghép có th ể k ể đến là phương pháp sử dụng các mảng l ẻ/chẵn, phương pháp sử d ụng các m ảng c ủa các mảng, phương pháp sử dụng các cây tr ễ cân b ằng, và phương pháp sử d ụng các cây l ật hình b ậc thang. Các b ộ nhân lai ghép vừa k ể có thể đạt đượ c mức lô-gic thấ p g ần như với phương pháp sử d ụng cây Wallace trong khi cho phép vi ệc nối có dạng thông thường hơn và tốc độ hoạt động nhanh hơn.
117
7) Mạch cộng-nhân cầu nối R ất nhiều thuật toán, đặc biệt trong xử lý tín hiệu số, yêu c ầu th ực hi ện việc tính toán P=X*Y+Z. Trong khi phép tính này có th ể đượ c thực hiên vớ i m ột bộ nhân và m ột bộ c ộng, nó có thể đượ c th ực hiện vớ i t ốc độ nhanh hơn bằng cách s ử dụng m ột khối cộng-nhân cầu nối (FMA: Fused Multiply- Add), trong đó đơn giả n là một bộ nhân bình thường đượ c cải tiến để lấy thêm một tích thành ph ần khác là Z. Tích thành ph ần b ổ sung này làm tăng độ tr ễ của mộ t mạch nhân m ảng thêm b ằng đúng một CSA bổ sung. 8) Bộ nhân nối tiếp Các bộ nhân song song l ớ n sẽ s ử d ụng một số lượ ng r ất lớ n transistor. Trong khi t ổng số transistor có thể tăng đến một m ức chấ p nhận nào đó, các nhà thiế t k ế của các hệ thố ng giá thành thấ p vẫn thấ y r ằng mạch nhân nối tiếp thu hút hơn. Các bộ nhân nối tiế p sử dụng s ố lượ ng phần cứng ít hơn nhiều, tuy nhiên nó yêu c ầu nhiều chu k ỳ đồng hồ hơn để thao tác phép toán. Phép nhân có th ể đượ c thực hiện theo kiểu nố i tiế p t ừ hoặc nối tiế p bít.
Hình 4.47 Bộ nhân thực hiện kiểu nối tiế p từ
Hình 4.48 Minh họa việc thực hiện nhân nối tiế p
Hình 4.47 [12] minh h ọa m ột khối nhân thực hiện theo kiểu nối ti ế p từ, khối này chỉ yêu cầu mộ t bộ cộng M-bit và m ột thanh ghi d ịch (M+N)-bít. Ở mỗi bướ c thực hiện, nó thực hiện việc c ộng có điều kiện số b ị nhân Y vào tích hi ện tại n ếu bít thích h ợ p c ủa s ố nhân X là 1. Nó d ựa trên quan sát r ằng ở bướ c thực hiện thứ k, tích hiện tại (tích chạ y - running product) có chiều dài M+k bít và các bít 0…k-1 c ủa X đ ã đượ c xem xét và không c ần thi ết nữa. Khối nhân nối tiếp đượ c khởi động bằng cách nạ p t ất cả các bít của X vào ph ần b ậc thấ p c ủa thanh ghi d ịch và m ột tích chạy gồ m các bít 0 vào ph ần b ậc cao của thanh ghi. Ở bướ c th ứ k, Y s ẽ 118
đượ c cộng vào tổng chạy n ếu xk =1. Thanh ghi d ịch sau đó thực hiện việc dịch phải, hủ y b ỏ giá tr ị xk và tăng gấp đôi trọ ng số tại v ị trí mà tích thành ph ần k ế tiế p sẽ đượ c c ộng vào tích chạy. Sau N bướ c, thanh ghi s ẽ chứa giá tr ị tích cuố i cùng.
Hình 4.48 [12] minh h ọa việc th ực hiện phép nhân 1100 0101=00111100. Đườ ng k ẻ dọ c phân tách t ổng chạy vớ i các bít còn l ại của X. Chu k ỳ của mạch nhân n ối tiế p từ đượ c thiết lậ p bở i phép cộng truyền nhớ M-bít ở mỗi bước. Độ tr ễ của CPA này có thể giảm xu ống bằng độ tr ễ của một CSA bằng cách duy trì tích thành phần ở dạng thức dư thừa lưu nhớ . Bù lại phải tr ả giá là sự tăng gấp đôi số lượ ng thanh ghi c ần để giữ tích thành ph ần dư thừa và sự thêm một bộ CPA cuối cùng để chuyển đổi k ết qu ả dư thừa thành các số bù 2 ở bướ c cuối của phép nhân. 4.5 Bộ ghi dịch Chúng ta biết có một số loại ghi d ịch thường đượ c sử dụng là:
Bộ ghi dịch lô-gic: Thực hiện việc d ịch một s ố sang trái ho ặc ph ải và điề n vào các vị trí tr ố ng các bít 0. Các phép d ịch này thường đượ c kí hiệu là >> ho ặc << trong ngôn ngữ Verilog. Ví d ụ 1011 LSR 1 = 0101, 1011 LSL 1 = 0110. Bộ ghi dịch s ố h ọc: Cũng tương tự như bộ ghi d ịch lô-gic, nhưng trong các phép dịch phải nó sẽ điền các vị trí bít bậc cao nhất vớ i các bản sao của bít dấu (để hiển th ị d ấu một cách đúng đắn, các số bù 2 mở r ộng khi s ử d ụng phép d ịch phải b ở i k nh ịp tương ứng vớ i việc chia b ở i 2k ). Các thao tác này đượ c ký hiệu là >>> ho ặc <<< trong ngôn ngữ Verilog. Ví d ụ 1011 ASR 1 = 1101, 1011 ASL 1 = 0110. Bộ ghi dịch vòng (quay): Th ực hiện việc quay vòng các s ố theo vòng tròn sao cho các vị trí tr ống được điền đầy bởi các bít đượ c d ịch ra khỏi ở phía đầu cuối bộ ghi. Ví d ụ 1011 ROR 1 = 1101, 1011 ROL 1 = 0111. Bộ ghi d ịch hình ph ễu (funnel shifter) có th ể thực hiện cả ba thao tác vừa nêu. Bộ ghi dịch loại này thực hiện việc chắ p n ối hai đầu vào N-bít và l ựa ch ọn m ộ t vùng con N-bít c ủa Y, như trong minh họ a hình 4.49 [12].
Hình 4.49 Minh họa hoạt động của bộ ghi dịch hình phễu
Bảng 4.5 [12] li ệt kê các đầu vào cần đượ c sử dụng để thực hiện một thao tác d ịch trái hoặc d ịch phải đi k bít củ a một từ N-bít A. Việc t ạo ra độ lệch (offset) cho các phép d ịch trái yêu cầu một phép tr ừ số bù 2. N ếu N là một số lũy thừa của 2 thì bộ ghi d ịch hình phễu có thể được đơn giản hóa hơn bằng cách chấ p nhận một đầu vào (2N-1)-bít Z và b ằng cách đơn giản lấ y phần bù của các bít 1 (t ức là thực hi ện việc đảo theo bít) của ph ần dịch cho các phép d ịch trái, như minh họa trong b ảng 4.6 [12]. 119
Bảng 4.5: Hoạt động của bộ ghi dịch hình phễu
Kiểu d ịch Dịch phải logic Dịch trái logic Dịch phải số học Dịch trái s học Dịch phải vòng Dịch trái vòng
B 0…0 A N-1…A0 A N-1…A N-1 A N-1…A0 A N-1…A0 A N-1…A0
C A N-1…A0 0…0 A N-1…A0 0 A N-1…A0 A N-1…A0
Offset k N-k k N-k k N-k
Bộ ghi d ịch hình phễu có thể hỗ tr ợ m ọi lo ại thao tách d ịch và quay vòng b ằng cách chọn các đầu vào Z thích h ợ p, hoặc nó có thể nối mạch cứng (hardwire) cho các thao tác ghi dịch đặc biệt nào đó. Bảng 4.6: Bộ ghi dịch hình phễu đơn giản hóa
Kiểu d ịch Dịch phải logic Dịch trái logic Dịch phải số học Dịch trái số học Dịch phải vòng Dịch trái vòng
Z 0…0, A N-1…A0 A N-1…A0, 0…0 A N-1…A N-1, A N-1…A0 A N-1…A0, 0…0 A N-2…A0, A N-1…A0 A N-1…A0, A N-1…A1
Offset k k
k k
k k
Thiết k ế của một bộ ghi d ịch hình phễu đơn giản nhất bao gồm một mảng các bộ ghép kênh N N-đầu vào chấ p nhận các tín hi ệu l ựa ch ọn 1-trong-N (m ộ t bộ ghép kênh cho m ỗi bít đầu ra). Một bộ ghi d ịch mảng như vậy đượ c minh họa trong hình 4.50 [12] trong đó sử dụng các transistor truyền nMOS cho các b ộ ghi d ịch 4- bít. Đại lượ ng d ịch được đảo ngược cưỡ ng bức và đượ c mã hóa thành các tín hi ệu lựa chọn, các tín hi ệu này đượ c d ẫn theo tr ục thẳng đứng đi qua mảng.
Hình 4.50 Bộ ghi dị ch hình phễu mảng
120
Các đầu ra đượ c lấy theo phương ngang. Mỗi hàng transistor đượ c gắn vớ i một đầu ra để tạo thành m ột trong các b ộ ghép kênh. Các đầu vào 2N-1 chạy theo phương đườ ng chéo t ớ i các đầu vào ghép thích h ợp. Sơ đồ layout hình que c ủa một trong N 2 transistor trong m ảng đượ c minh họa trong hình 4.51 [12]. Các transistor truy ền chịu m ột sự rơi ngưỡng, nhưng vấ n đề này có thể đượ c giải quyết b ằng cách tiền nạp các đầu ra ho ặc b ằng cách s ử dụng các c ổng truyền CMOS đầy đủ.
Hình 4.51 Sơ đồ layout hình que của bộ ghi dịch hình phễu mảng
Hình 4.52 Bộ ghi dịch hình phễu nhiều mức
Bộ ghi d ịch mảng làm vi ệc tương đố i tốt đối vớ i các bộ dịch kích thướ c trung bình trong các thi ết k ế m ức transistor, nhưng có dung kháng k ý sinh cao trong các b ộ ghi d ịch l ớ n hơn và không tuân theo các thiế t k ế ô tiêu chu ẩn (standard cell). Hình 4.52 [12] minh h ọa một bộ ghi d ịch 4-bít d ựa trên nhiều m ức c ủa các bộ ghép kênh nhỏ hơn (các bộ mà, tất nhiên, có thể là các cổng truyền). Một cách tổng quát, m ức đầu tiên dịch đi N/2, mức thứ hai dịch đi N/4, ..., cho đế n mức cuối cùng đượ c dịch đi 1. Vớ i cấu trúc như vậ y, không c ần thiết phải có 121
bộ giải mã. Các cổng XOR trên các đầu vào điều khiển đảo cưỡ ng bức đại lượ ng cần dịch cho các phép d ịch trái. Các lựa chọn dịch khác, bao g ồm cả việc tráo đổi, đảo bít, trao đổi bít, đô i khi cũng đượ c yêu cầu. Các bộ ghi d ịch cho các l ựa chọn này cũng đượ c xây d ựng từ các k ết hợ p thích hợ p của các bộ ghép kênh. T ốc độ củ a một b ộ ghi d ịch N-bít t ỷ lệ thuận với log(N), do đó việc d ịch có thể nói là m ộ t thao tác nhanh. Các b ộ ghép kênh 4:1 làm vi ệc tốt trong các b ộ ghi dịch lớn hơn nhằm giảm nhỏ số lượ ng các mức lô-gic. 4.6 Bộ nhớ 4.6.1 Giớ i thiệu Các mảng bộ nhớ thườ ng chiếm phần quan tr ọng của các transistor trong m ột SoC CMOS. Các mảng b ộ nhớ có thể đượ c phân lo ại thành các nhóm như minh họ a trong hình 4.53 [12]. Chú ý r ằng các PLA ch ủ yếu thực hiện các phép tính lô-gic ch ứ không phải chức năng lưu trữ như một bộ nhớ, nhưng cũng sẽ được đề cậ p trong phần này.
Hình 4.53 Phân loại các mảng nhớ
Bộ nhớ truy xu ất ngẫu nhiên đượ c truy xu ất thông qua m ột địa chỉ và có độ tr ễ độc lậ p với địa chỉ của ô nhớ. Ngượ c lại, các bộ nhớ truy xu ất nố i tiếp đượ c truy xu ất lần lượ t sao cho không cần phải sử d ụng địa ch ỉ. Các b ộ nhớ có thể đánh địa ch ỉ nộ i dung sẽ xác định địa chỉ (hoặc các địa chỉ) mà có chứa d ữ liệu phù hợ p vớ i một khóa xác đị nh. Bộ nhớ truy xu ất ngẫu nhiên thông thường đượ c phân thành b ộ nhớ chỉ đọ c (ROM: Read-only memory) và b ộ nhớ đọc/ghi (thường đượ c gọi một cách nhầm l ẫn là RAM). Thậm chí thuật ngữ ROM cũng đôi khi dẫn đế n hiểu lầm vì có r ất nhiều b ộ ROM cũng có thể ghi đượ c. Một cách phân lo ại hữu ích là phân lo ại theo b ộ nhớ không ổn định (thay đổ i - volatile) và bộ nhớ ổn định (không thay đổ i - nonvolatile). B ộ nhớ thay đổ i là b ộ nhớ sẽ duy trì d ữ liệu lưu trong nó lâu tùy ý miễn là ngu ồn phải đượ c cung c ấ p, nói cách khác, d ữ liệu sẽ mất đi nếu không có ngu ồ n cung cấp. Trong khi đó, bộ nhớ không thay đổ i là bộ nhớ có thể lưu giữ dữ 122
liệu lâu vô h ạn. Thường RAM đượ c gán vào nhóm b ộ nhớ thay đổi, ROM đượ c gán vào nhóm bộ nhớ không thay đổ i. Tương tự các thành ph ần m ạch dãy, các ô nh ớ s ử d ụng trong các b ộ nhớ thay đổi có thể đượ c phân chia thành các c ấu trúc t ĩnh và các cấu trúc động. Các ô t ĩnh sử dụng mộ t s ố dạng thức c ủa hồi tiếp để duy trì tr ạng thái của nó, trong khi đó các ô độ ng sử d ụng các mức nạp lưu trong các t ụ điện độ ng thông qua m ột transistor truy xu ất. Điện tích nạ p sẽ rò m ất qua transistor truy xu ất thậm chí ngay cả khi transistor đó ngắt (OFF). Do đó, các ô độ ng phải được đọc và ghi một cách tuần hoàn (thường xuyên) để làm tươi mớ i tr ạng thái của chúng. RAM t ĩnh (SRAM) có tốc độ làm việc nhanh hơn và có ít vấn đề hơn, nhưng nó lạ i yêu cầu vùng diện tích trên một bít lớn hơn so với RAM động (DRAM). Một số bộ nhớ không thay đổ i thực sự là bộ nhớ chỉ đọc. Nội dung của m ột mặt nạ ROM đượ c nối mạch cứng trong quá trình s ản xuất và không thể thay đổi đượ c. Tuy nhiên r ất nhiều bộ nhớ không đổ i có thể đượ c viết vào, mặc dù thao tác vi ết r ất chậm so vớ i các bộ nhớ thay đổi tương ứng. Một b ộ nhớ có thể lậ p trình đượ c (PROM: Programmable ROM) có th ể đượ c lậ p trình một lần sau khi s ản xuất bằng cách làm n ổ các cầu chì trên chíp v ới các điện áp lậ p trình cao đặc biệt. Một bộ ROM có thể lậ p trình và xóa (EPROM) đượ c lậ p trình b ằng cách lưu các điện tích nạ p trên m ột c ổng động. Nó có th ể đượ c xóa b ằng cách chi ếu tia cực tím (UV) vài phút để phá vỡ sự nạ p c ủa cổng. Như vậy, bộ EPROM có thể đượ c lậ p trình l ại. Các bộ EPROM b ằng điện (EEPROM) cũng tương tự các bộ EPROM, tuy nhiên chúng có th ể đượ c xóa trong kho ảng cỡ mi-li giây b ằng hệ thống m ạch điện trên chíp. Các b ộ nhớ chớ p nhoáng (bộ nhớ flash - flash memory) là m ột biến thể của bộ EEPROM trong đó việc xóa đượ c thực hiện xóa trên toàn b ộ khố i thay vì xóa các bít riêng r ẽ như trong EEPROM. Bở i vì chúng có kh ả năng tích hợ p mật độ cao và d ễ dàng lậ p trình lại trong h ệ thống, các b ộ nhớ Flash thườ ng thay thế các b ộ nhớ không thay đổ i trong h ầu hết các hệ thống CMOS hiện đại. Các ô nhớ có thể có một hoặc nhi ều hơn một cổng để truy xu ất. Vớ i các b ộ nhớ đọc/ghi, mỗi cổng có thể là chỉ đọc, chỉ ghi, hoặc có khả năng đáp ứng cả thao tác đọ c và ghi.
Hình 4.54 Kiến trúc mảng nhớ tổng quát
Kiến trúc mảng nhớ nhỏ điển hình đượ c minh họa trong hình 4.54 [12]. Trong tâm c ủa thiết k ế là một mảng nhớ chứa 2n từ lưu trữ và mỗi từ có độ dài 2 m bít. Trong m ột thiết k ế đơn 123
giản nhất, mảng đượ c tổ chức v ớ i m ột hàng tương ứng vớ i m ột t ừ và một cột tương ứng v ớ i mỗ i bít trong m ỗi t ừ. Thườ ng có số từ trong m ột bộ nhớ l ớn hơn rất nhiều so vớ i số bít trong bộ từ, d ẫn đến bộ nhớ r ất cao và mảnh và do đó khó có thể làm phù hợ p vớ i phân ho ạch vị trí chíp trong quá trình thi ết k ế layout và d ẫn đến tốc độ làm việc chậm vì độ dài các dây d ẫn tăng lên. Vì lý do đó, mảng nhớ thường đượ c gập để giảm số hàng và tăng số cột. Sau khi thực hiện việc gậ p, mỗi hàng c ủa bộ nhớ lúc này bao g ồm 2k t ừ, do đó mảng đượ c tổ chức vật lý thành 2 n-k hàng của 2m+k cột hay là bít. Bộ giải mã hàng kích ho ạt một trong các hàng b ằng cách xác nhận một trong các dòng t ừ (wordline: dòng t ừ, đườ ng từ). Trong quá trình đọc, các ô trên dòng t ừ kéo dòng bít (bitline: dòng bít, đườ ng bít). Bộ giải mã cột điều khiển một b ộ ghép kênh trong c ột hệ thống mạch điện để chọn ra 2 m bít từ hàng như là dữ liệu cần truy xuất. Minh họa trong hình 4.54 bi ểu diễn một bộ nhớ ghép 2-đườ ng 8-từ 4- bít đượ c gậ p thành một mảng 4-hàng 8-cột vớ i n=3, m=2 và k=1. Các b ộ nhớ lớn thường đượ c xây dựng từ các mảng con nh ỏ hơn sao cho các d òng từ và các dòng bít v ẫn ngắn ở mức chấ p nhận đượ c, tốc độ hoạt động nhanh và công su ất tiêu tán thấ p. 4.6.2 SRAM Khối xây d ựng cơ bản của một bộ SRAM là ô nhớ SRAM. Ô nhớ đượ c kích ho ạt bằng việc nâng dòng t ừ và được đọc hoặc ghi thông qua dòng bít. Hình 4.55 trình bày m ột ô (cell) SRAM 12-transistor đượ c xây d ựng từ một mạch chốt t ĩnh đơn giản và một b ộ đảo 3-tr ạng thái (hình a); và s ơ đồ mạch điện cụ thể một cell SRAM thực hiện bằng công ngh ệ CMOS (hình b).
Hình 4.55 Sơ đồ cell SRAM (a) Cell SRAM 12-transistor (b) Mạch điện một cell SRAM tổng quát
Trong hình a, cell có m ột dòng bít duy nh ất. Tín hiệu đọc và ghi "th ật" và phần bù đượ c sử dụng trong v ị trí của m ột dòng t ừ duy nhất. Layo ut tương ứng c ủ a cell SRAM này đượ c minh họa trong hình 4.56 [12] , trong đó có diệ n tích 46 75 . Các đườ ng ngu ồn và đất có thể đượ c chia sẻ giữa các ô lân c ận nhau đối xứng hình gương, tuy nhiên diện tích vẫn b ị giớ i hạn b ở i các dây d ẫn và lớ n ngoài mong mu ốn. Tuy nhiên, cell có th ể d ễ dàng đượ c thiết k ế bở i vì t ất cả các nút mắc nối (swing) rãnh- đến-rãnh và s ẽ nhanh hơn khi đượ c sử dụng trong các RAM nhỏ và các ngăn (file) thanh ghi. Hình 4.57 [12] minh h ọa sơ đồ thực hi ện chi tiết một cell SRAM 6-transistor thườ ng đượ c s ử d ụng trong th ực tế, thiết k ế này xu ất phát từ sơ đồ nguyên lý chung trong hình 4.55 (hình b). Ở đây, các tải đ ã đượ c thay thế b ở i các transistor lo ại p. Trong minh h ọ a, chúng ta 124
thấy r ằng, cell sử dụ ng mộ t dòng từ duy nhất điều khiển hai transistor d ẫn và dùng hai dòng bít "thật" và phần bù. Dòng bít ph ần bù, hay đơn giả n là dòng bít bù, th ường đượ c gọi là bit_b hoặc bit . Cell gồm một cặ p bộ đảo đượ c k ết hợ p chéo và một transistor truy xu ất cho m ỗi đườ ng bít. Các phiên b ản "thật" và phần bù c ủ a d ữ liệu được lưu trong các bộ đảo k ết hợ p chéo. Nếu d ữ liệu bị làm thay đổ i ít, hồi tiếp dương quanh vòng lặ p sẽ phục hồi nó về VDD hoặc đất (GND). Dòng t ừ được xác định để thực hiện việc đọc hoặc ghi cell.
Hình 4.56 Layout tương ứng của cell SRAM 12-transistor
Hình 4.57 Sơ đồ mạch chi tiết một cell SRAM 6-transistor
Hoạt động c ủa cell SRAM trong hình 4.57 có th ể đượ c mô tả như sau. Chúng ta biết r ằng, các transistor truy xu ất nMOS là các transistor truy ền hoàn hảo các lô- gic "0". Để thực hiện việc đọc, các dòng bít đầu tiên đượ c tiền nạ p ở mức cao và m ột đượ c kéo xu ống bở i cell SRAM qua transistor truy xu ất. Với các thao tác đọc, một dòng bít ho ặc phần bù của nó đượ c kéo tích c ực xu ống mức thấ p và giá tr ị mức thấ p này chế ngự cell để thực hiện việc ghi giá tr ị mớ i. Chú ý, vi ệc chọn các kích thướ c của transistor một cách thích hợ p là c ần thiết để cho các hoạt động đượ c chính xác. M ột cách t ổng quát, ho ạt động của SRAM đượ c chia thành 2 pha, như đã trình bày trong ph ần các chiến lược đồng hồ, chúng ta gọi các pha là 1 và 2. Chú ý là các pha này có thể th ực t ế đượ c t ạo ra từ tín hiệu đồng hồ clk ho ặc ph ần bù của nó clkb. Giả 125
sử r ằng ở pha 2, SRAM đượ c tiền nạp. Trong giai đoạn 1, SRAM đượ c ghi ho ặc đọc b ằng cách nâng dòng t ừ thích hợ p và hoặc kéo các dòng bít đến các giá tr ị cần ghi ho ặc để các dòng bít tự do và quan sát xem dòng bít nào đượ c kéo xu ống. Việc đọc mộ t SRAM lớ n có thể r ất chậm vì dung kháng c ủa các cell chia sẻ dòng bít r ất lớ n. Các bộ khu ếch đại c ảm nhận tăng tốc các thao tác đọc bằng cách phát hiện các khác biệt nhỏ giữa dòng bít và ph ần bù của nó. Cell SRAM 6-transistor (còn g ọi là cell 6T) đạt đượ c sự gọn nhất v ớ i sự tr ả giá về yêu cầu hệ thống mạch ngo ại vi phức tạp để thực hiện các thao tác đọc và ghi. Vớ i các RAM lớ n, sự đánh đổi này là chấ p nhận đượ c vì trong các ứng dụng này kích thướ c củ a cell chiếm ph ần lớ n diện tích trong thi ết k ế. Kích thướ c cell nhỏ cũng tạo ra các dây d ẫn ngắn hơn và do đó có công su ất tiêu tán nh ỏ hơn. Một bi ến th ể c ủa cell 6T là m ộ t cell 5-transistor đượ c minh họa trong hình 4.58 [12]. Loại cell này đã đượ c sử d ụng trong ch ế tạo RAM CMOS/SOS 16K. Ở đây, bằng cách thay thế các tiế p xúc kim lo ại vớ i các tiế p xúc chìm, kích th ướ c của cell đượ c gi ảm đi đáng kể. Ngoài ra, ch ỉ có một dòng bít duy nh ất chạ y qua c ell. Tuy nhiên điều này d ẫn đến khó khăn khi thực hi ện thao tác ghi. Vấn đề xảy ra trong quá trình ghi có th ể đượ c giải quyết trong thi ết k ế bằng cách nâng điện áp dòng t ừ tớ i một giá tr ị lớn hơn VDD.
Hình 4.58 Sơ đồ mạch một cell SRAM 5-transistor
Một biến thể khác c ủa cell 6T có thể k ể đến là cell nhớ 2-cửa như minh họa trong hình 4.59 [2]. Lo ại cell này thường đượ c sử dụ ng trong các c ấu trúc vi x ử lý. Chú ý r ằng, nếu chúng ta ch ỉ cần yêu c ầu mộ t cổng đượ c ghi, thì m ột transistor có thể đượ c xóa b ỏ.
Hình 4.59 Sơ đồ mạch một cell SRAM 2-cửa
Để có thể đạt đượ c các cell SRAM làm việc tin c ậy và có kích thướ c nh ỏ, tức là cho mật độ tốt, thì cần phải có một chiến lượ c layout thông minh. Ngh ĩa là một số tiêu chí của thiết k ế ph ải đượ c xem xét. Việc thiết k ế cell b ắt đầu b ằng transistor t ải loại p. Chúng ta th ấy r ằng, chúng ta có th ể t ối thiểu hóa kích thướ c c ủa nó, b ở i vì nó chỉ ph ải tạo s ự chênh lệch các hiệu ứng của sự rò r ỉ. Tiếp đến, xem xét kích thướ c transistor dẫn và transistor kéo-xu ống.
126
Cần chú ý r ằng, tỉ số nố i tiế p hi ệu d ụ ng của hai transistor này sẽ quyết định tốc độ kéo-xuống của dòng bít. T ỷ s ố này cũng ảnh hưởng đến thao tác ghi. Kích thướ c c ủa transistor d ẫn cũng ảnh hưở ng tr ực tiếp đến tải trên dòng t ừ, do đó làm thay đổ i thờ i gian nâng và xu ống của dòng từ. Ảnh hưở ng này có thể đượ c trung hòa b ằng cách tăng kích (driver) dòng từ.
Hình 4.60 Thao tác đọc trong một SRAM
Giả s ử xem xét mô hình m ạch như trong hình 4.60 [2] , trong đó mộ t transistor lo ại n kích thướ c m ột đơn vị (tố i thiểu) đượ c chọn cho transistor d ẫn để giảm t ải trên dòng t ừ và t ối thiểu hóa kích thướ c củ a cell. Chúng ta s ẽ khảo sát ảnh hưở ng c ủa m ột transistor kéo-xu ống kích thướ c m ột đơn vị. Th ờ i gian xuống được xác định b ằng 2 F trong đó F =4C BIT/ VDD, là h ệ số khuếch đại c ủa transistor lo ại n kích thướ c một đơn vị. Nếu transistor kéo-xu ống là một transistor kích thướ c gấp đôi kích thước đơn vị, khi đó thờ i gian xu ống sẽ xấ p x ỉ bằng 3F /2. Ngoài các xem xét v ề t ốc độ ho ạt động, các kích thước tương quan củ a transistor d ẫn so v ớ i cell kéo-xu ống c ũng phải đượ c t ỷ lệ để ngăn các thao tác ghi sai xả y ra trong khi cell đang được đọ c. Ví dụ, nếu các transistor d ẫn có độ lớ n vô hạn, thì các nút l ưu trữ cell phải đượ c kéo c ả lên VDD-Vtn. Điện áp này xóa m ột cách hi ệu quả b ất c ứ tr ạng thái nào được lưu trong cell. Như vậy, các transistor d ẫn và kéo-xu ống phải đượ c tỷ lệ hóa sao cho transistor kéo-xu ống có khả năng kẹ p giá tr ị "th ấp" được lưu trong cell xuống dưới điểm chuyển m ạch của bộ đảo. 4.6.3 DRAM Như đã đề cập, DRAM lưu các giá trị như là các điện tích n ạ p trên m ột tụ thay vì trong một vòng lặ p hồi tiế p. Do v ậy, cell cơ bản nhỏ hơn các cell SRAM một cách đáng kể . Tuy nhiên các cell DRAM ph ải được đọc một cách thườ ng xuyên và ph ải được làm tươi mớ i sao cho các n ội dung c ủa nó không b ị rò r ỉ mất. Các DRAM thương mại thường đượ c xây dựng trong m ột quá trình đặc biệt đượ c tối ưu hóa cho cấu trúc các tụ dày đặc. Các DRAM loại này có khả năng tạo ra m ật độ lớ n g ấ p 10 lần (an order of magnitude greater) m ật độ của SRAM chất lượng cao đượ c tạo ra trong m ột quá trình lô-gic tiêu chu ẩn. M ặc dù có lợ i thế v ề mật độ tích hợ p, DRAM loại này có độ tr ễ lớn hơn. Việc thiết k ế mạch DRAM có thể nói là mộ t nghệ thuật đặc biệt. Trong phần này, chúng ta ch ỉ xem xét m ột cách sơ lượ c k ỹ thuật thiết k ế tổng quát. Sơ đồ m ạch một cell DRAM 1-tr ansistor đượ c trình bày trong hình 4.61 (hình a) [12], trong đó gồm một transistor và một tụ điện. Đây là loại cell cơ bản c ủa h ầu hết các DRAM mật độ cao. Cũng giống như SRAM, cell đượ c truy xu ất bằng việc xác nhận dòng t ừ để nối tụ điện vớ i dòng bít. Khi th ực hiện thao tác đọc, dòng bít đầu tiên đượ c tiền nạ p tới điện áp VDD/2. Khi dòng t ừ nâng cao, tụ điện chia sẻ điện tích nạ p c ủa nó vớ i dòng bít, và t ạo ra một thay đổi điện áp V có thể nhận th ấy được như minh họa trong hình 4.61 (hình b). Thao tác đọc xáo tr ộ n các nội dung c ủa cell tại x, do đó cell phải đượ c ghi lại sau mỗi thao tác đọc. 127
Trong thao tác viết, dòng bít đượ c kéo lên cao ho ặc xuống thấp và điện áp được áp đặt nên t ụ. Một số DRAM kéo dòng t ừ đến mức VDDP=VDD+Vt để tránh một mức suy giảm khi thực hiện việc ghi m ột bít "1".
Hình 4.61 Sơ đồ cell DRAM 1-transistor (a) Cell DRAM 1-transistor (b) S ự thay đổi điện áp dòng bít
Tụ Ccell của DRAM phải có kích thướ c vật lý càng nhỏ càng tốt để có thể đạt đượ c mật độ tích hợ p tốt. Tuy nhiên, vì dòng bít ti ế p xúc vớ i r ất nhiều cell DRAM, do đó nó có một dung kháng C bit tương đối lớ n. Vì thế, dung kháng cell thườ ng nhỏ hơn rất nhiều dung kháng dòng bít. Theo công th ức chia sẻ-nạp, điện áp thay đổi (swing: biên độ thay đổi, tính từ biên này đến biên kia c ủa dạng sóng thay đổi) trên dòng bít trong quá trình đọc ra đượ c tính b ằng:
V
V DD
C cell
(4.15) 2 C cell C bit Công thức (4.15) cho th ấy, một dung kháng cell l ớ n là yếu tố quan tr ọng để t ạo ra một điện áp thay đổi hợ p lý. M ặt khác, cũng cần thiết phải duy trì các n ội dung của cell trong m ột thời gian đủ dài và để giảm thiểu các lỗi m ềm (soft error: l ỗi xả y ra khi các bít l ật giá tr ị m ột cách tự phát). Ví d ụ, thườ ng chọn bằng 30fF. Một cell DRAM 4-transistor có thể thu đượ c từ một cell SRAM b ằng cách xóa b ỏ các transistor tải loại p, như minh họ a trong hình 4.62.
Hình 4.62 Sơ đồ mạch một cell DRAM thu đượ c từ một cell SRAM
Khi thực hi ện thiết k ế h ệ thống trung bình, các cell t ĩnh 6 -transistor ho ặc cell động 4transistor ho ặc cell động 3-cell nên đượ c sử d ụng vì chúng yêu c ầu s ự thiết k ế m ạch chi tiết ít nhất và sử d ụng các quá trình công ngh ệ đ ã bi ết. Như một nguyên t ắc thiết k ế chung, bộ nhớ lớ n chỉ nên đượ c kèm theo trong m ột thiết k ế n ếu chất lượ ng c ủa h ệ th ống b ị ảnh hưở ng l ớ n khi không có b ộ nhớ . 4.6.4 ROM Các cell ROM có th ể đượ c xây d ựng vớ i chỉ một transistor cho m ột bít lưu trữ. Như đ ã đề cậ p, ROM là m ột cấu trúc nhớ không thay đổi, tr ạng thái của nó được lưu vô hạ n, thậm chí cả khi không có ngu ồn cung cấ p. Một mảng ROM thông thường đượ c thực hiện như một mảng NOR m ột đầu (single-ended), trong đó dùng bất cứ cấu trúc nào trong các c ấu trúc cổng 128
NOR mà chúng ta đã đề cậ p bao gồm cả cổng nMOS giả và cổng NOR động không chân. Hình 4.63 minh h ọa m ột sơ đồ m ảng ROM. Chú ý r ằng, m ột m ảng NAND cũng có thể đượ c sử dụng nếu một bộ ROM cực nhỏ đượ c yêu cầu, tuy nhiên các th ực hiện này r ất là chậm.
Hình 4.63 Sơ đồ mảng ROM
Cũng giống như trong các cell SRAM và các cổng động không chân khác, đầ u vào dòng từ ph ải ở m ức thấ p trong suốt quá trình ti ền nạ p các cổng NOR động. Trong các trườ ng hợ p mà sự tiêu tán công su ất một chiều (DC) có th ể chấ p nhận đượ c và tốc độ yêu cầu vừa phải, thì bộ ROM đượ c xây d ựng t ừ các cổng nMOS giả cho phép thi ết k ế đơn giản nhất vì không yêu c ầu định thờ i. Công su ất tiêu tán DC có th ể đượ c giảm m ột các đáng kể trong các bộ ROM ghép b ằng cách đặt các transistor kéo-lên sau c ột ghép. Các bộ ROM mặt nạ đượ c lậ p trình có thể đượ c c ấu hình b ằng s ự có mặt hoặc vắng mặt của một transistor ho ặc một tiế p xúc, ho ặc b ằng một cấy ghép ngưỡng, ngưỡ ng mà khiến mộ t transistor t ắt mộ t cách v ĩnh viễn khi transistor đó không cầ n thiết. Việc bỏ đi các transistor có m ột ưu điểm là làm giảm nhỏ dung kháng c ủa các dòng t ừ c ũng như giảm công suất tiêu thụ. Việc lậ p trình vớ i các liên k ết kim loại đã từng là một phương pháp phổ biến bở i vì các bộ ROM như vậy có thể đượ c sản xu ất hoàn toàn ngo ại tr ừ lớ p kim lo ại, sau đó đượ c lậ p trình theo các yêu c ầu c ủa khách hàng thông qua các bướ c x ử lý (phủ) kim lo ại. Sự xu ất hiện của EEPROM và các chíp nh ớ Flash đ ã làm giảm đi nhu cầu của các bộ ROM mặt na đượ c lậ p trình. 4.6.5 Bộ nhớ Flash Bộ nhớ Flash là một dạng của bộ nhớ ROM có thể xóa b ằng điện. Transistor đượ c dùng để xây d ựng các bộ nhớ Flash là các transistor có c ấu trúc đặc bi ệt g ọi là các transistor có cực cổng động (float), như minh họ a trong hình 4.64 [12].
Hình 4.64 Sơ đồ và cấu trúc transistor dùng tạo các bộ nhớ Flash
129
Như minh họa, chúng ta thấy r ằng, thiết bị có hai cực cổng, một trong hai c ực c ổng đó (cực phía dưới) không đượ c liên k ết. Điện tích n ạ p có thể được đặt trên cực cổng độ ng này bằng các sử dụ ng các điện áp lớ n giữa cực c ổng phía trên và c ực máng. Hiệu ứng xuyên hầm Fowler-Nordheim là hi ệu hức vật lý cho phép dòng ch ạy qua lớ n ô-xít. Khi c ực cổng động đượ c nạ p, nó làm transistor thông (turn on); khi c ổng động đượ c xả, nó làm transistor ngắt. Điện tích nạ p trên cực cổng độ ng sẽ có thể duy trì trong th ời gian hàng năm. Có hai lo ại cấu trúc b ộ nhớ Flash đượ c sử dụng ph ổ biến là cấu trúc Flash NOR và c ấu trúc Flash NAND. Các c ấu trúc này không ch ỉ s ử d ụng các c ấu trúc mạch điện khác nhau mà còn biểu diễn các giao ti ế p lô- gic khác nhau đối vớ i hệ thống. Một cell Flash NOR vớ i transistor kéo- lên kèm theo đượ c minh họa trong hình 4.65 [12]. Chúng ta có th ể thấy, flash NOR tương tự về m ặt cấu trúc vớ i b ộ ROM, ngo ại tr ừ mỗi giao cắt của dòng t ừ/bít được cư tr ú vớ i một transistor cực cổng động. Flash NOR có th ể đượ c sử dụng như một bộ nhớ truy xu ất ngẫu nhiên, giống như vớ i bất k ỳ bộ ROM nào khác.
Hình 4.65 Sơ đồ mạch một cell flash NOR
Hình 4.66 Sơ đồ mạch một cell flash NAND 2-bít
Ngượ c với cell flash NOR, flash NAND đượ c thiết k ế để tạo ra cấu trúc nhớ theo hàng (bank). Các hàng nh ớ có thể được đánh địa chỉ m ột cách độ c lậ p, cho phép chuy ền dữ liệu tốc độ cao hơn. Flash NAND đầu tiên đượ c thiết k ế vớ i mục đích hỗ tr ợ các ứng dụng truyền thông đa phương tiệ n, các ứng d ụng mà có yêu c ầu băng thông lớ n. Tuy nhiên, ngày nay, 130
flash NAND đ ã nhanh chóng chi ếm vị trí thống l ĩnh trong cấu trúc flash đượ c s ử dụ ng r ộng rãi. Sơ đồ một cell flash NAND 2- bit đượ c minh họa ở hình 4.66 [12] . Hai bít lưu trữ đượ c truy xuất bằng cách sử dụng các tín hiệu RA. Các liên k ết nối ti ếp NAND đượ c b ảo vệ bằng các transistor lo ại n tiêu chu ẩn. Để thực hiện việc lậ p trình một cell, chúng ta có th ể đặt SELECT TOP lên mộ t mức điện áp cao, đặt SELECT BOTTOM xuống đất, và RA để điều khiển transistor mong mu ốn lên m ức điện áp cao. Để ngăn chặn các cột lân cận không b ị lậ p trình, chúng ta đặ t các RA khác ở một mức điện áp trung gian. Các transistor này sau đó đượ c kiểm soát nhưng không đượ c lậ p trình. Giá tr ị đượ c lậ p trình được đặt trên dòng bít. 4.6.6 PLA Một mảng lô-gic có th ể lậ p trình (PLA: Programmable Logic Array) cung c ấ p m ột cấu trúc thông thườ ng cho vi ệc thực hiện các phép lô-gic t ổ hợp xác định trong một dạng lu ật tổng-của-tích. Nếu các đầu ra đượ c dẫn tr ở lại tới các đầu vào thông qua các thanh ghi, thì các bộ PLA cũng có thể tạo thành các máy tr ạng thái hữu hạn. Các bộ PLA đượ c sử dụng phổ biến trong những ngày đầu của VLSI khi mà s ự tối thiểu hóa lô-gic 2-m ức đượ c hiểu một cách cặn k ẽ. Tuy nhiên các b ộ tối ưu lô-gic nhiều mức vẫn còn phát tri ển chưa đầy đủ. Các bộ PLA là các phương thức nhanh và cho phép m ật độ cao để thực hiện các hàm đơn giản, và vớ i sự hỗ tr ợ của các công cụ máy tính h ỗ tr ợ thiết k ế (CAD: Computer Aid Design), chúng có thể dễ dàng thay đổi khi các lỗi lô-gic đượ c phát hiện. Vớ i các hàm ph ức tạp hơn, phương pháp tổng hợ p mạch lô-gic hiện đại thườ ng tạo ra các mạch gọn hơn và có tốc độ làm việc cao hơn. Vì thế, các bộ PLA ngày nay ít đượ c sử dụng hơn. Hơn nữ a, các b ộ PLA sử dụng nMOS giả tiêu tán công su ất t ĩnh và có thể r ất chậm trong vi ệc th ực hiện kéo lên, trong khi đó các bộ PLA động yêu cầu việc thiết k ế chuỗi định thờ i phải hết sức cẩn thận.
Hình 4.67 Biểu diễn PLA bằng các cổng NOR
Chúng ta bi ết r ằng, bất cứ một hàm lô-gic nào c ũng có thể biểu di ễn ở d ạng tổ ng-củatích, tức là, trong đó mỗ i đầu ra là OR (tổng) của các AND (tích) của các đầu vào "thật" và 131
bù. Các đầu vào và các ph ần bù của chúng đượ c gọi là các bi ến (literal). AND c ủa một tậ p các biến đượ c gọ i là một tích ho ặc một số hạng t ối thiểu (minterm: AND c ủa các biến trong đó mỗ i biến chỉ xuất hiện đúng một lần). Các đầu ra là các OR c ủa các minterm. Như vậ y, bộ PLA bao gồm m ộ t m ặt phẳng AND để tính toán các minterm và m ột mặt phẳng OR để tính các đầu ra. Các cổng NOR đặc biệt hiệu quả trong cấu trúc lô- gic động và nMOS gi ả bở i vì chúng sử dụng chỉ các transistor song song, không bao gi ờ nối ti ế p. Do v ậy, chúng ta sử d ụng lu ật DeMorgan để thay thế các cổng AND và OR b ằng các cổng NOR sau khi đã đảo các đầu vào và đầu ra. K ết quả thu được đượ c minh họa trong hình 4.67 [12]. Thiết k ế PLA tr ực tiế p nhất là sử d ụng một loại cổng NOR nMOS giả. Hình 4.68 [12] minh họa một sơ đồ mạch cho mộ t bộ PLA thực hiện bộ cộng đầy đủ.
Hình 4.68 Sơ đồ PLA dùng nMOS giả thực hiện một bộ cộng đầy đủ
4.7 Đườ ng dữ liệu - Data paths Một đườ ng dữ li ệu v ừa là một c ấu trúc lô-gic v ừa là m ột c ấu trúc vật lý: nó đượ c xây dựng từ các thành ph ần thực hiện các thao tác d ữ liệu thông thườ ng, chẳng hạn như phép cộng; và nó có m ột c ấu trúc layout s ử dụng các ưu điểm c ủa các thiết k ế lô-gic thông thườ ng của các toán t ử (operator) d ữ liệu. Các đườ ng dữ liệu thông thườ ng bao gồm một số loại phần tử: thanh ghi (các thành ph ần bộ nhớ) lưu trữ dữ liệu, các bộ cộng và các kh ối ALU thực hiện các phép tính số học, các thanh ghi d ịch thực hiện các thao tác bit, các b ộ đếm cũng có thể đượ c s ử d ụng cho các phép đếm chương tr ình. Các bus ( đườ ng d ẫn d ữ li ệu) k ết n ối các toán từ này vớ i nhau. Hầu hết các thao tác d ữ liệu là các thao tác thông thườ ng, ví d ụ thao tác của các bộ cộng, khối ALU, thanh ghi d ịch, và các toán t ử khác có thể đượ c xây d ựng từ m ảng các phần tử nhỏ hơn. 132
Chương 5 Các phương pháp Thiết kế hệ thống VLSI 5.1 Giớ i thiệu Cách thức mà chúng ta th ực hiện việc thiết k ế một hệ thống cụ thể, mộ t chíp, ho ặc một mạch điện có ảnh hưở ng lớn đến cả những cố gắng cần phải bỏ ra và k ết qu ả của thiết k ế. Các nhà thiết k ế IC đã phát triển và sử dụng các chi ến lượ c thiết k ế từ các nguyên t ắc của các ngành khoa họ c khác chẳng hạn như công nghệ ph ần m ềm để t ạo thành m ột t ậ p ch ặt ch ẽ các nguyên tắc nhằm tăng sự tương đồng về thờ i gian, tính thành công c ủa các thiết k ế. Trong chương này, chúng ta sẽ xem xét sơ lượ c các nguyên t ắc này. Cần chú ý r ằng, trong khi các nguyên tắc chung c ủa thiết k ế không thay đổ i nhiều qua hàng th ậ p k ỷ, thì các quy định chi ti ết của các kiểu thiết k ế và các công c ụ thiết k ế đã có những bướ c phát triển m ạnh m ẽ cùng vớ i sự phát triển của công nghệ và sự tăng mạnh về mức độ của năng suất sản xuất. Một các tổng quát, một m ạch tích hợ p có th ể đượ c diễn tả theo các thành ph ần trong ba miền: (1) miền chức năng hoạt động (behavioral domain), (2) mi ền cấu trúc (structural domain), và (3) mi ền vật lý (physical domain). Mi ền chức năng hoạt động xác định những chức năng mà chúng ta mong muốn thực hiện vớ i một hệ thố ng. Lấy ví dụ, ở mức độ cao nhất, chúng ta có thể mong mu ốn xây d ựng một máy ra- đi-ô công su ất cực thấ p cho một mạng sensor phân tán. Mi ền cấu trúc cụ thể hóa các liên k ết của các thành ph ần cần thiết để đạt đượ c chức năng hoạt độ ng mà chúng ta mong mu ố n. Tr ở l ại vớ i ví dụ về máy ra- đi-ô sensor, chúng ta c ần thiết một sensor, một bộ phát đáp r a-đi-ô, một bộ vi xử lý, bộ nhớ (vớ i phần mềm kèm theo), và m ộ t ngu ồn cung cấp đượ c nối vớ i nhau theo m ột cách thức xác định. Cu ối cùng, miền v ật lý cụ thể cách mà chúng ta s ắ p x ế p các thành ph ần để k ết nối chúng vớ i nhau theo cách mà cho phép chúng s ẽ tạo ra những chức năng mong muốn. Vớ i ví dụ củ a chúng ta ở trên, chúng ta có th ể bắt đầu vớ i các chỉ tiêu k ỹ thu ật cho một khu vực ở đó đặt các thiết b ị, tiếp theo đó là một loạt liên tiế p các b ản v ẽ vật lý ho ặc các tiêu chí mà k ết quả là các mô t ả hình học đượ c sử dụng để định ra một chíp. Việc thiết k ế bắt đầu từ thiết k ế chức năng cho đến thiết k ế cấu trúc và cu ối cùng là các th ực hi ện vật lý một vi mạch thông qua m ột loạt các biến đổi thủ công ho ặc tự động.Tại mỗi bướ c biến đổi, tính đúng đắ n của biến đổi đó đượ c thử nghiệm và kiểm tra b ằng cách so sánh nó v ớ i các thiết k ế tiền biến đổi và hậu biến đổi. Chẳng hạn, nếu m ức công su ất được quy định trong mô t ả chức năng hoạt động ban đầ u cho thiết k ế bộ ra- đi-ô sensor, m ột phép kiểm tra sẽ cần đượ c thực hiện trên thiết k ế ở miền c ấu trúc vớ i các phản hồi từ miền vật lý để đảm bảo mục tiêu của thiết k ế đượ c thỏa mãn. Trong mỗ i một miền k ể trên có m ột loạt các lựa chọn thiết k ế có thể đượ c lựa chọn để giải quyết các vấn đề cụ thể. Ví dụ như ở mức chức năng hoạt động, chúng ta có th ể chọn tiêu chuẩn không dây và d ạng thức trong đó dữ liệu đượ c truyền đi từ bộ ra-đi-ô sensor. Trong miền cấu trúc, chúng ta có th ể lựa chọn một kiểu m ạch đặc biệt nào đó, một họ lô-gic nào đó, hoặc một chiết thuật định thờ i (clock) nào đó để sử dụng. Tại mức vật lý, chúng ta có r ất nhiều lựa chọ n về cách thức một mạch đượ c thực thi như chíp, các bả n mạch, và các vùng đóng. Các miền thiết k ế vừa giớ i thiệu còn có thể đượ c phân chia nhánh nh ỏ hơn theo mức độ khác nhau v ề tính tr ừu tượ ng thiết k ế. M ối quan hệ và sự phân chia các mi ền mô t ả và các mức tr ừu tượng đượ c minh họa trong lược đồ Gajshi-Kuhn Y như trong hình 5.1 [12] 133
Hình 5.1 Lược đồ Gajski-Kuhn Y diễn tả sự phân chia các miền thiết k ế
5.2 Thiết kế cấu trúc và Testing 5.2.1 Các chiến lượ c thiết kế cấu trúc Sự thành công v ề m ặt thương mại c ủa một IC phụ thuộc phần lớn vào tính năng suấ t mà có thể đượ c mang lại thông qua các t ối ưu trong thiết k ế. Và điều này lại phụ thuộc vào tính hiệu qu ả trong đó thiết k ế có thể đượ c chuyển t ừ các khái niệm sang kiến trúc, t ừ lô-gic cho đến bộ nhớ , từ mạch và cu ối cùng là đến các layout v ật lý. Một hệ thống thiết k ế VLSI tốt phải cho phép các mô t ả thố ng nhất trong t ất cả ba miền mô tả (chức năng hoạt động, cấu trúc và vật lý) và ở tất cả các mức tr ừu tượ ng liên quan (ví d ụ các mức kiến trúc, RTL/khối, lô-gic, mạch). Các phương thức thực hiện thông qua nó để đạt đượ c mục tiêu có thể được đánh giá vớ i các khía c ạnh khác nhau ph ụ thuộc vào tính quan tr ọng dựa trên áp d ụng cụ thể. Các tham số đó bao gồm:
Chất lượ ng ho ạt động: tốc độ , công su ất, chức năng, tính linh động. Kích thướ c của die (và t ừ đó là giá thành của die).
Thờ i gian thiết k ế. Sự dễ dàng kiểm định, tạo dựng kiểm tra thử, và khả năng có thể kiểm tra. Thiết k ế là m ột sự mâu thu ẫn liên tục để đạt đượ c các k ết qu ả chính xác v ớ i tất cả các tham số vừa k ể. Một số k ết quả cuố i cùng nhất định nào đó chắ c chắn phải đượ c thỏ a mãn 134
(chẳng hạn chíp phải thỏa mãn các tiêu chí k ỹ thu ật về chất lượ ng hoạt động nhất định), trong khi đó một s ố hạn ch ế khác có thể ph ụ thu ộc vào tính kinh t ế (chẳng h ạn kích thướ c c ủa die ảnh hưởng đến năng suấ t) ho ặc thậm chí là tính ch ủ quan (chẳng hạn những yếu tố mà nhà thiết k ế thấy r ằng dễ d ạng, trong khi nh ững nhà thi ết k ế khác lại cho r ằng nó quá khó hi ểu). Chúng ta đã biết r ằng, quá trình của việc thi ết k ế m ột hệ thống trên công ngh ệ si-líc là mộ t quá trình ph ức t ạp, và do đó, vai tr ò của các hỗ tr ợ thiết k ế VLSI tốt là làm gi ảm nhỏ độ phức tạp, tăng năng suất và đảm b ảo sản ph ẩm thiết k ế ho ạt động. Một phương pháp tốt của việc đơn giản quá tiến trình thiết k ế là việc sử d ụng các điều kiện h ạn chế và các mô t ả tr ừu tượ ng. Bằng việc s ử d ụng các điều kiện hạn chế, các công cụ thiết k ế có khả năng tạo ra các thủ t ụ c t ự động và thực hiện ph ần lớ n công việc trong quá trình thi ết k ế. B ằng việc s ử dụng các mô tả tr ừu tượ ng, nhà thiết k ế có thể chia nhỏ các chi ti ết và đạt đến m ột đối tượng đơn giản hơn để thực hiện. Trong phần này, chúng ta s ẽ xem xét các phương pháp thiết k ế cho phép m ột s ự thay đổi trong tính t ự do s ẵn có trong chi ến lượ c thiết k ế. 1) Phân cấp – Hierarchy Việc sử dụng chiến lượ c phân c ấ p, hay còn đượ c gọi là chiến lược chia để tr ị, liên quan đến việc chia nhỏ m ột hệ thống thành các mô- đun, và sau đó lặ p lại quá trình cho m ỗi mô-đun cho đến khi độ phức tạ p c ủa mỗi mô-đun con ở m ức độ chi tiết có thể hi ểu đượ c một cách thích hợ p. Quá trình này c ũng có thể chỉ cần dừng lại ở mức độ mà các thành phần đã tạo trướ c có sẵn để thực thi một ch ức năng cần thiết nào đó. Chiến lược này tương tự như chiến lượ c của công nghệ phần m ềm trong đó một chương tr ình lớn đượ c chia nhỏ thành các phần nhỏ hơn và các phần nhỏ hơn lại đượ c chia nhỏ tiếp cho đến tận khi thu được các chương trình con đơn giản v ớ i các chức năng xác định rõ và các giao ti ế p có thể đượ c thực hiện d ễ dàng. Trong trườ ng h ợ p vớ i các mô-đun định trướ c, nhiệm vụ thiết k ế liên quan đến việc sử dụ ng các mã thư viện để thực thi một chức năng yêu cầu. Khái niệm "phân c ấ p song song" cũng có thể đượ c sử dụng để gom các mô t ả trong mỗi miền mô tả biểu diễn một thiết k ế. Ngoài ra, các công c ụ tương đồng có thể đảm bảo tính thống nhất củ a mỗi miền mô tả. Bở i vì các công cụ này đượ c sử dụng một cách phân c ấ p, chúng ta có thể tiến hành ki ểm định từ phần cuối (bottom) đến phần đầu (top) của thiết k ế, kiểm tra tại mỗi m ức của phân cấp nơi tương ứng v ớ i các mi ền mô t ả tương ứng. Ví dụ, m ột b ộ lõi vi xử lý RISC có thể có một mô hình HDL mô t ả chức năng của bộ vi xử lý, m ột netlist cổng mô tả loại và các liên k ết của các cổng đượ c yêu c ầu để tạo ra bộ vi xử lý, và m ột mô tả định tuyến và v ị trí quy định cách thức để xây d ựng vật lý một bộ vi xử lý vớ i một quy trình công ngh ệ xác định. Chiến lượ c phân c ấ p cho phép s ự s ử dụ ng của các thành phần ảo (virtual component), các phiên b ản m ềm của các IC đóng gói truyề n th ống. Các thành phần ảo được đặt trong một thiết k ế chíp như các phần của mã và có các h ỗ tr ợ kèm theo ch ẳng hạn như các mã kiểm định. Chúng có th ể đượ c cung c ấ p b ở i các nhà cung c ấp IP (intellectual property) độ c lậ p hoặc có thể đượ c sử dụng lại từ các sản phẩm phát triển trước đây. 2) Đều đặn – Regularity Chiến lượ c phân c ấp liên quan đến việc phân chia m ột hệ thống thành t ậ p các mô- đun con. Tuy nhiên, ch ỉ riêng chiến lượ c phân cấ p không thể giải quyết đượ c bải toán về tính phức 135
tạ p của thiết k ế. Chẳng h ạn, chúng ta có th ể thực hiện chia mộ t cách lặp đi l ặ p lại m ột phân cấ p củ a m ột thiết k ế thành các mô- đun con khác nhau, khi đó chúng ta có thể k ết thúc việc chia vớ i một số r ất lớ n các mô-đun con khác nhau. Việc sử dụng tính đều đặn như là mộ t hướ ng d ẫn, các nhà thi ết k ế cố gắng chia phân c ấ p thiết k ế thành m ột tậ p các khối xây d ựng một cách tương đồng. Chiến lượ c về tính đều đặn có thể tồn tại ở mọi mức độ của thiết k ế phân cấ p. Ở mức mạch điện, các transistor v ới kích thước đồng đều có thể đượ c sử dụng, trong khi ở mức cổng lô-gic, m ột thư viện hữu hạn các cổng lô-gic vớ i chiều dài thay đổi chiều cao cố định có thể đượ c s ử dụ ng. Ở mức lô-gic, các bộ ROM và RAM đượ c tham số hóa có thể đượ c s ử d ụng ở nhi ều vị trí. Ở m ức độ kiến trúc, nhiều b ộ vi xử lý giống nhau có thể đượ c sử dụng để nâng cao chất lượ ng ho ạt động. Chiến lược đều đặn hỗ tr ợ các cố gắng kiểm định bằng cách giảm nhỏ số các thành phần con c ần phải kiểm tra tính hợ p lệ và bằng các cho phép các chương tr ình kiểm định chính thống ho ạt động hiệu qu ả hơn. Việc s ử d ụng lại thiết k ế phụ thu ộc vào nguyên t ắc của chiến lược đều đặn để sử dụng cùng m ột thành phần ảo ở nhiều nơi hoặc nhiều sản phẩm. 3) Mô- đun – Modularity Nguyên lý c ủa chiến lượ c mô-đun là các mô -đun có chức năng xác định rõ ràng và có các giao tiế p. N ếu các mô-đun đượ c hình thành m ột cách t ốt thì sự tương tác vớ i các mô-đun khác có thể được đặc t ả tốt. Khái niệm "đượ c hình thành t ố t" có thể thay đổi tùy thu ộc vào tình huố ng cụ thể, tuy nhiên m ột điểm xuất phát tốt là việc xây dựng tiêu chí được đặt trên các chương tr ình con đượ c hình thành t ốt. Trướ c hết, yêu cầu một giao tiếp được xác định rõ ràng. Trong trườ ng hợ p vớ i công ngh ệ phần m ềm, điều này tương ứng vớ i mộ t danh sách tham s ố vớ i các biến s ố được định kiểu. Trong các d ự án thiết k ế mạch tích hợp, điều này tương ứng vớ i một giao tiế p vật lý, cấu trúc và chức năng được xác định một cách rõ ràng, giao ti ế p mà chỉ thị ch ức năng hoạt động cũng như tên, kiểu tín hiệu, và các điều kiện hạn chế về định thờ i và điện của các cổ ng trong thi ết k ế. Dung kháng t ải hợ p lý và khả năng kích (drive) có thể cần phải yêu cầu cho các cổng I/O. Một đầu vào quá l ớ n ho ặc khả năng kích quá nhỏ có thể d ẫn đến các vấn đề về thờ i gian không d ự đoán trước đượ c mà phải bỏ ra r ất nhiều cố gắng để giải quyết trong khi chúng ta đang có gắ ng v ớ i mục tiêu giảm nhỏ sức lực. Với trườ ng h ợ p ít b ị ảnh hưở ng của nhi ễu và thờ i gian có thể dự đoán được, các đầu vào ch ỉ nên kích các c ổng transistor, chứ không phải các cực khu ếch tán. Tiêu chí k ỹ thu ật các giao tiế p vật lý bao gồm các đặc tính chẳng hạn nhu v ị trí, lớ p liên k ết, và b ề r ộng các dây d ẫn. Tương tự vớ i các mô tả HDL, chúng ta thườ ng phân lo ại các cổng thành các c ổng đầu vào, các c ổng đầu ra, các cổng hai chiều, nguồ n công su ất, ho ặc đất. Ngoài ra, chúng ta c ũng nên chú ý đến việc liệu một cổng làm vi ệc vớ i tín hiệu tương tự hay là số. Chiến lượ c mô-đun giúp nhà thiết k ế làm rõ và minh chứng b ằng tài liệu một phương pháp tiế p cận một vấn đề, và cũng cho phép mộ t hệ thống thiết k ế dễ dàng kiểm tra các đặc tính của một mô-đun khi nó đượ c xây d ựng (chẳng hạn, các đầu ra không đượ c ngắn m ạch vớ i nhau). Khả năng để chia nhỏ nhiệm v ụ thành m ột tậ p các mô-đun xác định rõ ràng c ũng giúp cho các thiết k ế SoC, các thiết k ế mà trong đó mộ t số lượ ng các ngu ồn IP nhất định cần đượ c giao tiế p với nhau để hoàn thiện thiết k ế.
136
4) Cục bộ - Locality Bằng các xác định các giao ti ế p với đặc trưng r õ ràng cho m ộ t mô-đun, chúng ta đang phát bi ểu một cách thực s ự r ằng không ph ải các giao tiếp bên ngoài đ ã đượ c c ụ thể hóa, mà các giao tiế p bên trong c ủ a mô-đun là không quan trọ ng vớ i các mô-đun khác. Với quan điểm này, chúng ta đang thực hi ện m ột d ạng thức "che d ấu thông tin", d ạng thức mà làm giảm nhỏ tính phức t ạ p bên ngoài hi ển nhiên củ a một mô-đun. Trong thế giớ i ph ần m ềm và HDL, điều này tương đương vớ i việc giảm nhỏ các biến toàn c ục xuống m ột số lượ ng tối thiểu. Càng ngày, chiến lượ c cục bộ thườ ng có ngh ĩa cụ c bộ t ạm thờ i ho ặc g ắn vớ i một đồng hồ hoặt một giao thức thời gian. Điều này đượ c giải quyết d ựa vào các chi ến lược đồng hồ mà chúng ta đã đề cậ p trong ph ần trướ c. Một trong các ch ủ điểm (theme) t ậ p trung của chiến lượ c cục bộ tạm thờ i là việc tham chiếu tất c ả các tín hiệu vớ i m ột đồng hồ. Do đó, các tín hiệu đầu vào đượ c xác định cụ thể vớ i các thiết l ập đượ c yêu cầu và gi ữ nh ững thời gian tương đối với đồng hồ đó, và các đầu ra sẽ có các độ tr ễ liên quan t ớ i các c ạnh của xung đồ ng hồ. 5.2.2 Testing Trong thiết k ế mạch tích hợ p, lờ i khuyên hữu ích đượ c nhắc đi nhắc lại là "Thử nghiệm và Kiểm tra". Vớ i hầu hết các chíp, vi ệc th ử nghiệm và kiểm tra (testing) t ốn r ất nhiều công sức so vớ i việc thiết k ế. Các thử nghiệm và kiểm tra có th ể phân làm ba lo ại chính. T ậ p thử nghiệm và kiểm tra thử đầu tiên thực hiện việc kiểm tra xem liệu chíp có thực hiện các chức năng đượ c ấn định nó cho hay không. Các th ử nghiệm và ki ểm tra này đượ c thực hiện trướ c khi thực hi ện quá trình xuất băng (tapeout) trong chu tr ình sản xuất, thực hiện việc ki ểm tra các chức năng của m ạch và thường đượ c gọi là các kiểm tra chức năng hoặc các kiểm tra lô-gic. T ậ p thử nghiệm và kiểm tra thứ hai đượ c tiến hành trên nhóm chíp đầu tiên thu đượ c từ quá trình s ản xuất. Những kiểm tra này nh ằm khẳng định chắc chắn r ằng chíp ho ạt động như mong móng và giúp kiểm tra lỗi của b ất cứ sự không nhất quán nào. Các ki ểm tra có ph ạm vi lớn hơn các kiểm tra lô-gic b ở i vì chip có thể đượ c kiểm tra vớ i tốc độ ho ạt động thực trong hệ thống. Chẳng h ạn, mộ t bộ vi xử lý m ớ i có thể được đặt trong mộ t bo mạch chủ mẫu để nạ p hệ điều hành. Việc kiểm tra lỗi sản xuất, còn đượ c gọi là kiểm tra lỗi si-lic (silicon debug) yêu c ầu công việc mang tính khám phá và sáng t ạo để phát hiện ra các vị trí gây ra th ất bại, bở i vì nhà thiết k ế có r ất ít khả năng trực quan về bên trong c ủa chíp đượ c sản xu ất so vớ i khi thực hiện các kiểm tra thiết k ế. T ậ p thử nghiệm và kiểm tra thứ ba kiểm tra xem mỗi transistor, mỗi cổng, và mỗi thành phần lưu trữ trong chíp có ho ạt động m ột cách đúng đắ n hay không. Nh ững kiểm tra này đượ c tiến hành trên m ỗi chíp đượ c sản xuất trước khi chúng được đóng gói và chuyển đến khách hành. Vi ệc kiểm tra này đảm b ảo r ằng đế si-líc ở trong tình tr ạng hoàn toàn nguyên vẹn. Do vậy, các kiểm tra này thường đượ c gọi là các ki ểm tra sản xuất (manufacturing test). Trong một số trườ ng hợ p, các kiểm tra giống nhau có th ể đượ c sử dụng vớ i tất cả ba bướ c, tuy nhiên thườ ng thì dễ nhất là sử dụng một t ậ p của các phép ki ểm tra và l ần đến lỗi lô-gic và các lỗi khác, phân tách riêng các t ập đượ c tối ưu hóa để tìm những lỗi sản xuất. Cần chú ý r ằng, sản lượ ng sản xuất của một IC được xác định là số die tốt trên tổ ng số các die trên m ột t ấm wafer. B ở i vì tính phức t ạ p của quá trình s ản xuất, không ph ải t ất c ả các die trên wafer đều hoạt động m ột cách đúng đắn. Các phân t ử bụi và những s ự không hoàn hảo nhỏ trong vật li ệu khởi đầu quá trình s ản xu ất hoặc quá trình quang kh ắc có thể d ẫn đến 137
các liên k ết cầu hoặc các đặc trưng bị thiếu. Và những sự không hoàn h ảo này d ẫn đến k ết qu ả là các chíp b ị lỗi. Nhiệm vụ của kiểm tra sản xu ất là xác định die nào t ốt và nên được đóng gói gửi đến khách hàng. Việc kiểm tra một die (chip) có th ể xảy ra ở : Mức wafer.
Mức chíp đã được đóng gói. Mức bảng mạch. Mức hệ thống.
Mức vùng. Bằng việc phát hiện sớ m các chíp h ỏng, giá thành s ản xuất có thể giữ ở mức thấ p. Chẳng hạn, giá thành x ấ p x ỉ vớ i việc phát hiện lỗi ở các m ức khác nhau đượ c minh họ a trong bảng 5.1. Bảng 5.1: Mức giá thành xấ p xỉ của việc phát hiện sản phẩm lỗi ở các mức khác nhau
Mức phát hiện Wafer Chíp đã đóng gói Bảng mạch Hệ thống Vùng
Giá thành xấ p xỉ 0,01-0,1 USD 0,1-1 USD 1-10 USD 10-100 USD 100-1000 USD
Rõ ràng, n ếu các lỗi có thể đượ c phát hiện ở mức wafer, thì giá thành s ản xu ất càng thấ p. Một ví dụ điển hình, Intel đã thất bại trong việc sửa mộ t lỗi lô-gic trong b ộ chia d ấu phẩy động cho đến tận khi hơn bố n triệu đơn vị chíp đã đượ c vận chuyển đến khách hàng vào năm 1994. Khi đó IBM đã phải d ừng bán các s ản ph ẩn máy tính s ử dụng chíp Intel và Intel buộc phải thu hồi tại các chíp lỗi. Điều này đã khiến công ty ph ải tr ả giá khoảng 450 triệu đôla. Một chú ý thú vị r ằng, hầu h ết các thất b ại của s ản phẩm si-líc lần đầu tiên là k ết qu ả của các vấn đề vớ i chức năng củ a thiết k ế. Nói cách khác, chíp th ực hiện chính xác điều mà công cụ mô phỏng hướ ng nó thực hiện, tuy nhiên vì m ột số lý do (hầu hết thườ ng là lỗi do con ngườ i) chức năng này không phả i là chức năng mà toàn bộ phần còn lại của h ệ thống mong muốn. Trong phần này, chúng ta s ẽ xem xét m ột cách sơ lượ c các quá trình liên quan đến các phép kiểm tra lô-gic, ki ểm tra lỗi của chíp, và ki ểm tra sảm xuất. 1) Kiểm tra lô-gic Các kiểm tra lô-gic thườ ng là các kiểm tra đầu tiên mà một nhà thi ết k ế có thể xây dựng như một phần trong quá trình thi ết k ế. Chẳng hạn, có thể đặt ra các câu hỏi "Liệu bộ cộng này có thực hiện việc cộng?", "Liệu b ộ đếm này có th ực hiện việc đếm?"... Chúng ta bi ết r ằng, các thử nghiệm và kiểm tra cần phải đượ c thực hiện để chứng minh r ằng một mô tả cổng đượ c tổng hợ p phải có chức năng hoạt động tương đương vớ i mô tả RTL ngu ồn. Hình 5.2 ch ỉ ra r ằng chúng ta có thể mong mu ốn chứng minh r ằng m ột mô tả RTL là tương đương vớ i các 138
tiêu chuẩn thiết k ế ở một mô tả chức năng mức cao hơn hoặ c một mức tiêu chí tr ừu tượ ng. Mô tả chức năng có thể là một mô tả bằng lờ i; một mô t ả b ằng chữ vớ i ngôn ngữ thông thườ ng; một mô tả trong m ột số ngôn ng ữ lậ p trình bậc cao chẳng hạn như C, FORTRAN, Pascal, hoặc LISP; một chương tr ình trong m ộ t ngôn ngữ mô phỏng hệ thống chẳng hạn như System C; ho ặc một ngôn ngữ mô t ả phần c ứng như VHDL hoặc Verilog; ho ặc đơn giản là mộ t b ảng các đầu vào và các đầ u ra yêu cầu. Thườ ng các nhà thi ết k ế tạo ta một "mô hình vàng" trong m ột trong các d ạng thức vừa đề c ậ p và nó tr ở thành m ột mô hình tham chi ếu c ủa tất c ả các phép ki ểm tra củ a các biểu diễn khác. Tương đương chức năng liên quan đến việc thực hiện m ột bộ mô phỏ ng ở m ột mức độ nào đó trên hai mô tả c ủa chíp (chẳng hạn m ột ở mức cổng và một ở mức chức năng) và việc đảm bảo r ằng các đầu ra là tương đương ở một số điểm ki ểm tra thu ật ti ện theo thờ i gian vớ i mọi đầu vào đượ c cung cấp. Điều này đượ c th ực hiện một cách thu ận tiện nhất trong mô t ả HDL bằng việc sử dụng các chu ẩn kiểm tra (test bench), t ức là một đóng gói xung quanh mộ t mô-đun và cung cấ p các kích thích và các ki ểm tra tự động. Phép ki ểm tra đượ c chi tiết nhất có lẽ là phép ki ểm tra thực hiện trên cơ sở chu k ỳ tiế p chu k ỳ. Ngày càng, vi ệc kiểm tra thử liên quan đến thờ i gian thực hoặc ho ạt động gần vớ i thờ i gian thực trong các h ệ thống dựa trên FPGA để khẳng định chất lượ ng hoạt động mức hệ thống trong hệ thống cuối cùng mong mu ốn, tức là một hệ th ống thực t ế s ẽ s ử dụng chíp sau khi chíp hoàn thành. Điều này đượ c khuyến cáo bở i vì có mộ t s ự tăng mức độ ph ức t ạ p c ủa chíp và hệ thống mà chúng th ực hi ện. Ví d ụ, trong một vùng di ện tích của các chíp cho m ạng cục bộ vô tuyến không dây (WLAN), n ếu không có các h ệ thống mô phỏng thờ i gian thực, chúng ta không th ể mô phỏng các ảnh hưở ng ẩn của kênh thông tin tưở ng vớ i các can nhiễu ngoài băng.
Hình 5.2 Sự tương đương chức năng ở các mức độ tr ừu tượ ng khác nhau
Chúng ta có th ể kiểm tra sự tương đương chức năng thông qua việ c mô phỏng ở các mức độ khác nhau của phân cấ p thiết k ế. Nếu mô tả là ở m ức RTL, các ho ạt độ ng ở m ức hệ thống có thể đượ c kiểm tra một cách đầy đủ . Ví dụ, trong trườ ng hợ p một bộ vi xử lý, chúng ta có thể nạ p h ệ điều hành và ch ạy các chương tr ình chính yếu đố i vớ i mô t ả ch ức năng. Tuy nhiên, điều này có th ể là không th ực t ế (do thờ i gian chạ y mô phỏng có thể quá dài) đối v ớ i 139
mộ t mô hình ở mức cổng lô-gic và thậm chí còn khó kh ăn hơn cho một mô hình ở mức transistor. Một cách để giải quyết v ấn đề này là s ử d ụng sự k ế thừa phân cấ p ngay bên trong mộ t h ệ thống để kiểm tra các chíp và các mô- đun bên trong chíp. Nghĩa là, k ết hợ p vớ i các giao tiế p mô- đun được xác định rõ, đi theo nhánh dài cùng vớ i sự tăng của tính tương đồ ng mà mộ t hệ thống bao gồm nhiều chíp VLSI sẽ thực hiện trướ c tiên. Trong hầu hết các d ự án, khối lượ ng c ủa các cố gằng kiểm tra thường vượ t r ất nhiều các cố gắng thiết k ế. 2) Các gợ i ý ki ểm tra lỗi số cơ bản R ất nhiều lần, khi m ột chíp đượ c s ản xu ất, tậ p thử nghiệm và ki ểm tra đầu tiên đượ c thực hiện trong môi trườ ng phòng thí nghi ệm, do đó chúng ta tầ n chu ẩn bị cho việc này. Chúng ta có thể b ắt đầu bằng việc xây d ựng một bảng mạch có những đặc tính sau:
Nguồn công su ất cung c ấ p cho IC có khả năng thay đổ i VDD và khả năng đo lườ ng công su ất tiêu tán. Có các liên k ết vớ i tín hiệu thực. Có các đầu vào tín hi ệu đông hồ. Có một giao tiế p số vớ i một máy tính cá nhân (PC). Chúng ta có th ể viết các chương tr ình phần m ềm để giao tiế p vớ i chíp thông qua các cổng nối tiế p ho ặc song song ho ặc các giao tiếp bus. Chíp này do đó phả i có một cổng UART nối tiế p hoặc một số giao tiế p khác mà có th ể sử dụng m ột cách độc lậ p vớ i các ho ạt động bình thườ ng của chíp. Mức thấ p nhất của phần mềm ph ải tạo ra các l ệnh đọc và ghi các thanh ghi trong chíp. M ột cách khác ho ặc một phương pháp trái ngượ c là tạo ra các giao ti ế p cho các bộ phân tích lô-gic. Các giao ti ế p này có thể dễ dàng đượ c thêm vào một thiết k ế bản mạch in ở dạng các đầu nhiều chân (socket). Chúng ta ph ải thực hi ện một phép kiểm tra đầu tiên (còn đượ c gọi là "kiểm tra khói"). Kiểm tra này liên quan đến việc thay đổi các giá tr ị điện áp t ừ m ức không đến VDD trong khi đó quan sát dòng điện có đượ c v ớ i sự không có m ặt của các tín hi ệu đồng h ồ. Đối v ớ i một mạch t ĩnh hoàn toàn, dòng điện s ẽ luôn duy trì ở m ức không. Các m ạch điện tương tự s ẽ tạo ra dòng ẩn (quiescent). Tiếp theo đó, chúng ta có thể cho phép tín hi ệu đồng hồ, m ột số dòng động phải quan sát đượ c. Cần chú ý r ằng, nhiều chíp CMOS dường như hoạt độ ng khi tín hi ệu đồng hồ đượ c cung cấ p trong khi ngu ồn cung cấp đượ c tắt bở i vì tín hiệu đồ ng hồ có thể cung c ấ p phần nào công su ất cho chíp thông qua các đi-ốt b ảo v ệ đầu vào trên các châ n đế đầu vào. N ếu có thể, chúng ta phải ch ạy khởi động tín hiệu đồng h ồ ở t ốc độ thấ p sao cho các thất bại trong thi ết lậ p thờ i gian không ph ải là thủ phạm đầu tiên trong b ất k ỳ hoạt động kiểm tra lỗi nào. Trong trườ ng hợ p là m ạch số, chúng ta ph ải xem xét các thanh ghi khác nhau cho vi ệc sử dụng đúng phần mềm ghi và đọ c dựa trên PC. Điều này ngh ĩa là kiểm tra tính toàn vẹn của đườ ng tín hiệu t ừ PC tời chíp. Thườ ng, các nhà thi ết k ế đặt một ID trong m ột thanh ghi t ại địa chỉ không. Việc đọc t ại thanh ghi này ch ứng minh tính đúng đắn của đường đọc từ chíp. N ếu các thanh ghi của chíp đượ c khởi động lại vớ i m ột tr ạng thái biết trướ c, các thanh ghi có th ể được đọ c nố i tiếp nhau và đượ c so sánh vớ i các giá tr ị định trước. Trong trườ ng hợ p b ộ phân 140
tích lô-gic, chúng ta có th ể tải các mẫu kiểm tra tương tương vào các chíp cần kiểm tra. Thông thườ ng, các mẫu kiểm tra này có th ể đượ c t ạo ra một cách tự động từ các phiên b ản kiểm tra chuẩn. Cho đến thời điểm này, chưa có chức năng nào của chíp đượ c kiểm tra ngo ại tr ừ việc đọc và ghi thanh ghi. Nếu chúng ta phát hi ện ho ạt động bất bình thườ ng, chúng ta ph ải thực hi ện việc ki ểm tra lỗi (debug). Phương pháp đơn giả n nh ất là giả định m ột phương pháp thất bại và sau đó thực hiện việc kiểm tra giải thiết đó. Việc kiểm tra lỗi bản thân nó là m ột nghệ thuật, tuy nhiên có một số điểm cho vi ệc kiểm tra lỗi hợ p lý như sau: Lưu giữ một nhật ký vớ i ngày tháng và chú thích cho t ất cả các kiểm tra đã thực hiện. Khi giả thiết một nguyên nhân cho m ột lỗi và mộ t phép kiểm tra, thực hiện chỉ một thay đổi mỗi l ần và quan sát k ết qu ả. Việc thay đổ i nhiều yếu tố cùng một lúc và sau đó quan sát xem chíp có làm việ c hay không s ẽ d ẫn chúng ta đế n việc không phát hi ện đượ c lỗi và cách này thường đượ c gọi là giải pháp t ự sát.
Thực hiện vi ệc kiểm tra m ọi thứ hai ho ặc ba lần; không bao gi ờ nên giả sử mọi điều tr ừ khi nó được đo lườ ng và ghi chú l ại trong nhật trình. Kiểm tra các tín hi ệu và các điện áp cung c ấ p t ại các chân c ủa IC; thườ ng thì các b ảng mạch kiểm tra m ớ i hay có l ỗi. Kiểm tra lặ p I/O của chíp được xác định và thực hiện m ộ t phép ki ểm tra liên ti ế p từ các chân của IC tớ i các vị trí mong mu ốn (chẳng hạn, kiểm tra các chân, các ngu ồ n cung c ấ p) trên bảng mạch. Không bao gi ờ b ỏ qua lý do có th ể d ẫn đến lỗi, ngo ại tr ừ chúng ta có thể chứng minh đượ c r ằng nó không ph ải là nguyên nhân. Sử dụ ng các bộ phun lạnh ho ặc các súng nhi ệt để làm lạnh hoặc làm nóng m ột mạch để kiểm tra xem liệu nó có x ảy ra các v ấn đề vớ i nhiệt độ. Kiểm tra tr ạng thái của các thanh ghi b ất k ỳ bên trong chíp và ghi chú vào tài li ệu. Đánh giá thờ i gian của các đầu vào và đầ u ra bất k ỳ với chú ý đến tín hiệu đồng hồ; thườ ng các thiết l ậ p hoặc các thờ i gian giữ có thể bị vi phạm trong một thiết lậ p ki ểm tra mớ i. Khi một l ỗi đượ c phát hiện và sửa, tìm kiếm các phần khác của thiết k ế, phần mà có thể cũng có nhữ ng lỗi tương tự mà chưa đượ c phát hi ện. Không bao gi ờ đượ c giả thiết mọi thứ, phải đặt dấu hỏi vớ i mọi thứ. Khi một chíp đượ c kiểm tra ho ạt động, chúng ta có thể th ực hiện việc đo lườ ng nhiều khía cạnh chung c ủa thiết k ế ch ẳng hạn như chất lượ ng hoạt động của chíp (công su ất, tốc độ, các đặc tính tương tự). Điều này liên quan đế n các k ỹ thuật phòng thí nghi ệm thông thường để cấu hình, đo lườ ng và ghi lại. Bất c ứ khi nào có thể, lưu giữ t ất cả các cất quả dướ i d ạng có thể đọc đượ c b ằng máy tính (ch ẳng h ạn các hình ảnh được lưu trữ t ừ các ô-xi-lô s ố, các bức chụ p màn hình t ừ các bộ phân tích lô- gic) để trao đổi vớ i các thành viên trong nhóm ho ặc đồng nghiệ p.
141
Vớ i hầu h ết các phần, nếu một chíp số mô phỏng ở mức cổ ng lô-gic và thành công v ớ i các kiểm tra phân tích th ờ i gian trong quá trình thi ết k ế, chúng sẽ ho ạt động chính xác khi s ản xuất thành chíp. M ột số biến đổi từ mạch mô ph ỏng xảy ra trong các trườ ng hợ p sau:
Mạch hoạt động chậm hơn dự đoán - chỉnh sửa - giảm nhịp đồng hồ hoặc tăng VDD. Mạch có một hiện tượ ng chạy đua - chỉnh sửa - làm nóng v ớ i súng nhiệt kiểm tra xem một cổng lô-gic có phải là nguyên nhân. Mạch có các vấn đề lô-gic động - chỉnh sửa - không thực hiện lại mạch. Mạch có các v ấn đề nghiêm tr ọng về hi ện tượ ng nhiễu xuyên (crosstalk) - ch ỉnh sửa tìm kiếm các công c ụ tốt hơn. Mạch hoạt động sai chức năng - ch ỉnh sửa - thực hiện việc thử nghiệm và ki ểm tra tốt hơn. Vớ i các mạch tương tự, một loạt các vấn đề có thể gây ảnh hưởng đến chất lượ ng ho ạt động c ủa mạch ngoài các yếu tố đượ c mô phỏng. Các vấn đề bao gồm nhiễu đất và nguồ n cung cấ p, nhiễu đế, các ảnh hưở ng nhiệt và ảnh hưở ng do quá trình s ản xuất. Mặc dù vậ y, chúng ta vẫn có thể áp dụng các phương pháp kiể m tra phát hiện lỗi cơ bản như đã xem xét. 3) Kiểm tra sả n xuất Trong khi các phép ki ểm tra và các phép th ử nghiệm và kiểm tra chức năng thực hiện việc tìm kiếm để khẳng định chức năng của một chíp, thì các phép th ử nghiệm và kiểm tra sản xuất đượ c sử dụng để khẳng định r ằng mọi hoạt động cổng lô-gic như mong đợ i. Sự cần thiết thực hiện xuất phát từ một loạt các lỗ i s ản xuất có thể xảy ra trong ho ặc quá trình sản xuất chíp hoặc trong quá trình ki ểm tra tăng sức chịu đựng của chíp (trong đó chíp đượ c nhấn mạnh (stress) bằng các ho ạt động quá áp và quá nhi ệt). Các lỗi sản xuất bao gồm: Các ngắn mạch giữa các lớ p (chẳng hạn giữa các l ớ p kim loại).
Các dây d ẫn b ị đứt (chẳng hạn các dây d ẫn kim lo ại mỏng khi chạy qua các topology thẳng đứng). Thiếu các nút nối thông (via), các nút n ối thông b ị hỏng. Các ngắn mạch qua các lớ p ô-xít cực cổng mỏng tới đế hoặc giếng. Các lỗi này d ẫn đến các lỗi mạch đặc biệt bao gồm: Các nút bị ngắn mạch tớ i nguồn cung c ấ p ho ặc đất. Các nút bị ngắn mạch vớ i nhau. Các đầu vào trôi nổi, các đầu ra đứt mạch. Các kiểm tra đượ c yêu c ầu để khẳng định r ằng m ỗi c ổng và mỗi thanh ghi ho ạt động và không b ị t ổn hại b ở i một lỗ i sản xu ất. Các kiểm tra có thể đượ c tiến hành ở m ức wafer để loại b ỏ các die xấu, ho ặc có thể được để đến t ận khi các bộ ph ận được đóng gói. Việc quyết định cho v ấn đề này thườ ng đượ c quyết định b ở i s ản lượng và giá thành đóng gói. Nế u sản lượng cao và giá thành đóng gói thấ p (chẳng hạn sử dụng đóng gói plastic), thì các bộ phận có thể đượ c ki ểm tra chỉ sau khi đã được đóng gói. Tuy nhiên, nế u sản lượ ng wafer thấ p và giá thành đóng gói cao (chẳng h ạn các đóng gói gốm), thườ ng s ẽ kinh t ế hơn nếu thực hi ện việc 142
loại b ỏ die xấu ở mức wafer. Độ dài các ki ểm tra ở mức wafer có th ể đượ c làm ngắn l ại để giảm thờ i gian kiểm tra d ựa trên kinh nghi ệm vớ i dãy các phép ki ểm tra. Ngoài việc kiểm tra các c ổng bên trong, tính liên t ục I/O cũng đượ c kiểm tra, vớ i các kiểm tra sau c ần đượ c hoàn thành:
Các mức I/O (chẳng hạn, kiểm tra m ức dự tr ữ chống nhiễu cho TTL, ho ặc các chân đế I/O CMOS). Tốc độ hoạt động. Vớ i việc sử d ụng các c ấu trúc kiểm tra ngay trên chíp, vi ệc ki ểm tra wafer vớ i tốc độ làm việc thực có thể đượ c hoàn thành vớ i một số tối thiểu các chân nối. Điều này tr ở nên quan tr ọng trong vi ệc giảm giá thành c ủa việc kiểm tra ở mức wafer. Về mặt tổng quát, việc tạo ra các b ộ kiểm tra sản xuất giả thiết r ằng chức năng của mạch/chip là đúng. Điều đó yêu cầ u các các thử tất cả các đầu vào các c ổng và quan sát t ất cả các cổng đầu ra. 5.3 Hệ thống layout Việc th ực hi ện layout thông thường đầy đủ ở m ức m ặt nạ là một quá trình d ễ m ắc lỗi, tốn thờ i gian, và là công vi ệc yêu c ầu các chuyên gia đượ c hu ấn luyện tốt. S ự chấ p nhận các luật thiết k ế hình học đơn giản và các lu ật thiết k ế h ệ thố ng toàn cục, chẳng h ạn như việc sử dụ ng nghiêm chi ến lược đồng hồ 2- pha, đ ã d ẫn đến các phương pháp cho phép các nhà th iết k ế hệ thống thiết k ế chíp ở m ức mặt nạ. Điều này cho phép các nhà thi ết k ế hệ thống sử d ụng các tiềm năng mạch đầy đủ mà công nghệ si-líc t ạo ra. Một phương pháp cải ti ến đang nhậ n đượ c sự chấ p nhận r ộng rãi là vi ệc thiết k ế mức thấ p các ô trong d ạng một ký hiệu ở mức mạch điện củ a các miêu tả tr ừu tượng, và do đó làm dịu các nhà thiết k ế khỏi nhiệm v ụ n ặng nề của việc phải thực hiện các luật thiết k ế hình h ọc. Các ô sau đó đượ c k ết hợ p b ằng cách sử dụ ng một trong các k ỹ thu ật k ết hợp đ ã biết, các k ỹ thuật m ở r ộng khả năng của các hệ thống như vậ y ở mức chíp. Một phương pháp hỗ n hợ p tốt có thể k ết hợ p các khối ô tiêu chu ẩn (đượ c định ngh ĩa mộ t cách biểu trưng) các ô mà đượ c thiết k ế m ột cách tự động, một phương pháp xây dựng thông thường đượ c l ặ p lại vớ i các ô trong mi ền kí hiệu, và các cấu trúc điều khiển chẳng hạn như các mảng lô-gic l ậ p trình đượ c. Vì các công c ụ đượ c cải thiện, mức ký hiệu của các mô t ả tạo ra một "hợ p ngữ" tốt đượ c nhắm đến bở i các trình biên d ịch si-líc. 5.3.1 Layout kí hiệu lướ i thô Ý tưởng đằng sau phương pháp này là việ c chia b ề m ặt chíp thành các lướ i có kho ảng cách đều nhau theo c ả hai chiều X và Y. Kích thướ c của lướ i biểu diễn đặc trưng tối thiểu hoặc dung sai vị trí mong mu ốn trong m ột quá trình sản xuất xác định và thường đượ c lựa chọn bằng s ự tham khảo kín giữa các nhà phát tri ển công cụ thiết k ế và các k ỹ sư quá tr ình sản xuất bán d ẫn. Vớ i mỗi sự k ết hợ p các l ớ p m ặt nạ tồn tại ở một vị trí của lướ i, một ký hiệu được xác định. Hình 5.3 minh h ọa một tậ p các ký hiệu điển hình và layout. Vớ i m ột hệ thống thiết k ế cụ thể, những ký hi ệu này được đặt trên lưới để xây d ựng mạch điện mong mu ốn, tương tự như việc chúng ta lát gạch n ền. Các tậ p ký hi ệu có thể đượ c định ngh ĩa là các chữ cái hoặc có thể là các ký hi ệu hình ảnh, nếu một biểu diễn hình ảnh đượ c sử dụng cho thi ết k ế. 143
Hình 5.3 Layout kí hiệu lướ i cố định
144
Quá trình thiết k ế bao gồm các ký hiệu được đặt trên lướ i thô. Việc sử dụng các ký hiệu với kích thướ c cố định làm đơn giả n hóa các lu ật thiết k ế hình học, nhưng không hoàn toàn làm giảm chúng. Ví d ụ, hình 5.4 cho th ấy một vi phạm luật thiết k ế đườ ng chéo xảy ra trong một hệ thố ng thiết k ế như vậy.
Hình 5.4 Sự vi phạm luật thiết k ế trong layout lướ i cố định
5.3.2 Layout ma trận cổng Một kiểu layout ký hi ệu dựa trên ký t ự đượ c phát tri ển tại phòng thí nghi ệm Bell cụ thể hóa cho các m ạch CMOS. Nó cải thiện layout ký hi ệu lướ i thô b ằng cách cung c ấ p một kiểu layout quy lu ật trong đó mộ t ma tr ận giao các hàng khu ếch tán transistor và các c ột si-líc đa tinh thể đượ c s ử dụng. Giao của m ột hàng và m ột cột là vị trí của một transistor tiềm tàng (vùng si- líc đa tinh thể giao vớ i vùng khu ếch tán). Sự phát triển của k ỹ thuật này từ quan điểm ô tiêu chu ẩn đượ c minh họa trong hình 5.5, trong đó hình bên trái minh h ọa một m ạch đượ c th ực hiện b ằng các thành ph ần ô cơ bản (bốn mạch NAND 2-đầu vào và mộ t bộ đảo). Chú ý r ằng các liên k ết giữa các ô là các liên k ết kim loại. Thay vì thực hiện các liên k ết bằng kim lo ại, chúng ta có th ể thực hiện các cột dải silíc đa tinh thể theo chiều dọc tương ứ ng vớ i mỗi tín hiệu c ực cửa. Các transistor sau đó có thể được đặt trên các d ải d ẫn tín hiệu bằng si-líc đa tinh thể và đượ c k ết nối với nhau như trong minh họa hình bên ph ải. Ở đây, các cột d ọc có thể hoặc là các d ải si-líc đa tinh thể (S) hoặc các d ải khuếch tán (D) (hình 5.6). Các hàng ngang là các transistor và/ho ặc các rãnh định đườ ng bằng kim lo ại. Chú ý r ằng các dây kim lo ại cũng có thể chạy dọc. Một layout kí hiệu d ạng ký tự tương ứng vớ i layout trong hình 5.6 đượ c trình bày trong hình 5.7 trong đó sử dụng các ký hiệu được định ngh ĩa trong bảng 5.2.
145
Hình 5.5 Phát triển của kiểu thiết k ế ma tr ận cổng
Hình 5.6 Layout ma tr ận cổng điển hình với các đườ ng ng si-líc đa tinh thể và đườ ng ng khuếch tán
\caption{Các ký hi ệu sử dụng trong hình \ref{fig:5.7}}\label{tab:5.2} Sơ đồ layout mặt nạ tương ứng của hình 5.7 đượ c trình bày trong hình 5.8. K ỹ thuật ma tr ận cổng có thể đượ c tổng k ết bằng các lu ật sau:
Dải si-líc đa tinh thể chạy chỉ theo một hướ ng ng và chiều dài và b ề r ộng là hằng số. Các dây d ẫn lo ại khuếch tán (vớ i b ề r ộ ng cố định) có thể chạy d ọc giữa các đườ ng ng silíc đa tinh thể. 146
Đườ ng ng d ẫn kim lo ại có thể chạ y theo chiều ngang và chi ều dọ c. Bất cứ đườ ng ng nào có sự khác biệt với kích thướ c tối thiểu (chẳng hạn các ray cung c ấ p nguồn) phải đượ c cụ thể hóa thủ công. Các transistor có th ể chỉ tồ n tại trên các c ột si-líc đa tinh thể.
Hình 5.7 Layout ký hiệu tương ứng của hình 5.6 Layout mặt nạ tương ứng của hình 5.7
Ký hiệu N P + * | ! : -
Ý ngh ĩ a Transistor kênh n Transistor kênh p Điểm giao c ắt kim loại – poly ho ặc kim lo ại dây khu ếch tán xúc Đi m ti p xú Dây dẫn si-lic đa tinh thể hoặc khu ếch tán lo ại n Dây dẫn khuếch tán loại p Dây dẫn kim lo ại chạ y dọc Dây dẫn kim lo ại chạy ngang
Các transistor r ộng có thể được xác định bằng cách b ắc cầu (abut: to touch along a border or with a projecting part ; to terminate at a point of contact; : to lean for support; support; to border on ; land>; to cause to abut) hai ho ặc nhiều hơn hai các k ý hiệu N ho ặc P. Để chuyển từ các ký hiệu chữ sang b ản biểu diễn (artwork) m ặt nạ, ma tr ận ký t ự đượ c xem xét (examine) và các ký t ự đượ c mở r ộng thành các phần t ử mặt nạ tương đương. Các thao tác chẳng h ạn như gộp các đường đứt nét nằm ngang thành m ột dây d ẫn kim lo ại và gộ p các thiết bị lân cận nhau đượ c thực hiện trong giai đoạn này. Hình 5.9 trình bày các kho ảng cách lưới điển hình, trong đó tuân theo các luật thiết k ế đã trình bày trong ph ần trước. Bướ c (pitch) của hàng được xác định b ở i kho ảng cách phân tách t ối thiểu cực máng/cực nguồn của hai transistor không liên k ết nhau vớ i các tiếp điểm khu ếch tán kim lo ại. Bướ c của cột đượ c 147
ng si- líc đa tinh thể vớ i một tiếp điểm khu ếch tán giữa xác định b ở i khoảng cách của hai đườ ng ng si- líc đa tinh thể. các đườ ng
Hình 5.8 Các khoảng cách cột và hàng của ma tr ận cổng
Chú ý r ằng kiểu thi ết k ế này là kiểu "công ngh ệ có thể cậ p nhật đượ c" c" vì mô t ả thiết k ế được lưu giữ d ạng kí hiệu. Điều này có ngh ĩa là các thông tin m ặt nạ cơ bản đượ c mã hóa b ở i các dạng thức ký t ự. Do vậy, việc trích mạch có thể đượ c thực hiện ở m mức ký hiệu hoặc ở m mức mặt nạ b ằng các công c ụ trích truyền thống. Chú ý r ằng, việc trích mạch thực hiện ở mức ký hiệu là tương đối nhanh. 5.3.3 Layout hình que Thuật ngữ "hình que" (stick) là m ột thuật ngữ chung đượ c dùng trong các h ệ thống thiết k ế ký hiệu mà không nhất thiết hạn chế nhà thiết k ế ph p hải dùng lướ i trong quá trình thi ết k ế. ế. Thay vào đó, mộ t mô tả topology d ạng t ự do của layout đượ c nhậ p thông qua một hệ thống đồ h ọa tương tác. Các k ý hiệu đồ h ọa được định v ị tương đố i vớ i nhau thay vì định v ị cố định và đượ c liên k ết vớ i nhau b ằng các que màu bi ểu diễn các lớ p liên k ết mức m ặt nạ. K ỹ thu ật này d ựa trên các biểu diễn tr ừu ng mà các nhà thi ết k ế IC đ ã sử dụng nhiều năm ừu tượ ng để đơn giản hóa layout b ằng giấ y và bút chì tr ướ ướ c khi thực hiện vi ệc chuyển số hóa layout. Vớ i các hệ th t hống thực hi ện d ựa trên máy tính hi ện nay, các kho ảng cách m ặt n ạ đúng đắn có thể đạt đượ c bằng cách sử dụng một quá trình tr ình "compaction" (nén). (nén). Tuy Tu y nhiên t ừ năm 1978, có r ất ít hệ thống như vậy được được đề cậ p, mà chủ yếu nhấn mạnh đến các thuật toán nén (compaction). Điều quan tr ọng cần chú ý là hầu hết các hệ thố ng loại này sử dụng, như là cơ sở cho cho việc thao tác layout, m ột mô tả mức mặt nạ (chẳng hạn như các hộp, các đườ ng). ng). 5.3.4 Layout kí hiệu lướ i ảo Layout kí hi ệu lướ i ảo là một phương pháp layout kí hiệ u mà vẽ d ựa trên kinh nghi ệm t hống layout hình que, và đạt đượ c trong các h ệ thống ký hi ệu lướ i thô, ma tr ận cổng, các hệ th 148
các hệ thống khác. Về cơ bản, hệ thống tiế p cận thiết k ế ở mức layout b ằng cách thao tác (manipulate) các ph ần tử của mạch điện như các transistor và các dây d ẫn ngượ c lại vớ i bất cứ dạng thức nào c ủa mô tả m ặt n ạ hình học. Các phần t ử mạch điện v ừa k ể được đặt trên m ột lưới để tạo thuận lợ i cho việc nắm bắt thiết k ế dễ dàng và các công c ụ đơn giản hóa, v ớ i khoảng cách hình họ c cuối cùng giữa các đường lưới được xác định bở i mật độ và sự can nhiễu của các thành ph ần mạch điện trong các vị trí lướ i lân c ận. Điều này đã dẫn đến khái niệm một lướ i " ảo". Khái niệm này đượ c minh họa vớ i ví dụ đơn giản trong hình 5.10 (hình a). Trong minh họa, chúng ta th ấ y có b a đườ ng dẫn chạ y dọc ở giữa hình là các l ướ i ảo. N ếu sử d ụng một lướ i cố định kích thước 10 đơn vị, b ề r ộng đườ ng dây d ẫn và kho ảng cách phân cách $10$ đơn vị sẽ cho chúng ta m ộ t mô tả mặt nạ trong hình b. N ếu sử dụng một lướ i v ớ i khoảng cách thay đổ i theo topology, thì chúng ta thu đượ c một mô tả mặt nạ trong hình c. Trong hình c, kh ối đường đứt nét là có th ể trong một số bộ nén lướ i ảo nhất định. K ết quả cuối cùng cho nhà thi ết k ế là các định vị trên lưới đượ c thực hiện mà không c ần phải quan tâm đến các luật thiết k ế. Ngoài việc lo ại bỏ các lu ật thiết k ế, lướ i cũng đượ c s ử dụng để xác định tính k ết n ối c ủ a m ạch theo cách tương tự trong các hệ thống thiết k ế mạch. Ở đây, khái niệm m ột "coordinode" (nút t ọa độ), được đề ra bởi Buchanan, đượ c sử dụng để nắm bắt vị trí vật lý, tính k ết n ối cấu trúc, và các tr ạng thái ho ạt động. Như cái tên củ a nó, mộ t coordinode có các tính chất c ủ a m ột hệ t ọa độ (coordinate), t ức là một số vị trí xy mà cu ối cùng ánh x ạ (map) vớ i bề m ặt si-líc. Ngoài ra, nó có th ể có một s ố tính chất của một nút trong m ột m ạch điện, chẳng h ạn như điệ p áp, ho ặc các tr ạng thái mô phỏng. Về m ặt c ấu trúc, một coordinode xác định các nút trong m ạng đang đượ c thiết k ế. Trong trườ ng h ợ p (ngữ cảnh) lướ i ảo, một coordinode đượ c ánh xạ tớ i một tậ p r ời r ạc các điểm trên lướ i thay vì m ộ t tậ p bán liên t ục của các hệ tọa độ X-Y. Các tọa độ lướ i tạo thành các đườ ng ho ạt động trong m ột m ạch điện, định ra các đường thông tin cơ bản trong và đi qua mộ t m ạch điện. Các hoán đổ i hình học cục bộ đượ c thực hiện (handle) b ằng phần mềm mạnh trong vi ệc thực hiện các tao tác hình h ọ c.
Hình 5.9 Layout lướ i ảo
Một hệ thống nắm bắt mạch lướ i ảo (a virtual grid circuit capture system) có nh ững điểm lợ i sau:
Thiết k ế topology không b ị ràng buộc bở i các luật thiết k ế. Thiết k ế nhanh thông qua vi ệc sử dụng các liên k ết điểm. Các thu ật toán d ựa trên lướ i nhanh cho vi ệc kiểm định (audit) tính k ết nối, việc nén, và các quá trình khác. 149
Khả năng cho phép các ô tham số hóa vớ i việc tạo ra khối hình học tự động. Lắ p ghép mô-đun phân cấ p. Mục tiêu tự nhiên cho các trình biên d ịch si-líc mức cao (tự do vớ i cấu trúc hình h ọc).
150