1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xây dựng chương trình thiết kế vi mạch số P&R tự động công suất thấp

6 36 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 0,92 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết trình bày các phương pháp kỹ thuật thiết kế vi mạch số công suất thấp như clock gating, multi-threshold, multi-voltage để tối ưu hóa công suất trên vi mạch số, cụ thể là CPU 16-bit để đạt công suất thấp dùng công nghệ CMOS 90nm. Các phương pháp được đánh giá và so sánh để giúp người thiết kế lựa chọn các kỹ thuật tối ưu nhất phù hợp với thiết kế vi mạch số công suất thấp.

Trang 1

Xây dựng chương trình thiết kế vi mạch số P&R tự

động công suất thấp

Trần Ngọc Châu, Thái Hồng Hải, Lê Châu Bảo Ngọc, Mã Khải Minh, Đậu Minh Đức, Lê Đức Hùng

Phòng thí nghiệm DESLAB, Khoa Điện tử - Viễn Thông, Trường Đại học Khoa học Tự nhiên – Đại học Quốc gia TP.HCM

Email: ldhung@hcmus.edu.vn

Abstract— Trong bài báo này, nhóm tác giả thực hiện các phương

pháp kỹ thuật thiết kế vi mạch số công suất thấp như clock

gating, multi-threshold, multi-voltage để tối ưu hóa công suất

trên vi mạch số, cụ thể là CPU 16-bit để đạt công suất thấp dùng

công nghệ CMOS 90nm Các phương pháp được đánh giá và so

sánh để giúp người thiết kế lựa chọn các kỹ thuật tối ưu nhất phù

hợp với thiết kế vi mạch số công suất thấp

Keywords- vi mạch số, công suất thấp, clock gating,

multi-threshold, multi-voltage

I GIỚITHIỆU Công nghệ vi mạch đang phát triển mạnh mẽ, kích thước

transistor ngày càng được thu nhỏ Cùng với số lượng ứng

dụng ngày một đa dạng hơn, nhu cầu thiết kế mạch tích hợp

ngày càng tăng cao, dẫn đến yêu cầu thời gian thiết kế cần

được rút ngắn do đó cần có một quy trình thiết kế Backend

hoàn thiện, hạn chế được tối đa lỗi có thể xảy ra trong quá

trình thiết kế Bên cạnh đó, năng lượng cũng là vấn đề được

quan tâm rất nhiều hiện nay, một thiết kế tốt cũng cần đảm bảo

được lượng năng lượng tiêu hao là thấp nhất, do đó thiết kế

công suất thấp là điều cần được đảm bảo trong quy trình thiết

kế Mục tiêu của chúng tôi trong nghiên cứu là tìm hiểu quy

trình và các kĩ thuật thiết kế vi mạch số công suất thấp, tự thiết

kế các script chạy Place & Route (P&R) tự động, và áp dụng

vào thiết kế thực tế, sử dụng các công cụ thiết kế tự động của

hãng Synopsys như: Design Compiler và IC Compiler

Phần còn lại của bài báo được tổ chức như sau: trong phần

II, chúng tôi mô tả về các phương pháp thiết kế công suất thấp

Trong phần III, chúng tôi trình bày về quy trình thiết kế P&R

công suất thấp Phần IV cung cấp các kết quả thực hiện và phân

tích lý thuyết Cuối cùng, chúng tôi kết luận bài báo trong phần

V

THẤP Phần này mô tả một số phương pháp tiếp cận để thiết kế

đạt được công suất thấp [1-2]

II.1 Clock gating

Clock gating là một phương pháp giảm công suất động,

trong đó các tín hiệu clock được tắt khi không cần thiết bởi sự

lựa chọn các băng thanh ghi trong thời gian khi các giá trị

logic được lưu trữ không thay đổi

Các công cụ thiết kế hiện đại hỗ trợ tự động clock gating:

ta có thể xác định các mạch nơi clock gating có thể được chèn

mà không thay đổi chức năng của logic Hình 1 cho thấy cách hoạt động này

Clock gating đặc biệt hữu ích cho các thanh ghi cần duy trì các giá trị logic giống nhau qua nhiều chu kỳ clock Tắt các clock để loại bỏ hoạt động chuyển đổi không cần thiết ngược lại sẽ xảy ra tải lại (reload) của các thanh ghi trên mỗi chu kỳ clock Những thách thức chính của clock gating là tìm những nơi tốt nhất để sử dụng nó và tạo ra logic để tắt và mở clock vào thời điểm thích hợp

Hình 1 Ví dụ clock gating

Clock gating là một kỹ thuật tiết kiệm năng lượng đã được

sử dụng trong nhiều năm Các công cụ tổng hợp như Power Compiler có thể phát hiện đường dữ liệu thông lượng thấp ở clock gating có thể được sử dụng với lợi ích lớn nhất, và có thể tự động chèn các cells clock gating trong các đường clock tại các địa điểm thích hợp Clock gating là tương đối đơn giản

để thực hiện bởi vì nó chỉ yêu cầu một sự thay đổi trong netlist

II.2 Multi-threshold

Khi kích thước hình học CMOS bị thu hẹp 90nm trở xuống, sử dụng các thư viện có nhiều VT (multi-threshold) đã trở thành một cách phổ biến để giảm công suất rỉ

Nhiều thư viện ngày nay cung cấp hai hoặc ba phiên bản của các cells: thế ngưỡng thấp (Low VT), thế ngưỡng chuẩn (Normal VT), và thế ngưỡng cao (High VT) Các công cụ thực hiện có thể tận dụng các thư viện này để tối ưu hóa timing và công suất đồng thời Thư viện có thể cung cấp hai hoặc nhiều cells khác nhau để thực hiện mỗi chức năng logic ứng với sử dụng một ngưỡng điện áp khác nhau Một cell có điện thế

Trang 2

ngưỡng thấp sẽ có tốc độ cao hơn, nhưng dòng rò rỉ dưới

ngưỡng cao hơn Một cell có điện thế ngưỡng cao sẽ có dòng

rò rỉ thấp, nhưng tốc độ chậm hơn Công cụ tổng hợp có thể

chọn kiểu thích hợp của cell để sử dụng dựa trên sự cân bằng

giữa tốc độ và công suất Ví dụ, nó có thể sử dụng cell thế

ngưỡng thấp để có tốc độ cao trong các con đường quan trọng

timing (critical paths) và các cell thế ngưỡng cao ở mọi nơi

khác để có công suất rò rỉ thấp hơn

II.3 Multi-voltage

Các bộ phận khác nhau của một con chip có thể có các

yêu cầu tốc độ khác nhau Ví dụ, khối CPU và RAM có thể

cần phải được nhanh hơn so với một khối ngoại vi Như đã đề

cập ở trên, điện áp cung cấp giảm thì công suất tiêu thụ giảm

và làm giảm tốc độ Để có được tốc độ tối đa và công suất thấp

cùng một lúc, CPU và RAM có thể hoạt động với nguồn điện

áp cung cấp cao hơn trong khi khối ngoại vi hoạt động với một

điện áp thấp hơn, như thể hiện trong Hình 2

Hình 2 Thiết kế chip đa điện thế

Cung cấp hai hoặc nhiều điện áp cung cấp trên một con

chip sẽ tăng độ phức tạp cho thiết kế - không chỉ làm các con

chip phải thêm chân IO để cung cấp các power rail khác nhau,

mà cũng cần một lưới điện (power grid) phức tạp hơn phân

phối từng nguồn điện áp riêng cho các khối thích hợp và các

dịch mức điện áp (level shifters) trên tín hiệu truyền giữa các

khối

Trường hợp một tín hiệu logic rời khỏi một miền điện và

đi vào một miền điện khác, nếu điện áp hai miền điện là khác

biệt đáng kể, một cell level-shifter là cần thiết để tạo ra một tín

hiệu với biên độ điện thế (voltage swing) thích hợp Trong ví

dụ thể hiện trong Hình 3, một level shifer cell sẽ chuyển đổi

một tín hiệu với swing 1,8V đến một tín hiệu với swing 1,0V

Một level shifter đòi hỏi hai nguồn cung cấp điện phù hợp với

điện áp cung cấp đầu vào và đầu ra

Hình 3 Level shifter cell

Do đó, mỗi thành phần chính của hệ thống sẽ hoạt động ở điện áp thích hợp để thỏa tốc độ và công suất hệ thống Phương pháp này có thể tiết kiệm đáng kể công suất

II.4 Power Gating

Để giảm tổng công suất rò rỉ của chip, cần thêm các cơ chế để tắt các khối trong thời gian không hoạt động Kỹ thuật này được gọi là Power gating [3] Ví dụ, trong một chip điện thoại di động, khối đó thực hiện xử lý giọng nói có thể được tắt khi điện thoại ở chế độ chờ Khi mà người dùng thực hiện một cuộc gọi hoặc nhận cuộc gọi, khối xử lý giọng nói phải

"thức tỉnh" từ trạng thái tắt nguồn

Power gating có những thách thức bao gồm sự cần thiết của một bộ điều khiển điện (power controller), một mạng chuyển mạch điện (power-switch network), thanh ghi cô lập điện thế và lưu trữ logic (Isolation and retention registers)

Bộ điều khiển điện (power controller) là một khối logic xác định thời điểm tắt nguồn và bật nguồn một khối cụ thể Cần xác định một khoảng thời gian cho việc tắt nguồn và bật nguồn thích hợp lên một khối với độ chính xác cao Khi chuyển bật (On), sẽ tạo sự kết nối nguồn điện với đến các cổng logic trong khối Khi chuyển tắt (Off), nguồn điện bị ngắt kết nối khỏi cổng logic trong khối

Transistor điện thế ngưỡng cao từ công nghệ CMOS nhiều ngưỡng (MTCMOS) được sử dụng cho các thành phần chuyển mạch điện (power switch) vì chúng giảm dòng rò rỉ và tốc độ chuyển đổi của chúng không quan trọng PMOS header switches được đặt ở giữa VDD và chân Gated VDD cho khối logic NMOS footer switches được đặt ở giữa VSS và Gated VSS của khối logic, được thể hiện trong Hình 4

Hình 4 Transistor chuyển trạng thái điện

III XÂYDỰNGQUYTRÌNHTHIẾTKẾP&RCÔNG

Quy trình được xây dựng với các ngôn ngữ lập trình được dùng trong thiết kế vi mạch là:

Makefile: dùng để điều khiển, biên dịch và liên kết một chương trình

Tcl: Nó được thiết kế với mục tiêu rất đơn giản nhưng hiệu quả, Tcl được sử dụng trong các công cụ thiết kế vi mạch tự động

Perl: Cung cấp các cơ chế xử lý văn bản mạnh mẽ và phổ biến trong Unix/Linux

Trang 3

Quy trình P&R vi mạch số công suất thấp được đề xuất

phát triển gồm 2 phần: tổng hợp mạch (Synthesis) ứng với

Hình 5 và đi dây (Place & Route) ứng với Hình 6

Hình 5 Quy trình tổng hợp mạch công suất thấp

Hình 6 Quy trình P&R mạch công suất thấp

Trên thực tế, trong quá trình thiết kế việc quy trình xuất ra

các kết quả cũng như báo cáo xảy ra thường xuyên và liên tục

rất khó quản lý và theo dõi Để giải quyết vấn đề trên, ta cần

xây dựng hệ thống thư mục để giúp ta có thể dễ dàng quản lý

được nơi dữ liệu sẽ được chứa và nơi báo cáo được tạo ra,

nhằm tạo sự thuận tiện cho việc truy xuất dữ liệu về sau Như

trong Hình 7, ta thấy thư mục được tạo ra và phân cấp bao

gồm:

/risc: Đây là mục chứa các bước làm việc của quy trình

/design: Bên trong thư mục này chứa các dữ liệu đầu vào

của thiết kế

/synthesis: Bên trong thư mục này sẽ chứa các tập tin khi

thực hiện bước Synthesis của các module trong thiết kế

/icc: Bên trong thư mục này là nơi chúng ta thực hiện

P&R (Place & Route) các module

/pt: Bên trong thư mục này là nơi ta thực hiện phân tích

thời gian tĩnh và công suất của thiết kế

/template: Trong thư mục này chứa các tập tin mẫu làm

ví dụ

Hình 7 Tổng quan thư mục quy trình

Như trong Hình 8 và Hình 9 ta thấy thư mục được tạo ra

và phân cấp trong quá trình tổng hợp mạch và Place & Route

Hình 8 Tổng quan thư mục tổng hợp mạch

Hình 9 Tổng quan thư mục Place & Route

III.1 Quy trình Synthesis

- Ở đây các script sẽ được dùng để thực hiện tổng hợp mạch trong mục synthesis của Hình 8:

Risc/synthesis/Makefile: Tập tin này sẽ có các mục tiêu (target) để thực hiện như: xóa file, tổng hợp với sự tùy chọn có hoặc không có các phương pháp công suất thấp đồng thời xuất tập tin floorplan, cấu trúc lưới điện (.strap) và pin cho bước backend, sao lưu lại các script Risc/template/synthesis/TEMPLATE_tcl: tập tin mẫu này dùng để tổng hợp mạch không có các phương pháp công suất thấp

Trang 4

Risc/template/synthesis/TEMPLATE_upf_tcl: tập tin

mẫu này dùng để tổng hợp mạch với sự tùy chọn các

phương pháp công suất thấp với tập lệnh UPF hỗ trợ kỹ

thuật công suất thấp của Synopsys [4-6]

Risc/design/rtl/: Thư mục này chứa tập tin Verilog của

thiết kế

Risc/design/synthesis: Thư mục này chứa tập tin ràng

buộc thiết kế (.sdc), định nghĩa miền điện (.upf), định

nghĩa điện thế cung cấp cho thiết kế (.tcl), ràng buộc

chân IO cho thiết kế (.pin), đếm các cell trong thiết kế

(.tcl)

- Tổng hợp mạch với sự lựa chọn các phương pháp công

suất thấp, các mục tiêu (target) có ký hiệu % sẽ được thay

thế bằng tên thiết kế:

tcl_upf/%.tcl: mục tiêu này dùng tạo tập tin (.tcl) chứa

các lệnh cho quá trình tổng hợp mạch với sự lựa chọn

các phương pháp công suất thấp bằng cách cung cấp tập

tin mẫu (TEMPLATE_upf.tcl) kết hợp với sed để thay

thế các biến trong TEMPLATE_upf.tcl

%_upf_net.v: mục tiêu này phụ thuộc vào mục tiêu

tcl_upf/%.tcl và được dùng để tổng hợp mạch bằng

cách cung cấp tập tin verilog (.v) và tập tin ràng buộc

(.sdc)

%_syn_upf.fp: mục tiêu này phụ thuộc vào mục tiêu

%_net.v và được dùng để tạo floorplan, cấu trúc lưới

điện (.strap) bằng cách cung cấp tập tin createfpicc.pl,

tập tin diện tích của mạch sau khi tổng hợp, biến fill,

-arealog

%_pin.tcl: mục tiêu này để tạo ra tập tin định nghĩa

chân của thiết kế và được dùng cho quy trình P&R

- Sau khi chạy Makefile bởi lệnh make clean, ta thực hiện

lệnh sau:

make TenThietKe_syn_upf.fp opt=clkgating|mvt|mvd|all

- Lệnh này sẽ tổng hợp mạch dựa trên quy trình được thể

hiện ở Hình 5, với các lựa chọn phương pháp như:

clkgating (clock gating), mvt (multi-threshold), mvd

(multi-voltage), all (kết hợp các phương pháp trên) và

xuất ra các tập tin như: netlist, sdc, sdf, ddc, upf Sau khi

tổng hợp xong đồng thời sẽ tạo tập tin floorplan (.fp), cấu

trúc lưới điện (.strap) Tất cả các tập tin sau khi thực hiện

sẽ được lưu tại thư mục ứng với từng phương pháp

./output/output_“opt” Thư mục /report/report_“opt” sẽ

chứa các tập tin về diện tích, timing, công suất, chất lượng

của thiết kế (qor), cell của thiết kế, miền điện thế, level

shifter,

III.2 Quy trình P&R với các phương pháp công suất thấp:

- Script Makefile trong thư mục icc của Hình 9 thực hiện

quy trình P&R dựa trên quy trình được thể hiện ở Hình 6

Đây là các script sẽ được dùng để thực hiện P&R trong

mục icc của Hình 9:

Risc/icc/Makefile: Tập tin này sẽ có các mục tiêu

(target) để thực hiện như: xóa file, thực hiện P&R với

sự tùy chọn có hoặc không có các phương pháp công suất thấp

Risc/template/icc/TEMPLATE_tcl: tập tin mẫu này dùng để thực hiện P&R mà không có các phương pháp công suất thấp

Risc/template/icc/TEMPLATE_upf_tcl: tập tin mẫu này dùng để thực hiện P&R với sự tùy chọn các phương pháp công suất thấp

Risc/synthesis/output/output_“opt”: Thư mục này chứa tập tin đầu vào cho quy trình P&R của thiết kế

TenThietKe/design/icc: thư mục này chứa các tập tin mẫu như: tạo khu vực điện thế, tạo lưới điện rail cho các cell chuẩn, thiết lập đặc tính thư viện Những tập tin này có thể chỉnh sửa để phù hợp với từng thiết kế

- Sau đây là các bước trong quá trình thực hiện P&R với các phương pháp công suất thấp, các mục tiêu (target) có

ký hiệu % sẽ được thay thế bằng tên thiết kế:

tcl_upf/%.tcl: mục tiêu này dùng để tạo tập tin (.tcl) chứa các lệnh cho quá trình thực hiện PNR công suất thấp bằng cách cung cấp tập tin mẫu (TEMPLATE_upf)

kết hợp với sed để thay thế các biến trong

TEMPLATE_upf

%_upf.str: mục tiêu này phụ thuộc vào mục tiêu tcl_upf/%.tcl dùng để thực hiện P&R công suất thấp

- Sau khi chạy Makefile bởi lệnh make clean, ta thực hiện lệnh sau: make TenThietKe_upf.str:

Lệnh này sẽ thực hiện quy trình P&R được thể hiện ở Hình 6 với các tập tin đầu vào ở thư mục: TenThietKe/synthesis/output/output_normal và tập tin mẫu TenThietKe/design/icc

Phương pháp thiết kế công suất thấp được áp dụng với 2 thiết kế là CPU 16-bit theo kiến trúc RISC và DSP 16-bit dấu chấm cố định, được thực hiện trên công nghệ 90nm, điều kiện hoạt động worst, tần số hoạt động: 200MHz

Hình 10 là kết quả sau khi chạy script tổng hợp mạch:

Hình 10 Kết quả sau khi tổng hợp mạch của CPU 16-bit

Trang 5

Bảng 1 sẽ thể hiện kết quả so sánh đạt được sau khi thực

hiện tổng hợp mạch điện với phương pháp thông thường

(phương pháp chưa áp dụng các phương pháp công suất thấp),

phương pháp công suất thấp như clock gating, đa thế ngưỡng

(multi-threshold), đa nguồn cung cấp (multi-voltage), và kết

hợp 3 phương pháp công suất thấp ở trên

Bảng 1 So sánh kết quả trên CPU 16-bit sau khi tổng hợp

phương pháp công suất thấp tại tần số 200MHz

Phương pháp

tổng hợp

Diện tích(µm2)

Slack(ps) Công suất(µW)

Hình 11 So sánh kết quả công suất sau tổng hợp

Theo kết quả của Bảng 1 và Hình 11, bằng cách áp dụng

các phương pháp kỹ thuật công suất thấp ở tần số 200MHz,

công suất của mạch giảm rõ rệt, với phương pháp clock gating

giảm 59,18%; với phương pháp multi-voltage giảm 34,12%;

với phương pháp multi-threshold giảm 22,41%; và với việc kết

hợp các phương pháp này giảm được 45,51% so với phương

pháp thông thường Riêng phương pháp power gating được

thực hiện nhưng không giảm được nhiều công suất (kết quả

đạt được là 229,203 W) do thư viện công nghệ chưa hỗ trợ

nên không đưa vào trong kết quả Bảng 1

Bảng 2 So sánh kết quả trên DSP 16-bit sau khi tổng hợp

phương pháp công suất thấp tại tần số 100MHz

Phương pháp

tổng hợp

Diện tích(µm2

)

Slack(ps) Công suất(µW)

(*) : F = 83MHz

Tiếp theo việc tổng hợp mạch công suất thấp trên DSP 16-bit được thực hiện trên công nghệ 90nm Kết quả ở Bảng 2 cho thấy công suất của mạch DSP 16-bit cũng giảm với việc kết hợp các phương pháp kỹ thuật công suất thấp, cụ thể giảm được 36,67% ở tần số 100MHz so với quy trình thông thường chưa áp dụng các phương pháp công suất thấp

Sau khi thực hiện tổng hợp mạch, quy trình thiết kế back-end tiếp tục được thực hiện với các bước P&R công suất thấp Hình 12 và Hình 13 thể hiện kết quả sau khi chạy P&R:

Hình 12 Kết quả Clock Tree Synthesis của CPU 16-bit

Hình 13 Kết quả sau khi placement của CPU 16-bit

Trang 6

Hình 14 Layout của mạch sau khi đặt filler cell và chạy routing của

CPU 16-bit

Bảng 3 So sánh kết quả P&R trên CPU 16-bit giữa phương

pháp thông thường và kết hợp các phương pháp thiết kế công

suất thấp

Phương

pháp P&R tích(µm Diện 2 ) Setup

slack(ns) slack(ns) Hold suất(µW) Công

Thông

Bảng 4 So sánh kết quả P&R trên DSP 16-bit giữa phương

pháp thông thường và kết hợp các phương pháp thiết kế công

suất thấp

Phương

pháp P&R tích(µm Diện 2 ) Setup

slack(ns) slack(ns) Hold suất(µW) Công

Thông

470,6 (100%)

Bảng 3, Bảng 4 và Hình 15 thể hiện kết quả thực hiện P&R

giữa quy trình không có các phương pháp công suất thấp (quy

trình thông thường) và các phương pháp công suất thấp như

clock gating, power gating, multi-threshold, multi-voltage, cũng như kết hợp tất cả phương pháp công suất thấp trên CPU 16-bit và DSP 16-bit Kết quả cho thấy công suất sau khi thực hiện P&R với kỹ thuật công suất thấp giúp giảm 30,76% so với kỹ thuật thông thường với mạch CPU 16-bit và giảm 39,3% với mạch DSP 16-bit

Hình 15 So sánh kết quả công suất sau P&R dùng phương pháp thông thường và công suất thấp trên CPU 16-bit và DSP 16-bit

Nhóm tác giả đã nghiên cứu và tự xây dựng các script tự động thực thi quá trình tổng hợp mạch và P&R vi mạch số công suất thấp trên công nghệ CMOS 90nm Việc tự phát triển các script này giúp cho các nhà thiết kế vi mạch Việt Nam làm chủ quy trình thiết kế, tránh phụ thuộc các hãng nước ngoài Với việc tự xây dựng quy trình quy trình thiết kế vi mạch số công suất thấp và thực hiện các phương pháp công suất thấp như clock gating, power gating, multi-threshold, multi-voltage, chúng ta có thể nhận thấy rằng bằng cách áp dụng các phương pháp công suất thấp dù riêng rẽ hay kết hợp đều cho công suất tiêu thụ giảm đáng kể so với việc thiết kế thông thường

[1] Rakesh Chadha, J.Bhasker, “An ASIC Low Power Primer Analysis, Techniques and Specification”, Springer, pp 139-146, 2013

[2] Michael Keating, David Flynn, Robert Aitken, Alan Gibbons, Kaijian Shi, “Low Power Methodology Manual for System-on-Chip Design”, Springer, pp 13-22, 2007

[3] Luís Miguel Granja Gomes, “Power reduction of a CMOS high-speed interface using power gating”, Luís Gomes, pp 23-35, Jun 2013 [4] Petri Solanti, “Low Power System-on-Chip Design”, Synopsys, pp

22-65, Jan 2009

[5] “Low-Power Flow User Guide”, Synopsys, Version D-2010.03, pp

46-67, March 2010

[6] Archana Varanasi, “Course Grained Low Power Design Flow Using UPF”, pp 39-42, Jan 2009

Ngày đăng: 27/11/2021, 10:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN