Bối cảnh và vấn đề nghiên cứu
Trong sự phát triển của công nghiệp vi mạch toàn cầu và tại Việt Nam, nhu cầu xử lý các tập số liệu lớn ngày càng gia tăng, đòi hỏi các hệ thống tính toán phải liên tục nâng cao hiệu năng. Trọng tâm của việc cải tiến phần cứng máy tính tập trung vào việc rút ngắn thời gian xử lý và tăng tốc độ truyền dữ liệu trong các khối mạch số. Các phép tính toán số học, đặc biệt là phép cộng, giữ vai trò cơ bản nhưng lại thường là yếu tố giới hạn xung nhịp và tốc độ thực thi chung của toàn bộ đơn vị xử lý số học và logic (ALU).
Đồ án tốt nghiệp "Thiết kế và so sánh mạch cộng 16 bit sử dụng kỹ thuật đường ống" được thực hiện bởi sinh viên Huỳnh Thị Kim Chi dưới sự hướng dẫn của TS. Võ Minh Huân tại Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh (chuyên ngành Công nghệ Kỹ thuật Máy tính), nhằm giải quyết bài toán tối ưu hóa thời gian thực thi phép cộng số học thông qua việc áp dụng kỹ thuật gối đầu lệnh (pipeline).
Mục tiêu nghiên cứu của đồ án được xác định cụ thể gồm:
- Tìm hiểu và khai thác phần mềm thiết kế vi mạch Cadence trên hệ điều hành Linux.
- Thiết kế và mô phỏng mạch đảo (Inverter) cơ bản bằng bộ công cụ Cadence.
- Tiến hành thiết kế, mô phỏng và so sánh đặc tính hoạt động giữa mạch cộng 16 bit nhìn trước số nhớ (Carry Look-Ahead - CLA) và mạch cộng 16 bit tích hợp kỹ thuật đường ống.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Phần mềm tự động hóa thiết kế điện tử Cadence; tiến trình công nghệ bán dẫn 45nm; kỹ thuật đường ống (pipelining); cấu trúc và hoạt động của mạch cộng 16 bit có chốt đường ống so với mạch cộng CLA.
- Phạm vi nghiên cứu: Ứng dụng gói công cụ Cadence Virtuoso Analog Design Environment 5.1 trong môi trường máy ảo RedHat Linux; mô phỏng mức transistor và sơ đồ nguyên lý (schematic) với thư viện công nghệ 45nm (
45nm.scs); phân tích đáp ứng miền thời gian (transient analysis) và dòng điện tiêu thụ của mạch điện cơ bản. Thời gian thực hiện đồ án kéo dài 18 tuần (từ ngày 16/03/2015 đến ngày 20/07/2015).
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đề tài bao quát các nguyên lý vật lý linh kiện, công nghệ chế tạo bán dẫn, lý thuyết đường ống trong kiến trúc máy tính và cấu trúc logic của các bộ cộng số học:
-
Linh kiện bán dẫn MOSFET và tiến trình công nghệ 45nm:
- Cấu tạo và phân loại Transistor hiệu ứng trường kim loại - oxit - bán dẫn (MOSFET) gồm hai nhóm chính: MOSFET kênh sẵn (chế độ nghèo / Depletion-Mode MOSFET - DE-MOSFET) và MOSFET kênh cảm ứng (chế độ giàu / Enhancement-Mode MOSFET - E-MOSFET), chia thành loại kênh P và kênh N. Đặc tính truyền đạt của linh kiện tuân theo hàm $I_D = f(U_{GS})$ khi $U_{DS} = \text{const}$.
- Công nghệ 45nm: Đại diện tiêu biểu là dòng vi xử lý Penryn của Intel (với 6 bộ xử lý và 16 sản phẩm 45nm). Tiến trình này giúp nâng cao hiệu năng, giảm điện thế hoạt động, giảm tỏa nhiệt, tăng tốc độ đảo mạch lên khoảng 20% và giảm 30% mức tiêu thụ điện năng so với công nghệ 65nm. Tuy nhiên, công nghệ tồn tại nhược điểm về dòng rò cổng ($i_{Gate}$) và dòng rò mối nối ($I_{junc}$), cùng sự biến đổi điện áp ngưỡng ($V_t$).
-
Kỹ thuật đường ống (Pipelining):
- Khái niệm: Kỹ thuật cho phép các lệnh thực hiện theo kiểu gối đầu để khai thác khoảng thời gian rỗi (stalls) giữa các công đoạn (stages), qua đó nâng cao thông lượng của bộ vi xử lý mà không làm giảm độ trễ của từng tác vụ đơn lẻ.
- Công thức tính thời gian: Với $T$ là thời gian thực hiện 1 lệnh đơn lẻ, $m$ là số công đoạn trong 1 lệnh và $n$ là số lệnh cần xử lý, tổng thời gian hoàn thành tác vụ được xác định theo phương trình:
$$T_{\text{pipeline}} = T + \frac{(n-1)T}{m}$$
Trong điều kiện lý tưởng không xảy ra xung đột, tốc độ vi xử lý có thể tăng lên đến 400%.
- Xung đột đường ống (Hazards) và giải pháp khắc phục: Phân loại thành 3 dạng xung đột gồm xung đột cấu trúc (Structural Hazard), xung đột dữ liệu (Data Hazard: RAW, WAR, WAW) và xung đột điều khiển (Control/Branch Hazard). Các giải pháp kỹ thuật được tác giả tổng hợp gồm: chèn chu kỳ trễ (stall cycles), tổ chức lại thứ tự lệnh (Instruction Reorganization), sử dụng đường dữ liệu nội đặc biệt qua bộ nhớ đệm
ALUout, giải thuật Tomasulo (năm 1967 của Robert Tomasulo tại IBM dùng địa chỉ Tag và bit trạng thái) và phương pháp định biểu bằng bảng đặt chỗ (reservation table).
-
Cấu trúc bộ cộng số học (Adders):
- Bộ cộng bán phần (Half Adder - HA): Cộng 2 bit $A, B$ tạo ra tổng $S = A \oplus B$ và số nhớ $C_o = A \cdot B$.
- Bộ cộng toàn phần (Full Adder - FA): Cộng 3 bit $A, B, C_{in}$ với hàm logic $S = A \oplus B \oplus C_{in}$ và $C_o = AB + BC_{in} + AC_{in}$.
- Bộ cộng nhìn trước số nhớ (Carry Look-Ahead Adder - CLA): Giảm thiểu thời gian lan truyền bit nhớ bằng cách tính toán trước tín hiệu lan truyền $P_i = A_i \oplus B_i$ và tín hiệu phát sinh $G_i = A_i B_i$. Tổng và số nhớ tại tầng thứ $i$ được tính theo công thức $S_i = P_i \oplus C_i$ và $C_{i+1} = G_i + P_i C_i$. Biểu thức số nhớ tổng quát được triển khai qua mạch logic 2 mức AND-OR:
$$C_n = G_{n-1} + P_{n-1}G_{n-2} + P_{n-1}P_{n-2}G_{n-3} + \dots + P_{n-1}P_{n-2}\dots P_1 G_0 + P_{n-1}P_{n-2}\dots P_1 P_0 C_0$$
Trong bộ cộng 4-bit CLA, cấu trúc bao gồm 3 mức logic với tổng độ trễ bằng độ trễ của 4 cổng logic.
Phương pháp nghiên cứu:
Tác giả áp dụng phương pháp nghiên cứu lý thuyết kết hợp thực nghiệm mô phỏng trên máy tính. Quy trình thực hiện dựa trên việc sử dụng bộ công cụ tự động hóa thiết kế vi mạch chuyên dụng, thiết lập sơ đồ nguyên lý mức transistor, gán tập tin mô hình công nghệ và tiến hành đo đạc các thông số điện học qua phần mềm mô phỏng.
Thiết kế và triển khai
Quá trình thiết kế và mô phỏng hệ thống mạch số được triển khai trên hệ thống công cụ EDA chuyên nghiệp theo các giai đoạn kỹ thuật cụ thể:
-
Môi trường phần mềm và cấu hình hệ thống:
- Hệ điều hành: RedHat Linux cài đặt trên môi trường máy ảo VMware.
- Nền tảng EDA: Cadence Virtuoso Analog Design Environment phiên bản 5.1, phối hợp cùng trình soạn thảo sơ đồ nguyên lý Virtuoso Schematic Composer.
- Thư viện linh kiện: Sử dụng thư viện
ISL_LIB để lấy các phần tử bán dẫn pfet và nfet; thư viện analogLib để cung cấp nguồn xung (vpulse), nguồn điện áp một chiều (vdc) và điểm nối đất (gnd).
- Thư viện mô hình: Tích hợp tập tin mô hình công nghệ 45nm mang tên
45nm.scs.
-
Quy trình mô phỏng mạch đảo (Inverter) chuẩn:
- Khởi tạo thư viện mới trong cửa sổ Library Manager (bỏ qua tệp công nghệ - Don't need a techfile), tạo Cellview mới kiểu Composer-Schematic.
- Thiết lập cấu hình linh kiện: Đặt các thông số kích thước hình học cho transistor PMOS và NMOS, cấu hình nguồn xung ngõ vào và nguồn cấp
vdc.
- Tiến hành kiểm tra lỗi kết nối bằng chức năng
Check and Save.
- Cấu hình phiên mô phỏng trong Analog Design Environment: Chọn công cụ hiển thị dạng sóng AWD, nạp thư viện mô hình
45nm.scs, thiết lập kiểu phân tích đáp ứng quá độ (Transient Analysis) với thời gian dừng Stop time = 10ns, mức độ chính xác moderate.
- Chạy mô phỏng qua lệnh
Netlist and Run, trích xuất dạng sóng điện áp ngõ vào/ngõ ra thông qua công cụ Direct Plot - Transient Signal, phân tách trục sóng bằng Switch Axis Mode và tính toán dòng điện trung bình ($I_{avg}$) bằng công cụ Calculator với hàm toán học Average.
-
Kiến trúc và triển khai mạch cộng 16-bit đường ống:
- Để thực hiện phép cộng 16 bit sử dụng kỹ thuật đường ống, cấu trúc mạch được phân chia thành 4 khối xử lý nhỏ gối đầu nhau, mỗi khối đảm nhận tính toán 4 bit dữ liệu.
- Giữa các khối xử lý 4-bit, tác giả bố trí các phần tử chốt trung gian $T$ được cấu tạo từ các Flip-Flop D (D-FF). Các phần tử chốt này lưu giữ dữ liệu ngõ vào, trạng thái số nhớ và kết quả tổng trung gian qua từng chu kỳ xung nhịp đồng bộ, cho phép tầng trước tiếp tục nhận toán hạng mới trong khi tầng sau đang xử lý kết quả của chu kỳ trước.
- Thiết lập kích thích mô phỏng: Các ngõ vào $A\langle0:3\rangle$ của khối 4 bit thứ nhất được cấp chu kỳ xung 2ns; ngõ vào $B\langle0:3\rangle$ được cấp chu kỳ xung 4ns; biên độ điện áp mức cao quy chuẩn là 1.2V trong toàn bộ khoảng thời gian mô phỏng 10ns.
Nội dung chính theo từng chương
Chương 1: Giới thiệu
Chương mở đầu trình bày tổng quan về ngành công nghiệp thiết kế vi mạch trên thế giới và xu hướng phát triển tại Việt Nam. Nội dung nhấn mạnh tầm quan trọng của việc tối ưu hóa tốc độ tính toán trong các hệ thống xử lý số liệu lớn. Tác giả xác định rõ ràng mục đích nghiên cứu, đối tượng nghiên cứu (Cadence, công nghệ 45nm, kỹ thuật pipeline), phạm vi áp dụng và kế hoạch thực hiện đồ án trong thời gian 18 tuần.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp toàn bộ nền tảng lý thuyết cho việc thiết kế phần cứng:
- Trình bày chi tiết cấu tạo, nguyên lý làm việc và phân loại của DE-MOSFET và E-MOSFET loại kênh N và kênh P.
- Phân tích ưu điểm và nhược điểm của công nghệ bán dẫn 45nm thông qua dòng chip Intel Penryn.
- Định nghĩa cổng đảo NOT (Inverter) cùng bảng chân trị.
- Phân tích sâu kỹ thuật đường ống (Pipeline): khái niệm gối đầu lệnh, sơ đồ khối mạch cộng 16 bit pipeline 4 khối, 5 công đoạn thực thi lệnh trong kiến trúc MIPS ($X$: thực hiện lệnh, $M$: truy cập bộ nhớ, $W$: ghi kết quả...), mô hình hóa thời gian thực thi, các dạng xung đột và 5 phương pháp giải quyết xung đột.
- Trình bày cấu trúc toán học và logic của bộ cộng bán phần (HA), bộ cộng toàn phần (FA) và bộ cộng nhìn trước số nhớ (CLA) với các công thức triển khai mức logic $P_i, G_i$, mạch 2 mức AND-OR và cấu trúc 3 mức logic của bộ cộng 4-bit CLA.
Chương 3: Tìm hiểu phần mềm Cadence
Chương 3 tập trung vào công cụ tự động hóa thiết kế:
- Tóm lược lịch sử hình thành Cadence Design Systems Inc. (thành lập tháng 6/1988 từ sự hợp nhất giữa SDA và ECAD; các đời lãnh đạo Joseph Costello, Michael Fister, Lip-Bu Tan; quy mô doanh thu 1,46 tỷ USD năm 2013; các thương vụ mua lại như Jasper Design Automation năm 2014 với 170 triệu USD).
- Tổng hợp các nền tảng sản phẩm của Cadence: Virtuoso Platform, Encounter Platform, Incisive Platform, Palladium series, Design IP (bộ nhớ DRAM, Verification IP với hơn 30 giao thức), Integration Optimized IP, Allegro Platform, OrCAD/PSpice và Sigrity technologies.
- Hướng dẫn chi tiết từng bước (step-by-step) cách sử dụng gói mô phỏng Cadence Virtuoso Analog Design Environment 5.1 để thiết kế, đóng gói linh kiện, thiết lập nguồn xung, gán model
45nm.scs, chạy mô phỏng transient và đo dòng điện trung bình của mạch Inverter.
Chương 4: Thiết kế mạch cộng 16 bit sử dụng kỹ thuật đường ống
Chương 4 là phần thực nghiệm thiết kế và kiểm tra dạng sóng:
- Trình bày sơ đồ khối chi tiết mạch cộng 16 bit pipeline chia thành 4 khối 4-bit cách ly bằng các tầng chốt Flip-Flop D.
- Trích xuất và giải thích kết quả mô phỏng dạng sóng miền thời gian cho từng tầng xử lý trong khoảng thời gian 10ns với mức điện áp logic 1.2V:
- Khối 4 bit thứ 1: Dạng sóng ngõ vào $A\langle0:3\rangle$ (chu kỳ 2ns), $B\langle0:3\rangle$ (chu kỳ 4ns), ngõ vào số nhớ $C$ và ngõ ra tổng $S\langle0:3\rangle$.
- Khối 4 bit thứ 2: Dạng sóng ngõ vào $A\langle0:3\rangle$, $B\langle0:3\rangle$, $C$ và ngõ ra tổng $S\langle4:7\rangle$.
- Khối 4 bit thứ 3: Dạng sóng ngõ vào $A\langle0:3\rangle$, $B\langle0:3\rangle$, $C$ và ngõ ra tổng $S\langle8:11\rangle$.
- Khối 4 bit thứ 4: Dạng sóng ngõ vào $A\langle0:3\rangle$, $B\langle0:3\rangle$, $C$ và ngõ ra tổng $S\langle12:15\rangle$.
- Đưa ra sơ đồ cấu trúc và so sánh với mạch cộng 16 bit CLA tương ứng.
Kết quả và đóng góp
Đồ án đã hoàn thành đầy đủ các mục tiêu thiết kế và mô phỏng mạch vi mảng số trên công cụ chuyên dụng với các kết quả cụ thể:
- Kết quả mô phỏng:
- Xây dựng thành công quy trình mô phỏng mạch logic cơ bản (Inverter) và trích xuất đặc tính dạng sóng, dòng điện quá độ với nguồn điện áp 1.2V và thư viện mô hình 45nm.
- Thiết kế hoàn chỉnh mạch cộng 16 bit sử dụng kỹ thuật đường ống gồm 4 tầng 4-bit ghép nối qua các Flip-Flop D. Dạng sóng mô phỏng xác nhận mạch thực thi đúng chức năng logic cho tất cả các nhánh ngõ vào từ bit 0 đến bit 15 trong khoảng thời gian mô phỏng 10ns, với chu kỳ xung kích thích 2ns và 4ns.
- Mô phỏng đối sánh với mạch cộng 16 bit CLA truyền thống.
| Tiêu chí so sánh |
Mạch cộng 16 bit CLA |
Mạch cộng 16 bit Pipeline |
| Cấu trúc phân tầng |
Mạch tổ hợp phân cấp tính toán trực tiếp bit nhớ qua mạng logic $P, G$ |
Chia nhỏ thành 4 khối 4-bit độc lập nối tiếp |
| Phần tử lưu trữ trung gian |
Không sử dụng chốt |
Sử dụng các Flip-Flop D (chốt $T$) giữa các tầng |
| Đặc tính thời gian |
Độ trễ phụ thuộc vào chuỗi logic tạo số nhớ tầng cao |
Thời gian hoàn thành phụ thuộc tầng chậm nhất; $T_{\text{pipeline}} = T + (n-1)T/m$ |
| Khả năng tiếp nhận dữ liệu |
Phải đợi hoàn tất phép cộng 16 bit trước khi nhận bộ toán hạng mới |
Tiếp nhận toán hạng mới tại mỗi chu kỳ đồng bộ khi đường ống đầy |
| Hiện tượng xung đột |
Không xuất hiện xung đột đường ống |
Có khả năng xảy ra xung đột cấu trúc, dữ liệu hoặc điều khiển |
- Đóng góp của đề tài:
- Đóng góp về mặt tài liệu kỹ thuật: Hệ thống hóa tài liệu hướng dẫn thực hành sử dụng bộ phần mềm Cadence Virtuoso Analog Design Environment trên môi trường Linux cho sinh viên ngành kỹ thuật máy tính.
- Đóng góp về mặt giải pháp vi mạch: Chứng minh tính khả thi của việc chia nhỏ cấu trúc mạch cộng số học độ dài lớn (16 bit) thành các khối nhỏ có chốt gối đầu, hỗ trợ tăng thông lượng tính toán cho các khối xử lý số học trong vi xử lý.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Nghiên cứu mới dừng lại ở mức mô phỏng nguyên lý và phân tích dạng sóng chức năng (transient waveform) trong môi trường Cadence Virtuoso Schematic/Analog Design Environment, chưa tiến hành thiết kế mặt nạ layout vật lý (Physical Layout), chưa thực hiện các bước kiểm tra quy tắc thiết kế (DRC), đối chiếu sơ đồ nguyên lý với layout (LVS), cũng như chưa trích xuất ký sinh để đánh giá chính xác diện tích chip thực tế và công suất tiêu tán chi tiết.
- Hướng nghiên cứu tiếp: Mở rộng áp dụng kỹ thuật đường ống cho các bộ cộng có độ dài từ lớn hơn (32 bit, 64 bit); triển khai thiết kế layout hoàn chỉnh trên công nghệ bán dẫn siêu sâu; nghiên cứu tích hợp các giải pháp giải quyết xung đột tự động và tối ưu hóa mức tiêu thụ năng lượng của các phần tử chốt Flip-Flop.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho:
- Sinh viên các ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Vi mạch đang học tập các môn học về Thiết kế vi mạch số (Digital IC Design), Kiến trúc máy tính và Thiết kế hệ thống VLSI.
- Các nhóm nghiên cứu hoặc người làm đề tài tốt nghiệp cần tài liệu hướng dẫn chi tiết từng bước thao tác với công cụ Cadence Virtuoso ADE 5.1 trên hệ điều hành Linux (từ khởi tạo thư viện, gán tập tin mô hình công nghệ
.scs, cấu hình xung kích thích, đến trích xuất đồ thị sóng và tính toán giá trị dòng điện bằng Calculator).
- Phần phân tích lý thuyết về mạch cộng CLA (các mức logic, biểu thức số nhớ) và phương pháp phân đoạn đường ống là tài liệu tham khảo trực tiếp cho các thiết kế khối số học trong vi xử lý.
Câu hỏi thường gặp
1. Đồ án sử dụng tiến trình công nghệ nào và tiến trình này có ưu - nhược điểm gì theo phân tích của tác giả?
Khóa luận sử dụng tiến trình công nghệ 45nm (tiêu biểu là dòng chip Penryn của Intel). Ưu điểm gồm: hiệu năng cao, giảm điện thế hoạt động, tỏa nhiệt ít hơn, tăng tốc độ đảo mạch khoảng 20% và giảm 30% điện năng tiêu thụ so với công nghệ 65nm. Nhược điểm là biến đổi điện áp ngưỡng ($V_t$) và dòng rò qua cổng ($i_{Gate}$) cũng như mối nối ($I_{junc}$).
2. Công thức tổng quát tính thời gian thực hiện lệnh trong kỹ thuật đường ống được xây dựng như thế nào?
Thời gian thực hiện được tính theo công thức: $T_{\text{pipeline}} = T + \frac{(n-1)T}{m}$, trong đó $T$ là thời gian thực hiện 1 lệnh, $m$ là số công đoạn trong 1 lệnh, và $n$ là tổng số lệnh cần thực thi. Nếu không xảy ra xung đột, tốc độ xử lý có thể tăng lên đến 400%.
3. Mạch cộng 16 bit đường ống trong đồ án được phân chia cấu trúc như thế nào?
Mạch cộng 16 bit được chia nhỏ thành 4 khối xử lý, mỗi khối đảm nhiệm cộng 4 bit dữ liệu. Giữa các khối có bố trí các phần tử chốt $T$ cấu tạo từ Flip-Flop D để lưu giữ và chuyển tiếp trạng thái dữ liệu qua từng chu kỳ xung nhịp.
4. Quy trình mô phỏng mạch đảo (Inverter) trên Cadence sử dụng các thư viện và tệp mô hình nào?
Tác giả sử dụng thư viện ISL_LIB để lấy linh kiện pfet và nfet, thư viện analogLib để lấy nguồn xung, nguồn điện áp vdc và gnd, cùng tệp mô hình công nghệ 45nm.scs được nạp trong phần cài đặt Setup Model Libraries của giao diện Analog Design Environment.
5. Mạch cộng nhìn trước số nhớ (CLA) khắc phục nhược điểm lan truyền số nhớ bằng cách nào?
Mạch cộng CLA tính toán trước các bit mang nhớ thông qua hai tín hiệu phụ thuộc ngõ vào là tín hiệu lan truyền $P_i = A_i \oplus B_i$ và tín hiệu phát sinh $G_i = A_i B_i$. Việc tính toán bit nhớ được triển khai qua mạng logic 2 mức AND-OR, giúp toàn bộ bộ cộng 4-bit chỉ có độ trễ tương đương 4 cổng logic.
Kết luận
Đồ án tốt nghiệp của sinh viên Huỳnh Thị Kim Chi đã hoàn thành việc nghiên cứu, thiết kế và mô phỏng mạch cộng 16 bit sử dụng kỹ thuật đường ống trên nền tảng công nghệ CMOS 45nm. Bằng việc khai thác bộ công cụ Cadence Virtuoso Analog Design Environment 5.1 trên hệ điều hành Linux, đề tài đã kiểm chứng thành công tính đúng đắn về mặt chức năng logic của cấu trúc 4 tầng 4-bit có chốt Flip-Flop D trong khoảng thời gian mô phỏng 10ns với mức điện áp 1.2V. Kết quả nghiên cứu cung cấp cơ sở lý thuyết và quy trình thực nghiệm rõ ràng, minh chứng cho ưu thế tăng tốc độ xử lý của kỹ thuật đường ống trong thiết kế các khối số học cho vi mạch tích hợp.