Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA

Hiện nay, mật độ tích hợp trên các vi mạch số đã đạt đến hàng tỷ transistor

trên một chip đơn, cho phép tạo ra những thiết bị phần cứng chuyên dụng nhằm tăng tốc

cho các bài toán xử lý, phân tích và tìm kiếm dữ liệu lớn. Bài toán xử lý dữ liệu lớn thu

được từ các máy thu số thường gặp các vấn đề như tạp nhiễu và sai lệch pha, dẫn đến

phải phân tích và sắp xếp lại chúng theo trật tự để thuận tiện cho các giai đoạn xử lý tiếp

theo. Công việc này nếu thực hiện trên phần mềm thường kém hiệu quả do tốc độ xử lý

không đáp ứng được yêu cầu. Bài báo đề xuất một thiết kế cho bộ tăng tốc tìm kiếm và xử

lý từ luồng dữ liệu lớn nhận từ các máy thu thông tin số, sử dụng kết hợp kỹ thuật xử lý

song song và phương pháp đường ống. Tiếp đó, tiến hành đánh giá các yếu tố ảnh hưởng

đến tốc độ tìm kiếm và tài nguyên sử dụng để đưa ra giải pháp thiết kế tối ưu. Chúng tôi

đã thực thi thiết kế trên mạch FPGA Kintex 7-XC7K325T áp dụng cho bài toán tìm kiếm

song song dữ liệu có độ dài mẫu 128 bit, sử dụng tối đa 512 khối so sánh ở tần số xung

nhịp 100 MHz và các kiểu điều chế PSK và QAM. Kết quả thực thi trên phần cứng nhanh

gấp khoảng 945 lần so với thực thi trên phần mềm với giá trị băng thông đạt được khoảng

800 Mbps.

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 1

Trang 1

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 2

Trang 2

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 3

Trang 3

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 4

Trang 4

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 5

Trang 5

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 6

Trang 6

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 7

Trang 7

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 8

Trang 8

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 9

Trang 9

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA trang 10

Trang 10

pdf 10 trang xuanhieu 1500
Bạn đang xem tài liệu "Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA

Thiết kế khối tăng tốc đồng bộ dữ liệu từ máy thu số trên nền tảng FPGA
oán đường ống (C - number of pipeline stages); 
 • Tần số xung nhịp của hệ thống (F - system frequency). 
 3. ĐÁNH GIÁ THIẾT KẾ TRÊN PHẦN CỨNG CHUYÊN DỤNG FPGA 
 Các tham số nêu trên đều ảnh hưởng đến tài nguyên sử dụng và tốc độ tính toán của thiết kế. 
Trên thực tế bài toán tìm kiếm dữ liệu, các tham số như số lượng mẫu tìm kiếm, kích thước cửa 
sổ trượt được đặc trưng bởi kiểu dữ liệu tìm kiếm. Vì vậy, đối với mỗi kiểu dữ liệu sẽ tiến hành 
khảo sát theo độ dài mẫu tìm kiếm (L), bên cạnh đó là các tham số của thiết kế (M, C, F), tham 
số của kiểu tìm kiếm (E). Các khảo sát đánh giá tài nguyên sử dụng và tốc độ tính toán của thiết 
kế được thực hiện trên phần mềm Vivado 2016.4. 
3.1. Khảo sát sự ảnh hưởng của các tham số thiết kế 
 Tiến hành đánh giá việc sử dụng tài nguyên trên chip FPGA Kintex-7 XC7K325T với dải giá 
trị của số phần tử đối sánh M nằm trong khoảng từ 2 đến 32. Đánh giá được thực hiện trên cả tìm 
kiếm chính xác (E = 0) cũng như tìm kiếm gần đúng (E 0). Về mặt lý thuyết, khi giá trị M tăng 
lên, số lượng phép toán đồng thời, cũng như số lượng tài nguyên logic sử dụng tăng lên tương 
ứng, tài nguyên LUT sử dụng đạt giá trị lớn nhất trong trường hợp số lượng phần tử đối sánh 
M = 32 (tương ứng với 256 phép so sánh đồng thời), chiếm chưa tới 50%, một dấu hiệu cho thấy 
thiết kế hoàn toàn khả thi trên chip FPGA được chọn khảo sát. 
92 T. Q. Kiên, , Đ. V. Ngọc, “Thiết kế khối tăng tốc đồng bộ dữ liệu  trên nền tảng FPGA.” 
Nghiên cứu khoa học công nghệ 
 50
 Tìm kiếm chính xác 42.19
 40 Tìm kiếm gần đúng
 30 24.16
 17.07
 20 15.20
 11.6
 10.41 8.78
 10 6.668.16 7.39
 Tài nguyên LUT sử dụng sử(%) LUTdụng nguyên Tài 0
 M = 2 M = 4 M = 8 M = 16 M = 32
 Số lượng mảng tìm kiếm song song 
 Hình 5. Tài nguyên sử dụng so sánh chính xác và không chính xác. 
 Phân tích trên được đánh giá trong trường hợp đối sánh không chính xác, trong trường hợp 
đối sánh chính xác còn lại, số liệu khảo sát tương ứng được thể hiện trên biểu đồ hình 5. Trong 
trường hợp đối sánh chính xác, không cần so sánh kết quả với ngưỡng lỗi nhất định, khối trọng 
số Hamming bị bỏ qua, dẫn đến giảm số lượng tài nguyên logic được sử dụng. Sự khác biệt về 
tiêu thụ tài nguyên logic là không đáng kể khi số lượng phần tử đối sánh nhỏ (M = 2; 4) và trở 
nên khá lớn (khoảng 25%) khi M tăng đến giá trị lớn nhất (M = 32). Dựa vào hình dạng biểu đồ 
có thể thấy rằng, số lượng LUT tăng gần như dạng hàm mũ và tham số M có ảnh hưởng đáng kể 
đến sử dụng tài nguyên. 
 0
 0 0 0 
 1
 1 1 1
 0 1 1
 0
 1 1 1 
 1
 0 0 0
 1 1 1 0
 0
 0 
 0 0 1
 1
 1 1 1 
 1
 0 0 0
 1 1 1
 1
 1 1 1 
 0
 128x1 64x2 32x4 16x8 
 Hình 6. Phương án thiết kế bộ đếm trọng số Hamming. 
 Có thể dự đoán, tài nguyên sử dụng trong tìm kiếm chính xác lớn hơn trong tìm kiếm không 
chính xác vì tìm kiếm không chính xác không yêu cầu bộ đếm lỗi bit, chẳng hạn, với cùng số 
phần tử đối sánh M = 32, tìm kiếm chính xác yêu cầu tài nguyên logic lớn gấp 2,5 lần so với tìm 
kiếm không chính xác, điều này đặt ra yêu cầu tối ưu hóa bộ đếm lỗi bit để giảm tài nguyên phần 
cứng bị chiếm dụng. Trong nghiên cứu này, đề xuất thiết kế khối tính toán lỗi bit cho chuỗi có độ 
dài L = 128 bit. Bốn phương án thiết kế đề xuất bộ đếm trọng số Hamming có độ dài lần lượt là 
128×1; 64×2; 32×4; 16×8 biểu diễn trên hình 6. 
 Bảng 2. Số LUT sử dụng cho các khối tính toán lỗi bit. 
 Phương án 128×1 64×2 32×4 16×8 
 Số LUT 308 297 275 315 
Tạp chí Nghiên cứu KH&CN quân sự, Số 71, 02 - 2021 93 
 Kỹ thuật điều khiển & Điện tử 
 Với thiết kế sử dụng bốn khối với chiều dài chuỗi tính toán là 32 cho kết quả tốt nhất. Điều 
này có thể giải thích dựa vào đặc tính của các chip dòng 7-Series FPGA được tối ưu sử dụng 
LUT 6 đầu vào (bảng 2). 
3.2. Đánh giá hiệu năng 
 Trong tiểu mục này, chúng tôi đánh giá sự thay đổi của thời gian thực tế dành cho quá trình 
đối sánh Tactual, được tính bằng hiệu số giữa thời gian lý thuyết Tdesired và thời gian thiết lập Tsetup 
trên dòng chip FPGA. Trên hình 7 biểu thị số LUT sử dụng và thời gian đối sánh thực tế. 
 60 13.16 14
 50 48.86 12
 9.12 8.93 9.00 10
 40
 6.91 8
 30
 6
 20
 15.20 14.17 4
 10.20
 Chu kỳ Chu clockkỳ (ns)thiểu tối
 Tài nguyên LUT sử dụng sử(%) LUTdụng nguyên Tài 10 5.68 2
 0 0
 XC7A100T XC7K325T XC7Z045F XC7V485T XCKU095
 Artix-7 Kintex-7 Zynq-7000 Virtex-7 Kintex Ultrascale
 Chip FPGA
 Hình 7. Đánh giá hiệu năng và tài nguyên sử dụng trên các dòng chip khác nhau. 
 Căn cứ vào kết quả tổng hợp thiết kế và biểu diễn kết quả trên đồ thị cho thấy tài nguyên sử dụng 
và thời gian thực tế để thực thi thiết kế khác nhau theo từng dòng chip của FPGA. Từ dòng chip thấp 
Artix 7 có phần trăm LUT sử dụng cao nhất (48.86 %) và thời gian thực tế dài nhất (13.16 ns) đến 
dòng chip cao Kintex Ultrascale có phần trăm LUT sử dụng (5.68 %) và thời gian thực tế (6.91 ns) 
thấp nhất. Theo kết quả trên tần số thực thi cực đại của thiết kế đối với các dòng chip là khác nhau. 
Đối với chip Artix 7 là 75.99 MHz và Kintex Ultrascale là 144.7 MHz. Như vậy, các dòng chip đều 
có thể thực thi với tần số cao hơn tần số xung nhịp trong thiết kế. Do đó, khi chọn chip ta có thể lựa 
chọn dòng chip cao hơn để đáp ứng được tần số xung nhịp tối đa của mạch, đặc biệt đối với các bài 
toán với nhiều luồng dữ liệu đầu vào lớn, yêu cầu tần số hoạt động cao. 
 Tốc độ xử lý dữ liệu của thiết kế (băng thông - BW) phụ thuộc vào các thông số bao gồm độ 
dài cửa sổ trượt S, số phần tử đối sánh M và tần số hệ thống F theo công thức BW = S × M × F. 
Băng thông lớn nhất của phần cứng trên thực tế được ước tính dựa trên giá trị lớn nhất của các 
thông số đã đề cập ở trên và phụ thuộc rất nhiều vào loại chip FPGA. 
 Băng thông tối đa của thiết kế trên các chip FPGA khác nhau được thể hiện trong bảng 3, tuy 
nhiên băng thông thực tế có thể đạt được còn phụ thuộc vào kiểu giao tiếp giữa bo mạch FPGA 
và máy tính. Trên lý thuyết, thiết kế có thể đạt được băng thông tối đa lên đến 39,36 Gbps trên 
dòng Kintex Ultrascale FPGA. 
 Bảng 3. Băng thông tối đa của thiết kế trên các mã chip FPGA khác nhau 
Dòng FPGA Artix-7 Kintex-7 Zynq-7000 Virtex-7 Kintex Ultrascale 
Mã chip XC7A100T XC7K325T XC7Z045F XC7V485T XCKU095 
M (giá trị max) 16 48 56 72 136 
Fmax (MHz) 75.99 109.67 112.02 111.17 144.70 
BW (Gbps) 2.43 10.53 12.55 16.01 39.36 
94 T. Q. Kiên, , Đ. V. Ngọc, “Thiết kế khối tăng tốc đồng bộ dữ liệu  trên nền tảng FPGA.” 
Nghiên cứu khoa học công nghệ 
 Trong nghiên cứu này, chúng tôi sử dụng bo mạch FPGA Kintex-7 XC7K325T có sẵn để 
kiểm tra trên thực tế, thiết kế đề xuất có thể đạt được băng thông tối đa 10,53 Gbps tương ứng 
với bộ tham số (M = 48, L = 128, N = 8, S = 2), nhanh hơn khoảng 945 lần so với thực thi tương 
đương trên phần mềm. 
3.3. Kết quả tổng hợp và thực thi thiết kế trên phần cứng FPGA 
 Cuối cùng, chúng tôi đã đánh giá hiệu quả của khối tăng tốc thông qua một ứng dụng thực tế. 
Cụ thể, thiết kế thực hiện đối sánh gần đúng với một ngưỡng lỗi có thể thay đổi và đối sánh cho 
các kiểu dữ liệu điều chế khác nhau với tổng số 512 mẫu. Thiết kế sẽ điều chỉnh phù hợp theo 
các giá trị của các thông số chung. Với các tham số thiết kế cụ thể, kết quả kiểm tra cho thấy số 
tài nguyên sử dụng bao gồm 54% LUT, 1% phần tử bộ nhớ và 33% RAM (hình 8, a). Trong quá 
trình thử nghiệm thực tế trên chip FPGA Kintex-7 XC7K355T, đầu vào của luồng dữ liệu không 
đồng nhất được đẩy xuống bo mạch thông qua giao thức AXI để thực hiện tìm kiếm (hình 8, b), 
thực thi tìm kiếm dữ liệu được gửi từ máy tính đến bo mạch FPGA (hình 8, c). 
 a 
 FPGA Board RX
 FIFO
 GE
 Matching 
 PC Peripheral 
 GE Engine
 TX
 FIFO
 b c 
 Hình 8. Tiêu thụ tài nguyên trên chip và kiểm tra thiết kế trên bo mạch 
 FPGA Digilent NETFPGA CML (Kintex7-XC7K355T). 
 Để so sánh tốc độ giữa phần mềm và phần cứng, dữ liệu đầu vào dung lượng 3Gb được chuẩn 
bị với kiểu điều chế QPSK phân loại theo xác suất dữ liệu phù hợp. Dữ liệu 1 xác suất tìm được 
dữ liệu phù hợp là rất nhỏ (không tìm được dữ liệu phù hợp), dữ liệu 2 - trung bình (khoảng 50% 
dữ liệu phù hợp), dữ liệu 3 - khá cao (khoảng 80% dữ liệu phù hợp) và dữ liệu 4 - rất cao 
(khoảng 100% dữ liệu phù hợp). So sánh kết quả giữa phần cứng và phần mềm cho thấy dữ liệu 
được tìm kiếm và đồng bộ chính xác, khẳng định tính đúng đắn của thiết kế. Tốc độ đồng bộ dữ 
liệu của phần mềm và phần cứng với 3Gb dữ liệu QPSK được trình bày trong bảng 4. 
Tạp chí Nghiên cứu KH&CN quân sự, Số 71, 02 - 2021 95 
 Kỹ thuật điều khiển & Điện tử 
 Bảng 4. Tốc độ đồng bộ dữ liệu của phần mềm và phần cứng với 3Gb dữ liệu QPSK. 
 Phần mềm Phần cứng 
 Dữ liệu 
 Thời gian, s Băng thông, Mbps Thời gian, s Băng thông, Mbps 
 Dữ liệu 1 4761.54 4.87 34.54 668.38 
 Dữ liệu 2 2635.41 8.76 31.31 741.26 
 Dữ liệu 3 1476.78 15.63 30.17 769.16 
 Dữ liệu 4 509.28 45.07 28.07 817.75 
 * Giả sử băng thông của cổng Ethernet 1 Gbps đạt cực đại 
 Băng thông dựa trên phần mềm bị ảnh hưởng rất nhiều bởi cấu trúc dữ liệu đầu vào. Đối với 
dữ liệu 1 băng thông đạt được rất thấp chỉ đạt 4,87 Mbps, nguyên nhân là do không tìm thấy dữ 
liệu phù hợp nên quá trình dò tìm phải thực hiện dịch từng cặp 2 bit (đối với QPSK). Băng thông 
dựa trên phần mềm sẽ tăng theo tỉ lệ dữ liệu phù hợp và đạt tối đa với kiểu dữ liệu 4 là 
45,07 Mbps, ở đây, tất cả dữ liệu tìm kiếm đều phù hợp. 
 Đối với phần cứng băng thông ít phụ thuộc vào chất lượng dữ liệu đầu vào, tốc độ thấp nhất 
đạt khoảng 668,38 Mbps với dữ liệu 1 (gấp 137 lần so với phần mềm) và đạt tối đa là 
817,75 Mbps với dữ liệu 4 (gấp 18 lần so với phần mềm). Kết quả này chưa đạt được tính toán 
băng thông cực đại theo mục 3.2 do băng thông bị giới hạn qua cổng Ethernet 1 Gbps. Kết quả 
này đáp ứng tốt yêu cầu về độ chính xác cũng như tốc độ tính toán đảm bảo đủ thời gian để thực 
hiện các nhiệm vụ tiếp theo. 
 4. KẾT LUẬN 
 Trong bài báo này, chúng tôi đã đề xuất một thiết kế cho khối tăng tốc tìm kiếm dữ liệu và 
thực thi thiết kế đó trên nền tảng phần cứng có thể tái cấu hình FPGA nhờ những ưu điểm nổi bật 
của công nghệ này. Các tham số của thiết kế đã được khảo sát nhằm đánh giá tài nguyên sử dụng 
và tốc độ tìm kiếm dữ liệu. Trong một nghiên cứu cụ thể, một thực thi trên Kintex 7-XC7K325T 
với tất cả các kiểu điều chế PSK và QAM với các tham số đánh giá cụ thể bao gồm số mẫu N = 
8, độ dài của mẫu L = 128 bit, số khối so sánh song song N = 512, tần số xung nhịp F = 100 
MHz, phương pháp tìm kiếm cả chính xác và gần đúng cho giá trị băng thông đạt cỡ 800 Mbps, 
nhanh hơn khoảng 945 lần so với thực thi tương đương trên phần mềm và tỷ lệ tài nguyên sử 
dụng xấp xỉ 54%. Kết quả này đáp ứng tốt yêu cầu cả về độ chính xác cũng như tốc độ tính toán. 
Tuy nhiên, thiết kế cần tối ưu để cải thiện tốc độ tìm kiếm chẳng hạn như sử dụng nhiều bộ so 
sánh song song hoặc giảm kích thước dữ liệu đầu vào, từ đó, tăng tốc độ tìm kiếm và đồng bộ dữ 
liệu trên phần cứng. 
 TÀI LIỆU THAM KHẢO 
[1]. Tien Manh Nguyen, “Phase-Ambiguity Resolution for QPSK Modulation Systems,” JPL Publication 
 89-4 (1989). 
[2]. Sadchenko, O. Kushnirenko, “QPSK-Modulation Modem Invariant to the Rotation of the Signal 
 Constellation Plane”, Electrical, Control and Communication Engineering, vol. 14, no. 2 (2018), pp. 
 149–156. 
[3]. E. Kabalci et al, “Modelling and Analysis of a Power Line Communication System With QPSK 
 Modem for Renewable Smart Grids”, International Journal of Electrical Power & Energy Systems, 
 vol. 34, no. 1, pp. 19–28, Jan. 2012. 
[4]. M. Mukesh et al, “QPSK Modulator and Demodulator Using FPGA for SDR,” International. Journal 
 of Engineering Research and Applications, vol. 4, no. 4 (2014), pp. 394–397. 
[5]. N. F. Huang et al, “A GPU-based Multiple-Pattern Matching Algorithm for Network Intrusion 
 Detection Systems,” Proc. 22nd International Conference on Advanced Information Networking and 
 Applications (AINA) (2008), pp. 62–67. 
[6]. T. N. Thinh et al, “A FPGA-based deep packet inspection engine for Network Intrusion Detection 
96 T. Q. Kiên, , Đ. V. Ngọc, “Thiết kế khối tăng tốc đồng bộ dữ liệu  trên nền tảng FPGA.” 
Nghiên cứu khoa học công nghệ 
 System,” 9th International Conference on Electrical Engineering/Electronics, Computer, 
 Telecommunications and Information Technology, Phetchaburi (2012), pp. 1-4. 
[7]. Fiessler et al, “HyPaFilter+: Enhanced Hybrid Packet Filtering Using Hardware Assisted 
 Classification and Header Space Analysis,” IEEE/ACM Transactions on Networking, Vol. 25 
 (2017), pp. 3655-3669. 
[8]. F. Wang et al, “Research on Regular Expression Data Packet Matching Algorithm Based on Three 
 State Content Addressable Memory,” International Journal of Simulation - Systems, Science and 
 Technology, Vol. 16 (5A) (2015), pp. 8.1-8.5. 
[9]. R. Clark et al, “A hardware platform for network intrusion detection and prevention”, Proc. of 
 Workshop on Network Processors and Applications (2005), pp. 136–145. 
[10]. P. Benácek et al, “P4-to-VHDL: Automatic Generation of 100 Gbps Packet Parsers,” Proc. IEEE 
 24th Annual International Symposium on Field-Programmable Custom Computing Machines (2016). 
 ABSTRACT 
 AN FPGA-BASED HARDWARE ACCELERATOR 
 DATA SYNCHRONIZATION FROM DIGITAL RECEIVERS 
 At present, the integrated density on digital integrated circuits has reached billions 
 of transistors on a single chip, allowing the creation of dedicated hardware devices 
 to accelerate the data processing, analysis, and searching of the large stream-based input 
 data. The problem of processing big data obtained from digital receivers often encounters 
 noise interference and phase deviation, leading to the need to analyze and rearrange them 
 in the correct order for the next processing stages. If performed on software, these works 
 are often inefficient because the processing speed does not meet the requirements. This 
 paper proposes a searching and processing accelerator design for large stream-based 
 data obtained from digital receivers, using a combination of parallel processing 
 algorithms and pipeline techniques; conducts evaluations of the factors affecting the 
 searching speed, and utilized resources to come up with the optimal design solution. We 
 implemented the design on the Kintex 7-XC7K325T FPGA board for parallel data 
 searching with a pattern length of 128 bits, using up to 512 comparison blocks 
 at 100 MHz clock frequency and different modulation types such as PSK and QAM. 
 Hardware performance is about 945 times faster than on the software with a maximum 
 bandwidth of 800 Mbps. 
Keywords: FPGA; FPGA-based Accelerator; Parallel processing; Pipelined architecture. 
 Nhận bài ngày 25 tháng 12 năm 2020 
 Hoàn thiện ngày 29 tháng 01 năm 2021 
 Chấp nhận đăng ngày 05 tháng 02 năm 2021 
Địa chỉ: 1Học viện Kỹ thuật quân sự; 
 2Viện Khoa học Công nghệ quân sự. 
 *Email: ngocqn@gmail.com. 
Tạp chí Nghiên cứu KH&CN quân sự, Số 71, 02 - 2021 97 

File đính kèm:

  • pdfthiet_ke_khoi_tang_toc_dong_bo_du_lieu_tu_may_thu_so_tren_ne.pdf