Thông tin tài liệu:
Bài viết tập trung vào phát triển nền tảng phần cứng cấu hình lại được tại thời gian chạy trên FPGA dựa theo kiến trúc NoC. Nền tảng này có khả năng cấu hình lại các 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 của ứng dụng nhằm nâng cao hiệu quả sử dụng tài nguyên và cải thiện hiệu năng mạng hoặc cấu hình lại lớp tính toán khi có ứng dụng mới triển khai lên nền tảng một cách linh hoạt.
Nội dung trích xuất từ tài liệu:
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
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
1
Trường Đại học Công nghiệp Tp.HCM; {nguyenvancuong, phamvanvinh}@iuh.edu.vn
2
Trường Đại học Sao Đỏ; cacdhsd@gmail.com
Tóm tắt - Linh hoạt và khả năng mở rộng là các đặc tính rất quan
trọng trong các nền tảng nhúng hiện đại. Cấu hình lại từng phần
động (Dynamic Partial Reconfigurable) trên FPGA và kiến trúc
mạng trên chip (NoC: Network on Chip) là các giải pháp tuyệt vời
cho các yêu cầu thiết kế này. Bài báo tập trung vào phát triển nền
tảng phần cứng cấu hình lại được tại thời gian chạy trên FPGA
dựa theo kiến trúc NoC. Nền tảng này có khả năng cấu hình lại
các 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 của ứng dụng nhằm nâng cao
hiệu quả sử dụng tài nguyên và cải thiện hiệu năng mạng hoặc
cấu hình lại lớp tính toán khi có ứng dụng mới triển khai lên nền
tảng một cách linh hoạt. Mô hình này đã được nhóm tác giả thực
nghiệm và kiểm chứng trên 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 trên chip; Multicore; FPGA.
Key words - DPR; NoC, Multicore; FPGA.
1. Đặt vấn đề
Trong những năm gần đây, công nghệ FPGA không
ngừng phát triển, số lượng tài nguyên và tốc độ xử lý trên
nó đang dần tăng, giá thành và tiêu thụ năng lượng tiếp
tục giảm, nhiều tính năng mới được tích hợp, đặc biệt là
khả năng cấu hình lại từng phần động [1-2]. Do vậy, hệ
thống trên chip dựa trên FPGA đã trở thành nền tảng đầy
hứa hẹn cho các hệ thống nhúng hiệu năng cao vì nó cung
cấp một sự cân bằng tốt giữa hiệu năng, rút ngắn thời gian
đưa sản phẩm ra thị trường, chi phí và tính linh hoạt. Theo
hướng này, hầu hết các hệ thống nhúng dựa trên FPGA đã
được phát triển để hỗ trợ các ứng dụng đa phương tiện và
các ứng dụng xử lý tín hiệu [3-6]. Các ứng dụng này
thường đòi hỏi cơ sở hạ tầng truyền thông linh hoạt, hiệu
năng cao và khả năng xử lý dữ liệu nhanh. Do vậy, phát
triển một nền tảng nhúng cấu hình lại được trên FPGA
dựa theo mô hình NoC tại thời gian chạy là hết sức cần
thiết và phù hợp với hướng phát triển này.
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 tại thời gian chạy để thích nghi với
yêu cầu thay đổi của các ứng dụng: (i) Giải pháp tự cấu
hình các mô đun dựa theo tình trạng mạng như trong [7-8]
và (ii) giải pháp cấu hình động các mô đun trong NoC dựa
trên công nghệ cấu hình lại từng phần động của các
FPGA hiện đại. Trong khuôn khổ của nghiên cứu này,
nhóm tác giả tập trung vào phát triển một 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 bao gồm một lõi vi xử lý nhúng (ví dụ: Microblaze
hoặc ARM) và các PE, router cấu hình lại được, chúng
được kết nối với nhau thông qua kiến trúc truyền thông
NoC. Nền tảng này có khả năng tự động cấu hình lại cơ
sở hạ tầng truyền thông để thích nghi với các yêu cầu thay
đổi của ứng dụng hoặc cho phép cấu hình lại các lõi PE
để đáp ứng yêu cầu khi triển khai các ứng dụng mới, triển
khai nhiều ứng dụng, các ứng dụng có thể điều chỉnh mức
chất lượng hoặc nâng cấp sửa lỗi hệ thống trong tương lai
một cách linh hoạt.
2. Phương pháp thiết kế
Để tạo ra một nền tảng phần cứng có thể cấu hình lại
được dựa trên FPGA, bước đầu tiên chúng ta phải thực hiện
phân vùng thiết bị vật lý. Hình dạng và sự phân bố các khu
vực trên thiết bị vật lý đại diện cho kiến trúc của hệ thống
cấu hình lại cơ bản cần được phát triển. Thiết lập các vùng
được chia vào hai khu vực: Khu vực tĩnh và khu vực cấu
hình (khu vực động) như Hình 1. Các thành phần không
cần phải thay đổi tại thời gian chạy của hệ thống được đặt
vào khu vực tĩnh của thiết bị. Trong khi các chức năng
khác có thể thay đổi tại thời gian chạy phải được đặt trong
khu vực cấu hình [2]. Khu vực cấu hình có thể được chia
thành một ma trận với nhiều ô (tile). Mỗi ô đại diện cho
một vùng cấu hình của thiết bị. Tất cả các kênh truyền
thông giữa khu vực tĩnh và khu vực cấu hình hoặc giữa các
khu vực cấu hình có thể được đảm bảo độ tin cậy bằng các
Bus Macro. Việc lựa chọn các khối chức năng để đặt vào
khu vực tĩnh hoặc khu vực cấu hình sẽ ảnh hưởng lớn đến
cả sự linh hoạt và hiệu năng của hệ thống cuối cùng. Do
vậy, người thiết kế cần có một chiến lược phân vùng hợp lý
và đúng đắn cho các khối chức năng trước khi đặt chúng
vào khu vực tĩnh hay khu vực cấu hình.
Trước khi phát triển một nền tảng phần cứng cấu hình
lại được trên FPGA dựa theo mô hình NoC, chúng ta cần
xem xét lựa chọn các giải pháp sao cho phù hợp với các
mục tiêu thiết kế đề ra. Đầu tiên, xem xét giải pháp cho
phép cấu hình lại cơ sở hạ tầng truyền thông mạng, có thể
cấu hình các thành phần trong bộ định tuyến như bộ đệm
[9], chuyển mạch, bộ phân xử, v.v. hoặc bộ định tuyến
hoặc cả 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, trong khi duy trì cố định vị trí của các PE.
Giải pháp này hoàn toàn phù hợp với kịch bản ...