Chương 1: Tổng quan Trong chương này tôi trình bày các nội dung tổng quan của bài báo cáo bao gồm tình hình nghiên cứu liên quan về đề tài, mục tiêu, lý do chọn đề tài, các giới hạn trong nghiên cứu đề tài và bố cục bài báo cáo. 2 Chương 2: Cơ sở lý thuyết Trong chương này tôi trình bày sơ lược về kiến trúc SoC và AMBA cùng các lý thuyết cơ bản và vai trò của 2 giao thức AHB, APB. Chương 3: Thiết kế hệ thống Trong chương này tôi trình bày quá trình thiết kế các khối cấu trúc và chi tiết của bộ chuyển đổi giao thức AHB Lite-APB Bus. Chương 4: Mô phỏng, kiểm tra và đánh giá kết quả Trong chương 4 tôi nêu ra các yếu tố, tiêu chí đánh giá quan trọng của đề tài.
Tiếp đó thực hiện mô phỏng, kiểm tra và so sánh kết quả đạt được với các tiêu chí đã nêu cũng như phân tích đánh giá hiệu năng của thiết kế. Chương 5: Kết luận và hướng phát triển Trong chương cuối cùng tôi trình bày tổng hợp và nhận xét các giá trị đạt được từ thiết kế so với mục tiêu đề ra ở mục 1. Ngoài ra đưa ra phương hướng phát triển đề tài sau khi đã nới rộng được các giới hạn về thời gian và công nghệ. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ KIẾN TRÚC SOC VÀ BỘ GIAO THỨC AMBA AMBA (Advanced Microcontroller Bus Architecture) ra mắt vào năm 1996 và được thiết kế bởi công ty sản xuất chip rất nổi tiếng - ARM (Advanced RISH Machines).
Hiện tại AMBA đã và đang là một kiến trúc bus được sử dụng rộng rãi trong SoC. AMBA cung cấp các chuẩn bus giúp các thành phần trên SoC được kết nối và có thể dễ dàng giao tiếp với nhau. Điều này góp phần tăng hiệu năng và tiết kiệm chi phí hệ thống một cách rõ rệt.1 bên dưới minh hoạ các phiên bản và các chuẩn giao thức trong AMBA.1: Một số chuẩn bus của họ AMBA Đến thời điểm hiện tại, AMBA đã có tất cả 5 phiên bản. Một số chuẩn giao thức của nó có thể kể ra như: APB, AHB, AXI, ACE và CHI.
Mỗi chuẩn giao thức đều mang những tính năng và đặc điểm khác nhau. Tuy nhiên, chúng đều được thiết kế để hỗ trợ truyền dữ liệu một cách nhanh chóng và hiệu quả giữa các thành phần của SoC. Các lợi ích của AMBA có thể kể đến như: 4 - Tính linh hoạt: AMBA có thể cung cấp nhiều chuẩn bus khác nhau, nhằm mục đích kết nối và truyền nhận dữ liệu tuỳ thuộc vào các thành phần khác nhau trên SoC. - Hiệu suất lớn: AMBA sử dụng tính năng pipelining và burst transfer, giúp tối ưu hoá được lượng dữ liệu và tốc độ truyền dữ liệu trên bus.
- Độ tin cậy cao: việc xung đột dữ liệu trên bus được kiểm soát chặt chẽ để đảm bảo tính toàn vẹn dữ liệu. - Chi phí thấp: Khi thiết kế có thể tái sử dụng các thành phần IP có sẵn, điều này giúp giảm được chi phí đi đáng kể và đồng thời tăng tốc độ sản xuất. - - Tích hợp dễ dàng: AMBA cung cấp những tài liệu về cách sử dụng và tích hợp các thành phần vào trong một SoC, giúp người thiết kế có thể dễ dàng phát triển và kiểm tra được thiết kế của họ.2: Kiến trúc của một SoC và vị trí của bộ giao thức AMBA Các thành phần ngoại vi (Peripheral) giao tiếp thông qua AXI sử dụng băng thông và hiệu suất cao. Trong khi đó, system MMU khi giao tiếp với các 6 interconnect thì lại cần sử dụng băng thông thấp hơn nên cần sử dụng giao thức APB.2 TỔNG QUAN VỀ GIAO THỨC AMBA AHB LITE 2.1 Giới thiệu chung về hệ thống AHB LITE AHB LITE là một phiên bản được đơn giản hóa của giao thức bus hiệu suất cao là AHB (Advanced High-performance Bus).
AHB LITE được tối giản so với AHB nhưng vẫn cung cấp đầy đủ các tính năng cơ bản, giải quyết các yêu cầu về thiết kế hệ thống hiệu suất cao, hỗ trợ một thiết bị chủ và cung cấp hoạt động xung nhịp và băng thông cao bao gồm [2]: - Truyền liên tục: AHB LITE hỗ trợ truyền liên tục, cho phép nhiều lần truyền dữ liệu diễn ra liên tiếp mà không cần cấp dữ liệu và địa chỉ một cách riêng biệt. Truyền liên tục cải thiện thông lượng dữ liệu tổng thể và giảm lưu lượng trên bus. - Hoạt động cạnh đơn xung đồng hồ: AHB LITE hoạt động theo sự tích cực cạnh lên của xung đồng hồ, điều này giúp đơn giản hóa các ràng buộc về thiết kế và thời gian của hệ thống. - Cấu hình bus dữ liệu rộng: AHB LITE hỗ trợ nhiều cấu hình bus dữ liệu, bao gồm 64, 128, 256, 512 và 1024 bit.
Điều này cho phép truyền dữ liệu tốc độ cao và giúp dễ dàng giao tiếp với các loại thành phần khác nhau trong hệ thống. Thiết bị tớ phổ biến của AHB LITE là thiết bị bộ nhớ nội, giao diện bộ nhớ ngoài, ngoại vi băng thông cao. Mặc dù ngoại vi băng thông thấp có thể được xem là thiết bị tớ AHB LITE, vì lý do hiệu suất của hệ thống, chúng thường được đặt trên APB bus để giảm tải cho bus AHB LITE, tăng hiệu suất cũng như giảm độ trễ cho các thành phần khác trên bus này, trong khi bus APB giao tiếp bởi các thành phần đơn giản, năng lượng thấp và băng thông nhỏ hơn [2].3 thể hiện một hệ thống AHB LITE đơn giản.3: Hệ thống AHB LITE đơn giản Một hệ thống AHB LITE bao gồm một thiết bị chủ duy nhất, kết nối và giao tiếp với 3 thiết bị tớ. Trong hệ thống này, còn có bộ giải mã và bộ ghép kênh.
Bộ giải mã có nhiệm vụ quan sát địa chỉ được gửi từ thiết bị chủ để chọn thiết bị tớ thích hợp cho một giao dịch. Bộ ghép kênh định tuyến dữ liệu đầu ra từ thiết bị tớ được chọn trở về thiết bị chủ.1 Thành phần thiết bị chủ AHB LITE Hình 2.4 minh họa sơ đồ khối của thành phần thiết bị chủ trên hệ thống AHB LITE.4: Sơ đồ khối của thành phần thiết bị chủ 7 Thành phần này có nhiệm vụ cung cấp dữ liệu, địa chỉ và thông tin điều khiển cho các quá trình giao dịch dữ liệu. Các đường tín hiệu của thành phần này là: Các đường tín hiệu đầu vào: - Tín hiệu phản hồi giao dịch: HREADY, HRESP. - Tín hiệu toàn cục: HRESET, HCLK.
- Đường dữ liệu đầu vào: HRDATA. Các đường tín hiệu ngõ ra: - Tín hiệu xử lý và điều khiển: HADDR, HWRITE, HSIZE, HBURST, HPROT, HTRANS, HMASTLOCK. - Đường dữ liệu ngõ ra: HWDATA.2 Thành phần thiết bị tớ AHB LITE Hình 2.5 thể hiện sơ đồ khối của thành phần thiết bị tớ trên hệ thống AHB LITE.5: Sơ đồ khối của thành phần thiết bị tớ Thành phần này có nhiệm vụ nhận, phản hồi trong các quá trình giao dịch đọc, ghi từ thiết bị chủ. Các đường tín hiệu của thành phần này là: 8 Các đường tín hiệu đầu vào: - Đường tín hiệu lựa chọn: HSELx.
- Tín hiệu xử lý và điều khiển: HADDR, HWRITE, HSIZE, HBURST, HPROT, HTRANS, HMASTLOCK, HREADY. - Tín hiệu dữ liệu đầu vào: HWDATA. - Tín hiệu toàn cục: HRESETn, HCLK. Các đường tín hiệu ngõ ra: - Tín hiệu phản hồi giao dịch: HREADYOUT, HRESP.
- Tín hiệu dữ liệu đầu ra: HRDATA.3 Bộ giải mã Thành phần bộ giải mã có nhiệm vụ giải mã địa chỉ từ thiết bị chủ gửi đến các thiết bị tớ, phục vụ cho quá trình lựa chọn thiết bị tớ trong các quá trình giao dịch dữ liệu. Thành phần này cũng cung cấp tín hiệu cho bộ ghép kênh, từ thiết bị tớ gửi về thiết bị chủ [2].4 Bộ ghép kênh Bộ ghép kênh nhận tín hiệu lựa chọn từ bộ giải mã, nhiệm vụ là ghép kênh dữ liệu đọc và tín hiệu phản hồi từ các thiết bị tớ đến thiết bị chủ cho mỗi quá trình đọc hoặc ghi trên bus AHB LITE [2].2 Tổng quan hoạt động trên AHB LITE Thiết bị chủ bắt đầu một giao dịch khi gửi đến thiết bị tớ thông tin về địa chỉ, dữ liệu và các tín hiệu điều khiển thích hợp. Các tín hiệu điều khiển cung cấp thông tin về, hướng, độ rộng của giao dịch, chỉ ra liệu quá trình truyền có thành cụm hay không, có thể là đơn lẻ, tăng dần hoặc theo gói…[2] Bus ghi dữ liệu chuyển dữ liệu từ thiết bị chủ đến thiết bị tớ, và bus đọc dữ liệu chuyển dữ liệu từ thiết bị tớ đến thiết bị chủ. Tất cả các giao dịch bao gồm hai giai đoạn sau: - Giai đoạn địa chỉ (yêu cầu truy cập): chỉ một chu kỳ xung đồng hồ cho địa chỉ và tín hiệu điều khiển.
- Giai đoạn dữ liệu (truy cập dữ liệu): một hoặc nhiều chu kỳ xung đồng hồ cho việc lấy mẫu dữ liệu. 9 Thiết bị tớ không thể yêu cầu giai đoạn địa chỉ (yêu cầu truy cập) được mở rộng, vì thế, tất cả các thiết bị tớ phải có khả năng lấy mẫu địa chỉ trong giai đoạn này. Tuy nhiên, thiết bị tớ có thể yêu cầu thiết bị chủ mở rộng giai đoạn dữ liệu (truy cập dữ liệu) bằng cách sử dụng tín hiệu HREADY tích cực mức thấp. Khi đó, trạng thái đợi sẽ được chèn vào một giao dịch và cho thiết bị tớ thêm thời gian để cung cấp hoặc lấy mẫu dữ liệu.
Ngoài ra, thiết bị tớ sử dụng tín hiệu HRESP để cho biết một giao dịch là thành công hay thất bại [2].3 Mô tả các đường tín hiệu Phần này sẽ trình bày các loại đường tín hiệu như: đường tín hiệu toàn cục, tín hiệu của thiết bị chủ, tín hiệu của thiết bị tớ, tín hiệu của bộ giải mã và tín hiệu của bộ ghép kênh, chi tiết được trình bày bên dưới.1 Các đường tín hiệu toàn cục Bảng 2.1 thể hiện tên, nguồn phát và mô tả chi tiết các tín hiệu toàn cục là: HCLK và HRESETn.1: Mô tả các đường tín hiệu toàn cục Tên đường Nguồn Mô tả tín hiệu Đây là đường tín hiệu tạo ra xung clock. Mỗi thành Nguồn phần AHB sử dụng một tín hiệu HCLK duy nhất. HCLK xung clock Đồng thời, tất cả các thay đổi của các tín hiệu đầu ra phải xảy ra sau cạnh lên của tín hiệu này. Đây là đường tín hiệu reset tích cực mức thấp, được Bộ điều HRESETn sử dụng làm tín hiệu cài lại chính cho tất cả các khiển reset thành phần trên Bus AHB LITE.2 Các đường tín hiệu của thiết bị chủ Bảng 2.2 thể hiện tên, đích đến và mô tả chi tiết các đường tín hiệu của thiết bị chủ là: HADDR, HBURST, HMASTLOCK, HPROT, HSIZE, HTRANS, HWDATA, HWRITE.