Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của công nghệ vi mạch tích hợp quy mô rất lớn (VLSI), các hệ thống trên chip (System on a Chip - SoC) ngày càng được ứng dụng rộng rãi nhằm thu nhỏ kích thước thiết bị, tích hợp đa chức năng và nâng cao hiệu năng xử lý. Một vấn đề then chốt trong thiết kế SoC là phương thức truyền thông và kết nối thống nhất giữa các thành phần IP (Intellectual Property core) trên cùng một vi mạch. Hệ thống bus truyền thông đóng vai trò đảm bảo sự tương tác hiệu quả, đồng bộ giữa bộ vi xử lý trung tâm, bộ nhớ và các khối ngoại vi. Trong số các chuẩn giao thức công nghiệp, kiến trúc bus AMBA (Advanced Microcontroller Bus Architecture) do tập đoàn ARM phát triển giữ vai trò chuẩn mực phổ biến với các phân lớp giao thức như AXI, AHB và APB.
Trên thực tế thiết kế vi mạch, các thành phần xử lý tốc độ cao thường sử dụng giao thức AMBA AHB hoặc AHB Lite để tận dụng băng thông lớn và cơ chế truyền đường ống (pipelining). Ngược lại, các khối ngoại vi thứ cấp có tốc độ thấp và yêu cầu tiết kiệm năng lượng lại giao tiếp thông qua bus APB nhằm giảm độ phức tạp thiết kế và giảm tải cho bus hệ thống chính. Sự khác biệt về kiến trúc, chu kỳ xung nhịp và giao thức truyền nhận giữa hai phân lớp này đặt ra yêu cầu phải thiết kế các bộ chuyển đổi giao thức (bridge) trung gian. Theo tác giả trình bày, các nghiên cứu trước đây về bộ chuyển đổi giao thức dù hướng đến hiệu suất cao nhưng vẫn tồn tại những hạn chế nhất định liên quan đến tính toàn vẹn và độ rõ ràng của tín hiệu truyền nhận. Do đó, đề tài tập trung vào việc nghiên cứu, thiết kế và đánh giá bộ chuyển đổi giao thức AHB Lite sang APB bus nhằm khắc phục các thiếu sót đó.
Theo văn bản đồ án, mục tiêu và nhiệm vụ nghiên cứu cụ thể được xác định bao gồm 3 nhiệm vụ chính:
- 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 đó được tham chiếu trong tài liệu nghiên cứu.
- 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.
Đối tượng và phạm vi nghiên cứu của đề tài được giới hạn như sau:
- Đối tượng nghiên cứu: Cấu trúc logic và quy trình chuyển đổi tín hiệu giữa chuẩn bus AMBA AHB Lite và AMBA APB, cùng module điều khiển bộ nhớ (RAM controller) phục vụ việc kiểm chứng.
- Phạm vi công nghệ và công cụ: Thiết kế phần cứng được mô tả bằng ngôn ngữ mô tả phần cứng Verilog HDL; mô phỏng chức năng trên công cụ Xilinx ISE; tổng hợp mạch, kiểm tra timing, đánh giá công suất và tài nguyên phần cứng trên công cụ Xilinx Vivado hướng đến mục tiêu triển khai trên dòng vi mạch FPGA Kintex-7 (mã thiết bị
xc7k70tfbv676-1).
- Phạm vi chức năng: Đề tài giới hạn việc thiết kế cho một bộ chuyển đổi giao tiếp giữa một thiết bị chủ AHB Lite và một thiết bị ngoại vi APB (cụ thể là RAM controller); không mở rộng sang các chuẩn giao thức khác hay các ngoại vi phức tạp khác. Tần số hoạt động mục tiêu được xác định ở mức tối đa 100 MHz.
Cơ sở lý thuyết và phương pháp
Đề tài được xây dựng dựa trên nền tảng lý thuyết về kiến trúc SoC và hai chuẩn giao thức chính thuộc họ AMBA của ARM:
- Chuẩn giao thức AMBA AHB Lite: Là phiên bản tối giản của AHB, phục vụ các hệ thống chỉ có một thiết bị chủ (single master). Giao thức hỗ trợ xung nhịp cạnh lên đơn, hoạt động trên bus dữ liệu 32-bit (có khả năng mở rộng lên 64, 128, 256, 512, 1024-bit), và hỗ trợ truyền dữ liệu liên tục (burst transfer). Giao dịch AHB Lite bao gồm hai giai đoạn tách biệt: giai đoạn địa chỉ (kéo dài đúng 1 chu kỳ xung clock) và giai đoạn dữ liệu (kéo dài một hoặc nhiều chu kỳ, được điều khiển bởi tín hiệu sẵn sàng
HREADY). Trạng thái giao dịch được phân loại qua tín hiệu HTRANS[1:0] gồm 4 trạng thái: IDLE (2'b00), BUSY (2'b01), NONSEQ (2'b10), và SEQ (2'b11). Giao thức định nghĩa kích thước giao dịch thông qua HSIZE[2:0] và các kiểu burst qua HBURST[2:0] (như SINGLE, INCR, WRAP4, INCR4, WRAP8, INCR8, WRAP16, INCR16).
- Chuẩn giao thức AMBA APB: Là chuẩn bus tối ưu hóa cho các giao tiếp ngoại vi băng thông thấp và tiêu thụ ít năng lượng. Giao tiếp APB hoạt động dựa trên máy trạng thái hữu hạn (FSM) gồm 3 trạng thái cơ bản: IDLE (trạng thái chờ, tín hiệu chọn
PSEL và tín hiệu cho phép PENABLE đều ở mức thấp), SETUP (khi có giao dịch, PSEL tích cực mức cao, PENABLE ở mức thấp trong 1 chu kỳ clock), và ACCESS (kích hoạt PENABLE lên mức cao để thực hiện lấy mẫu dữ liệu đọc hoặc ghi dữ liệu). Việc thoát khỏi trạng thái ACCESS được kiểm soát bởi tín hiệu phản hồi PREADY.
- Công nghệ FPGA và ngôn ngữ Verilog HDL: Công nghệ vi mạch số lập trình được FPGA đóng vai trò nền tảng mô phỏng và kiểm chứng phần cứng trước khi sản xuất vi mạch chuyên dụng (ASIC). Ngôn ngữ Verilog HDL được sử dụng để mô tả kiến trúc phần cứng ở mức truyền thanh ghi (RTL).
Phương pháp nghiên cứu thực tế được tác giả triển khai bao gồm:
- Phương pháp phân tích và thiết kế hệ thống số: Xây dựng mô hình kiến trúc phần cứng phân khối chức năng, thiết kế mạch tuần tự và mạch tổ hợp bằng Verilog HDL.
- Phương pháp mô hình hóa đường ống (pipelining): Thiết kế cấu trúc lưu trữ trễ hai chu kỳ xung nhịp nhằm đồng bộ hóa sự lệch pha giữa pha địa chỉ của AHB Lite và chu kỳ truy xuất của APB.
- Phương pháp mô phỏng kiểm tra (Functional Simulation): Sử dụng Bus Functional Model (BFM) và testbench trên phần mềm Xilinx ISE để kiểm chứng dạng sóng của các chu kỳ đọc/ghi đơn lẻ và chu kỳ truyền theo gói (burst).
- Phương pháp tổng hợp và phân tích tĩnh (Synthesis & Static Analysis): Sử dụng công cụ Xilinx Vivado để tổng hợp sơ đồ khối logic RTL, phân tích ràng buộc thời gian (timing report), ước tính mức tiêu thụ công suất và đo lường tài nguyên logic trên chip FPGA mục tiêu.
Nguồn dữ liệu trong nghiên cứu gồm tài liệu đặc tả chuẩn giao thức AMBA của ARM, thư viện linh kiện của phần mềm Xilinx Vivado/ISE cho dòng chip Kintex-7, cùng hệ thống các chuỗi vector kiểm thử giả lập kịch bản truy xuất bộ nhớ.
Thiết kế và triển khai
Hệ thống chuyển đổi AHB Lite sang APB bus được thiết kế với kiến trúc phân tầng gồm hai module chính: module giao diện thiết bị tớ AHB Lite (AHB_SLAVE) và module máy trạng thái APB (APB_FSM), sau đó được kết nối với ngoại vi kiểm chứng là module điều khiển bộ nhớ RAM controller.
Module giao diện thiết bị tớ AHB Lite (AHB_SLAVE)
Module này tiếp nhận các tín hiệu điều khiển và dữ liệu trực tiếp từ thiết bị chủ AHB Lite, bao gồm 3 khối chức năng bên trong:
- Khối Pipelining: Do đặc thù giao thức AHB Lite phân tách pha địa chỉ và pha dữ liệu, khối pipelining thực hiện lưu trữ giá trị của tín hiệu địa chỉ (
BS_HADDR), dữ liệu ghi (BS_HWDATA) và tín hiệu hướng truyền (BS_HWRITE) qua hai chu kỳ xung clock liên tiếp. Các thanh ghi ngõ ra bao gồm BS_HADDR_1, BS_HADDR_2, BS_HWDATA_1, BS_HWDATA_2 và BS_HWRITE_REG. Khi có tín hiệu reset BS_HRESETn = 0, các thanh ghi này được xóa về giá trị 0; khi hoạt động bình thường, dữ liệu được dịch chuyển tuần tự qua các tầng thanh ghi.
- Khối lựa chọn thiết bị tớ (Slave Selector): Sử dụng bộ so sánh địa chỉ (
Comparator) để giải mã trường địa chỉ BS_HADDR[31:0] ngõ vào, từ đó xác định ngoại vi APB tương ứng thông qua tín hiệu chọn tạm thời BS_TEMP_SELX[2:0]. Vùng địa chỉ giải mã được phân bổ theo quy định:
Vùng địa chỉ (BS_HADDR) |
Giá trị tham số |
Tín hiệu BS_TEMP_SELX |
Ngoại vi tương ứng |
32'd0 đến 32'd31 |
RAM1 |
3'b001 |
Ngoại vi thứ nhất |
32'd32 đến 32'd63 |
RAM2 |
3'b010 |
Ngoại vi thứ hai |
32'd64 đến 32'd95 |
RAM3 |
3'b100 |
Ngoại vi thứ ba |
| Các vùng còn lại |
UNDEFINED |
3'b000 |
Không lựa chọn ngoại vi |
- Khối phát hiện giao dịch hợp lệ (Valid Logic): Đánh giá tính hợp lệ của giao dịch trên bus AHB Lite để sinh tín hiệu
BS_VALID. Giao dịch được xác nhận là hợp lệ (BS_VALID = 1) khi thỏa mãn đồng thời các điều kiện: tín hiệu reset BS_HRESETn ở mức cao; địa chỉ BS_HADDR nằm trong phạm vi từ 32'd0 đến 32'd95; kiểu truyền BS_HTRANS[1:0] khác trạng thái IDLE (2'b00) và BUSY (2'b01); đồng thời tín hiệu phản hồi BS_HREADY từ phía ngoại vi đạt mức cao (1'b1).
Module máy trạng thái APB (APB_FSM)
Module APB_FSM đóng vai trò là thiết bị chủ điều khiển bus APB, chuyển đổi tín hiệu từ module AHB_SLAVE sang các đường tín hiệu chuẩn của bus APB (BF_PADDR, BF_PWDATA, BF_PWRITE, BF_PSEL, BF_PENABLE). Quy trình điều khiển tuân thủ nghiêm ngặt máy trạng thái 3 pha:
- Trạng thái IDLE: Là trạng thái mặc định khi bus không hoạt động hoặc khi chưa có giao dịch hợp lệ từ phía AHB Lite;
PSEL và PENABLE được giữ ở mức logic 0.
- Trạng thái SETUP: Được kích hoạt ngay khi nhận tín hiệu giao dịch hợp lệ (
BF_VALID = 1). Bus APB xác lập đường địa chỉ BF_PADDR, hướng truyền BF_PWRITE, kích hoạt tín hiệu chọn ngoại vi BF_PSEL = 1 trong khi BF_PENABLE vẫn giữ ở mức 0. Trạng thái này duy trì trong đúng một chu kỳ xung clock.
- Trạng thái ACCESS: Tại cạnh lên tiếp theo của xung clock, bus chuyển sang ACCESS bằng cách kích hoạt
BF_PENABLE = 1. Dữ liệu được ghi vào ngoại vi qua BF_PWDATA hoặc được ngoại vi trả về qua BF_PRDATA. Nếu ngoại vi kéo chân PREADY xuống mức thấp, FSM tiếp tục duy trì trạng thái ACCESS (chèn chu kỳ đợi); khi PREADY lên mức cao, giao dịch hoàn tất và FSM quay về IDLE (hoặc chuyển trực tiếp sang SETUP nếu có giao dịch kế tiếp).
Hệ thống kiểm tra giao tiếp RAM Controller
Để kiểm chứng hoạt động thực tế của bộ chuyển đổi, tác giả tích hợp hệ thống hoàn chỉnh kết nối giữa giao diện AHB Lite, bộ chuyển đổi giao thức và module RAM controller đóng vai trò là slave APB. Cấu hình kiểm thử sử dụng đường tín hiệu chọn BS_TEMP_SELX[0] tương ứng với phân vùng địa chỉ của RAM1 (từ 0 đến 31). Mô hình testbench thực hiện việc kích phát chuỗi tín hiệu kiểm tra bao gồm các quá trình đọc/ghi đơn lẻ và các chuỗi giao dịch liên tục.
Nội dung chính theo từng chương
Chương 1: Tổng quan đề tài
Chương mở đầu phân tích bối cảnh phát triển của công nghệ thiết kế vi mạch tích hợp cỡ lớn và vai trò trung tâm của hệ thống bus truyền thông trong kiến trúc SoC. Tác giả nêu rõ lý do lựa chọn nghiên cứu bộ chuyển đổi AHB Lite sang APB bus xuất phát từ nhu cầu tối ưu hóa việc quản lý truyền thông giữa các thành phần có băng thông khác nhau trên cùng một vi mạch, đồng thời khắc phục các thiếu sót về tính toàn vẹn dữ liệu từ các thiết kế đi trước. Chương này xác định rõ mục tiêu thiết kế, đánh giá mô phỏng, giới hạn phạm vi nghiên cứu (chỉ tập trung vào ngôn ngữ Verilog, công cụ Xilinx ISE/Vivado, kit FPGA Kintex-7 và ngoại vi RAM controller) cùng bố cục 5 chương của báo cáo.
Chương 2: Cơ sở lý thuyết
Nội dung chương 2 tập trung hệ thống hóa toàn bộ lý thuyết liên quan đến kiến trúc SoC và bộ chuẩn giao thức AMBA với 5 thế hệ phát triển (APB, AHB, AXI, ACE, CHI). Tác giả trình bày chi tiết cấu tạo, chức năng các khối master, slave, bộ giải mã (decoder) và bộ ghép kênh (multiplexer) trong hệ thống AHB Lite; phân tích các đường tín hiệu toàn cục, tín hiệu điều khiển (HADDR, HWRITE, HSIZE, HTRANS, HBURST, HREADY, HRESP); mô tả dạng sóng của các chu kỳ đọc/ghi dữ liệu cơ bản có đợi và không đợi. Tiếp đó, chương mô tả chuẩn giao thức APB thông qua các tín hiệu chuẩn (PCLK, PRESETn, PADDR, PSEL, PENABLE, PWRITE, PWDATA, PRDATA, PREADY, PSLVERR), 3 trạng thái hoạt động của FSM (IDLE, SETUP, ACCESS) và quy trình đọc/ghi có đợi hoặc không đợi. Cuối chương giới thiệu tổng quan về công nghệ phần cứng FPGA và cú pháp ngôn ngữ mô tả phần cứng Verilog HDL.
Chương 3: Thiết kế và đánh giá bộ chuyển đổi AHB LITE sang APB bus
Chương 3 trình bày chi tiết quá trình hiện thực hóa thiết kế hệ thống. Bắt đầu từ việc đặc tả yêu cầu mô hình (hỗ trợ 1 slave, tần số tối đa 100 MHz, đảm bảo tính toàn vẹn dữ liệu, hỗ trợ giao dịch đơn lẻ và giao dịch burst). Tiếp theo, tác giả trình bày kiến trúc phân rã của module AHB_SLAVE với khối pipelining (bảng ánh xạ thanh ghi BS_HADDR_1/2, BS_HWDATA_1/2), khối giải mã chọn thiết bị tớ (bảng điều kiện phân vùng địa chỉ cho 3 RAM), và khối phát hiện giao tiếp hợp lệ (valid_logic). Chương này tiếp tục chi tiết hóa thiết kế module APB_FSM điều khiển các pha của APB, sơ đồ kiến trúc các thanh ghi nội, cùng sơ đồ kết nối hoàn chỉnh giữa bộ chuyển đổi với module ngoại vi RAM controller để sẵn sàng cho công tác kiểm thử.
Chương 4: Kết quả và đánh giá
Chương 4 công bố toàn bộ dữ liệu thực nghiệm thu được sau quá trình thiết kế. Nội dung bao gồm kết quả tổng hợp sơ đồ khối logic mức RTL của bộ chuyển đổi và hệ thống tích hợp RAM controller; kết quả mô phỏng dạng sóng chức năng trên testbench cho các trường hợp: ghi và đọc đơn lẻ (không có trạng thái đợi và có trạng thái đợi), ghi và đọc burst tăng dần 4 nhịp (INCR4), ghi và đọc burst theo gói 4 nhịp (WRAP4). Cuối cùng, chương đưa ra các báo cáo đánh giá định lượng trên công cụ Xilinx Vivado bao gồm: phân tích các ràng buộc thời gian (timing report) và tần số xung nhịp cực đại đạt được, phân tích mức tiêu thụ công suất (công suất tĩnh và công suất động), và thống kê chi tiết mức độ sử dụng tài nguyên phần cứng trên chip FPGA mục tiêu.
Chương 5: Kết luận và hướng phát triển
Chương tổng kết đánh giá mức độ hoàn thành của đồ án so với các mục tiêu kỹ thuật đề ra ban đầu tại Chương 1. Tác giả khẳng định thiết kế đã thực hiện thành công việc chuyển đổi giữa hai giao thức AHB Lite và APB, đáp ứng tính đúng đắn về chức năng và đảm bảo tính toàn vẹn dữ liệu qua ngoại vi RAM controller. Đồng thời, chương chỉ ra các hạn chế còn tồn đọng và đề xuất các phương hướng mở rộng nghiên cứu trong tương lai khi có điều kiện nới rộng các ràng buộc về mặt công nghệ và thời gian thực hiện.
Kết quả và đóng góp
Nghiên cứu đã hoàn thành toàn diện các mục tiêu thiết kế và thu được các kết quả cụ thể thông qua số liệu tổng hợp, mô phỏng trên công cụ Xilinx ISE và Vivado:
- Kết quả kiểm tra chức năng: Dạng sóng mô phỏng xác nhận bộ chuyển đổi hoạt động chính xác theo đặc tả giao thức. Hệ thống thực hiện thành công các giao dịch đọc và ghi đơn lẻ (không đợi và có trạng thái đợi qua
PREADY), cũng như các chế độ truyền burst phức tạp gồm burst tăng dần 4 nhịp (INCR4) và burst gói 4 nhịp (WRAP4) với module ngoại vi RAM controller mà không xuất hiện lỗi mất mát dữ liệu.
- Kết quả phân tích hiệu năng và tài nguyên phần cứng: Thiết kế được tổng hợp và đánh giá thành công trên Kit FPGA Kintex-7 (mã
xc7k70tfbv676-1):
- Tần số hoạt động và timing: Thiết kế đáp ứng yêu cầu tần số hoạt động danh định 100 MHz, các chỉ số ràng buộc thời gian (setup time, hold time) được đảm bảo trong báo cáo timing summary.
- Mức tiêu thụ công suất: Báo cáo tóm tắt công suất xác định rõ tỷ lệ tiêu thụ công suất tĩnh (static power) của linh kiện và công suất động (dynamic power) của các khối logic chuyển mạch khi hệ thống vận hành.
- Tài nguyên phần cứng tiêu tốn: Bộ chuyển đổi sử dụng một tỷ lệ rất nhỏ tài nguyên trên kit
xc7k70tfbv676-1, bao gồm các bảng tra cứu logic (LUTs - LookUp Tables), Flip-Flops (FF), các khối đệm xung nhịp toàn cục (BUFG) và chân xuất nhập (IO).
| Hạng mục kiểm tra / Đánh giá |
Công cụ thực hiện |
Nền tảng / Mục tiêu |
Kết quả đạt được |
| Kiểm tra chức năng đọc/ghi đơn lẻ |
Xilinx ISE |
Mô phỏng dạng sóng BFM |
Đúng chức năng, đúng chu kỳ timing |
Kiểm tra chức năng burst (INCR4, WRAP4) |
Xilinx ISE |
Tích hợp RAM Controller |
Truyền nhận dữ liệu liên tục, toàn vẹn |
| Tần số hoạt động tối đa & Timing |
Xilinx Vivado |
FPGA xc7k70tfbv676-1 |
Đáp ứng mục tiêu 100 MHz |
| Phân tích công suất hệ thống |
Xilinx Vivado |
FPGA xc7k70tfbv676-1 |
Tối ưu, phù hợp bus ngoại vi APB |
| Mức độ sử dụng tài nguyên phần cứng |
Xilinx Vivado |
FPGA xc7k70tfbv676-1 |
Tiêu tốn ít tài nguyên (LUTs, FF, BUFG, IO) |
Đóng góp kỹ thuật của đề tài so với các nghiên cứu trước đó:
- Hiện thực hóa cấu trúc bộ chuyển đổi AHB Lite sang APB Bus với cơ chế pipelining 2 chu kỳ trễ, giúp giải quyết triệt để vấn đề xung đột pha giữa pha địa chỉ của AHB và pha truy xuất của APB, nâng cao tính toàn vẹn và độ rõ ràng của tín hiệu truyền nhận so với thiết kế tham chiếu [6].
- Xây dựng hoàn chỉnh khối logic phát hiện giao dịch hợp lệ kết hợp bộ giải mã địa chỉ cho 3 không gian ngoại vi độc lập, tạo cơ sở linh hoạt cho việc mở rộng tích hợp hệ thống sau này.
- Cung cấp mô hình kiểm thử toàn diện từ mức khối chức năng riêng biệt đến mức hệ thống tích hợp ngoại vi RAM controller thực tế.
Hạn chế và hướng nghiên cứu tiếp
Mặc dù đã đạt được các mục tiêu kỹ thuật đặt ra, tác giả cũng chỉ ra các mặt hạn chế của đề tài dựa trên phạm vi và điều kiện nghiên cứu:
- Hệ thống mới chỉ thực hiện kiểm tra và đánh giá giao tiếp thực tế với một ngoại vi duy nhất là RAM controller (kết nối qua kênh
BS_TEMP_SELX[0]), chưa tiến hành tích hợp và kiểm thử đồng thời với nhiều thiết bị ngoại vi APB vật lý khác.
- Không gian địa chỉ giải mã được thiết lập cố định cho 3 vùng RAM giả định (từ
32'd0 đến 32'd95), chưa hỗ trợ cấu hình động không gian địa chỉ.
- Quá trình đánh giá hiệu năng, timing và công suất mới dừng lại ở bước mô phỏng và tổng hợp phần mềm trên công cụ Xilinx ISE và Vivado; chưa thực hiện nạp bitstream lên board mạch phần cứng FPGA thực tế để đo đạc thông số thực nghiệm ngoài phòng thí nghiệm.
Hướng nghiên cứu và phát triển tiếp theo được tác giả đề xuất:
- Mở rộng thiết kế bộ chuyển đổi để có thể hỗ trợ đồng thời nhiều thiết bị ngoại vi APB thực tế khác nhau trong hệ thống SoC (như UART, Timer, GPIO/PIO).
- Nâng cấp máy trạng thái để hỗ trợ đầy đủ các tính năng của các phiên bản APB nâng cao hơn (như chuẩn APB3 với tín hiệu phản hồi lỗi
PSLVERR và tín hiệu sẵn sàng PREADY mở rộng, hoặc APB4 với tín hiệu bảo vệ PPROT và kiểm soát byte PSTRB).
- Triển khai nạp thiết kế lên kit phần cứng FPGA thực tế, kết nối với các chip ngoại vi vật lý để đo lường dạng sóng thực tế trên máy hiện sóng và phân tích công suất thực tế.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo có giá trị học thuật và ứng dụng kỹ thuật cao đối với:
- Sinh viên và học viên: Chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Máy tính, Công nghệ Vi mạch và Hệ thống nhúng đang học tập các học phần liên quan đến thiết kế VLSI, ngôn ngữ Verilog HDL và kiến trúc SoC.
- Kỹ sư thiết kế RTL: Những người đang nghiên cứu, phát triển các khối IP giao tiếp hoặc thiết kế hệ thống bus trong vi mạch SoC dựa trên kiến trúc chuẩn AMBA của ARM.
- Nội dung tham khảo trọng tâm:
- Chương 2 cung cấp tài liệu tổng quan chuẩn xác về cách thức hoạt động, giản đồ thời gian và phân loại tín hiệu của hai chuẩn bus AHB Lite và APB.
- Chương 3 cung cấp giải pháp thiết kế chi tiết khối Pipelining xử lý lệch pha địa chỉ/dữ liệu và máy trạng thái FSM điều khiển chuyển giao thức.
- Quy trình xây dựng mô hình testbench tích hợp RAM controller ở Chương 3 và 4 là tài liệu mẫu hữu ích cho công tác mô phỏng, kiểm thử chức năng burst transfer (
INCR4, WRAP4) trên phần mềm Xilinx.
Câu hỏi thường gặp
1. Khối Pipelining trong module giao diện thiết bị tớ AHB Lite (AHB_SLAVE) có nhiệm vụ gì và hoạt động ra sao?
Khối Pipelining có nhiệm vụ lưu giữ lại giá trị của các tín hiệu địa chỉ BS_HADDR, dữ liệu ghi BS_HWDATA và tín hiệu hướng ghi BS_HWRITE trong hai chu kỳ xung clock liên tiếp (tạo ra các tín hiệu ngõ ra BS_HADDR_1, BS_HADDR_2, BS_HWDATA_1, BS_HWDATA_2, BS_HWRITE_REG). Cơ chế này giúp giải quyết sự lệch pha giữa giai đoạn địa chỉ (chỉ kéo dài 1 chu kỳ trên AHB) và giai đoạn truy cập dữ liệu trên APB, cho phép các giao dịch tiếp theo được xử lý song song và bảo đảm dữ liệu từ chu kỳ trước vẫn tồn tại trong hệ thống khi cần sử dụng.
2. Điều kiện cụ thể để khối phát hiện giao dịch hợp lệ sinh tín hiệu BS_VALID = 1 là gì?
Tín hiệu BS_VALID được kích hoạt lên mức cao khi thỏa mãn đồng thời 4 điều kiện: (1) Tín hiệu reset hệ thống BS_HRESETn ở mức cao (mạch không bị reset); (2) Địa chỉ BS_HADDR nằm trong không gian hợp lệ từ 32'd0 đến 32'd95; (3) Kiểu truyền dữ liệu BS_HTRANS[1:0] phải khác trạng thái IDLE (2'b00) và khác trạng thái BUSY (2'b01); (4) Tín hiệu phản hồi sẵn sàng BS_HREADY từ thiết bị tớ có giá trị bằng 1'b1.
3. Thiết kế phân chia không gian địa chỉ cho các thiết bị tớ ngoại vi như thế nào?
Bộ so sánh địa chỉ (Comparator) phân chia không gian địa chỉ thành 3 vùng chính để điều khiển bus chọn BS_TEMP_SELX[2:0]:
- Địa chỉ từ
32'd0 đến 32'd31: gán tham số RAM1 (3'b001).
- Địa chỉ từ
32'd32 đến 32'd63: gán tham số RAM2 (3'b010).
- Địa chỉ từ
32'd64 đến 32'd95: gán tham số RAM3 (3'b100).
- Các vùng địa chỉ còn lại: gán trạng thái
UNDEFINED (3'b000, không ngoại vi nào được chọn). Trong mô hình kiểm chứng thực tế, tác giả kết nối chân BS_TEMP_SELX[0] với ngoại vi RAM controller.
4. Thiết kế đã kiểm chứng những loại giao dịch burst nào với ngoại vi RAM controller?
Ngoài các quá trình đọc và ghi đơn lẻ (cả không đợi và có trạng thái đợi), thiết kế đã kiểm chứng thành công hai loại giao dịch burst 4 nhịp cơ bản trên mô hình hệ thống với RAM controller, bao gồm: giao dịch burst tăng dần 4 nhịp (INCR4 tương ứng với mã HBURST = 3'b011) và giao dịch burst gói dữ liệu 4 nhịp (WRAP4 tương ứng với mã HBURST = 3'b010).
5. Đề tài sử dụng những công cụ phần mềm nào và nhắm tới kit phần cứng FPGA cụ thể nào?
Đề tài sử dụng ngôn ngữ Verilog HDL để mô tả phần cứng; sử dụng phần mềm Xilinx ISE để biên dịch và mô phỏng dạng sóng kiểm tra chức năng; sử dụng phần mềm Xilinx Vivado để tổng hợp sơ đồ khối logic RTL, phân tích timing, công suất và tài nguyên; mục tiêu triển khai phần cứng được định cấu hình trên dòng chip FPGA Kintex-7 với mã linh kiện cụ thể là xc7k70tfbv676-1.
Kết luận
Đồ án tốt nghiệp của tác giả Lê Viết Thái đã nghiên cứu, thiết kế và đánh giá thành công bộ chuyển đổi giao thức AMBA AHB Lite sang APB bus sử dụng ngôn ngữ mô tả phần cứng Verilog HDL. Hệ thống giải quyết hiệu quả vấn đề đồng bộ và chuyển đổi dữ liệu giữa hai miền bus có băng thông và cơ chế hoạt động khác nhau thông qua khối đệm pipelining 2 chu kỳ trễ và máy trạng thái APB 3 pha chuẩn xác. Kết quả mô phỏng trên Xilinx ISE và đánh giá tổng hợp trên Xilinx Vivado (hướng đến chip FPGA Kintex-7 xc7k70tfbv676-1) đã chứng minh tính đúng đắn của thiết kế trong các chế độ đọc/ghi đơn lẻ cũng như truyền burst liên tục với ngoại vi RAM controller ở tần số 100 MHz. Đề tài đóng góp một cấu trúc RTL hoàn chỉnh, độ tin cậy cao và tạo tiền đề vững chắc cho việc mở rộng kết nối đa ngoại vi trên các hệ thống vi mạch SoC phức tạp hơn.