1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS

86 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Cấu trúc

  • CHƯƠNG 1 (14)
    • 1.1 Sơ lược về sự phát triển thiết kế vi mạch hiện nay (14)
    • 1.2 Lý do chọn đề tài (14)
    • 1.3 Mục tiêu đề tài (15)
    • 1.4 Giới hạn đề tài (15)
    • 1.5 BỐ CỤC ĐỀ TÀI (15)
  • CHƯƠNG 2 (17)
    • 2.1 TỔNG QUAN VỀ KIẾN TRÚC SOC VÀ BỘ GIAO THỨC AMBA (17)
    • 2.2 TỔNG QUAN VỀ GIAO THỨC AMBA AHB LITE (19)
      • 2.2.1 Giới thiệu chung về hệ thống AHB LITE (19)
      • 2.2.2 Tổng quan hoạt động trên AHB LITE (22)
      • 2.2.3 Mô tả các đường tín hiệu (23)
      • 2.2.4 Các loại giao dịch trên AHB LITE (26)
    • 2.3 TỔNG QUAN VỀ GIAO THỨC AMBA APB (33)
      • 2.3.1 Giới thiệu chung về giao thức AMBA APB (33)
      • 2.3.2 Mô tả các đường tín hiệu (34)
      • 2.3.3 Các trạng thái hoạt động của APB (35)
      • 2.3.4 Quá trình ghi dữ liệu trên APB bus (36)
      • 2.3.5 Quá trình đọc dữ liệu trên APB bus (38)
    • 2.4 TỔNG QUAN VỀ CÔNG NGHỆ FPGA VÀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VERILOG (40)
  • CHƯƠNG 3 28 THIẾT KẾ VÀ ĐÁNH GIÁ BỘ CHUYỂN ĐỔI AHB LITE SANG APB BUS 28 (41)
    • 3.1 ĐẶC TẢ MÔ HÌNH (41)
      • 3.1.1 Yêu cầu của mô hình kiểm tra chức năng bộ chuyển đổi (41)
      • 3.1.2 Hoạt động của mô hình kiểm tra chức năng bộ chuyển đổi (41)
    • 3.2 THIẾT KẾ CHO CÁC THÀNH PHẦN CỦA HỆ THỐNG (42)
      • 3.2.1 Thiết kế bộ chuyển đổi AHB LITE sang APB bus (42)
    • 3.3 THIẾT KẾ HỆ THỐNG BỘ CHUYỂN ĐỔI AHB LITE SANG APB BUS (61)
      • 3.3.1 Sơ đồ khối hệ thống (61)
      • 3.3.2 Sơ đồ kết nối hệ thống (61)
  • CHƯƠNG 4 KẾT QUẢ VÀ ĐÁNH GIÁ (62)
    • 4.1 KẾT QUẢ TỔNG HỢP SƠ ĐỒ KHỐI (62)
    • 4.2 KẾT QUẢ MÔ PHỎNG CHỨC NĂNG (63)
      • 4.2.1 Kết quả kiểm tra bộ chuyển đổi AHB LITE sang APB bus (63)
      • 4.2.3 Kết quả kiểm tra bộ chuyển đổi giao tiếp với RAM controller (67)
    • 4.3 ĐÁNH GIÁ BỘ CHUYỂN ĐỔI AHB LITE SANG APB BUS (78)
      • 4.3.1 Đánh giá về tần số hoạt động và timing (78)
      • 4.3.2 Đánh giá về công suất (80)
      • 4.3.3 Đánh giá về tài nguyên hệ thống (81)
  • CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (82)
    • 5.1 KẾT LUẬN (82)
    • 5.2 HƯỚNG PHÁT TRIỂN (82)
  • TÀI LIỆU THAM KHẢO (84)

Nội dung

ii LỜI NÓI ĐẦU Trong kỷ nguyên công nghệ, việc thiết kế và phát triển hệ thống trên chip ngày càng được quan tâm bởi nhu cầu các thiết bị điện tử ngày nay là nhỏ, thực hiện được nhiều c

Sơ lược về sự phát triển thiết kế vi mạch hiện nay

Trong bối cảnh sự phát triển về công nghệ ngày càng nhanh như hiện tại, các yêu cầu về các thiết bị phần cứng ngày càng tăng cao giúp cho công nghệ vi mạch tích hợp trở thành hạt nhân trong ngành công nghiệp điện tử Công nghệ vi mạch tích hợp đã và đang trở thành một lĩnh vực đóng vai trò quan trọng trong công cuộc cách mạng hóa ngành công nghiệp điện tử, điều đó giúp cho sự phát triển của nó mạnh mẽ hơn bao giờ hết Vi mạch tích hợp (VLSI) đã giúp tăng cường hiệu suất, tích hợp nhiều chức năng trên một con chip, đồng thời cũng làm giảm kích thước của các thiết bị điện tử đi rất nhiều lần Một phần quan trọng của việc tích hợp các chức năng của vi mạch là khả năng kết nối các thành phần khác nhau trên một con chip duy nhất Trong đó, giao thức (BUS) là một phần không thể thiếu để đảm bảo sự tương tác một cách thống nhất và hiệu quả giữa các thành phần với nhau trong một hệ thống kiến trúc chip - SoC (System on Chip) Hiểu được tầm quan trọng của các giao thức, việc nghiên cứu và phát triển các giao thức đã đạt được nhiều thành tựu to lớn trong những năm gần đây, tiêu biểu có thể kể đến các chuẩn giao thức như WISHBONE, Avalon, CAN, I2C hay bộ giao thức AMBA (AXI, AHB, APB, ) Từ đó yêu cầu về việc thực hiện các bộ chuyển đổi giao thức được đặt ra và cho đến nay các bộ giao thức chuyển đổi đã được tạo ra, ứng dụng nhiều trong các kiến trúc thiết kế chip SoC như các bộ chuyển đổi giao thức APB-WISHBONE, APB-I2C, AXI-AHB,…

Lý do chọn đề tài

Nhận thấy sự cần thiết trong việc nghiên cứu và phát triển các bộ chuyển đổi giao thức trong lĩnh vực thiết kế vi mạch cùng với sự phức tạp ngày càng gia tăng của các ứng dụng vi mạch đòi hỏi sự tối ưu hóa trong việc quản lý giao tiếp giữa các thành phần trong một hệ thống, đặc biệt là khi các thành phần này sử dụng các giao thức khác nhau Với việc các nghiên cứu trước đây thường đã tập trung vào việc phát triển các giao thức chuyển đổi có hiệu suất cao nhưng vẫn còn các thiếu sót, hạn chế Điều này tạo ra thêm các cơ hội cho việc nghiên cứu, phát triển về bộ

2 chuyển đổi giao thức AHB Lite – APB Bus, và cũng là mục tiêu của đề tài này Đó cũng là lý do chính để người thực hiện quyết định lựa chọn đề tài “Thiết kế và kiểm bộ chuyển đổi giao thức AHB Lite – APB Bus” Với việc chuyển đổi giữa hai giao thức này, người thực hiện hy vọng có thể phát triển một bộ chuyển đổi giao thức phù hợp với các yêu cầu hiện nay, góp phần cải thiện hiệu suất, tối ưu tương tác giữa các vi mạch trên cùng một con chip.

Mục tiêu đề tài

Người thực hiện thực hiện đề tài này thông qua các tài liệu chuyên ngành cũng như kiến thức đã được tích lũy trong quá trình học tập, làm việc để thực hiện thiết kế và kiểm tra đánh giá một bộ chuyển đổi giao thức từ AHB Lite qua APB Bus Với các yêu cầu cụ thể như sau:

- Thực hiện thiết kế bộ chuyển đổi giao thức AHB Lite – APB Bus cải thiện sự rõ ràng và toàn vẹn trong quá trình truyền dữ liệu so với thiết kế trước đó[6]

- Thực hiện mô phỏng và đánh giá các chức năng của bộ chuyển đổi

- Trình bày kết quả và đánh giá bộ chuyển đổi.

Giới hạn đề tài

Đề tài được đề ra nhằm mục đích phát triển bộ chuyển đổi giao thức AHB Lite -APB Bus Về phạm vi nghiên cứu: Việc thực hiện thiết kế và mô phỏng đánh giá sử dụng ngôn ngữ HDL Verilog cùng các tiện ích của công cụ XILINX ISE Đề tài chỉ tập trung vào việc chuyển đổi giao thức từ AHB qua APB và không đề cập đến các giao thức cũng như ngoại vi khác.

BỐ CỤC ĐỀ TÀI

Bài báo cáo đề tài được trình bày trong trong 5 chương với các nội dung cụ thể dựa trên mục tiêu đã được đề ra ở mục 1.3 cũng như quá trình nghiên cứu thiết kế và đánh giá bộ chuyển đổi giao thứ AHB-APB Bố cục của đề tài như sau:

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

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.3 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ệ.

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 Hình 2.1 bên dưới minh hoạ các phiên bản và các chuẩn giao thức trong AMBA

Hình 2.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ư:

- 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ọ

Hình 2.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

TỔNG QUAN VỀ GIAO THỨC AMBA AHB LITE

2.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] Hình 2.3 thể hiện một hệ thống AHB LITE đơn giản

Hình 2.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ủ

2.2.1.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.

Hình 2.4: Sơ đồ khối của thành phần thiết bị chủ

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.2.1.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.

Hình 2.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à:

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

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]

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.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

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]

2.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

2.2.3.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à:

Bảng 2.1: Mô tả các đường tín hiệu toàn cục

Tên đường tín hiệu Nguồn Mô tả

HCLK Nguồn xung clock Đây là đường tín hiệu tạo ra xung clock Mỗi thành phần AHB sử dụng một tín hiệu HCLK duy nhất Đồ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

TỔNG QUAN VỀ GIAO THỨC AMBA APB

2.3.1 Giới thiệu chung về giao thức AMBA APB

APB là viết tắt của Advanced Peripheral Bus, được hiểu là chuẩn bus ngoại vi nâng cao APB là một trong các chuẩn bus của họ AMBA, được sử dụng trong một hệ thống trên chip của ARM

APB là một chuẩn bus đơn giản, cung cấp một giao diện được tối ưu hóa để tiết kiệm điện năng và chi phí APB dành cho việc kết nối với các thiết bị ngoại vi có băng thông thấp và không yêu cầu hiệu suất cao APB bus cũng có thể được chuyển đổi từ bus hiệu suất cao nâng cao là AMBA AHB LITE, cũng như AHB LITE hoặc giao diện mở rộng nâng cao là AMBA AXI [3]

2.3.1.1 Thành phần thiết bị chủ APB

Hình 2.12 minh họa sơ đồ khối của thành phần thiết bị chủ trên hệ thống APB

Hình 2.12: Sơ đồ khối của thành phần thiết bị chủ APB

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.

2.3.1.2 Thành phần thiết bị tớ APB

Hình 2.13 minh họa sơ đồ khối của thành phần thiết bị tớ trên hệ thống APB

Hình 2.13: Sơ đồ khối của thành phần thiết bị tớ APB

Thành phần này có nhiệm vụ nhận, phản hồi thông tin trong các quá trình giao dịch đọc, ghi dữ liệu từ thành phần thiết bị chủ gửi đến

2.3.2 Mô tả các đường tín hiệu

Trong AMBA APB, có 10 đường tín hiệu cơ bản cần quan tâm, trong đó có 8 đường dựa trên giao thức AMBA APB 2 là: PCLK, PRESET, PADDR, PSEL, PENABLE, PWRITE, PWDATA, PRDATA Bảng 2.9 là mô tả cụ thể các đường tín hiệu trong chuẩn bus này

Bảng 2.9: Mô tả một số đường tín hiệu trong AMBA APB

Tên đường tín hiệu Mô tả

PCLK Xung đồng hồ, tín hiệu đồng bộ tích cực cạnh lên

PRESETn Tín hiệu khởi tạo, tích cực mức thấp

PADDR Bus địa chỉ APB, thiết bị chủ gửi địa chỉ đi trên chân này đến thiết bị tớ, chiều rộng tối đa là 32 bits

PSEL Tín hiệu lựa chọn, tích cực mức cao Thiết bị chủ gửi tín hiệu này để lựa chọn thiết bị tớ

PENABLE Tín hiệu cho phép, tích cực mức cao Thiết bị chủ gửi tín hiệu này đến thiết bị tớ để cho phép quá trình đọc hoặc ghi dữ liệu

Tín hiệu điều khiển quá trình đọc và ghi Khi tích cực mức thấp, quá trình đọc sẽ được thực hiện, khi tích cực mức cao, quá trình ghi sẽ được thực hiện

PWDATA Thiết bị chủ ghi dữ liệu đến thiết bị tớ thông qua chân này, độ rộng tối đa là 32 bits

PRDATA Thiết bị chủ đọc dữ liệu được ghi gửi về từ thiết bị tớ thông qua chân này, độ rộng tối đa là 32 bits

PREADY Tín hiệu báo hiệu sẵn sàng cho thiết bị chủ, được sử dụng để mở rộng việc truyền tải dữ liệu của APB

PSELVERR Là tín hiệu phản hồi lỗi, tín hiệu này cho biết rằng việc truyền tải dữ liệu hiện tại có đúng hay không

2.3.3 Các trạng thái hoạt động của APB

Hình 2.14 minh họa các trạng thái hoạt động của APB

Hình 2.14: Các trạng thái hoạt động của APB

Từ hình 2.14, có thể thấy APB có 3 trạng thái hoạt động là: IDLE, SETUP và

ACCESS, mô tả cụ thể như sau:

IDLE: đây là trạng thái mặc định trên APB, ở trạng thái này, đường tín hiệu PSEL và đường tín hiệu PENABLE được kéo xuống mức 0, lúc này, thiết bị tớ không quan tâm đến giá trị của các tín hiệu điều khiển còn lại trên bus như:

SETUP: khi giao dịch được yêu cầu, bus chuyển sang trạng thái SETUP Trong đó, các tín hiệu được lựa chọn thích hợp, PSEL được xác nhận (PSEL=1) Bus chỉ ở trạng thái SETUP cho một chu kỳ, và luôn chuyển đến trạng thái thứ 2 ACCESS ở chu kỳ tiếp theo với cạnh lên của xung clock Ở trạng thái này, đường tín hiệu

ACCESS: tín hiệu cho phép PENABLE được xác định tại trạng thái này

(PENABLE=1) Tín hiệu địa chỉ, tín hiệu ghi, tín hiệu đọc và tín hiệu lựa chọn phải ổn định trong quá trình chuyển từ trạng thái SETUP sang trạng thái ACCESS Lúc này, PSEL=1 và PENABLE=1 Trong trạng thái ACCESS, thiết bị tớ phải nhận xong các giá trị điều khiển và phải lái PRDATA đến giá trị hợp lệ nếu đó là một truy cập “đọc”

Chú ý, mỗi truy cập “đọc” hay “ghi” từ thiết bị chủ APB đến thiết bị tớ APB phải qua 2 bước là SETUP và ACCESS Thoát khỏi trạng thái ACCESS được điều khiển bởi chân PREADY từ thiết bị tớ:

Nếu PREADY là mức thấp, thì vẫn ở trong trạng thái ACCESS

Nếu PREADY là mức cao, thì thoát khỏi trạng thái ACCESS, bus được trở về trạng thái IDLE nếu không có giao dịch vào được yêu cầu, bus trở về trạng thái

SETUP một cách trực tiếp nếu có một giao dịch khác theo sau đồng thời

2.3.4 Quá trình ghi dữ liệu trên APB bus

2.3.4.1 Quá trình ghi không đợi

Hình 2.15 minh họa quá trình ghi dữ liệu không đợi trên bus APB

Hình 2.15: Quá trình ghi dữ liệu không đợi

Từ hình 2.15 ta có thể thấy, có 7 đường tín hiệu được thể hiện bằng dạng sóng là: PCLK, PADDR, PWRITE, PSEL, PENABLE, PWDATA và PREADY, hoạt động cụ thể như sau:

Từ thời điểm T0 đến T1: đường tín hiệu PSEL và PENABLE đều được kéo xuống mức thấp, đây là trạng thái IDLE

Từ thời điểm T1 đến T2: thiết bị chủ bắt đầu gửi địa chỉ thông qua đường tín hiệu PADDR đến thiết bị tớ, vì đây là quá trình ghi dữ liệu nên PWRITE được kéo lên mức cao, đồng thời, thiết bị chủ chọn thiết bị tớ thông qua PSEL Đây là trạng thái SETUP, PSEL=1 và PENABLE=0

Tại thời điểm T2: thiết bị chủ kéo đường tín hiệu PENABLE lên mức cao, cùng lúc đó, tín hiệu sẵn sàng PREADY bằng 1, do đây là quá trình ghi không đợi nên dữ liệu được phép ghi, và thiết bị chủ sẽ ghi dữ liệu vào thiết bị tớ Đây là trạng thái ACCESS, PSEL=1 và PENABLE=1

Tại thời điểm T3: kết thúc quá trình ghi dữ liệu không đợi

2.3.4.2 Quá trình ghi có đợi

Hình 2.16 minh họa quá trình ghi dữ liệu có trạng thái đợi trên bus APB

Hình 2.16: Quá trình ghi dữ liệu có đợi

Quá trình này ban đầu sẽ diễn ra tương tự so với quá trình ghi dữ liệu không đợi, nhưng từ thời điểm T2 đến T4, trong khi đang ở trong trạng thái ACCESS, sau khi đợi 2 chu kỳ xung đồng hồ, thiết bị tớ mới phản hồi lại đã sẵn sàng thông qua đường tín hiệu PREADY tích cực mức cao cho thiết bị chủ tại thời điểm T4

2.3.5 Quá trình đọc dữ liệu trên APB bus

2.3.5.1 Quá trình đọc không đợi

Hình 2.17 minh họa quá trình đọc dữ liệu không có trạng thái đợi trên bus APB

Hình 2.17: Quá trình đọc dữ liệu không đợi

Từ thời điểm T0 đến T1: trạng thái khởi tạo, sẵn sàng để bắt đầu việc truyền dữ liệu Đây là trạng thái IDLE, PSEL và PENABLE đều ở mức thấp

Tại thời điểm T1: thiết bị chủ bắt đầu gửi địa chỉ trên đường tín hiệu PADDR, đây là địa chỉ của thiết bị tớ, khi đó PWRITE được kéo xuống mức thấp để thực hiện quá trình đọc dữ liệu Khi PSEL được kéo lên mức cao, điều này cho biết thiết bị chủ đã chọn thiết bị tớ

Từ thời điểm T1 đến T2: giữ trạng thái không đổi Tại thời điểm này, dữ liệu chưa được đọc Đây là trạng thái SETUP, đường tín hiệu PSEL=1 và PENABLE=0

TỔNG QUAN VỀ CÔNG NGHỆ FPGA VÀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VERILOG

FPGA là viết tắt của Field Programmable Gate Array, công nghệ này được phát triển vào những năm 1980, là một loại vi mạch số được sử dụng trong các hệ thống điện tử để thực hiện các chức năng logic và xử lý tín hiệu FPGA có thể được lập trình và cấu hình lại sau khi sản xuất, các nhà thiết kế có thể tùy chỉnh lại chức năng của chúng để phù hợp với từng ứng dụng cụ thể [4]

FPGA được sử dụng rộng rãi trong các ứng dụng điện tử như mạng viễn thông, máy tính, hệ thống nhúng, điều khiển, xử lý hình ảnh và video, và nhiều lĩnh vực khác FPGA có thể được lập trình bằng ngôn ngữ mô tả phần cứng là Verilog Verilog được triển vào những năm 1980, bởi Công ty Gateway Design Automation (nay là Synopsys) Ngôn ngữ này đã và đang trở thành một trong những ngôn ngữ mô tả phần cứng phổ biến nhất [4]

Verilog cung cấp cú pháp để mô tả các mạch logic số, bao gồm khối logic, cổng logic và các phép toán logic, người dùng có thể sử dụng những gì mà Verilog có để mô tả mạch logic số Sau khi mô tả mạch logic số bằng ngôn ngữ Verilog, người dùng có thể sử dụng các công cụ tổng hợp để kiểm tra chức năng hoặc tổng hợp sơ đồ khối của mạch logic đó

28 THIẾT KẾ VÀ ĐÁNH GIÁ BỘ CHUYỂN ĐỔI AHB LITE SANG APB BUS 28

ĐẶC TẢ MÔ HÌNH

3.1.1 Yêu cầu của mô hình kiểm tra chức năng bộ chuyển đổi

Với mục tiêu đã đề ra, mô hình kiểm tra chức năng bộ chuyển đổi phải đạt được các yêu cầu, và thực hiện được các chức năng sau:

- Bộ chuyển đổi giao tiếp với 1 thiết bị tớ, yêu cầu về tần số hoạt động tối đa là 100MHz, triển khai trên Kit FPGA “xc7k70tfbv676-1”

- Với dữ liệu được giả định, chuyển đổi được dữ liệu đó thông qua bộ chuyển đổi AHB LITE sang APB bus, từ đó có thể giao tiếp được với thiết bị ngoại vi là RAM controller

- Đảm bảo độ chính xác của dữ liệu được truyền và tính đồng bộ giữa các thiết bị được kết nối và hệ thống bộ chuyển đổi

- Thực hiện được các quá trình giao dịch như: đọc, ghi dữ liệu đơn lẻ, đọc, ghi dữ liệu liên tục (tăng dần hoặc theo gói)

3.1.2 Hoạt động của mô hình kiểm tra chức năng bộ chuyển đổi

Từ các yêu cầu của hệ thống đã đề ra ở phần trên, thì quá trình hoạt động của hệ thống sẽ diễn ra như sau:

- Phía giao diện thiết bị tớ AHB LITE của bộ chuyển đổi sẽ nhận dữ liệu từ các hàm chức năng được định nghĩa trong tệp giả định dữ liệu ngõ vào Các hàm chức năng mô tả quá trình đọc, ghi liên tục, đọc, ghi đơn lẻ

- Dữ liệu sau đó được chuyển đổi sang APB bus Trong quá trình chuyển đổi, hệ thống sẽ xem xét các giai đoạn hoạt động của AHB LITE, cũng như sự điều khiển của máy trạng thái để thực hiện đúng chức năng

- Ngoài việc kiểm tra và đánh giá bộ chuyển đổi một cách riêng việt, nhóm sinh viên cho bộ chuyển đổi giao tiếp với thiết bị RAM controller, để điều khiển đọc hoặc ghi dữ liệu

THIẾT KẾ CHO CÁC THÀNH PHẦN CỦA HỆ THỐNG

3.2.1 Thiết kế bộ chuyển đổi AHB LITE sang APB bus

3.2.1.1 Thiết kế module giao diện thiết bị tớ AHB LITE

Hình 3.1 thể hiện sơ đồ khối của module giao diện thiết bị tớ AHB LITE

Hình 3.1: Sơ đồ khối tổng quát của module giao diện thiết bị tớ AHB LITE

Sơ đồ khối của module giao diện thiết bị tớ AHB LITE được đặt tên là

AHB_SLAVE Module này đóng vai trò như giao diện thiết bị tớ AHB LITE, nhận dữ liệu và tín hiệu điều khiển từ thiết bị chủ để tạo ra các dữ liệu phù hợp tại ngõ ra Hình 3.2 thể hiện các khối chính bên trong module giao diện thiết bị tớ AHB LITE

Hình 3.2: Các khối chính trong module giao diện thiết bị tớ AHB LITE

Các khối chính trong module giao diện thiết bị tớ AHB LITE bao gồm: khối pipelining, khối lựa chọn thiết bị tớ, khối phát hiện giao dịch hợp lệ, chi tiết về

30 thiết kế các khối sẽ được mô tả ở phần bên dưới Hình 3.3 thể hiện sơ đồ mô tả các bước thiết kế module giao diện thiết bị tớ AHB LITE

Hình 3.3: Sơ đồ các bước thiết kế module giao diện thiết bị tớ AHB LITE

Các bước thiết kế module giao diện thiết bị tớ AHB LITE bao gồm: định nghĩa các ngõ vào và ra, định nghĩa các tham số có liên quan, mô tả hành vi cho khối pipelining, mô tả hành vi cho khối lựa chọn ngoại vi, khối phát hiện giao tiếp hợp lệ Bước đầu tiên mô tả các đường tín hiệu ngõ vào và ngõ ra của module giao diện thiết bị tớ AHB LITE ở bảng 3.1

Bảng 3.1: Các đường tín hiệu của module giao diện thiết bị tớ AHB LITE

Tên đường tín hiệu Hướng Mô tả

BS_HADDR [31:0] Ngõ vào Đường tín hiệu địa chỉ

BS_HWDATA [31:0] Ngõ vào Đường tín hiệu ghi dữ liệu

BS_HWRITE Ngõ vào Đường tín hiệu điều khiển đọc hoặc ghi BS_HCLK Ngõ vào Đường tín hiệu xung đồng hồ

BS_HRESETn Ngõ vào Đường tín hiệu reset tích cực mức thấp BS_HTRANS [1:0] Ngõ vào Đường tín hiệu xác định loại giao dịch BS_HREADY Ngõ vào Đường tín hiệu phản hồi sẵn sàng

BS_VALID Ngõ ra Đường tín hiệu báo giao dịch hợp lệ BS_HADDR_1 Ngõ ra Thanh ghi lưu trữ địa chỉ thứ nhất

BS_HADDR_2 Ngõ ra Thanh ghi lưu trữ địa chỉ thứ hai

BS_HWDATA_1 Ngõ ra Thanh ghi lưu trữ dữ liệu thứ nhất

BS_HWDATA_2 Ngõ ra Thanh ghi lưu trữ dữ liệu thứ hai

BS_HWRITE_REG Ngõ ra Thanh ghi lưu trữ giá trị của đường tín hiệu HWRITE trước đó

BS_TEMP_SELX [2:0] Ngõ ra Đường tín hiệu ngõ ra, xác định giá trị tạm thời của thiết bị tớ được truy cập

Bảng 3.2: Các tham số của module giao diện thiết bị tớ AHB LITE

Tên tham số Mô tả

RAM1 Có giá trị là 3’b001, ngoại vi thứ nhất

RAM2 Có giá trị là 3’b010, ngoại vi thứ hai

RAM3 Có giá trị là 3’b100, ngoại vi thứ ba

UNDEFINED Có giá trị là 3’b000, không lựa chọn ngoại vi

IDLE Có giá trị là 2’b00, trạng thái không truyền dữ liệu

BUSY Có giá trị là 2’b01, trạng thái đang truyền dữ liệu

NON_SEQ Có giá trị là 2’b10, trạng thái truyền dữ liệu không tuần tự SEQ Có giá trị là 2’b11, trạng thái truyền dữ liệu tuần tự

Các tham số được định nghĩa cho khối chọn thiết bị tớ được thể hiện ở bảng 3.2 giúp xác định thiết bị nào được chọn cho giao tiếp Các hằng số được sử dụng tại khối valid_logic để xác định tín hiệu hợp lệ BS_VALID được phát ra từ module giao diện thiết bị tớ AHB LITE dựa trên trạng thái của các đường tín hiệu:

BS_HTRANS, BS_HREADY và BS_HADDR

Thiết kế hành vi cho khối pipelining:

Khối pipelining có nhiệm vụ giữ lại các giá trị của tín hiệu BS_HADDR và BS_HWDATA cho hai chu kỳ trước đó và được sử dụng trong trường hợp xử lý giao tiếp truy cập vào bộ nhớ Khối này sẽ lưu giữ giá trị của các tín hiệu đầu vào trong hai vòng lặp liên tiếp để đảm bảo rằng dữ liệu truyền từ các chu kỳ trước đó vẫn còn trong hệ thống khi nó cần được sử dụng Nói chung, thiết kế này có chức

32 năng giúp tăng tốc độ xử lý của mạch bằng cách cho phép các giao tiếp tiếp theo được xử lý song song với các giao tiếp trước đó, đây là tính chất của AHB LITE Hình 3.4 thể hiện sơ đồ kết nối của khối pipelining

Hình 3.4: Sơ đồ kết nối của khối pipelining Ở khối pipelining, giá trị các đường tín hiệu tại các thanh ghi dưới sự tác động của đường tín hiệu BS_HRESETn được thể hiện ở bảng 3.3

Bảng 3.3: Mô tả hoạt động của khối pipelining Đường tín hiệu tác động Giá trị trên các đường tín hiệu ngõ ra

BS_HADDR_1

Ngày đăng: 26/09/2024, 14:31

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Một số chuẩn bus của họ AMBA - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.1 Một số chuẩn bus của họ AMBA (Trang 17)
Hình 2.2: Kiến trúc của một SoC và vị trí của bộ giao thức AMBA - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.2 Kiến trúc của một SoC và vị trí của bộ giao thức AMBA (Trang 18)
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. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
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 (Trang 20)
Hình 2.3: Hệ thống AHB LITE đơn giản - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.3 Hệ thống AHB LITE đơn giản (Trang 20)
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. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
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 (Trang 21)
Hình 2.7: Quá trình ghi dữ liệu, không có trạng thái đợi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.7 Quá trình ghi dữ liệu, không có trạng thái đợi (Trang 28)
Hình 2.9: Quá trình ghi dữ liệu, có trạng thái đợi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.9 Quá trình ghi dữ liệu, có trạng thái đợi (Trang 29)
Hình 2.11: Minh họa các loại giao dịch - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.11 Minh họa các loại giao dịch (Trang 31)
Hình 2.12 minh họa sơ đồ khối của thành phần thiết bị chủ trên hệ thống  APB. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.12 minh họa sơ đồ khối của thành phần thiết bị chủ trên hệ thống APB (Trang 33)
Hình 2.15: Quá trình ghi dữ liệu không đợi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.15 Quá trình ghi dữ liệu không đợi (Trang 37)
Hình 2.16: Quá trình ghi dữ liệu có đợi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.16 Quá trình ghi dữ liệu có đợi (Trang 38)
Hình 2.18 minh họa quá trình đọc dữ liệu có trạng thái đợi trên bus APB. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 2.18 minh họa quá trình đọc dữ liệu có trạng thái đợi trên bus APB (Trang 39)
Hình 3.1 thể hiện sơ đồ khối của module giao diện thiết bị tớ AHB LITE. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.1 thể hiện sơ đồ khối của module giao diện thiết bị tớ AHB LITE (Trang 42)
Bảng 3.2: Các tham số của module giao diện thiết bị tớ AHB LITE - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Bảng 3.2 Các tham số của module giao diện thiết bị tớ AHB LITE (Trang 44)
Hình 3.4: Sơ đồ kết nối của khối pipelining - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.4 Sơ đồ kết nối của khối pipelining (Trang 45)
Hình 3.7: Sơ đồ khối tổng quát module máy trạng thái APB - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.7 Sơ đồ khối tổng quát module máy trạng thái APB (Trang 48)
Hình 3.9: Sơ đồ các bước thiết kế cho module máy trạng thái APB - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.9 Sơ đồ các bước thiết kế cho module máy trạng thái APB (Trang 49)
Bảng 3.6: Các tham số và các thanh ghi trong module máy trạng thái APB - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Bảng 3.6 Các tham số và các thanh ghi trong module máy trạng thái APB (Trang 51)
Hình 3.10: Mô tả hoạt động máy trạng thái của bộ chuyển đổi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.10 Mô tả hoạt động máy trạng thái của bộ chuyển đổi (Trang 53)
Hình 3.13: Kiến trúc bộ chuyển đổi AHB LITE sang APB bus - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.13 Kiến trúc bộ chuyển đổi AHB LITE sang APB bus (Trang 58)
Hình 3.12: Sơ đồ khối bộ chuyển đổi AHB LITE sang APB bus - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.12 Sơ đồ khối bộ chuyển đổi AHB LITE sang APB bus (Trang 58)
Hình 3.14: Sơ đồ kiến trúc các thanh ghi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.14 Sơ đồ kiến trúc các thanh ghi (Trang 59)
Hình 3.16: Sơ đồ khối hệ thống - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 3.16 Sơ đồ khối hệ thống (Trang 61)
Hình 4.1: Sơ đồ kết nối các khối của thiết kế bộ chuyển đổi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 4.1 Sơ đồ kết nối các khối của thiết kế bộ chuyển đổi (Trang 62)
Hình 4.3 minh họa mô hình testbench của bộ chuyển đổi AHB LITE sang APB  bus. - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 4.3 minh họa mô hình testbench của bộ chuyển đổi AHB LITE sang APB bus (Trang 63)
Hình 4.4: Kết quả kiểm tra chức năng bộ chuyển đổi - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 4.4 Kết quả kiểm tra chức năng bộ chuyển đổi (Trang 65)
Hình 4.5 minh họa mô hình testbench của bộ chuyển đổi AHB LITE sang APB - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 4.5 minh họa mô hình testbench của bộ chuyển đổi AHB LITE sang APB (Trang 67)
Hình 4.9: Các ràng buộc của thiết kế - Đồ án tốt nghiệp: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB BUS
Hình 4.9 Các ràng buộc của thiết kế (Trang 78)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w