ISSN 1859 1272 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website https //jte hcmute edu vn/ Email jte@hcmute edu vn JTE, Issue 71B, August 2022 94[.]
JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 A Comparison of the Wishbone and Amba Axi Bus Architecture Nguyen Quang Anh Tuan*, Nguyen Van Tuan, Vo Phan Man Dat, Van Ba Huy, Truong Quang Phuc, Nguyen Ngo Lam Ho Chi Minh City University of Technology and Education, Vietnam * Corresponding author Email: 18161299@student.hcmute.edu.vn ARTICLE INFO Received: 4/7/2022 Revised: 19/7/2022 Accepted: 19/8/2022 Published: 30/8/2022 KEYWORDS System-on-Chip (SoC) IP Core WISHBONE Bus AMBA AXI bus Bus Architecture ABSTRACT In the current trend of The Fourth Industrial Revolution, System-on-chip (SoC) design plays an important role in embedded systems and is a leading field of many industrial countries around the world The rapid development of semiconductor technology makes it possible to integrate more and more components on a chip Bus protocols were developed and used as a common interface for efficient interconnection of on-chip components, reducing complexity, energy consumption, and manufacturing costs In this paper, we compare two popular bus architectures WISHBONE and AMBA AXI (Advanced Microcontroller Bus Architecture Advanced eXtensible Interface) based on the point-to-point connection system model by performing simulation and comparing their performance based on resource parameters, power consumption of each system Specifically, the Point-to-Point connection model of both buses will use a MASTER interface which is a DMA (Direct Memory Access) connected to a SLAVE interface which is a RAM (Random Access Memory) These interfaces are IP cores that can be used and reused for different applications and purposes The results are verified through simulation with the software Xilinx Vivado 2019.1 So Sánh Kiến Trúc Bus Wishbone Và Amba Axi Nguyễn Quang Anh Tuấn*, Nguyễn Văn Tuấn, Võ Phan Mẫn Đạt, Văn Bá Huy, Trương Quang Phúc, Nguyễn Ngô Lâm Trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh, Việt Nam * Tác giả liên hệ Email: 18161299@student.hcmute.edu.vn THÔNG TIN BÀI BÁO Ngày nhận bài: 4/7/2022 Ngày hoàn thiện: 19/7/2022 Ngày chấp nhận đăng: 19/8/2022 Ngày đăng: 30/8/2022 TỪ KHÓA Hệ thống chip (SoC) Lõi IP Bus WISHBONE Bus AMBA AXI Kiến trúc Bus TÓM TẮT Trong xu hướng Cách mạng Công nghiệp 4.0, thiết kế Hệ thống chip (SoC) đóng vai trị quan trọng hệ thống nhúng lĩnh vực mũi nhọn nhiều nước cơng nghiệp giới Sự phát triển nhanh chóng lĩnh vực công nghệ bán dẫn giúp tích hợp ngày nhiều thành phần chip Các giao thức bus phát triển sử dụng giao diện chung cho việc kết nối hiệu thành phần chip, giúp giảm mức độ phức tạp, lượng tiêu thụ chi phí sản xuất Trong báo này, nhóm tác giả so sánh hai loại kiến trúc bus phổ biến bus WISHBONE AMBA AXI (Advanced Microcontroller Bus Architecture Advanced eXtensible Interface) dựa mơ hình hệ thống kết nối điểm - điểm cách thực mô so sánh hiệu chúng dựa thông số tài nguyên, công suất tiêu thụ hệ thống Cụ thể, mơ hình kết nối điểm – điểm hai bus sử dụng giao diện MASTER DMA (Direct Memory Access) kết nối với giao diện SLAVE nhớ RAM (Random Access Memory) Các giao diện lõi IP sử dụng tái sử dụng cho ứng dụng mục đích khác Kết thực nghiệm thông qua mô với phần mềm Xilinx Vivado 2019.1 Doi: https://doi.org/10.54644/jte.71B.2022.1234 This is an open access article distributed under the terms and conditions of the Creative Commons Attribution-NonCommercial 4.0 International License which permits unrestricted use, distribution, and reproduction in any medium for non-commercial purpose, provided the original work is properly cited Copyright © JTE JTE, Issue 71B, August 2022 94 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE ISSN: 1859-1272 Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn Giới thiệu Thiết kế Hệ thống chip xu hướng phát triển mạnh mẽ cách mạng cơng nghiệp 4.0 tồn giới, mà nhà sản xuất tích hợp ngày nhiều thành phần hệ thống điện tử vi xử lý (CPU), nhớ (ROM, RAM), hệ thống xử lý tín hiệu số (DSP) chip Nhờ đó, SoC trở thành vi mạch tích hợp (IC) thực hầu hết chức hệ thống điện tử hồn chỉnh kích thước nhỏ gọn hơn, hiệu suất tính ổn định cao [1, 2] Bus hệ thống có vai trị việc giao tiếp, trung chuyển liệu thành phần SoC ảnh hưởng trực tiếp đến hiệu suất hệ thống Một số kiến trúc bus hệ thống phổ biến như: AMBA (Advanced Microcontroller Bus Architecture) AHB (Advanced HighPerformance Bus) APB (Advanced Peripheral Bus) hay AXI (Advanced Extensible Interface) bus phát triển ARM, CoreConnect IBM, Open Core Protocol (OCP) OCP International Partnership, WISHBONE OpenCores [3] Trong số kiến trúc bus hệ thống kể trên, bus WISHBONE AMBA AXI sử dụng phổ biến rộng rãi thiết kế SoC Bus WISHBONE sử dụng phổ biến SoC giải pháp thiết kế đơn giản, linh hoạt, hỗ trợ người dùng cách chuẩn hóa giao diện lõi IP (Intellectual Property) sơ đồ kết nối tiêu chuẩn với kết nối thay đổi cấu trúc liên kết điểm - điểm (Point-to-Point), luồng liệu (Data Flow), bus chia sẻ (Shared Bus) chuyển mạch chéo (Crossbar Switch), tùy vào nhu cầu loại SoC thích hợp, giúp người dùng tiết kiệm đáng kể chi phí thời gian sản xuất [4] AMBA AXI sử dụng phổ biến vi điều khiển ARM, hỗ trợ hệ thống hiệu cao, tần số cao, phù hợp với thiết kế có độ trễ thấp băng thông cao mà không yêu cầu sử dụng cầu nối phức tạp, đồng thời đáp ứng yêu cầu giao tiếp nhiều thành phần chip tương thích với giao thức AHB APB họ AMBA Trong viết [5, 6], tác giả giới thiệu tổng quan giao thức bus phổ biến sử dụng SoC AMBA (AXI, AHB, APB) ARM, WISHBONE OpenCores, CoreConnect IBM, mơ tả tóm tắt đặc điểm đưa so sánh ưu nhược điểm loại để lựa chọn phù hợp cho ứng dụng khác Bên cạnh đó, tác giả thực việc mô xác minh giao diện kết nối điểm – điểm bus WISHBONE Trong viết [7], tác giả thực thêm mô đánh giá hai hệ thống kết nối theo kiểu điểm – điểm bus chia sẻ, thống kê thông số tài nguyên sử dụng FPGA (Field Programmable Gate Array) Virtex-II Pro Spartan3e Trong viết [8], tác giả giới thiệu tổng quan đặc điểm, kiến trúc hoạt động bus AMBA AXI, mô tả thiết kế triển khai mơ hình kết nối AXI sử dụng ngôn ngữ mô tả phần cứng Verilog phần cứng Xilinx Spartan 3E FPGA mô thực với phần mềm Modelsim RTL Simulation Trong [9], tác giả mô tả đặc điểm quan trọng kết nối giao diện AXI Ở viết [10] tác giả tính tốn độ trễ hoạt động đọc ghi cách phát triển mã hóa RTL (Register Transfer Level) Verilog tổng hợp với cơng cụ Synopsys tiến trình 90nm Mặc dù có nhiều nghiên cứu đánh giá bus WISHBONE AMBA AXI, nhiên chưa có viết so sánh kiến trúc, kết nối hay hiệu chúng Do đó, báo chúng tơi đề xuất sử dụng mơ hình kết nối điểm - điểm hai loại kiến trúc bus WISHBONE AMBA AXI để thực so sánh đánh giá hiệu hệ thống dựa thông số tài ngun, cơng suất tiêu thụ Q trình mơ đánh giá thông qua sử dụng mô phần mềm Xilinx Vivado 2019.1 Kết sau thực nghiệm cho thấy hệ thống sử dụng bus WISHBONE sử dụng tài ngun cơng suất tiêu thụ so với bus AMBA AXI Bên cạnh đó, hệ thống sử dụng bus AMBA AXI thực trình xác nhận thông tin truyền nhận liệu yêu cầu nhiều tín hiệu để xác nhận AMBA AXI cho thời gian hiệu suất truyền nhận liệu tốt trình đọc/ ghi diễn kênh độc lập nhau, liệu ghi thực trình đọc miễn không diễn địa Phần lại báo tổ chức sau Phần giới thiệu hai loại bus WISHBONE AMBA AXI, trình bày đặc điểm, mơ hình kết nối hai kiến trúc bus Phần trình bày kết thu từ nghiên cứu, giải thích hoạt động hai mơ hình kết nối, so sánh nhận xét thông qua JTE, Issue 71B, August 2022 95 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 kết mô thông số tài nguyên sử dụng hai hệ thống Cuối cùng, phần phần kết luận rút từ kết thu trình thực đề tài đề xuất hướng nghiên cứu, phát triển ứng dụng từ kết nghiên cứu Bus WISHBONE WISHBONE kiến trúc bus hệ thống thường sử dụng thiết kế SoC Đây phương pháp thiết kế đơn giản, linh hoạt giúp cho việc kết nối lõi IP SoC trở nên hiệu dễ dàng Các lõi IP phát triển nhà sản xuất khác với chức cách kết nối khác tùy vào nhu cầu người dùng Mục đích bus WISHBONE hỗ trợ người dùng chuẩn hóa giao diện lõi IP giao diện chung, giúp cho việc kết nối lõi IP trở nên dễ dàng tái sử dụng thiết kế hệ thống khác [11, 12] 2.1 Kiến trúc hoạt động bus WISHBONE WISHBONE sử dụng kiến trúc MASTER/SLAVE Kết nối WISHBONE cho phép người dùng thay đổi cách mà lõi IP kết nối với giúp cho việc triển khai phần cứng có khả tương thích với nhiều loại cấu trúc liên kết [12] Điều quan trọng khơng có cách để thực cho SoC Có bốn loại kết nối WISHBONE mơ tả Hình 2.1 bên dưới, bao gồm: điểm - điểm (Point-to-Point), luồng liệu (Data Flow), bus chia sẻ (Shared Bus) chuyển mạch chéo (Crossbar Switch) (a) (b) (c) (d) Hình 2.1 Kết nối (a): Điểm – điểm; (b): Luồng liệu; (c): Bus chia sẻ; (d): Chuyển mạch chéo Hình 2.1a mơ tả cho kiểu kết nối điểm - điểm Kết nối điểm - điểm hỗ trợ kết nối trực tiếp hai bên tham gia truyền liệu, cho phép kết nối trực tiếp từ giao diện MASTER đến giao diện SLAVE Hình 2.1b mơ tả cho kiểu kết nối luồng liệu Kết nối luồng liệu sử dụng liệu xử lý theo cách từ lõi đến lõi Mỗi lõi IP kiến trúc luồng liệu có giao diện MASTER SLAVE Hình 2.1c mơ tả cho kiểu kết nối bus chia sẻ Kết nối bus chia sẻ hữu ích để kết nối hai nhiều MASTER với nhiều SLAVE Một phân xử xác định thời điểm cách thức cho MASTER truy cập vào tài ngun chia sẻ Hình 2.1d mơ tả cho kiểu kết nối chuyển mạch chéo Kết nối chuyển mạch chéo sử dụng để kết nối hai nhiều MASTER với nhiều SLAVE Khác với kết nối bus chia sẻ, kết nối chuyển mạch cho phép có nhiều MASTER để sử dụng kết nối miễn hai MASTER không truy cập SLAVE lúc JTE, Issue 71B, August 2022 96 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 2.2 Mơ hình hệ thống kết nối điểm – điểm bus WISHBONE Hình 2.2 Giao diện kết nối điểm – điểm WISHBONE INTERCON Hình 2.2 mơ tả mơ hình kết nối điểm - điểm WISHBONE (ICN0001a) Nó bao gồm giao diện MASTER (DMA0001a), giao diện SLAVE (MEM0002a) khối SYSCON (SYC0001a) Khối SYSCON cung cấp xung nhịp Clock tín hiệu Reset cho hoạt động hệ thống Khối MASTER khởi tạo chu kỳ gửi yêu cầu truyền nhận liệu với SLAVE Khối SLAVE tiếp nhận thông tin, yêu cầu từ MASTER thực yêu cầu WISHBONE thực thay đổi liệu cạnh lên xung Clock tất tín hiệu WISHBONE tác động tích cực mức cao Điều nhằm đơn giản hóa việc tích hợp ngoại vi WISHBONE vào thiết kế [4, 7] Mô tả chân tín hiệu sử dụng giao diện kết nối bus WISHBONE thể Bảng Bảng Mơ tả tín hiệu mơ hình sử dụng bus WISHBONE [12] Tên tín hiệu Độ rộng (bit) CLK Xung CLK đồng cho hoạt động hai giao diện RST Khởi động lại hệ thống CYC Yêu cầu chu kỳ bus STB Cho biết chu kỳ đọc/ghi hợp lệ WE Cho phép chế độ đọc (WE = 0) ghi (WE = 1) ADR 32 Đường địa truy xuất DAT_I/O 32 Đường liệu vào/ra ACK Tín hiệu bắt tay SLAVE phản hồi lại với tín hiệu STB CYC từ MASTER, cho biết liệu đọc/ghi cạnh lên xung CLK Mô tả chức Bus AMBA AXI AXI giao thức bus giao tiếp AMBA hãng ARM phát triển sử dụng phổ biến vi điều khiển ARM Phiên AXI xuất lần đầu AMBA 3.0 mắt vào năm 2003 Đến 2010, AMBA 4.0 mắt, có phiên thứ AXI AXI4 [13] JTE, Issue 71B, August 2022 97 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 Giao thức AXI phù hợp với thiết kế băng thông cao độ trễ thấp, cung cấp hoạt động tần số cao mà không cần sử dụng cầu nối phức tạp, bên cạnh cịn cung cấp tính linh hoạt việc triển khai kiến trúc kết nối có khả tương thích ngược với giao diện AHB APB [13, 14] 3.1 Kiến trúc hoạt động bus AMBA AXI AMBA AXI hoạt động dựa năm loại kênh độc lập mơ tả cụ thể Hình 3.1 bên Mỗi kênh có vai trị, nhiệm vụ khác việc hồn thành nhiệm vụ kênh khơng phụ thuộc vào kênh khác, chúng liên quan đến [13] Năm kênh gồm: Kênh địa đọc (Read Address): truyền thông tin địa thông tin điều khiển trình đọc từ MASTER đến SLAVE Kênh liệu đọc (Read Data): truyền liệu đọc thông tin phản hồi trình đọc từ SLAVE đến MASTER Kênh địa ghi (Write Address): truyền thông tin địa thơng tin điều khiển q trình ghi từ MASTER đến SLAVE Kênh liệu ghi (Write Data): truyền liệu ghi từ MASTER đến SLAVE Kênh đáp ứng ghi (Write Response): truyền thông tin phản hồi giao dịch ghi từ SLAVE đến MASTER Hình 3.1 Các kênh giao tiếp AXI MASTER SLAVE AXI hoạt động dựa theo chế truyền liên tục (burst) Đặc kiểm chế truyền AXI phía MASTER khơng phát địa trung gian đoạn trình truyền mà phát địa byte giao dịch, địa lần truyền liệu Phía SLAVE dựa thơng tin điều khiển để xác định địa đoạn từ địa Điều giúp tăng hiệu suất hệ thống bus làm mạch logic xử lý giao tiếp AXI phía SLAVE phức tạp phải tự tính tốn đoạn địa [13, 14] 3.2 Mơ hình hệ thống kết nối điểm – điểm bus AMBA AXI Hình 3.2 Mơ hình kết nối điểm – điểm bus AMBA AXI JTE, Issue 71B, August 2022 98 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 Hình 3.2 mơ tả hệ thống kết nối điểm – điểm sử dụng kiến trúc bus AMBA AXI, bao gồm giao diện AXI MASTER, giao diện AXI SLAVE SYSTEM SIGNAL Giao diện AXI MASTER mơ lại hành vi MASTER thực khởi tạo tín hiệu để kết nối, yêu cầu chu kỳ truyền nhận liệu với SLAVE, thực đọc/ghi liệu Giao diện AXI SLAVE khối AXI RAM, có chức lưu liệu ghi gửi từ MASTER, tiếp nhận phản hồi lại tín hiệu q trình kết nối truyền nhận liệu với MASTER SYSTEM SIGNAL khối cấp xung Clock từ hệ thống tạo tín hiệu Reset cho hoạt động giao diện AXI Mơ tả chân tín hiệu sử dụng giao diện kết nối bus AMBA AXI thể Bảng Bảng Mô tả tín hiệu bus AMBA AXI [14 ,15] Tên tín hiệu Độ rộng (bit) aclk Xung CLK đồng cho hoạt động toàn hệ thống aresetn Tín hiệu RESET tích cực mức THẤP khởi tạo lại cho toàn hệ thống axi_awaddr 16 Cho biết địa transfer burst Chỉ kênh báo hiệu địa ghi hợp lệ thông tin điều khiển Chỉ SLAVE sẵn sàng để chấp nhận địa tín hiệu điều khiển liên quan axi_wvalid Cho biết liệu ghi hợp lệ strobes có sẵn axi_wdata 32 Dữ liệu ghi axi_wlast Cho biết transfer cuối của burst ghi axi_wready Cho biết SLAVE sẵn sàng nhận liệu ghi axi_bvalid Cho biết kênh thông báo phản hồi ghi hợp lệ axi_bready Cho biết MASTER sẵn sàng nhận phản hồi ghi axi_araddr 16 Kênh địa đọc đưa địa transfer Cho biết kênh thông báo địa đọc hợp lệ thông tin điều khiển Cho biết SLAVE sẵn sàng nhận địa tín hiệu điều khiển liên quan axi_rvalid Cho biết kênh thông báo liệu đọc hợp lệ axi_rdata 32 Dữ liệu đọc axi_rlast Cho biết transfer cuối burst đọc axi_rready Cho biết MASTER sẵn sàng nhận liệu đọc phản hồi thông tin axi_awvalid axi_awready axi_arvalid axi_arready Mô tả chức Kết quả mô đánh giá 4.1 Kết mơ Cấu hình mơ cho hệ thống sử dụng bus WISHBONE AMBA AXI: Giá trị liệu truyền: 32’h01234567 Độ dài liệu: 32-bit Tần số hoạt động: 100MHz JTE, Issue 71B, August 2022 99 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE ISSN: 1859-1272 Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn Mô thực phần mềm Xilinx Vivado 2019.1 với máy tính sử dụng hệ điều hành Windows 11, CPU AMD Ryzen 3500U RAM 8GB Thời gian để phần mềm thực trình tổng hợp thiết kế hệ thống bus WISHBONE 22 giây, với hệ thống bus AMBA AXI 65 giây Bộ nhớ RAM sử dụng trình tổng hợp hệ thống bus WISHBONE 1371 MB hệ thống bus AMBA AXI 1037 MB [15, 19] Thiết kế xây dựng để mơ hoạt động đọc/ghi hai mơ hình kết nối điểm – điểm sử dụng bus WISHBONE AMBA AXI Kết dạng sóng mơ hoạt động hệ thống bus WISHBONE hệ thống bus AMBA AXI thể Hình 3.1 3.2 Hình 3.1 Hoạt động đọc/ghi bus WISHBONE Bus WISHBONE thực trình truyền liệu có tín hiệu cho biết chu kỳ hợp lệ [ESTB] = tín hiệu phản hồi từ SLAVE xác nhận yêu cầu từ MASTER [EACK] = Tín hiệu [EWE] = cho phép q trình ghi, [EWE] = cho phép trình đọc Thời gian thực trình đọc/ghi liệu 32’h01234567 bus WISHBONE chu kỳ xung Clock cho trình Thời gian để liệu 32’h01234567 sau ghi xong bắt đầu đọc chu kỳ xung Clock Bus WISHBONE sử dụng chung kênh truyền cho hoạt động đọc ghi nên sau hồn tất q trình đọc tiếp nhận trình ghi liệu Do đó, thời gian sau liệu 32’h01234567 ghi xong lúc liệu bắt đầu ghi cần thời gian 10 chu kỳ xung Clock (1 chu kỳ chờ sau ghi xong, chu kỳ trình đọc chu kỳ chờ sau đọc xong) Hình 3.2 Hoạt động đọc/ghi bus AMBA AXI JTE, Issue 71B, August 2022 100 JOURNAL OF TECHNOLOGY EDUCATION SCIENCE Ho Chi Minh City University of Technology and Education Website: https://jte.hcmute.edu.vn/ Email: jte@hcmute.edu.vn ISSN: 1859-1272 Giao thức AXI quy định trình ghi phải trải qua giai đoạn gồm đưa địa chỉ, ghi liệu phản hồi ghi Cặp tín hiệu awvalid-awready thơng báo địa ghi hợp lệ Cặp tín hiệu wvalid-wready cho biết có liệu hợp lệ truyền tích cực kết thúc q trình ghi Tín hiệu wlast tích cực cho biết transfer cuối q trình ghi Tín hiệu bvalid phía SLAVE bật để báo hiệu liệu ghi thành công Thời gian thực trình đọc/ghi liệu 32’h01234567 bus AMBA AXI chu kỳ xung Clock cho trình Thời gian để liệu 32’h01234567 sau ghi xong bắt đầu đọc chu kỳ xung Clock Bus AMBA AXI sử dụng kênh truyền độc lập cho hoạt động đọc ghi nên q trình ghi liệu tiếp nhận lúc trình đọc diễn miễn không địa Do đó, thời gian sau liệu 32’h01234567 ghi xong lúc liệu bắt đầu ghi cần thời gian chu kỳ xung Clock 4.2 Tài nguyên sử dụng hệ thống Thông số tài nguyên công suất tiêu thụ hệ thống bus WISHBONE AMBA AXI sử dụng cho việc tổng hợp phần cứng Zybo Zynq-7000 [20], mô sử dụng phần mềm Xilinx Vivado 2019.1, với tần số hoạt động 100MHz điện áp 3.3V, mô tả Bảng 3, Bảng Bảng Bảng Thông số tài nguyên hệ thống sử dụng bus WISHBONE AMBA AXI Có sẵn Sử dụng WISHBONE AMBA AXI LUT (17600) FF (35200) 39 (0.22%) 85 (0.48%) 71 (0.20%) 131 (0.37%) BRAM (60) X 16 (26.7%) IO (100) 69 (69.0%) 98 (98.0%) Bảng Công suất tiêu thụ với hệ thống sử dụng bus WISHBONE Thành phần Signals Clock Logic Dynamic IO Tổng Static Tổng Công suất (W) 0.001 0.001