Nghiên cứu Khoa học
Kỹ thuật thiết kế vi mạch công suất thấp được áp dụng ở khâu nào?
Để giảm công suất trong một vi mạch, các kỹ thuật tối ưu công xuất cần được áp dụng đồng bộ từ khâu front-end, đến khâu back-end và công nghệ sử dụng. Ở đây, tác giả phân các mức thiết kế như sau:
Hình 1: Các mức thiết kế
Một số kỹ thuật thiết kế công suất thấp cần có sự phối hợp thực hiện ở nhiều mức thiết kế nhưng một số kỹ thuật chỉ áp dụng ở một mức thiết kế nào đó. Bài viết này tập trung vào các kỹ thuật có thể áp dụng trong thiết kế kiến trúc hệ thống và thiết kế RTL thuộc khâu front-end.
Thiết kế kiến trúc hệ thống quyết định đến công suất tiêu thụ toàn chip. Công suất tiêu thụ có thể giảm tối đa bao nhiêu là tùy thuộc vào bước này. Nó sẽ ảnh hưởng đến khả năng áp dụng các kỹ thuật giảm công suất ở các mức thiết kế khác. Ví dụ, ở mức thiết kế kiến trúc, một miền nào đó được quyết định “phải luôn được cấp clock” trong suốt quá trình hoạt động thì kỹ thuật “clock gating” không được dùng để on/off clock cho toàn miền để giảm công suất tích cực.
Thiết kế RTL là thiết kế chi tiết các thành phần logic, lõi IP trong một chip. Dựa trên yêu cầu chung của thiết kế kiến trúc, bước này áp dụng các kỹ thuật phù hợp để giảm công suất ở phạm vi cục bộ ở từng thành phần logic. Ví dụ, lõi IP A thuộc miền luôn được cấp clock tuy nhiên các block trong lõi IP có thể được áp dụng kỹ thuật clock gating để on/off clock cho từng thành phần dựa trên yêu cầu hoạt động cụ thể. Bên cạnh đó, RTL code của các logic bên trong từng block sẽ được mô tả theo hướng cho phép bước “thiết kế vật lý” có thể chèn các cell clock gating để on/off clock.
Thiết kết vật lý được hiểu là các bước từ tổng hợp (synthesis) xuống đến layout. Cũng căn cứ trên yêu cầu chung của thiết kế kiến trúc và chức năng cụ thể của thiết kế RTL, bước này áp dụng các kỹ thuật phù hợp đế tối ưu công suất tiêu thụ. Ví dụ, bước synthesis sẽ quyết định việc chèn hay không chèn các cell clock-gating.
Hình 2: Minh họa sự ảnh hưởng của các mức thiết kế đến kỹ thuật clock gating
Trong hình minh họa trên, kỹ thuật clock gating không được dùng để tắt clock của miền C vì miền này yêu cầu luôn cấp clock trong suốt quá trình hoạt động. Tuy nhiên ở mức thiết kế RTL, các thành phần logic trong miền C có thể được áp dụng kỹ thuật clock gating để tắt clock các FF khi không cần cập nhật giá trị mới.