Khóa Luận Tốt Nghiệp: Hiện Thực Mạng Trên Chip Dựa Trên Thuật Toán XY Và Giao Thức Bắt Tay Trên FPGA

Khóa luận trình bày kỹ thuật mạng trên chip sử dụng thuật toán XY và giao thức bắt tay trên FPGA, mang lại giải pháp tối ưu cho hệ thống.

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2022

63
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI

1.1. Đặt vấn đề

1.2. Hướng nghiên cứu đề tài

1.3. Mục tiêu đề tài

1.4. Network On Chip

1.5. Topology — Cấu trúc liên kết

1.6. Kỹ thuật chuyển mạch gói

1.7. Thuật toán định tuyến

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

3. CHƯƠNG 3: THIẾT KẾ TỔNG QUAN

4. CHƯƠNG 4: THIẾT KẾ CHI TIẾT

4.1. Khối Input Port

4.2. Khối Virtual Allocator

4.3. Khối Virtual Channel

4.4. Khối Routing Compution

4.5. Khối Switch Allocator

4.6. Khối Output Port

4.7. Khối Network Interface

5. CHƯƠNG 5: HIỆN THỰC THIẾT KẾ, MÔ PHỎNG VÀ NẠP ỨNG DỤNG CỦA THIẾT KẾ VÀO FPGA

5.1. Mô phỏng Network interface và các thành phần của Switch

5.2. Kịch bản kiểm tra thiết kế bằng mô phỏng trên Vivado

5.3. Giới thiệu FPGA Xilinx và mục đích sử dụng

5.4. Tổng hợp thiết kế trên Virtex 7

5.5. So sánh kết quả thiết kế với các nghiên cứu liên quan

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

6.1. Khó khăn gặp phải

6.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu tổng quan về hiện thực mạng trên chip FPGA

Mạng trên chip (NoC) là một giải pháp tiên tiến cho việc truyền thông trong các hệ thống tích hợp. Việc hiện thực mạng trên chip dựa trên thuật toán XY và giao thức bắt tay trên FPGA mang lại nhiều lợi ích cho việc tối ưu hóa hiệu suất và giảm thiểu độ trễ. Mô hình này cho phép các thành phần trong hệ thống SoC giao tiếp hiệu quả hơn, đồng thời giải quyết các vấn đề về băng thông và độ tin cậy.

1.1. Khái niệm về mạng trên chip và FPGA

Mạng trên chip (NoC) là một kiến trúc cho phép các lõi IP giao tiếp với nhau thông qua các bộ chuyển mạch. FPGA (Field Programmable Gate Array) là một loại vi mạch có thể lập trình lại, cho phép thiết kế linh hoạt và tối ưu hóa hiệu suất cho các ứng dụng cụ thể.

1.2. Lợi ích của việc sử dụng thuật toán XY

Thuật toán XY giúp định tuyến dữ liệu một cách hiệu quả trong mạng trên chip, giảm thiểu độ trễ và tối ưu hóa băng thông. Việc áp dụng thuật toán này trong thiết kế NoC trên FPGA mang lại khả năng mở rộng và hiệu suất cao.

II. Vấn đề và thách thức trong hiện thực mạng trên chip

Mặc dù mạng trên chip mang lại nhiều lợi ích, nhưng vẫn tồn tại một số thách thức trong việc thiết kế và triển khai. Các vấn đề như độ trễ, băng thông hạn chế và khả năng mở rộng là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Độ trễ trong mạng trên chip

Độ trễ là một trong những vấn đề chính trong mạng trên chip. Việc truyền dữ liệu qua nhiều bộ chuyển mạch có thể làm tăng độ trễ, ảnh hưởng đến hiệu suất tổng thể của hệ thống.

2.2. Băng thông hạn chế và khả năng mở rộng

Băng thông hạn chế có thể gây ra tắc nghẽn trong quá trình truyền dữ liệu. Khả năng mở rộng của mạng trên chip cũng là một thách thức lớn, đặc biệt khi tích hợp nhiều lõi IP.

III. Phương pháp thiết kế mạng trên chip với thuật toán XY

Thiết kế mạng trên chip dựa trên thuật toán XY và giao thức bắt tay là một phương pháp hiệu quả để tối ưu hóa việc truyền dữ liệu. Phương pháp này không chỉ giúp cải thiện hiệu suất mà còn giảm thiểu độ trễ trong quá trình truyền thông.

3.1. Quy trình thiết kế hệ thống mạng trên chip

Quy trình thiết kế bao gồm việc xác định cấu trúc mạng, lựa chọn thuật toán định tuyến và triển khai giao thức bắt tay. Mỗi bước trong quy trình này đều ảnh hưởng đến hiệu suất cuối cùng của hệ thống.

3.2. Ứng dụng giao thức bắt tay trong thiết kế

Giao thức bắt tay giúp thiết lập kết nối giữa các nút trong mạng, đảm bảo rằng dữ liệu được truyền đi một cách chính xác và hiệu quả. Việc áp dụng giao thức này trong thiết kế NoC là rất quan trọng.

IV. Ứng dụng thực tiễn của mạng trên chip trong FPGA

Mạng trên chip được ứng dụng rộng rãi trong các hệ thống nhúng và thiết bị di động. Việc sử dụng FPGA cho phép các nhà thiết kế linh hoạt trong việc triển khai và tối ưu hóa các ứng dụng cụ thể.

4.1. Các ứng dụng trong hệ thống nhúng

Mạng trên chip có thể được sử dụng trong các hệ thống nhúng để cải thiện hiệu suất và giảm thiểu độ trễ. Các ứng dụng này bao gồm thiết bị IoT, điện thoại thông minh và các thiết bị điện tử tiêu dùng khác.

4.2. Kết quả nghiên cứu và đánh giá hiệu suất

Nghiên cứu cho thấy rằng việc áp dụng mạng trên chip với thuật toán XY và giao thức bắt tay trên FPGA có thể cải thiện đáng kể hiệu suất truyền thông, giảm độ trễ và tăng cường khả năng mở rộng.

V. Kết luận và hướng phát triển tương lai của mạng trên chip

Mạng trên chip dựa trên thuật toán XY và giao thức bắt tay trên FPGA là một giải pháp tiềm năng cho các hệ thống truyền thông hiện đại. Hướng phát triển trong tương lai sẽ tập trung vào việc cải thiện hiệu suất và khả năng mở rộng của mạng.

5.1. Tương lai của mạng trên chip

Với sự phát triển không ngừng của công nghệ, mạng trên chip sẽ tiếp tục được cải tiến để đáp ứng nhu cầu ngày càng cao của các ứng dụng. Việc nghiên cứu và phát triển các thuật toán mới sẽ là một phần quan trọng trong quá trình này.

5.2. Các xu hướng nghiên cứu mới trong lĩnh vực NoC

Các xu hướng nghiên cứu mới trong lĩnh vực mạng trên chip bao gồm việc áp dụng trí tuệ nhân tạo và học máy để tối ưu hóa việc định tuyến và quản lý tài nguyên trong mạng.

10/07/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Hệ thống trên chip, hay hệ thống SoC, tiếng Anh: System-on-Chip, viết tắt là SoC hay SOC) là một vi mạch (IC) được tích hợp các thành phần của một máy tính hoặc các hệ thống điện tử khác. Hệ thống SoC có thể bao gồm các khối chức năng kĩ thuật số (digital), tương tự (analog), tín hiệu kết hợp (mixed - signal) và cả các khối tần số radio (RF). SoC xuất hiện trong điện thoại di động - một thiết bị điện tử tiêu tốn it năng lượng. Ứng dụng điển hình của các hệ thống SoC là các hệ thống nhúng.

Một hệ thống máy tính điển hình bao gồm một loạt các mạch tích hợp cho phép thực hiện các nhiệm vụ khác nhau. Các mạch tích hợp này có thể là: e Bộ vi xử ly (Microprocessor) e Bo nhớ (RAM, ROM) ¢ Khối truyền thông nối tiếp UART ¢ _ Các cổng song song (parallel port) e_ Khối điều khiển truy xuất bộ nhớ trực tiếp (DMA controller) SoC tích hợp một vi điều khiển (hoặc một vi xử lí) với những ngoại vi như các bộ xử lí đồ họa (GPU: Graphics Processing Unit), module WiFi, hoặc bộ đồng xử lí (co-processor). 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 mach. SoC có thé tích hợp thêm các khối như: bộ xử lý tín hiệu số, bộ mã hóa, giải mã Viterbi, Turbo.

tùy theo yêu cầu của từng ứng dụng cụ thé. Theo dự đoán ITRSI (2009), trong thập kỷ tới độ phức tạp của hệ thống trên chip (SoC) sẽ tiếp tục tăng nhanh dé có thé đáp ứng yêu cầu ngày càng cao của các ứng dụng. SoC có thể tích hợp được hàng trăm, hay thậm chí nhiều hơn, lõi IP trên một chip đơn. Thiết kế SoC ở quy mô này được bắt đầu từ các thành phần đã được thiết kế sẵn, ví dụ như các bộ xử lý, bộ điều khiển và mảng bộ nhớ.

Phương pháp thiết kế tái sử dụng các lõi IP trở thành phương pháp thiết kế SoC phổ biến nhằm rút ngắn 1 thời gian đưa sản phẩm ra thị trường (time-to-market). Với phương pháp này, yếu tố quyết định lớn nhất sẽ được đề cập đó là sự phối hợp truyền thông giữa các thành phần. Việc thiết kế kiến trúc truyền thông trên chip đòi hỏi phải đáng tin cậy, năng lượng thấp và thực thi cao. Vấn đề kết nối sẽ trở thành yếu tố hạn chế với các mục tiêu.

Hướng nghiên cứu đề tài Dựa trên ý tưởng mô hình NoC để truyền gói tin một cách tự động (từ điểm nguồn đến điểm đích) mà không cần một đường đi được gán mặc định như trước. Đồng thời nhóm đề xuất một mô hình mang TCP/IP cùng với kiến trúc Mesh 3x3 và thuật toán định tuyến tĩnh. Nhóm nghiên cứu đề xuất hướng phát triển đề tài với mục tiêu là nghiên cứu, đánh giá, hiện thực mô hình mạng trên chip với cấu trúc liên kết dạng lưới với kích thước lớn sử dụng thuật toán định tuyến tĩnh dé tự tìm đường đi và giao thức bắt tay dé tránh mất gói. Cũng như đề xuất ra một mô hình NoC cơ bản nhất, dễ tham khảo và sử dụng vào các nghiên cứu về sau.

Mục tiêu đề tài Trong khóa luận tốt nghiệp, đầu tiên, nhóm sẽ nghiên cứu sâu, phân tích và tìm hiểu lý thuyết về các thành phần của mô hình mạng NoC. Tiếp theo, nhóm sẽ tiếp tục nghiên cứu, phân tích và thiết kế các thành phần bên trong mô hình NoC cơ bản, sử dụng ngôn ngữ Verilog và SystemVerilog để thiết kế và kiểm tra chức năng từng khối. Sau cùng, hiện thực thiết kế trên phần mềm Vivado bằng cách truyền gói tin theo các trường hợp tổng quát nhất dé kiểm tra tính chính xác của mô hình mà nhóm đã đề xuất. Network On Chip Network on chip (NoC) ra đời với ý định giải quyết các khó khăn này bằng cách thực hiện một mạng truyền thông.

NoC cho phép chia sẻ tài nguyên, nâng cao băng thông bằng việc chia sẻ các kênh truyền trên mạng, giảm nhỏ năng lượng tiêu thụ do các dây dẫn được thu ngắn, việc phân lớp khi thiết kế và khả năng sử dụng lại các tài nguyên là những đặc điểm thuận lợi khi thiết kế dựa trên NoC.1 mô tả mô hình NoC với cấu trúc 2D Mesh. HE Network Adapter — Link Hinh 2.1 M6 hinh NoC 2D Mesh Bộ chuyển mach (Router hoặc Router): là thành phần cơ ban của mạng, thực hiện việc định tuyến giữa các lỗi vào và lối ra. Nó có nhiệm vụ tính toán đích đến của dữ liệu, phân xử các tranh chấp trên đường truyền dữ liệu và cuối cùng truyền dữ liệu theo đường dẫn đã chọn. Mỗi bộ chuyền mạch thông thường kết nối một số các liên kết và một hay nhiều bộ ghép nỗi mạng NA.

Các bộ chuyển mạch được sắp xếp trong một tôpô mạng và chúng bắt tay chuyền tiếp và điều khiển luồng dữ liệu giữa các NA. Bộ phối ghép mạng thích ứng (NA: Network Adapter hoặc NI: Network Interface): cung cấp giao diện kết nối giữa lõi IP và bộ chuyển mạch. NA thực hiện đóng gói đữ liệu được cung cấp bởi IP thành các gói, các gói lại được phân chia thành các đơn vị dữ liệu nhỏ hơn (gọi là flit) trước khi chúng được gửi vào mạng. Các flit được sử dụng cốt để tối thiểu nhu cầu sử dụng bộ đệm và dây dẫn trong mạng.

Các liên kết (Links): là nhóm các dây dẫn song song kết nối giữa các bộ chuyển mạch. Độ rộng dữ liệu của các đường liên kết phụ thuộc vào số các dây dẫn bó lại với nhau và số đường tín hiệu được sử dụng. Trên các đường liên kết, tại một thời điểm chỉ có một flit dữ liệu được truyền. Các đường liên kết có nhiệm vụ kết nối các bộ chuyển mạch với các bộ NA.

Topology — Cấu trúc liên kết Tôpô (topology) mạng là cách bồ trí của các phan tử trong một hệ thống mạng. Nó quy định tổ chức vật lý của mạng và do đó thường được mô hình hoá bằng các cấu trúc hình học. Giống như trong mạng máy tính, tôpô mạng trên chip cũng có nhiều loại.2 Các mang topology ph biến se Tôpô mang chordal ring: thực chất là một tôpô mạng ring (các nút mạng nối với nhau thành một vòng kín) có bổ sung thêm các dây cung giữa các bộ chuyển mạch đối diện (Hình 2. Ưu điểm của tôpô mạng này cho phép hiệu năng truyền thông cao hơn tôpô mạng ring, nhưng kết nối và định tuyến cũng phức tạp hơn.

¢ _ Tôpô mạng 2D-mesh: là một dạng cấu trúc mạng lưới bao gồm m hàng van cột, giao của các hàng và cột là các bộ chuyển mạch (Hình 2. Tôpô này có ưu điểm là dễ dàng thực thi trên các công nghệ bán dẫn hiện tại, đơn giản trong chiến lược định tuyến, dễ dàng phát triển, dễ mở rộng mô hình mạng. Nhược điểm có độ trễ đáp ứng cao. 4 ¢ _ Tôpô mạng 2D torus: Mạng hình xuyến là một phiên ban cải tiến của mang mắt lưới cơ bản.

Trong đó phần đầu của cột được kết nối với phần cuối của cột và phía trái của hàng được kết nối với phía phải của hàng (Hình 2. Mạng hình xuyến có các bộ chuyển mạch rất nhỏ và có tính đa dạng đường dẫn. Với tôpô mạng này cho phép giảm đường kính của mạng và tăng băng thông. Tuy nhiên nó có một số hạn chế như thực thi trên tôpô mạng này phức tạp hơn, các liên kết nối vòng các bộ chuyền mạch phía ngoài dài dẫn đến suy giảm hiệu năng truyền thông và độ trễ đáp ứng cao.

¢ _ Tôpô fat-tree: Tôpô mạng hình cây lớn là một tôpô mạng có đường kính rất nhỏ nên độ trễ đáp ứng cũng giảm đi đáng kê (Hình II. Nhược điểm của tôpô này là có sự phân cấp bộ chuyển mach và kết nối phức tạp do đó không gian thực thi phần cứng cũng tăng lên đáng kể. Trong khi đó tôpô nhị phân (dạng cây cơ bản) rất hữu ích cho việc khai thác tính cục bộ của lưu lượng (Hình 2. ¢ Với sự đơn giản cũng như dễ thiết kế cho mô hình nên nhóm sẽ quyết định dùng cấu trúc liên kết Mesh với độ lớn là 3x3 (9 nodes) để mô hình hóa thiết kê của mình.

Kỹ thuật chuyển mạch gói Là kỹ thuật thực hiện chia dữ liệu thành nhiều gói tin và các gói này được chuyển tiếp theo từng chặng. Mỗi gói tin bao gồm thông tin định tuyến và dữ liệu. Các gói tin có thé được truyền trên các đường khác nhau và có thé cùng dịch chuyển tại một thời điểm. Tại đích đến, các gói tin hợp thành dữ liệu ban đầu.

Kỹ thuật chuyển mạch này có ưu điểm là tiết kiệm được thời gian truyền và tài nguyên mạng (vì không cần truyền cả gói dữ liệu lớn), tăng hiệu suất đường truyền (vì một kết nối giữa hai bộ chuyên mạch có thể dùng chung cho nhiều gói, các gói xếp hàng và truyền đi nhanh nhất khi có thẻ), nếu trong quá trình truyền gặp tắc nghẽn thì gói tin đó có thé đi theo đường khác dé đến đích. Trong trường hợp, gói tin truyền bị lỗi thì chỉ cần truyền lại gói tin đó thay vì phải truyền lại toàn bộ dữ liệu gốc. Ngoài ra, kỹ thuật này không cần bộ điều khiển trung tâm vi trong các gói tin đã chứa đựng day đủ các thông tin định tuyến. Tuy nhiên, kỹ thuật này có nhược điểm là trễ đường truyền lớn do qua mỗi bộ chuyền mạch dữ liệu được lưu trữ, xử lý trước khi truyền đi.

Vì thế, đòi hỏi các bộ chuyển mạch phức tạp và độ trễ đáp ứng tín hiệu lớn hơn. 5 Dựa theo thiết kế đã đề xuất, một gói tin sẽ chia thành nhiều flit (32 bit) bit khác nhau gồm: e Type (2 bit): Header, Body, Tail (10: Header, 00: Body, 01: Tail, 11: Handshake). © Source (4 bit): Nguồn gửi. e Destination (4 bit): Nguồn đích.

e Data Với Header thi Data (22 bit) sẽ là thông tin định tuyén. Với Body, Tail (26 bit) thì sẽ là thông tin dữ liệu. Type Source | Destination Routing Info 2 bit 4 bit 4 bit 22 bit Hinh 2.3 Flit Header Type Source Data 2 bit 4 bit 26 bit Hinh 2.4 Flit Body va Tail Type Source | Destination] send/receive accept mark_trip 2 bit 4 bit 4 bit 1 bit 1 bit 20 bit Hinh 2.5 Flit Handshake Bang 2.1 Mô tả các loại flit Loại flit Độ dài Thành phần Mục đích Header 32 bit - Type (2 bit) Dùng để xác định - Source, Destination (4 bit) :Ä x ` 4s (10) - Data (22 bit) điểm nguồn va đích cho gói.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề Hiện Thực Mạng Trên Chip Dựa Trên Thuật Toán XY Và Giao Thức Bắt Tay Trên FPGA cung cấp cái nhìn sâu sắc về việc triển khai mạng trên chip sử dụng thuật toán XY và giao thức bắt tay trên FPGA. Tài liệu này không chỉ giải thích các khái niệm cơ bản mà còn đi vào chi tiết về cách thức hoạt động của các thuật toán và giao thức, từ đó giúp người đọc hiểu rõ hơn về ứng dụng của chúng trong thiết kế vi mạch hiện đại.

Một trong những lợi ích lớn nhất mà tài liệu mang lại là khả năng giúp các kỹ sư và nhà nghiên cứu nắm bắt được các phương pháp tối ưu hóa hiệu suất mạng trên chip, từ đó cải thiện hiệu quả trong các ứng dụng thực tế. Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp kỹ thuật máy tính nghiên cứu thiết kế vi mạch quản lý nguồn trên soc, nơi cung cấp cái nhìn sâu hơn về thiết kế vi mạch và quản lý nguồn, một yếu tố quan trọng trong việc tối ưu hóa hiệu suất của các hệ thống mạng trên chip.

Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về các công nghệ và phương pháp hiện đại trong lĩnh vực vi mạch và mạng trên chip.