Thiết Kế và So Sánh Kỹ Thuật Data-Driven & Look-Ahead Clock Gating

Đồ án tốt nghiệp: Thiết kế & so sánh kỹ thuật Data Driven và Look Ahead Clock Gating trong mạch đồng hồ số. Tìm hiểu ứng dụng, ưu nhược điểm.

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2022

70
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Clock Gating là gì Tổng quan kỹ thuật tiết kiệm năng lượng

Trong lĩnh vực thiết kế vi mạch (IC Design) hiện đại, việc tối ưu hóa công suất tiêu thụ là một trong những ưu tiên hàng đầu. Khi kích thước transistor ngày càng thu nhỏ theo định luật Moore, mật độ linh kiện trên một chip tăng lên đáng kể, dẫn đến vấn đề tiêu tán năng lượng và nhiệt độ trở nên nghiêm trọng. Clock Gating là một trong những kỹ thuật hiệu quả và phổ biến nhất được sử dụng để giải quyết bài toán này. Về cơ bản, Clock Gating là một phương pháp quản lý năng lượng nhằm giảm công suất động (dynamic power) bằng cách vô hiệu hóa tín hiệu xung nhịp (clock) cung cấp cho các khối mạch hoặc các thanh ghi (registers) khi chúng không hoạt động. Trong một hệ thống số, mạng lưới phân phối xung nhịp (clock tree) là một trong những thành phần tiêu thụ nhiều năng lượng nhất, bởi nó liên tục chuyển đổi trạng thái ở tần số cao và điều khiển hoạt động của hàng ngàn, thậm chí hàng triệu flip-flop. Khi một khối logic không cần cập nhật giá trị mới trong một chu kỳ nhất định, việc tiếp tục cung cấp xung nhịp cho nó là không cần thiết và gây lãng phí năng lượng. Kỹ thuật Clock Gating hoạt động dựa trên một nguyên lý đơn giản: sử dụng một tín hiệu cho phép (enable signal) để điều khiển việc truyền xung nhịp. Khi khối mạch cần hoạt động, tín hiệu cho phép sẽ ở mức tích cực, cho phép xung nhịp đi qua. Ngược lại, khi khối mạch ở trạng thái chờ, tín hiệu cho phép sẽ bị vô hiệu hóa, ngắt xung nhịp đến các flip-flop, nhờ đó ngăn chặn các hoạt động chuyển mạch không cần thiết và giảm đáng kể công suất động. Việc áp dụng thành công kỹ thuật này không chỉ giúp tiết kiệm năng lượng mà còn giảm nhiệt độ hoạt động của chip, tăng độ tin cậy và kéo dài tuổi thọ của thiết bị, đặc biệt là các thiết bị di động và pin.

1.1. Nguyên lý cơ bản của kỹ thuật Clock Gating trong vi mạch

Nguyên lý cốt lõi của Clock Gating là chèn một logic điều khiển vào đường đi của tín hiệu xung nhịp. Logic này, thường được gọi là Integrated Clock Gating (ICG) cell, bao gồm một latch và một cổng logic (thường là AND hoặc OR). Tín hiệu cho phép (enable) được đưa vào latch. Latch này chỉ cho phép tín hiệu enable thay đổi trạng thái khi xung nhịp hệ thống ở mức không hoạt động (ví dụ, mức thấp đối với mạch tích cực cạnh lên). Điều này đảm bảo rằng tín hiệu điều khiển gating luôn ổn định trong suốt thời gian xung nhịp ở mức cao, qua đó ngăn chặn hiện tượng nhiễu (glitch) có thể gây ra hoạt động sai lệch cho mạch. Khi tín hiệu enable được xác nhận là hợp lệ, nó sẽ được đưa tới cổng AND cùng với tín hiệu xung nhịp gốc. Kết quả là, xung nhịp chỉ được truyền tới các flip-flop đích khi tín hiệu enable ở mức tích cực. Nếu không, ngõ ra của cổng AND sẽ giữ nguyên một mức logic, ngăn chặn mọi hoạt động chuyển mạch.

1.2. Vai trò của Clock Gating trong thiết kế công suất thấp

Clock Gating đóng vai trò trung tâm trong chiến lược thiết kế công suất thấp (low-power design). Công suất động, thành phần chiếm phần lớn năng lượng tiêu thụ trong các vi mạch CMOS, tỷ lệ thuận với tần số chuyển mạch. Bằng cách loại bỏ các chuyển mạch không cần thiết trên cây xung nhịp và trong các thanh ghi, Clock Gating trực tiếp làm giảm yếu tố này. Theo các nghiên cứu thực tiễn, việc áp dụng kỹ thuật này có thể giúp giảm từ 30% đến hơn 50% tổng công suất động của một thiết kế phức tạp. Điều này đặc biệt quan trọng đối với các thiết bị chạy bằng pin như điện thoại thông minh, thiết bị đeo, nơi mà thời lượng pin là yếu tố cạnh tranh sống còn. Hơn nữa, việc giảm tiêu thụ điện năng cũng đồng nghĩa với việc giảm sinh nhiệt, cho phép các nhà thiết kế tạo ra những sản phẩm nhỏ gọn hơn mà không cần đến các giải pháp tản nhiệt phức tạp và tốn kém.

II. Thách thức lớn nhất Bài toán công suất động trong IC

Công suất tiêu thụ trong một mạch tích hợp (IC) công nghệ CMOS được cấu thành từ hai thành phần chính: công suất tĩnh (static power) và công suất động (dynamic power). Công suất tĩnh là năng lượng tiêu hao do dòng rò (leakage current) khi transistor ở trạng thái nghỉ. Trong khi đó, công suất động là năng lượng tiêu thụ khi các cổng logic và transistor thực hiện chuyển mạch. Theo phương trình kinh điển, công suất tiêu thụ tổng được tính bằng: P_total = P_static + P_dynamic. Trong đó, công suất động lại bao gồm công suất chuyển mạch (switching power) và công suất ngắn mạch (short-circuit power). Trong các công nghệ chế tạo hiện đại, công suất chuyển mạch chiếm tỷ trọng lớn nhất, phát sinh mỗi khi các tụ điện ký sinh tại ngõ ra của các cổng logic được nạp và xả. Mạng lưới phân phối xung nhịp (clock tree) chính là nguồn gây ra sự chuyển mạch liên tục và đồng bộ trên toàn bộ chip, do đó nó là nguồn tiêu thụ công suất động lớn nhất. Thách thức cốt lõi là làm thế nào để giảm thiểu hoạt động chuyển mạch không cần thiết này mà không ảnh hưởng đến chức năng và hiệu năng của mạch. Các phương pháp Clock Gating truyền thống, mặc dù hữu ích, vẫn tồn tại những hạn chế nhất định cần được khắc phục để đạt hiệu quả tối ưu, đặc biệt là trong các thiết kế tốc độ cao. Đây chính là động lực thúc đẩy sự ra đời của các kỹ thuật tiên tiến hơn như Data-Driven Clock GatingLook-Ahead Clock Gating.

2.1. Phân tích các thành phần gây tiêu hao công suất trong CMOS

Công suất tiêu thụ trong mạch CMOS được mô tả bởi công thức P = α * C * Vdd² * f + I_sc * Vdd + I_leak * Vdd. Thành phần đầu tiên, α * C * Vdd² * f, đại diện cho công suất chuyển mạch, là thành phần chủ đạo của công suất động. Trong đó, α là hệ số hoạt động (activity factor), C là điện dung tải, Vdd là điện áp nguồn, và f là tần số xung nhịp. Clock Gating tác động trực tiếp vào hệ số α bằng cách giảm số lần chuyển mạch không cần thiết của xung nhịp. Thành phần thứ hai, I_sc * Vdd, là công suất ngắn mạch, xảy ra trong một khoảng thời gian rất ngắn khi cả hai transistor PMOS và NMOS trong một cổng logic cùng dẫn. Thành phần cuối cùng, I_leak * Vdd, là công suất tĩnh do dòng rò, trở nên ngày càng quan trọng ở các công nghệ tiến trình nhỏ (nanomet). Việc giảm công suất động thông qua Clock Gating là phương pháp hiệu quả nhất ở mức thiết kế RTL.

2.2. Hạn chế của các phương pháp Clock Gating truyền thống

Các kỹ thuật Clock Gating sơ khai, chẳng hạn như chỉ sử dụng một cổng AND đơn giản để điều khiển xung nhịp, thường gặp phải một vấn đề nghiêm trọng gọi là glitching. Nếu tín hiệu cho phép (enable) thay đổi trạng thái trong khi xung nhịp đang ở mức cao, nó có thể tạo ra các xung giả, ngắn hơn chu kỳ xung nhịp chuẩn. Những xung giả này có thể khiến các flip-flop lấy mẫu dữ liệu sai thời điểm, dẫn đến lỗi chức năng toàn hệ thống. Để giải quyết vấn đề này, các cell ICG tiêu chuẩn sử dụng latch để đảm bảo tín hiệu enable chỉ được cập nhật khi xung nhịp ở mức thấp. Tuy nhiên, việc này lại tạo ra các ràng buộc về thời gian (timing constraints) cho tín hiệu enable, đòi hỏi nó phải ổn định trước khi cạnh tích cực của xung nhịp xuất hiện. Trong các thiết kế phức tạp, việc đáp ứng các ràng buộc này có thể trở nên khó khăn và ảnh hưởng đến hiệu năng tổng thể của mạch.

III. Phương pháp Data Driven Clock Gating DDCG tối ưu

Kỹ thuật Data-Driven Clock Gating (DDCG) là một cải tiến quan trọng so với các phương pháp gating truyền thống, mang lại khả năng tiết kiệm năng lượng ở mức độ chi tiết hơn. Nguyên tắc cốt lõi của DDCG là chỉ cho phép xung nhịp tác động lên một flip-flop (hoặc một nhóm flip-flop) khi dữ liệu đầu vào của nó thực sự thay đổi, dẫn đến một sự thay đổi ở đầu ra. Nói cách khác, nếu giá trị của flip-flop không cần được cập nhật trong chu kỳ tiếp theo, xung nhịp sẽ bị chặn. Điều này được thực hiện bằng cách so sánh trạng thái hiện tại (giá trị lưu trữ trong flip-flop) với trạng thái kế tiếp (dữ liệu tại đầu vào D). Một cổng XOR thường được sử dụng cho mục đích so sánh này. Nếu hai giá trị này khác nhau, ngõ ra của cổng XOR sẽ ở mức '1', tạo ra tín hiệu cho phép để xung nhịp đi qua. Ngược lại, nếu hai giá trị giống nhau, ngõ ra XOR sẽ là '0', và xung nhịp bị vô hiệu hóa. Cách tiếp cận này rất hiệu quả vì nó trực tiếp dựa vào hoạt động dữ liệu thực tế của mạch. Để tối ưu hóa tài nguyên phần cứng, người ta thường nhóm các flip-flop có liên quan với nhau và sử dụng chung một mạch DDCG. Các tín hiệu cho phép từ mỗi cổng XOR sẽ được tổng hợp lại bằng một cổng OR trước khi đưa vào cell ICG. Theo thiết kế được trình bày trong tài liệu nghiên cứu, mạch DDCG sử dụng một latch mức thấp để lưu trữ tín hiệu cho phép, kết hợp với một cổng AND để gating xung nhịp, giúp loại bỏ hoàn toàn hiện tượng glitching [9].

3.1. Cấu trúc và nguyên lý hoạt động của mạch DDCG

Một mạch DDCG điển hình bao gồm ba thành phần chính: logic so sánh, logic tổng hợp, và cell ICG. Logic so sánh sử dụng các cổng XOR để phát hiện sự thay đổi dữ liệu tại đầu vào của mỗi flip-flop (so sánh Q và D). Logic tổng hợp, thường là một cây cổng OR, kết hợp các tín hiệu từ nhiều cổng XOR để tạo ra một tín hiệu cho phép duy nhất cho một nhóm thanh ghi. Cuối cùng, cell ICG, bao gồm một latch và một cổng AND, nhận tín hiệu cho phép này và thực hiện việc gating xung nhịp một cách an toàn. Khi một hoặc nhiều flip-flop trong nhóm cần cập nhật giá trị (D ≠ Q), tín hiệu cho phép sẽ được kích hoạt, cho phép xung nhịp hệ thống đi qua và cập nhật trạng thái cho toàn bộ nhóm. Kỹ thuật này giảm đáng kể công suất động vì nó ngăn chặn chuyển mạch không chỉ ở cây xung nhịp mà còn ở chính các flip-flop.

3.2. Ưu và nhược điểm của kỹ thuật Data Driven

Ưu điểm lớn nhất của DDCG là khả năng tiết kiệm năng lượng rất hiệu quả vì nó dựa trên hoạt động thực tế của dữ liệu. Nó tự động xác định các khoảng thời gian không hoạt động của thanh ghi mà không cần sự can thiệp từ nhà thiết kế ở mức hệ thống. Tuy nhiên, DDCG cũng có nhược điểm. Việc thêm các cổng XOR, OR và latch vào đường dữ liệu tạo ra một đường trễ (delay path) bổ sung. Độ trễ này phải được tính toán cẩn thận để không vi phạm các ràng buộc thời gian thiết lập (setup time) của flip-flop. Nếu logic tạo tín hiệu cho phép quá phức tạp, độ trễ này có thể trở thành một nút thắt cổ chai, giới hạn tần số hoạt động tối đa của mạch. Ngoài ra, việc bổ sung các cổng logic này cũng làm tăng diện tích chip và công suất tĩnh.

IV. Kỹ thuật Look Ahead Clock Gating LACG tiên tiến

Look-Ahead Clock Gating (LACG) là một kỹ thuật tiên tiến được phát triển để khắc phục những hạn chế về thời gian của DDCG. Thay vì tính toán tín hiệu cho phép trong cùng một chu kỳ xung nhịp, LACG thực hiện việc này trước một chu kỳ. Điều này cung cấp một khoảng thời gian đầy đủ (cả một chu kỳ xung nhịp) để logic tạo tín hiệu cho phép có thể ổn định, qua đó loại bỏ các ràng buộc thời gian chặt chẽ vốn là điểm yếu của DDCG [10]. Nguyên lý của LACG dựa trên việc dự đoán trạng thái hoạt động của một flip-flop trong chu kỳ N+1 dựa trên các trạng thái của các flip-flop nguồn ở chu kỳ N. Tín hiệu cho phép được tạo ra sớm và được lưu trữ sẵn sàng để sử dụng trong chu kỳ tiếp theo. Cấu trúc của LACG thường phức tạp hơn DDCG, kết hợp logic dự đoán với các cell Auto-Gated Flip-Flop (AGFF). AGFF là một dạng flip-flop tích hợp sẵn logic gating bên trong. Kỹ thuật này không chỉ gating xung nhịp cho latch phụ (slave latch) mà còn có thể gating luôn cả latch chính (master latch), giúp tiết kiệm năng lượng một cách triệt để hơn. Bằng cách nới lỏng các ràng buộc thời gian, LACG cho phép áp dụng Clock Gating một cách mạnh mẽ hơn trong các thiết kế hiệu năng cao, nơi mà mỗi nano giây đều quý giá. Nó đạt được ba mục tiêu quan trọng: dừng xung nhịp trong cả hai latch, có thể áp dụng cho các thiết kế lớn, và tránh các vi phạm thời gian nghiêm ngặt.

4.1. Thiết kế và cơ chế hoạt động của mạch LACG

Trong một mạch tuần tự, trạng thái kế tiếp của một flip-flop mục tiêu (target FF) phụ thuộc vào trạng thái hiện tại của một hoặc nhiều flip-flop nguồn (source FFs). Kỹ thuật LACG tận dụng mối quan hệ này. Nó xây dựng một khối logic tổ hợp (combinational logic) để tính toán tín hiệu cho phép của target FF ở chu kỳ N+1 dựa trên giá trị của các source FFs ở chu kỳ N. Tín hiệu cho phép này sau đó được lưu trữ trong một thanh ghi. Ở chu kỳ N+1, tín hiệu cho phép đã được tính toán sẵn sẽ được sử dụng để điều khiển xung nhịp của target FF. Như trong tài liệu nghiên cứu, tín hiệu cho phép của bộ đếm phút được tạo ra khi bộ đếm giây sắp đạt giá trị cuối cùng, thay vì chờ cho đến khi nó đã tràn. Cơ chế "nhìn trước" này đảm bảo tín hiệu điều khiển luôn sẵn sàng và ổn định đúng thời điểm cần thiết.

4.2. So sánh LACG và các kỹ thuật trước đó

So với DDCG, ưu điểm vượt trội của LACG là giải quyết được bài toán thời gian. DDCG đặt logic gating vào đường tới hạn (critical path), gây rủi ro về hiệu năng. Ngược lại, LACG tách logic tính toán tín hiệu cho phép ra khỏi đường tới hạn, cho nó cả một chu kỳ để hoàn thành. Điều này làm cho LACG trở nên lý tưởng cho các thiết kế có tần số hoạt động cao. So với kỹ thuật AGFF, vốn chỉ gating được slave latch, LACG có khả năng gating cả master và slave latch, giúp tối đa hóa việc tiết kiệm năng lượng. Tuy nhiên, nhược điểm của LACG là đòi hỏi một sự phân tích sâu hơn về cấu trúc logic của thiết kế để xác định các phụ thuộc dữ liệu và xây dựng logic "nhìn trước" một cách chính xác. Nó cũng có thể tiêu tốn nhiều tài nguyên phần cứng hơn so với DDCG.

V. So sánh hiệu quả DDCG và LACG trong mạch đồng hồ số

Để đánh giá hiệu quả thực tế, tài liệu nghiên cứu đã áp dụng cả hai kỹ thuật Data-Driven Clock Gating (DDCG)Look-Ahead Clock Gating (LACG) vào một mạch đồng hồ số và tiến hành so sánh trên nền tảng FPGA Xilinx Spartan-3E. Kết quả phân tích được thực hiện trên ba trường hợp: không sử dụng Clock Gating, sử dụng DDCG, và sử dụng LACG. Các chỉ số được đo lường bao gồm công suất động, tổng công suất tiêu thụ, nhiệt độ hoạt động, và tài nguyên phần cứng sử dụng (số lượng LUT, Flip-Flop). Kết quả cho thấy cả hai kỹ thuật đều mang lại sự cải thiện đáng kể so với thiết kế gốc. Cụ thể, trong khi thiết kế không có Clock Gatingcông suất động cao nhất do xung nhịp luôn hoạt động, cả DDCGLACG đều giảm mạnh con số này bằng cách chỉ kích hoạt các khối đếm giây, phút, giờ khi thực sự cần thiết. Sự so sánh chi tiết giữa hai kỹ thuật tiên tiến này cung cấp cái nhìn sâu sắc về sự đánh đổi giữa hiệu quả tiết kiệm năng lượng, độ phức tạp trong thiết kế và chi phí tài nguyên. Dữ liệu thực nghiệm này là bằng chứng xác thực cho thấy việc lựa chọn kỹ thuật Clock Gating phù hợp có thể tạo ra tác động to lớn đến hiệu quả năng lượng của một sản phẩm vi mạch.

5.1. Phân tích kết quả mô phỏng về công suất và nhiệt độ

Theo Bảng 4.1 và Biểu đồ 4.6 trong tài liệu, kết quả phân tích công suất cho thấy sự khác biệt rõ rệt. Thiết kế không có Clock Gating tiêu thụ 38mW công suất động. Khi áp dụng DDCG, con số này giảm xuống còn 20mW, tức giảm khoảng 47%. Đáng chú ý hơn, kỹ thuật LACG còn làm tốt hơn nữa, với công suất động chỉ là 18mW, tương đương mức giảm 52% so với ban đầu. Về tổng công suất tiêu thụ (Bảng 4.2), xu hướng tương tự cũng được ghi nhận, với LACG là phương pháp hiệu quả nhất (68mW), theo sau là DDCG (70mW) và cuối cùng là thiết kế gốc (88mW). Tương ứng với việc giảm công suất, nhiệt độ hoạt động của chip cũng giảm theo. Thiết kế LACG có nhiệt độ thấp nhất (27.6°C), cho thấy hiệu quả tản nhiệt tốt hơn do ít năng lượng bị chuyển hóa thành nhiệt.

5.2. Đánh giá tài nguyên tiêu thụ trên FPGA Xilinx

Bên cạnh hiệu quả năng lượng, việc đánh giá tài nguyên phần cứng cũng rất quan trọng. Bảng 4.4 cho thấy sự đánh đổi. Thiết kế gốc sử dụng ít tài nguyên nhất. Khi áp dụng DDCG, số lượng LUT (Look-Up Table) và Flip-Flop tăng lên do phải thêm vào các logic XOR, OR và latch. Kỹ thuật LACG đòi hỏi nhiều tài nguyên hơn nữa, do cấu trúc logic "nhìn trước" và các cell AGFF phức tạp hơn. Cụ thể, mạch LACG sử dụng nhiều LUT hơn khoảng 20% so với mạch DDCG. Điều này cho thấy LACG đạt được hiệu quả năng lượng cao hơn bằng cách đánh đổi lấy diện tích chip lớn hơn và thiết kế phức tạp hơn. Sự lựa chọn giữa DDCGLACG sẽ phụ thuộc vào ưu tiên của dự án: tối đa hóa tiết kiệm năng lượng hay tối thiểu hóa tài nguyên sử dụng.

VI. Tương lai của Clock Gating Hướng phát triển tối ưu

Kết quả từ nghiên cứu so sánh giữa Data-Driven Clock Gating (DDCG)Look-Ahead Clock Gating (LACG) đã khẳng định vai trò không thể thiếu của các kỹ thuật Clock Gating tiên tiến trong thiết kế vi mạch hiện đại. Cả hai phương pháp đều chứng tỏ khả năng giảm thiểu công suất động một cách hiệu quả, nhưng theo những cách tiếp cận và sự đánh đổi khác nhau. DDCG nổi bật với sự đơn giản và tính tự động, trong khi LACG mang lại hiệu quả tiết kiệm năng lượng vượt trội hơn nhờ việc giải quyết triệt để các ràng buộc về thời gian. Hướng phát triển trong tương lai của Clock Gating sẽ tập trung vào việc tự động hóa và tích hợp sâu hơn vào các luồng thiết kế (design flows). Các công cụ EDA (Electronic Design Automation) sẽ ngày càng thông minh hơn trong việc tự động nhận diện các cơ hội gating, tự động lựa chọn giữa các kỹ thuật như DDCG hay LACG dựa trên các ràng buộc về hiệu năng, công suất và diện tích (PPA - Power, Performance, Area). Hơn nữa, các kỹ thuật này sẽ được kết hợp với các phương pháp tiết kiệm năng lượng khác như đa điện áp (multi-voltage), điều chỉnh tần số và điện áp động (DVFS), và power gating để tạo ra các giải pháp quản lý năng lượng toàn diện cho các hệ thống trên chip (SoC) phức tạp. Cuối cùng, việc nghiên cứu các cấu trúc cell ICG mới, tối ưu hơn về độ trễ và công suất rò, cũng là một hướng đi đầy hứa hẹn để nâng cao hơn nữa hiệu quả của kỹ thuật Clock Gating.

6.1. Tổng kết ưu nhược điểm của DDCG và LACG

Tổng kết lại, DDCG là một kỹ thuật mạnh mẽ, dễ triển khai, và mang lại hiệu quả giảm công suất đáng kể. Ưu điểm của nó là tính cục bộ và dựa trên dữ liệu, không đòi hỏi phân tích sâu về toàn bộ thiết kế. Nhược điểm chính là việc tạo ra các đường trễ mới có thể ảnh hưởng đến tần số hoạt động. Ngược lại, LACG là giải pháp tối ưu hơn về mặt tiết kiệm năng lượng và hiệu năng, đặc biệt cho các thiết kế tốc độ cao. Nó loại bỏ các ràng buộc thời gian chặt chẽ của DDCG. Tuy nhiên, nhược điểm của nó là độ phức tạp trong thiết kế cao hơn và tiêu tốn nhiều tài nguyên phần cứng hơn. Lựa chọn cuối cùng phụ thuộc vào sự cân bằng giữa các mục tiêu của dự án.

6.2. Xu hướng tích hợp trong thiết kế vi mạch hiện đại

Trong các hệ thống vi mạch phức tạp ngày nay, Clock Gating không còn là một kỹ thuật độc lập mà là một phần của một chiến lược quản lý năng lượng tổng thể. Xu hướng hiện nay là tích hợp Clock Gating ở nhiều cấp độ, từ mức thanh ghi (RTL) đến mức khối chức năng (IP block). Các công cụ tổng hợp logic (synthesis tools) ngày càng có khả năng tự động chèn các cell ICG một cách thông minh. Hơn nữa, việc kết hợp Clock Gating với các kỹ thuật power gating (tắt hoàn toàn nguồn của một khối không hoạt động) cho phép tiết kiệm cả công suất động và công suất tĩnh. Tương lai của thiết kế công suất thấp nằm ở sự kết hợp hài hòa và tự động hóa của nhiều kỹ thuật khác nhau, trong đó Clock Gating vẫn sẽ là một trụ cột quan trọng.

21/09/2025

Trích đoạn nội dung tài liệu

Chương 1 – Giới thiệu: Nhằm giới thiệu tổng quan về lĩnh vực vi mạch trên thế giới và tại Việt Nam, quy trình thiết kế vi mạch, tóm tắt sơ lược nội dung đề tài. • Chương 2 – Cơ sở lý thuyết: Nội dung chính nhằm giới thiệu tổng quan về khái niệm công suất thấp, quy trình thiết kế, phân tích và đánh giá các kỹ thuật clock gating từ đó đưa ra phương pháp tối ưu nhất để ứng dụng vào mạch tuần tự. • Chương 3 – Thiết kế hệ thống: Thực hiện thiết kế khối chức năng và ứng dụng kỹ thuật clock gating. Phân tích, mô phỏng tính hoạt động của thiết kế được 3 xây dựng.

Sau đó khảo sát so sánh về năng lượng, công suất của thiết kế, đưa ra các sơ đồ thiết kế. • Chương 4 – Kết quả thiết kế: Nhận xét kết quả đạt được sau khi hoàn thành đề tài, từ đó đưa ra các bảng thống kế, biểu đồ đã được khảo sát, từ đó đưa ra thiết kế tối ưu. • Chương 5 – Kết luận và hướng phát triển: Nêu ra ưu, nhược điểm của đề tài, từ đó đưa ra hướng phát triển sau này. 4 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Quy trình thiết kế vi mạch Quy trình thiết kế một hệ thống trãi qua nhiều giai đoạn và mức độ trừu tượng khác nhau.

Các mức độ trừu tượng có thể kể đến như: mức hành vi (behavioural level), mức truyền thanh ghi (Register Transfer Level – RTL), mức cổng (Gate- Level). Ở mức độ hành vi chỉ chứa các câu lệnh phát biểu mô tả cấu trúc, với những mô tả hành vi không tổng hợp được thì thường sử dụng ở mức mô phỏng. Còn ở mức truyền thanh ghi, hệ thống sẽ được mô tả dưới dạng xử lý truyền dữ liệu giữa các thanh ghi (Flip Flop, Latch, Register), mức mô tả này sử dụng tất cả các thành phần có thể tổng hợp được [3]. Mức cổng là mức mô tả hệ thống dưới dạng các cổng logic theo mô tả định thời (timing) nếu có, có thể sử dụng các cell đã được tạo sẵn.

Quy trình thiết kế vi mạch được mô tả chi tiết trong Hình 2.1 Quy trình thiết kế vi mạch 5 2.1 Phân tích thiết kế Ở công đoạn này sẽ bao gồm việc phân tích kiến trúc của thiết kế, tạo sơ đồ nguyên lý thiết kế của mạch cũng như phân tích chức năng của thiết kế. Từ những yêu cầu thiết kế và dựa trên khả năng của công nghệ hiện có, người thiết kế sẽ thực hiện xây dựng sơ đồ khối của toàn hệ thống. Một thiết kế có thể sử dụng ngôn ngữ mô tả phần cứng phổ biến như VHDL và Verilog HDL. Dựa vào bản mô tả đã xây dựng người thiết kế thực hiện sử dụng ngôn ngữ mô tả phần cứng để viết từng khối chi tiết trong thiết kế, việc mô tả này được gọi là mô tả mã nguồn hay RTL code.

Một thiết kế sẽ được kết hợp ở hai mức hành vi (behavioural) và cấu trúc (structure), sử dụng hệ thống các bus và wire để kết nối các các khối (module) riêng lẻ lại với nhau thành một thiết kế hoàn thiện. Việc thiết kế sẽ được ràng buộc bởi các quy định về cú pháp và luật thiết kế.2 Minh họa RTL code 6 2.2 Kiểm tra và sửa lỗi Sau khi mô tả thiết kế, người thiết kế cần mô phỏng tổng thể thiết kế về mặt chức năng để kiểm tra thiết kế có hoạt động đúng với các chức năng yêu cầu. Kiểm tra và sửa lỗi là công đoạn thực hiện mô phỏng trên các phần mềm chuyên dụng nhằm mục đích kiểm tra độ chính xác của thiết kế. Đây là một bước khá quan trọng, một thiết kế bắt buộc phải mô phỏng và kiểm tra về tính chính xác về chức năng của mạch trước khi sản xuất thành phần cứng.

Một sai sót có thể xuất hiện do sự mô tả thiết mơ hồ, không đúng quy trình của người thiết kế.3 Minh họa quá trình kiểm tra và sửa lỗi [5] Người thực hiện thiết kế cần phải tạo môi trường để kiểm tra hay được gọi là testbench để kiểm tra tính chính xác của thiết kế cũng như dùng để kiểm tra thiết kế sau tổng hợp [5]. Thông thường người thực hiện sẽ phải hiểu rõ được chức năng từ đó tạo ra testlist để chia ra các trường hợp khác nhau cho việc kiểm tra thiết kế, công việc này thường dùng testcase. Sẽ gồm 2 loại testcase là Combine test (CT simulation environment) dùng để kiểm tra tính đúng đắn của một khối (module) và cả hệ thống khi khối này được tích hợp vào hệ thống, Unit test (Unit test environment) dùng để kiểm tra tính đúng đắn của từng block riêng lẻ. Sau khi thực hiện các công việc trên là thực hiện phân tích dạng sóng và độ trễ.

Các công đoạn trên thường được thực hiện trên các phần mềm chuyên dụng của các công ty 7 Synopsys, Mentor Graphic, Cadance, Xilinx,.Sau khi kiểm tra xong những thứ trên nếu không đáp ứng được yêu cầu sẽ phải quay lại phần phân tích thiết kế.4 Hình ảnh mô phỏng dạng sóng trên ISE Design 2.3 Thiết kế vật lý Ở phần thiết kế vật lý (Physical design) ngõ vào là các gate-level netlist của quá trình tổng hợp chuyển từ mức RTL sang mức cổng. Trong quy trình thiết kế, sau khi một thiết kế được mô tả hoàn toàn và kết quả mô phỏng tiền tổng hợp của nó được kiểm tra bởi người thiết kế, nó phải được biên dịch để nó tiến gần hơn việc tạo thành phần cứng của thiết kế phải được nhận ra [5]. Với mức mô tả này, sẽ sử dụng các thành phần mô hình cổng logic, các Flip-Flop hoặc các cell có sẵn để ghép nối với nhau tạo thành chức năng mong muốn. Trong phần này sẽ được chia thành các phần khác nhau của thiết kế ra một định dạng trung gian (bước phân tích), kết nối tất cả các phần lại với nhau, tạo ra mức logic tương ứng (synthesis), sắp xếp và kết nối (place and route).

Dữ liệu được tạo ra ở quá trình này là một tập dữ liệu GDSII.5 Hình ảnh minh họa mạch thiết kế khi được tổng hợp 2.4 Chế tạo và sản xuất Cuối cùng, trong quy trình thiết kế tự động đó là tạo ra phần cứng thực sự cho thiết kế. Bước này có thể tạo ra một netlist dùng để sản xuất ASIC, một chương trình để nạp vào FPGA, hay một mạch in cho mạch IC. Từ tập dữ liệu GDSII được tạo ở bước thiết kế vật lý sẽ được đưa đến nhà máy để sản xuất .6 Các công đoạn chế tạo chip trong nhà máy [5] 2.2 Khái niệm công suất thấp Thiết kế công suất thấp là tập hợp các kỹ thuật và phương pháp nhằm giảm mức tiêu thụ công suất động và tĩnh tổng thể của một mạch tích hợp (IC). Mục tiêu của thiết kế công suất thấp là giảm các thành phần riêng lẻ của công suất càng nhiều càng tốt.

Công suất tiêu thụ của một chip chủ yếu liên quan đến hoạt động của CMOS. Về cơ bản, công suất tiêu thụ sẽ bao gồm các thành phần của công suất động và công suất tĩnh. Công suất động bao gồm công suất đóng cắt (Psw) và công suất ngắn mạch (Psc), trong khi công suất tỉnh gồm công suất rò rĩ (Pleakage) hoặc dòng điện chạy qua bóng bán dẫn khi không hoạt động. Phương trình tính công suất tiêu thụ được trình bày ở công thức [6] dưới đây : = + = + + = + + 10 - Công suất động (Pdyn): là năng lượng cần có cho việc nạp hoặc xả tụ điện ở tải ngõ ra.

- Công suất chuyển mạch (Psw): là năng lượng tiêu thụ khi mạch logic (cổng logic) chuyển mạch. - Công suất ngắn mạch (Psc): là năng lượng tiêu hao do dòng ngắn mạch từ nguồn (source) đến đất (ground) xuất hiện khi các CMOS chuyển trạng thái. - Công suất tĩnh (Pstatic): là năng lượng tiêu hao tổn do dòng rò hay còn được gọi là công suất rò (Pleakage), sinh ra khi logic trong trạng thái ổn định, không có sự chuyển mạch. Khi điện áp càng cao, công suất tiêu thụ của mỗi thành phần càng cao, dẫn đến công suất tổng thể cao hơn.

Ngược lại, điện áp càng thấp thì công suất tổng thể càng giảm. Để đạt được hiệu suất tốt nhất với mức tiêu thụ điện năng thấp nhất, sự cân bằng cho từng yếu tố khác nhau này được thử và kiểm tra thông qua các phương pháp và kỹ thuật giảm công suất khác nhau [4]. Một trong những kỹ thuật giúp giảm công suất của mạch đó là kỹ thuật Clock gating bằng cách giảm công suất chuyển mạch tức làm giảm tần suất bật tắc của xung clock, một trong những yếu tố làm hao tổn công suất nhất. Đây là một kỹ thuật rất đơn giản để có thể giảm bớt năng lượng và công suất.2 GIỚI THIỆU CÁC KỸ THUẬT CLOCK GATING 2.1 Khái niệm Clock Gating Đây là một kỹ thuật phổ biến giúp giảm công suất động của mạch.

Nguyên lý của kỹ thuật này là giảm thiểu số lần tác động không cần thiết của clock lên flip- flop khi chúng không hoạt động hoặc không cập nhật giá trị mới. Trong thiết kế thông thường, một số lượng lớn các FF thường chỉ cập nhật giá trị mới trong một điều kiện nhất định. Vì vậy, khi FF không cập nhật giá trị mới, clock trên FF có thể được ngưng chuyển đổi trạng thái. Lúc này, FF vẫn được cấp nguồn và giữ 11 nguyên giá trị hiện tại.

Clock gating giúp giảm công suất động vì nó ngăn việc chuyển mức logic của clock tác động đến FF.7 Lưu đồ của kỹ thuật Clock Gating Sơ đồ của kỹ thuật clock gating mô tả rằng nếu một mạch hoặc module cần một xung clock thì tín hiệu Enable sẽ bằng 1 và tín hiệu clock sẽ được truyền đến mạch đó. Ngược lại, nếu mạch hoặc module không cần đến xung clock thì tín hiệu Enable bằng 0 và clock sẽ giữ nguyên mức. Một số kỹ thuật clock gating sử dụng cho việc giảm công suất động của mạch: • Clock gating sử dụng cổng logic. • Clock gating sử dụng chốt.

• Clock gating sử dụng Flip-Flop. • Clock gating sử dụng Synthesis. • Clock gating sử dụng Data Driven. • Clock gating sử dụng Auto Gated.

• Clock gating sử dụng Look Ahead. 12 Trong mạch kỹ thuật số, công suất tiêu thụ có thể được tính bằng các yếu tố như: Công suất tiêu thụ bởi logic tổ hợp có giá trị thay đổi trên mỗi cạnh xung clock và Điện năng tiêu thụ của Flip Flop. Trong hai trường hợp trên, yếu tố thứ 2 ảnh hưởng lớn vào phần điện năng sử dụng. Một flip flop tiêu thụ năng lượng bất cứ khi nào tín hiệu xung clock thay đổi, do quá trình sạc và phóng điện của tụ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ