Tải bản đầy đủ (.pdf) (79 trang)

Nghiên cứu huấn luyện delay locked loop

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.11 MB, 79 trang )

ĐẠI HỌC DUY TÂN
KHOA ĐIỆN – ĐIỆN TỬ

NGUYỄN TRUNG KIÊN

NGHIÊN CỨU HUẤN LUYỆN DELAY LOCKED LOOP
ĐỂ LẤY DỮ LIỆU TRONG QUÁ TRÌNH GIAO TIẾP
TỐC ĐỘ CAO (2GHZ).

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

ĐÀ NẴNG, NĂM 2023

ĐẠI HỌC DUY TÂN
KHOA ĐIỆN – ĐIỆN TỬ

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU HUẤN LUYỆN DELAY LOOKED LOOP
ĐỂ LẤY DỮ LIỆU TRONG QUÁ TRÌNH GIAO TIẾP

CHUYÊN NGÀNH ĐIỆN – ĐIỆN TỬ (PNU)
GVHD: ThS. Trương Văn Trương
SVTH: Nguyễn Trung Kiên
Lớp: K25 EDD PNU
MSSV: 2521162288

ĐÀ NẴNG, 2023

LỜI CAM ĐOAN


Em xin cam đoan đồ án này là cơng trình nghiên cứu của cá nhân em và được sự
hướng dẫn của ThS. Trương Văn Trương. Các nội dung nghiên cứu trong đề tài “Nghiên
cứu huấn luyện Delay Locked Loop để lấy dữ liệu trong quá trình giao tiếp tốc độ
cao (2GHz).” của em là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây.
Các dữ liệu bao gồm hình ảnh, số liệu, thơng tin trong đồ án đều trung thực. Do bản thân
tơi tìm hiểu, tham khảo từ nhiều nguồn tư liệu khác nhau và có ghi rõ nguồn gốc. Đồ án
này không sao chép các đồ án đã có từ trước.

Nếu phát hiện có bất kỳ sự gian lận nào tơi xin hồn tồn chịu trách nhiệm về nội
dung đề tài của mình. Trường đại học Duy Tân không liên quan đến những vi phạm tác
quyền, bản quyền do tơi gây ra trong q trình thực hiện (nếu có).

LỜI CÁM ƠN

Lời đầu tiên em xin chân thành gửi lời cám ơn đến gia đình của em đã ni lớn
và dành những lời động viên tích cực để em được phát triển một cách tốt nhất cho đến
ngày hôm nay. Tiếp đến là thầy Trương Văn Trương - trưởng khoa Điện – Điện tử của
trường Đại học Duy Tân, đã giúp em rất nhiều trong quá trình thực hiện đồ án tốt nghiệp
này. Ngoài ra trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ,
đóng góp ý kiến và chỉ bảo nhiệt tình từ gia đình cho đến các bạn bè gần xa.

Nhờ sự giúp đỡ tận tình của thầy Trương Văn Trương nên trong quá trình thực
hiện đồ án em đã tiếp thu được nhiều kiến thức q báu, có ích trong q trình học tập
và làm việc trong tương lai. Được tiếp cận với những công nghệ mới trong ngành bán
dẫn vi mạch như: quy trình thiết kế, các bước kiểm thử trong hệ thống, cách học, nhận
biết những vấn đề.

Em chưa có nhiều kinh nghiệm trong q trình thực hiện đồ án nên khơng thể
tránh khỏi những sai sót. Rất mong nhận được sự góp ý của các thầy (cơ) để em hồn
thiện hơn.


Lời cuối em xin chân thành cảm ơn sự giúp đỡ của các quý thầy (cô), các anh
(chị) đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong quá trình thực hiện
đồ án tốt nghiệp này.

Sinh viên thực hiện

Nguyễn Trung Kiên

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

Đà Nẵng, ngày…, tháng…, năm 2023
Giảng viên hướng dẫn


ThS. Trương Văn Trương

MỤC LỤC

CHƯƠNG 1 MỞ ĐẦU .............................................................................................. 1
1.1 Lý do chọn đề tài ...........................................................................................1
1.2 Mục tiêu..........................................................................................................3
1.3 Đối tượng, phạm vi nghiên cứu....................................................................3
1.3.1 Đối tượng nghiên cứu...............................................................................3
1.3.2 Phạm vi nghiên cứu ..................................................................................3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT .......................................................................... 4
2.1 Giới thiệu về ngôn ngữ mô tả phần cứng verilog. ......................................4
2.1.1 Tổng quan.................................................................................................4
2.1.2 Đặc điểm...................................................................................................4
2.1.3 Ưu điểm ....................................................................................................4
2.2 Giới thiệu về giao tiếp Advanced Peripheral bus (APB). ..........................5
2.2.1 Giao tiếp APB...........................................................................................5
2.2.2 Ưu điểm ....................................................................................................5
2.2.3 Chức năng.................................................................................................5
2.3 Giới thiệu về clock domain crossing (CDC)................................................6
2.3.1 Clock Domain Crossing (CDC) là gì?......................................................6
2.3.2 Ảnh hưởng. ...............................................................................................6
2.3.3 Khắc phục.................................................................................................6
2.4 Giới thiệu tổng quan về khối Loopback......................................................6
2.4.1 Tại sao sử dụng khối Loopback?..............................................................6
2.4.2 Tổng quan về Khối Loopback ..................................................................7
2.4.3 Sơ đồ kết nối.............................................................................................7


CHƯƠNG 3 THIẾT KẾ ........................................................................................... 9
3.1 Giới thiệu tổng quan về thiết kế...................................................................9
3.1.1 Tổng quan sơ đồ khối và chức năng của thiết kế. ....................................9

3.1.2 Thông số của hệ thống: ............................................................................9
3.1.3 Thuật tốn tìm điểm tối ưu .......................................................................9
3.1.4 Chức năng của hệ thống ......................................................................... 11
3.1.5 Chương trình thực thi .............................................................................12
3.1.6 Sơ đồ kết nối giao diện...........................................................................13
3.2 Khối Advanced Peripheral bus (APB).......................................................15
3.2.1 Tổng quan...............................................................................................15
3.2.2 Sơ đồ kết nối ..........................................................................................15
3.2.3 Chức năng ..............................................................................................16
3.3 Khối Control and status register (CSR) ....................................................19
3.3.1 Tổng quan...............................................................................................19
3.3.2 Sơ đồ kết nối...........................................................................................19
3.3.3 Chức năng...............................................................................................20
3.4 Khối Sequencer............................................................................................21
3.4.1 Tổng quan...............................................................................................21
3.4.2 Sơ đồ kết nối...........................................................................................22
3.4.3 Chức năng...............................................................................................23
3.5 Khối Pattern Generator..............................................................................40
3.5.1 Tổng quan...............................................................................................40
3.5.2 Sơ đồ kết nối...........................................................................................41
3.5.3 Chức năng...............................................................................................42
3.6 Khối DLL Communication.........................................................................44
3.6.1 Tổng quan...............................................................................................44
3.6.2 Sơ đồ kết nối...........................................................................................45
3.6.3 Chức năng...............................................................................................46
3.7 Khối Comparator ........................................................................................48


3.7.1 Tổng quan...............................................................................................48
3.7.2 Sơ đồ kết nối...........................................................................................48
3.7.3 Chức năng...............................................................................................49
3.8 Khối Asynchronous FIFO...........................................................................50
3.8.1 Tổng quan...............................................................................................50
3.8.2 Sơ đồ kết nối...........................................................................................51
3.8.3 Chức năng...............................................................................................51
CHƯƠNG 4 KẾT QUẢ & ĐÁNH GIÁ.................................................................53
4.1 Xác minh thiết kế ........................................................................................53
4.1.1 Môi trường kiểm thử ..............................................................................53
4.1.2 Kịch bản kiểm thử ..................................................................................54
4.1.3 Kết quả kiểm thử ....................................................................................55
4.2 Thiết kế synthesis/STA................................................................................57
4.2.1 Ràng buộc về thiết kế (Design Constraints)...........................................57
4.2.2 Kết quả Synthesis ...................................................................................59
4.2.3 Kiểm tra chất lượng sau quá trình Synthesis..........................................60
4.3 Thiết kế để kiểm thử ...................................................................................61
4.3.1 Môi trường..............................................................................................61
4.3.2 Quy định của thiết kế..............................................................................62
4.3.3 Kết quả SCAN Insertion.........................................................................63
4.3.4 Kết quả kiểm tra độ bao phủ của ATPG Stuck-at...................................64
CHƯƠNG 5 KẾT LUẬN ........................................................................................ 65
5.1 Kết luận ........................................................................................................65
DANH MỤC VÀ TÀI LIỆU THAM KHẢO ............................................................. 66

DANH MỤC BẢNG

Bảng 2.1 Kết nối của khối LOOPBACK. ........................................................................8
Bảng 2.1 Cấu trúc và chức năng các lệnh. ..................................................................... 11

Bảng 2.2 Sơ đồ chân của thiết kế ...................................................................................13
Bảng 3.1 Sơ đồ chân của khối APB ...............................................................................15
Bảng 3.2 Sơ đồ chân của khối CSR ...............................................................................19
Bảng 3.3 Thanh ghi trong CSR ......................................................................................21
Bảng 3.4 Sơ đồ chân kết nối của khối Sequencer ..........................................................22
Bảng 3.5 Sơ đồ chân khối Sequencer.............................................................................25
Bảng 3.6 Sơ đồ chân khối Address Pointer....................................................................26
Bảng 3.7 Sơ đồ chân khối Error.....................................................................................27
Bảng 3.8 Sơ đồ chân khối Counter ................................................................................28
Bảng 3.9 Sơ đồ chân khối CTLFSM..............................................................................29
Bảng 3.10 Sơ đồ chân khối BURST ..............................................................................32
Bảng 3.11 Sơ đồ chân khối JUMPIF..............................................................................35
Bảng 3.12 Sơ đồ chân của khối FLUSH ........................................................................37
Bảng 3.13 Sơ đồ chân của khối MISC ...........................................................................39
Bảng 3.14 Sơ đồ chân khối Pattern Generator ...............................................................41
Bảng 3.15 Bảng sự thật khối Pattern Generator.............................................................43
Bảng 3.16 Sơ đồ chân khối DLL Communication.........................................................45
Bảng 3.17 Bảng sự thật của khối DLL Communication ................................................47
Bảng 3.18 Sơ đồ chân khối Comparator ........................................................................48
Bảng 3.19 Sơ đồ chân khối FIFO không đồng bộ..........................................................51
Bảng 3.20 Bảng sự thật khối FIFO không đồng bộ .......................................................52
Bảng 4.1 Kịch bản kiểm thử ..........................................................................................54
Bảng 4.2 Ràng buộc về xung .........................................................................................58
Bảng 4.3 Ràng buộc về đầu vào đầu ra của xung ..........................................................58
Bảng 4.4 Các đường dẫn bõ qua ....................................................................................58
Bảng 4.5 Báo cáo về thời gian .......................................................................................59
Bảng 4.6 Báo cáo về diện tích........................................................................................60
Bảng 4.7 Báo cáo mức năng lượng ................................................................................60
Bảng 4.8 Chất lượng sau quá trình Synthesis ................................................................61
Bảng 4.9 Các cổng scan tương ứng với từng nguồn xung .............................................61


Bảng 4.10 Các chế độ kiểm tra trong quá trình ATPG...................................................62
Bảng 5.1 Kết quả của tiến độ thực hiện .........................................................................65

DANH MỤC HÌNH ẢNH

Hình 2.1 FSM của AMBA3 APB.....................................................................................5
Hình 2.2 Clock domain crossing (CDC) ..........................................................................6
Hình 2.3 Khối DLL sử dụng trong thiết kế chipLỗi! Thẻ đánh dấu khơng được xác
định.
Hình 2.4 Độ trễ clock để lấy dữ liệu ............Lỗi! Thẻ đánh dấu khơng được xác định.
Hình 2.5 Tín hiệu nhiễu................................Lỗi! Thẻ đánh dấu khơng được xác định.
Hình 2.6 Khối Loopback nối vào khối DLL Training .....................................................7
Hình 2.7 Khối DLL Training............................................................................................9
Hình 2.8 Điểm tối ưu trong mắt dữ liệu.........................................................................10
Hình 2.9 Khối chức năng chính ..................................................................................... 11
Hình 2.10 Chương trình thực thi ....................................................................................12
Hình 2.11 Quá trình thực thi ..........................................................................................13
Hình 3.1 Khối APB ........................................................................................................15
Hình 3.2 Các khối con trong khối Request ....................................................................16
Hình 3.3 Waveform khi ghi giá trị. ................................................................................17
Hình 3.4 Waveform khi đọc giá trị.................................................................................17
Hình 3.5 Các khối con trong khối ACK.........................................................................18
Hình 3.6 Waveform khối thực thi yêu cầu .....................................................................18
Hình 3.7 Top-level của thiết kế ......................................................................................19
Hình 3.8 Khối Read-Only ..............................................................................................20
Hình 3.9 Khối Read and Write.......................................................................................21
Hình 3.10 Tổng quan khối Sequencer............................................................................22
Hình 3.11 Sơ đồ khối Sequencer....................................................................................24
Hình 3.12 Sơ đồ trạng thái của khối Sequencer.............................................................24

Hình 3.13 Sơ đồ khối Address Pointer...........................................................................26
Hình 3.14 Sơ đồ khối Error............................................................................................27
Hình 3.15 Sơ đồ khối Counter .......................................................................................28
Hình 3.16 Sơ đồ khối CTLFSM.....................................................................................29
Hình 3.17 Sơ đồ khối BURST .......................................................................................31

Hình 3.18 Sơ đồ trạng thái của khối BURST.................................................................33
Hình 3.19 Sơ đồ khối JUMPIF.......................................................................................35
Hình 3.20 Sơ đồ trạng thái của khối JUMPIF................................................................36
Hình 3.21 Sơ đồ khối FLUSH........................................................................................37
Hình 3.22 Sơ đồ trạng thái của khối FLUSH.................................................................38
Hình 3.23 Sơ đồ khối MISC...........................................................................................39
Hình 3.24 Sơ đồ trạng thái khối MISC ..........................................................................40
Hình 3.25 Sơ đồ khối Pattern Generator ........................................................................41
Hình 3.26 Sơ đồ khối sub-Pattern Generator .................................................................42
Hình 3.27 Sơ đồ khối điều khiển Pattern Generator ......................................................42
Hình 3.28 Waveform khối Pattern Generator.................................................................43
Hình 3.29 Khối Gatting cell ...........................................................................................43
Hình 3.30 Waveform khối Gating cell ...........................................................................44
Hình 3.31 Sơ đồ khối DLL Communication..................................................................44
Hình 3.32 Sơ đồ khối sub-DLL Communication ...........................................................46
Hình 3.33 Waveform khối DLL Communication ..........................................................48
Hình 3.34 Sơ đồ khối Comparator .................................................................................48
Hình 3.35 Sơ đồ trạng thái của khối Comparator ..........................................................49
Hình 3.36 Waveform khối Comparator..........................................................................50
Hình 3.37 Sơ đồ khối FIFO khơng đồng bộ...................................................................51
Hình 3.38 Waveform khối FIFO khơng đồng bộ ...........................................................52
Hình 4.1 Mơi trường kiểm thử .......................................................................................53
Hình 4.2 Độ hồn thiện của thiết kế về mặt chức năng. ................................................55
Hình 4.3 Mơ hình sóng để tìm điểm tối ưu. ...................................................................56

Hình 4.4 Xung sau khi giá trị độ trễ được áp dụng .......................................................56
Hình 4.5 Xung sau khi giá trị độ trễ được áp dụng và tìm được cạnh. ..........................56
Hình 4.6 Báo cáo full training........................................................................................57
Hình 4.7 Mơi trường kiểm thử cho ATPG SCAN..........................................................61
Hình 4.8 Design Rule Check trước khi ràng buộc. ........................................................63
Hình 4.9 Báo cáo số lượng flip-flop có trong các Scan chain. ......................................64
Hình 4.10 Báo cáo đã kiểm tra hết tất cả đường đẫn có bị stuck-at...............................64

DANH MỤC CÁC KÝ HIỆU, CÁC CHỨ VIẾT TẮT

Từ viết tắt Thuật ngữ

IoT Internet of Things

DFT Design for Test

DV Design Verification

ME Middle End

DRC Design Rule Check

HDL Hardware Description Language

DLL Delay Locked Loop

CTL Controller

PVT Process, Voltage, Temperature


APB Advanced Peripheral Bus

CSR Control and Status Register

CDC Clock Domain Crossing

SDC Synopsys design constrain

ATPG Auto test pattern generation


CHƯƠNG 1 MỞ ĐẦU

1.1 LÝ DO CHỌN ĐỀ TÀI
Một trong những lý do chính khiến em quyết định tập trung vào thiết kế vi mạch là

do sự hấp dẫn của lĩnh vực này đến từ sự đa dạng và tính ứng dụng rộng lớn. Thiết kế vi
mạch không chỉ liên quan đến việc tạo ra các linh kiện điện tử nhỏ gọn, mà còn mở ra
cánh cửa cho nhiều ứng dụng khác nhau như hệ thống nhúng, thiết bị IoT[1], máy tính,
điện thoại di động và nhiều lĩnh vực công nghiệp khác. Sự linh hoạt và tính ứng dụng
của thiết kế vi mạch là nguồn động viên lớn, giúp em cảm thấy hứng thú và đầy đủ động
lực để theo đuổi đề tài này.

Một lợi ích khác khi chọn đề tài thiết kế vi mạch là khả năng tiếp cận và áp dụng các
công nghệ tiên tiến. Việc này đặt ra một loạt các thách thức thú vị và đòi hỏi kiến thức
sâu rộng về nền tảng lý thuyết và kỹ thuật thực tế. Khả năng nắm bắt và ứng dụng những
tiến bộ mới nhất trong lĩnh vực này không chỉ giúp em phát triển bản thân mình mà cịn
đóng góp vào sự phát triển của cộng đồng nghiên cứu và công nghiệp điện tử nói chung.

Một trong những vấn đề trong quá trình truyền tải dữ liệu độ cao giữa các chip với

nhau. Dữ liệu và xung clock có thể được truyền cùng một lúc giữa hai chip với nhau. Ở
trạng thái tín hiệu khơng bị nhiễu, điểm tối ưu nhất mà khối có thể bắt được chính là ở
vị trí bằng 25% chu kỳ của xung của tín hiệu clock.

Hình 1.1 Điểm tối ưu khi tín hiệu không bị nhiễu
Nhưng mà trong thực tế, việc trao đổi dữ liệu này có thể bị ảnh hưởng bởi nhiều yếu
tố tác nhân bên ngoài như: nhiệt độ trong chip tăng, các điện áp trong chip thay đổi, thay
đổi trong q trình tính tốn các tác nhân này còn được gọi là PVT (Process, Voltage,
Temperature). Làm cho dữ liệu bị nhiễu, khơng cịn chính xác và không ổn định khiến

1

mẫu dữ liệu hẹp đi. Khi chip bắt những tín hiệu này xác xuất để nó bắt trúng những vùng
này rất cao.

Hình 1.2 Điểm tối ưu khi tín hiệu nhiễu.
Vì vậy bên trong mỗi chip có một khối Delay Locked Loop (DLL) dùng để làm chậm
xung clock nhằm mục đích giúp chip có thể bắt được dữ liệu một cách chính xác để tránh
những ảnh hưởng từ các nhân trên. Để khối Delay Locked Loop này hoạt động cần thuật
toán để vận hành.

Hình 1.3 Khối Delay Locked Loop trong chip
Từ đó, em quyết định chọn đề tài “Nghiên cứu huấn luyện Delay Locked Loop để
lấy dữ liệu trong quá trình giao tiếp” để thiết kế hệ thống điều khiển khối Delay
Locked Loop. Đây là một giải pháp nghiên cứu thực tiễn để giải quyết vấn đề nhiễu do
các tác nhân như nhiệt độ, điện áp và q trình xử lí gây ra.

2

1.2 MỤC TIÊU

• Thiết kế thuật tốn tìm điểm tối ưu nhất trong mẫu tín hiệu dữ liệu.
• Thiết kế hệ thống điều khiển khối Delay Locked Loop và áp dụng thuật tốn tìm
điểm tối ưu cho hệ thống này.

1.3 ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
1.3.1 Đối tượng nghiên cứu

• Tìm hiểu về thiết kế mạch Digital design.
• Tìm hiểu ngơn ngữ Verilog/SystemVerilog[2] cho RTL và Verification[3].
• Tìm hiểu về giao tiếp Advanced Peripheral Bus (APB).
• Tìm hiểu về Clock domain crossing (CDC).
• Tìm hiểu về Khối Delay Locked Loop (Loopback)
1.3.2 Phạm vi nghiên cứu
• Ngơn ngữ TCL.
• Ngơn ngữ SystemVerilog.
• Cơng c Synopsys VCSđ
ã Cụng c Design Compiler®

3

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 GIỚI THIỆU VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VERILOG.
2.1.1 Tổng quan

Verilog là một ngôn ngữ mô tả phần cứng (HDL – Hardware Description
Language). Được tạo ra vào những năm 1980, và đã trở thành một trong những ngôn
ngữ phổ biến nhất trong ngành thiết kế VLSI(Very Large Scale Integration)[6] và
FPGA(Field Programmable Gate Array)[7]. Được sử dụng trong việc thiết kế các các hệ
thống số, các mạch tích hợp: như bộ nhớ RAM, bộ vi xử lý hoặc đơn giản là D-FlipFlop...


Ngơn ngữ Verilog có 2 dạng: Verilog HDL (Hardware Description Language) và
Verilog AMS(Analog and Mixed-Signal).
2.1.2 Đặc điểm

- Cấu trúc: Thực hiện mô phỏng ở mức thấp( mức cổng logic), mạch tổng hợp
chính xác.

- Luồng dữ liệu: Đầu ra phụ thuộc đầu vào (thường dùng từ khóa assign). Mơ tả
chính xác hầu như mọi trường hợp.

- Hành vi: Chỉ mô tả chức năng của mạch. Mức hành vi mô tả một hệ thống số
bằng những thuật tốn (một số lệnh giống ngơn ngữ C như: if, case, for, while…).
Mạch khó tổng hợp chính xác. (dùng từ khóa always @)

- HDL là ngôn ngữ mô tả phần cứng không phải là ngơn ngữ lập trình
- Một điều khác giữa Verilog và C/C++ là không những Verilog thực hiện tuần tự

mà còn thực hiện song song.
2.1.3 Ưu điểm

- Nền tảng mạnh: chuẩn hóa năm 1995 bởi IEEE[8], hỗ trợ công nghiệp, phổ biến
cho các nhà ASIC vì dễ học, cho phép mô phỏng và tổng hợp hiệu quả.

- Tính đa năng: cho phép quá trình thiết kế thực hiện trong mơi trường thiết kế cả
phân tích và kiểm tra.

- Hỗ trợ công nghiệp: phổ biến cho các nhà thiết kế ASIC vì dễ học, cho phép mô
phỏng nhanh và tổng hợp hiệu quả.


- Có khả năng mở rộng IEEE Std 1364 chứa định nghĩa của PLI Verilog
(Programming Language Interface) cho phép mở rộng khả năng của Verilog. Nó
là một tập hợp các bộ định tuyến cho phép các chức năng bên ngoài truy nhập
thông tin chức năng thiết kế Verilog.

4

2.2 GIỚI THIỆU VỀ GIAO TIẾP ADVANCED PERIPHERAL BUS (APB).
2.2.1 Giao tiếp APB

Advanced Peripheral Bus[8] là một loại giao diện được sử dụng trong các hệ
thống SoC (System-on-Chip), nơi nhiều thành phần ngoại vi khác nhau được tích hợp
trên một vi mạch duy nhất. APB thường được sử dụng để kết nối và điều khiển các vi
mạch ngoại.
2.2.2 Ưu điểm

- Chi phí thấp.
- Mức độ tiêu thụ năng lượng thấp.
- Đơn giản và dễ dàng sử dụng.
- Có thể tương thích với nhiều giao diện khác như:giao diện AMBA Advanced High

- performance bus lite (AHB-Lite) và giao diện AMBA Advanced Extensible
interface (AXI).
2.2.3 Chức năng

Hình 2.1 FSM của AMBA3 APB
Giao tiếp APB có chế độ hoạt đông như sau:

- IDLE : Trạng thái ban đầu của APB.
- SETUP: Khi có yêu cầu từ người dùng, chuyển sang trạng thái SETUP.

- ACCESS: Bắt đầu đọc và viết vào các thiết bị trong hệ thống.

5

2.3 GIỚI THIỆU VỀ CLOCK DOMAIN CROSSING (CDC).
2.3.1 Clock Domain Crossing (CDC) là gì?

Clock Domain Crossing[9] là việc truyền tín hiệu từ miền đồng hồ này sang miền
đồng hồ khác. Nếu hai miền đồng hồ này khác tần số với nhau, tạo ra nhiều vùng tần số
khác nhau trong 1 chip dẫn đến tình trạng khơng đồng bộ.

Hình 2.2 Clock domain crossing (CDC)
2.3.2 Ảnh hưởng.

− Metasbility: Khi một tín hiệu chuyển từ một nguồn tần số này sang một nguồn
tần số khác. Sẽ xảy ra trạng thái không ổn đinh như tín hiệu ở trạng thái logic này
sang trạng thái logic khác hoặc ở trạng thái lơ lửng trong một khoảng thời gian
ngắn.

− Vi phạm Setup và hold time: ảnh hưởng tới việc lấy mấu của tín hiệu ở flip-flop
trong hệ thống số.

− Độ lệch: Sự chênh lệch giữa các tín hiệu clock trong các domain khác nhau có
thể dẫn điến vấn đề lệch, làm tăng khả năng xảy ra metastability.

2.3.3 Khắc phục.
- Double-Registering: sử dụng 2 flip flop để lấy mẫu tín hiệu khi chuyển từ domain
này sang domain khác, giúp giảm nguy cơ metastability.
- FIFO (First In - First Out): Sử dụng bộ đệm FIFO để làm giảm những ảnh
hưởng về thời gian, cung cấp thêm thời gian cho tín hiệu để ổn định.

- Handshaking Protocols: Sử dụng các giao thức giao tiếp giữa các miền để đảm
bảo đồng bộ và tránh các vấn đề về thời gian.

2.4 GIỚI THIỆU TỔNG QUAN VỀ KHỐI LOOPBACK
2.4.1 Tại sao sử dụng khối Loopback?

Khi thiết kế chip chúng ta khó để có thể thể ghép 2 chip lại với nhau để kiểm tra xem
hệ thống đã hoạt động ổn định hay chưa vì những nguyên nhân sau:

- Khơng thể kiểm sốt được độ nhiễu giữa việc giao tiếp của 2 chip để sử dụng cho
kiểm thử.

6

- Tốn chi phí và quá trình để làm ra chip để kiểm thử vì để tạo ra chip thì trải qua
nhiều công đoạn sản xuất chưa kết thời gian in chip.

- Trong quá trình kiểm tra nếu chúng ta kiểm thử bằng việc sử dụng 2 hệ thống
giống nhau để kiểm tra, sẽ tốn thời gian và tài nguyên mặt khác trong quá trình
chúng ta kiểm thử, dữ liệu trao đổi có thể bị nhiễu và chúng ta không thể kiểm
sốt được việc nhiễu đó.

Vì vậy, chúng ta thay thế việc đó bằng khối Loopback để thuận tiện hơn trong việc
giao tiếp và truyền nhận dữ liệu, sẽ khơng có sinh ra hiện tượng nhiễu giúp chúng ta có
thể kiểm tra hệ thống chính xác hơn.
2.4.2 Tổng quan về Khối Loopback

Khối Loopback được kết nối với khối DLL Training nằm mục đích nhận giá trị
độ trễ từ đó khối DLL sẽ điều chỉnh tín hiệu xung. Mặt khác trong đường giá trị dữ liệu,
chúng ta có thể tùy chỉnh độ nhiễu của dữ liệu tùy theo mong muốn của chúng ta nhằm

mục đích kiểm thử hệ thống.

Hình 2.3 Khối Loopback kết nối khối DLL Training
- Khối RX Data: Điều chỉnh độ nhiễu của đường dữ liệu.
- Khối DLL CTL: Nhận tín hiệu giá trị độ trễ từ khối DLL Communication để làm trễ

tín hiệu ra RX Clock.
2.4.3 Sơ đồ kết nối

7


×