VLSI Lab5 2012 1 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM GIỚI THIỆU VỀ TOOL IC COMPILER I/ MỤC ĐÍCH - Gi ới thiệu và làm quen với tool ICC của Synopsys II/ LÝ THUYẾT 1/ Giới thiệu quy trình layout Quý trình layout gồm các bước sau: Phân vùng (Partitioning) thiết kế Dựng nền (Floorplanning) Sắp xếp (Placement) Tổng hợp cây clock (Clock tree synthesis) Đi dây (Routing) Xác định RC (RC extraction) 1.1/ Phân vùng thiết kế Hình 1: Ví dụ về một mô hình được phân vùng thiết kế Hai kiểu thiết kế ASIC phổ bi ến: thiết kế san bằng (flat) và thiết kế phân cấp (hierarchical). Thiết kế san bằng thì không cần phân vùng thiết kế, mà ta sẽ san bằng và sắp xếp các cổng sao cho phù hợp với các ràng buộc hay tối ưu thiết kế. Cách này được áp dụng với các thi ết kế loại nhỏ
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
VLSI Lab5 2012
1 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM
GIỚI THIỆU VỀ TOOL IC COMPILER
I/ MỤC ĐÍCH
- Giới thiệu và làm quen với tool ICC của Synopsys
II/ LÝ THUYẾT
1/ Giới thiệu quy trình layout
Quý trình layout gồm các bước sau:
Phân vùng (Partitioning) thiết kế
Dựng nền (Floorplanning)
Sắp xếp (Placement)
Tổng hợp cây clock (Clock tree synthesis)
Đi dây (Routing)
Xác định RC (RC extraction)
1.1/ Phân vùng thiết kế
Hình 1: Ví dụ về một mô hình được phân vùng thiết kế
Hai kiểu thiết kế ASIC phổ biến: thiết kế san bằng (flat) và thiết kế phân cấp
(hierarchical).
Thiết kế san bằng thì không cần phân vùng thiết kế, mà ta sẽ san bằng và sắp xếp các
cổng sao cho phù hợp với các ràng buộc hay tối ưu thiết kế. Cách này được áp dụng với các thiết
kế loại nhỏ
VLSI Lab5 2012
2 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM
Nếu chọn thiết kế phân cấp, ta tiến hành phân vùng thiết kế trong ASIC. Việc phân vùng
thiết kế này có thể được thực hiện ở bước logic gọi là phân vùng logic hoặc bước vật lý gọi là
phân vùng vật lý. Với kiểu thiết kế này, ta có thể gặp nhiều vấn đề về thời gian trễ và tốn nhiều
diện tích hơn thiết kế san bằng. Nhưng với cách này việc quản lý thiết kế dễ dàng hơn, nhờ thế
tránh được các lỗi có thể phát sinh do việc tập trung mật độ các dây ở một khu vực nào đó…
1.2/ Dựng nền (Floorplanning)
Bước dựng nền (Floorplanning) nhằm thực hiện tạo các mạng power và ground trong
chip, tạo các pad power và ground cho lõi (core) và I/O, tạo các vòng (Ring) power, ground bao
quanh core, nối các điểm power và ground cho các cell chuẩn. Ngoài ra, floorplanning còn xác
định vị trí các pad I/O, xác đinh vị trí và số lương pad power, xác định vị trí và kiểu phân phối
clock.
1.3/ Sắp xếp (Placement)
Sắp xếp (Placement) nhằm tổng hợp vật lý của thiết kế từ tập tin mức cổng (Netlist).
Bước này trong quá trình thiết kế vật lý đóng vai trò rất quan trọng vì nó sẽ quyết định nhiều yếu
tố của thiết kế như là tối ưu về thời gian, diện tích, hay công suất và khả năng đi dây…
Placement sẽ xác định kích thước cell, phân chia các lưới, chèn các buffer đệm hay nhân
đôi cổng nhằm tăng thêm độ trễ ở các đường. Mục đính là khắc phục các vấn đề về thời gian
thiết lập (Setup time), thời gian giữ (Hold time) hay tránh sự tắc nghẽn (congestion driven
placement) trong quá trình đi dây (Routing)
1.4/ Tổng hợp cây clock (Clock Tree Synthesis)
Clock Tree Synthesis (CTS) nhằm tối thiểu hóa độ lệch clock giữa clock nguồn và các
nhánh bằng cách chèn buffer vào nhằm đồng bộ các clock. Đồng thời lợi dụng sự lệch clock giữa
các tín hiệu cũng giúp cho việc sửa các lỗi về thời gian đơn giản hơn. Quá trình này phụ thuộc
nhiều vào công cụ mà ta sử dụng để tối ưu
VLSI Lab5 2012
3 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM
Hình 2: Minh họa về chèn các buffer vào tín hiệu clock trong CTS
1.5/ Di dây (Routing)
Di dây (Routing) thực hiện nối các cổng sau khi ta đã sắp xếp trong Placement. Routing
là quá trình tạo sự liên kết vật lý dựa trên tính kết nối logic. Những chân tín hiệu thì được kết nối
bằng các liên kết kim loại. Các đường kết nối này sẽ được thực hiên sao cho đảm bảo các yêu
cầu về thời gian, độ lệch clock, độ trễ giữa các cổng, điện dung…
Do tính phức tạp của các thiết kế ASIC và số lượng liên kết rất lớn nên khi routing ta chia
thành ba giai đoạn: Routing riêng biệt (special routing), routing toàn bộ (global routing) và
routing chi tiết (detail routing).
Hình 3: Một thiết kế đã được routing
1.6/ Xác định RC (RC Extraction)
RC Extraction nhằm xác định các giá trị ký sinh RC được sinh ra trong thiết kế sau khi
được layout. Với các công nghệ ngày càng cao, các giá trị này sẽ ảnh hưởng khá lớn đến độ trễ
của các đường dữ liệu (path delay). Chính vì thế những đường mà trong quá trình ta kiểm tra ở
VLSI Lab5 2012
4 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM
Pre-layout có thể là đúng nhưng sau khi qua layout sẽ sai. Do đó, trong bước Pre-layout có một
bước kiểm tra chức năng của thiết kế với ràng buộc về thời gian đưa ra nhưng thường đươc bỏ
qua, do kết quả của nó không có tín thuyết phục cao.
Các giá trị vật lý của layout sẽ quyết định rất lớn đến khả năng sống của thiết kế. Do đó
bước này cần tiến hành kỹ
2/ Giới thiệu về công cụ IC Compiler
Hình 4: Tổng quát về một quy trình IC Compiler
VLSI Lab5 2012
5 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM
Tập tin mức cổng (Netlist): đuôi .v hoặc .ddc
Tập tin ràng buộc (Constraints): đuôi .sdc
Thư viện công nghệ (Library synopsys): đuôi .db, .tf …
TLUPlus là tập tin có định dạng bảng nhị phân lưu trữ các hệ số RC. Các mô hình
TLUPlus được tổng hợp bởi nhà sản xuất, nhờ nó ta có thể kiểm tra được các giá trị RC
chính xác bao gồm các hệ số chiều rộng, khoảng cách, mật độ và nhiệt độ theo các hệ số
điện trở. Các tập tin cần để thiết lập mô hình TLUPlus là :
Tập tin tham chiếu (.map) để có thể chỉ định tương ứng đến các lớp (Layer) và Via
trong tập tin công nghệ Milkyway (.tf)
File mô hình TLUPlus cực đại (maximum).
File mô hình TLUPlus cực tiểu (minimum).
3/ Các lệnh cơ bản trong IC Compiler
#Tao ra thu vien mw cua thiet ke
create_mw_lib -technology $Techfile \
-mw_reference_library $Ref_lib \
$my_mw_lib
-technology file_name: Xác định tập tin công nghệ (.tf)
-mw_reference_library file_names: Xác định thư viện tham chiếu Milkyway.
Dùng để tạo ra thư viện của thiết kế mình
library_name: Tên của thư viên thiết kế mà mình muốn tạo ra.
#Import cac tap tin thu vien TLUPlus trong layout
set_tlu_plus_files \
-max_tluplus $Tlupmax \
-min_tluplus $Tlupmin \
-tech2itf_map $Tech2itf
-max_tluplus file_name: Tập tin mô hình TLUPlus cực đại (maximum)
-min_tluplus file_name: Tập tin mô hình TLUPlus cực tiểu (minimum).
-tech2itf_map file_name: Tập tin công nghệ Milkyway (.tf)
#Import tap tin netlist
import_designs \
-format verilog \
-top $cell_name \
VLSI Lab5 2012
6 Khoa Điện Tử - Viễn Thông, Trường ĐH KHTN, Tp HCM