Parametric Test – Khám sức khỏe cho con chip trước khi xuất xưởng
Thu, 28 Aug 2025

Theo dõi những câu chuyện của các học giả và các chuyến thám hiểm nghiên cứu của họ
Trong thiết kế SoC (System-on-Chip), các bus
protocol đóng vai trò cực kỳ quan trọng trong việc kết nối giữa CPU
và các thiết bị ngoại vi (peripherals). Bên cạnh những giao thức phức tạp
như AXI hay AHB, có một giao thức đơn giản nhưng thiết yếu là APB
(Advanced Peripheral Bus) – thuộc chuẩn AMBA do ARM đề xuất.
APB được sử dụng rộng rãi trong các thiết kế công nghiệp bởi
tính chất đơn giản, tiết kiệm công suất và dễ triển khai. Bài viết này sẽ
phân tích từ khái niệm, cấu trúc tín hiệu, cơ chế truyền dữ liệu,
đến quy trình kiểm chứng (Verification) trong DV (Design Verification).
1. APB là
gì?
APB (Advanced Peripheral Bus) là một giao thức bus
thuộc chuẩn AMBA (Advanced Microcontroller Bus Architecture). Mục đích của
APB là phục vụ giao tiếp với các thiết bị ngoại vi tốc độ thấp, ví dụ: Timer,
UART, GPIO, I2C, SPI, Watchdog…
Một số đặc điểm chính của APB:
Với đặc tính này, APB thường được dùng trong tầng ngoại vi
(peripheral layer) của hệ thống SoC.
2. Các
tín hiệu chính trong APB
Một giao tiếp APB bao gồm các tín hiệu điều khiển, địa chỉ
và dữ liệu. Những tín hiệu quan trọng nhất bao gồm:
Mỗi tín hiệu trên đóng vai trò then chốt trong việc xác định
đúng địa chỉ, đúng dữ liệu và đảm bảo việc truyền nhận diễn ra theo chuẩn
timing.
3. Cơ chế
truyền dữ liệu trong APB
Một giao dịch APB được chia thành 2 pha chính:
Setup Phase
Enable Phase
→ Mỗi transaction tối thiểu 2 chu kỳ clock (1 chu kỳ
Setup, 1 chu kỳ Enable).
Điều này làm cho APB trở thành một giao thức không tối ưu
về throughput, nhưng đơn giản và tiết kiệm năng lượng, phù hợp cho
ngoại vi.
4. Ví dụ
giao dịch APB
Giao dịch đọc
Giao dịch ghi
Trong cả hai trường hợp, nếu PREADY = 0, giao dịch bị
kéo dài cho đến khi Slave sẵn sàng.
5.
Verification APB Slave
Trong Design Verification (DV), việc kiểm chứng một APB
Slave (ví dụ: UART, GPIO) là rất quan trọng. Các yếu tố cần được xác minh
bao gồm:
Thành phần cơ bản của Testbench APB:
Nhờ có testbench này, DV engineer có thể phát hiện sớm các
bug liên quan đến địa chỉ sai, dữ liệu sai, timing lỗi, hoặc xử lý tín hiệu
bất thường.
6. Ý
nghĩa của APB trong DV
APB không chỉ là một giao thức thực tế trong SoC mà còn có ý
nghĩa lớn trong Design Verification:
Kết luận
APB Protocol là một trong những giao thức cơ bản
nhưng cực kỳ quan trọng trong thiết kế SoC. Với cấu trúc đơn giản, ít
tiêu tốn công suất, APB phù hợp để kết nối CPU với các thiết bị ngoại vi
tốc độ thấp.
Trong Design Verification, việc hiểu rõ cơ chế hoạt
động, các tín hiệu chính, và phương pháp kiểm chứng APB Slave
giúp DV engineer phát hiện bug sớm, đảm bảo tính đúng đắn của thiết kế.
APB có thể coi là bước khởi đầu quan trọng trên hành
trình nắm vững các bus protocol của AMBA, đồng thời là nền tảng không thể thiếu
trước khi tiến lên AHB và AXI.
Thu, 28 Aug 2025
Thu, 28 Aug 2025
Thu, 28 Aug 2025
Để lại bình luận