1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E

15 8 0

Đ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

Bài viết Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E tiến hành thiết kế bộ phân xử mức ưu tiên cố định và bộ phân xử Round Robin thực hiện hoạt động phân xử cho bốn Master và một Slave. Hai bộ phân xử sẽ được tổng hợp thiết kế bằng ngôn ngữ mô tả phần cứng Verilog trên phần mềm Xilinx ISE Design Suite 14.7. Thiết kế của hai bộ phân xử sau khi tổng hợp sẽ được kiểm tra và đánh giá bằng các testcase để so sánh về thuật toán và tốc độ phân xử.

http://doi.org/10.37550/tdmu.VJS/2022.05.341 ĐÁNH GIÁ BỘ PHÂN XỬ MỨC ƯU TIÊN CỐ ĐỊNH VÀ ROUND ROBIN TRÊN PHẦN CỨNG FPGA SPARTAN 3E Trương Thanh Sang(1), Phan Hữu Phúc(1), Nguyễn Ngô Lâm(1), Trương Quang Phúc(1), Trịnh Quốc Thanh(2) (1) Trường Đại học Sư phạm kỹ thuật TPHCM; (2) Trường Đại học Thủ Dầu Một Ngày nhận 26/07/2022; Ngày phản biện 30/072022; Chấp nhận đăng 30/8/2022 Liên hệ Email: 18161265@student.hcmute.edu.vn https://doi.org/10.37550/tdmu.VJS/2022.05.341 Tóm tắt Trong hệ thống chip (System on chip - SoC), việc có truy cập đồng thời từ nhiều nguồn (Source) nhiều Master đến Slave việc thường xuyên xảy Tuy nhiên, Slave đáp ứng đồng thời tất truy cập lúc mà đáp ứng cách truy cập theo thứ tự định Việc xác định truy cập thực trước, truy cập thực sau “phân xử truy cập” Thành phần thực chức “phân xử truy cập” thường gọi phân xử (arbiter) Trong đề tài này, nhóm tác giả tiến hành thiết kế phân xử mức ưu tiên cố định phân xử Round Robin thực hoạt động phân xử cho bốn Master Slave Hai phân xử tổng hợp thiết kế ngôn ngữ mô tả phần cứng Verilog phần mềm Xilinx ISE Design Suite 14.7 Thiết kế hai phân xử sau tổng hợp kiểm tra đánh giá testcase để so sánh thuật toán tốc độ phân xử Sau cùng, nhóm tác giả tiến hành thực hai phân xử lên phần cứng Xilinx Spartan 3E để kiểm tra kết mô Từ khóa: phân xử, round Robin, spartan 3E Abstract EVALUATION OF FIXED PRIORITY ARBITER AND ROUND ROBIN ON FPGA SPARTAN 3E In System on chip (SoC), having simultaneous access from multiple Sources or Masters to the same Slave is common However, one Slave cannot respond to all accesses at the same time but can only respond sequentially to each access in a certain order Determining which access to execute first, which access to execute after is called "access arbitration" The component that performs the "access arbitration" function is often called an Arbiter In this paper, the authors design a fixed-priority arbiter and a Round Robin arbiter that performs arbitration for four Masters and one Slave These two arbiters will be combined and designed using Verilog on Xilinx ISE Design Suite 14.7 86 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 software The design of the two arbiters after synthesis will be checked and evaluated by testcases to compare the algorithm and arbitration speed Finally, the authors will implement two arbiters on FPGA Xilinx Spartan 3E to check the simulation results Tổng quan 1.1 Giới thiệu SoC bước tiến lớn ngành vi mạch điện tử Tuy nhiên, việc thiết kế gặp nhiều vấn đề cần phải quan tâm đặc biệt độ phức tạp hệ thống ngày tăng dẫn đến số lượng kết nối từ nhiều nguồn Master đến Slave thời điểm tăng khiến cho việc truyền nhận liệu bị gián đoạn Trong trường hợp này, Slave đáp ứng tất yêu cầu truy cập lúc mà đáp ứng yêu cầu truy cập cách theo thứ tự trước sau định Để giải vấn đề cần sử dụng khối xử lý giúp phân phối thứ tự kết nối nhiều nguồn Master phân xử (Arbiter) giải pháp hiệu giúp phân luồng truy cập cách hợp lý Có nhiều phân xử với thuật tốn phục vụ mục đích khác tùy vào hệ thống như: Bộ phân xử theo mức ưu tiên cố định (Fixed Priority Arbiter), Bộ phân xử theo hình thức xổ số (Lottery Arbiter), Bộ phân xử sử dụng thuật toán Round Robin, Bộ phân xử theo mức ưu tiên cố định ví dụ điển hình cho dạng phân xử theo mức độ ưu tiên Với việc phân xử theo mức ưu tiên vậy, nguồn yêu cầu truy cập (request) có mức ưu tiên cao ln chiếm ưu dễ dàng cấp quyền (grant) nguồn request có mức ưu tiên thấp Nguồn request có mức ưu tiên thấp bị “treo” (khơng grant) nguồn request ưu tiên cao liên tục tích cực Trong phân xử Round Robin thứ tự mức ưu tiên request xoay vòng liên tục Đối với hệ thống cần cân quyền truy cập nguồn request phân xử Round Robin lựa chọn hiệu 1.2 Tình hình nghiên cứu Trong báo (Gupta & Goel, 2015), nhóm tác giả đề xuất thiết kế phân xử cấu hình cho n người dùng Thiết kế thực thuật tốn Round Robin, thơng qua kết mô giúp so sánh đánh giá để đưa thiết kế phân xử phù hợp cho thiết bị, lõi sở hữu trí tuệ (IP), nhớ chip (On chip memory) nguồn tài nguyên Đối với báo (Deb & Rajrajan, 2013), tác giả giới thiệu số giải pháp chia sẻ tài nguyên nguồn yêu cầu truy cập bên phân xử Trong báo (Shin, III, & Riley, 2002) (Weber, 2001), nhóm tác giả liệt kê điều cần lưu ý việc thiết kế phân xử Round Robin đề xuất vài ý tưởng thiết kế giao diện giúp giao tiếp với phân xử nhằm đạt hiệu cao Tuy nhiên, báo chưa trình bày thiết kế chi tiết thiết kế đơn giản chưa giải vấn đề ưu tiên quyền truy cập 87 http://doi.org/10.37550/tdmu.VJS/2022.05.341 Bên cạnh đó, nước có số nghiên cứu lĩnh vực vi mạch SoC viết (Ngọc & Bảo, 2020) nhóm tác giả tiến hành thiết kế giao tiếp đa kênh UART sử dụng FPGA Đối với viết (Anh & Trí, 2021), nhóm tác giả đề xuất thiết kế truyền nhận theo giao thức I2C tiến hành thực lên phần cứng Spartan Tuy nhiên, hai viết tập trung vào đặc điểm nguyên lý hoạt động chuẩn truyền thông vấn đề liên quan việc phân xử truy cập kết nối lại chưa đề cập đến Bộ phân xử Trong hệ thống SoC, việc có truy cập nhiều nguồn nhiều Master đến Slave việc thường xuyên xảy Tuy nhiên, Slave đáp ứng đồng thời tất truy cập lúc mà đáp ứng cách truy cập theo thứ tự định Việc xác định truy cập thực trước, truy cập thực sau, “phân xử truy cập” Thành phần thực chức “phân xử truy cập” thường gọi phân xử (arbiter) Khi số lượng truy cập tăng lên lúc việc thêm vào phân xử cần thiết Một phân xử thường có chức như: – Nhận yêu cầu truy cập từ nguồn khác nhau, yêu cầu gọi request – Thực thuật tốn phân xử có nhiều nguồn truy cập (request) lúc – Cấp quyền (grant) cho nguồn (Source/Master) chọn – Việc lựa chọn phân xử phụ thuộc vào yêu cầu hệ thống thuật tốn phân xử mà thiết kế hướng đến Thơng thường, thiết kế phân xử chia theo hai hướng: – Phân xử theo mức độ ưu tiên – Phân xử cân (Quân, 2019) Đối với hướng có phân xử tiêu biểu Mỗi hướng thiết kế mạnh riêng tùy vào mục đích sử dụng hệ thống Đối với hệ thống thiết kế theo hướng phân xử theo mức độ ưu tiên phân xử theo mức ưu tiên cố định thường sử dụng có thiết kế đơn giản, tốn tài nguyên Ngược lại, hệ thống thiết kế theo hướng phân xử cân phân xử Round Robin với ưu điểm cân truy cập thường ưu tiên sử dụng Qua đó, có nhìn tổng qt khác biệt hai hướng thiết kế 2.1 Bộ phân xử mức ưu tiên cố định Bộ phân xử theo mức ưu tiên cố định phân xử đơn giản tốn tài nguyên Các yêu cầu truy cập (requesters) thiết đặt trước mức ưu tiên từ cao đến thấp Các yêu cầu phân xử theo thứ tự trước sau theo mức ưu tiên thiết đặt Đối với phân xử theo mức ưu tiên cố định, mức ưu tiên request cố định, khác với xoay vòng mức ưu tiên phân xử Round Robin 88 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 Mỗi nguồn request gán mức ưu tiên khác request kiểm tra trước Request có mức ưu tiên cao cấp quyền trước sau phân xử tiếp tục cấp quyền cho request có mức ưu tiên cao Đối với phân xử mức ưu tiên cố định, mức ưu tiên cao cố định khơng đổi Chính vậy, request có mức ưu tiên cao lại tích cực lần request cấp quyền trước request có mức ưu tiên thấp Q trình phân xử thực không cịn request có u cầu truy cập Ưu điểm phân xử mức ưu tiên cố định thiết đặt sẵn giá trị mức ưu tiên cho nguồn request cụ thể Tuy nhiên, trường hợp nguồn request với mức ưu tiên cao liên tục tích cực nguồn request cịn lại với mức ưu tiên thấp khơng cấp quyền dẫn đến tình trạng bị treo (Hu, Chen, Li, & Liu, 2004) 2.2 Bộ phân xử Round Robin Bộ phân xử Round Robin phân xử thiết kế theo hướng cân mức ưu tiên truy cập Ban đầu, truy cập thiết lập mức ưu tiên từ cao đến thấp phân xử mức ưu tiên cố định Nhưng khác biệt phân xử Round Robin mức ưu tiên xoay vòng liên tục sau chu kỳ phân xử Với cách xoay vòng mức ưu tiên khả cấp quyền truy cập cân Bộ phân xử Round Robin sử dụng đếm tăng giảm để quét qua nguồn request, request ứng với giá trị cố định đếm Khi đếm chứa giá trị trùng với nguồn requewst tích cực mức cao nguồn request cấp quyền đếm tăng/giảm để chọn nguồn request Lúc này, nguồn request cấp quyền có mức ưu tiên thấp chu kỳ phân xử Round Robin đảm bảo khơng có tiến trình độc quyền, tiến trình phục vụ đặn mà không phụ thuộc vào thời gian xử lý tiến trình trước Ưu điểm phân xử Round Robin so với phân xử mức ưu tiên cố định request phân xử truy cập công bằng, thời gian request nhận mức ưu tiên cao Tuy nhiên, việc phân bổ quyền quan trọng định quyền truy cập cho request cụ thể tần số yêu cầu truy cập request thường xuyên (Quân, [Arbiter] Bài - Bộ phân xử Round Robin đơn giản, 2019) Phần cứng Xilinx Spartan 3E Báo cáo thực phần cứng Xilinx Spartan 3E Đây phần cứng thí nghiệm sử dụng chip FPGA Spartan 3E XC3S500E hãng Xilinx Ngồi ra, phần cứng cịn hỗ trợ nhiều cổng giao tiếp ngoại vi, cổng kết nối mở rộng nhiều chân I/O khác Trong bảng số tính cung cấp sẵn phần cứng Xilinx Spartan 3E: 89 http://doi.org/10.37550/tdmu.VJS/2022.05.341 Bảng Một số tính Xilinx Spartan 3E (Xilinx, 2011) Chip FPGA Điện áp hoạt động Điện áp ngõ Xung nhịp cho hệ thống Số chân I/O Kiểu chân FBGA Số lượng phần tử logic Cấu hình PROM DDR SDRAM Probe Landing Pads NOR Flash ROM Flash Cổng giao tiếp thiết bị ngoại vi Cổng kết nối mở rộng Xilinx XC3S500E Spartan-3E 5V 3.3 V 50 MHz 232 320 chân Hơn 10000 Flash Platform Xilinx Mbit 64 Mbyte (512 Mbit), giao diện liệu x16 Intel StrataFlash 16 Mbyte (128 Mbit) 16 Mbit loại nối tiếp SPI VGA Cổng kết nối cho bàn phím chuột PS/2 Hai cổng RS-232 chân (kiểu DTE- DCE) Đầu nối 100 chân Hirose FX2, 43 kết nối I/O kết nối ngoại vi chân Vì FPGA Xilinx nên Spartan 3E hỗ trợ phần mềm lập trình Xilinx ISE Design Suite để thiết kế cấu hình cho FPGA Việc giao tiếp vật lý để nạp chương trình cho FPGA dựa chuẩn JTAG Thiết kế hệ thống 4.1 Thiết kế phân xử mức ưu tiên cố định Bộ phân xử mức tiên cố định thiết yêu cầu truy cập Hình kế để thực hoạt động quét qua mô tả sơ đồ khối tổng quát bảng nguồn request với mức ưu tiên phân xử giảm mơ tả chân tín hiệu ngõ vào ngõ dần từ request đến request để cấp quyền cho phân xử mức ưu tiên cố định Master tương ứng Quá trình phân xử dựa vào tín hiệu rst, clk thứ tự mức ưu tiên thiết lập trước để phân luồng truy cập Bộ phân xử mức ưu tiên cố định ưu tiên cấp quyền cho request có mức ưu tiên cao request khơng cịn có nhu cầu truy Hình Sơ đồ khối tổng quát phân cập request có mức ưu tiên thấp xử mức ưu tiên cố định tiến hành phân xử Hoạt động phân xử lặp lại không cịn request Bảng Mơ tả chân tín hiệu phân xử mức ưu tiên cố định Tên chân tín hiệu req clk rst gnt Loại Input Input Input Output Độ rộng (bit) 1 90 Chức Tín hiệu yêu cầu quyền truy cập Tín hiệu xung clock Tín hiệu reset phân xử Tín hiệu cấp quyền từ phân xử Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 Bộ phân xử mức ưu tiên cố định tạo thành từ bốn Flip Flop D kết hợp với cổng logic AND, NOT, OR để thiết lập thứ tự mức ưu tiên cho nguồn request Các Flip Flop D sử dụng nguồn xung clock kết nối chân tín hiệu reset tích cực mức cao Mỗi ngõ Q Flip Flop D tương ứng với ngõ phân xử Hình mơ tả sơ đồ kiến trúc phân xử ưu tiên cố định Hình Sơ đồ kiến trúc phân xử mức ưu tiên cố định 4.2 Thiết kế phân xử Round Robin Bộ phân xử Round Robin có đường tín chân tín hiệu ngõ vào ngõ hiệu ngõ vào ngõ tương tự phân phân xử Round Robin xử mức ưu tiên cố định Điểm khác biệt hai phân xử nằm cách phân phát quyền ưu tiên Thay giữ cố định thứ tự mức ưu tiên phân xử Round Robin xoay vòng request để tạo nên cân quyền truy cập Quá trình phân xử dựa vào tín hiệu rst, clk thứ tự mức ưu tiên để cấp quyền cho request đủ điều kiện Hình Hình Sơ đồ khối tổng quát phân xử Round Robin mô tả sơ đồ khối tổng quát bảng mô tả Bảng Mơ tả chân tín hiệu phân xử Round Robin Tên chân tín hiệu req clk rst grant Loại Input Input Input Output Độ rộng (bit) 1 Chức Tín hiệu yêu cầu quyền truy cập Tín hiệu xung clock Tín hiệu reset phân xử Tín hiệu cấp quyền từ phân xử Hình bên mô tả kiến trúc phân xử Round Robin Sự phối hợp hoạt động chia xung, Flip Flop D đếm vòng giúp phân xử Round Robin xoay vòng thiết lập chu kỳ xoay quyền ưu tiên cho request ngõ vào Các khối logic 91 http://doi.org/10.37550/tdmu.VJS/2022.05.341 ưu tiên kết hợp với cổng logic OR giúp phân xử thiết lập mức ưu tiên chu kỳ xoay cho kết phân xử ngõ grant Các chức cụ thể bốn khối phân xử Round Robin: – Bộ chia xung (Clock Divider) có chức chia nhỏ tần số xung clock để thiết đặt chu kỳ xoay vòng mức ưu tiên – Flip Flop D có chức làm mạch tạo xung kích giữ tín hiệu cho đếm vịng – Bộ đếm vịng (Ring Counter) có chức tương tự ghi dịch thực hoạt động dịch bit để cấp tín hiệu enable cho khối logic ưu tiên – Khối logic ưu tiên (Priority Logic) có chức nhận tín hiệu truy cập từ nguồn request kết hợp với tín hiệu enable nhận từ ngõ đếm vòng để cấp quyền theo thứ tự thiết lập sẵn khối Chức gần giống chức mã hóa ưu tiên (Priority Encoder) nhiên liệu ngõ khơng bị mã hố Hình Sơ đồ kiến trúc phân xử Round Robin Kết Các kết mô thực phần cứng sử dụng với nguồn xung clock 50 MHz Để có nhìn tổng quát hoạt động hai phân xử, tiến hành xây dựng bốn testcase với số lượng truy cập đồng thời khác bốn ngõ vào request Các testcase trình bày cụ thể bảng Bảng Bảng testcase Testcase Testcase Testcase Testcase Testcase Nội dung thực Kiểm tra hoạt động hệ thống có request yêu cầu Kiểm tra hoạt động hệ thống có request đồng thời yêu cầu Kiểm tra hoạt động hệ thống có request đồng thời yêu cầu Kiểm tra hoạt động hệ thống có request đồng thời yêu cầu 92 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 5.1 Kết mô Chúng tiến hành mô hai phân xử sơ đồ dạng sóng để so sánh thuật toán tốc độ phân xử Ngõ grant lúc có độ rộng bit với bit grant[7:4] ứng với ngõ grant phân xử mức ưu tiên cố định, bit grant[3:0] ứng với ngõ grant phân xử Round Robin Hình Kết mơ testcase Hình phía mơ tả kết mơ testcase hệ thống Trong khoảng thời gian ns < t < 15 ns, giá trị chân tín hiệu rst = nên thứ tự mức ưu tiên phân xử Round Robin đưa mặc định req[0] → req[1] → req[2] → req[3] Nghĩa req[0] có mức ưu tiên cao tiếp đến req[1], req[2] cuối req[3] Đến thời điểm t > 15 ns giá trị chân tín hiệu rst = 0, hệ thống tiến hành phân xử theo mức ưu tiên cố định cho ngõ grant[7:4] phân xử theo thuật toán Round Robin cho ngõ grant[3:0] Trong khoảng thời gian 30 ns < t < 40 ns, ngõ vào req = 0100 ứng với req[2] tích cực, giá trị ngõ grant 00100100 chưa đến thời điểm xung clock cạnh lên nên phân xử ưu tiên cố định chưa thực hoạt động phân xử Ở thời điểm t = 40 ns, có xung clock cạnh lên giá trị ngõ grant lúc chuyển thành 01000100 ứng với req[2] cấp quyền hai phân xử Trong khoảng thời gian 40 ns < t < 80 ns, thứ tự mức ưu tiên phân xử Round Robin chuyển thành req[1] → req[2] → req[3] → req[0] Tại t = 50 ns, ngõ vào req có giá trị 0001 ứng với req[0] có yêu cầu truy cập giá trị ngõ (grant [7:4]) phân xử mức ưu tiên cố định giữ nguyên 0100 chưa đến thời điểm xung clock tích cực cạnh lên Sau 40 ns tương đương hai chu kỳ xung clock thứ tự mức ưu tiên phân xử Round Robin xoay vòng mức tạo nên cân quyền truy cập request Bộ phân xử mức ưu tiên cố định có thứ tự mức ưu tiên giữ cố định req[0] → req[1] → req[2] → req[3] tiến hành phân xử đến thời điểm cạnh lên xung clock Hình Kết mơ testcase 93 http://doi.org/10.37550/tdmu.VJS/2022.05.341 Hình phía mơ tả kết mơ testcase hệ thống Trong khoảng thời gian ns < t < 15 ns, giá trị chân tín hiệu rst = nên thứ tự mức ưu tiên phân xử Round Robin đưa mặc định req[0] → req[1] → req[2] → req[3] Khi t > 15 ns chân tín hiệu rst = nên hệ thống tiến hành phân xử theo mức ưu tiên cố định cho ngõ grant[7:4] phân xử theo thuật toán Round Robin cho ngõ grant[3:0] Tại thời điểm t = 20 ns, giá trị ngõ vào req 0101 ứng với req[2] req[0] có yêu cầu truy cập đồng thời có xung clock tích cực cạnh lên nên ngõ grant lúc có giá trị 00010001 ứng với req[0] cấp quyền hai phân xử Trong khoảng thời gian 40 ns < t < 80 ns, mức ưu tiên cao phân xử Round Robin chuyển cho req[1], lúc req[0] có mức ưu tiên thấp Tại t = 50 ns, ngõ vào req có giá trị 0011 ứng với req[1] req[0] có yêu cầu truy cập có ngõ phân xử Round Robin (grant [3:0]) thay đổi giá trị thành 0010 chưa đến thời điểm xung clock cạnh lên Tại thời điểm t = 60 ns, có xung clock tích cực cạnh lên ngõ vào req thay đổi giá trị thành 0101 Ngõ grant lúc có giá trị 00010100 ứng với req[0] cấp quyền phân xử mức ưu tiên cố định req[2] cấp quyền phân xử Round Robin req[2] có mức ưu tiên cao req[0] Kết ngõ grant phân xử phân xử theo thuật toán tương ứng chu kỳ sau tương tự testcase Hình Kết mơ testcase Hình mơ tả kết mô testcase hệ thống Trong khoảng thời gian từ ns đến 15 ns, giá trị chân rst = nên thứ tự mức ưu tiên hai phân xử đưa mặc định req[0] → req[1] → req[2] → req[3] Khi t > 15 ns, chân tín hiệu rst = nên hệ thống tiến hành phân xử theo mức ưu tiên cố định cho ngõ grant[7:4] phân xử theo thuật toán Round Robin cho ngõ grant[3:0] Trong khoảng thời gian 15 ns < t < 40 ns, req[0] giữ mức ưu tiên cao phân xử Round Robin Đồng thời, ngõ vào lúc có req[0] tích cực nên ngõ grant ln có giá trị 00010001 ứng với req[0] cấp quyền hai phân xử Trong khoảng thời gian 40 ns < t < 80 ns, thứ tự mức ưu tiên phân xử Round Robin xoay vòng thành req[1] → req[2] → req[3] → req[0] Tại thời điểm t = 40 ns có cạnh lên xung clock, ngõ vào req có giá trị 1101 ứng với req[1] khơng tích cực nên req[2] ưu tiên cấp quyền trước phân xử Round Robin Ngõ grant lúc có giá trị 00010100 ứng với req[0] cấp quyền phân xử mức ưu tiên cố định req[2] cấp quyền phân xử Round Robin Kết ngõ grant phân xử phân xử theo thuật toán tương ứng chu kỳ sau tương tự testcase 94 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 Hình Kết mơ testcase Hình mơ tả kết mơ testcase hệ thống Trong khoảng thời gian từ ns đến 15 ns giá trị chân tín hiệu rst = 1, thứ tự mức ưu tiên phân xử Round Robin đưa mặc định req[0] → req[1] → req[2] → req[3], lúc req[0] có mức ưu tiên cao nên req[0] grant hai phân xử Khi t > 15 ns chân tín hiệu rst = 0, hệ thống tiến hành phân xử theo mức ưu tiên cố định cho ngõ grant[7:4] phân xử theo thuật toán Round Robin cho ngõ grant[3:0] Trong testcase 4, bốn request tích cực thời điểm thời điểm có request grant, request khác bắt buộc phải chờ đến thời điểm mức ưu tiên cao grant Do hoạt động phân xử khác hai phân xử nên việc cấp quyền khác Ở phân xử mức ưu tiên cố định thứ tự mức ưu tiên req[0] → req[1] → req[2] → req[3] nên req[0] cấp quyền thời điểm Ngược lại, thứ tự mức ưu tiên phân xử Round Robin ln xoay vịng sau hai chu kỳ xung clock nên request grant thời điểm mức ưu tiên cao 5.2 Kết thực phần cứng Trong phần này, thực hệ thống phần cứng Xilinx Spartan 3E để kiểm tra kết mô Các testcase kiểm tra hai phân xử mức ưu tiên cố định phân xử Round Robin Để quan sát kết dạng sóng thực tế hai phân xử, nhóm tác giả tiến hành kết nối ngõ phần cứng với máy hiển thị sóng hỗn hợp Oscilloscope Series MS054 hình Hình Hình thực tế phần cứng FPGA Xilinx Spartan 3E Oscilloscope Series MS054 95 http://doi.org/10.37550/tdmu.VJS/2022.05.341 Hình 10 mơ tả dạng sóng testcase hai phân xử trạng thái ngõ vào req = 1000 ứng với req[3] có u cầu truy cập Hình 10 (a) kết dạng sóng ngõ grant[7:4] tương ứng với ngõ phân xử mức ưu tiên cố định Hình 10 (b) kết dạng sóng ngõ grant[3:0] ứng với ngõ phân xử Round Robin Kết ngõ grant ngõ hai phân xử grant = 1000 ứng với req[3] cấp quyền Tại thời điểm có bốn request yêu cầu truy cập nên request cấp quyền Kết dạng sóng thực tế testcase với kết dạng sóng mơ (a) Kết dạng sóng testcase phân xử mức ưu tiên cố định (b) Kết dạng sóng testcase phân xử Round Robin Hình 10 Kết dạng sóng thực tế testcase Hình 11 mơ tả dạng sóng testcase hai phân xử trạng thái ngõ vào req = 1100 ứng với req[3] req[2] có yêu cầu truy cập Dạng sóng ngõ hình 11 (a) grant[7:4] = 0100 ứng với req[2] cấp quyền phân xử mức ưu tiên cố định Đối với dạng sóng ngõ phân xử Round Robin (grant[3:0]), req[2] có mức ưu tiên cao req[3] hai chu kỳ mà req[0] req[1] giữ mức ưu tiên cao 96 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 Nên req[0] req[1] khơng có u cầu truy cập req[2] cấp quyền Điều giải thích cho dạng sóng tích cực mức cao tín hiệu grant[2] kéo dài ba chu kỳ mơ tả hình 11 (b) Trong đó, dạng sóng tích cực mức cao tín hiệu grant[3] kéo dài chu kỳ thời điểm req[3] mang mức ưu tiên cao Kết dạng sóng thực tế testcase hai phân xử với mức ưu tiên thiết đặt trước với kết mô (a) Kết dạng sóng testcase phân xử mức ưu tiên cố định (b) Kết dạng sóng testcase phân xử Round Robin Hình 11 Kết dạng sóng thực tế testcase Hình 11 mơ tả dạng sóng testcase hai phân xử trạng thái ngõ vào req = 1100 ứng với req[3] req[2] có yêu cầu truy cập Dạng sóng ngõ hình 11 (a) grant[7:4] = 0100 ứng với req[2] cấp quyền phân xử mức ưu tiên cố định Đối với dạng sóng ngõ phân xử Round Robin (grant[3:0]), req[2] có mức ưu tiên cao req[3] hai chu kỳ mà req[0] req[1] giữ mức ưu tiên cao Nên req[0] req[1] khơng có u cầu truy cập req[2] cấp quyền Điều giải thích cho dạng sóng tích cực mức cao tín hiệu grant[2] kéo dài ba chu 97 http://doi.org/10.37550/tdmu.VJS/2022.05.341 kỳ mô tả hình 11 (b) Trong đó, dạng sóng tích cực mức cao tín hiệu grant[3] kéo dài chu kỳ thời điểm req[3] mang mức ưu tiên cao Kết dạng sóng thực tế testcase hai phân xử với mức ưu tiên thiết đặt trước với kết mơ (a) Kết dạng sóng testcase phân xử mức ưu tiên cố định (b) Kết dạng sóng testcase phân xử Round Robin Hình 12 Kết dạng sóng thực tế testcase Hình 12 mơ tả dạng sóng testcase hai phân xử trạng thái ngõ vào req = 1110 ứng với req[3], req[2] req[1] có yêu cầu truy cập Dạng sóng ngõ hình 12 (a) grant[7:4] = 0010 ứng với req[1] cấp quyền phân xử mức ưu tiên cố định Đối với dạng sóng ngõ hình 12 (b) phân xử Round Robin, req[1] có mức ưu tiên cao req[2] req[3] chu kỳ req[0] giữ mức ưu tiên cao nên req[0] u cầu truy cập req[1] cấp quyền, Điều giải thích cho dạng sóng tích cực mức cao tín hiệu grant[1] kéo dài hai chu kỳ Trong đó, dạng sóng tích cực mức cao tín hiệu grant[2] grant[3] kéo dài chu kỳ thời điểm mà mức ưu tiên cao xoay vòng tương ứng cho 98 Tạp chí Khoa học Đại học Thủ Dầu Một Số 5(60)-2022 req[2] req[3] Kết dạng sóng thực tế testcase hai phân xử với mức ưu tiên thiết đặt trước với kết mô (a) Kết dạng sóng testcase phân xử mức ưu tiên cố định (b) Kết dạng sóng testcase phân xử Round Robin Hình 13 Kết dạng sóng thực tế testcase Hình 13 mơ tả dạng sóng testcase hai phân xử trạng thái ngõ vào req = 1111 ứng với bốn request có yêu cầu truy cập Dạng sóng ngõ hình 13 (a) grant[7:4] = 0001 ứng với req[0] cấp quyền phân xử mức ưu tiên cố định Đối với dạng sóng ngõ phân xử Round Robin (grant[3:0]) mơ tả hình 13 (b), bốn tín hiệu request đồng thời có u cầu truy cập thời điểm nên bốn request cấp quyền chu kỳ mà request mang mức ưu tiên cao Điều lý giải cho việc chu kỳ dạng sóng tích cực tín hiệu request lập lại quyền ưu tiên cao xoay vịng lại cho Kết dạng sóng thực tế testcase hai phân xử với mức phân xử thiết đặt trước với kết mô phần mềm 99 http://doi.org/10.37550/tdmu.VJS/2022.05.341 Kết luận Trong báo này, thiết kế hai phân xử mức ưu tiên cố định phân xử Round Robin với bốn Master Slave sử dụng ngôn ngữ miêu tả phần cứng Verilog Đồng thời, xây dựng testcase để kiểm tra kết mô hai phân xử mặt thuật toán tốc độ phân xử Kết cho thấy tốc độ phân xử phân xử mức ưu tiên cố định phụ thuộc hoàn toàn xung clock, ngõ vào thay đổi nhanh xung clock bị bỏ qua Tốc độ phân xử phân xử Round Robin không phụ thuộc vào xung clock mà phụ thuộc vào chu kỳ xoay mức ưu tiên tốc độ thay đổi request Bên cạnh đó, kết thực phần cứng Spartan 3E cho kết tương đồng với kết mô Sự cân việc cấp phát quyền truy cập phân xử Round Robin không thực cao, nguồn request chưa grant bị bỏ qua request tích cực khoảng thời gian không cấp quyền ưu tiên cao Hệ thống sử dụng tần số xung clock nội phần cứng 50 MHz, chưa thực đa dạng nguồn xung với tần số khác Thông qua kết đạt mơ phần cứng thực tế, nhóm tác giả xin đề xuất vài hướng phát triển cho đề tài như: mở rộng số lượng Master Slave để sử dụng hệ thống thực tế, thay đổi tần số để sử dụng hệ thống hoạt động tần số cao, tích hợp phân xử vào hệ thống với ngõ vào chuẩn truyền thông I2C, UART SPI TÀI LIỆU THAM KHẢO [1] Anh, N H., & Trí, D M (2021) Thiết Kế Thi Cơng Bộ Truyền Nhận Theo Giao Thức I2C Trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh [2] Deb, R., & Rajrajan, D (2013) Speed efficient implementation of round robin arbiter design using VERILOG International Journal of Enhanced Research in Science Technology & Engineering, 2(9), 1-9 [3] Gupta, J., & Goel, N (2015) Efficient Bus Arbitration Protocol for SoC Design 396-400 DOI:10.1109/ICSTM.2015.7225449 [4] Hu, C., Chen, X., Li, W., & Liu, B (2004) Fixed-Length Switching vs Variable-Length Switching in Input-Queued IP Switches In 2004 IEEE International Workshop on IP Operations and Management, pp 117-122 DOI:10.1109/IPOM.2004.1547602 [5] Ngọc, P T., & Bảo, H N (2020) Thiết Kế Bộ Giao Tiếp Multichannel UART Sử Dụng FPGA Trường Đại học Sư phạm kỹ thuật Thành phố Hồ Chí Minh [6] Quân, N (2019) [Arbiter] Bài - Phân xử theo mức ưu tiên cố định (VLSI Technology) Retrieved May 21, 2022, from https://nguyenquanicd.blogspot.com/2019/08/arbiter-bai-1phan-xu-theo-muc-uu-tien.html [7] Quân, N (2019) [Arbiter] Bài - Bộ phân xử Round Robin đơn giản (VLSI Technology) Retrieved May 21, 2022, from https://nguyenquanicd.blogspot.com/2019/08/arbiter-bai-3bo-phan-xu-round-robin-on.html [8] Shin, E S., III, V J., & Riley, G F (2002) Round-robin Arbiter Design and Generation In 15th International Symposium on System Synthesis, pp 243-248 [9] Weber, M (2001) Arbiters: Design Ideas and Coding Styles Boston: Synopsys Users Group (SNUG) [10] Xilinx (2011) Spartan-3E FPGA Starter Kit Board User Guide Xilinx, Inc 100 ... 2004) 2.2 Bộ phân xử Round Robin Bộ phân xử Round Robin phân xử thiết kế theo hướng cân mức ưu tiên truy cập Ban đầu, truy cập thiết lập mức ưu tiên từ cao đến thấp phân xử mức ưu tiên cố định Nhưng... vào ngõ tương tự phân phân xử Round Robin xử mức ưu tiên cố định Điểm khác biệt hai phân xử nằm cách phân phát quyền ưu tiên Thay giữ cố định thứ tự mức ưu tiên phân xử Round Robin xoay vòng request... kiến trúc phân xử ưu tiên cố định Hình Sơ đồ kiến trúc phân xử mức ưu tiên cố định 4.2 Thiết kế phân xử Round Robin Bộ phân xử Round Robin có đường tín chân tín hiệu ngõ vào ngõ hiệu ngõ vào ngõ

Ngày đăng: 06/12/2022, 20:03

Xem thêm:

HÌNH ẢNH LIÊN QUAN

Bảng 1. Một số tính năng của Xilinx Spartan 3E (Xilinx, 2011) - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Bảng 1. Một số tính năng của Xilinx Spartan 3E (Xilinx, 2011) (Trang 5)
Cấu hình PROM Flash Platform Xilinx 4 Mbit DDR SDRAM  64 Mbyte (512 Mbit), giao diện dữ liệu x16  Probe Landing Pads NOR Flash ROM  Intel StrataFlash 16 Mbyte (128 Mbit)  - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
u hình PROM Flash Platform Xilinx 4 Mbit DDR SDRAM 64 Mbyte (512 Mbit), giao diện dữ liệu x16 Probe Landing Pads NOR Flash ROM Intel StrataFlash 16 Mbyte (128 Mbit) (Trang 5)
Hình 2. Sơ đồ kiến trúc bộ phân xử mức ưu tiên cố định  4.2. Thiết kế bộ phân xử Round Robin  - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 2. Sơ đồ kiến trúc bộ phân xử mức ưu tiên cố định 4.2. Thiết kế bộ phân xử Round Robin (Trang 6)
Hình 3. Sơ đồ khối tổng quát bộ phân - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 3. Sơ đồ khối tổng quát bộ phân (Trang 6)
Hình 4. Sơ đồ kiến trúc bộ phân xử Round Robin - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 4. Sơ đồ kiến trúc bộ phân xử Round Robin (Trang 7)
Hình 5. Kết quả mô phỏng testcase 1 - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 5. Kết quả mô phỏng testcase 1 (Trang 8)
Hình 5 phía trên mơ tả kết quả mơ phỏng testcase 1 của hệ thống. Trong khoảng thời gian 0 ns &lt; t &lt; 15 ns, giá trị chân tín hiệu rst = 1 nên thứ tự mức ưu tiên ở bộ phân  xử Round Robin được đưa về mặc định là req[0] → req[1] → req[2] → req[3] - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 5 phía trên mơ tả kết quả mơ phỏng testcase 1 của hệ thống. Trong khoảng thời gian 0 ns &lt; t &lt; 15 ns, giá trị chân tín hiệu rst = 1 nên thứ tự mức ưu tiên ở bộ phân xử Round Robin được đưa về mặc định là req[0] → req[1] → req[2] → req[3] (Trang 8)
Hình 6 phía trên mơ tả kết quả mơ phỏng testcase 2 của hệ thống. Trong khoảng thời gian 0 ns &lt; t &lt; 15 ns, giá trị chân tín hiệu rst = 1 nên thứ tự mức ưu tiên ở bộ phân xử Round  Robin được đưa về mặc định là req[0] → req[1] → req[2] → req[3] - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 6 phía trên mơ tả kết quả mơ phỏng testcase 2 của hệ thống. Trong khoảng thời gian 0 ns &lt; t &lt; 15 ns, giá trị chân tín hiệu rst = 1 nên thứ tự mức ưu tiên ở bộ phân xử Round Robin được đưa về mặc định là req[0] → req[1] → req[2] → req[3] (Trang 9)
Hình 8. Kết quả mơ phỏng testcase 4 - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 8. Kết quả mơ phỏng testcase 4 (Trang 10)
Hình 8 mơ tả kết quả mô phỏng testcase 4 của hệ thống. Trong khoảng thời gian từ ns đến 15 ns thì giá trị chân tín hiệu rst = 1, thứ tự mức ưu tiên ở bộ phân xử Round Robin  được đưa về mặc định là req[0] → req[1] → req[2] → req[3], lúc này req[0] sẽ có m - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 8 mơ tả kết quả mô phỏng testcase 4 của hệ thống. Trong khoảng thời gian từ ns đến 15 ns thì giá trị chân tín hiệu rst = 1, thứ tự mức ưu tiên ở bộ phân xử Round Robin được đưa về mặc định là req[0] → req[1] → req[2] → req[3], lúc này req[0] sẽ có m (Trang 10)
Hình 10 mơ tả dạng sóng của testcase 1 của hai bộ phân xử khi trạng thái ngõ vào là req = 1000 ứng với req[3] đang có yêu cầu truy cập - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 10 mơ tả dạng sóng của testcase 1 của hai bộ phân xử khi trạng thái ngõ vào là req = 1000 ứng với req[3] đang có yêu cầu truy cập (Trang 11)
kỳ được mơ tả trong hình 11 (b). Trong khi đó, dạng sóng tích cực mức cao của tín hiệu grant[3] chỉ kéo dài trong một chu kỳ tại thời điểm req[3] mang mức ưu tiên cao nhất - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
k ỳ được mơ tả trong hình 11 (b). Trong khi đó, dạng sóng tích cực mức cao của tín hiệu grant[3] chỉ kéo dài trong một chu kỳ tại thời điểm req[3] mang mức ưu tiên cao nhất (Trang 13)
Hình 13 mơ tả dạng sóng của testcase 4 của hai bộ phân xử khi trạng thái ngõ vào là req = 1111 ứng với cả bốn request đang có u cầu truy cập - Đánh giá bộ phân xử mức ưu tiên cố định và Round Robin trên phần cứng FPGA Spartan 3E
Hình 13 mơ tả dạng sóng của testcase 4 của hai bộ phân xử khi trạng thái ngõ vào là req = 1111 ứng với cả bốn request đang có u cầu truy cập (Trang 14)
w