PCI express là hệ thống kiến trúc các lớp bao gồm: lớp truyền nhận Transaction Layrer, lớp liên kết dữ liệu data link layer và lớp vật lý Physical layer trong mỗi lớp được chia thành hai
Trang 1II-O-1.14
THIẾT KẾ VÀ MÔ PHỎNG LỚP VẬT LÝ CỦA PCI EXPRESS 2.0
Nguyễn Thị Lệ Linh 1 , Nguyễn Chí Nhân 1 , Bùi An Đông 2 , Nguyễn Văn Hiếu 1
1 Khoa Vật lý-Vật lý Kỹ thuật, Trường Đại học Khoa học Tự Nhiên, ĐHQG-HCM
2Khoa Điện tử Viễn thông, Trường Đại học Khoa học Tự Nhiên, ĐHQG-HCM TÓM TẮT
Bài báo này trình bày chi tiết việc phân tích, thiết kế và mô phỏng lớp vật lý của chuẩn giao tiếp PCI Express Lớp vật lý tách biệt với các lớp giao dịch và lớp liên kết dữ liệu nó được sử dụng cho việc trao đổi dữ liệu trên các liên kết PCI Lớp vật lý được chia thành hai khối phụ gồm khối lôgic và khối điện Lớp vật lý được thiết kế ở mức hệ thống với phương pháp thiết kế từ trên xuống và viết mã Verilog HDL để thực hiện lớp vật lý Các mô-đun thiết kế của lớp vật lý được kiểm tra tính đúng đắn dựa trên mô phỏng chức năng Kết quả mô phỏng cho thấy lớp vật lý được thiết kế đáp ứng các chức năng của lớp vật lý trong giao thức PCI Express ™ 2.0
Từ khoá: PCI Express; Physical Layer; Physical Layer Packet (PLP)
TỔNG QUAN
PCI Express là một chuẩn giao tiếp tốc độ cao được thiết kế nhằm thay thế các chuẩn cũ trước đây như PCI, PCI-X PCIe có thể kết nối được với nhiều thiết bị ngoại vi và được ứng dụng nhiều trong các lĩnh vực điện thoại di động, hệ thống nhúng, là nền tảng của máy tính và truyền thông PCIe là bus truyền tốc độ cao, kết nối điểm – điểm, có thể truyền nhận đồng thời theo cả 2 hướng
PCI express là hệ thống kiến trúc các lớp bao gồm: lớp truyền nhận (Transaction Layrer), lớp liên kết dữ liệu (data link layer) và lớp vật lý (Physical layer) trong mỗi lớp được chia thành hai phần phần truyền (Tx) thực hiện quá trình truyền dữ liệu đi qua từng lớp để xử lý sau đó dữ liệu được đưa qua link tới thiết bị nhận Phần nhận (Rx)nhận dữ liệu từ link đi vào xử lý dữ liệu và đưa qua các lớp
PCI express sử dụng giao thức truyền nhận dưới dạng các gói để dảm bảo được tính toàn vẹn của dữ liệu Chuẩn giao tiếp này cung cấp ba loại gói cơ bản là TLPs được tạo ra từ lớp Transaction Layer, DLLPs từ lớp Data link layer và PLPs – Physical layer Các gói dữ liệu khi được truyền qua các lớp khác, chúng sẽ được mở rộng bằng cách thêm vào các thông tin cần thiết để kiểm tra lỗi, biết được điểm bắt đầu-kết thúc của gói,
THIẾT KẾ CẤU TRÚC LỚP VẬT LÝ
Lớp vật lý là lớp cuối cùng trong cấu trúc PCIe Mô hình tổng quan của lớp vật lý được thể hiện như Hình
1 Một mặt lớp vật lý sẽ giao tiếp với lớp liên kết dữ liệu, mặt còn lại được kết nối với link Lớp vật lý sẽ xử lý
các gói dữ liệu được chuyển đến từ lớp liên kết dữ liệu trước khi truyền chúng qua link và xử lý các gói dữ liệu nhận được từ link sau đó đưa dữ liệu ngược lại lớp liên kết dữ liệu
Hình 1 Mô hình tổng quan lớp vật lý
Hai khối chức năng chính cấu thành nên lớp vật lý là: khối logical và electrical Hai khối chính trong lớp vật lý được chia thành phần truyền (Tx) và phần nhận (Rx)
Trang 2Hình 2 Khối logical và khối electrical của lớp vật lý
a) Phần truyền (Tx)
Phần truyền có nhiệm vụ thực hiện quá trình nhận và xử lý các gói dữ liệu TLPs và DLLPs từ lớp liên kết
dữ liệu sau đó đưa dữ liệu ra các chân PIPE của PHY Hình 3 thể hiện sơ đồ khối chi tiết bên trong phần truyền
khối logical Các phần tử cấu thành nên phần truyền bao gồm:
Hình 3 Chi tiết phần truyền của khối logic và sơ đồ khối phần truyền khối logic thiết kế
Khối TX_CONTROL: điều khiển quá trình đọc ghi dữ liệu vào bộ đệm
Khối START/END: khối này cung cấp các byte dư liệu STP, SDP,END,EDB là những byte chỉ ra điểm bắt đầu
và kết thúc của dữ liệu
Khối TX_BUFFER: là bộ đệm đửa chứa các gói dữ liệu được gửi tới từ lớp liên kết dữ liệu Bộ đệm được thiết
kế là một FIFO (First In First Out)
Khối ORDERED_SET: khối này cung cấp các gói dữ liệu TS1/TS2, FTS, IDLE, SKP phục vụ cho quá trình Link-training
Khối MUX-GATE: khối này thực hiện sự chọn lựa các gói dữ liệu hoặc là các gói TLPs,DLLPs từ các lớp liên kết dữ liệu hoặc các gói dữ liệu Ordered-set
Trang 3b) Phần nhận (Rx)
Nhận dữ liệu gửi tới từ PHY sau đó xử lý và trả gói dữ liệu về lớp Liên kết Dữ liệu Hình 4 thể hiện chi tiết
bên trong phần nhận khối Logical, các phần tử cấu thành nên phần nhận bao gồm:
Hình 4 Chi tiết phần nhận của khối logic và sơ đồ khối phần nhận của thiết kế
Khối FILTER-CHECK: loại bỏ các byte dữ liệu điều khiển dữ liệu như STP,SDP,END,EDB trước khi đưa vào
bộ đệm Các gói dữ liệu Ordered-set cũng được loại bỏ chỉ để lại phần dữ liệu TLPs hoặc DLLPs và kiểm tra lỗi sai
Khối DE-SCRAMBLER: bộ xáo trộn dữ liệu theo thuật toán Pseudo-randomly
Khối RX-BUFFER: bộ đệm dùng để chứa các gói dữ liệu mà sau đó dữ liệu sẽ được đưa trở về lớp liên kết dữ liệu
Khối RECEIVE-CONTROL: điều khiển quá trình đọc ghi dữ liệu vào bộ đệm
Sơ đồ chân
Hình 5 Sơ đồ chân khối logical
Khối logic của lớp vật lý giao tiếp với lớp liên kết dữ liệu, phần còn lại sẽ giao tiếp với chip PHY theo chuẩn giao tiếp PIPE
Trang 4Bảng 1 Chi tiết sơ đồ chân tín hiệu khối logical
liệu được truyền vào Tính hiệu được tích cực ở mức cao
liệu được truyền vào Tính hiệu được tích cực ở mức cao
Lớp Liên kết Dữ liệu gửi tới
tx_valid Input 1 Tín hiệu báo có dữ liệu được truyền vào
tx_packs_type Input 1 Chỉ loại dữ liệu được truyền vào
tx_packs_type = 1: gói TLP tx_packs_type = 0: gói DLLP tx_data output 8 Gói dữ liệu đi ra Đây là chân dữ liệu
PIPE của PHY tx_datak output 1 Chỉ các ký tự điều khiển như STP, SDP,
END hoặc các loại ordered-sets, Tín hiệu được tích cực ở mức cao Đây là chân tín hiệu PIPE của PHY
rxsof output 1 Xác định điểm bắt đầu của một gói dữ
liệu ra khỏi lớp Vật lý
liệu ra khỏi Lớp Vật lý Tính hiệu được tích cực ở mức cao
data_out output 8 Các gói dữ liệu TLPs hoặc D Ps đi ra
khỏi Lớp Vật lý rx_valid output 1 Tín hiệu báo có dữ liệu được truyền vào
Tín hiệu được tích cực ở mức cao
rx_packs_type = 1: gói TLP rx_packs_type = 0: gói DLLP rx_data input 8 ói dữ liệu nhận vào từ thiết bị PCIe
Đây là chân dữ liệu PIPE của PHY rx_datak input 1 Chỉ các ký tự điều khiển như STP, SDP,
END hoặc các loại ordered-sets, Tín hiệu được tích cực ở mức cao Đây là chân tín hiệu PIPE của PHY
Khối electrical
Khối electrical gồm bên truyền, bên nhận, link Bên truyền của một thiết là kết nối xoay chiều AC tới Bên
nhận của thiết bị đối diện bên kia link như thể hiện trong Hình 6 Hai tụ được kết nối có dung kháng 75-200 nF
để tạo ra một điện thế một chiều Mức điện thế một chiều DC ở bên truyền là mức điện thế chung được thiết lập trong quá trình Link training và khởi tạo
Trang 5KẾT QUẢ MÔ PHỎNG
Các module của khối vật lý được viết trên ngôn ngữ mô tả phần cứng Verilog, sử dụng phần mềm Quatus
II viết code miêu tả chức năng của các khối Dùng phần mềm ModelSim để kiểm tra kết quả
Kết quả kiểm tra thiết kế được trình bày như trong sau:
Hình 7 Mô tả dữ liệu truyền vào lớp vật lý từ lớp liên kết dữ liệu Hình 8 Trình bày quá trình nhận dữ liệu, xử lý dữ liệu tháo gỡ các ký tự điều khiển và chỉ để lại dữ liệu
Dữ liệu này được ghi vào bộ đệm và đưa lên lớp liên kết dữ liệu
Hình 8 Phần nhận dữ liệu KẾT LUẬN
Trong bài báo này, chúng tôi đã mô tả được cấu trúc của lớp vật lý, viết code verilog cho từng khối trong thiết kế và kiểm tra hoạt động của thiết kế này bằng viết code testbench Kết quả mô phỏng cho thấy rằng, thiết
kế đã mô phỏng được chức năng của từng khối phù hợp với chức năng lớp vật lý theo chuẩn giao tiếp PCI express 2.0
Trang 6DESIGN AND SIMULATION OF PCI EXPRESS PHYSICAL LAYER
Nguyen Thi Le Linh 1 , Nguyen Chi Nhan 1 , Bui An Dong 2 , Nguyen Van Hieu 1
1Faculty of Physics-Engineering Physics, University of Science, VNU-HCMC
2Faculty of Electronics and Telecommunications, University of Science, VNU-HCMC
ABSTRACT
This paper presents a detailed analysis, design and simulation of PCI Express Physical Layer The Physical Layer isolates the Transaction and Data Link Layers from the signaling technology used for Link data interchange The Physical Layer is divided into the logical and electrical subblocks The paper designed Physical Layer in the system level with top-down design method and wrote the Verilog HDL codes to implement Physical Layer Wrote testbench to verify the correctness of the design module for function simulation The simulation results show that the designed Physical Layer meets the required of the function of PCI Express™ Physical layer Base Specification Revision 2.0
Key words: PCI Express; Physical Layer; Physical Layer Packet (PLP)
TÀI LIỆU THAM KHẢO
[1] PCI-SIG, PCI Express 2.0 Base Specification Revision 0.9, 2006, tr.632
[2] Wang Lihua, Design and Simulation of PCI express Transaction Layer, 2009
[3] Intel Corporation, PHY Interface for the PCI Express Architecture, 2007
[4] https://www.pcisig.com/specifications/pciexpress