Upload
lazzycat
View
17
Download
2
Embed Size (px)
Citation preview
1
CHƯƠNG 2QUY TRÌNH THIẾT KẾ ASIC
2
Quy trình thiết kế một SOC (System on chip)
3
1. QUY TRÌNH THIẾT KẾ SoC
• 1.1. Thiết kế kiến trúc (Architecture design)
• 1.2. Thiết kế logic (Logic Design).
• 1.3. Thiết kế mạch (Circuit design).
• 1.4. Thiết kế vật lý cho các cells đặc trưng (Mask Design)
• 1.5. Thiết kế vật lý (Physical Design).
4
1.1. Thiết kế kiến trúc (Architecture design)
• Tiếp nhận các yêu cầu của thiết kế và xây dựng nên kiến trúc tổng quát của thiết kế.
• Người thực hiện thiết kế kiến trúc phải:– Nhìn nhận được một cách tổng quan thiết kế – Nắm bắt được khả năng của công nghệ, – Am hiểu được toàn bộ các bước thiết kế.
• Các bước tổng quan của một qui trình thiết kế kiến trúc – Xác định tổng quan (Define overall chip) – Bố trí ban đầu (Initial Floorplan)– Mô hình thiết kế, mô hình RTL hay C
5
1.1. Thiết kế kiến trúc (Architecture design)
• Xác định tổng quan (Define overall chip): xây dựng nên toàn bộ kiến trúc tổng quan cho thiết kế – Thiết kế có những khối nào?– Mỗi khối có chức năng gì?– Hoạt động của thiết kế và của mỗi khối ra sao ?– Phân tích các kỹ thuật sử dụng trong thiết kế và
các công cụ, softwave hỗ trợ thiết kế.
6
1.1. Thiết kế kiến trúc (Architecture design)
• Bố trí ban đầu (Initial Floorplan):– Phân bố, sắp xếp các khối có trong thiết kế. – Định hình cho toàn bộ thiết kế. – Việc phân bố, sắp xếp các khối phải theo những
nguyên tắc nhất định. – Kiến trúc của thiết kế ảnh hưởng rất lớn đến chất
lượng của thiết kế và ảnh hưởng đến các bước sau của quy trình cho nên việc phân bố kiến trúc phải làm sao cho thiết kế tối ưu nhất.
7
1.1. Thiết kế kiến trúc (Architecture design)
• Mô hình thiết kế, mô hình RTL hay C – Sử dụng ngôn ngữ mô tả phần cứng (HDL) hoặc ngôn ngữ
C để mô phỏng tổng thể hoạt động của thiết kế.
– Kiểm tra sơ bộ xem thiết kế có hoạt động đúng về mặt chức năng chưa, nếu chưa đúng thì phải chỉnh sửa lại các bước trên.
– Mô tả cụ thể hơn, làm rõ ràng hơn cho kiến trúc của thiết kế, giúp cho việc nắm bắt ý đồ thiết kế và việc thực hiện thiết kế ở bước sau này được thuận lợi hơn .
8
1.2. Thiết kế logic (Logic Design).
• Mô phỏng tổng thể các chức năng logic và tối ưu một thiết kế.
• Người thiết kế tạo ra một mô hình hành vi HDL (HDL behavioral model) cho những khối mạch, định nghĩa những bộ vector để kiểm tra toàn bộ thiết kế, biên dịch mạng kết nối (netlist) và tối ưu hóa thiết kế.
• Các bước tổng quan của một qui trình thiết kế logic:– Thiết kế mô hình hành vi (Behavioral verilog).– Mô phỏng logic (Logic simulation).– Tổng hợp logic (Logic Synthesis). – Hiệu chỉnh các kết nối (Datapath Schematic).
9
1.2. Thiết kế logic (Logic Design)Thiết kế mô hình hành vi (Behavioral verilog).
• Thiết kế có thể gồm nhiều khối standard và custom kết hợp với nhau.
• Đối với các khối tế bào chuẩn standard cells có thể dùng mã RTL(register-transfer level) để mô tả.
• Thiết kế mức RTL nghĩa là không cần quan tâm đến cấu tạo chi tiết của mạch điện mà chỉ chú trọng vào chức năng của mạch dựa trên kết quả tính toán cũng như sự luân chuyển dữ liệu giữa các register (flip-flop).
• Với các khối được thiết kế dưới dạng custom (ví dụ: bộ nhớ nhúng – embeded memory) thì không thể dùng mã RTL được mà phải dùng mô hình hành vi để mô tả chi tiết tính năng của các khối đó.
10
1.2. Thiết kế logic (Logic Design)
• Mô phỏng logic (Logic simulation).– Mô phỏng tổng thể thiết kế ở mức cao nhất (top-level) để kiểm tra thiết kế có
hoạt động đúng với các tính năng yêu cầu. – Nếu chưa đúng phải kiểm tra lại các khối tế bào chuẩn hoặc khối mạch tự tạo.
• Tổng hợp logic (Logic Synthesis).Tổng hợp các mã RTL thành sơ đồ bố trí mạch (netlist). Quá trình chia thành 2 bước: – Chuyển đổi các mã RTL thành mô tả dưới dạng các biểu thức đại số Boolean,– Dựa trên các biểu thức này kết hợp với thư viện tế bào chuẩn sẵn có để tổng
hợp nên một thiết kế tối ưu.• Hiệu chỉnh các kết nối (Datapath Schematic).
– Nhập netlist và các ràng buộc về thời gian vào một công cụ phân tích timing. – Dựa trên kết quả phân tích (report) của công cụ phân tích, ta xác định các kết
nối không thỏa mãn về thời gian. viết lại mã RTL và tiến hành lại tổng hợp logic
– Tiến hành đặt khối mạch (placement) và định đường nối (routing).
11
1.3. Thiết kế mạch (Circuit design).
• Xây dựng nên sơ đồ mạch thực sự của thiết kế • Tổng quan của một qui trình thiết kế mạch:
– Xây dựng bản vẽ (Circuit schematic)– Mô phỏng mạch điện (Circuit simulation)– Xây dựng khối và cấu hình (Mega cell block):
Bước này sử dụng trình biên dịch để tạo các cấu hình. Các cấu hình được tạo ra trong bước này, là những cấu hình được lựa chọn tùy ý trong các dải cho phép, nhằm mục đích kiểm tra ngẫu nhiên thiết kế.
12
1.4. Thiết kế vật lý cho các cells đặc trưng (Mask Design)
• Quá trình thiết kế mặt nạ (hay còn gọi là thiết kế bảng vẽ - Mask design) được thực hiện bởi kỹ sư thiết kế ở cấp độ transistor (transistor level).
• Thiết kế mặt nạ hay thiết kế bố trí (layout design) là một quá trình thiết kế từ sơ đồ mạch luận lý sang sơ đồ mạch vật lý để từ đó nhà sản xuất sẽ đổ các lớp mẫu đã được quy định trên cơ sở các lớp mặt nạ (mask layers) để được các lớp vật lý biểu thị các transistor, các cổng logic và các kết nối giữa chúng để được một mạch tích hợp mong muốn.
• Các bước tổng quan– Thiết kế sơ đồ bố trí (Layout & Floorplan): vạch ra kế hoạch cho việc
thiết kế, xem xét các khu vực sẽ đặt linh kiện, các khu vực mà tín hiệu sẽ chạy qua, xác định kích thước của các khối và phân phối các cell, sắp xếp các lớp, các linh kiện cho phù hợp, vẽ những cell cơ bản trong thiết kế (cell cơ bản là những cell nhỏ, có thể dùng lại nhiều lần trong thiết kế).
– Ráp nối thư viện tế bào (Assemble Cell library):thiết kế các khối mạch lớn hơn bằng cách kết nối các cell cơ bản lại với nhau và chạy dây giữa chúng theo các kế hoạch đã sắp xếp trong phần floorplan.
– Plot: Sau khi hoàn thành bảng vẽ mạch, người thiết kế sẽ kiểm tra lỗi thiết kế so với luật thiết kế của nhà sản xuất (Design Rules Check - DRC) và kiểm tra bảng vẽ so với mạch luận lý ban đầu để bảo đảm chức năng, cấu trúc mạch
13
1.5. Thiết kế vật lý (Physical Design).• Physical design (hay còn gọi là Place&Route: đặt khối và định tuyến) được thực
hiện ở cấp độ chip trong quy trình SoC.• Sắp đặt các mạch trong phần layout design và kết nối chúng với nhau, hoặc với các
khối chức năng khác trên một vùng diện tích nhất định dựa vào thiết kế luận lý của chip (gate-level netlist).
• Gồm các bước sau:– Floorplan: chuẩn bị dữ liệu đầu vào, xác định kích thước các khối và đặt chúng vào các
vị trí tối ưu cho việc chạy dây. Sắp xếp các vùng đặt các IO cells, các power pad, standard cells. Lập kế hoạch cho việc cung cấp nguồn VDD, VSS cho các khối.
– Place & Route: bước này được thực hiện việc đặt và nối dây các cell ở tầng trên cùng được gọi là chip level nhờ các phần mềm hỗ trợ
– Post Route View, Edit và plot: bước này thực hiện xem xét, kiểm tra, và chỉnh sửa sau khi đã thực hiện chạy dây để đảm bảo toàn bộ yêu cầu của nhà sản xuất, đảm bảo là các kết nối đã hoàn chỉnh và thực hiện kiểm tra các giá trị điện trở và điện dung sau khi chạy dây. Sau khi hoàn tất việc kiểm tra, ta sẽ thực hiện biên dịch sang định dạng file thiết kế hệ thống GDS(Graphic Design System).
– Thực hiện các kiểm tra DRC (design rule check), LVS (layout vesus Schematic), ERC (Electrical Rules Check): sau khi biên dịch sang dạng file GDS, ta sẽ thực hiện kiểm tra DRC, LVS trên toàn bộ chip.
• Sau khi hoàn tất việc biên dịch sang file GDS mà không còn lỗi nào nữa, file của chip này sẽ được đưa xuống nhà sản xuất và thực hiện các công đoạn chế tạo thành một chip thành phẩm.
14
ASIC Design Methodologies
ASIC Design Methodology
This approach is extremely slow, expensive
It is only used to design very high performance systems
Full-custom design
This approach is reasonable fast, less expensive
Most ASICs are currently designed using this method
Standard-cell based design
This approach is fast and less expensive
ASIC performance are relatively slow
Gate-array based design
The design process is very fast and cost effective
ASIC performance are slow
FPGA based design
15
Full-Custom Design Methodology
Function Partition
Schematic Design
Function And Timing verification
Pass
Fail
Including transistor sizing
Layout DesignIncluding placement & routing
Post-Layoutsimulation
Pass
Fail
Go to fabrication
ASIC Chips
It is a time consuming manual process, not pre-developed libraries needed.
16
Full-Custom Design Methodology
Design a chip from scratch.
Custom mask layers are created in order to fabricate a full-custom IC.
Engineers design some or all of the logic cells, circuits, and the chip layout specifically for a full-custom IC.
Advantages: complete flexibility, high degree of optimization in performance and area.
Disadvantages: large amount of design effort, expensive.
17
Standard-Cell Based Design Methodology
High-level (RTL or behavioral-level) design VHDL or Verilog coding
High-level verification VHDL or Verilog simulation
Logic synthesis Logic gate library
Gate-level verification
Placement & Routing Cell layout library
Post-Layout verification Go to fabrication
Fail
Pass
Pass
Fail
Fail Pass
It is highly automated, but need pre-developed libraries.
18
Standard-Cell Based Design Methodology
Use pre-developed logic cells from standard-cell library as building blocks. As full-custom design, all mask layers need to be customized to fabricate a new chip.
Advantages: save design time and money, reduce risk compared to full-custom design.
Disadvantages: still incurs high non-recurring-engineering (NRE) cost and long manufacture time.
A
B CD
AD
Library Cells
Chip layout
D
A B
C
19
Gate-Array Based Design Methodology
Generating schematic (netlist)
The netlist can be designed using full-custom or standard-cell based design method
Placement & Routing Cell layout library
Post-Layout verification
Pre-fabricated gate array template
Make the final connections for thepre-fabricated gate array base
ASIC Chips It contains transistors without connections
This approach is faster than the standard-cell based approach because part of the fabrication process has been complete.
20
Gate-Array Based Design Methodology
Parts of the chip (transistors) are pre-fabricated, and other parts (wires) are custom fabricated for a particular customer’s circuit.
Advantages: cost saving (fabrication cost of a large number of identical template wafers is amortized over different customers), shorter manufacture lead time.
Disadvantages: performance not as good as full-custom or standard-cell-based ICs.
Gate Array Sea-of-Gates
21
FPGA Based Design Methodology
Schematic Capture
HDL coding &Logic Synthesis
netlist
ImplementationTechnology mappingPlacement & routing
FPGA celllibrary
Verification Timing verification
Pass
Fail
Generate FPGA Bit Stream
Download
FPGA
This approach has extremely fast turn-out time since FPGA devices has been fabricated.
22
Programmable Logic Design Flow
XC4000XC4000XC4000
3
Design Entry in schematic, VHDL or Verilog.
Implementation includes Placement & Routing and bitstream generation. Also analyze timing, view layout, and more.
Download directly to the hardware device(s) with unlimited reconfigurations* !!
1
2
23
Comparison of Design Methodologies
Full-custom
design
Standard-cell
based design
Gate-array
based design
FPGA-based
design
Speed +++ ++ + -
Integration density
+++ ++ + --
High-volume device cost
++ ++ + +
low-volume device cost
--- -- + +++
Custom mask layer
All All Some None
Fabrication time --- -- - +++
Time to Market --- -- ++ +++
Risk reduction --- -- - +++
Future design modification
--- -- - +++
+ desirable; - not desirable
24
Why do we want FPGAs
Fast turn-out time The ability of re-programming
The capability of dynamic reconfiguration
Advantages of using FPGAs
FPGA Applications
Ideal platform for prototyping Providing fast implementation to reduce time-to-market
Cost effective solutions for products with small volumes on demand
Implementing hardware systems requiring re-programming flexibility Implementing dynamically re-configurable systems