ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL 17, NO 1.1, 2019 21 PHÁT TRIỂN NỀN TẢNG PHẦN CỨNG CẤU HÌNH LẠI ĐƯỢC ĐA LÕI DỰA THEO KIẾN TRÚC NoC TRÊN FPGA DEVELOPING A FLEXIBLE NoC-BASED MULTICORE RECONFIGURABLE HARDWARE PLATFORM ON FPGA Nguyễn Văn Cường1, Phạm Văn Vĩnh1, Nguyễn Trọng Các2 Trường Đại học Công nghiệp Tp.HCM; {nguyenvancuong, phamvanvinh}@iuh.edu.vn Trường Đại học Sao Đỏ; cacdhsd@gmail.com Tóm tắt - Linh hoạt khả mở rộng đặc tính quan trọng tảng nhúng đại Cấu hình lại phần động (Dynamic Partial Reconfigurable) FPGA kiến trúc mạng chip (NoC: Network on Chip) giải pháp tuyệt vời cho yêu cầu thiết kế Bài báo tập trung vào phát triển tảng phần cứng cấu hình lại thời gian chạy FPGA dựa theo kiến trúc NoC Nền tảng có khả cấu hình lại mơ đun cho lớp truyền thơng NoC để tối ưu hóa cấu trúc truyền thông theo yêu cầu thay đổi ứng dụng nhằm nâng cao hiệu sử dụng tài nguyên cải thiện hiệu mạng cấu hình lại lớp tính tốn có ứng dụng triển khai lên tảng cách linh hoạt Mơ hình nhóm tác giả thực nghiệm kiểm chứng FPGA Virtex-6 chip XC6VLX240T Abstract - Flexibility and scalability are very important characteristics of modern embedded platforms The Dynamic Partial Reconfigurable (DPR) FPGA and Network on Chip (NoC) architectures are excellent solutions to these requirements.This paper focuses on the development of a NoC-based run-time reconfigurable hardware platform on FPGA This platform is capable of reconfiguring NoC communication modules to optimize the communication structure in response to changes in application processing requirements in order to increase the resource usage efficiency and to improve the network performance The platform can also reconfigure processing elements when new applications need to be deployed This model is implemented on Virtex-6 FPGA with AXI Bus Từ khóa - Cấu hình động; mạng chip; Multicore; FPGA Key words - DPR; NoC, Multicore; FPGA Đặt vấn đề Trong năm gần đây, công nghệ FPGA không ngừng phát triển, số lượng tài nguyên tốc độ xử lý dần tăng, giá thành tiêu thụ lượng tiếp tục giảm, nhiều tính tích hợp, đặc biệt khả cấu hình lại phần động [1-2] Do vậy, hệ thống chip dựa FPGA trở thành tảng đầy hứa hẹn cho hệ thống nhúng hiệu cao cung cấp cân tốt hiệu năng, rút ngắn thời gian đưa sản phẩm thị trường, chi phí tính linh hoạt Theo hướng này, hầu hết hệ thống nhúng dựa FPGA phát triển để hỗ trợ ứng dụng đa phương tiện ứng dụng xử lý tín hiệu [3-6] Các ứng dụng thường địi hỏi sở hạ tầng truyền thông linh hoạt, hiệu cao khả xử lý liệu nhanh Do vậy, phát triển tảng nhúng cấu hình lại FPGA dựa theo mơ hình NoC thời gian chạy cần thiết phù hợp với hướng phát triển Hiện nay, có hai giải pháp tiếp cận cho vấn đề cấu hình lại cấu trúc NoC thời gian chạy để thích nghi với yêu cầu thay đổi ứng dụng: (i) Giải pháp tự cấu hình mơ đun dựa theo tình trạng mạng [7-8] (ii) giải pháp cấu hình động mơ đun NoC dựa cơng nghệ cấu hình lại phần động FPGA đại Trong khuôn khổ nghiên cứu này, nhóm tác giả tập trung vào phát triển tảng phần cứng cấu hình lại đa lõi dựa theo kiến trúc NoC FPGA bao gồm lõi vi xử lý nhúng (ví dụ: Microblaze ARM) PE, router cấu hình lại được, chúng kết nối với thông qua kiến trúc truyền thông NoC Nền tảng có khả tự động cấu hình lại sở hạ tầng truyền thơng để thích nghi với yêu cầu thay đổi ứng dụng cho phép cấu hình lại lõi PE để đáp ứng yêu cầu triển khai ứng dụng mới, triển khai nhiều ứng dụng, ứng dụng điều chỉnh mức chất lượng nâng cấp sửa lỗi hệ thống tương lai cách linh hoạt Phương pháp thiết kế Để tạo tảng phần cứng cấu hình lại dựa FPGA, bước phải thực phân vùng thiết bị vật lý Hình dạng phân bố khu vực thiết bị vật lý đại diện cho kiến trúc hệ thống cấu hình lại cần phát triển Thiết lập vùng chia vào hai khu vực: Khu vực tĩnh khu vực cấu hình (khu vực động) Hình Các thành phần không cần phải thay đổi thời gian chạy hệ thống đặt vào khu vực tĩnh thiết bị Trong chức khác thay đổi thời gian chạy phải đặt khu vực cấu hình [2] Khu vực cấu hình chia thành ma trận với nhiều ô (tile) Mỗi ô đại diện cho vùng cấu hình thiết bị Tất kênh truyền thơng khu vực tĩnh khu vực cấu hình khu vực cấu hình đảm bảo độ tin cậy Bus Macro Việc lựa chọn khối chức để đặt vào khu vực tĩnh khu vực cấu hình ảnh hưởng lớn đến linh hoạt hiệu hệ thống cuối Do vậy, người thiết kế cần có chiến lược phân vùng hợp lý đắn cho khối chức trước đặt chúng vào khu vực tĩnh hay khu vực cấu hình Trước phát triển tảng phần cứng cấu hình lại FPGA dựa theo mơ hình NoC, cần xem xét lựa chọn giải pháp cho phù hợp với mục tiêu thiết kế đề Đầu tiên, xem xét giải pháp cho phép cấu hình lại sở hạ tầng truyền thơng mạng, cấu hình thành phần định tuyến đệm [9], chuyển mạch, phân xử, v.v định tuyến cấu hình mạng (topology) để tối ưu kiến trúc Nguyễn Văn Cường, Phạm Văn Vĩnh, Nguyễn Trọng Các 22 truyền thông, trì cố định vị trí PE Giải pháp hoàn toàn phù hợp với kịch ứng dụng chạy hệ thống có tải làm việc thay đổi động (ví dụ: thay đổi hiệu năng, thay đổi mức chất lượng) Giải pháp thứ hai xem xét, thay đổi động PE, sở hạ tầng truyền thông mạng giữ cố định suốt thời gian chạy Giải pháp phù hợp cho toán ánh xạ ứng dụng khác lên hệ thống hệ thống có tài nguyên hạn chế yêu cầu triển khai nhiều ứng dụng lên thời điểm khác Cuối cùng, người thiết kế kết hợp hai giải pháp vừa nêu để tạo hệ thống cấu hình lại có tính linh hoạt khả thích nghi cao Tuy nhiên, giải pháp làm tăng thời gian thiết kế tăng độ phức tạp việc quản lý tác vụ cấu hình thời gian chạy Vùng tĩnh Vùng cấu hình lại Bus Macro MicroBlaze/ ARM ICAP DDR3 UART … FPGA CF từ nhớ SDRAM DDR3 để nạp vào khu vực cấu hình động FPGA Ngồi ra, khu vực tĩnh cịn chứa số mơ đun khơng cần cấu hình lại NoC Flash Memory SysACE CompactFlash Timer Microblaze Processor Phần khơng cần cấu hình AXI/PLB BUS Uart HWICAP DDR3 Phần cấu hình NoC Khu vực tĩnh Khu vực động Host Hình Sơ đồ khối tổng quát hệ thống Khu vực động chứa mơ đun chức cịn lại NoC mà thay đổi, sửa lỗi gỡ bỏ thời gian chạy để thích nghi với yêu cầu thay đổi ứng dụng Hoạt động cấu hình lại thực nhờ vào điều khiển cấu hình vi xử lý nhúng đặt phần tĩnh Bộ điều khiển cấu hình kết nối nhớ ngồi CF nhớ SDRAM DDR3 thơng qua Bus AXI Bộ nhớ ngồi CF sử dụng để lưu trữ file cấu hình phần tổng hợp trước dựa phân tích đặc tính ứng dụng Để thực trình cấu hình, điều khiển đọc file cấu hình mong muốn từ nhớ ngồi CF nhớ SDRAM DDR3 để ghi vào ICAP, liệu đọc từ ICAP để ghi vào nhớ cấu hình FPGA Hệ thống xây dựng tổng hợp XPS Hình Hình Mơ hình kiến trúc cấu hình FPGA Trong phạm vi báo này, nhóm tác giả tập trung vào phát triển tảng mẫu thực theo giải pháp thứ giải pháp thứ hai Phát triển hệ thống Hệ thống cấu hình lại phần động xây dựng Hình Khu vực tĩnh đặt vùng tĩnh FPGA, chịu trách nhiệm điều khiển trình hoạt động tồn hệ thống suốt thời gian chạy ứng dụng, điều khiển trình cấu hình lại mơ đun NoC tương ứng với giải pháp trình bày Mục Các thành phần đặt khu vực gồm vi xử lý nhúng đóng vai trị xử lý trung tâm điều khiển hoạt động cấu hình hệ thống qua hệ thống Bus AXI (Advanced eXtensible Interface) Khối UART (Universal Asynchronous Receiver/Transmitter) có chức giao tiếp với máy tính thơng qua cổng truyền thơng nối tiếp chuẩn RS-232 để hiển thị thông báo kết máy tính Khối sysAce_Compact Flash thực giao tiếp với nhớ CF (Compact Flash), nơi lưu trữ file cấu định tuyến cấu hình mạng hay PE tổng hợp theo ứng dụng Bộ định thời (Timer) sử dụng để đo thời gian cấu hình hệ thống HWICAP lõi cứng cung cấp Xilinx [10], có vai trị quan trọng hệ thống cấu hình lại động HWICAP nhận file cấu hình từ nhớ ngồi Hình Thiết lập phần cứng công cụ XPS Sau phần cứng hệ thống thiết lập, phần mềm điều khiển ngôn ngữ C tạo công cụ SDK dùng để điều khiển, giám sát trình cấu đo đạc vài thơng số cấu thời gian tốc độ Trong nghiên cứu này, nhóm tác giả sử dụng hai phương pháp cấu hình Phương pháp thứ nhất, thực cấu hình từ nhớ CF Ưu điểm phương pháp tài nguyên mà hệ thống sử dụng nhỏ Tuy nhiên, tốc độ thực cấu hình chậm độ rộng bus liệu nhớ CF bé (8 bit) Phương pháp thứ hai, thực cấu hình từ nhớ SDRAM DDR3 nhằm nâng cao tốc độ cấu hình cho hệ thống nhớ SDRAM DDR3 có tốc độ hoạt động độ rộng Bus liệu lớn nhớ CF Tuy nhiên, hệ thống phải sử dụng tài nguyên nhiều ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL 17, NO 1.1, 2019 Các trường hợp nghiên cứu 4.1 Cấu hình lại sở hạ tầng truyền thơng Các yêu cầu truyền thông ngày gia tăng hệ thống nhúng tảng đa lõi không đồng cấu hình lại Do vậy, việc lựa chọn sở hạ tầng truyền thông phù hợp cần thiết Tuy nhiên, nhiều trường hợp mức ưu tiên ứng dụng chưa biết trước lúc thiết kế trường hợp ứng dụng chạy hệ thống có tải làm việc thay đổi động Trong trường hợp vậy, sở hạ tầng truyền thơng tĩnh khơng cịn phù hợp Thay vào đó, sở hạ tầng truyền thơng động, thích nghi với thay đổi ứng dụng sử dụng Khi yêu cầu ứng dụng thay đổi, kiến trúc sở hạ tầng truyền thông NoC điều chỉnh tối ưu hóa cấu trúc mạng nhằm nâng cao hiệu cho hệ thống, giảm tiêu thụ lượng tiết kiệm chi phí tài ngun Để có sở hạ tầng truyền thông linh hoạt trên, xem xét cấu hình lại định tuyến [11] với kích thước đệm ngõ vào/ra khác cấu hình lại topo mạng NoC 2x2 tổng hợp từ định tuyến giao tiếp mạng [11-12] thích nghi theo yêu cầu thay đổi ứng dụng thời gian chạy cách sử dụng hệ thống cấu hình lại phần động cho NoC trình bày Mục Trong kịch này, định tuyến topo mạng 2x2 đặt khu vực động FPGA, thành phần lại mạng 2x2 đặt vào khu vực tĩnh NI PE Hình Các định tuyến topo mạng tổng hợp thành file cấu hình khác dựa theo ứng dụng cụ thể khác Tùy theo ứng dụng đưa vào hệ thống mà lựa chọn định tuyến topo thích hợp để cấu hình PE 00 NI Router 00 Router 01 NI PE 01 PE 10 NI Router 10 Router 11 NI PE 11 Khu vực tĩnh Khu vực động Khu vực tĩnh Hình Phân chia khu vực cấu hình lại định tuyến topo mạng 2x2 NoC 4.2 Cấu hình lại PE Do độ phức tạp thiết bị nhúng đại ngày tăng nên nhiều ứng dụng với tính khác triển khai lên thiết bị Tuy nhiên, tài nguyên thiết bị nhúng ln có giới hạn, thời điểm triển khai tất ứng dụng yêu cầu lên Để giải vấn đề này, giải pháp ánh xạ động ứng dụng lên tảng phần cứng NoC có khả cấu hình lại lõi PE lựa chọn Xem xét ví dụ đơn giản sau: Yêu cầu triển khai ứng dụng A1 A2 lên tảng NoC có PE Trong đó, ứng dụng A1 có tác vụ, ứng dụng A2 có tác vụ Nếu sử dụng tảng NoC dạng tĩnh có nghĩa PE điều chỉnh sau chế tạo Trong trường hợp này, rõ ràng triển khai ứng dụng A1 A2 23 Tuy nhiên, sử dụng tảng NoC cấu hình lại PE thời gian chạy, ứng dụng A1 A2 triển khai lên tảng Vấn đề giải thích sau: Khi ứng dụng A1 thực xong, hệ thống yêu cầu thực ứng dụng A2 lúc PE thuộc ứng dụng A2 chứa nhớ hệ thống nạp vào vùng cấu hình tảng NoC Quá trình thực nhờ vào khả cấu hình lại phần động FPGA Lúc PE thuộc ứng dụng A1 bị loại bỏ khỏi hệ thống Việc tìm đặt PE ứng dụng A1 A2 lên tảng để tối ưu theo vài tiêu chí lượng tiêu thụ hay mức chất lượng phụ thuộc vào thuật toán ánh xạ Để thực kịch vậy, giải pháp tự động cấu hình lại PE NoC thời gian chạy cần thiết Giải pháp phù hợp để giải toán ánh xạ ứng dụng khác lên hệ thống thời gian chạy hệ thống có tài nguyên giới hạn yêu cầu triển khai nhiều ứng dụng lên thời điểm khác PE 00 NI Router 00 Router 01 NI PE 01 PE 10 NI Router 10 Router 11 NI PE 11 Khu vực động Khu vực tĩnh Khu vực động Hình Mơ hình cấu hình lại PE mạng 2x2 Kịch cấu hình lại PE cho NoC thực dựa hệ thống cấu hình tổng quát xây dựng Hình Trong đó, mơ đun NoC phân chia vào khu vực cấu hình động tĩnh Hình Do PE thay đổi tự động có ứng dụng triển khai lên tảng nên chúng đặt khu vực động FPGA Trong khi, kiến trúc truyền thông NoC không thay đổi nên chúng đặt khu vực tĩnh Các thuật tốn ánh xạ tự động tìm đặt tác vụ ứng dụng vào PE tương ứng tảng phần cứng theo điều kiện ràng buộc thuật toán Với ứng dụng cụ thể triển khai lên tảng, hệ thống tự động nạp file cấu hình vào vùng cấu hình tương ứng với PE Các file cấu hình tổng hợp trước thời gian thiết kế dựa đặc tính đồ thị tác vụ ứng dụng chúng lưu trữ nhớ CF hệ thống Kích thước vùng cấu hình tạo dựa phân tích độ lớn tác vụ ứng dụng (ví dụ số slice cho tác vụ) Kết thực nghiệm Thiết kế nhóm tác giả thực thử nghiệm Kit FPGA Virtex-6 dòng chip XC6VLX240T với Bus AXI cho trường hợp nghiên cứu phân tích Mục Tần số hoạt động hệ thống 100 MHz, tốc độ truyền nối tiếp máy tính FPGA 115.200 baud thơng qua cổng UART Các công cụ hỗ trợ thiết kế gồm ISE, XPS, SDK PlanAhead phiên 14.1 Xilinx Tài nguyên phần cứng hệ thống tương ứng với bus AXI AXI + DDR3 Bảng Nguyễn Văn Cường, Phạm Văn Vĩnh, Nguyễn Trọng Các 24 Bảng Tài nguyên sử dụng hệ thống cấu hình AXI AXI + DDR3 Tài nguyên Sẵn có Sử dụng % Sử dụng % Register 301440 4257 1,41 15347 5,10 LUT 150720 4948 3,28 14763 9,79 Slice 37680 1915 5,08 6949 18,44 Router 00 Router 01 Router 10 Router 11 a) Cấu hình router mạng 2x2 PE00 PE01 PE10 PE11 đặt lên phần cứng vật lý FPGA Hình Hình 6a vị trí đặt thành phần hệ thống kịch cấu hình lại định tuyến có kích thước đệm ngõ vào/ra thay đổi Trong đó, vùng cấu hình Router00, Router01, Router10 Router11 định tuyến, chúng đặt khu vực động FPGA Các mô đun Microblaze, Bus, sysAce_CompactFlash, v.v đặt vùng tĩnh FPGA (vùng màu xanh) Tương tự, Hình 6b vị trí đặt PE mạng 2x2 tương ứng với kịch cấu hình lại PE Đối với kịch cấu hình lại định tuyến thích nghi theo tải làm việc động ứng dụng, file cấu hình tổng hợp tạo từ công cụ PlanAhead lúc thiết kế Mỗi file cấu hình định tuyến có kích thước 209Kb chứa đệm có kích thước 2, 4, 16 Tùy theo lưu lượng tải làm việc ứng dụng mà hệ thống tự động chọn file định tuyến cấu hình có kích thước đệm thích hợp để cấu hình lại nhằm tối ưu hóa kiến trúc cải thiện hiệu cho hệ thống Với kịch cấu hình lại PE, file cấu hình (các PE cấu hình) tạo dựa phân tích đặc tính tác vụ ứng dụng đưa vào hệ thống Trong kịch này, nhóm tác giả tạo PE giả, PE có kích thước file cấu hình 108Kb Khi có ứng dụng triển khai lên hệ thống, thuật toán ánh xạ tác vụ ứng dụng tìm đặt tác vụ lên PE hệ thống cho thỏa mãn tiêu chí tối ưu (ví dụ: tối ưu hiệu năng, mức chất lượng) Sau thuật tốn ánh xạ hồn tất, dựa vào vị trí đặt tác vụ PE mà hệ thống tự động nạp file cấu hình PE tương ứng vào vị trí thiết lập trước ứng dụng bắt đầu chạy hệ thống Thời gian tốc độ cấu hình cho kịch cụ thể hệ thống đo đạc Bảng Dễ thấy hệ thống sử dụng Bus AXI kết hợp RAM DDR3 có thời gian cấu hình nhỏ hơn, tốc độ cấu hình nhanh so với sử dụng Bus AXI Vì hệ thống cải tiến sử dụng AXI + DDR3, file cấu hình đọc trực tiếp từ nhớ RAM DDR3 nên tốc độ cấu hình cải thiện lần so với trường hợp file cấu hình đọc từ nhớ ngồi CF độ rộng bus liệu nhớ RAM DDR3 lớn Tuy nhiên, hệ thống tiêu tốn nhiều tài nguyên Do vậy, tùy theo yêu cầu chất lượng dịch vụ miền ứng dụng mà lựa chọn loại hệ thống cấu hình phù hợp để thực Bảng Thời gian tốc độ cấu hình kịch Thơng số cấu router hình Mạng 2x2 PE PE Mạng mạng router mạng 2x2 2x2 2x2 AXI b) Cấu hình PE mạng 2x2 Hình Vị trí vật lý thành phần hệ thống theo kịch khác Các khu vực cấu hình khu vực tĩnh hệ thống AXI+DDR3 Bitstream size (Kb) 209 450 108 209 450 108 Thời giancấu hình (s) 0,402 0,867 0,208 0,068 0,147 0,035 Tốc độ cấu hình (Mb/s) 0,519 0,519 0,519 3,070 3,070 3,070 Kết luận hướng phát triển Trong báo này, nhóm tác giả phát triển ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL 17, NO 1.1, 2019 tảng phần cứng cấu hình lại đa lõi dựa theo kiến trúc NoC FPGA Nền tảng cho phép thay đổi tự động mô đun cho lớp truyền thông lớp tính tốn NoC thời gian chạy nhằm tối ưu hóa cấu trúc thích nghi với thay đổi ứng dụng Một tảng phù hợp với xu hướng thiết kế hệ thống đa lõi vừa có tính linh hoạt, thích nghi cân chi phí thiết kế thời gian thiết kế Các kết đạt nghiên cứu tiền đề cho hướng nghiên cứu tương lai xem xét toán ánh xạ ứng dụng điều chỉnh mức chất lượng lên tảng NoC cấu hình lại Khi triển khai chạy ứng dụng tảng, trình ánh xạ tác vụ ứng dụng vào tảng phần cứng thực Lúc đó, số PE lớp tính tốn cấu hình lại để xử lý liệu cho tác vụ [4] [5] [6] [7] [8] Lời cảm ơn: Chúng xin chân thành cảm ơn Trường Đại học Cơng nghiệp TP Hồ Chí Minh hỗ trợ kinh phí để nhóm tác giả hồn thành đề tài với mã số 182.QN01 [9] TÀI LIỆU THAM KHẢO [10] [1] Trimberger Stephen M (2015), "Three ages of FPGAs: a retrospective on the first thirty years of FPGA technology" Proc IEEE, vol 103, no 3, pp 318–331 [2] Xilinx "Partial Reconfiguration User Guide - UG702" [Online] Available: http://www.xilinx.com/support/documentation/sw_manuals/xilinx14_5/ug7 02.pdf [3] Flasskamp Martin, Gregor Sievers, Johannes Ax, Christian Klarhorst, Thorsten Jungeblut, Wayne Kelly, Michael Thies, and Mario Porrmann (2016), "Performance estimation of streaming applications for hierarchical MPSoCs", in Proceedings of the 2016 [11] [12] 25 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, p Hsiao Pei-Yung, Shih-Yu Lin, and Shih-Shinh Huang (2015), "An FPGA based human detection system with embedded platform" Microelectron Eng., vol 138, pp 42–46 Kim Dong-Jin, Yeon-Jeong Ju, and Young-Seak Park (2015), "An Implementation of SoC FPGA-based Real-time Object Recognition and Tracking System" IEMEK J Embed Syst Appl., vol 10, no 6, pp 363–372 Luo Junwen, Graeme Coapes, Terrence Mak, Tadashi Yamazaki, Chung Tin, and Patrick Degenaar (2016), "Real-Time Simulation of Passage-ofTime Encoding in Cerebellum Using a Scalable FPGA-Based System" IEEE Trans Biomed Circuits Syst., vol 10, no 3, pp 742–753 Le Van Thanh Vu and Xuan Tu Tran (2014), "High-Level Modeling and Simulation of a Novel Reconfigurable Network-onChip Router" REV J Electron Commun., pp 68–74 Nguyen Hung K and Xuan-Tu Tran (2016), "Design and implementation of a hybrid switching router for the reconfigurable Network-on-Chip", in Advanced Technologies for Communications (ATC), 2016 International Conference on, pp 328–333 Nguyễn Văn Cường, Trần Thanh, Phạm Ngọc Nam (2015), “Xây dựng mơ hình cấu hình lại phần động cho mạng chip FPGA”, Tạp chí Khoa học Công nghệ Đại học Đà Nẵng, số 11(96).2015, 1, trang 91-95 Xilinx "LogiCORE IP AXI HWICAP (v2.02.a)" [Online] Available: http://www.xilinx.com/support/documentation/ip_documentation/axi_h wicap/v2_03_a/ds817_axi_hwicap.pdf Nguyen Van Cuong, Pham Ngoc Nam (2015), “A Deadlock free NoC Router Architecture with Irregular Virtual Channel”, Journal of Science and Technology, Vol 53, No.2C, pp 89-102 Nguyen Van Cuong, Cao Ba Cuong, Pham Ngoc Nam (2015), “Design of a Low Latency Network Interface using Dual Buffer for Network on Chip”, in 2015 International Conference on Communications, Management and Telecommunications (ComManTel), Danang, Vietnam, pp 205 – 209 (BBT nhận bài: 06/10/2018, hoàn tất thủ tục phản biện: 28/12/2018)