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 c
Trang 1GVHD: TS.Nguyễn Đức Minh
SVTH: Lê Khánh Linh
Tổng hợp mạch trên
Design Compiler
Trang 2 Giới thiệu về ASIC
Tổng hợp mạch số bằng phần mềm Design Compiler
(Synopsys)
References
Contents
Trang 3 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
Giới thiệu về ASIC[1]
Trang 4Giới thiệu về ASIC
Trang 5 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)
Giới thiệu về ASIC
Trang 6Quy trình thiết kế ASIC
Trang 71 Chu trình tổng hợp mạch số
2 Nhập thiết kế và dữ liệu kỹ thuật
3 Đặt các ràng buộc cho thiết kế
4 Kỹ thuật tổng hợp mạch
5 Khảo sát kết quả
Tổng hợp mạch số bằng phần mềm Design Compiler (Synopsys)
Trang 8Apply design constraints
Synthesis the design
Write out the design data
1 Chu trình tổng hợp mạch số
Trang 9 Nhập thư viện logic
Nhập thiết kế RTL
Nhập dữ liệu vật lý
2 Nhập thiết kế và dữ liệu kỹ thuật
Trang 102 Nhập thiết kế và dữ liệu kỹ thuật
Trang 11DC 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
Nhập thư viện logic
Trang 12 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
3 Đặt các ràng buộc cho thiết kế (Design
Constraints)
Trang 131 Chu kì clock (clock period)
2 Thời gian đồng hồ không chính xác (clock uncertainty)
3 Độ trễ đồng hồ (Clock latency)
4 Thời gian đồng hồ quá độ (Clock Transition)
Ràng buộc các đường nối thanh ghi với
thanh ghi
Trang 14Ràng buộc các đường nối thanh ghi với
thanh ghi- Fundamental of Timing
Trang 15 Create_clock –period 2 [get clock]
Clock
Trang 16Capture clock edge và launch clock edge
Trang 17Skew
Trang 18Positive skew và negative skew
Trang 19 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]
Clock uncertainty
Trang 20 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.
[get_clocks CLK]
Clock latency
Trang 21 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]
Clock Transition
Trang 22 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]
Ràng buộc với các đường đầu vào
Trang 23 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]
Ràng buộc với các đường đầu ra
Trang 24 Hiệu ứng tụ điện kí sinh đầu ra: set_load [expr 30.0/1000]
Trang 25 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ế
Constraint mạch tổ hợp
Trang 26 Constraint trong trường hợp không biết các thông số delay của inputs, yêu cầu setup của outputs
Tạo Time budget
Time Budgeting
Trang 27 Thiết kế tổng hợp với kết quả tốt hơn khi tạo buget.
VD: mục tiêu: 40% cho input, thiết kế X dung 40% cho output, 20% dự trữ cho delay FF1 và setup time FF2
Time budgeting
Trang 28 Tối ưu mặc định: sử dụng lệnh compile_ultra Thực hiện 3
bước tối ưu
Tối ưu mức kiến trúc
Tối ưu mức logic
Tối ưu mức cổng
Tối ưu số học
Chia nhỏ lượng truy cập và lặp logic
4 Kỹ thuật tổng hợp mạch
Trang 295 Kết quả thực hiện trên openMSP430
Trang 30 [1] Design Compiler workshop student Guide, Synopsys
[2] asic-soc.blogspot.com
[3] N.T Lâm, N.H Cường, Quy trình thiết kế vi mạch xử lý bang
gốc trong thiết bị thông tin di động, 2012
References