Báo cáo Xây dựng mô hình mạng trên chip (NoC-Network on Chip) ứng dụng trong thiết kế vi mạch (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Xây dựng mô hình mạng trên chip (NoC-Network on Chip) ứng dụng trong thiết kế vi mạch (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
bao_cao_xay_dung_mo_hinh_mang_tren_chip_noc_network_on_chip.pdf
Nội dung text: Báo cáo Xây dựng mô hình mạng trên chip (NoC-Network on Chip) ứng dụng trong thiết kế vi mạch (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG XÂY DỰNG MÔ HÌNH MẠNG TRÊN CHIP (NOC-NETWORK ON CHIP)S K C 0 0 3 9 ỨNG5 9 DỤNG TRONG THIẾT KẾ VI MẠCH MÃ SỐ: T2014-26 S KC 0 0 5 5 6 7 Tp. Hồ Chí Minh, 2014
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG MÔ HÌNH MẠNG TRÊN CHIP (NOC-NETWORK ON CHIP) ỨNG DỤNG TRONG THIẾT KẾ VI MẠCH Mã số: T2014-26 Chủ nhiệm đề tài: Ths, Phạm Văn Khoa TP. HCM, 11/2014
- TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BÁO CÁO TỔNG KẾT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG MÔ HÌNH MẠNG TRÊN CHIP (NOC-NETWORK ON CHIP) ỨNG DỤNG TRONG THIẾT KẾ VI MẠCH Mã số: T2014-26 Chủ nhiệm đề tài: Ths, Phạm Văn Khoa TP. HCM, 11/2014
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TÓM TẮT ĐỀ TÀI KH&CN CẤP TRƯỜNG XÂY DỰNG MÔ HÌNH MẠNG TRÊN CHIP (NOC-NETWORK ON CHIP) ỨNG DỤNG TRONG THIẾT KẾ VI MẠCH Mã số: T2014-26 Chủ nhiệm đề tài: ThS, Phạm Văn Khoa TP. HCM, 11/2014
- MỤC LỤC MỤC LỤC i DANH SÁCH CHỮ VIẾT TẮT iv DANH SÁCH CÁC HÌNH v DANH SÁCH CÁC BẢNG vii CHƯƠNG 1 TỔNG QUAN 1 1.1 Mô hình SoC đối với các thiết kế đa lõi 1 1.2 Xu thế phát triển và các vấn đề tồn tại về kết nối trên SoC 2 1.3 Giải pháp và sự cần thiết của nền tảng NoC cho các thiết kế SoC 4 1.4 Mục tiêu của đề tài 7 1.5 Phương pháp nghiên cứu 8 1.6 Bố cục trình bày 9 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 10 2.1 Mạng trên chip 10 2.2 Sự phát triển của nền tảng SoC 11 2.2.1 Mô hình kết nối trực tiếp 11 2.2.2 Mô hình bus 11 2.2.3 Mô hình mạng trên chip 12 2.3 Các vấn đề giao tiếp mạng 13 2.3.1 Mô hình truyền thông phân lớp 13 2.3.2 Topo mạng 14 2.3.3 Kỹ thuật chuyển mạch 15 2.3.4 Kênh ảo 21 2.3.5 Định tuyến 23 2.4 Các thành phần trên hệ thống ứng dụng NoC 26 2.4.1 Resource 26 2.4.2 Resource Network Interface 27 i
- 2.4.3 Router 27 2.5 Công cụ phát triển 28 2.5.1 Vai trò FPGA trong thiết kế hệ thống số 28 2.5.2 Công cụ phát triển Quartus 30 2.5.3 Công cụ mô tả phần cứng VHDL 31 2.5.4 Công cụ Design Compiler 31 2.5.5 Thư viện thiết kế 32 CHƯƠNG 3 THIẾT KẾ MÔ HÌNH ỨNG DỤNG MẠNG TRÊN CHIP 34 3.1 Thiết kế kiến trúc router 34 3.1.1 Kiến trúc bên ngoài của router 34 3.1.2 Kiến trúc bên trong của router 39 3.2 Thiết kế thành phần giao tiếp mạng 48 3.2.1 Các biến thể của RNI 50 3.2.2 Các vấn đề đối mặt khi thiết kế RNI 50 3.2.3 Thiết kế cấu trúc slave RNI 54 3.2.4 Thiết kế cấu trúc master RNI 57 3.3 Thiết kế tài nguyên mạng 59 3.3.1 Khối switch ngõ vào 59 3.3.2 Khối bộ nhớ (dummy memory) 60 3.3.3 Khối xử lý (dummy processor) 61 3.3.4 Khối traffic counter và giao tiếp uart 62 CHƯƠNG 4 ĐÁNH GIÁ THIẾT KẾ 64 4.2 Đánh giá hoạt động thực nghiệm của mô hình 64 4.2 Đánh giá tài nguyên của thiết kế trên FPGA 70 4.3 Đánh giá thiết kế về mặt công suất, diện tích và thời gian 72 4.3.1 Công suất tiêu thụ 72 4.3.2 Tần số hoạt động 74 4.3.3 Diện tích 75 CHƯƠNG 5 KẾT LUẬN 79 5.1 Kết quả đạt được 79 5.2 Phần khuyến nghị 80 ii
- 5.2.1 Những tồn tại trong đề tài 80 5.2.2 Các giải pháp cải tiến thiết kế 81 5.2.2.1 Giảm số lượng các thanh ghi và các cổng logic 81 5.2.2.2 Độ rộng dữ liệu 81 5.2.2.3 Bộ đệm trong các RNI 82 5.2.2.4 Kích thước mạng thay đổi 82 5.2.2.5 Bidirectional router 82 5.2.2.6 Gói tin chứa đa flit 83 5.2.2.7 Cơ chế Wormhole 83 5.2.2.8 Cơ chế kênh ảo 83 5.2.2.9 Thuật toán định tuyến 84 5.2.2.10 Độ ưu tiên trong việc định tuyến 84 iii
- DANH SÁCH CHỮ VIẾT TẮT NoC Network on Chip SoC System on Chip RNI Resource Network Interface IP Intellectual Property CPU Central Processing Unit AMBA Advanced Microcontroller Bus Architecture MPSoC Multiprocessor System-on-Chip FPGA Field-programmable gate array DC Design Compiler FSM Finite State Machine DOR Demension Ordered Routing QoS Quality of Service DSP Digital Signal Processing ASIC Application Specific Integrated Circuit IC Integrated Circuit HDL Hardware Description Language RTL Register Transfer Level UART Universal Asynchronous Receiver-Transmitter IDE Integrated Development Environment VHDL Very High Speed Integrated Circuit HDL IEEE Institute of Electrical and Electronic Engineer EDA Electronic Design Automation ID Identification OSI Open Systems Interconnection iv
- DANH SÁCH CÁC HÌNH Hình 1.1: Các thành phần trong một SoC 1 Hình 1.2: Kiến trúc hệ thống dựa trên mô hình bus AMBA [5] 3 Hình 1.3: Phương pháp thiết kế NoC đối với MPSoC có tích hợp lớn [2] 4 Hình 1.4: Mô hình SoC dựa trên nền tảng truyền thông NoC [7] 5 Hình 2.1: Truyền thông trên SoC dựa trên mô hình kết nối trực tiếp [7] 11 Hình 2.2: Truyền thông trên SoC dựa trên mô hình bus [7] 12 Hình 2.3: Truyền thông trên SoC dựa trên mô hình mạng trên chip [7] 13 Hình 2.4: Topo dạng vòng, lưới 2 chiều và dạng torus 14 Hình 2.5: Topo dạng lưới với kích thước 2*3 [12] 15 Hình 2.6: Thiết kế tổng quát bên trong một switch [2] 16 Hình 2.7: Kết nối giữa 2 router với 4 router trung gian [2] 17 Hình 2.8: Kỹ thuật chuyển mạch store-and-forward [3] 18 Hình 2.9: Virtual Cut-Through trong trường hợp không có trì hoãn [3] 18 Hình 2.10: Virtual Cut-Through trong trường hợp có trì hoãn [3] 19 Hình 2.11: Message được chia nhỏ thành các flit để di chuyển trên mạng [3] 19 Hình 2.12: Phương pháp điều khiển luồng wormhole [3] 20 Hình 2.13: 4 kênh ảo chia sẻ một kênh truyền vật lý [3] 21 Hình 2.14: Sơ đồ các phương pháp định tuyến [6] 23 Hình 2.15: Đường đi của gói tin theo cơ chế định tuyến OXY [1] 25 Hình 2.16: Gói tin di chuyển mọi hướng và chỉ hướng theo chiều X-Y 25 Hình 2.17: Kiến trúc cơ bản của router [2] 28 Hình 2.18: Thể hiện bên trong của một FPGA [20] 29 Hình 2.19: Design flow của Quartus [21] 30 Hình 2.20: Sơ đồ mô tả chức năng của Design Compiler 32 v
- Hình 3.1: Thiết kế router với 2 kênh truyền vật lý vào/ra tại mỗi hướng 35 Hình 3.2: Topo dạng lưới 2 chiều với 16 node mạng 36 Hình 3.3: Định tuyến Oxy cho mô hình dạng lưới 2 chiều 37 Hình 3.4: Sơ đồ các bước xử lý đối với một router cơ bản [1] 40 Hình 3.5: Kiến trúc tổng quát bên trong của router [1] 41 Hình 3.6: Kiến trúc tổng quát bên ngoài của một router 42 Hình 3.7: Cấu trúc khối bộ đệm và luồng dữ liệu tại ngõ vào router 42 Hình 3.8: Độ ưu tiên các cổng trên router 45 Hình 3.9: Cấu trúc khối chuyển mạch router 47 Hình 3.10: Mô hình hoá các tín hiệu trên router 47 Hình 3.11: Vị trí của RNI trên hệ thống mạng trên chip [12] 48 Hình 3.12: Thành phần và kết nối của RNI trong hệ thống mạng trên chip 49 Hình 3.13: Giao diện giao tiếp giữa master RNI với resource 52 Hình 3.14: Giao diện giao tiếp giữa slave RNI với resource 52 Hình 3.15: Giao diện giao tiếp giữa master RNI với router 53 Hình 3.16: Giao diện giao tiếp giữa slave RNI với router 53 Hình 3.17: Cấu trúc tổng quát bên ngoài của slave RNI 54 Hình 3.18: Cấu trúc tổng quát bên ngoài của master RNI 57 Hình 3.19: Cấu trúc tổng quát bên ngoài của switch 59 Hình 3.20: Cấu trúc tổng quát bên ngoài của dummy memory 60 Hình 3.21: Cấu trúc tổng quát bên ngoài của dummy processor 61 Hình 4. 1 Mô tả kết nối giữa board DE2 và máy tính 65 Hình 4.2: Tình trạng mạng khi switch ở trạng thái 0000 67 Hình 4.3: Tình trạng mạng khi switch ở trạng thái 0100 69 Hình 4.4: Tình trạng mạng khi switch ở trạng thái 0011 69 Hình 4.5: Tình trạng mạng khi switch ở trạng thái 0010 70 vi
- DANH SÁCH CÁC BẢNG Bảng 2.1: Tóm tắt các kỹ thuật chuyển mạch [3] 22 Bảng 3.1: Ý nghĩa của các chân tín hiệu của slave RNI 55 Bảng 3.2: Ý nghĩa của các chân tín hiệu của master RNI 58 Bảng 3.3: Ý nghĩa của các chân tín hiệu của switch 60 Bảng 3.4: Ý nghĩa của các chân tín hiệu của dummy memory 61 Bảng 3.5: Ý nghĩa của các chân tín hiệu của dummy processor 62 Bảng 4. 1 Phân bố màu chỉ thị đối với kênh dẫn 64 Bảng 4.2 Mô tả hành vi một số resource trên mạng 66 Bảng 4. 3: Bảng tổng hợp thiết kế trên nền tảng phần cứng FPGA 70 Bảng 4.4: Bảng thống kê tài nguyên chi tiết đối với các khối trong thiết kế 71 Bảng 4. 5 Đơn vị tính toán về mặt công suất 73 Bảng 4. 6 Công suất tiêu thụ của thiết kế đối với từng phương pháp tối ưu 73 Bảng 4. 7 Thông tin tần số hoạt động tối đa khác nhau của các họ FPGA 74 Bảng 4. 8 Thông tin về diện tích thiết kế với từng phương pháp tổng hợp 75 Bảng 4. 9 Thông tin về công suất, diện tích và thời gian với phương pháp tối ưu mức cao trong quá trình tổng hợp 77 Bảng 4. 10 Thông tin về công suất, diện tích và thời gian với phương pháp tối ưu mức trung bình trong quá trình tổng hợp 78 vii
- Chương 1 Tổng Quan CHƯƠNG 1 TỔNG QUAN 1.1 Mô hình SoC đối với các thiết kế đa lõi Trong lĩnh vực vi mạch điện tử, vấn đề quan trọng nhất là làm thế nào để giảm giá thành, tăng hiệu năng của hệ thống và tăng số lượng sản phẩm[1]. Mật độ tích hợp của hệ thống là yếu tố ảnh hưởng nhiều đến giá thành sản phẩm. Mật độ tích hợp càng cao thì sự phức tạp của các thành phần bên trong hệ thống cũng tăng theo. Để phù hợp với việc gia tăng nhanh về mật độ tích hợp (density), tần số hoạt động (performance) và yêu cầu về thời gian đưa sản phẩm ra thị trường (time to market) thì đã có ngày càng nhiều các thiết kế kiến trúc SoC (System on Chip) đa lõi xử lý (multiprocessor SoC) được ra đời[2]. Việc tích hợp một hệ thống hoàn chỉnh trên một vi mạch duy nhất được biết đến như là hệ thống trên chip. Trong thiết kế SoC, các bộ xử lý với công suất tối ưu được kết hợp với các thành phần phần cứng cần thiết khác là một sự lựa chọn tốt đối với hầu hết các thiết kế nhằm phù hợp giữa hiệu năng và công suất tiêu hao. Audio DSP Processor Controller I/O Video Memory Controller Controller Video Video Receiver Transmitter Hình 1.1: Các thành phần trong một SoC Thiết kế SoC phân tách riêng biệt các tác vụ ứng dụng thành nhiều thành phần xử lý khác nhau trong đó mỗi thành phần có thể hoạt động hoặc không hoạt động 1
- Chương 1 Tổng Quan một cách độc lập nhau nhằm giảm sự tiêu hao năng lượng. Mỗi thành phần xử lý có thể hoạt động tại một mức điện áp và tần số khác nhau. Một SoC với thành phần DSP chuyên để xử lý các dữ liệu tín hiệu số, thành phần I/O controller nhằm thu thập và điều khiển các tín hiệu ngoại vi, thành phần memory và memory controller chuyên để lưu trữ dữ liệu và tất cả việc xử lý tính toán chính trên hệ thống sẽ được thực hiện trên bộ xử lý trung tâm của hệ thống. 1.2 Xu thế phát triển và các vấn đề tồn tại về kết nối trên SoC Trong vài năm gần đây, các nhà thiết kế SoC đã có thể tích hợp với số lượng nhiều hơn 50 lõi [2] với khoảng hơn 4 tỉ transistor trên cùng một chip bao gồm các bộ xử lý, đi kèm là các khối bộ nhớ, khối xử lý tín hiệu Toàn bộ hệ thống có thể hoạt động với tần số khoảng 10Ghz. Tuy nhiên, ngày nay với sự phát triển nhanh chóng số lượng các thành phần bên trong chip thì các nhà thiết kế SoC phải đối mặt với một thách thức mới trong việc thiết kế nền tảng kết nối các thành phần này[1-4]. Ý tưởng sử dụng các dây dẫn trực tiếp để kết nối các thành phần đã dẫn đến số lượng lớn các chân kết nối cho mỗi thành phần, làm tăng thời gian định tuyến, bên cạnh đó là thời gian trì hoãn (delay) lớn đối với việc lan truyền tín hiệu[1]. Giải quyết vấn đề tồn tại với dây dẫn kết nối trực tiếp thì SoC hiện nay hầu hết đều sử dụng mô hình bus cho việc kết nối các thành phần trên chip. Mô hình bus giúp giảm số lượng chân kết nối và làm chuẩn hóa việc kết nối giữa các thành phần trong chip với bus kết nối vì thế mô hình kết nối này có khả năng tái sử dụng đối với các thiết kế mới. Bus có tính mở rộng nhiều hơn và có thể đạt được hiệu năng gần như tương đương với kiến trúc kết nối trực tiếp. Với các đặc tính này đã dẫn đến việc các SoC ngày nay chủ yếu sử dụng các mô hình bus cho việc truyền thông và tích hợp các thành phần chức năng trên chip[2, 5]. Các mô hình bus phân cấp đã được đề xuất để mang lại hiệu năng giao tiếp giữa nhiều thành phần giao tiếp. Hiện nay, mô hình bus đã được triển khai trên các ứng dụng SoC như vi điều khiển và các hệ thống đa vi xử lý, điển hình là bus AMBA của hãng thiết kế ARM, Avalon của Altera, CoreConnect của IBM và STBus của ST [1, 2] 2
- Chương 1 Tổng Quan Hình 1.2: Kiến trúc hệ thống dựa trên mô hình bus AMBA[5] Tuy nhiên, khi xét đối với các hệ thống lớn mô hình bus lại thể hiện một số hạn chế là không có tính mở rộng và không mang lại hiệu năng mong muốn bởi băng thông được chia sẻ giữa tất cả các thành phần kết nối đến bus[1, 2, 5, 6]. Ngoài ra, với hệ thống lớn có số lượng lõi IP lớn sẽ phát sinh vấn đề làm cho đường dây kết nối dài và hình thành các điện trở và điện dung kí sinh có giá trị lớn. Kết quả dẫn đến là gặp phải các vấn đề về trì hoãn liên kết và công suất tiêu thụ. Với xu hướng thiết kế SoC hiện nay, thách thức chính mà các nhà nghiên cứu phải đối mặt hiện nay để tích hợp một số lượng lớn nhiều thành phần khác nhau trên chip là vấn đề về tính cấu trúc (structured), khả năng mở rộng (scalable), khả năng tái sử dụng (reusable), và hiệu năng cao (high performance). Một nền tảng kết nối được xem là có tính cấu trúc (structured) tức có khả năng phân tích về mặt toán học. Khả năng mở rộng (scalable) của nền tảng kết nối nhằm chỉ ra rằng nền tảng đó có khả năng mở rộng hệ thống với số lượng lớn các thành phần. Một hệ thống không có tính mở rộng tức tính tái sử dụng không cao trong việc kết nối các nguồn tài nguyên. Đặc tính tái sử dụng (reusability) là yếu tố chính trong tất cả các khía cạnh thiết kế SoC lớn và phức tạp. Tính tái sử dụng ảnh hưởng đến thời gian thiết kế và kiểm thử của sản phẩm. Nhờ yếu tố này mà việc xây dựng các SoC mới sẽ dễ dàng hơn bằng cách thêm các thành phần vào thiết kế đã có sẵn. Trong nhiều ứng dụng thương mại quan trọng, đặc biệt là trong lĩnh vực truyền thông đa phương tiện và xử lý thì yêu cầu nhiều lõi SoC với băng thông lớn giữa các lõi. Do đó, hệ thống có hiệu năng cao tức có băng thông truyền dữ liệu 3
- Chương 1 Tổng Quan giữa các lõi là rất lớn[2]. Các đặc tính này đều liên quan với nhau và có sự đánh đổi (trade-off) giữa các tính chất trên trong quyết định thiết kế một SoC. 1.3 Giải pháp và sự cần thiết của nền tảng NoC cho các thiết kế SoC Trong vài năm gần đây, các công nghệ tích hợp mới ngày càng ra đời đi kèm là yêu cầu kích thước của transistor ngày càng nhỏ hơn và thời gian trì hoãn lan truyền của dây dẫn ngày càng giảm. Vì thế, thiết kế SoC cần một kiến trúc giao tiếp có tính cấu trúc và tính mở rộng để phù hợp với các ứng dụng đòi hỏi sự phức tạp lớn. Việc thiết kế kiến trúc giao tiếp trên chip ngày càng trở nên quan trọng và dần đã có sự chuyển dời từ phương pháp thiết kế tập trung vào khả năng tính toán của hệ thống (computation centric design) sang phương pháp thiết kế tập trung vào vấn đề truyền thông giao tiếp trên hệ thống (communication centric design)[1]. Hình 1.3: Phương pháp thiết kế NoC đối với MPSoC có tích hợp lớn[2] Các nhà nghiên cứu trong lĩnh vực kiến trúc máy tính đã nghiên cứu nhiều kiến trúc có tính mở rộng để xây dựng các hệ thống đa bộ xử lý. Tính mở rộng và sự thành công của mô hình internet đã mang lại ý tưởng cho các mạng sử dụng thiết bị định tuyến (router). Dựa vào mô hình truyền thông giao tiếp dữ liệu bằng gói tin trên mạng máy tính để áp dụng cho lĩnh vực thiết kế SoC và các hệ thống giao tiếp thông tin trên chip. Việc truyền thông dựa trên phương pháp chuyển mạch gói mang lại khả năng mở rộng, chuẩn hóa và sử dụng lại đối với cơ sở hạ tầng giao tiếp. Các đặc tính này rất quan trọng với các nhà thiết kế chip với mục đích đưa sản phẩm ra thị trường một cách nhanh chóng. Các nhà nghiên cứu đã đề xuất phương pháp thiết kế tập trung vào vấn đề truyền thông và mô hình mạng trên chip (Network on Chip-NoC) 4
- Chương 1 Tổng Quan được đề xuất với nhiều ưu điểm và giải quyết triệt để các vấn đề tồn tại đối với truyền thông trên các SoC hiện nay. Các khái niệm tồn tại trong nền tảng NoC tương tự với mạng máy tính. Trong đó, thành phần router sẽ nhận chức năng liên kết các thành phần còn lại của hệ thống như bộ xử lý, bộ nhớ và ngoại vi trong một hệ thống ứng dụng NoC. Các giao thức truyền thông dựa trên mô hình phân lớp được sử dụng trong thiết kế NoC. Vì thế, phương pháp thiết kế này đem lại tính mở rộng cao (high scalability) và linh hoạt trong thiết kế các SoC. Hình 1.4: Mô hình SoC dựa trên nền tảng truyền thông NoC[7] Trên thế giới, đã có nhiều công trình nghiên cứu và ứng dụng về lĩnh vực NoC nhằm từng bước hiện thực hóa phương pháp thiết kế này[7-16]. Hiện nay, việc nghiên cứu về lĩnh vực mạng trên chip đang được thực hiện bởi nhiều nhóm nghiên cứu của các công ty, trường đại học, viện nghiên cứu trên toàn thế giới theo nhiều hướng khác nhau. Thuật ngữ NoC được sử dụng trong các nghiên cứu đã được công bố với một ý nghĩa rộng, từ các nghiên cứu thực hiện ở mức cổng (gate-level), mức layout, triển khai ứng dụng hệ thống dựa trên NoC, đến việc phát triển thiết kế kiến trúc NoC sao cho đạt hiệu năng cao nhất. Ngoài ra, việc phát triển các công cụ thiết 5
- Chương 1 Tổng Quan kế NoC nhằm từng bước thay thế hoàn toàn các phương pháp thiết kế được sử dụng hiện nay đối với SoC cũng được chú ý nghiên cứu. Có thể bao quát một số công trình nghiên cứu cũng như đề xuất đã được thực hiện trong lĩnh vực NoC như sau: . Ethereal được phát triển bởi Philips từ năm 2001. Mục tiêu là thực hiện một nền tảng NoC đảm bảo thông lượng truyền dẫn. Đối với Ethereal việc đảm bảo dịch vụ là yêu cầu đối với thiết kế phần cứng cũng như cơ sở cho thiết kế phần mềm. Năm 2003, router của Ethereal với 6 cổng 2 chiều độ rộng 32 bit đã được tổng hợp với công nghệ CMOS 0.13um, với diện tích tổng cộng là 0.175mm2 và băng thông đạt là 16Gbit/giây trên mỗi cổng. . MiniNoC là đề tài được thực hiện tại Đại học kỹ thuật Eindhoven Hà Lan nhằm mục đích nghiên cứu các ứng dụng cho hệ thống MPSoC. MiniNoC gồm 4 bộ xử lý được kết nối với nhau theo topo dạng torus, với cơ chế định tuyến là E-Cube. Việc phát triển các ứng dụng trên hệ thống này sử dụng ngôn ngữ lập trình C/C++. MiniNoC có khả năng mở rộng thành mạng có kích thước lớn. . Benini và De Micheli trong nghiên cứu về NoC đã dự đoán rằng các mạng chuyển mạch gói sẽ là yếu tố quan trọng cần thiết để phù hợp với sự phức tạp của các thiết kế SoC trong tương lai. Họ phân các lớp giao thức đối với mạng trên chip thành 3 phần. Trong đó phần thấp nhất sẽ liên quan đến các vấn đề về dây dẫn vật lý. Phần thứ 2 sẽ phù hợp với thiết kế ở mức kiến trúc và luận lý ở mức độ liên kết dữ liệu và giao vận. Phần cao nhất sẽ xử lý các về vấn đề ứng dụng. Các nhà nghiên cứu đã kết luận rằng ảnh hưởng chính yếu trong thiết kế NoC liên quan đặc biệt đến các giao thức nhằm phù hợp với ứng dụng và hiệu năng. . Học viện kỹ thuật hoàng gia, VTT electronic, Oulu đã hợp tác phát triển một nền tảng NoC cho các hệ thống SoC lớn. Nền tảng này bao gồm các bộ chuyển mạch dạng lưới 2 chiều. Các tài nguyên được đặt tại các giao diện kết nối với các bộ chuyển mạch. Mỗi bộ chuyển mạch được kết nối đến một tài 6
- Chương 1 Tổng Quan nguyên và 4 bộ chuyển mạch lân cận. Một tài nguyên có thể là bất cứ thành phần xử lý, bộ nhớ hoặc khối ngoại vi mà phù hợp với giao diện kết nối trên NoC. Để giảm thời gian trì hoãn gói tin trong mạng và giảm chi phí phần cứng của bộ chuyển mạch, các nhà nghiên cứu đã thiết kế bộ đệm dữ liệu có kích thước nhỏ song được kết hợp hiệu quả với thuật toán định tuyến động. Tại Việt Nam, trong những năm gần đây đã có một số đề tài nghiên cứu về NoC[17, 18]. Đó là các đề tài nhằm triển khai ở cấp độ hệ thống cũng như cải tiến về mặt cấu trúc để tăng hiệu năng của một mô hình NoC. Trong đó: . Năm 2007, với BASIC-NoC, Huỳnh Việt Thắng đã giới thiệu mô hình NoC với topo dạng torus kích thước 2x2, sử dụng giải thuật định tuyến theo chiều, cơ chế điều khiển luồng wormhole và kết hợp sử dụng hai kênh ảo. Kết quả nghiên cứu thực thi trên phần cứng FPGA. Kết quả mô phỏng đã thể hiện được ưu điểm của giải pháp sử dụng kênh ảo trong kiến trúc router nhằm tăng hiệu năng và giảm độ trễ trên mạng. . Năm 2012, Phạm Đăng Lâm đã giới thiệu kiến trúc pipeline NoC. Với việc xây dựng một NoC với topo dạng lưới 2 chiều và kích thước 3x3, sử dụng giải thuật định tuyến cố định theo chiều, với 2 kênh ảo trên mỗi cổng và cơ chế điều khiển luồng req/ans tác giả đã trình bày mô hình bộ chuyển mạch gói tin trên mạng. Với mô hình này, băng thông đạt được là 6 megapacket/s và băng thông trung bình đạt là 240Mbps. Tuy kết quả ở mức độ nghiên cứu và triển khai mô hình giả lập dẫn đến hiệu năng và ứng dụng vào các hệ thống thực tế chưa cao. Song đây được xem là những bước đi đầu tiên trong việc nghiên cứu và làm nền tảng để tiếp cận giải pháp NoC đối với thiết kế các SoC nói riêng cũng như lĩnh vực thiết kế vi mạch nói chung. 1.4 Mục tiêu của đề tài Đề tài tập trung nghiên cứu để giải quyết 3 mục tiêu chính là: Thứ nhất, nghiên cứu và phát triển mô hình SoC hoàn chỉnh nhằm minh hoạ ứng dụng nền tảng kết nối theo phương pháp truyền gói tin giữa các thành phần, bao 7
- Chương 1 Tổng Quan gồm: thiết kế bộ chuyển mạch gói tin là các router, nền tảng liên kết giữa các router để tạo thành một NoC, thiết kế thành phần kết nối giữa các tài nguyên trên SoC là network adapter, giả lập một số thành phần trên hệ thống SoC như bộ xử lý (processor), bộ nhớ (memory), ngoại vi vào/ra Thứ hai, mô hình minh hoạ ứng dụng NoC hoàn chỉnh sẽ được thực nghiệm và đánh giá trên nền tảng phần cứng FPGA của hãng Altera là board DE2. Từ việc thực nghiệm bằng phần cứng sẽ đánh giá chi phí của thiết kế cũng như minh họa trực quan quá trình giao tiếp và tình trạng kết nối giữa các thành phần trên mạng thông qua giao diện được xây dựng bởi công cụ Matlab. Thứ ba, việc đánh giá các vấn đề liên quan đến công suất, diện tích cũng như tần số hoạt động của thiết kế sẽ được thực hiện dựa trên công cụ biên dịch và tổng hợp Design Compiler của hãng Synopsys. 1.5 Phương pháp nghiên cứu Mô hình minh hoạ NoC sẽ được nghiên cứu và xây dựng dựa trên các vấn đề: . Nghiên cứu và ứng dụng topo phù hợp cho thiết kế từ đó triển khai phương pháp định tuyến dữ liệu cũng như xác định kích thước bus dữ liệu cho kết nối trên mạng. . Nghiên cứu các cơ chế chuyển mạch cho mạng bao gồm chuyển mạch mạch (circuit switching) và chuyển mạch gói (packet switching) từ đó chọn ra phương pháp chuyển mạch cho thiết kế. . Nghiên cứu và ứng dụng cơ chế điều khiển luồng bao gồm điều khiển luồng dựa trên gói tin (store and forward, cut-through), và điều khiển luồng dựa trên flit (wormhole). . Nghiên cứu và xây dựng một router hoàn chỉnh bao gồm: bộ chuyển mạch trên mạng (switch network), bộ đệm dữ liệu trên mạng (buffer), bộ phân xử dựa vào độ ưu tiên (arbiter). . Nghiên cứu nền tảng phần cứng FPGA, công cụ phát triển thiết kế hệ thống số Quartus, công cụ mô phỏng Matlab và ngôn ngữ mô tả phần cứng VHDL 8
- Chương 1 Tổng Quan nhằm thực thi, minh họa một cách trực quan các trường hợp giao tiếp của thiết kế trên giao diện máy tính. . Nghiên cứu công cụ biên dịch và đánh giá thiết kế Design Compiler nhằm phân tích các bản báo cáo tổng hợp về mặt diện tích, công suất và tần số theo công nghệ tích hợp chuẩn của hãng Synopsys. 1.6 Bố cục trình bày Chương 2 mô tả về nền tảng cơ sở hạ tầng truyền thông trên SoC, một số khái niệm cơ bản và các vấn đề giao tiếp mạng gồm: topo mạng, kỹ thuật chuyển mạch, kỹ thuật định tuyến, kỹ thuật điều khiển luồng. Phần này cũng mô tả các thành phần tồn tại trong một thiết kế ứng dụng NoC cũng như chức năng chung của chúng. Ngoài ra, công cụ phát triển cho thiết kế FPGA và công cụ đánh giá thiết kế Design Compiler cũng được trình bày trong chương này. Chương 3 mô tả phương pháp thiết kế được lựa chọn đối với thiết kế các thành phần trong NoC như: kích thước gói tin, kích thước bộ đệm dữ liệu, tín hiệu điều khiển luồng, thành phần phân xử trong trường hợp xảy ra tranh chấp, thành phần định tuyến. Mô hình thiết kế chi tiết đối với thành phần giao tiếp mạng, tài nguyên mạng như dummy processor, dummy memory, i/o cũng được trình bày trong chương này. Chương 4 trình bày về việc đánh giá thiết kế về chi phí sử dụng tài nguyên FPGA của các khối thành phần dựa trên công cụ thiết kế Quartus của hãng Altera. Phương pháp mô phỏng tình trạng hoạt động của mạng với sự hỗ trợ của công cụ Matlab dựa trên việc giao tiếp nhận dữ liệu từ mô hình trên FPGA. Ngoài ra, trong phần này việc đánh giá kết quả tổng hợp về diện tích, công suất và tần số của thiết kế cũng được trình bày. Chương 5 đưa ra những nhận xét về kết quả và những hạn chế trong thiết kế mô hình ứng dụng NoC. Những phương án thiết kế nhằm cải tiến hiệu năng cho mô hình ứng dụng NoC cũng được đề xuất trong phần này. 9
- Chương 2 Cơ Sở Lý Thuyết CHƯƠNG 2 CƠ SỞ LÝ THUYẾT Chương này trình bày về các khái niệm trong thiết kế NoC, nền tảng cơ sở hạ tầng truyền thông trên SoC cũng như một số khái niệm cơ bản và các vấn đề giao tiếp mạng gồm: topo mạng, kỹ thuật chuyển mạch, kỹ thuật định tuyến, kỹ thuật điều khiển luồng. Chương này đặc tả chi tiết về cấu trúc và chức năng các khối thành phần trong một thiết kế ứng dụng NoC. Ngoài ra, các công cụ phát triển dành cho thiết kế số dựa trên nền tảng phần cứng FPGA và công cụ đánh giá tổng hợp thiết kế cũng được trình bày trong chương này. 2.1 Mạng trên chip Mạng kết nối đa dụng trên chip, NoC, là thiết kế phù hợp với sự phát triển gia tăng của các thiết kế hệ thống đa lõi xử lý (MPSoC) hiện đại. NoC được thiết kế theo phương pháp tập trung vào hướng truyền thông trong đó nền tảng kết nối đa dụng sẽ được phát triển trước, sau đó các khối chức năng xác định như bộ xử lý, bộ nhớ, bộ điều khiển thiết bị ngoại vi sẽ được gắn kết vào NoC thông qua các giao diện giao tiếp RNI[1]. Nghiên cứu trong lĩnh vực NoC yêu cầu sự hiểu biết về nhiều lĩnh vực khoa học khác nhau từ cấp độ liên kết vật lý đến cấp độ phần ứng dụng. Do đó, các nghiên cứu NoC cần được giải quyết ở các cấp độ khác nhau và có thể được phân loại thành các lớp vật lý, lớp mạng, lớp ứng dụng dựa trên các cấp độ trừu tượng khác nhau. Mỗi phân vùng tồn tại các vấn đề và giải pháp tương ứng. Có thể chia các hướng nghiên cứu về lĩnh vực NoC như sau[18]: . Khía cạnh cấp độ hệ thống (system level) . Phương pháp thiết kế: mô hình hoá và khảo sát mô hình . Đặc tính về mặt lưu lượng: độ trễ lan truyền, luồng dữ liệu và những yếu tố ảnh hưởng. . Khía cạnh về thiết kế giao diện giao tiếp mạng (network adapter hay RNI) . Chức năng: phương pháp đóng gói, quản lý dịch vụ 10
- S K L 0 0 2 1 5 4



