Tải bản đầy đủ (.doc) (90 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.93 MB, 90 trang )

Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
ĐẠ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

Đề Tài:
THIẾT KẾ VẬT LÝ HỆ THỐNG TRÊN VI MẠCH
(SYSTEM ON CHIP - SOC)
SỬ DỤNG CÔNG NGHỆ CMOS 90nm TSMC
SVTH: Phạm Đình Hoàng
MSSV: 0520019
GVHD: ThS. Nguyễn Duy Mạnh Thi
HCMC 6/2009
Phạm Đình Hoàng - 0520019 1
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ửi
lờ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ũng
như 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 4
nă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ế vi
mạ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 Design
Solutions Việt Nam, trong thời gian vừa qua đã tạo điều kiện để chúng em được đến
cô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ướng
dẫ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ên
tô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
Phạm Đình Hoàng - 0520019 2
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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


 !"#$%
&!' $ %!()#
&!' $ *+*, !/012
&!' $ +*,-3#$/0124
45607(#897:
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
3;<=
>&?%@A/3!04B
>B
5C9D#E#F$%@AG3!04H
4 !"#$%@AG3!04H
4IAJ3<5K*L

4IAJ3<5K*M0*L
4I3IG.A.<L
44I3NG.A.<O
4:@AM!M0*O
4P@A>;NK>QO
4@A>!M0*
4@ANG.A.<
4IAJ3<5KM!M0*
44R!"##STU#!*#F$%@AG3!04
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 24
;#V#UM:
Phạm Đình Hoàng - 0520019 3
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
3&!' $ +*,W0UM*P
45+#X#0C*987=
4X=
45+#X#T*+*,-A!*#**Y!!2=
45+#X#*+ $ ->#*!*2B
445+T+*,-A!@#*ZY!!2B
4:5+#X#!7Y6# $ -A!0#!2B
4P5+*B
4=[!V\CZ#*7@#*B
4B&*+$]+#V^_R-A!>#*N*2H
4H`Y#X#*+$]+#F $ -0!*2H
4L>V\!0H
4>V\#X#*90S7*L
4>V\#X#*90SL
4>V\*L
44D#E$]$+#F#X#**!4

44Z+$^#X#-#N*24
44D#^6%*+#aY^'b#!(0S4
444>V\+96$*)-*024:
44:`Y#X#*+#X#V%$,-9!c7U924P
44:_X#9*+9!c4P
44:_X#9#X#*+904P
4:Jd;4=
4:X;4=
4:X#TaX$e#U#*f;4=
4>%Tgd##/.hN>Z4B
4X4B
4X#YT#\ 7!ih#**4B
4Mc!6 $ 4B
4jYk#X#9)#00Tl7#4B
44;\##*#$m4B
4:>n7#o$%Xb#4H
44R!"#*)5*/.h5*4L
44MU#9p#4L
Phạm Đình Hoàng - 0520019 4
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
44X#YT#\ 7.h5*:O
44Z)Yk#R!"#dY+##F $ -qr02:O
44>9T7*7)# $ :O
444[#X##**!0*7#X#M0*!**:O
4:>%Tgs#)#/.h>:
4:MU#9p#:
4:X#YT#t#.h>:
4:>%Tg0t!(C!uY6#s:
4Peh #X#0*7)#X#9Tsv!/.*!*?7@v!N\:4
4PMU#p#:4

4PZT9wt#q!q7v!!\:4
4P> *+6%V%+*,::
4Pp#T##F##8 $ ::
4P_X#9x#*!#CAy<7#!:P
4P_X#9#X#V%#**Nv:=
4P4>)@0N:B
4P4>)#X#Ay<@N:B
4P:eh #X##!7x#!:H
4PP>)#X#3*#$:H
4P4@v!N\:L
4P4>)@v!N:L
4P4>)@v!MPO
4P44>)@v!N*P
4=eh *)#X#0!0#**.h**P
4=MU#9p#P
4=ZTt#YT#.h**P
4=4>t#eh #X#0!0**P4
4=4*Y*@*#!P4
4=4!@*#!P4
4=441*0@*#P4
4=:X#TaX%T!.h**P:
4=:>/1!@*#P:
4=:A#!*@*#7K<@*#P:
4B> *+%#*#$/.h*#$P:
4BMU#9p#P:
Phạm Đình Hoàng - 0520019 5
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
4BX#TaXt#PP
4B4_X#9#X#*+zV%#*#$PP
4B:> *+#R!"##*#$P=

4B:R!"#g-*!;*!2P=
4B:R!"#S#R-J>!2PB
4BPM6%TaX%TPH
4H#X#9Ts*z#*#$79Tsv!#{*)/.hI!PL
4HMU#9p#PL
4HZT9wt#ihv!PL
4HYN\PL
4H*Y*N\=O
4H4>!#$N\=
4H:1*0N\=
4LZ7#!(>Z*=4
CHƯƠNG 4: THỰC HÀNH VÀ KẾT QUẢ 65
;>t# $ +*,!(3*#$@AG3!04=P
:>%Tgd##/.hN>Z=P
:R!"#*)5*/.h5*==
:4>%Tgs/.h>==
::eh #X#0*7 *+#X#9Tsv!/.*!*|@v!N\=B
:Peh *)#X#0!0#**/.h**B
:=> *+%9Ts*#$/.h*#$B4
:B#X#9TsEz#*#$79Tsv!#{*)/.hI!BP
3>t# $ +*,!(**3;<BB
CHƯƠNG 5: TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 83
P *+97H4
PJTX![#F97H4
P4M6%)# H:
Tài Liệu Tham Khảo 85
Phụ Lục 86
Phạm Đình Hoàng - 0520019 6
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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
Hình 3.9 Các trường hợp gây ra lỗi notch thường thấy
Phạm Đình Hoàng - 0520019 7
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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
Phạm Đình Hoàng - 0520019 8
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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
Phạm Đình Hoàng - 0520019 9
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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
Phạm Đình Hoàng - 0520019 10
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ủa
mộ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ống
SoC 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ống
SoC. 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àng
nhiề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
- FPGA
Phạm Đình Hoàng - 0520019 11
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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 đa
chip 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 cao
hơ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)
Phạm Đình Hoàng - 0520019 12
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
Sử dụng ngôn ngữ thiết kế phần cứng (Verilog-HDL, VHDL, System-C ) để hiện
thự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ết
củ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 thanh
ghi (RTL – Register Transfer Level). Sau đó thiết kế RTL sẽ được mô phỏng để kiểm tra
xem 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 Mentor
Graphics), 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ác
CADs 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ùy
thuộ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ữa
chú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 trong
quá 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áy
sả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ật
lamda 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ế nhanh
khi 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ống
nhiễ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
netlist thu được trong quá trình thiết kế luận lý để kiểm tra tính đồng nhất của chúng.
Nếu không có sự tương đồng giữa 2 netlist thì phải kiểm tra và sửa lại layout cho đến khi
Phạm Đình Hoàng - 0520019 13
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ẽ được
tapeout 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 tra
thô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 chip
BASOC, nội dung công việc được giao cho em như sau:
Phạm Đình Hoàng - 0520019 14
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ột
chip hoàn chỉnh.
Phạm Đình Hoàng - 0520019 15
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC

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.
Phạm Đình Hoàng - 0520019 16
3;<
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
Hì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
Phạm Đình Hoàng - 0520019 17
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ào

mộ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ết
các khối IP trong một thiết kế trên WISHBONE bus. Khối PCI Bridge IP core chứa
WISHBONE kết nối tương thích với một chuẩn mở. PCI Bridge có thể sử dụng trong rất
nhiề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à PCI
TARGET. 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ủ
trên WISHBONE side. Cả hai đều hoạt động độc lập với nhau.
Phạm Đình Hoàng - 0520019 18
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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 PCI
bus.
2.2.3.1. WISHBONE Slave
Hình 2.4: Kiến trúc WISHBONE Slave Unit
WISHBONE bus có thể truy cập vào PCI bus thông qua WISHBONE slave unit. Một
trong 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
WISHBONE master. Những thông số cung cấp những tùy chọn để định nghĩa
Phạm Đình Hoàng - 0520019 19
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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 slave
module để 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 Unit
PCI 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 được
chọ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ể được
map vào vào bộ nhớ hoặc không gian I/O. Một địa chỉ cũng có thể được chuyển đổi
thà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.
Phạm Đình Hoàng - 0520019 20
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC

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ập
bở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, PCI
bus đ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 qua
WISHBONE 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
top.v
pci_bridge32.v
. wb_slave_unit.v
. . wb_slave.v
. . wbw_wbr_fifos.v
. . . pci_tpram.v *
. . . wbw_fifo_control.v
. . . wbr_fifo_control.v
. . wb_addr_mux.v
. . . decoder.v **
. . delayed_sync.v *
. . . synchronizer_flop.v **
. . delayed_write_reg.v
. . conf_cyc_addr_dec.v
. . pci_master32_sm_if.v
. . pci_master32_sm.v
. . . frame_crit.v
. . . frame_load_crit.v

Phạm Đình Hoàng - 0520019 21
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
. . . irdy_out_crit.v
. . . mas_ad_load_crit.v
. . . mas_ch_state_crit.v
. . . mas_ad_en_crit.v
. . . cbe_en_crit
. . . frame_en_crit.v
. pci_target_unit.v
. . wb_master.v
. . pciw_pcir_fifos.v
. . . pci_tpram.v *
. . . pciw_fifo_control.v
. . . fifo_control.v
. . delayed_sync.v *
. . . synchronizer_flop.v **
. . pci_target32_interface.v
. . . pci_decoder.v **
. . pci_target32_sm.v
. . . pci_target32_clk_en.v
. . . pci_target32_trdy_crit.v
. . . pci_target32_stop_crit.v
. . . pci_target32_devs_crit.v
. conf_space.v
. . synchronizer_flop.v **
. . sync_module.v**
. . . synchronizer_flop.v **
. pci_io_mux.v
. . pci_io_mux_ad_en_crit.v **
. . pci_io_mux_ad_load_crit.v **

. . out_reg.v **
. cur_out_reg.v
. pci_in_reg.v
. pci_parity_check.v
. . par_crit.v
. . perr_crit.v
Phạm Đình Hoàng - 0520019 22
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
. . perr_en_crit.v
. . serr_crti.v
. . serr_en_crit.v
. pci_rst_int.v
bufif0 ***
Lưu ý:
• * : 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.
Phạm Đình Hoàng - 0520019 23
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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ạng
internet, 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 con
ngườ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ĩnh
vự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ế vi
mạ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ình
trong thiết kế SoC (System on Chip). Đặc biệt Magma là công cụ đắc lực cho quy trình
thiế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ân
tí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ác
lệ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ột
cá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ỉnh
sửa dữ liệu cho thỏa yêu cầu thiết kế.
Phạm Đình Hoàng - 0520019 24
Thiết Kế Vật Lý Hệ Thống Trên Vi Mạch - SoC
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 đường
kim 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ới
GDSII.
Phạm Đình Hoàng - 0520019 25
M*
1

×