1. Trang chủ
  2. » Công Nghệ Thông Tin

thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc

90 687 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 6,62 MB

Nội dung

Để thực hiện thành công đề tài cần có sự hỗ trợ rất lớn của công cụ thiết kế chuyên dụng, điều này chỉ có thể thực hiện tại một công ty chuyên về thiết kế vimạch.. Danh Mục Các Hình ẢnhH

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA ĐIỆN TỬ VIỄN THÔNG

Trang 2

Lời Cảm Ơn!

Đề tài không thể thành công nếu bỏ qua vai trò của thầy hướng dẫn Em xin gửilời biết ơn sâu sắc tới thầy Nguyễn Duy Mạnh Thi, người đã tận tình hướng dẫn cũngnhư tạo mọi điều kiện thuận lợi nhất giúp em hoàn thành luận văn này

Em xin gửi lời tri ân đến các thầy cô trong bộ môn Điện Tử nói riêng và khoaĐiện Tử Viễn Thông Trường ĐH Khoa Học Tự Nhiên TP Hồ Chí Minh nói chung đãdạy dỗ, truyền đạt cho em những kiến thức, kinh nghiệm quý báu và giúp đỡ em trong 4năm học vừa qua

Thiết kế vi mạch là một lĩnh vực rất phát triển trên thế giới nhưng vẫn còn vôcùng mới mẻ ở Việt Nam Hiện tại có rất ít công ty làm về lĩnh vực này, đặc biệt là thiết

kế phần cứng Để thực hiện thành công đề tài cần có sự hỗ trợ rất lớn của công cụ thiết

kế chuyên dụng, điều này chỉ có thể thực hiện tại một công ty chuyên về thiết kế vimạch

Nhân đây em xin gửi lời cảm ơn sâu sắc đến ban lãnh đạo công ty Signet DesignSolutions Việt Nam, trong thời gian vừa qua đã tạo điều kiện để chúng em được đếncông ty thực hiện đề tài Em cũng gửi lời cảm ơn đến toàn bộ các anh kỹ sư trong công ty

và đặc biệt là anh Bảo, anh Đông, anh Dũng trong thời gian vừa qua đã tận tình hướngdẫn, chỉ bảo em thực hiện đề tài này

Cuối cùng xin cảm ơn gia đình, bạn bè và toàn thể những người thân đã luôn bêntôi ủng hộ và giúp đỡ tôi trong suốt những năm qua

Xin chân thành cảm ơn!

Sinh viên

Phạm Đình Hoàng

Trang 3

MỤC LỤC



Danh Mục Các Hình Ảnh 7

Một Số Từ Viết Tắt 10

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRÊN VI MẠCH (SYSTEM ON CHIP -SOC) VÀ QUY TRÌNH THIẾT KẾ 11

1.1.Giới thiệu tổng quan về System on Chip – SoC 11

1.1.1.Định nghĩa System on Chip 11

1.1.2.Kiến trúc khối SoC 11

1.2.Quy trình thiết kế hệ thống trên vi mạch SoC 12

1.2.1.Quy trình thiết kế luận lý (Front-end Design) 12

1.2.2.Quy trình thiết kế vật lý (Back-end Design) 13

1.3.Nội dung và yêu cầu đề tài 14

CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG TRÊN VI MẠCH CƠ BẢN -BASOC VÀ KIẾN TRÚC KHỐI PCI_BRIDGE32 16

2.1.Giới thiệu về BASOC 16

2.2.Tổng Quan Về Khối PCI-Bridge32 17

2.2.1.Giới Thiệu 17

2.2.2.Những đặc tính của khối PCI_Bridge32 18

2.2.3.Kiến trúc khối PCI_Bridge32 18

2.2.3.1.WISHBONE Slave 19

2.2.3.1.1.WISHBONE Slave Module 19

2.2.3.1.2.WBW_FIFO 19

2.2.3.1.3.WBR_FIFO 20

2.2.3.1.4.PCI Master Module 20

2.2.3.1.5.PCI TARGET Unit 20

2.2.3.2.PCI Target Module 21

2.2.3.2.1.PCIR_FIFO 21

2.2.3.2.2.WISHBONE Master Module 21

2.2.3.2.3.Cấu trúc cây thư mục rtl của khối PCI_Bridge32 21

CHƯƠNG 3: GIỚI THIỆU VỀ CÔNG CỤ THIẾT KẾ VI MẠCH MAGMA VÀ QUY

Trang 4

B.Quy trình thiết kế vật lý sử dụng Magma tool 25

3.1.Nhập các dữ liệu đầu vào 26

3.1.1.Khái niệm 26

3.1.1.1.Nhập các thư viện luận lý (Import logical library) 26

3.1.1.2 Nhập các luật thiết kế (Technology rules) 27

3.1.1.3.Nhập thư viện vật lý (Import Physical Library) 27

3.1.1.4.Nhập các ràng buộc về thiết kế (Import design constraint) 27

3.1.1.5.Nhập netlist 27

3.1.1.6 Kiểm tra thông tin giữa Logical và Physical 27

3.1.1.7.Quy luật kỹ thuật theo công nghệ sản Xuất (Import Technology Rules) 28

3.1.1.8.Chuẩn bị các quy luật kỹ thuật của thiết kế (design rules) 28

3.1.1.9.Thông tin về grid 28

3.1.2 Thông tin về các lớp đi dây và lớp via 29

3.1.2.1.Thông tin về các lớp đi dây 29

3.1.2.2.Thông tin về lớp via 29

3.1.3 Đặc tính kỹ khuật của các lớp layer 31

3.1.3.1.Luật về khoảng cách (Spacing Rules) 31

3.1.3.2 Đặc tả một số luật cơ bản về hình học trên dây 31

3.1.3.3.Thông tin về mật độ kim loại (metal density) 34

3.1.3.4 Chuẩn bị các quy luật về các thông số ký sinh (điện trở và tụ điện) 35

3.1.3.4.1 Xác định luật về điện trở 35

3.1.3.4.2 Xác định các luật về điện dung 35

3.1.4 Hiệu ứng Antenna 36

3.1.4.1 Khái niệm Antenna 36

3.1.4.2.Các phương pháp khắc phục lỗi Antenna 36

3.2.Tối ưu hóa mức cao - Fix RTL 37

3.2.1 Khái niệm 37

3.2.2 Các bước tiến hành trong fix cell 37

3.2.2.1.Mở rộng thiết kế 37

3.2.2.2.Gỡ bỏ các đoạn code dư thừa và constant 37

3.2.2.3 Automatic clock gatting 37

3.2.2.4.Tổng hợp và chia sẽ khối toán học 38

3.3.Cấu trúc lại Netlist - Fix Netlist 39

3.3.1 Mục đích 39

Trang 5

3.3.2 Các bước tiến hành Fix Netlist 40

3.3.2.1.Loại bỏ cấu trúc thứ bậc của thiết kế ( flatten design) 40

3.3.2.2.Thay đổi thư viện và làm sạch thiết kế 40

3.3.2.3.Chuyển các cell trong model thành các Model SuperCell 40

3.4.Tối ưu hóa thời gian cho mạch - Fix Time 41

3.4.1 Mục đích 41

3.4.2 Các bước thực hiện Fix Time 41

3.4.2.1.Tối ưu hóa dựa trên những rằng buộc về thời gian 41

3.5.Sắp xếp các module và tạo các đường power - Floorplanning Và Power Routing 43

3.5.1 Mục Đích 43

3.5.2 Lưu đồ thực hiện floorflanning và power routing 43

3.5.2.1.Thiết lập một số thông số vật lý 44

3.5.2.2.Kích thước của chip cần thiết kế 44

3.5.2.2.1 Xác định vùng clearance giữa I/O và core 45

3.5.2.2.2 Xác định các thông số cho Cell Row 46

3.5.2.3.Tạo Pad Ring 47

3.5.2.3.1 Tạo các I/O Pin Ring 47

3.5.2.4.Sắp xếp các macro vào vùng core 48

3.5.2.5.Tạo các Blockage 48

3.5.3 Power Routing 49

3.5.3.1 Tạo Power Ring 49

3.5.3.2.Tạo Power Mesh 50

3.5.3.3.Tạo Power Rail 51

3.6.Sắp xếp lại các standard cell – Fix Cell 51

3.6.1 Mục đích 51

3.6.2 Lưu thực hiện bước Fix Cell 52

3.6.3 Thực hiện sắp xếp các Standard Cell 53

3.6.3.1 Global Placer 53

3.6.3.2 Coarse Placer 53

3.6.3.3 Detailed Placement 53

3.6.4 Các phương pháp tối ưu trong Fix Cell 54

3.6.4.1 Timing-Driven Placement 54

Trang 6

3.7.2 Các phương pháp thực hiện 55

3.7.3 Xác định các luật, thông số clock 55

3.7.4 Thiết lập cấu trúc clock 56

3.7.4.1 Cấu trúc nhóm (Clusturing Algorithm) 56

3.7.4.2 Cấu trúc phân cấp (H – Trees) 57

3.7.5 Một số phương pháp tối ưu 58

3.8.Đi các đường signal, clock và đường power còn lại - Fix Wire 59

3.8.1 Mục đích 59

3.8.2 Lưu đồ thực hiện fix wire 59

3.8.2.1.Stub Routing 59

3.8.2.2.Global Routing 60

3.8.2.3.Track Routing 61

3.8.2.4.Detailed Routing 62

3.9.Làm việc trên Top Level 63

CHƯƠNG 4: THỰC HÀNH VÀ KẾT QUẢ 65

A.Thực hiện thiết kế vật lý trên Block PCI_Bridge32 65

4.1.Tối ưu hóa mức cao - Fix RTL 65

4.2.Cấu trúc lại Netlist - Fix Netlist 66

4.3.Tối ưu hóa thời gian - Fix Time 66

4.4.Sắp xếp các module và thiết lập các đường power - Floorplan & Power Routing 67

4.5.Sắp xếp lại các standard cell - Fix Cell 71

4.6.Thiết lập hệ thống đường Clock - Fix Clock 73

4.7.Đi các đường tín hiệu, clock và đường power còn lại - Fix Wire 75

B.Thực hiện thiết kế vật lý trên Chip level BASOC 77

CHƯƠNG 5: TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 83

5.1.Kết luận đề tài 83

5.2 Hướng phát triển của đề tài 83

5.3.Một số hạn chế 84

Tài Liệu Tham Khảo 85

Phụ Lục 86

Trang 7

Danh Mục Các Hình Ảnh

Hình 1.1 Sơ đồ hệ thống SoC

Hinh 1.2 Lưu đồ quy trình thực hiện thiết kế SoC

Hình 2.1 Sơ đồ khối của BASOC

Hình 2.2 Sơ đồ nhiệm vụ được giao

Hình 2.3 Kiến trúc khối PCI Bridge32

Hình 2.4 Kiến trúc WISHBONE Slave Unit

Hình 2.5 Kiến trúc PCI Target Unit

Hình 3.1 Giao diện đồ họa của Magma Tool

Hình 3.2 Quy trình thiết kế Magma trên Block Level

Hình 3.3 (a) single via, (b) array via, (c) stack via

Hình 3.4 Mô tả via cut và via overhang

Hình 3.5 Khoảng cách chéo nhau giữa hai dây

Hình 3.6 Lỗi diagonal phát sinh tại các chỗ nối nhau trên dây

Hình 3.7 Thực hiện metal slotting đối với dây có bề rộng lớn hơn max width

Hình 3.8 Lỗi spacing a nếu fatwire_halo được đặt ở khoảng cách giống thin wire

Trang 8

Hình 3.10 Via overhang thỏa yêu cầu

Hình 3.11 (a) trường hợp lỗi khi thực hiện kết nối chỉ 1 via, (b) không bị lỗi Hình 3.12 Minh hoạ cho các tuỳ chọn window_size, step_size, offset

Hình 3.13 Mô phỏng giá trị điện dung của một đoạn dây

Hình 3.14 Mặt cắt lớp sau chi tiết thành phần điện dung trên đoạn dây.

Hình 3.15 Thực hiện tránh lỗi antenna bằng cách chèn jumper

Hình 3.16 Tránh hiệu ứng antennna bằng cách chèn diode

Hình 3.17 Resource sharing

Hình 3.18 Resource sharing chia sẻ khối toán học

Hình 3.19 Khi chưa điều chỉnh Gain, Slack âm

Hình 3.20 Sau khi đã điều chỉnh Gain, Slack dương

Hình 3.21 Lưu đồ thực hiện Floorplan và Power Routing

Hình 3.22 Mô tả vùng clearance giữa I/O và core

Hình 3.23 Mô tả chi tiết vùng clearance

Hình 3.24 Mô tả cell row

Hình 3.25 Pad ring được hình thành từ pad cell, corner cell, filler cell

Hình 3.26 Cách sắp xếp các I/O pin ring

Hình 3.27 Các dây bị chéo nhau

Hình 3.28 Standard cell placement blockage

Hình 3.29 Core ring và Macro Ring

Hình 3.30 Các đường Power Mesh

Hình 3.31 Các đường Power Rail

Hình 3.32 Lưu đồ thực hiện bước Fix Cell

Hình 3.33 Cấu trúc nhóm (Clusturing Algorithm)

Hình 3.34 Cấu trúc H-tree clock

Hình 3.35 Sau khi chèn buffer tại các điểm cân bằng của cấu trúc H-tree

Hình 3.36 Trước khi thực hiện pin swapping (hệ số slack âm)

Hình 3.37 Sau khi thực hiện pin swapping (hệ số slack dương )

Hình 3.38 Lưu đồ thực hiện Fix Wire

Hình 3.39 Các đọan metal ngắn được hình thành sau khi stub routing

Hình 3.40 Hệ thống các bucket

Hình 3.41 Sau khi thực hiện track routing

Hình 3.42 Thực hiện đi dây theo chế độ increment mode

Trang 9

Hình 3.43 Hình 3.43 Quy trình thiết kế Block va Top Level

Hình 4.1 File report xuất ra sau bước Fix Rtl

Hình 4.2 File report sau khi Fix Netlist

Hình 4.3 File report sau bước Floorplan và Power Routing

Hình 4.4 Block Level sau bước Floorplan

Hình 4.5 Các đường power sau bước Power Routing

Hình 4.6 Các standard cell đã được sắp xếp

Hình 4.7 File report sau khi Fix Cell

Hình 4.8 Hệ thống các đường clock

Hình 4.9 File report sau bước Fix Clock

Hình 4.10 Khối PCI_Bridge32 đã hoàn thiện đầy đủ

Hình 4.11 Lỗi island trước khi và sau khi sửa

Hình 4.12 Lỗi spacing trước và sau khi sửa

Hình 4.13 Các thư viện sử dụng trong Top Level

Hình 4.14 File report sau khi Fix Rtl

Hình 4.15 File report sau khi Fix Netlist

Hình 4.16 Hình ảnh chip sau bước floorplan

Hình 4.17 Đường power hình thành sau bước Power Routing

Hình 4.18 Các cell được sắp xêp sau bước Fix Cell

Hình 4.19 Các standard cell nằm trên cell row

Hình 4.20 Các đường clock hình thành sau khi Fix Clock

Hình 4.21 Chip đã hình thành sau bước Fix Wire

Hình 4.22 Report sau bước Fix Wire

Trang 10

Một Số Từ Viết Tắt

IP Intellectual Property

ASIC Application Specific Integrated Circuit

SoC System on Chip

CAD Computer Aided Design

DRC Design Rule Check

LVS Layout Versus Schematic

DSP Digital Signal Processor

GDS Graphic Design Schematic

ARM Acorn RISC Machine

DMA 1 Direct Memory Access

MPSoC Multi Processor System on Chip

TSMC Taiwan Semiconductor Manuafacturing Company

Trang 11

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRÊN VI MẠCH (SYSTEM ON CHIP - SOC) VÀ QUY TRÌNH

THIẾT KẾ

1.1 Giới thiệu tổng quan về System on Chip – SoC

1.1.1 Định nghĩa System on Chip

SoC là một hệ thống được xây dựng trên ý tưởng tích hợp tất cả các thành phần củamột hệ thống máy tính lên trên một vi mạch đơn (hay còn gọi là một chip đơn) Hệ thốngSoC này có thể bao gồm các khối chức năng số, tương tự, tín hiệu kết hợp (mixed-signal)

và cả các khối tần số radio (RF) Ứng dụng điển hình của các hệ thống trên một vi mạch

là các hệ thống nhúng

1.1.2 Kiến trúc khối SoC

Một SoC tiêu biểu bao gồm:

- Một bộ vi điều khiển (microcontroller), bộ vi xử lý (microprocessor) hay bộ xử lý tín hiệu số (DSP) Một vài hệ thống đa chip (MPSoC) - bao gồm nhiều hơn một lõi xử lý

- Khối bộ nhớ bao gồm một sự lựa chọn của ROM, RAM, EEPROM và Flash

- Nguồn oscillators và PLL

- Ngoại vi bao gồm counter, thời gian thực (real timer) và power-on-reset

- Chuẩn giao tiếp bao gồm các tiêu chuẩn như USB, FireWire, Ethernet, USART, Spi

- Thành phần analog bao gồm cả ADCs và DACs

- Bộ nguồn và bộ điều khiển điện áp

Các khối được kết nối bởi BUS giao tiếp AMBA (phát triển cho các hệ thống chip ARM)hoặc DMA (phát triển cho các bộ vi xử lý máy tính) để điều khiển dữ liệu trực tiếp giữa

bộ phận xử lý, ngoại vi và giao diện bộ nhớ nhằm tăng tốc độ xử lý dữ liệu trên hệ thốngSoC Sự phát triển gần đây của công nghệ bán dẫn cho phép chúng ta tích hợp ngày càngnhiều thành phần vào một hệ thống trên một vi mạch

Công nghệ thiết kế và xây dựng các hệ thống trên một vi mạch (SoC) có thể kể đến như:

- Công nghệ chế tạo ASIC

Trang 12

Các thiết kế SoC thường tiêu tốn ít năng lượng và có giá thành thấp hơn các hệ thống đachip nếu so sánh cùng một thiết kế Ngoài ra, hệ thống đơn chip cũng có tính ổn định caohơn Các ứng dụng xây dựng trên cơ sở sử dụng các hệ thống đơn chip cũng cho giáthành thấp hơn, không gian chiếm chỗ ít hơn.

Hình 1.1: Sơ đồ hệ thống SoC

1.2 Quy trình thiết kế hệ thống trên vi mạch SoC

Quy trình thiết kế một vi mạch hoàn chỉnh bao gồm 2 bước chính:

Thiết kế luận lý (Logical design – Front-end design)

Thiết kế vật lý (Physical design – Back-end design)

1.2.1 Quy trình thiết kế luận lý (Front-end Design)

Trang 13

Sử dụng ngôn ngữ thiết kế phần cứng (Verilog-HDL, VHDL, System-C ) để hiệnthực các chức năng logic của thiết kế Lúc này ta không cần quan tâm đến cấu tạo chi tiếtcủa mạch 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 thanh ghi (register) Đây là thiết kế mức chuyển thanhghi (RTL – Register Transfer Level) Sau đó thiết kế RTL sẽ được mô phỏng để kiểm traxem có thỏa tính đúng đắn của mạch hay không Các CADs phổ biến dùng thiết kế và

mô phỏng RTL là: NC-Verilog, NC-VHDL (của Cadence), ModelSim (của MentorGraphics), VCS (của Synopsys)

Tiếp theo, thiết kế RTL được tổng hợp (synthesize) thành các cổng (gate) cơ bản:NOT, NAND, XOR, MUX,…Quá trình này được thực hiện với sự trợ giúp của cácCADs chuyên dụng Phổ biến hơn cả là Design Compiler (Synopsys), Synplify(Synplicity), XST (Xilinx) Kết quả của quá trình tổng hợp không là duy nhất và tùythuộc vào CADs và thư viện các cổng và macro của nhà sản xuất chip Thiết kế số được

hỗ trợ rất nhiều bởi các công cụ thiết kế chuyên dụng CADs

1.2.2. Quy trình thiết kế vật lý (Back-end Design)

Netlist thu được trong quá trình thiết kế luận lý được dùng để tạo layout cho chip Ởgiai đoạn này các linh kiện (transistor, điện trở, tụ điện, cuộn cảm) và các liên kết giữachúng sẽ được tạo hình (hình dạng thực tế của các linh kiện và dây dẫn trên wafer trongquá trình sản xuất) Việc thiết kế tuân theo các qui luật (design rules) mà nhà sản xuấtđưa ra Các qui luật này phụ thuộc vào khả năng thi công và công nghệ của của nhà máysản xuất Có hai loại qui luật thiết kế là: lamda (λ) và qui luật tuyệt đối Với qui luậtlamda thì các kích thước phải là bội số của lamda, trong khi qui luật tuyệt tuyệt đối sửdụng các kích thước cố định Sử dụng qui luật lamda giúp ta chuyển đổi thiết kế nhanhkhi công nghệ thay đổi

Thiết kế số được hỗ trợ lớn bởi CADs, từ việc sử dụng lại thư viện các cells cơbản cho đến place and route tự động Chip analog đòi hỏi các thiết kế chính xác và các kĩthuật chuyên biệt để đảm bảo tương thích (matching) giữa các linh kiện nhạy cảm, chốngnhiễu (noise) và đáp ứng tần số

Kiểm tra DRC và LVS: Sau khi layout chip và hoàn tất kiểm tra qui luật thiết kế(DRC - Design Rules Check), layout được export thành file netlist để đem so sánh với

Trang 14

tương đồng DRC và LVS được thực hiện bởi các tools chuyên dụng của Synopsys,Candence hay Mentor Graphic Sau đó các toàn bộ quá trình thiết kế vật lý sẽ đượctapeout ra 1 file (*.gds hay *.gdsII) và gửi đến nhà máy sản xuất.

Chip sau khi sản xuất sẽ được kiểm tra (test) trước và sau khi đóng gói để kiểm trathông số trước khi được chuyển cho khách hàng hoặc đưa ra thị trường

Hình 1.2: Lưu đồ quy trình thực hiện thiết kế SoC

1.3 Nội dung và yêu cầu đề tài

Đề tài được giao cho một nhóm gồm 3 thành viên là thiết kế vật lý hoàn chỉnh chipBASOC, nội dung công việc được giao cho em như sau:

Trang 15

Tìm hiểu thiết kế SoC, nghiên cứu thiết kế kiến trúc khối PCI-Bridge32 trong BASOC.

Tìm hiểu quy trình thiết kế vi mạch, quy trình thiết kế vật lý ASIC, sử dụng công

cụ Magma

Thực hiện thiết kế vật lý khối PCI_Bridge32 (do Phạm Đình Hoàng thực hiện), khối vi xử lý OR1200 (do Danh Ngọc Phương thực hiện) và khối kết nối dữ liệu

HDLC ( do Vũ Hoàng Duy thực hiện) Sau khi các khối đã hoàn thành, cả nhóm

sẽ cùng nhau thực hiện thiết kế trên toàn bộ chip (Top level) để tạo thành mộtchip hoàn chỉnh

Trang 16

CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG TRÊN VI MẠCH CƠ BẢN - BASOC VÀ KIẾN TRÚC

KHỐI PCI_BRIDGE32

2.1 Giới thiệu về BASOC

BASOC – Basic System on Chip là một hệ thống SoC cơ bản bao gồm các khối:

- Vi xử lý RISC - OR1200 kiến trúc Harvard

- 2 Wishbone System bus

- Khối DMA Bridge

- USB function controller

- 4 khối điều khiển HDLC

- 16550 compatible UART

- PCI interface

Một số tính chất của khối BASOC:

- Khối BASOC chứa khoảng 75k standard cell

- Có 16 macro RAM

- Có khoảng 140 chân I/O, không có chân nào limited

- Có nhiều clock cho bộ vi xử lý, WISHBONE bus và giao thức truyền thông

- Các khối block được viết bằng ngôn ngữ Verilog và VHDL

Việc thi công chip sử dụng công nghệ 90nm TSMC Các thư viện standard cell, pad, vàRAM libraries dựa vào các thư viện chuẩn của nhà sản xuất TSMC

Trang 17

BASOCHình 2.1: Sơ đồ khối của BASOC

Hình 2.2: Sơ đồ nhiệm vụ được giao

2.2 Tổng Quan Về Khối PCI-Bridge32

2.2.1 Giới Thiệu

Trang 18

Ngày nay, PCI bus là một chuẩn kết nối tốt nhất để tích hợp các ứng dụng nhúng vàomột hệ thống lớn hơn PCI Bridge IP core là một cầu kết nối thực có nhiệm vụ liên kếtcác khối IP trong một thiết kế trên WISHBONE bus Khối PCI Bridge IP core chứaWISHBONE kết nối tương thích với một chuẩn mở PCI Bridge có thể sử dụng trong rấtnhiều ứng dụng khác nhau.

Hình 2.3: Kiến trúc khối PCI Bridge32

2.2.2 Những đặc tính của khối PCI_Bridge32

- Xung clock độc lập giữa PCI và WISHBONE

- Có thể hoạt động ở hai chế độ là HOST và GUEST

- PCI hoạt động ở tần số 33MHz, WISHBONE hoạt động ở tần số 66MHz

- Hỗ trợ đầy đủ các lệnh và thanh ghi trạng thái

2.2.3 Kiến trúc khối PCI_Bridge32

Khối PCI-Bridge32 được chia làm hai khối lớn WISHBONE Slave và PCITARGET Cả hai khối đều hỗ trợ giao tiếp qua lại lẫn nhau, WISHBONE slave hoạtđộng như là tớ “slave” trên WISHBONE side và khởi tạo hoạt động giống như chủ

“master” trên PCI bus PCI Target hoạt động như target trên PCI side và giống như chủ

Trang 19

PCI target thực thi giao tiếp target trên PCI bus và giao tiếp chủ trên WISHBONE bus.WISHBONE bus thực thi giao tiếp tớ trên WISHBONE bus và giao tiếp chủ trên PCIbus.

2.2.3.1 WISHBONE Slave

Hình 2.4: Kiến trúc WISHBONE Slave UnitWISHBONE bus có thể truy cập vào PCI bus thông qua WISHBONE slave unit Mộttrong 5 image cấu hình có thể được dùng để truy cập vào vùng địa chỉ PCI

Mỗi image có:

• Base address register – thanh ghi địa chỉ cơ bản

• Address mask register – thanh ghi địa chỉ mặt nạ

• Translation address register – thanh ghi địa chỉ chuyển đổi

• Image control register – thanh ghi điều khiển image

• Decoder – bộ giải mã

2.2.3.1.1 WISHBONE Slave Module

WISHBONE slave module chứa 1 tới 6 đơn vị image, giao tiếp 32bit Nó quản lýchu kỳ đọc ghi vào image và cấu hình truy cập không gian của vùng địa chỉ PCI

2.2.3.1.2 WBW_FIFO

WBW_FIFO được dùng để đưa bộ nhớ và chu kỳ write I/O thiết lập bởi

Trang 20

WBW_FIFO với những ứng dụng cụ thể cần thiết để đưa nhiều hơn hay ít hơn chu kỳwrite.

2.2.3.1.3 WBR_FIFO

WBR_FIFO dùng để lưu trữ dữ liệu đọc từ PCI target, PCI bus xác định tốc độ chuđọc tới WBR_FIFO và WISHBONE bus điều chỉnh tốc độ chu kỳ đọc từ WBR_FIFO

2.2.3.1.4 PCI Master Module

PCI master module sử dụng thông tin được cung cấp bởi WISHBONE slavemodule để thiết lập PCI bus cycles Nó hoạt động ở tần số 66MHz, 32 bit

2.2.3.1.5 PCI TARGET Unit

Hình 2.5: Kiến trúc PCI Target UnitPCI có thể truy cập WISHBONE bus thông qua PCI target unit của cầu nối, nócung cấp 1 tới 6 images không gian bộ nhớ của WISHBONE side Mỗi image đượcchọn bằng một địa chỉ đã được chỉ định trong phase địa chỉ của PCI bus Nó so sánh vớiđịa chỉ mặt nạ với giá trị mặt nạ được lưu trữ trên thanh ghi cấu hình PCI và có thể đượcmap vào vào bộ nhớ hoặc không gian I/O Một địa chỉ cũng có thể được chuyển đổithành một giá trị lưu trữ trên thanh ghi chuyển đổi nếu image được cấu hình chính xác.Chu kỳ ghi (write) thông qua PCI target unit được quản lý giống như Posted Writes Chu

kỳ đọc có thể được lấy ra trước

PCIW_FIFO lưu trữ chu kỳ Posted Write, PCIR_FIFO lưu lại chu kỳ đọc lấy ra trước

Trang 21

2.2.3.2 PCI Target Module

PCI target module sử dụng PCIW_FIFO để đưa bộ nhớ và chu kỳ I/O được thiết lậpbởi PCI Parameterized depth cung cấp tùy chọn để định nghĩa PCIW_FIFO với nhữngứng dụng cụ thể cần để đưa nhiều hoặc ít hơn chu kỳ ghi

2.2.3.2.1 PCIR_FIFO

WISHBONE master module sử dụng PCIR_FIFO để lưu trữ dữ liệu đọc từWISHBONE Slave WISHBONE bus xác định tốc độ chu kỳ đọc tới PCIR_FIFO, PCIbus điều chỉnh tốc độ chu kỳ đọc từ PCIR_FIFO

2.2.3.2.2 WISHBONE Master Module

WISHBONE master module là một giao thức kết nối 32bit Thông quaWISHBONE master module, core sẽ gửi yêu cầu tới WISHBONE bus

2.2.3.2.3 Cấu trúc cây thư mục rtl của khối PCI_Bridge32

Trang 23

• * : file sử dụng nhiều lần trong nhiều module khác nhau.

• **: file sử dụng nhiều lần trong một module

• ***: bufif0 là một buffer 3 trạng thái, nó được sử dụng trong top.v 47 lần

Trang 24

CHƯƠNG 3: GIỚI THIỆU VỀ CÔNG CỤ THIẾT KẾ VI MẠCH MAGMA VÀ QUY TRÌNH THIẾT KẾ SOC SỬ

DỤNG MAGMA

A Giới thiệu về công cụ Magma

Ngày nay cùng với sự phát triển mạnh mẽ của công nghệ thông tin, và mạnginternet, rất nhiều phần mềm ra đời đã giảm đã giảm bớt gánh nặng công việc cho conngười, giúp tăng hiệu quả công việc cũng như nâng cao chất lượng sản phẩm Trong lĩnhvực thiết kế vi mạch cũng vậy, có rất nhiều phần mềm ra đời đã giúp cho người kỹ sưthiết kế tiết kiệm được thời gian và công sức, nâng cao hiệu quả trong quá trình làm việc.Một trong số những phần mềm lớn có hướng ứng dụng cao trong công nghệ thiết kế vimạch là Magma

Phầm mềm ứng dụng Magma là công cụ tích hợp nhiều chức năng

Magma tool có thể hổ trợ việc tổng hợp, phân tích dữ liệu cho tất cả các tiến trìnhtrong thiết kế SoC (System on Chip) Đặc biệt Magma là công cụ đắc lực cho quy trìnhthiết kế vật lý Nó hỗ trợ rất nhiều cho người dùng trong việc mô hình hóa dữ liệu, phântích, sửa chữa và giúp cho việc thực hiện quy trình thiết kế vật lý trở nên dễ dàng hơn

Độ chính xác trong xử lý và phân tích cao

Tốc độ xử lý công việc nhanh giúp người thiết kế tiết kiệm được thời gian

Magma tool có hai giao diện hỗ trợ cho người dùng trong quy trình thiết kế vật lý và nóthực thi được các chương trình viết bằng ngôn ngữ TCL

Giao diện dòng lệnh – mantle: Ta sử dụng giao diện dòng lệnh để thực thi các yêu cầu

thiết kế Ưu điểm của mantle là thực thi nhiều lệnh cùng một lúc bằng cách kết hợp cáclệnh với nhau thành các đoạn script Ta có thể dễ dàng kiểm soát được công việc màmình đang làm Tốc độ xử lý cũng rất nhanh so với giao diện đồ họa

Giao diện đồ họa – GUI ( Graphical User Interface): Thông qua GUI ta có thể dễ dàng

thấy được thiết kế của mình một cách dễ dàng, lúc này dữ liệu được mô hình hóa mộtcách trực quan, ngoài ra ta còn có thể kiểm tra, phát hiện và sửa các lỗi phát sinh, chỉnhsửa dữ liệu cho thỏa yêu cầu thiết kế

Trang 25

Hình 3.1: Giao diện đồ họa của Magma Tool

B Quy trình thiết kế vật lý sử dụng Magma tool

Quy trình thiết kế vật lý (Backend) là quy trình chuyển từ các mô tả luận lý thành

các các đặc tả vật lý của các cell và chuyển các đường liên kết luận lý thành các đườngkim loại thực sự Quy trình thiết kế có thể bắt đầu từ RTL tới GDSII hoặc từ Netlist tớiGDSII

Mantlee Design

Trang 26

Hình 3.2: Quy trình thiết kế Magma trên block level

3.1 Nhập các dữ liệu đầu vào

3.1.1 Khái niệm

Đây là quá trình nhập tất cả những thông tin về công nghệ sản xuất, các yêu cầuthiết kế của khách hàng: về điện năng tiêu thụ, tốc độ chip, diện tích chip, thông tin vềcấu trúc vật lý của cell cũng như những thông tin về chức năng, khả năng hoạt độngtrong những điều kiện về điện áp, nhiệt độ, công nghệ… Những đặc tả về việc kết nốicủa các cell thiết kế (netlist) Tất cả những thông tin này tạo thành dữ liệu đầu vào(database)

3.1.1.1 Nhập các thư viện luận lý (Import logical library)

Thư viện luận lý chứa các thành phần cơ bản như: memory, I/O pin, pad, điện trở, tụđiện, các cổng như and, or, not, nor, nand, xor, buffer,…(các cổng này gọi là cácstandard cell)

Thư viện luận lý cung cấp thông tin về diện tích, công suất tiêu thụ năng lượng, dòng

rò, thời gian qua của mỗi cell Bên cạnh đó thư viện còn cho biết các thông số về nhiệt

độ, mức điện thế để cell có thể hoạt động và những điều kiện tốt nhất và xấu nhất mà cellhoạt động được

Trang 27

Các thông tin trong thư viện luận lý rất cần cho việc thiết kế Khi nắm chính xácthông tin thời gian của các cell sẽ giúp cho việc tính toán thời gian trên đường truyền tínhiệu chính xác hơn Có được các thông tin về diện tích các cell giúp ta ước lượng và tối

ưu hơn diện tích thiết kế Biết được những điều kiện tốt nhất và xấu nhất mà cell cònhoạt động ta có thể chọn những cell nào phù hợp trong việc thiết kế

3.1.1.2 Nhập các luật thiết kế (Technology rules)

Nhập các yêu cầu của nhà sản xuất và các yêu cầu công nghệ sản xuất chip Các

luật này sẽ được trình bày trong phần đặc tả các luật về kỹ thuật trên các lớp

3.1.1.3 Nhập thư viện vật lý (Import Physical Library)

Bước này sẽ nhập các thông tin của file LEF hoặc GDSII File LEF chứa thông tin vềtọa độ pin, hướng truyền nhận tín hiệu của pin (input, output), lớp Riêng file GDSIIchứa thông tin vật lý của các lớp, các cell, pad, via, diện tích thực của các cell…File

GDSII là file binary Để nhập file GDSII dùng lệnh import gds2.

Sau khi nhập các thư viện vật lý cần thực hiện việc kiểm tra xem thông tin trong fileLEF, GDSII có dùng để route được không, kiểm tra các cell có trong thư viện vật lýkhông Bởi vì trong thư viện mỗi loại cell về số lượng rất nhiều, có thể khi viết thiết kế

có đề cập một loại nào đấy nhưng thư viện không có Việc kiểm tra được thực hiện bằng

lệnh run prepare lib.

Trong giai đoạn này, super cell model cũng được tạo ra thông qua lệnh :

run prepare lib

3.1.1.4. Nhập các ràng buộc về thiết kế (Import design constraint)

Các ràng buộc thiết kế gồm thông tin luận lý về timing của đường liên kết giữa cáccell (timing path) Các thông tin về thời gian do khách hàng yêu cầu Để nhập các ràng

buộc về thiết kế dùng lệnh import sdc.

3.1.1.5 Nhập netlist

Nhập cấu trúc luận lý của một một bảng thiết kế (schematic) Netlist sẽ cho ta biết cáckết nối luận lý giữa các cell

Trang 28

Khâu kiểm tra này nhằm đối chiếu lại những thông tin mà nhóm Front-end chuẩn bị

có khớp với những thông tin logical mà nhập vào hay không

Sau khi kiểm tra hoàn tất và các dữ liệu đều phù hợp với nhau thì ta có được một cơ sở

dữ liệu cho việc thiết kế vật lý

3.1.1.7 Quy luật kỹ thuật theo công nghệ sản Xuất (Import Technology

Rules)

Mỗi nhà sản xuất có công nghệ sản xuất khác nhau đòi hỏi người thiết kế cần biết đểtính toán thiết kế Để tạo được thành phẩm tốt người thiết kế cần hiểu rõ các yêu cầucông nghệ của nhà sản xuất đưa ra và chuẩn bị chu đáo quy luật kỹ thuật thỏa các yêucầu sản xuất Các quy luật đó bao gồm

 Các quy luật về thiết kế (design rules) Luật này chứa các thông tin về grid,layer, via layer,…Luật về thông số ký sinh trên lớp thực hiện

 Các luật để tránh hiệu ứng antenna

3.1.1.8 Chuẩn bị các quy luật kỹ thuật của thiết kế (design rules)

Dựa vào thông tin của nhà sản xuất mà người thiết kế sẽ đưa ra các quy luật của grid,via, các lớp đi dây, mật độ kim loại cho bản thiết kế Các quy luật này sử dụng trong suốtquá trình thiết kế, phân tích và kiểm tra vật lý

3.1.1.9 Thông tin về grid

Đây là yếu tố cơ bản cần cho việc thiết kế và sản xuất Các grid đóng vai trò nhưmạng lưới tọa độ để xác định vị trí đặt các cell, đi các đường dây cần phải dựa vào grid

Có một số loại grid sau được định nghĩa:

Manufacturing grid: Xác định dựa vào kích thước hình học nhỏ nhất mà nhà sản

xuất có thể thực hiện được Tất cả các thành phần có dạng hình học được tạo rabao gồm các cell và các đường dây liên kết phải nằm trên manufacturing grid

Routing grid: Trong quá trình đi dây, các đường dây nối các pin input/output của

các cell căn cứ trên routing grid Kỹ thuật mới mà Magma dùng là subgridrouting Kỹ thuật này có một số cải tiến hơn những kỹ thuật đi dây dựa vào grid

và không sử dụng grid (grid-based routing và gridless router) trước đó

Trang 29

Placement grid: Đây là mạng lưới dùng xác định toạ độ đặt các standard cell và

có thể xác định grid đặt cho các cell theo hướng xác định Nếu xác định theohướng trục hoành (horizontal) có nghĩa là toạ độ y của cell sẽ được canh theo gridnày Nếu xác định theo trục tung (vertical) thì toạ độ x của cell sẽ được canh theogrid này Giá trị của Placement grid trên 2 hướng tương ứng với chiều cao vàchiều rộng của standard cell nhỏ nhất có trong thư viện Nếu chưa định nghĩa

placement grid thì hệ thống có thể dùng routing pitch để đặt các cell

Clock grid: Dùng cú pháp lệnh rule grid clock để thiết lập hệ thống grid cho các

đường tín hiệu clock Nếu không được thiết lập thì mặc định dùng routing grid để

đi các đường tín hiệu clock

I/O grid: Tương ứng như Placement grid, I/O grid xác định tọa độ đặt các I/O.

Giá trị này được xác định bằng chiều cao và chiều rộng của I/O nhỏ nhất tương

ứng với 2 hướng: hướng trục hoành và trục tung Dùng cú pháp lệnh rule grid io

để định nghĩa placement grid cho các I/O pin Nếu không được định nghĩa thì mặcđịnh dùng routing grid để xác định vị trí đặt các I/O pin

3.1.2 Thông tin về các lớp đi dây và lớp via

3.1.2.1 Thông tin về các lớp đi dây

Các đường dây, các pin I/O của cell nằm trên metal layer (lớp dẫn điện còn gọi làrouting layer) Routing layer mang các thông số, khoảng cách nhỏ nhất giữa 2 dây, cácluật về độ rộng nhỏ nhất của các đường dây, routing pitch, hướng ưu tiên để đi cácđường dây (vertical/horizonal), các giá trị trở kháng trên đơn vị diện tích hoặc chiều dài

3.1.2.2 Thông tin về lớp via

Lớp via hay còn gọi là cut via Chức năng chính của via là hình thành liên kết,dẫnđiện giữa các đường dây trên layer các layer khác nhau Có 3 dạng via: via đơn, viamảng, via nối tầng

Via đơn (Single via): Single via dùng cho việc kết nối giữa hai đường tín hiệu

trên hai lớp liên tục nhau Single via dùng cho trường hợp chiều rộng dây nhỏ

Mảng via (Array via): Array via dùng kết nối các dây ở các lớp khác nhau

trong trường hợp cần bảo đảm đủ cường độ dòng truyền đến các dây Array

Trang 30

Via nối tầng (Stack via): Các via được nối chồng nhau liên kết giữa hai lớp

cách xa nhau

Hình 3.3: (a) single via, (b) array via, (c) stack via

Lệnh rule via định nghĩa kích thước cho cut layer, overhang, các thông số ràng buộc

giữa ba lớp (cut layer, hai routing layer liền kề cần nối liên kết về điện) Cú pháp lệnh:

rule via via - cut_layer -bottom_layer -top_layer -cut_width -cut_height -bottom_x_over -bottom_y_over -top_x_over -top_y_over

Thông thường, hình dạng cut phải là hình vuông (chiều dài và chiều rộng của cut bằngnhau) Chiều dài của các routing layer gối lên cut layer (overhang) thì không cần đốixứng

Hình 3.4: Mô tả via cut và via overhangKhi xét thông số cho array via, ngoài các thông số kích thước cut layer, giá trị overhang,cần thiết lập thêm thông số khoảng cách giữa các cut trong array via

bottom_y_over

overhang bottom_x_over top_y_over

top_x_over

cut

Trang 31

3.1.3 Đặc tính kỹ khuật của các lớp layer

3.1.3.1 Luật về khoảng cách (Spacing Rules)

Mô tả yêu cầu về khoảng cách giữa hai vật thể hình học bất kỳ trên cùng một lớp.Mối tương quan về khoảng cách giữa hai vật thể hình học có thể là via – via, net –blockage, pin – net, net – net… Nếu trong quá trình thiết kế không thỏa yêu cầu khoảngcách giữa các vật thể có thể gây ra lỗi

Ta cần thiết lập thông số yêu cầu khoảng cách nhỏ nhất để không bị lỗi spacing vàshort giữa hai vật thể hình học đứng cạnh nhau trên metal layer đang xét Khoảng cáchnày có thể thay đổi tùy theo độ rộng đường dây của routing layer đang xét Thực hiệnthiết lập các thông số này dựa vào cú pháp lệnh :

rule layer spacing layer spacing library -width [width/{pair width}]

-adjacent_via {num_cuts within_distance}

Ví dụ

rule layer spacing m1 0.23 $l

0.23u là khoảng cách nhỏ nhất giữa hai dây trên layer m1

Ngoài ra ta cũng cần quan tâm đến khoảng cách chéo nhau giữa hai dây (diagonal spacing)

Hình 3.5: Khoảng cách chéo nhau giữa hai dây

Dùng lệnh rule diagonal spacing đặt luật về khoảng cách hai dây chéo nhau.

3.1.3.2 Đặc tả một số luật cơ bản về hình học trên dây

Các luật hình học trên dây đặc tả các quan hệ ràng buộc giữa các dây để không phátsinh các lỗi Các luật hình học trên dây này gồm có các luật: routing width rule, diagonalwidth rule, maximum width rule, technology width rule, fat wire halo rule, notch rule,hole rule, island rule, short-edge rule,v.v

dy dx d

Trang 32

Routing width rule: Nếu độ rộng của dây quá nhỏ có thể gây ra nhiều lỗi khác

như: không đủ mật độ kim loại cần thiết (island), không thoả yêu cầu truyền dẫnđiện,…Routing width rule nhằm đặt luật quy định bề rộng tối thiểu mà một dâycần có

Diagonal width rule: Trên toàn bộ đường truyền có thể có nhiều đoạn dây nhỏ nối

nhau Có thể các đoạn dây này thoả luật routing width rule nhưng tại những chỗnối nhau cần xem xét lại Nếu tại những chỗ nối nhau không thỏa về yêu cầu bềrộng nhỏ nhất (routing width rule) thì lỗi diagonal xãy ra Hình bên dưới minh hoạ

về lỗi diagonal width

Hình 3.6: Lỗi diagonal phát sinh tại các chỗ nối nhau trên dây

Maximum width rule: Một dây có bề rộng quá lớn có thể gây ra lỗi Ta có thể khác

phục lỗi này bằng cách tách thành nhiều dây kim loại nhỏ hơn (metal slotting)

Hình 3.7: Thực hiện metal slotting đối với dây có bề rộng lớn hơn maxwidthLệnh rule layer physical –maximum_width đặt ra giới hạn lớn nhất cho bề rộng một

dây mà không gây ra lỗi

Fat wire halo rule: Fatwire_halo là phần chuyển tiếp của dây có bề rộng nhỏ (thin

wire) nối với dây có bề rộng lớn (fat wire) Fatwire_halo được gán các luật, đặc tínhnhư fat wire

Trang 33

Giả sử fat wire phải cách thin wire một khoảng là 0.6u Thin wire cách thin wire mộtkhoảng là 0.23u Fatwire_halo sẽ được gán luật giống với fat wire Do đóFatwire_halo sẽ có khoảng cách với thin wire là 0.6u

Hình 3.8: (a) lỗi spacing xãy ra nếu fatwire_halo được đặt ở khoảng

cách giống thin wire, (b) không có lỗi spacing xãy ra nếufatwire_halo được đặt ở khoảng cách giống fat wire

Để tạo fatwire_halo dùng cú pháp lệnh rule layer physical

Notch rule: Bản chất của luật này là qui đinh khoảng cách nhỏ nhất của 2 khối hình học

trên cùng một đường kết nối Khi một đường dây đi gấp khúc như hình (a) có thể gây

ra lỗi notch Hoặc trên cùng một đường tín hiệu mà được nối với nhau bởi nhiều đoạn,

có thể bị hở và gây ra lỗi notch như hình (b), (c)

Hình 3.9: Các trường hợp gây ra lỗi notch thường thấy

lỗi spacing

Trang 34

Có thể chữa lỗi notch bằng các dùng lệnh run rout refine notch để lấp những khoảng

hở của dây

Một số luật cho via khi thực hiện kết nối

Khi liên kết giữa thin wire và fat wire,via overhang phải có chiều rộng tối thiểu nhất định để thỏa yêu cầu chiều rộng tối thiểu của fat wire

Hình 3.10: a, b, d via overhang thỏa yêu cầu, c via overhang không thỏa yêu cầuNgoài ra, việc kết nối giữa thin wire và fat wire còn phụ thuộc vào số lượng via cần

có để thực hiện kết nối Tuỳ vào chiều rộng của fat wire mà số lượng via ít hay nhiều Nếu chiều rộng của fat wire càng lớn thì số lượng via càng nhiều

Hình 3.11: (a) trường hợp lỗi khi thực hiện kết nối chỉ 1 via, (b) không bị lỗi

3.1.3.3 Thông tin về mật độ kim loại (metal density)

Mỗi nhà sản xuất có yêu cầu khác nhau về tỷ lệ mật độ kim loại trên các metal layer.Một vùng với mật độ kim loại quá dày hoặc quá ít đều có thể gây lỗi và có thể dẫn đếnnhiều lỗi khác

Dùng lệnh rule layer density để quy định mật độ kim loại lớn nhất và nhỏ nhất cần có trên

metal layer

Trang 35

rule layer density layer_name library_name -window_size {x , y} -step_size {x , y} -offset {x , y} -minumum value -maximum value

Hình 3.12: Minh hoạ cho các tuỳ chọn window_size, step_size, offset

Ví dụ:

rule layer dendity m1 $l -minimum 0.2 -maximum 0.8 window_size {50u 50u} -step_size {25u 25u} -offset {10u 10u}

3.1.3.4 Chuẩn bị các quy luật về các thông số ký sinh (điện trở và tụ điện)

Để tính toán thời gian trì hoãn, phân tích thời gian và có được tín hiệu chính xác đòihỏi phải xác định các luật về các thông số ký sinh (điện trở và điện dung)

3.1.3.4.1 Xác định luật về điện trở

Điện trở của một dây trên lớp dẫn điện được tính toán bằng giá trị điện trở suất trênmột đơn vị chiều dày của lớp kim loại (ohms per square) có đơn vị là ohm hay là bội sốcủa ohm Giá trị điện trở của via là hằng số Để xác định điện trở của dây trên lớp dẫn

điện ta dùng lệnh rule layer resistance.

Ví dụ:

rule layer resistance metal1 0.09 tsmc_25u -type min –width 0.4u

Điện trở của các dây có bề rộng 0.4u trên lớp metal1 là 0.09 ohm/m2

3.1.3.4.2 Xác định các luật về điện dung

Giá trị điện dung của một cấu trúc kết nối phức tạp là tổng giá trị điện dung của tất cả

offset

Trang 36

Hình vẽ 3.13: Mô phỏng giá trị điện dung của một đoạn dây

Hình 3.14: Mặt cắt lớp sau chi tiết thành phần điện dung trên đoạn dây

3.1.4 Hiệu ứng Antenna

3.1.4.1 Khái niệm Antenna

Hiệu ứng antenna phát sinh trong quá trình sản xuất Trong quá trình kết nối cácđường kim loại, giữa các lớp, một đường kim loại có một đầu nối với cổng transistor vàđầu còn lại chưa kịp kết nối, do đó dây ở trạng thái thả nổi (floating) Nếu đường dâychưa được kết nối quá dài thì nó có thể tích điện và tập trung điện tích trong quá trìnhsản xuất, Nếu năng lượng tiếp tục tăng thì đến một lúc nào đó nó đột ngột phóng điệngây hư hỏng transistor

3.1.4.2 Các phương pháp khắc phục lỗi Antenna

Để tránh hiệu ứng antenna xảy ra, ta phải chia nhỏ đoạn dây thả nổi tích điện thànhcác đoạn nhỏ hơn để tránh sự tích điện và phóng điện xảy ra tại các cổng transistor Hoặc

có thể chèn diode tại cực cổng để gánh dòng điện trên dây phóng ra Có hai cách tránh

Trang 37

Hình3.15: Thực hiện tránh lỗi antenna bằng cách chèn jumper

Hình 3.16: Tránh hiệu ứng antenna bằng cách chèn diode

3.2 Tối ưu hóa mức cao - Fix RTL

3.2.1 Khái niệm

Fix RTL là quá trình tối ưu hóa ở mức cao, sau khi nhóm front-end đã hoàn thànhcông việc thì kết quả thiết kế sẽ là các mã RTL Ta phải tối ưu hóa những đoạn mã nàycho phù hợp với công việc của back-end

3.2.2 Các bước tiến hành trong fix cell

3.2.2.1 Mở rộng thiết kế

Trong bước này ta sẽ đi sâu vào bên trong thiết kế, trải rộng thiết kế để tối ưu, ở bướcnày Magma có khả năng “nhìn sâu” vào một khối macro để tối ưu nó

3.2.2.2 Gỡ bỏ các đoạn code dư thừa và constant

Trong quá trình làm front-end có thể phát sinh ra những đoạn code thừa không cầnthiết thì bước fix RTL sẽ loại bỏ đi những đoạn code thừa đó, hoặc có những đoạn codeđược lặp đi lặp lại nhiều lần thì Magma cũng tự động bỏ đi để làm cho thiết kế được tối

ưu hóa

Trang 38

Trong bước này sẽ chèn mạch tổ hợp hoặc mạch chốt trước flip-flop có chân ENAnhằm duy trì trạng thái của chân clock không đổi trong một thời gian nhất định nhằmgiảm sự tiêu tốn năng lương cho mạch Ngoài ra còn có thể dùng để test chức năng củamạch.

Để chèn clock gatting vao mạch ta có thể sử dụng 2 lệnh sau:

 Config rtl clockgate [on|of] -option

 Force rtl clockgate model_name [on|of] –option

3.2.2.4 Tổng hợp và chia sẽ khối toán học

Trong quá trình tổng hợp và tối ưu hóa, Magma có thể xác định được các khối toánhọc giống nhau, trùng nhau Hoặc nếu khối toán học đó đã đã được tối ưu hóa thì nó sẽthay thế những khối toán học thừa đó nhằm làm giảm kích thước của thiết kế Đồng thờicũng giảm thời gian tính toán của mạch

Ta có thể điều khiển resourse sharing bằng 2 lệnh sau:

 Config rlt sharing value

 Force rtl sharing value object [-hier]

Hình3.17: Resource sharing

Trang 39

Hình 3.18: Resource sharing chia sẻ khối toán học

Ta cũng có thể sử dụng lệnh:

 Fix rtl model -option

Khi đó Magma sẽ tự động thực thi một số lệnh nhỏ bên trong

3.3 Cấu trúc lại Netlist - Fix Netlist

3.3.1 Mục đích

Trong bước fix netlist ta sẽ chuyển đổi mã RTL đã được tối ưu ở bước fix rtl thànhcác SuperCell Models Bởi vì SuperCell Models là đại diện cho một nhóm cell nênSuperCell Models không có kích thước thực và thời gian đi qua SuperCell Models là thờigian tượng trưng Điều này làm giảm việc tính toán và ước lượng thời gian hiệu quả hơn.Việc chuyển đổi sang SuperCell Models rất có ý nghĩa trong việc phân tích và tối

ưu thời gian đường truyền Bên cạnh đó, việc tính toán và ước lượng để tối ưu về thờigian, chiều dài dây được giảm đáng kể khi thực hiện trên SuperCell Models Ngoài ra khidùng SuperCell Models sẽ giúp thoả mãn các quy luật về thời gian

Ví dụ: Giả sử lúc đầu chuyển cổng nandx1 sang super cell Nếu trong quá trình tínhtoán, sắp xếp nhận thấy việc dùng nandx1 không thỏa khả năng lái tải (drive strength)hoặc chưa tối ưu về thời gian thì tool sẽ tự động dùng super cell như cổng nand khác códrive strength mạnh hơn, tối ưu hơn về thời gian chẳng hạn là nandx4 Sau đó, khichuyển super cell thành standard cell phục vụ cho việc tính toán theo thời gian thực trênmỗi standard cell thì cổng nandx4 sẽ được thay thế

Trang 40

Cũng trong bước này, Magma cũng tiến hành thiết lập các đường datapath và tối ưuhóa logic của mạch Tạo ra một thiết kế duy nhất, sau đó khởi tạo kỹ thuật mapping.Lệnh này chỉ dùng khi dữ liệu đầu vào là file RTL, nếu thiết kế đã là các file netlist thì ta

có thể bỏ qua bước này và tiến hành ngay bước fix time

3.3.2 Các bước tiến hành Fix Netlist

3.3.2.1 Loại bỏ cấu trúc thứ bậc của thiết kế ( flatten design)

Trong bước này Magma sẽ flatten một thực thể xác định (có thể là model hoặc cell).Nếu là model thì Magma sẽ trải phẳng theo cấu trúc thứ bậc của model Nếu là cell thìMagma sẽ flatten theo một cấp duy nhất, nó sẽ làm mờ (dissolves) cell và copy nội dungbên trong cell vào model chứa nó Việc loại bỏ tạm thời cấu trúc thứ bậc của thiết kếgiúp Magma “nhìn” chi tiết hơn kết nối giữa các cell trong thiết kế, làm cho việc tối ưuhóa được tốt hơn

Trong bước này sẽ sử dụng lệnh:

Data flatten object –option

3.3.2.2 Thay đổi thư viện và làm sạch thiết kế

Trong bước này Magma sẽ unmap model với thư viện xác định đã được map từ trướcnhằm tối ưu hóa logic hoặc thay đổi mục tiêu thiết kế từ thư viện này sang thư viện khác.Sau khi đã unmap ta phải map thư viện mới với thiết kế

Một số lệnh được sử dụng:

run gate unmap $m $l –option

run gate map $m $l –option

Sau khi đã map model vào một thư viện mới sẽ phát sinh những cell dư thừa hoặc không được map ta phải xóa bỏ các cell đó bằng lệnh:

run gate sweep $m –option

3.3.2.3 Chuyển các cell trong model thành các Model SuperCell

Một số lệnh được sử dụng trong bước này

run gate unmap $m –option

Ngày đăng: 22/10/2014, 10:25

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ hệ thống SoC - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 1.1 Sơ đồ hệ thống SoC (Trang 12)
Hình 1.2: Lưu đồ quy trình thực hiện thiết kế SoC - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 1.2 Lưu đồ quy trình thực hiện thiết kế SoC (Trang 14)
Hình 2.1:  Sơ đồ khối của BASOC - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 2.1 Sơ đồ khối của BASOC (Trang 17)
Hình 2.3: Kiến trúc khối PCI Bridge32 - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 2.3 Kiến trúc khối PCI Bridge32 (Trang 18)
Hình 3.1: Giao diện đồ họa của Magma Tool - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.1 Giao diện đồ họa của Magma Tool (Trang 25)
Hình 3.2: Quy trình thiết kế Magma trên block level - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.2 Quy trình thiết kế Magma trên block level (Trang 26)
Hình 3.3:  (a) single via,  (b) array via, (c) stack via - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.3 (a) single via, (b) array via, (c) stack via (Trang 30)
Hình 3.9:  Các trường hợp gây ra lỗi notch thường thấy - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.9 Các trường hợp gây ra lỗi notch thường thấy (Trang 33)
Hình 3.14: Mặt cắt lớp sau chi tiết thành phần điện dung trên đoạn dây. - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.14 Mặt cắt lớp sau chi tiết thành phần điện dung trên đoạn dây (Trang 36)
Hình 3.18:  Resource sharing chia sẻ khối toán học Ta cũng có thể sử dụng lệnh: - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.18 Resource sharing chia sẻ khối toán học Ta cũng có thể sử dụng lệnh: (Trang 39)
Hình 3.19:  Khi chưa điều chỉnh Gain, Slack âm - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.19 Khi chưa điều chỉnh Gain, Slack âm (Trang 42)
Hình 3.21: Lưu đồ thực hiện Floorplan và Power Routing - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.21 Lưu đồ thực hiện Floorplan và Power Routing (Trang 44)
Hình 3.22:  Mô tả vùng clearance giữa I/O và core - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.22 Mô tả vùng clearance giữa I/O và core (Trang 45)
Hình 3.23:  Mô tả chi tiết vùng clearance - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.23 Mô tả chi tiết vùng clearance (Trang 46)
Hình 3.24:  Mô tả cell row - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.24 Mô tả cell row (Trang 46)
Hình 3.31:  Các đường power rail Để tạo các power rail ta sử dụng lệnh - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.31 Các đường power rail Để tạo các power rail ta sử dụng lệnh (Trang 51)
Hình 3.32:  Lưu đồ thực hiện bước fix cell - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.32 Lưu đồ thực hiện bước fix cell (Trang 52)
Hình 3.42: Thực hiện đi dây theo chế độ increment mode - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.42 Thực hiện đi dây theo chế độ increment mode (Trang 62)
Hình 3.43: Quy trình thiết kế Block và Top Level - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 3.43 Quy trình thiết kế Block và Top Level (Trang 64)
Hình 4.5: Các đường power sau bước Power routing - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.5 Các đường power sau bước Power routing (Trang 71)
Hình 4.6: Các Standard cell đã được sắp xếp - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.6 Các Standard cell đã được sắp xếp (Trang 72)
Hình 4.8: Hệ thống các đường clock - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.8 Hệ thống các đường clock (Trang 74)
Hình 4.11:  Lỗi island trước khi và sau khi sửa - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.11 Lỗi island trước khi và sau khi sửa (Trang 76)
Hình 4.13: Các thư viện sử dụng trong Top Level - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.13 Các thư viện sử dụng trong Top Level (Trang 78)
Hình 4.16: Hình ảnh chip sau bước floorplan - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.16 Hình ảnh chip sau bước floorplan (Trang 79)
Hình 4.15: File report sau khi fix netlist - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.15 File report sau khi fix netlist (Trang 79)
Hình 4.17: Đường power hình thành sau bước power routing - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.17 Đường power hình thành sau bước power routing (Trang 80)
Hình 4.18: Các cell được sắp xêp sau bước fix cell - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.18 Các cell được sắp xêp sau bước fix cell (Trang 80)
Hình 4.19: Các standard cell nằm trên cell row - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.19 Các standard cell nằm trên cell row (Trang 81)
Hình 4.22: Report sau khi Fix Wire - thiết kế vật lý hệ thống trên vi mạch sử dụng công nghệ cmos 90nm tsmc
Hình 4.22 Report sau khi Fix Wire (Trang 82)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w