Tổng hợp mạch trên Design Compiler
GVHD: TS.Nguyễn Đức Minh
SVTH: Lê Khánh Linh
Tổng hợp OpenMSP430 trên Design Compiler
1
Contents
Giới thiệu về ASIC
Tổng hợp mạch số bằng phần mềm Design Compiler (Synopsys)
References
Tổng hợp OpenMSP430 trên Design Compiler
2
Giới thiệu về ASIC[1]
Vi mạch tích hợp (Integrated Ciruits) hay vi mạch, mạch tích hợp, gọi tắt là IC:
Các mạch điện chứa các linh kiện bán dẫn (semiconductor) và các linh kiện thụ động (như điện trở) được kết nối với nhau
Kích thước cỡ micromet (hoặc nhỏ hơn) chế tạo trên những phiến silicon.
ASIC:
(Application Specific Integrated Circuit): vi mạch tích hợp chuyên dụng.
IC được thiết kế dành cho những ứng dụng cụ thể.
Được sử dụng mọi nơi, VD: vi xử lý điện thoại di động, chip xử lý trong máy móc tự động, phương tiện truyền thông, xe cộ,
tàu vũ trụ, các hệ thống xử lý, các hệ thống xử lý, dây chuyền công nghiệp…
Tổng hợp OpenMSP430 trên Design Compiler
3
Giới thiệu về ASIC
Tổng hợp OpenMSP430 trên Design Compiler
4
Giới thiệu về ASIC
Phân loại dựa trên công nghệ sản xuất và thiết kế:
ASIC trên cơ sở thư viện phần tử logic chuẩn (standard-cell-based ASIC)
ASIC dựa trên mảng logic (gate-array-based ASIC)
ASIC đặc chế hoàn toàn (full-custom ASIC)
ASIC tiền cấu trúc (structured/platform design)
ASIC dung các thư viện phần tử logic và các phần tử thiết kế sẵn (cell libraries, IP-based design)
Tổng hợp OpenMSP430 trên Design Compiler
5
Quy trình thiết kế ASIC
Tổng hợp OpenMSP430 trên Design Compiler
6
Tổng hợp mạch số bằng phần mềm Design Compiler (Synopsys)
1.
2.
3.
4.
5.
Chu trình tổng hợp mạch số
Nhập thiết kế và dữ liệu kỹ thuật
Đặt các ràng buộc cho thiết kế
Kỹ thuật tổng hợp mạch
Khảo sát kết quả
Tổng hợp OpenMSP430 trên Design Compiler
7
1. Chu trình tổng hợp mạch số
Load
Load design
design and
and
Apply
Apply design
design
Synthesis
Synthesis the
the
technology
technology data
data
constraints
constraints
design
design
Write
Write out
out the
the
design
design data
data
55
44
33
22
11
Tổng hợp OpenMSP430 trên Design Compiler
Analyze
Analyze results
results
8
2. Nhập thiết kế và dữ liệu kỹ thuật
Nhập thư viện logic
Nhập thiết kế RTL
Nhập dữ liệu vật lý
Tổng hợp OpenMSP430 trên Design Compiler
9
2. Nhập thiết kế và dữ liệu kỹ thuật
Tổng hợp OpenMSP430 trên Design Compiler
10
Nhập thư viện logic
DC gồm 3 thư viện chính:
Thư viện logic (target library): các phần tử logic, được sử dụng để kết nối (mapping) trong quá trình tổng hợp.
Thư viện biểu tượng (symbol library): chứa thông tin có thể nhìn thấy của các phần tử logic (biểu tượng, hình
dạng các phần tử logic).
Thư viện kết nối (link library): cổng logic trong thư viện phụ thuộc vào công nghệ.
Ngoài ra còn Search path và synthetic library
Tổng hợp OpenMSP430 trên Design Compiler
11
3. Đặt các ràng buộc cho thiết kế (Design Constraints)
Design Constraints: yêu cầu mong muốn của thiết kế về tài nguyên và tốc độ.
Lưu ý: những thông số rang buộc phải thực tế. Thông số không thực tế làm cho mạch bị mở rộng, năng lượng
tiêu thụ tăng, tốc độ suy giảm.
Phân loại rang buộc:
Ràng buộc các đường nối thanh ghi với thanh ghi
Ràng buộc các đường đầu vào
Ràng buộc các đường đầu ra
Thuộc tính môi trường
Tổng hợp OpenMSP430 trên Design Compiler
12
Ràng buộc các đường nối thanh ghi với thanh ghi
1.
2.
3.
4.
Chu kì clock (clock period)
Thời gian đồng hồ không chính xác (clock uncertainty)
Độ trễ đồng hồ (Clock latency)
Thời gian đồng hồ quá độ (Clock Transition)
Tổng hợp OpenMSP430 trên Design Compiler
13
Ràng buộc các đường nối thanh ghi với thanh ghi- Fundamental of
Timing
Tổng hợp OpenMSP430 trên Design Compiler
14
Clock
Create_clock –period 2 [get clock]
Tổng hợp OpenMSP430 trên Design Compiler
15
Capture clock edge và launch clock edge
Tổng hợp OpenMSP430 trên Design Compiler
16
Skew
Tổng hợp OpenMSP430 trên Design Compiler
17
Positive skew và negative skew
Tổng hợp OpenMSP430 trên Design Compiler
18
Clock uncertainty
Clock uncertainty: độ trễ, sai khác lớn nhất giữa các nhánh trong mạng
xung đồng hồ, trong đó clock skew chiếm đa số, ngoài ra còn hiệu ứng
xung đồng hồ rung và rìa.
Set_clock_uncertainty –setup 0.14 [get_clocks CLK]
Tổng hợp OpenMSP430 trên Design Compiler
19
Clock latency
Clock latency: chênh lệch giữa nguồn xung đồng hồ với mạng xung đồng hồ,
bằng tổng thời gian lệch giữa xung đồng hồ gốc đến nguồn xung và qua mạng
xung.
Set_clock_latency –source – max 3 [get_clocks CLK]
Set_clock_latency –max 1 [get_clocks CLK]
Tổng hợp OpenMSP430 trên Design Compiler
20
Clock Transition
Transition delay: khoảng thời gian tín hiệu tăng từ 10% cho tới 90% (80%) giá trị lớn nhất -> Rise time
Clock Transition: khoảng thời gian xung đồng hồ lên và xuống tại tín hiệu của clock
Set_clock_transition –max T [get_clocks CLK]
Tổng hợp OpenMSP430 trên Design Compiler
21
Ràng buộc với các đường đầu vào
Thời gian muộn nhất dữ liệu đến chân tín hiệu của thiết kế, thời gian trễ do người thiết kế khối trước đó tính
toán.
Set_input_path –max 0.6 –clock Clk [get_port A]
Tổng hợp OpenMSP430 trên Design Compiler
22
Ràng buộc với các đường đầu ra
Thời gian muộn nhất dữ liệu đến chân tín hiệu ra của thiết kế, thời gian trễ do người thiết kế khối sau đó tính
toán.
Set_output_path –max 0.8 –clock Clk[get_ports B]
Tổng hợp OpenMSP430 trên Design Compiler
23
Thuộc tính môi trường
Hiệu ứng tụ điện kí sinh đầu ra: set_load [expr 30.0/1000] [get_ports B]
Hiệu ứng của thời gian quá độ đầu ra: set_input_transition 0.12 [get_ports A]
Hiệu ứng PVT: biến thiên xử lý, điện áp cung cấp, nhiệt độ hoạt động
Tổng hợp OpenMSP430 trên Design Compiler
24
Constraint mạch tổ hợp
Sử dụng virtual clock.
Virtual clock: clock không được nối vào bất cứ chân nào trong thiết kế và không tồn tại thực tế trong thiết kế.
Tổng hợp OpenMSP430 trên Design Compiler
25