Thiết kế và thực thi lõi IP phân luồng dữ liệu trên FPGA

25 231 0
Thiết kế và thực thi lõi IP phân luồng dữ liệu trên FPGA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƢỜNG ĐẠI HỌC BÁCH KHOA  VÕ THÀNH VĂN THIẾT KẾ THỰC THI LÕI IP PHÂN LUỒNG DỮ LIỆU TRÊN FPGA Chuyên ngành: Kỹ thuật điện tử Mã số: 60520203 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ Đà Nẵng - Năm 2017 Cơng trình hồn thành TRƢỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS Phan Trần Đăng Khoa Phản biện 1: Phản biện 2: Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật điện tử họp Trường Đại học Bách khoa vào ngày 15 tháng07 năm 2017 Có thể tìm hiểu luận văn tại:  Trung tâm Học liệu, Đại học Đà Nẵng Trường Đại học Bách khoa Thư viện Khoa Điện tử-Viễn thông, Trường Đại học Bách khoa – ĐHĐN MỞ ĐẦU Tính cấp thiết đề tài Trong giai đoạn đầu dịch vụ Internet, băng thông tài nguyên khác đủ để cung cấp cho ứng dụng mạng nên vấn đề phân biệt ưu tiên cho gói tin chưa quan tâm Ban đầu, nhà cung cấp dịch vụ đưa mơ hình best-effort, tất khách hàng đối xử khác loại kết nối Đây dịch vụ phổ biến mạng Internet hay mạng IP nói chung Nhưng internet ngày phát triển phát triển thêm dịch vụ HTTP, voice, video… điều làm cho chất lượng dịch vụ giảm rõ rệt độ trễ lớn, độ biến động trễ lớn không đủ băng thông để truyền, phương án tăng băng thông mạng không giải vấn đề mà lại tốn Chính vậy, giải pháp phân luồng liệu đời để đảm bảo ứng dụng thời gian thực chạy Internet ứng dụng truyền thống bảo đảm chất lượng tốt Bên cạnh đó, thiết bị mạng router, firewall sử dụng rộng rãi nhiều gia đình, quan, doanh nghiệp Việt Nam Tuy nhiên, toàn thiết bị nhập từ nước ngoài, nhà sản xuất nước cung cấp hoàn toàn, dẫn đến nguy lệ thuộc quyền kiểm soát lớn tầng thông tin quốc gia xảy cố Vì vậy, bước tạo sản phẩm cơng dân Việt Nam nghiên cứu sản xuất để bảo đảm an tồn thơng tin cần thiết Xuất phát từ yêu cầu trên, luận văn em nghiên cứu đề tài: “Thiết kế thực thi lõi IP phân luồng liệu FPGA” 2 Mục tiêu nghiên cứu Nghiên cứu thiết kế kiến trúc lõi IP phân luồng liệu FPGA, thực ngôn ngữ mô tả phần cứng Verilog HDL Đối tƣợng phạm vi nghiên cứu - Mơ hình kĩ thuật phân luồng liệu - Ngôn ngữ mô tả phần cứng Verilog HDL công nghệ FPGA - Thực đánh giá lõi IP phân luồng liệu dựa công cụ mô ModelSim tảng FPGA Phƣơng pháp nghiên cứu nội dung nghiên cứu - Nghiên cứu lý thuyết: + Tìm hiểu phân tích tài liệu phân luồng liệu + Nghiên cứu kiến trúc lõi IP phân luồng liệu, đặc biệt thành phần có liên quan phương pháp quản lý hàng đợi, thuật toán lập lịch - Nghiên cứu thực nghiệm: + Sử dụng ngôn ngữ mô tả phần cứng Verilog HDL để mô tả phương pháp, thuật tốn + Mơ mức RTL cơng cụ mô ModelSim, thực thi FPGA đánh giá kết Ý nghĩa khoa học thực tiễn đề tài Đề tài tạo lõi IP phân luồng liệu, ứng dụng thiết bị mạng, góp phần thực tiễn vào việc nâng cao chất lượng dịch vụ thiết bị này, đồng thời làm chủ công nghệ giúp đảm bảo an tồn thơng tin Kết cấu luận văn Luận văn bao gồm có chương tóm tắt sau: Chương - Tổng quan phân luồng liệu Chương - Cơ sở lý thuyết thuật toán lập lịch Chương –Thiết kế lõi IP phân luồng liệu Chương –Mô thực lõi IP phân luồng liệu FPGA CHƢƠNG 1-TỔNG QUAN VỀ PHÂN LUỒNG DỮ LIỆU 1.1 Giới thiệu chƣơng 1.2 Khái niệm phân luồng liệu Phân luồng liệu công việc sử dụng nhiều ứng dụng, nhằm mục đích phân loại gói liệu vào tập liệu khác để xử lý tiếp theo; tập liệu có quy tắc hành động riêng, đặc biệt chức nâng cao chất lượng dịch vụ (QoS - Quality of Service) hệ thống mạng ngày Tiêu chuẩn phân luồng liệu định nghĩa tài liệu RFC 5777 RFC 7640 1.3 Vai trò phân luồng liệu 1.4 Các chức phân luồng liệu Hình 1.1 biểu diễn vị trí phân luồng liệu router/switch với cổng vào, ngõ vào ngõ cổng sử dụng chức phân luồng liệu Các khối chức phân luồng liệu mơ tả sau:  Phân loại luồng liệu (Traffic classification)  Chính sách lưu lượng (Traffic policing)  Định hình luồng lưu lượng (Traffic shaping)  Lập lịch (Traffic scheduling)  Quản lý đệm (Buffer Management) 4 Hình 1.1: Sơ đồ khối phân luồng liệu router/switch Tại ngõ vào cổng, chức giới hạn tốc độ xác định luồng liệu có phù hợp với sách lưu lượng đề hay khơng, sau khối quản lý đệm xác định gói tin cho phép vào hay bị loại bỏ bị loại bỏ loại bỏ theo phương pháp Bên cạnh đó, khối lập lịch gói tin tối ưu hóa luồng lưu lượng xác định gói tin tháo gửi tới cổng thông qua Fabric, đồng thời kiểm sốt tốc độ truyền gói tin trước khỏi router 1.4.1 Phân loại luồng liệu 1.4.2 Chính sách lưu lượng 1.4.3 Định hình luồng lưu lượng 1.4.4 Lập lịch gói tin 1.4.5 Quản lý đệm 1.5 Kết luận chƣơng CHƢƠNG - CƠ SỞ LÝ THUYẾT CÁC THUẬT TOÁN LẬP LỊCH 2.1 Giới thiệu chƣơng 2.2 Thuật toán First Come First Serve 2.3 Thuật toán lập lịch Max-Min 2.4 Thuật toán Round-Robin 2.5 Thuật toán Weighted Round-Robin 2.6 Thuật toán Deficit Round-Robin Thuật toán thâm hụt round robin (DRR) trường hợp mở rộng thuật toán WRR cho trường hợp gói tin có kích thước khác Ý tưởng thuật toán sử dụng thuật toán round robin với phần lượng tử dịch vụ gán cho hàng đợi Điểm khác biệt so với phương pháp round robin truyền thống hàng đợi khơng thể tháo gói tin lượt kích thước gói tin q lớn phần lượng tử thêm vào lượt rà soát Cụ thể sau: Giả sử luồng liệu i xác định giá trịQi bits lượt rà soát, kèm theo biến trạng thái DCi (Deficit Counter) để xác định phần thâm hụt Công việc rà sốt lượt tính vòng round robin tất hàng đợi có.Để tránh việc phải kiểm tra hàng đợi rỗng, danh sách ActiveList tạo để chứa số hàng đợi có gói tin đó.Các gói tin vào từ nhiều luồng liệu phân loại để lưu trữ vào hàng đợi khác Giả sử số bytes gói tin hàng đợi i lượt rà soát thứklà 𝑏𝑦𝑡𝑒𝑠𝑖 (𝑘) Khi gói tin đến lưu trữ vào hàng đợi rỗng i số i thêm vào cuối danh sách ActiveList Nếu i đầu danh sách ActiveList lượt rà sốt thứ k, thuật tốn tính tốn giá trị 𝐷𝐶𝑖 = 𝐷𝐶𝑖 + 𝑄𝑖 tháo gói tin hàng đợi i thỏa mãn điều kiện 𝑏𝑦𝑡𝑒𝑠𝑖 𝑘 ≤ 𝐷𝐶𝑖 , sau cập nhật lại giá trị 𝐷𝐶𝑖 = 𝐷𝐶𝑖 − 𝑏𝑦𝑡𝑒𝑠𝑖 (𝑘) Lúc này, hàng đợi 𝑖 gói tin để tháo số𝑖 ghi vào cuối danh sách ActiveList, khơng gán giá trị 𝐷𝐶𝑖 xóa số 𝑖 khỏi danh sách ActiveList Hình 2.5: Lượt rà sốt round-robin thứ Hình 2.6: Lượt rà sốt round-robin thứ hai 7 Một ví dụ hoạt động thuật tốn DRR mơ tả hình 2.5 hình 2.6 Tại thời điểm khởi đầu, giá trị biến đếm 𝐷𝐶𝑖 gán 0, trỏ trỏ vào đỉnh danh sách ActiveList Khi hàng đợi rà soát, giá trị lượng tử 500 cộng vào biến đếm 𝐷𝐶𝑖 Vì kích thước gói tin đầu hàng đợi 𝑖 200 (nhỏ giá trị 𝐷𝐶𝑖 = 500) nên gói tin tháo ra, phần thừa 300 gán lại cho 𝐷𝐶𝑖 Vì kích thước gói tin hàng đợi 𝑖 750 > 300 nên khơng thể tháo gói tin khỏi hàng đợi 𝑖, lúc cập nhật lại giá trị thâm hụt sang cho lượt rà soát (𝐷𝐶𝑖 = 𝐷𝐶𝑖 + 𝑄𝑖 = 300 + 500 = 800) Con trỏ di chuyển sang hàng đợi 𝐹𝑄#2, nơi mà giá trị 𝐷𝐶 gán 500 bytes cho phép gói tin đầu hàng đợi phép tháo 2.3.Kết luận chƣơng CHƢƠNG –THIẾT KẾ LÕI IP PHÂN LUỒNG DỮ LIỆU 3.1 Tổng quan trình thiết kế 3.2 Thiết kế kiến trúc lõi IP Hình 3.1: Sơ đồ kết nối lõi IP phân luồng liệu Để đảm bảo chức phân luồng liệu vào hàng đợi khác nhau, đồng thời đảm bảo tốc độ người dùng cấu hình, lõi IP phân luồng liệu thiết kế với sơ đồ khối hình 3.1 Trong đó:  KhốiCongestion: có chức kiểm tra tắc nghẽn trước lưu gói tin vào nhớ Khối sử dụng thuật toán WRED nêu chương  Khối BuffMan (Buffer Management): có nhiệm vụ quản lý đệm, cấp phát vùng nhớ cho gói tin, quản lý hàng đợi chứa gói tin với mục đích phân luồng liệu Bên cạnh đó, khối BuffMan có chức ghi, đọc gói tin vào nhớ, thơng báo tình trạng gói tin cho khối Scheduler biết Khối BuffMan trình bày chi tiết mục 3.3  Khối Scheduler: có chức quản lý danh sách ActiveList thực công việc lập lịch Đồng thời áp dụng chế thùng thẻ, đảm bảo tính định hình lưu lượng lõi IP phân luồng liệu Khối Scheduler trình bày mục 3.9 Mơ tả tín hiệu Bảng 3.1 mơ tả tín hiệu lõi IP phân luồng liệu Bảng 3.1: Bảng mơ tả tín hiệu lõi IP Tín hiệu Nguồn Mơ tả Clk Clock Tín hiệu Clock Rstn Reset Tín hiệu Reset Input S Luồng liệu vào Output M Luồng liệu Hinf S Các thơng số người dùng cấu hình cho hàng đợi thông số thống truyền qua nhóm tín hiệu Nhóm tín hiệu DAAxiAcc bao gồm đọc ghi Nhóm tín hiệu QMAxiAcc bao gồm đọc ghi Nhóm tín hiệu AxiAcc bao gồm đọc ghi Nhóm tín hiệu Hinf dabaseaddr[31:0] S Địa sở vùng nhớ mà khối DynamicAllocator quản lý databaseaddr[31:0] S Địa sở vùng nhớ lưu liệu lõi IP qmbaseaddr[31:0] S Địa sở vùng nhớ mà khối QueueManagement quản lý coeffdivide[7:0] S Hệ số chia clock cmd[4:0] S Lệnh gửi từ host inqc1[QCT1_WID-1:0] S Thông số ghi vào trường thông tin thứ hàng đợi Inqc2[QCT1_WID-1:0] S Thông số ghi vào trường thông tin thứ hàng đợi length[LENGTH-1:0] S Độ rộng nội dung phép ghi vào ô nhớ qid[QID_WIDTH-1:0] S Chỉ số hàng đợi retcode M Cờ trạng thái trả nhận lệnh cấu hình từ Host bytecount[63:0] M Số byte liệu khỏi lõi IP pktcount[63:0] M Số gói liệu khỏi lõi IP handshake signal S Nhóm tín hiệu bắt tay 10 3.3 Thiết kế khối quản lý đệm (Buffer Management) 3.3.1 Chức Khối Quản lý đệm thực chức ghi liệu vào đọc liệu nhớ, trình ghi đọc thực khối Enqueue Dequeue tương ứng Bên cạnh đó, có khối QueueMan quản lý hàng đợi cell, cấp phát vị trí nhớ cho gói tin đủ điều kiện vào Việc phân loại gói tin vào hàng đợi tương ứng thực khối 3.3.2 Sơ đồ kết nối Hình 3.2: Sơ đồ kết nối khối Quản lý đệm Hình 3.2 mơ tả kết nối khối khối Quản lý đệm Trong đó:  Khối Enq (Enqueue): có chức phân loại gói tin đầu vào theo phương pháp phân loại kết hợp hành vi, thực 11 yêu cầu nhớ đến khối quản lý hàng đợi, đồng thời ghi liệu gói tin vào nhớ theo đơn vị cell gói tin hợp lệ  Khối Deq (Dequeue): có chức nhận lệnh tháo hủy bỏ gói tin từ lập lịch, giao tiếp với khối truy xuất nhớ để đọc gói tin theo cell phân xử đưa đến ngõ mong muốn  Khối QMan (Queue Management): có chức quản lý hàng đợi cell Mỗi hàng đợi quản lý cấu trúc danh sách liên kết, có trỏ đầu cuối giúp thuận tiện việc cấp phát tháo bỏ cell, bên cạnh hai trỏ hỗ trợ việc liên kết hàng đợi danh sách ActiveList lập lịch  Khối Memory Accessor: thực trình truy xuất nhớ  Các khối QM_RRCmd, Deq_RRCmd: có chức phân xử lệnh (command) đầu vào theo thuật tốn round robin 3.3.3 Mơ tả tín hiệu 3.4 Thiết kế khối xử lý ghi gói tin vào hàng đợi (Enqueue) 3.4.1 Chức 3.4.2 Mô tả tín hiệu 3.4.3 Máy trạng thái 3.5 Thiết kế khối xử lý đọc gói tin từ hàng đợi (Dequeue) 3.5.1 Chức 3.5.2 Mơ tả tín hiệu 3.5.3 Máy trạng thái 3.6 Thiết kế khối hỗ trợ giao tiếp nhớ (Memory Accessor) 3.6.1 Chức 12 3.6.2 Mơ tả tín hiệu 3.6.3 Máy trạng thái 3.7 Thiết kế khối quản lý hàng đợi (Queue Management) 3.7.1 Chức 3.7.2 Cấu trúc 3.7.3 Mơ tả tín hiệu 3.7.3 Máy trạng thái 3.8 Thiết kế khối cấp phát nhớ động (Dynamic Allocator) 3.8.1 Chức 3.8.2 Mô tả tín hiệu 3.8.3 Máy trạng thái 3.9 Thiết kế khối lập lịch (Scheduler) 3.9.1 Chức Khối Scheduler có chức thực việc lập lịch để tháo gói tin khỏi hàng đợi tùy theo tốc độ tháo thơng số khác cấu hình người sử dụng Scheduler sử dụng danh sách liên kết để chứa hàng đợi có gói tin đó, có hàng đợi vào mà chưa có danh sách, ghi vào cuối danh sách này, có cần cập nhật thơng số số gói tin hàng đợi lên 1; thứ tự hàng đợi xem xét để lập lịch từ đầu đến cuối danh sách 3.9.2 Mơ tả tín hiệu 3.9.3 Máy trạng thái Khối Scheduler sử dụng máy trạng thái, đó:  wr_dq_state: xử lý gói tin vào, đồng thời xử lý việc thay đổi danh sách hàng đợi tháo (departure queue) 13  dq_empty_state: xác định danh sách hàng đợi tháo có rỗng hay khơng  schedule_state: thực công việc lập lịch cho hàng đợi, gửi lệnh tháo tới khối Dequeue, gửi thông báo gói tin vừa tháo cho khối Congestion, cập nhật danh sách hàng đợi thay đổi 3.10 Thiết kế khối chống tắc nghẽn (Congestion) 3.10.1 Chức KhốiCongestion có chức sử dụng thuật toán WRED để kiểm tra tắc nghẽn trước lưu gói tin vào nhớ; có tắc nghẽn xảy ra, khối loại bỏ gói tin, đảm bảo cho nhớ khơng bị tràn 3.10.2 Máy trạng thái Hình 3.21: Máy trạng thái khối Congestion Máy trạng thái khối Congestion biểu diễn hình 3.21 Trong đó, trạng thái Congestion FSM mô tả sau: RESET Trạng thái khởi tạo ban đầu WAIT_PKT Trạng thái chờ gói tin tới 14 SEND_INFO_TO_RED Trạng thái gửi thơng tin gói tin tới khối WRED để xử lý tắc nghẽn, thỏa mãn chuyển tiếp gói tin tới khối Buffer Management, khơng loại bỏ gói tin WAIT_COMPLETE_PACKET Trạng thái chờ kết thúc gói tin 3.10.3 WRED 3.11 Kết luận chƣơng Với trình bày trên, chương hoàn thành việc thiết kế IPCore phân luồng liệu Đây tiền đề cho trình khảo sát đánh giá chi tiết mà ta đề cập chương sau CHƢƠNG –MÔ PHỎNG THỰC HIỆN LÕI IP PHÂN LUỒNG DỮ LIỆU TRÊN NỀN FPGA 4.1 Giới thiệu 4.2 Yêu cầu phần mềm Sử dụng phần mềm mô Modelsim 10.2c Mentor Graphic phần mềm tổng hợp, biên dịch hãng Xilinx ISE XPS Xilinx ISE XPS phần mềm thiết kế Xilinx, cho phép người lập trình thực lõi IP hồn chỉnh, từ bước thiết kế bước cuối nạp thiết kế lên FPGA Ngồi ra, phần mềm Xilinx cung cấp lõi IP giao tiếp DMA, AXI, để kết nối lõi IP Phân luồng liệu với khối chức khác có sẵn để tạo nên hệ thống hồn chỉnh Bên cạnh đó, lõi IP tạo phần mềm System Generator Xilinx tổng hợp thành thư viện mô Modelsim, giúp cho việc mô hệ 15 thống tiện lợi hoàn hảo Cụ thể, phần mềm có chức sau:  mô mức hành vi mức cổng lõi IP với đầu vào khác  tạo lõi IP với chức riêng biệt giúp cấu thành nên hệ thống hoàn chỉnh  tổng hợp IP Core cho biết thông số sau tổng hợp: tài nguyên sử dụng, clock, độ trễ,…  tạo file bitstream để nạp xuống board Để kiểm tra số lượng tài nguyên sử dụng chức hoạt động lõi IP, trình tổng hợp, mô biên dịch thực qua bước sau:  Bước 1: Kiểm tra lỗi cú pháp tổng hợp, phân tích tài nguyên sử dụng lõi IP cách sử dụng phần mềm Xilinx ISE 14.7  Bước 2: Mô lõi IP mức hành vi mức cổng cách sử dụng phần mềm Modelsim 10.2c Ở bước này, liên tục thay đổi thông số đầu vào khác tương ứng với trường hợp thực tế để đảm bảo lõi IP hoạt động chức  Bước 3: Sử dụng phần mềm Xilinx XPS để kết nối lõi IP thành phần khác để tạo nên hệ thống hồn chỉnh, sau tạo file bitstream để nạp hệ thống xuống board FPGA Trong trình tạo file bitstream, cơng việc kiểm tra DRC (Design Rule Check), phân vùng clock hay place & route thực đầy đủ Tiếp theo tập trung vào công đoạn cụ thể kết đạt bước 16 4.3 Kết tổng hợp Tổng hợp q trình sau hồn thành bước viết code Đây kết trình biên dịch chuyển đổi ngơn ngữ mơ tả phần cứng Verilog HDL vào mức cổng Căn vào cấu trúc quy mô phần cứng mô tả chương trình Verilog, trình tổng hợp ISE 14.7 cho kết sau tổng hợp Các thơng số quan trọng đánh giá kết q trình tổng hợp bao gồm:  Tài nguyên sử dụng: số Logic Block mà lõi IP cần sử dụng Khái niệm Logic Block tuỳ thuộc vào hãng sản xuất định nghĩa, ví dụ hãng Altera LE (Logic Element), hãng Xilinx gọi LC (Logic Cell Slice) Mỗi Logic Block bao gồm thành phần LUT Flip Flop, số lượng LUT Flip Flop Logic Block tuỳ thuộc hãng sản xuất dòng sản phẩm  Độ trễ cực đại: thời gian trễ lớn độ trễ mà khối logic tính tốn từ tín hiệu vào đến tín hiệu Độ trễ lớn tốc độ xử lý lõi chậm  Tần số hoạt động: tần số cực xung nhịp (Clock) cực đại hệ thống cung cấp cho lõi IP để hoạt động khơng bị lỗi  Bộ nhớ sử dụng: số lượng BRAM FIFO tạo để lưu trữ Tiến hành trình tổng hợp phần mềm Xilinx ISE 14.7, kết sau: Số slice register Số slice LUTs Độ trễ cực đại Tần số cực đại 8081 (1%) 9324 (4%) 4.976ns 200.974MHz 17 Có thể thấy, khối lượng cơng việc cần xử lý lớn sử dụng nhớ để lưu trữ gói tin, số lượng tài nguyên sử dụng thấp (chiếm 1% ghi 4% LUTs toàn board) tần số cực đại đạt 200MHz 4.4 Kết mô Để kiểm tra kết mô Modelsim, ta xây dựng mơ hình kiểm tra sau (hình 4.2): Hình 4.2: Mơ hình kiểm tra mơ Trong đó:  Pcap file: chứa đựng gói tin đầu vào có luồng liệu khác  Pcap Master: tập tin code verilog, có nhiệm vụ đọc file có định dạng *.pcap đầu theo chuẩn AXIS, phần thơng tin (tuser) chứa trường cần thiết phục vụ cho phân luồng liệu phần header gói tin IPv4  TrafficMan: Lõi IP phân luồng liệu  Matching: Bộ so sánh kết đầu với đầu vào Kịch xây dựng để kiểm tra sau: Từ tập tin pcap đầu vào chứa luồng liệu khác nhau, sử dụng chương trình Wireshark để tách file pcap ban đầu thành file 18 pcap con, file ứng với luồng liệu Ở đây, giả sử số luồng liệu khác Lõi IP TrafficMan cấu hình cho có ngõ ra, nhiệm vụ lập lịch tháo gói tin luồng liệu thứ ngõ 0, luồng liệu thứ ngõ luồng liệu thứ ngõ Thực so sánh song song tập tin pcap tương ứng với ngõ 0,1,2 Kết quả, xác định dựa tín hiệu error_data tạo môi trường testbench Tiếp tục tiến hành kiểm tra với file pcap khác bắt ngẫu nhiên internet theo tiêu chí: đa dạng nguồn đa dạng kích thước Kết mô với trường hợp file pcap bắt ngẫu nhiên Internet biểu diễn hình 4.2 Hình 4.2: Kết mơ Modelsim Từ kết hình trên, ta nhận thấy rằng, kết ngõ 0, với luồng liệu tạo ban đầu Như vậy, kết luận rằng: Việc sử dụng ngôn ngữ mô tả phần cứng Verilog HDL để mô tả cho lõi IP Phân luồng liệu xác 19 4.5 Thực FPGA 4.5.1 Công nghệ FPGA 4.5.2 Phần cứng sử dụng 4.5.3 Quá trình thực Để hoạt động được, cần nạp lõi IP xuống kit phát triển chạy với thơng số cấu hình mặc định Tuy nhiên, với mong muốn thay đổi giá trị cấu hình lúc thực hiện, ví dụ thay đổi tốc độ tháo gói tin khối lập lịch hay ngưỡng loại bỏ gói tin khối chống tắc nghẽn, ngồi lõi IP thiết kế ra, cần có vi xử lý đóng vai trò điều khiển hoạt động thiết bị ngoại vi hỗ trợ Các thiết bị ngoại vi bao gồm: nhớ DDR3 nơi lưu trữ trình điều khiển hệ thống, chứa gói tin vào lõi IP thông số phục vụ cho trình xử lý gói tin; lõi UART dùng để giao tiếp với máy tính, nhập thơng số cấu hình quản lý thống từ lõi IP; lõi AXI4 – Lite IPIF để giao tiếp, ghi/đọc ghi cấu hình cho lõi IP Việc kết nối lõi IP để tạo thành hệ thống tạo file bitstream để nạp xuống board thực thông qua công cụ phát triển hệ thống nhúng XPS hãng Xilinx cung cấp có kết hình 4.6 4.7, đó:  axi_interconnect: lõi IP hãng Xilinx cung cấp, giúp kết nối hay nhiều thiết bị chủ (master) tới hay nhiều thiết bị tớ (slave) theo chuẩn AXI  processing_system_7: phần mềm giao tiếp họ Zynq 7000 phần PS Như trình bày phần trước, kit phát triển Zynq ZC706 thuộc họ Zynq 7000, thiết kế bao gồm phần xử lý PS phần logic PL nhằm cung cấp giải pháp 20 linh hoạt mở rộng SoC die riêng lẻ Khi đó, lõi IP processing_system_7 hoạt động kết nối logic PS PL, người lập trình tùy biến thêm lõi IP tự phát triển thông qua phần mềm ISE Vivado  axi_ethernet: lõi IP mô tả Ethernet MAC chế độ 10/100/1000 Mb/s; hỗ trợ giao tiếp MII, GMII, SGMII, RGMII 1000BASE-X để kết nối với chip PHY Ngồi có hỗ trợ tính kiểm tra checksum UDP/TCP, bỏ qua VLAN, tagging hay bật chế độ lọc gói tin multicast  traffic_man: Lõi IP phân luồng liệu  gmii_to_rgmii: Là lõi IP Xilinx, cung cấp chuẩn giao tiếp RGMII (Reduced Gigabit Media Independent Interface) chip PHY điều khiển Gigabit Ethernet họ Zynq 7000 Các chân ngõ GMII nối đến lõi axi_ethernet  myclkgen: lõi IP tạo clock chung cho hệ thống với nhiều tần số khác Hình 4.6: Kết nối lõi IP thành phần vào hệ thống 21 Hình 4.7: Kết trình tạo file bitstream 3.11 Kết luận chƣơng Chương trình bày kết mơ lõi IP Phân luồng liệu phần mềm Modelsim trình thực kit phát triển Zynq ZC706 hãng Xilinx Đồng thời, xây dựng hệ thống bao gồm lõi IP phân luồng liệu với lõi ngoại vi cần thiết khác, điều khiển vi xử lý MicroBlaze môi trường XPS-EDK Xilinx Hoàn thành việc tạo netlist file bitstream nạp xuống board Zynq ZC706 KẾT LUẬN HƢỚNG PHÁT TRIỂN Kết luận Với kết đạt được, thấy việc thiết kế thực lõi IP phân luồng liệu FPGA đáp ứng yêu cầu đề tài sau: 22  Phân tích chức khối phân luồng liệu, thuật toán ứng dụng chức lập lịch Từ đó, xây dựng sơ đồ khối chức năng, thuật tốn xử lý cho tồn lõi IP  Sử dụng ngôn ngữ mô tả phần cứng Verilog HDL để mô tả lõi IP phân luồng liệu  Tổng hợp thành công lõi IP phân luồng liệu công cụ Xilinx ISE 14.5  Mô thành công hoạt động lõi IP phân luồng liệu phần mềm Modelsim 10.2c  Thực nhúng lõi IP phân luồng liệu vào hệ thống, tạo file bitstream để nạp xuống kit phát triển Zynq ZC706 Hƣớng phát triển đề tài  Nghiên cứu thêm thuật toán lập lịch chống tắc nghẽn có hiệu suất tốt  Nghiên cứu kỹ thuật tối ưu tài nguyên sử dụng tăng tốc độ xử lý lõi IP phân luồng liệu  Nghiên cứu ứng dụng vào trường hợp cụ thể chức nâng cao chất lượng dịch vụ QoS, chức nối gói tin bị phân mảnh IP Reassembly thiết bị mạng tường lửa (Firewall), định tuyến (Router) Tác giả xin gởi lời cảm ơn chân thành sâu sắc đến người hướng dẫn khoa học Thầy giáo TS Phan Trần Đăng Khoa, người hướng dẫn cho tơi phương pháp làm việc khoa học tận tình giúp đỡ động viên tơi suốt q trình thực luận văn 23 Xin gởi lời cảm ơn chân thành đến Tập thể Thầy Cô giáo khoa Điện Tử Viễn Thông, trường Đại học Bách Khoa, thuộc Đại học Đà Nẵng giúp đỡ tạo điều kiện thuận lợi cho tác giả suốt q trình học tập hồn thành đề tài Tuy cố gắng, nỗ lực đạt kết đáp ứng mục tiêu nghiên cứu đặt ra, song chắn khơng tránh khỏi thiếu sót trình thực luận văn Tác giả mong nhận ý kiến đóng góp trao đổi người đọc để tiếp tục hoàn thiện nghiên cứu tương lai ... 2.3.Kết luận chƣơng CHƢƠNG THI T KẾ LÕI IP PHÂN LUỒNG DỮ LIỆU 3.1 Tổng quan trình thi t kế 3.2 Thi t kế kiến trúc lõi IP Hình 3.1: Sơ đồ kết nối lõi IP phân luồng liệu Để đảm bảo chức phân luồng. .. cần thi t Xuất phát từ yêu cầu trên, luận văn em nghiên cứu đề tài: Thi t kế thực thi lõi IP phân luồng liệu FPGA 2 Mục tiêu nghiên cứu Nghiên cứu thi t kế kiến trúc lõi IP phân luồng liệu FPGA, ... thực lõi IP phân luồng liệu FPGA CHƢƠNG 1-TỔNG QUAN VỀ PHÂN LUỒNG DỮ LIỆU 1.1 Giới thi u chƣơng 1.2 Khái niệm phân luồng liệu Phân luồng liệu công việc sử dụng nhiều ứng dụng, nhằm mục đích phân

Ngày đăng: 17/05/2018, 17:37

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan