24
1 CHƯƠNG 2 QUY TRÌNH THIẾT KẾ ASIC

3.CHƯƠNG 2

Embed Size (px)

Citation preview

Page 1: 3.CHƯƠNG 2

1

CHƯƠNG 2QUY TRÌNH THIẾT KẾ ASIC

Page 2: 3.CHƯƠNG 2

2

Quy trình thiết kế một SOC (System on chip)

Page 3: 3.CHƯƠNG 2

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).

Page 4: 3.CHƯƠNG 2

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

Page 5: 3.CHƯƠNG 2

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ế.

Page 6: 3.CHƯƠNG 2

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.

Page 7: 3.CHƯƠNG 2

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 .

Page 8: 3.CHƯƠNG 2

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).

Page 9: 3.CHƯƠNG 2

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 đó.

Page 10: 3.CHƯƠNG 2

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).

Page 11: 3.CHƯƠNG 2

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ế.

Page 12: 3.CHƯƠNG 2

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

Page 13: 3.CHƯƠNG 2

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.

Page 14: 3.CHƯƠNG 2

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

Page 15: 3.CHƯƠNG 2

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.

Page 16: 3.CHƯƠNG 2

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.

Page 17: 3.CHƯƠNG 2

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.

Page 18: 3.CHƯƠNG 2

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

Page 19: 3.CHƯƠNG 2

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.

Page 20: 3.CHƯƠNG 2

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

Page 21: 3.CHƯƠNG 2

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.

Page 22: 3.CHƯƠNG 2

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

Page 23: 3.CHƯƠNG 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

Page 24: 3.CHƯƠNG 2

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