BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Họ và tên tác giả luận văn
THIỀU KHẮC CHƯƠNG
TÊN ĐỀ TÀI LUẬN VĂN
NGHIÊN CỨU VỀ MẠNG THÔNG TIN TRÊN CHIP
Chuyên ngành : KỸ THUẬT TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
…......................................
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS. NGUYỄN ĐỨC MINH
Hà Nội 04 – 2014
1
MỤC LỤC
LỜI CAM ĐOAN .......................................................................................................5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ..............................................6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ .....................................................................7
DANH MỤC CÁC BẢNG..........................................................................................9
PHẦN MỞ ĐẦU .......................................................................................................10
Chương 1: TỔNG QUAN .........................................................................................12
1. Khái niệm về chip - vi mạch tích hợp .............................................................12
1. System on chip ................................................................................................13
2. Xu hướng phát triển của SoC ..........................................................................14
3. Nhược điểm của các SoC dựa trên nền tảng Bus ............................................15
4. Mối liên hệ giữa SoC và NoC .........................................................................16
5. Một số công nghệ hiện nay được sử dụng để chế tạo vi mạch điện tử ...........17
a. FPGA ..............................................................................................................17
b. ASIC................................................................................................................21
c. So sánh FPGA với ASIC ................................................................................24
d. Ngôn ngữ mô tả phần cứng VHDL .................................................................25
e. VERILOG .......................................................................................................28
f.
SYSTEMVERILOG. ......................................................................................30
Chương 2: NGHIÊN CỨU VỀ NOC ........................................................................31
2.1.
Khái niệm Network on Chip........................................................................31
2.2.
Các cấu hình NoC ........................................................................................33
2.2.1.
Mạng kiểu cây (Trees) ..........................................................................35
2.2.2.
Mạng lưới n-chiều (n-Dimensional Mesh) ...........................................36
2
2.2.3.
Mạng K-ary n-cube ...............................................................................37
2.2.4.
Mạng siêu khối (Hypercube) ................................................................37
2.2.5.
Mạng có số chiều thấp ..........................................................................38
2.2.6.
Đánh giá chung các cấu hình NoC .......................................................38
2.3.
Các cơ chế điều khiển luồng trong NoC......................................................39
2.3.1.
Các đơn vị dữ liệu dùng trong NoC ......................................................39
2.3.2.
Cơ chế điều khiển luồng Store-and-Forward (SAF).............................40
2.3.3.
Cơ chế điều khiển luồng Wormhole (WH) ...........................................41
2.3.4.
Cơ chế điều khiển luồng Virtual cut-through (VCT) ...........................42
2.3.5.
Cơ chế điều khiển luồng kênh ảo (Virtual Channel) ............................43
2.3.6.
Đánh giá chung các cơ chế điều khiển luồng trong NoC .....................44
2.4.
Các thuật toán định tuyến trong NoC ..........................................................45
2.4.1.
Phân loại các thuật toán định tuyến ......................................................45
2.4.2.
Các vấn đề trong định tuyến .................................................................47
2.4.3.
Định tuyến theo chiều ...........................................................................48
2.4.4.
Định tuyến e-cube .................................................................................49
2.4.5.
Định tuyến XY ......................................................................................49
2.5.
Các ưu điểm và nhược điểm của NoC .........................................................50
2.6.
Các hướng nghiên cứu về NoC ...................................................................52
2.7.
Các nghiên cứu và triển khai về NoC hiện nay ...........................................53
2.7.1.
Arteris ...................................................................................................53
2.7.2.
NXP ......................................................................................................54
2.7.3.
Silistix ...................................................................................................55
Chương 3: MƠ HÌNH NoC MẠNG LƯỚI 2 CHIỀU 2x2 .......................................56
3
3.1.
Cấu hình mạng mơ hình NoC ......................................................................56
3.2.
Thuật tốn định tuyến ..................................................................................56
3.3.
Router ..........................................................................................................60
TÀI LIỆU THAM KHẢO .........................................................................................63
4
LỜI CAM ĐOAN
Trước hết, tôi xin gửi lời cảm ơn chân thành tới tập thể các thầy cô trong
Viện Điện tử viễn thông, trường Đại học Bách Khoa Hà Nội đã tạo ra một môi
trường tốt để tôi học tập và nghiên cứu. Tôi cũng xin cảm ơn các thầy cô trong
Viện Đào tạo sau đại học đã quan tâm đến khóa học này, tạo điều kiện cho các
học viên có điều kiện thuận lợi để học tập và nghiên cứu. Và đặc biệt tôi xin gửi
lời cảm ơn sâu sắc đến thầy Nguyễn Đức Minh, đã tận tình hướng dẫn và sửa
chữa cho nội dung của luận văn này.
Tôi xin cam đoan rằng nội dung của luận văn này hồn tồn do tơi tìm
hiểu, nghiên cứu và viết ra. Tất cả đều được tơi thực hiện cẩn thận, có sự góp ý
và sửa chữa của giáo viên hướng dẫn.
Tơi xin chịu trách nhiệm với tất cả nội dung trong luận văn này.
Tác giả
Thiều Khắc Chương
5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
ASIC
Aplication Specific Integrated circuit
AWH
Asynchronous wormhole
CB
Cell-based
CLB
Configurable Logic Block
DDR
Double Data Rate
DSP
Digital Signal Processing
EDA
Electronic Design Automation
FPGA
Field Programmable Gate Array
FSM
Finite State Machine
HOL
Head-of-line
IP
Intellectual Property
LUT
Lookup Table
MPSoc
Multi-Processor System on Chip
NoC
Network on Chip
RI
Routing Information
RNI
Resource/Network Interface
RTL
Register Transfer Level
SAF
Store-and-Forward
SN
Sequence Number
SoC
System on Chip
VCT
Virtual cut-through
VHDL
Very High Speed Integrated Circuit Hardware Description
Language
WH
Wormhole
6
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 cấu tạo của SoC thực tế……………...………………………...………...14
Hình 1.2 cấu tạo của SoC Qualcomm Snapdragon S4 2 nhân………………...…..15
Hình 1.3 Soc dựa trên nền tảng Bus……………………………………....……….16
Hình 1.4. Hai giải pháp thiết kế SoC: a) Thiết kế truyền thống sử dụng bus chung b)
Thiết kế sử dụng kiến trúc NoC…………………..……………………………......17
Hình 1.5 Kiến trúc chung của FPGA……………………...……………………….18
Hình 1.6 Một Slice của FPGA Xilinx Spartan6……………………………......….20
Hình 1.7 Ba mức thiết kế với VHDL………………………………...…...……….28
Hình 2.1 Kiến trúc một NoC đơn giản 3x3 tài nguyên………………………….....32
Hình 2.2 Các cấu hình của NoC……………………………...……………...…….34
Hình 2.3 Một số dạng mạng thường dùng a. Ring hay chordal ring
c. butterfly fat- tree
d. 2D mesh
e. 2D torus
b. fat- tree
f. 2D folded torus……....….....35
Hình 2.4 Cấu hình NoC dạng cây…………………………………...……………..36
Hình 2.5 Mạng lưới n-chiều…………………………………………….....………36
Hình 2.6 Mạng k-ary n-cube……………………………………………..………...37
Hình 2.7 Mạng siêu khối……………………………..……………………...….....37
Hình 2.8 Mạng lưới 2-chiều và mạng torus 2-chiều……………….……………....38
Hình 2.9 Cơ chế điều khiển luồng SAF và cơ chế điều khiển luồng WH………....42
Hình 2.10 Cơ chế điều khiển WH…………………………….……….......………42
Hình 2.11 Cơ chế hàng đợi lối ra ảo………………….……………………………44
Hình 2.12 Phân loại các thuật tốn định tun trong NoC……………………..….47
Hình 2.13 Các thuật tốn định tuyến chống Deadlock trong NoC………………...48
Hình 2.14 Định tuyến E-cube…………………………………………………..….49
Hình 2.15. Hai giải pháp thiết kế SoC: a) Thiết kế truyền thống sử dụng bus chung b)
Thiết kế sử dụng kiến trúc NoC……………………………………………………50
Hình 2.16 Một SoC sử dụng NoC của Arteris………………………………..……51
Hình 3.1 Cấu hình mạng NoC mạng lưới 2x2……………………………………..56
7
Hình 3.2 Định tuyến XY khi gói tin di chuyển từ x0y0 đến x1y1…………...……57
Hình 3.3 Cấu trúc một gói tin……………………………………….……………..58
Hình 3.4 Cấu trúc của một header flit………………………………………....…..59
Hình 3.5 Quá trình dịch chuyển header flit qua các bộ định tuyến………...…...…60
Hình 3.6 Bộ định tuyến được ghép từ 2 bộ định tuyến đơn vị …………...……….61
8
DANH MỤC CÁC BẢNG
Bảng 2.1 Đánh giá chung các cấu hình NoC………………………………………39
Bảng 2.2 Đánh giá chung về các cơ chế điều khiển luồng…………………...……45
9
PHẦN MỞ ĐẦU
Kích thước các linh kiện bán dẫn ngày càng thu nhỏ nhờ áp dụng các kỹ
thuật nano. Điều này dẫn đến sự gia tang nhanh trong mật độ tích hợp trên đế
Silicon, yếu tố cho phép tạo ra các vi mạch đa chức năng và hoàn thiện. Sự kết hợp
các ưu điểm của truyền thông mạng, ứng dụng luân chuyển dữ liệu trong hệ thống
phức tạp như đa nhân, đa chức năng, đa ứng dụng, và khả năng tái cấu hình đã hính
thành nên một kiến trúc truyền thông mới trên chip – Network on chip (NoC). NoC
được xem là giải pháp cho các hệ thống phức tạp nhờ có các ưu điểm vượt trội như
tốc độ truyền cao, linh hoạt ứng dụng, chi phí và thời gian thiết kế thấp.
Mục đích nghiên cứu của luận văn là nghiên cứu các mơ hình NoC đã có
bao gồm các thuật tốn định tuyến, các cấu hình mạng, cơ chế điều khiển luồng.
Đồng thời nắm rõ mơ hình nào phù hợp cho các ứng dụng cụ thể. Từ đó mơ hình
hóa NoC dạng mạng lưới 2 chiều 2x2
Đối tượng nghiên cứu của luận văn bao gồm các mơ hình NoC lý thuyết đã
có, các triển khai mơ hình NoC với các công cụ của các hãng nghiên cứu, các triển
khai mơ hình NoC trên VLSI và FPGA. Bên cạnh đó là các nghiên cứu mới về
SoC, mơ hình kết nối mới dành cho các thành phần trong SoC.
Toàn bộ nội dung của luận văn được trình bày trong 3 chương với nội dung
tóm tắt như sau:
Chương 1 – Tổng quan: Chương này trình bày bức tranh tổng quan về cơng
nghệ SoC hiện tại, những vấn đề gặp phải với các hệ thống SoC dựa trên nền tảng
kết nối Bus và những công nghệ hiện nay được sử dụng để chế tạo nên chip
Chương 2 - Nghiên cứu về NoC: Chương này trình bày về các mơ hình NoC
đã có, các cấu hình mạng, các thuật tốn định tuyến, các cơ chế điều khiển luồng sử
dụng trong các mơ hình NoC trên cơ sở lý thuyết. Đồng thời đưa ra so sánh về ưu
nhược điểm giữa các mơ hình NoC và chỉ ra mơ hình NoC nào phù hợp với việc
triển khai trên phần cứng thực tế.
10
Chương 3 – Mơ hình hóa NoC mạng lưới 2 chiều 2x2: Chương này trình bày
về lựa chọn một mơ hình NoC cụ thể là mạng lưới 2 chiều 2x2 thích hợp cho việc
triển khai trên phần cứng. Chỉ ra được dưới mơ hình này NoC có phương thức
truyền dữ liệu như thế nào, cách định tuyến của cấu hình mạng
Từ kết quả nghiên cứu và thực hiện luận văn, học viên đã có đóng góp mới
trong việc nghiên cứu và lựa chọn một mơ hình NoC phù hợp cho việc triển khai
NoC trên phần cứng.
11
Chương 1: TỔNG QUAN
Chương này trình bày khái niệm về chip- vi mạch tích hợp và hệ thống trên
chip (System on Chip – SoC), các ứng dụng của SoC và xu hướng phát triển của
SoC trong tương lai. Từ đó chỉ ra mối liên hệ mật thiết của SoC với mạng trên chip
(Network on Chip – NoC). Chương này cũng đưa ra những công nghệ được dùng
để chế tạo ra chip hiện nay.
1. Khái niệm về chip - vi mạch tích hợp
Chip – vi mạch tích hợp là một mạch điện tử tích hợp được cấu tạo để thực
hiện một chức năng cụ thể nào đó hoặc được sử dụng cho nhiều mục đích khác
nhau. Các nhà sản xuất các sản phẩm điện tử cơ bản và công nghệ cao như các chip
điện tử này thường bán sản phẩm của mình cho các nhà sản xuất các thiết bị hồn
chỉnh để họ sản xuất nên các sản phẩm tiêu dùng gia đình hoặc trong các ngành
cơng nghiệp.
Chip – vi mạch tích hợp thường được chế tạo trên một vật liệu bán dẫn gồm
tập hợp các mạch điện tử. Vì vậy chip sẽ nhỏ hơn nhiều so với một mạch rời rạc
được làm từ các thành phần độc lập.
Mạch tích hợp được sử dụng hầu như tất cả các thiết bị điện tử ngày nay.
Mạch tích hợp được thực hiện rất nhỏ gọn, có đến vài tỷ transistor và các linh kiện
điện tử trong một khu vực có kích thước khá bé.
Ngày nay người ta phân loại các mạch tích hợp dựa theo tiêu chí về tỷ lệ
mật độ tích hợp như sau:
- SSI (Small-Scale Intergration – Độ tích hợp cỡ nhỏ): gồm khoảng 100 link kiện
điện tử trên một chip
12
- MSI (Medium- Scale Intergration – Độ tích hợp cỡ trung bình): Có từ 3.000 đến
100.000 link kiện trên một chip (1970).
- VLSI (Very Large- Scale Intergration – Độ tích hợp cỡ lớn): Có từ 100.000 tới
một triệu linh kiện trên một chip (1980)
- ULSI (Ultra Large- Scale Intergration – Độ tích hợp siêu lớn): Có hơn một triệu
linh kiên trên một chip.
Cùng với sự tiến bộ của công nghệ tích hợp bán dẫn, xu thế cơng nghệ thiết
kế chip la tích hợp ngày càng nhiều khối tính tốn trên cùng một chip đơn nhằm
đáp ứng các yêu cầu của ứng dụng. Các khối tính tốn này có thể là các bộ vi xử lý,
các khối xử lý tín hiệu số ( DSP: Digital Signal Processors), các bộ nhớ ( RAM,
ROM), các bộ mã hóa và giải mã, hay các đơn vị xử lý vào/ra như Ethernet,
Bluetooth… Các khối tính toán này thường được gọi là lõi IP ( Intellectual
Property). Một hệ thống mà trước kia phải xây dựng trên một hay nhiều bo mạch
lớn thì bây giờ có thể tích hợp lên một chip và do đó hình thành thuật ngữ “ System
on chip” ( SoC) hay là “ hệ thống trên chip”.
1. System on chip
Khái niệm về System on chip (SoC)
SoC là một vi mạch tích hợp bao gồm vi xử lý, mạch kết nối và các thành
phần chuyên dụng khác cùng trên một đế chip [7][8]. Trong vài năm trở lại đây, sự
phát triển mạnh mẽ về tốc độ, công suất và độ phức tạp của các chip ASIC, bộ nhớ
và vi xử lý đã tạo điều kiện thuận lại cho SoC được nghiên cứu và phát triển nhanh
chóng SoC được thiết kế với các thành phần như bộ nhớ, bộ DSP, mạch xử lý tín
hiệu tổng hợp, bộ thu phát không dây, và lõi vi xử lý. Những thành phần kể trên sẽ
được kết nối với nhau thơng qua một "bus" chung (ví dụ như bus AMBA do ARM
phát triển) hoặc bus do một hãng nào đó tự làm. Một số SoC có khả năng kết nối
trực tiếp các giao diện với bộ nhớ mà không cần thơng qua nhân xử lí nên tăng khả
13
năng nhận dữ liệu. Điểm mạnh chủ yếu của SoC là tiết kiệm điện năng hơn, chi phí
sản xuất rẻ hơn, hiệu năng cao hơn, tốn ít diện tích trên mạch hơn. Các hệ thống sử
dụng SoC như các thiết bị cầm tay đang thay thế dần cho các thiết bị cồng kềnh,
tiêu tốn nhiều điện năng và được thiết kế với với nhiều chip riêng biệt. Và không
chỉ với ứng dụng di động, SoC xuất hiện ở thiết bị điện tử dân dụng, công nghiệp,
viễn thông, y tế và cơng nghiệp ơ tơ. Như vậy, có thể nói SoC chính là thế hệ mạch
tích hợp tiếp theo của cơng nghệ vi mạch tích hợp.
Hình 1.1 cấu tạo của SoC thực tế
2. Xu hướng phát triển của SoC
Xu hướng nghiên cứu và phát triển SoC gắn liền với xu hướng chung của
các hệ thống máy tính nói chung, từ máy tính cá nhân đến các thiết bị nhúng. Ngày
càng nhiều hơn nhu cầu xử lý thông tin, càng nhiều hơn các ứng dụng tích hợp trên
một sản phẩm điện tử và ngày càng nhiều hơn số vi xử lý tích hợp trên một hệ
thống máy tính. Các thiết bị SoC ngày có nhiều thêm các thành phần chuyên dụng
tốc độ cao và cũng nhiều thêm lõi vi xử lý trên một SoC. Hiện nay với sự bùng nổ
các thiết bị di động, cùng sự với phát triển của SoC thì các thiết bị di động hiện nay
14
đã sử dụng SoC với bốn nhân vi xử lý. Mới đây Qualcomm mới giới thiệu SoC
Snapdragon 801 với 4 nhân xử lý xung nhịp 2,5 GHz. Xu hướng mới hiện nay là
thiết kế những mơ hình MPSoC (multi-processor system on chip)
Hình 1.2 cấu tạo của SoC Qualcomm Snapdragon S4 2 nhân
3. Nhược điểm của các SoC dựa trên nền tảng Bus
Một vấn đề lớn đặt ra với các thiết kế SoC đó là nhu cầu tốc độ làm việc cao,
tốc độ trao đổi dữ liệu cao giữa các thành phần trong SoC mà vẫn đảm bảo tiết
kiệm điện năng. Lúc này, kiến trúc SoC xây dựng trên nền tảng liên kết Bus truyền
thống bộc lộ những nhược điểm trong thiết kế:
-
Bus tiêu tốn nhiều điện năng: Do các đường bus với kích thước lớn và chạy
khắp chip khiến tiêu tốn nhiều điện năng để truyền tải tín hiệu.
-
Bus cho phép giao tiếp luân phiên: Mặc dù có nhiều thành phần logic cùng
gắn vào bus, nhưng thường chỉ có một trong số đó được tích cực để trao đổi
dữ liệu với thành phần logic khác
15
-
Bus gặp khó khăn khi mở rộng tài nguyên: Khi muốn đưa thêm thành phần
logic vào bus địi hỏi tính toán lại tài nguyên bus dành cho từng thành phần,
đồng thời băng thông truyền dữ liệu trong hệ thống giảm đi
-
Vấn đề đồng bộ trong kiến trúc Bus: Khi trong hệ thống có các thành phần
hoạt động với tốc độ khác nhau đòi hỏi cơ chế đồng bộ phức tạp và thường
dẫn đến nút thắt cổ chai khi đạt đến ngưỡng truyền thơng tốc độ cao.
Hình 1.3 Soc dựa trên nền tảng Bus
4. Mối liên hệ giữa SoC và NoC
Như vậy cần có giải pháp khác cho các liên kết nội của (inter-connection)
SoC, liên kết mới phải tránh được những nhược điểm của Bus truyền thống đã triển
khai với các hệ thống vi mạch tích hợp cũ cũng như là SoC. Và một giải pháp đã ra
đời nhằm giải quyết vấn đề này, đó là mạng trên chip (Network on Chip). Từ ý
16
tưởng xây dựng các mơ hình mạng máy tính, các nhà nghiên cứu đưa mơ hình
mạng đó vào để liên kết các thành phần trên một chíp. Lúc này mỗi thành phần
logic trong SoC đóng vai trị là một tài nguyên trong mạng liên kết. Như vậy, NoC
sẽ là nền tảng liên kết mới hứa hẹn nhiều thành công dành cho SoC
Hình 1.4. Hai giải pháp thiết kế SoC: a) Thiết kế truyền thống sử dụng bus chung
b) Thiết kế sử dụng kiến trúc NoC
5. Một số công nghệ hiện nay được sử dụng để chế tạo vi mạch điện tử
a. FPGA
FPGA (Field Programmable Gate Array) là vi mạch dùng cấu trúc mảng
phần tử logic mà người dùng có thể lập trình (cấu hình) được tại nơi nghiên cứu,
thiết kế mà không cần phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy
sản xuất chip [6]. FPGA bao gồm các thành phần: Các khối logic cấu hình được
(logic block), hệ thống mạch liên kết cấu hình được, các khối vào/ra (IO block), có
thể có các khối logic chuyên dụng khác như bộ nhân, khối điều khiển bộ nhớ, khối
điều khiển ethernet-MAC.
17
Mạch liên kết
Khối vào/
ra
Khối logic
Hình 1.5 Kiến trúc chung của FPGA
Các khối logic: Các khối này đóng vai trị là nguồn sinh ra các hàm logic.
Trong các khối logic chứa LUT (Lookup table) để thực hiện các mạch tổ hợp, các
flip-flop để thực hiện các thanh ghi hay phần tử nhớ của mạch tuần tựu. Ngoài ra
trong các khối logic này còn chứa bộ cờ nhớ để thực hiện các mạch toán học và các
bộ chọn kênh để ghép các LUT lại tạo thành mạch điện có nhiều đầu vào hơn.
Các khối vào/ra: Các khối này cho phép thiết kế trong FPGA liên kết với
mạch điện bên ngoài qua các chân của FPGA. Mỗi khối này đều có khả năng cấu
hình để chọn chiều tín hiệu, chuẩn điện áp tín hiệu, độ trễ tín hiệu vào và ra FPGA.
Mạch liên kết: Hay các dây nối thực hiện kết nối các khối logic với nhau và
kết nối các khối logic với chân của FPGA, các mạch liên kết này giao nhau bằng
các chuyển mạch cấu hình được.
Tùy theo cơng nghệ cấu hình các khối logic, các khối vào ra và các dây nối
khác nhau, có loại FPGA dùng cơng nghệ SRAM: cấu hình nhiều lần và địi hỏi có
ROM bên ngồi lưu cấu hình, FPGA dùng cơng nghệ Antifuse: cấu hình một lần
dùng cơng nghệ cầu chì, FPGA dùng cơng nghệ PROM: cấu hình một lần dùng
PROM trong chip lưu cấu hình…
18
Thiết kế với FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần
cứng HDL (Hardware Description Language) như VHDL, Verilog, AHDL, các
hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các bộ công cụ phần
mềm và thiết bị phụ trợ cho quá trình thiết kế, cũng có một số các hãng thứ ba cung
cấp các công cụ phần mềm khác như như Synopsys, Synplify... Các bộ phần mềm
này có khả năng thực hiện tất cả các bước của tồn bộ quy trình thiết kế FPGA với
đầu vào là mã nguồn thiết kế trên HDL (còn gọi là mã RTL) hoặc ban thiết kế dạng
mạch điện (Schematic).
FPGA của Xilinx
Kiến trúc chung FPGA của Xilinx tương đồng với các thành phần của FPGA
như đã nêu trên. Tuy nhiên FPGA của Xilinx có một số đặc điểm thiết kế đặc trưng
như sau:
Các khối logic khả cấu hình (Configurable logic block - CLB): Là tên gọi
của các khối logic với FPGA của Xilinx. Mỗi CLB chứa 2 (hoặc 4) slice logic, mỗi
slice logic chứa 4 (hoặc 2) LUT. Tùy vào kiến trúc của họ FPGA mà trong mỗi
slice có số flip-flop bằng số LUT hoặc gấp đôi số LUT, và số đầu vào của LUT có
thể là 4 hay 6. Các LUT trong FPGA của Xilinx có thể làm việc như các mạch tổ
hợp, các bộ nhớ phân tán và các thanh ghi dịch [13].
19
Hình 1.6 Một Slice của FPGA Xilinx Spartan6
Các khối logic chuyên dụng (Dedicated block): Trong FPGA của Xilinx tích
hợp các khối logic chuyên dụng, việc tích hợp này tùy vào dịng chíp khác nhau mà
số lượng khối logic được tích hợp sẽ khác nhau. Thông dụng nhất là các khối nhân,
các khối cộng, các khối xử lý xung nhịp, các khối đệm xung nhịp. Với các dịng
chíp hiệu năng cao hay xử lý tín hiệu số có các khối DSP chuyên dụng, các khối
giao tiếp tuần tựu tốc độ cao. Với một số dịng chip có tích hợp lõi vi xử lý
PowerPC và các khối điều khiển Ethernet, các khối điều khiển bộ nhớ DDR…
FPGA của Xilinx chủ yếu phân chia làm hai dịng chính: Virtex - dịng hiệu
năng cao và Spartan - dịng chi phí thấp. Dịng hiệu năng cao có mật độ tích hợp
cao (vài trăm nghìn logic cell), tốc độ hoạt động cao (vài trăm MHz), tích hợp
nhiều khối logic chuyên dụng thích hợp với các thiết kế lớn, địi hỏi tốc độ cao và
tích hợp nhiều chức năng. Dịng chi phí thấp có mật độ tích hợp trung bình (vài
20
chục nghìn logic cell), tốc độ trung bình (vài chục MHz) và tích hợp ít khối logic
chuyên dụng thích hợp cho các thiết kế vừa và nhỏ, khơng địi hỏi tốc độ cao và chi
phí sản xuất thấp.
Vào tháng 6/2010. Xilinx đã cơng bố những sản phẩm FPGA mới: Virtex-7:
dịng chip hiệu năng cao nhất, Artix-7: dòng chip rẻ tiền nhất, Kintex-7: dịng chip
dùng cho ứng dụng xử lý tín hiệu. Tồn bộ các dịng chip FPGA mới này đều đựoc
sản xuất với công nghệ 28nm và tiết kiệm điện năng hơn so với các dịng chip trước
đó.
b. ASIC
ASIC ( Application-specific intergrated circuit) là một thuật ngữ chỉ các vi
mạch tích hợp chuyên dụng trong điện tử học.
ASIC là một vi mạch IC được thiết kế dành cho một ứng dụng cụ thể. ASIC
ngày nay được ứng dụng hầu như khắp mọi nơi, ví dụ như vi xử lý của điện thoại di
động, hay chip xử lý trong các máy móc tự động, các phương tiên truyền thơng, xe
cộ, tàu vũ trụ, các hệ thống xử lý, các dây chuyền cơng nghiệp… Đối lập của ASIC
là các vi mạch tích hợp cho mục đích chung như 7400 series và 4000 series những
vi mạch này có thể liên kết để tạo ra nhiều ứng dụng khác nhau. Ngồi ra vì tính
tương đối của việc phân loại theo mục đích sử dụng mà cịn có them khái niệm
application specific standard product (ASSP) – thiết bị chuẩn cho ứng dụng đặc
biệt, chỉ đến những vi mạch nằm giữa hai khái niệm ASIC và vi mạch tích hợp cho
mục đích chung.
Khái niệm ASIC là một khái niệm tương đối rộng và liên quan đến công
nghệ thiết kế sản xuất IC chứ không phải gắn với một dòng sản phẩm hay thiết bị
cụ thể. Bản thiết kế ASIC thường được viết trên HDL ngôn ngữ mô tả phần cứng
như Verilog, VHDL.
21
Dựa theo cơng nghệ sản xuất và thiết kế có thể chia ASIC thành các loại cơ
bản như sau:
ASIC trên cơ sở thư viện phần tử logic chuẩn ( Standard- cell- based ASIC)
ASIC dựa trên mảng logic (gate- array-based ASIC)
ASIC đặc chế hoàn toàn (full- custom ASIC)
ASIC tiền cấu trúc (Structured/ platform design)
ASIC dùng thư viên phần tử logic và các phần tử thiết kế sẵn (cell libraries,
IP-based design)
ASIC trên cơ sở thư viện phần tử logic chuẩn
Vào giữa thập niên 1980 những người thiết kế IC thường phải chọn một nhà
sản xuất bán dẫn nhất định và thực hiện tất cả quy trình thiết kế của mình bằng
những cơng cụ thiết kế của nhà sản xuất đó.
Cùng với xuất hiện của nhà cung cấp công cụ thiết kế thứ ba là sự ra đời của
khái niệm thư viện phần tử logic chuẩn (standard cell library). Thư viện phần tử
logic chuẩn là thư viện tất cả các phần tử có bản tạo thành vi mạch như logic AND,
OR, XOR… Thư viện này được định dạng chuẩn cho phép các công cụ thiết kế có
thể đọc, sau đó sẽ biên dịch bản thiết kế ra dạng mô tả chi tiết sử dụng các phần tử
của thư viện chuẩn, thuật ngữ tiếng Anh gọi là netlish.
Vào cuối thập niên 1980 thì những phần mềm thiết kế dạng như design
compiler của Synopsys được đưa vào sử dụng. Sở dĩ có tên gọi compiler là do phần
mếm này làm việc về nguyên tắc không khác gì một trình biên dịch thơng thường
trên máy tính, thay vi mã viết bằng C, Pascal… thì vi mạch được viết bằng HDL,
cịn thư viện phần tử logic đóng vai trò như tập lệnh của bộ vi xử lý. ASIC dựa trên
mảng logic
22
Sử dụng mảng logic (gate array) là một phương pháp khác để thiết kế IC. Ở
đây “gate” dùng như một đơn vị để đo khả năng chứa các phần tử logic của vi mạch
bán dẫn
Vi mạch lập trình dùng mảng logic là một khái niệm rộng bao hàm các thiết
bị như PLA, PAL, CPLD, FPGA. FPGA là một công nghệ mới nhưng cũng được
xếp vào dạng này, mặc dù thông thường người thiết kế xếp FPGA sang lớp vi mạch
bán dẫn người lập trình bởi người dùng cuối. Một vi mạch dạng này cấu thành từ 25 lớp bán dẫn kim loại, các phần tử logic được phân bố đều trên các lớp này. Ví dụ
ma trận các phần tử OR, AND PAL, PLA, hay trong FPGA là các khối logic lập
trình được. Các phần tử logic chưa được kết nối với nhau, quá trình thiết kế bản
chất là lập trình để kết nối giữa các phần tử logic.Ưu điểm của ASIC thiết kế theo
kiểu này là chi phí sản xuất rẻ do vi mạch sản xuất hàng loạt và có cấu trúc tương tự
như nhau. Tính linh động của thiết kế phụ thuộc vào loại mảng logic được sử dụng.
Mặc dù ASIC dùng mảng logic có chi phí thấp nhưng khơng có được sự tối ưu như
ASIC trên cơ sở thư viện phần tử logic hay ASIC đặc chế hoàn toàn. Mặt khác
nhưng ASIC dạng này yêu cầu phần mềm thiết kế phức tạp hơn.
ASIC đặc chế hồn tồn.
Cơng nghệ sản xuất ASIC đặc chế hoàn toàn bào hàm tồn bộ các q trình
để sản xuất IC, kể cả giai đoạn in khắc bán dẫn quang học (photo lithographic).
Ưu điểm của sản phẩm dạng này là tính tối ưu về diện tích, tăng hiệu suất
làm việc của IC, khả năng tích hợp với các thiết bị tương tự hay các phần tử thiết kế
sẵn khác. Bù lại thì quy trình thiết kế tốn nhiều thời gian, địi hỏi đầu tư cơ sở vật
chất tốn kém cũng như nhân lực với kỹ năng cao. ASIC tiền cấu trúc. Đây là một
dạng biến tấu của ASIC trên cơ sở mảng logic. Nhưng thay vì mảng logic sử dụng
những cấu trúc định sẵn, tùy vào từng loại ứng dụng mà cấu trúc định sẵn này sẽ
khác nhau. Với mảng logic thì người thiết kế có thể tạo vi mạch để thực hiện bất kỳ
hàm logic nào trong tài nguyên cho phép, còn với vi cấu trúc định sẵn chỉ giải quyết
23
một lớp bài tốn hẹp hơn. Bù lại nó đẩy nhanh quá trình sản xuất, giảm giá thành và
trong một số trường hợp thì tối ưu hóa vi mạch so với dạng ASIC dùng mảng logic.
Có thể xếp ASIC tiền cấu trúc nằm giữa hai loại ASIC trên cơ sở thư viện phần tử
logic chuẩn và ASIC dựa trên mảng logic.
Bên cạnh FPGA theo đúng nghĩa còn tồn tại một dạng vi mạch thiết kế trên
FPGA nhưng khi sản xuất dùng công nghệ sao chép “cứng” (hard copy), sản phẩm
cho ra hoạt động vẫn như thiết kế nhưng mất đi khả năng lập trình lại vì các liên kết
đã bị được “hàn” cứng. Công nghệ này cho phép giảm chi phí cho vi mạch từ 3070%. Các hãng sản xuất FPGA lớn như Xilinx hay Altera đều hỗ trợ công nghệ này
cho sản phẩm của họ.
ASIC dùng thư viện logic và các phần tử thiết kế sẵn. Nếu như thư viện
logic thường được nhà sản xuất bán dẫn cung cấp miễn phí thì IP-core (intellectual
property core) là các phần tử hoặc của nhà sản xuất hoặc của bên thứ ba cung cấp
mà người dùng phải trả tiền, các phần thiết kế có thể tồn tại ở dạng “mềm” tức là
chỉ có mã HDL mức cao, hay ở dạng “cứng” tức là toàn bộ sơ đồ thiết kế chi tiết
trên một thư viện cụ thể và sẵn sang đưa trực tiếp vào quá trình sản xuất bán dẫn.
Tương tự như phần mềm thì với phần cứng cũng xuất hiện cộng đồng mở, là nơi
xây dựng và phổ biến những IP-core miễn phí. Ví dụ về IP-cores như nhân của bộ
vi xử lý, USB module, Ethernet, RAM, ROM…
c. So sánh FPGA với ASIC
So sánh với chip chuyên dụng ASIC cùng thực hiện một chức năng của sản
phẩm, FPGA tiêu tốn nhiều gấp 18 lần diện tích layout, gấp 7 lần tiêu thụ điện năng
và tốc độ hoạt động chậm hơn 3 lần so với ASIC. Tuy nhiên FPGA có lợi thế rất
lớn ở khả năng cấu hình linh động, kiểm tra và khắc phục lỗi thiết kế. Đồng thời với
đó, FPGA cho phép thời gian thiết kế, triển khai nhanh hơn so với ASIC và không
cần phải phụ thuộc vào nhà máy sản xuất chip. Điều đó khiến FPGA là lựa chọn
thích hợp cho các thiết kế mới, các bản mẫu thiết kế IC, các thiết kế mang tính bảo
24
mật cao và yêu cầu tính linh động cao về chức năng thực hiện. Từ đó, FPGA xuất
hiện trong tất cả các lĩnh vực bao gồm: Quân sự - vũ trụ, điện tử công nghiệp và
dân dụng, công nghiệp ôtô, y tế, công nghệ truyền thông… [14]
d. Ngôn ngữ mô tả phần cứng VHDL
Khái niệm VHDL
VHDL (Very High Speed Integrated Circuit HDL) là một ngôn ngữ mô tả
phần cứng được sử dụng trong các công cụ thiết kế điện tử dùng để mô tả các hệ
thống số và các hệ thống tín hiệu hỗn hợp (mixed-signal) như FPGA và IC [5].
Vào năm 1981, Bộ quốc phòng Mỹ khởi động chương trình VHSIC, chương
trình này địi hỏi việc mơ tả hành vi của các thiết kế trên các bản thiết kế và bản mô
phỏng dùng một ngôn ngữ mô tả phần cứng, từ đó ra đời VHDL. Năm 1987, bộ
quốc phịng Mỹ công bố các thiết kế số với VHDL và IEEE phê duyệt VHDL với
chuẩn IEEE 1076. Năm 1993, VHDL được phê duyệt chuẩn mới IEEE 1076’93.
Đến năm 1996, VHDL được tích hợp hồn tồn với hai chuẩn nói trên vào các công
cụ thiết kế EDA của các hãng thiết kế IC, các hãng thiết kế FPGA và các hãng thứ
ba. Và cho đến ngày nay, VHDL là một ngôn ngữ phổ biến trong các thiết kế
FPGA.
VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay
đổi và lập tài liệu cho các hệ thống sô. VHDL là ngôn ngữ độc lập không gắn với
bất kỳ một phương pháp thiết kế, một bộ mô tả hay cơng nghệ phần cứng nào.
Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trong khi chỉ
sử dụng một ngôn ngữ duy nhất. Và khi đem so sanh với các ngôn ngữ mô phỏng
phần cứng khác ta thấy VHDL có một số ưu điểm hơn hẳn là:
Tính cơng cộng
25