Chương 1.1 Giới thiệu đề tài Trong bối cảnh ngành công nghiệp thiết kế vi mạch tại Việt Nam đang tập trung chủ yếu vào các công đoạn Back-end, nơi mà các kỹ sư chủ yếu làm việc với việc tối ưu hóa bố cục, kết nối và kiểm tra vật lý của chip, đề tài này nổi lên như một điểm sáng mới khi đi sâu vào lĩnh vực thiết kế RTL (Register-Transfer Level). PCIe là một chuẩn giao tiếp tốc độ cao được sử dụng rộng rãi trong các hệ thống máy tính hiện đại, cho phép các thiết bị ngoại vi như card đồ họa, card mạng và ổ cứng SSD kết nối với bo mạch chủ. Transaction Layer hoạt động như một người điều phối dữ liệu, đảm bảo rằng các gói dữ liệu được truyền đi một cách chính xác giữa các thiết bị. Không chỉ dừng lại ở vai trò điều phối, Transaction Layer còn đóng vai trò như một "cầu nối" quan trọng, tạo điều kiện cho việc kết nối và truyền tải dữ liệu giữa các con chip khác nhau.
Đây là một yếu tố quan trọng trong việc xây dựng các hệ thống phức tạp, nơi mà nhiều con chip cần phải làm việc cùng nhau để thực hiện các tác vụ tính toán và xử lý dữ liệu. Dựa trên nền tảng của Transaction Layer trong chuẩn giao tiếp PCI Express, Transaction Layer Modeling là một hệ thống được thiết kế đặc biệt để mô phỏng và kiểm tra hoạt động của Transaction Layer. Hệ thống này đảm nhận một loạt các chức năng quan trọng, bao gồm mô phỏng việc truyền và nhận dữ liệu giữa các thiết bị PCIe, giải mã các gói dữ liệu để trích xuất thông tin cần thiết, và khởi tạo các thông tin điều khiển để đảm bảo hoạt động chính xác của Transaction Layer. Đề tài này không chỉ mang đến những kiến thức chuyên sâu về một lĩnh vực còn khá mới mẻ tại Việt Nam mà còn mở ra những cơ hội nghiên cứu và phát triển đầy tiềm năng trong tương lai.
Đóng góp vào sự phát triển của ngành công nghiệp vi mạch trong nước.2 Mục tiêu thiết kế Hiện nay, ngành thiết kế vi mạch tại Việt Nam đang phát triển mạnh mẽ, tuy nhiên, phần lớn các vị trí hiện tại tập trung chủ yếu vào giai đoạn Back -end và chưa đặt nặng vào mảng thiết kế. Đề tài “Thiết kế Transaction Layer Modeling cho PCI Express 5.0” là một đề tài mới, tập trung vào vị trí RTL design trong quy trình thiết kế chip ASIC. Mục tiêu của đề tài này là giúp hiểu sâu hơn về quy trình thiết kế RTL, từ đó nâng cao khả năng tư duy logic và áp dụng hiệu quả các chuẩn giao tiếp (protocol). TLM được thiết kế với các tính năng sau: • Hoạt động với tần số 1.
• Đường nhận dữ liệu vào tương thích với PCIe 5.0 và các phiên bản cũ. • Hỗ trợ truyền/nhận nhiều kênh. • Hỗ trợ tạm dừng hệ thống màkhông mất dữ liệu • Quản lý lưu lương kênh truyền: khi có kênh truyền/nhận bị tắc nghẽn sẽ không ảnh hưởng đến các kênh truyền/nhận khác. Tự động khôi phục kênh truyền khi bị tắc nghẽn/xảy ra sự cố.3 Ngôn ngữ vàphần mềm thiết kế Ngôn ngữ thiết kế: ngôn ngữ mô tả phần cứng Systemverilog.
Phần mềm thiết kế: • Compiler: VCS Compiler – Synopsys. • Simulation: DVE - Synopsys. • Synthesis: RTL Architecture - Synopsys. PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIE) 5.1 Giới thiệu PCI Express 5.0 là một chuẩn kết nối dùng để kết nối các thành phần trong máy tính, như card đồ họa, card mạng, ổ đĩa SSD và nhiều thiết bị khác.
Được công bố vào năm 2019 bởi PCI-SIG (PCI Special Interest Group), PCIe 5.0 mang lại một loạt các cải tiến so với phiên bản trước đó, PCIe 4.0, và là một bước đột phá trong việc nâng cao hiệu suất và băng thông của hệ thống. Một trong những điểm nổi bật nhất của PCIe 5.0 là tốc độ truyền dẫn dữ liệu lên đến 32 GT/s (gigatransfers per second), gấp đôi so với PCIe 4.0 và gấp bốn lần so với PCIe 3. Điều này có nghĩa là PCIe 5.0 có khả năng chuyển dữ liệu lên đến 64GB/s trên mỗi làn đường, tạo điều kiện cho việc xử lý dữ liệu nhanh chóng và hiệu quả hơn trong các ứng dụng yêu cầu băng thông cao như trò chơi video, đồ họa 3D, tính toán khoa học, và truyền dữ liệu lớn [2].1: Tốc độ truyền của PCIe (CPU/GPU) Phiên bản PCIe Tốc độ truyền dữ liệu (lên đến) PCIe 1.0 32 GT/s Một tính năng quan trọng khác của PCIe 5.0 là khả năng tương thích ngược với các phiên bản PCIe trước đó. Điều này có nghĩa là các card mở rộng và các thiết bị PCIe 3.0 có thể hoạt động trên các khe cắm PCIe 5.0 và ngược lại, mặc dù hiệu suất sẽ bị giảm đi tương ứng với tốc độ của chuẩn PCIe thấp hơn.
Để đạt được tốc độ truyền dẫn dữ liệu cao hơn, PCIe 5.0 sử dụng kỹ thuật PAM4 (Pulse Amplitude Modulation 4) thay vì kỹ thuật NRZ (Non -Return-to-Zero) như các phiên bản PCIe trước đó. PAM4 cho phép truyền dẫn dữ liệu với 4 trạng thái tín hiệu thay vì chỉ 2 trạng thái, giúp tăng cường hiệu suất của kết nối [2]. Mặc dù PCIe 5.0 mang lại nhiều lợi ích về hiệu suất và băng thông, việc triển khai nó đòi hỏi sự hỗ trợ từ phần cứng và phần mềm, bao gồm bo mạch chủ, vi xử lý, card mở rộng và hệ điều hành. Do đó, mặc dù có sẵn trên thị trường từ năm 2020, 3 việc sử dụng PCIe 5.0 vẫn đang trong giai đoạn chuyển đổi và không phải tất cả các thiết bị mới đều hỗ trợ chuẩn này ngay từ đầu.0 đánh dấu một bước tiến lớn trong công nghệ kết nối của máy tính, cung cấp hiệu suất và băng thông cao hơn so với các phiên bản trước đó, đồng thời đảm bảo tính tương thích với các thiết bị PCIe hiện tại và tương lai.2 Các lớp (Layer) trong PCI Express 5.0 hoạt động dựa trên một kiến trúc layer, mỗi layer đảm nhận một vai trò cụ thể trong quá trình truyền dẫn dữ liệu.
Các layer chính trong PCIe 5.0 bao gồm Physical Layer, Transaction Layer vàData Link Layer [4].1 Physical Layer (lớp vật lý) Physical Layer (PHY) là lớp vật lý đóng vai trò quan trọng trong việc truyền dẫn dữ liệu qua các đường truyền của PCIe 5. Các chức năng chính của PHY bao gồm: ❖ Giao tiếp điện tử: PHY là nơi mà tín hiệu điện từ các thiết bị PCIe được chuyển đổi thành các tín hiệu điện áp hoặc dòng điện để truyền dẫn qua đường truyền [4]. ❖ Điều chỉnh tín hiệu: PHY điều chỉnh và tái tạo các tín hiệu để đảm bảo chất lượng truyền dẫn dữ liệu, đặc biệt là ở tốc độ cao của PCIe 5. ❖ Phát hiện và xử lý lỗi: PHY phát hiện và xử lý các lỗi truyền dẫn dữ liệu, bao gồm việc sửa chữa hoặc báo cáo lỗi đến các lớp khác của giao thức PCIe [4].2 Data Link Layer (lớp liên kết dữ liệu) Data Link Layer chịu trách nhiệm điều khiển việc truyền dẫn dữ liệu trên đường truyền PCIe và bao gồm các tính năng sau: ❖ Đồng bộ hóa dữ liệu: Data Link Layer đảm bảo rằng dữ liệu được truyền dẫn đồng bộ và có thứ tự trên đường truyền PCIe, tránh gây ra sự cố và mất mát dữ liệu [4].
❖ Kiểm tra lỗi: Data Link Layer thực hiện kiểm tra lỗi trên dữ liệu được truyền dẫn để đảm bảo tính toàn vẹn của dữ liệu và phát hiện và sửa chữa lỗi nếu cần [4]. ❖ Quản lý luồng: Data Link Layer quản lý việc truyền dữ liệu giữa các thiết bị PCIe bằng cách điều khiển luồng dữ liệu và đảm bảo rằng băng thông truyền dẫn được sử dụng hiệu quả nhất có thể [4]. ❖ Địa chỉ hóa: Transaction Layer điều phối việc gán địa chỉ cho các gói tin dữ liệu và xác định các thiết bị mục tiêu mà dữ liệu sẽ được gửi đến [4]. ❖ Kiểm soát truy cập: Transaction Layer quản lý quá trình kiểm soát truy cập vào đường truyền PCIe, đảm bảo rằng các thiết bị chỉ có thể truy cập vào đường truyền khi được phép [4].
TRANSACTION LAYER TRONG PCI EXPRESS 5.1 Transaction Layer trong kiến trúc PCI Express Transaction Layer (lớp giao dịch) là thành phần cốt lõi trong kiến trúc PCI Express, đảm nhiệm việc truyền tải dữ liệu đáng tin cậy và hiệu quả giữa các thiết bị. Thường được thiết kế trong DPU (Data Processing Unit). Dưới đây là chi tiết về các chức năng chính của nó: ❖ Giao thức Split-Transaction: Transaction Layer sử dụng giao thức "Split-Transaction" với khả năng pipeline, cho phép xử lý đồng thời nhiều giao dịch, tăng hiệu suất truyền dữ liệu. Mô hình này chia giao dịch thành hai phần: • Request Phase: Thiết bị gửi yêu cầu dữ liệu hoặc thực hiện một thao tác.
• Completion Phase: Thiết bị nhận phản hồi với kết quả của thao tác hoặc dữ liệu được yêu cầu. Hai giai đoạn này có thể diễn ra độc lập và không cần chờ đợi lẫn nhau, cho phép tận dụng tối đa băng thông và giảm độ trễ. ❖ Phân loại và Xử lý TLP: Transaction Layer cung cấp các cơ chế để phân loại và xử lý TLPs theo thứ tự ưu tiên và yêu cầu khác nhau [4]. Điều này đảm bảo các TLP quan trọng được xử lý trước và đáp ứng các yêu cầu về thời gian thực.
❖ Kiểm soát Luồng Dữ liệu: Sử dụng cơ chế credit-based flow control để quản lý luồng dữ liệu giữa các thiết bị và tránh tình trạng quá tải [4]. Cơ chế này cho phép thiết bị nhận kiểm soát lượng dữ liệu mà nó có thể xử lý, đảm bảo truyền dữ liệu hiệu quả và ổn định. ❖ Bảo vệ dữ liệu (tùy chọn): Hỗ trợ tùy chọn cho việc "đầu độc dữ liệu" (data poisoning) và kiểm tra tính toàn vẹn dữ liệu đầu-cuối (end-to-end data integrity) [4]. Data poisoning đánh dấu dữ liệu không hợp lệ để tránh sử dụng nhầm lẫn.
Kiểm tra tính toàn vẹn dữ liệu đảm bảo dữ liệu không bị thay đổi trong quá trình truyền. 6 ❖ Xây dựng và Xử lý TLP: Trong Transaction Layer, một giao dịch (transaction) hay gói tin ( dữ liệu) được truyền tải gọi là TLP (Transaction Layer Packet). Transaction Layer chịu trách nhiệm xây dựng TLPs trước khi gửi và giải mã TLPs khi nhận [4]. Điều này bao gồm việc thêm và loại bỏ header, data payload, và thông tin kiểm tra lỗi.
❖ Các chức năng khác: • Quality of Service (QoS): cho phép ưu tiên các loại lưu lượng dữ liệu khác nhau. • Virtual Channels: cho phép chia sẻ băng thông giữa nhiều chức năng khác nhau của thiết bị. • Atomic Operations: hỗ trợ các thao tác nguyên tử để đảm bảo tính nhất quán dữ liệu.