Đối với quá trình nhận, IP có khả năng nhận ra một gói tin ethernet được gửi tới từ tầng vật lý, trích xuất các trường thông tin, trường dữ liệu nhằm đảm bảo thựchiện các giao thức mà qu
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG DAI HOC CONG NGHE THONG TIN
KHOA KY THUAT MAY TÍNH
NGUYEN NGOC HAI
KHOA LUAN TOT NGHIEP
THIET KE VA HIEN THUC IP ETHERNET 1Gbps TREN
FPGA
DESIGN AND IMPLEMENTATION ETHERNET IP 1 Gbit/s ON FPGA
KY SU KY THUAT MAY TÍNH
TP HO CHÍ MINH, 2023
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG ĐẠI HỌC CÔNG NGHỆ THONG TIN
KHOA KỸ THUẬT MÁY TÍNH
NGUYEN NGOC HAI - 18520702
KHOA LUAN TOT NGHIEP
THIET KE VA HIEN THUC IP ETHERNET 1Gbps TREN
FPGA
DESIGN AND IMPLEMENTATION ETHERNET IP 1 Gbit/s ON FPGA
KY SU KY THUAT MAY TÍNH
GIANG VIEN HUONG DAN
Ths Ngô Hiếu Trường
TS Đoàn Duy
TP HÒ CHÍ MINH, 2023
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 75/QD-DHCNTT
ngày 15 tháng 2 năm 2023 của Hiệu trưởng Trường Dai học Công nghệ Thông tin.
Trang 4LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành đến thầy hướng dẫn - ThsNgô Hiếu Trường và TS Đoàn Duy, các thầy đã tận tình trong quá trình làm khóaluận, cung cấp các trang thiết bị, cũng như dành nhiều thời gian chỉnh sửa, góp ýgiúp em có thể hoàn thành khóa luận một cách tốt đẹp
Bên cạnh đó, em cũng xin gửi lời cảm ơn đến Thầy/Cô và bạn bè khoa Kỹ
thuật máy tính nói riêng và trường Đại học Công nghệ Thông tin - Đại học quốc giaThành phó Hồ Chí Minh nói chung đã tận tình giảng dạy, truyền đạt các kiến thức
vô cùng bồ ich, cùng đồng hành và hỗ trợ trong suốt quá trình học tập tai trường Đạihọc Công nghệ Thông tin Những kiến thức và kinh nghiệm quý báu đó là tài sản vô
giá đối với quãng đường tương lai của em
Cuối cùng, xin dành lời cảm ơn sâu sắc đến ba mẹ và gia đình vì đã luôn sátcánh, động viên, tạo điều kiện và là chỗ dựa tinh thần vững chắc trên con đường học
tập của em.
Trong suốt quá trình thực hiện đề tài khóa luận, em không thé tránh khỏi
những khó khăn và sai sót do một số giới hạn liên quan đến chuyên ngành chuyênsâu Vì thế, mong các quý Thầy/Cô và các bạn sẽ thông cảm, và có thể đóng góp ý
kiến dé đề tài khóa luận này được phát trién và hoàn thiện hon trong tương lai
Một lần nữa em xin chân thành cảm ơn
TP Ho Chí Minh, ngày 01 tháng 02 năm 2023
Sinh viên thực hiện
Nguyễn Ngọc Hải
Trang 5Chuong 2 TỎNG QUAN VE ETHERNET :-2222222++ev2vvsecrre 4
2.1 Mô hình OSI
2.1.1 Tổng quan mô hình OSI -:¿¿222+vvv+z+++ttvvvrvrrrrrrrrrri 4
2.1.2 Phạm vi của IP Ethernet trong mô hình OST
21.3, Giao thứỨc và 6 2.2 Media Access Control
2.2.1 Tống quan về Media Access Control (MAC) : ssccc2 6
2.2.2, Địa Chi MAC HH 7 2.3 Media Independent Interface - «5+ + S++k‡ekEkEekekekrrrkrkee 7
2.3.1 Tổng quan về Media Independent Interface (MII) 7
2.3.2 Gigabit Media Independent Interface (GMI]) - 8
2.4 — Frame Ă HT HH HH HH 10
2.4.1 Ethernet frame -ccccccrcrrrerrrrerrerrrrerrrrrrrrer 11
2.4.2 ARP paCKK TH HH TH HT HH HH ngư 13
2.4.3 Ipv4 packKet HH HH re 15 2.4.4 UDP datagram -.c SH re 17
2.5 Transaction -c.S.Sv v12 18
2.6 Giao thức AXĨ Ă HH ruườ 19
Trang 62.6.1 Tổng quan giao thức AXI .-¿-2ccc+22vvzreeccvvrrerrrseee 19
2.6.2 AXI Direct Memory Access
Chương 3 Ethernet IP COre - - + 5+5 28
3.1.1 Sơ đồ khối tổng quát của Ethernet IP 1 Gbit/s
3.1.2 — Clock St HH HH Hà ae 29
3.1.3 Interface
3.1.4 Module MAC oo eeecceessesesseesseseestesseeseeseesessesssenseseesessesssenseseesesecs 30
3.1.4.1 Sơ đồ khối tổng quan module MAC
3.1.4.4 LESR l2 ố ci.eiec.e 32
3.1.5 Module Ipv4 cẶ Ăn 34
3.1.5.1 Sơ đồ khối tổng quan -¿-:+++222+++tetvrxrrrrrrrvecree 34
3.1.5.2 Ipv4 RX và Ipv4 TX ST net 35 3.1.5.3 ARP HH HH Hư 35 3.1.5.4 ATDit€T Ăn HH reo 7 3.1.6 Module UDP - 5c srrseerHeereeiec OT
Chương 4 HIỆN THỰC TREN PHAN CỨNG - -: 22ccccccce2 394.1 Kiểm thử chức năng của IP Ethernet 1Gbit/s trên FPGA 39
Trang 74.2 Tích hợp IP Ethernet vào một hệ thống SOC -: -:: ss 454.2.1 Xây dựng hệ thống SoC.
4.2.2 Xây dựng hệ thống SoC trên phần mềm Vivado - 464.2.3 Xây dựng chương trình trên phần mềm Vitis
4.2.4 KẾtquả ì 2H nnHereerrerrii 48
4.2.5 Tài nguyên phần cứng sử dung
Chương5 Tổng kết -52ccccccccrverrrrrreccerrreccerrr 0)5.1 Kếtluận
5.2 Khó khăn gặp phải 222 22222221211 50 5.3 Hướng phát triên - «5-5 tr 51
Trang 8DANH MỤC HÌNH
Hình 2.1: Mô hình OSI [2] -¿ 5-5252 S5£2SSE£*2EEEEEEEkEErkererrrkerrrrrerree 4
Hình 2.2: Phạm vi của IP Ethernet trong mô hình OSI [I] - eee 5
Hình 2.3: Sơ đồ định thời của GMIH Rx 22 2-+2E22EE2EE2EEt2EEtrxerrxerrkesree 10Hình 2.4: Sơ đồ định thời của GMII Tx -22222++++2222Evvvrvrrrrtrrrrrrrrcee 10
Hình 2.5: Đóng gói dữ liệu trong mỗi giao thức [I] : c¿cs++c5sccscs+2 10
Hình 2.6: Cấu trúc một frame Ethernet [3] 2z z+£+x++EE++£xz+Ex+rxezrxezree 11
Hình 2.7: Cấu trúc ARP packet [9] sàn vn ng Hư 14Hình 2.8: Cấu trúc của một Ipv4 Header [§][10] -cc+¿+cccvsvccc+2 16
Hình 2.9: Cấu trúc của một UDP datagram [ Ï Ï] -¿-¿-+ + +<s<z++++<ecexss+ 18Hình 2.10: Kiến trúc chung của giao thức AXI4 -: :c222vcz2ccvvcceez 20
Hình 2.11: Một transaction đọc của giao thức AXXÌ4 ¿-¿ «5 š++5++<c+c<c+ 21
Hình 2.12: Một transaction ghi của giao thức AXĨ4 -¿-¿ ¿c<c+c+c+xsccccsee 2
Hình 2.13: Kết nối tín hiệu giữa hai module AXI 4 Stream - 23
Hình 2.14: Tín hiệu của Master AXI4 Stream -¿- 25+ 5s se sssrrrrsexserry 24
Hình 2.: IP DMA Xilin - -5 5:25: 1 2t tt tt HE HH rrờ 25
Hình 3.1: Sơ đồ khối tong quan của IP Ethernet IGbit/s [12] - 28
Hình 3.2: Interface của IP Ethernet IGBit/s [ I3] - ¿+55 +5 ++xsecesex+e>ex 29
Hình 3.3: Sơ đồ khối tổng quan module MAC - 2: ©2z+22+zz+zvzzveceee 30
Hình 3.4: FMS quá xử lý frame Ethernet cho GMIII - - ¿5+ 55++x+c+cexcr+ 31 Hình 3.5: FMS quá trình tạo frame Ethernet cho GMII - 2 2 +5<++ 32
Hình 3.6: Cấu trúc thanh ghi LESR Galios [14] - 55+ s+cexseeeeeeree 33Hình 3.7: Sơ đồ khối tổng quan của module Ipv4 [12] -cc+ 34
Hình 3.8: Mô tả cơ chế hoạt động của module ARP ¿-¿c+c+ccccrerecee 36Hình 3.9: Hình Sơ đồ khối tổng quan module ARP [12] : :: 36
Hình 3.10: sơ đồ khối tổng quan của module UDP - - ¿z+2+cc++¿ 37
Hình 4.1: Mô tả mô hình thử nghiệm IP trên EPGA 5+ 5555+ 552 39
Hình 4.2: Xây dựng mô hình hoạt động của IP Ethernet trên board VC707 40
Hình 4.3: Cấu hình Ipv4 trên PC
Trang 9Hìn
Hinl
Hin!
Hìn
Hìn
Hinl
Hin!
Hìn
Hinl
h 4.4: PC nhận duoc ARP reply -¿ - - + 55+ ket rưy 42
h 4.5: PC gửi ARP redU€S( St HH HH HH HH 42
h 4.6: Dùng netcat để kết nối UDP tới Ip chỉ định -: -: 42
h 4.7: Các gĩi tin UDP bắt được bằng phần mềm White Shark 43
h 4.8: Tài nguyên của IP Ethernet sau khi biên dịch với board VC707 44
4.9: Mơ hình hệ thống SoC kết nối với IP Ethernet thơng qua DMA [18] 45
h 4.10: Sợ đồ hệ thống SoC với IP Ethernet xây dựng trên phần mềm Vivado 46 h 4.11: Kết nối tới board -: -2cccvvctrtttEEEtttrrrtrtrttrirrrrrrrrrriirrrrrriii 48 h 4.12: Dùng Realterm quan sát dit liệu qua ạt ¿+5 + s+<+x++s+> 48 h 4.13: Tài nguyên sử dụng của hệ thống SoC và IP Ethernet 49
Trang 10DANH MỤC BANG
Bang 2.1: Mô hình OSI và các giao thức tương ứng [I][2] - 6
Bảng 2.2: Các phiên bản của MII và tốc độ tương thích - -s 8
Bang 2.3: Các tín hiệu truyền \JJ§€ 00110 9
Bảng 2.4: Các tín hiệu nhận với GMII [Š] ¿+ +5 S*k‡£vEkrvrerekeeekekree 9
Bang 2.5: Mô tả các tín hiệu AXIS Masfer ¿- c5 S25 terrrrrrrsee 23
Bang 3.1: Danh sách các Arbiter và các giao thức đầu vào, đầu ra [12] 37
Trang 11Field-programmable gate array
Institute of Electrical and Electronics Engineers
Carrier-sense multiple access with collision detection
Media-independent interface
Frame check sequence
Address Resolution Protocol
Internet Protocol version 4
Advanced eXtensible Interface
Advanced eXtensible Interface Stream
User Datagram Protocol
Logic Link Control
Medium access control
Transmission Control Protocol
Dynamic Host Configuration Protocol
Gigabit media-independent interface
Least significant bit
Most significant bit
Physical layer
Cyclic redundancy check
Start frame delimiter
Trang 12FSM Finite state machines
LFSR Linear-feedback shift register
ICMP Internet Control Message Protocol
PCS Physical coding sublayer
PMA Physical Medium Attachment
DMA Direct memory access
SoC System-on-Chip
DDR SDRAM Double Data Rate Synchronous Dynamic Random-Access
Memory MIG Memory Interface Generator
Trang 13TÓM TÁT KHÓA LUẬN
Khóa luận tập trung thực hiện thiết kế và hiện thực IP Ethernet 1Gbit/s đảm bảotheo tiêu chuẩn chung của IEEE802.3 Đảm bảo có thé thực hiện các giao thức trên
hệ thống mạng, nhằm mục đích giao tiếp với PC và truyền nhận đữ liệu
Thực chất khi dữ liệu được chuyên trong hệ thống mạng được đóng gói thànhcác frame Vì vậy, đề tài tập trung vào việc xử lý các Ethernet frame, Ipv4 packet vàUDP datagram và các giao thức được quy định sẽ lý ở mỗi trường thông tin đối vớimỗi đơn vị dữ liệu được đóng gói
Bởi vì IP Ethernet không mới và đã rất phổ biến, nhưng việc nhu cầu tích hợp IP
có kích thước nhỏ gọn vào một hệ thống SoC là việc cần thiết khi tài nguyên trên
mỗi phần cứng luôn có giới hạn Vì vậy em đã chọn hiện thực IP Ethernet 1Gbit/s
cùng giao thức truyền dữ liệu là UDP để có thé thực hiện đơn giản hơn
Kết quả đánh giá em dựa trên 3 tiêu chí là tốc độ, kết nối được với PC và tài
nguyên sử dụng Qua thực nghiệm khi nạp IP Ethernet lên FPGA, IP đã có thể thựcđược tất cả các chức năng như mục tiêu đề ra ở tốc độ IGbit/s Ngoài ra, em cũng
đã phát triển thêm việc tích hợp IP này vào hệ thống SoC và sử dụng một softprocessor để cấu hình và điều khiển IP co bản đã hoàn thành việc nhận đữ liệu tuy
nhiên vẫn gặp một số khó khăn nhất định ở van đề gửi dữ liệu
Trang 14Chương 1 GIỚI THIỆU
1.1 Lý do chọn đề tài
Ngày nay, ngoài máy tính dé bàn, máy tính xách tay, điện thoại thì các ứng dụng
nhúng đều tìm cách sử dụng Internet nhằm mở rộng phạm vi tiếp cận và ứng dụngcủa chúng Nhu cầu kết nối trực tiếp thiết bị vào các Internet này đã khiến cho nhiều
nhà sản xuất lớn triển ASIC (Mạch tích hợp dành riêng cho ứng dung) hoặc các thưviện có thể tái sử dụng cho vi điều khiển, được thiết kế đặc biệt cho mục đích này
Va thiết kế lõi IP chính là yếu tổ thiết yếu của việc tái sử dụng thiết kế
1.2 Mục tiêu và phương pháp thực hiện
1.2.1 Mục tiêu
Thiết kế và hiện thực IP Ethernet 1 Gbit/s chức năng nhận gửi các gói tin
ethernet.
Đối với quá trình nhận, IP có khả năng nhận ra một gói tin ethernet được gửi tới
từ tầng vật lý, trích xuất các trường thông tin, trường dữ liệu nhằm đảm bảo thựchiện các giao thức mà quốc tế đã quy chuẩn chung
Đối với quá trình gửi, IP dựa vào các trường thông tin, trường dữ liệu được ngườidùng cung cấp, thực hiện các giao thức được quốc tế quy chuẩn, đóng gói các
trường thông tin thành một gói tin ethernet hoàn chỉnh để gửi tới tầng vật lý để
người nhận có thể hiểu được
Trang 15© - Giao thức MII đối với Ethernet có tốc độ là 1000 Mbit/s hoạt động với tần số
125 Mhz.
e_ Cấu trúc về Ethernet frame, Ipv4 frame, ARP frame
e Thuật toán FCS (Frame Check Squence) cụ thể là CRC-32
e Giao thức ARP (Address Resolution Protocol)
Ngoài ra, em cũng tim hiểu các sử dụng các công cụ và nền tang hệ thống được
công cụ đó hỗ trợ nhằm mục đích hiện thực IP trên FPGA
© Phan mềm Vivado nhằm mục đích biên dịch thiết kế, sửa lỗi và hiện thực
trên phần cứng
¢ _ Cấu trúc bus AXI 4 Stream để giao tiếp với các khối thiết kế của em với các
khối thiết kế được phần mềm cung cấp sẵn
e Tim hiểu về FPGA và cách nạp lên kit FPGA Xilinx Virtex 707
e Chay chương trình bằng thiết kế trên FPGA và đánh giá kết quả
Trang 16Chương 2 TONG QUAN VE ETHERNET
2.1 M6 hinh OSI
2.1.1 Tổng quan mô hình OSI
Mô hình OSI (Open Systems Interconnection) là mô hình cho các chuẩn giao thứctruyền thông dữ liệu mà không đề cập chỉ tiết về công nghệ hay phần cứng Môhình OSI bao gồm bảy tầng mà hệ thống máy tính sử dụng để giao tiếp qua mạng
và nó trở thành tiêu chuẩn đầu tiên cho truyền thông mang [1]
OSI model Apptication
Hình 2.1: Mô hình OSI [2]
e Tầng Physical: Truyền/nhận các chuỗi bit qua các thiết bị kết nỗi mang vật
lý.
e Tang Datalink: Tạo/gỡ bỏ khung Frames, kiểm soát luồng và kiểm tra lỗi
của dữ liệu trên đường truyền
e Tầng Network: Đảm bảo truyền chính xác dữ liệu giữa các thiết bị cuối
trong kết nối mạng
e Tang Transport: Nhận dữ liệu từ tầng Session chia thành các gói tin nhỏ hơn
và truyền xuống tang Network, hoặc nhận dữ liệu từ tang Network, phục hồi,ghép nối các gói dữ liệu có liên quan và gửi đến tầng Session
Trang 17e Tang Session: Kiểm soát các phiên truyền/nhận giữa các máy tính Thiết lập,
quản lý và kết thúc các phiên truyền/nhận dữ liệu giữa các ứng dụng
° Tầng Presentation: Nén, mã hóa, chuyển đổi dữ liệu và giải mã dữ liệu đảm
bảo sự bảo mật của thông tin khi truyền/nhận trong mạng
e Tầng Application: Tương tác giữa các ứng dụng người dùng và mạng
Ậ MI
Hình 2.2: Phạm vi của IP Ethernet trong mô hình OSI [1]
Trong mô hình OSI, chuẩn Ethernet được mô tả hoạt động nằm ở tầng Physical
và tang Data link Pham vi dé tài của em sẽ thực hiện thiết kế phần cứng các lớp
như mô tả trong Hình 2.2:
© Media Independent Interface (MII) có nhiệm vụ thực hiện giao tiếp giữa tang
Data link và tầng Physical [3]
e© Media Acess Control (MAC) có nhiệm vụ xử lý các gói tin Ethernet [3]
e Cuối cùng, UDP/IP có nhiệm vụ xử lý các gói tin UDP/IP [4]
Chức năng, giao thức chính được thực hiện ở mỗi lớp sẽ được chính bày chỉ tiếthơn trong các mục tiếp theo
Trang 182.1.3 Giao thức
Các giao thức được sử dụng và đơn vị dữ liệu ở mỗi tầng trong mô hình OSI được
liệt kê trong Bảng 2.1.
Bảng 2.1: Mô hình OSI và các giao thức tương ứng [1][2]
Mô hình OSI Giao Thức PDU (Protocol data unit)
Application DHCP, DAQ, echo, Data
Presentation
Session
Transport UDP Datagram
Network Ipv4 Packet
Data Link ARP, MAC Frame
Physical IEEE 802.3 (GMII) Bit
2.2 Media Access Control
2.2.1 Tổng quan về Media Access Control (MAC)
Media Access Control có thé dịch là lớp điều khiển cho phép truy cập phươngtiện, đồng thời cung cấp khả năng ghép kênh và điều kiển luồng [3]
Như trong Hình 2.2, khối MAC được kết nối với tang Physical thông qua khối
MII Khi truyền dữ liệu, MAC sẽ gắn vào dữ liệu một số trường thông tin đề gửi tớitầng Physical như Preambles, Pading, FCS, Các trường này sẽ được đề cập chỉ tiết
hơn trong mục tiếp theo của bài báo cáo Và MAC sẽ gửi dữ liệu khi được chophép Lớp này cũng chịu trách nhiệm truyền lại các gói tin nếu tim thấy tắc nghẽn,
xung đột Tuy nhiên, trong phạm vi bài khóa luận này, dữ liệu sẽ được truyền nhận
qua giao thức Full Duflex nên không có các tín hiệu bị nghẽn hay xung đột, vì vậy
chức năng truyền lại các gói tin của MAC sẽ không được hiện thực.
Trang 19Khi nhận dữ liệu, MAC sẽ phải kiểm tra tính toàn vẹn của dữ liệu thông quatrường thông tin CRC mà nó nhận được Nếu nhận được một frame đúng, nó chịutrách nhiệm loại bỏ các phần mở đầu, phần đệm trước khi đưa dữ liệu xử lý ở giao
thức cao hơn.
2.2.2 Địa chi MAC
Địa chi MAC là một day số có độ rộng 48 bit của phần cứng máy tính, được nhà
sản xuất thiết lập có định lên card mạng Địa chi MAC có thể hiéu như là địa chỉ vật
lý của thiết bị mạng đó, muốn gửi dữ liệu đến thiết bị thì phải biết địa MAC của
thiết bị đó
Địa chi MAC bao gồm 6 byte, được biểu diễn bằng 6 cặp chữ số và được ngăncách bởi dấu hai chấm Địa chỉ Mac có 3 loại: Unicast, Broadcast, Multicast
e Unicast: Dia chi Unicast MAC được sử dụng cho máy nguồn, là địa chỉ mà
nó chỉ được gửi đến một thiết bị mạng cụ thể Nếu LSB của byte đầu tiên của
một địa chỉ MAC có gia trị là 0, thì địa chi MAC nay chỉ tiếp cận một card
mạng nhận.
© Multicast: Địa chi Multicast dùng để gửi dữ liệu đến nhóm thiết bị Đối với
địa chỉ Multicast ở tầng Data link, LSB của byte đầu tiên của một địa chỉMAC có giá trị 1 Vi du, IEEE sẽ cung cấp các địa chỉ 01-80-C2-xx-xx-xx
(01-80-C2-00-00-00 đến 01-80-C2-FF-FF-FF) cho các địa chỉ của các nhómthiết bị để kết nối với nhau
e_ Broadcast: Địa chi Broadcast có tất cả các bit đều mang giá trị 1
(FF-FF-FF-FF-FF-FF) Các frame có địa chi MAC là FF-FF-FF-FF-FF-FF sẽ được kếtnỗi với mọi máy tính thuộc mang LAN đó
2.3 Media Independent Interface
2.3.1 Tổng quan về Media Independent Interface (MII)
Media-independent interface (MII) được định nghĩa là một giao diện tiêu chuẩn
dé kết nối khối MAC thuộc tang datalink tới tầng vat lý của mô hình OSI Media
Trang 20independent ở đây có nghĩa là các loại thiết bị PHY khác nhau, với các loại kết nối
khác nhau (ví dụ như cáp xoắn, cáp đồng trục, cáp quang, ), đều có thể dựa vào
chuẩn đã được quy định trước mà kết nối tới MAC mà không phải thay đồi thiết kế
Do đó, bat kỳ khối MAC nào cũng có thé kết nói được tới một PHY bat kỳ [3]
MII ban đầu truyền dữ liệu mạng bằng cách sử dụng 4 bit nibbles theo mỗi hướng(4 bit dit liệu truyền, 4 bit dữ liệu nhận) Dữ liệu được chạy ở tốc độ 25 MHz dé dat
được thông lượng 100 Mbit/s Thiết kế MII ban đầu đã được mở rộng để hỗ trợgiảm tín hiệu và tăng tốc độ Một số phiên bản được phát triển của Ethernet được
liệt kê trong Bảng 2.2.
Bảng 2.2: Các phiên bản của MII và tốc độ tương thíchTên biến thé Tốc độ
Reduced media-independent interface (RMII) 100Mbit/s
Gigabit media-independent interface (GMII) 1000Mbis/s
Reduced gigabit media-independent interface (RGMII) 1000MbiUs
Serial media-independent interface (SMII)
Serial gigabit media-independent interface (serial GMII, SGMII) | 1000Mbit/s
High serial gigabit media-independent interface (HSGMII) 2.5Gbit/s
Quad serial gigabit media-independent interface (QSGMII) SGbit/s
10-gigabit media-independent interface (XGMII) 10Gbit/s
2.3.2 Gigabit Media Independent Interface (GMI)
Vi khóa luận này thiết kế một IP Ethernet chuẩn 1 Gbit/s nên sẽ lựa chon phiênbản GMII dé tham khảo quy định các tín hiệu và tốc độ truyền nhận trên module
MII The Gigabit media-independent Interface (GMII) là một giao diện giữa lớp con
MAC và tầng Physical (Hình 2.1) Interface này hoạt động ở tốc độ lên đến 1000
Mbit/s, được triển khai bằng giao diện dữ liệu có tốc độ 125 MHz với các đường dữ
Trang 21liệu 8 bit riêng biệt để nhận và truyền, và tương thích ngược với đặc điểm kỹ thuật
MII và có thé hoạt động ở tốc độ dự phòng 10 hoặc 100 Mbit/s [5]
GMII lần đầu tiên được định nghĩa cho 1000BASE-X trong IEEE 802.3z-1998 vàsau đó được kết hợp vào IEEE 802.3-2000 trở đi
Các tín hiệu truyền được mô tả trong Bảng 2.3:
Bảng 2.3: Các tín hiệu truyền với GMII [5]
Tên tínhiệu | Mô tả
GTXCLK Tín hiệu Clock cho gigabit TX (125Mhz)
TXD[7:0] Dữ liệu truyền
TXEN Tín hiệu cho phép truyền
TXER Tín hiệu lỗi (sử dụng dé dé cố ý làm hỏng gói dit liệu nếu cần )
Các tín hiệu nhận được mô tả trong Bảng 2.4:
Bảng 2.4: Các tín hiệu nhận với GMII [Š]
Tên tínhiệu | Mô tả
RXCLK Tín hiệu Clock nhận dữ liệu
RXD[7:0] Dữ liệu nhận
RXDV Xác nhận dữ liệu hợp lệ
RXER Tín hiệu báo dữ liệu lỗi
Trang 22gmii_rx_ clk |
gmii_‹_ dv
gmii_rxd x xén5)< D1 KX D2XD3 )xÉn0è< D6 << D6 D7 Dạ XDI x
gmii_r_er [I
Tin hiệu nhận lỗi, Bỏ Z
qua dữ liệu này trong
Trang 23Dữ liệu từ tầng cao nhất trong mô hình mạng được gói gọn trong tầng tiếp theo,sau đó dữ liệu tầng này tiếp tục được gói gọn trong tầng tiếp theo, việc đóng gói nàyxảy ra ở mỗi cấp độ của giao thức Quá trình đóng gói trong phạm vi khóa luận nay
có thé dễ dàng hiểu được khi nhìn vào Hình 2.5
Việc đóng gói dữ liệu cung cấp tính trừu tượng cho các giao thức, giao thức caonhất sẽ gửi dữ liệu xuống các lớp khác Dữ liệu bắt đầu đóng gói cho đến khi chúng
đến lớp cuối cùng và dữ liệu được truyền đi Điều này đơn giản hóa việc giao tiếp
và tương tác giữa các lớp.
2.4.1 Ethernet frame
6 bytes 6 bytes 2 bytes 46 to 1500 bytes 4 bytes
DST SRC TYPE/ FCS
MAG MAC LENGTH DAT | (CRC) |
Hình 2.6: Cấu trúc một frame Ethernet [3]
Một frame Ethernet điển hình bao gồm hai phần chính: phần Header và phầnPayload Kích thước tối đa của phần Payload là 1500 byte; nhưng trong một số biếnthé tốc độ cao của giao thức, hỗ trợ khả năng gửi các frame khổng 16 tăng giới hạn
lên tới 9000 byte [3]
Các phần chính của frame Ethernet có thể được nhìn thấy trong Hình 2.6, em
tiến hành giải thích từng trường thông tin:
e Preamble and Start frame delimiter (SFD):
Một gói Ethernet bắt dau bằng 7 byte Preamble và 1 byte Start Frame Dilimiter
(SDF) Phần mở dau (Preamble) bao gồm 56-bit xem kẽ các bit 0 và 1, cho phép dễ
dàng đồng bộ giữa tín hiệu của hệ thống nhận dữ liệu với tốc độ nhận dir liệu từ bêngửi Theo sau đó là 1 byte SDF có giá trị 0xD5 để đồng hóa mức byte và đánh dấu
một frame mới đến Các thiết bị truyền nhận dir liệu tốc độ theo chuẩn Gigabit
Ethernet sử dụng bus GMII, là giao diện rộng có độ rộng 8 bit, do đó, chuỗi
11
Trang 24Preamble mở dau và theo sau bởi SED sẽ là 0x55 0x55 0x55 0x55 0x55 0x55 0x55
0xD§ (theo byte).
e Destination MAC address :
Trường Destination Address theo sau trường Preamble Mỗi giao diện Ethernetđược gán một địa chỉ 48 bit duy nhất, được gọi là địa chỉ phần cứng hoặc địa chỉ vật
lý của giao diện Trường địa chỉ đích nay chứa 48 bit địa chi Ethernet tương ứng với
địa chỉ giao diện của trạm mà khung được gửi đi, ngoài ra địa chỉ này còn có thé là
dia chi multicast hoặc broadcast.
M6t giao dién Ethernet doc moi khung trong qua trinh nhan va thong qua it nhấttrường địa chỉ đích Nếu địa chỉ đích không không khớp với địa chỉ giao diện của
một tram nào đó và cũng không khớp với địa chỉ multicast hoặc broadcast, thì nó sẽ
được phép bỏ qua dữ liệu của khung này Dưới đây là hai tiêu chuan triển khai địa
chi bit.
e Source MAC address :
Trường tiếp theo trong khung là Source Address (dia chỉ nguồn) Day là dia chỉthực của thiết bị đã gửi khung Địa chỉ nguồn không được sử dụng theo bat kỳ cách
thức nào bởi giao thức Ethernet MAC, mặc dù nó phải luôn là địa chỉ unicast của
thiết bị gửi khung Nó được cung cấp đề sử dụng các giao thức mạng cấp cao hơn
và hỗ trợ khắc phục sự cố Nó cũng được sử dụng bởi các bộ chuyền mạch để xây
dựng một bảng liên kết các địa chỉ nguồn VỚI Các cổng chuyển mạch Một trạm
Ethernet sử dung dia chỉ vat lý của nó làm địa chỉ nguồn trong bat kỳ khung nào mà
nó truyền đi
e EtherType:
Trường thông tin này có thể đại diện cho hai thứ khác nhau:
Đối với các giá trị lớn hơn 1536, nó cho biết giao thức lớp trên (tang Network)
được đóng gói trong phần Payload Ví dụ: giao thức Ipv4 là 0x0800 trong trường
Ethertype và giao thức ARP là 0x0806 Các khung Ethernet II sử dụng trường theo cách này.
12
Trang 25Đối với các giá trị từ 0 đến 1500, nó biểu thị độ dài của tải trọng theo byte.
e Payload
Kích thướng tối thiểu của trường Payload là 42 byte khi trường tag 802.1Q được
sử dụng và 46 byte nếu không sử dụng trường IEEE 802.1Q tag Nếu trọng tải ngắn
hơn thì bắt buộc phải gắn phần đệm vào nhằm đảm bảo kích thước tối thiểu Vàkích thước tối đa của trường Payload là 1500 byte
được tạo bởi trạm truyền, giá trị CRC đồng thời được tính toán 32 bit của giá trị
CRC là kết quả của phép tính này được đặt trong trường FCS khi khung được gửi
đi Hệ số x31 của da thức CRC được gửi dưới dạng bit đầu tiên của trường và hệ số
x0 là bit cuối cùng
CRC được tính toán lại bởi giao diện trong trạm nhận khi khung được đọc vào.
Kết quả của phép tính thứ hai này được so sánh với giá trị được gửi trong trườngFCS bởi trạm gốc Nếu hai giá trị giống hệt nhau, thì trạm nhận được cung cấp mức
độ đảm bảo cao rằng không có lỗi nào xảy ra trong quá trình truyền qua kênh
Ethernet Nếu các giá trị không giống nhau, thì giao diện có thể loại bỏ khung vàtăng bộ đếm lỗi khung
2.4.2 ARP packet
Giao thức phân giải địa chi (ARP - Address Resolution Protocol) là một giao thức
được sử dụng trong truyền thông để khám phá địa chỉ lớp liên kết của thiết bị đượcliên kết với địa chỉ lớp mạng đã cho Giao thức này được định nghĩa trong IETF
RFC 826 [9]
13
Trang 26Trong trường hợp làm việc với Ipv4 qua Ethernet, giao thức ARP sẽ tìm địa chỉ
MAC của một hệ thống cụ thể với mà địa chỉ IP tương ứng mà nó đã nhận được.Giao thức ARP là một giao thức rất quan trọng trong bộ giao thức Internet, vì Ipv4cần giao thức đó đề có thé truyền thông điệp một cách chính xác
Cấu trúc các trường thông tin của một ARP Packet được mô tả trong Hình 2.7
Octet/offset 0 1
0 Hardware type (HTYPE)
2 Protocol type (PTYPE)
4 Hardware address length Protocol address length
Hình 2.7: Cầu tric ARP packet [9]
e Hardware type - HTYPE (2 bytes)
Trường này chỉ định loại giao thức liên kết mang Ví du: Ethernet là 1
14
Trang 27e Protocol type - PTYPE (2 bytes)
Trường nay chi định giao thức mạng mà yêu cau ARP đang thực hiện Đối
với Ipv4, giá trị này có giá trị 0x0800.
e Hardware length - HLEN (1 bytes)
Độ dai (tinh bằng byte) của một địa chỉ phần cứng Độ dài địa chỉ Ethernet là
6.
e Protocol length — PLEN (1 bytes)
Độ dai (tinh bằng byte) của địa chỉ liên mạng Giao thức liên mạng được chỉ
định trong PTYPE Vi dụ: Độ dài địa chỉ Ipv4 là 4.
se Operation - OPER (2 bytes)
Chi định thao tác mà người gửi dang thực hiện: 1 cho reqest, 2 cho reply.
e Sender hardware address — SHA (6 bytes)
Dia chi IP của người gửi Trong một request ARP, trường này được sử dụng
để chỉ ra địa chỉ của máy gửi yêu cầu Trong một reply ARP, trường nàyđược sử dụng dé chỉ ra địa chỉ của máy đang yêu cầu đang tìm kiếm địa chi
MAC.
e Sender protocol address — SPA (4 bytes)
Dia chi MAC của người gửi.
e Target hardware address — THA (6 bytes)
Dia chi IP của người nhận Trong request ARP, trường nay bị bo qua Trong
một reply ARP, trường này được sử dụng dé chi ra địa chỉ của máy chủ khởi
tạo request ARP.
e Target protocol address — TPA (4 bytes)
Dia chi MAC của người gửi.
2.4.3 Ipv4 packet
Ipv4 là viết tắt của Internet Protocol Version 4, và đã được chuẩn hóa lần đầu
tiên trong bản MIL-STD-1777 bởi bộ quốc phòng Hoa Ký Giao thức Internet IP đã
trải qua nhiều phiên bản khác nhau và phiên bản Ipv4 là phiên bản đầu tiên được sử
15
Trang 28dụng rộng rãi trên toàn thế giới và hiện vẫn còn đang là một trong những giao thứcphổ biến của Internet trên toàn thế giới [8]
Ipv4 là giao thức mang tính hướng dữ liệu Nó không quan tâm đến thứ tựtruyền các gói tin, cũng không đảm bảo gói tin sẽ đến đích hay không Nó chỉ có cơ
chế đảm bảo tính toàn vẹn dữ liệu khi truyền trong mạng
Một IP packet bao gồm phần Header và phần Data Một IP packet không có
trường kiểm tra dữ liệu hoặc bất phân Footer được gắn Vào sau phần dữ liệu Cấu
trúc các trường thông tin của một Ipv4 được miêu tả như Hình 2.8 dưới đây.
Offset | Octet 0 1 2 3
Octet Bit |0 15 24 31
0 0 Version THL DSCP ECN Toltal Length
4 32 Identification Flags Fragment Offset
8 64 Time to live Protocol Header Checksum
32 256 Option (if IHL > 5)
Hình 2.8: Cấu trúc của một Ipv4 Header [8][10]
Tóm tắt ý nghĩa của các trường thông tin trong phần Header của Ipv4 packet:
e Version (4 bit):
Chi ra phiên ban của Ip dang được dùng là Ipv4 (0100) hoặc Ipv6 (0110).
Nếu trường này có giá trị khác với giá trị của phiên bản IP trên thiết bị nhận,thiết bị nhận sẽ từ chối và loại bỏ các gói tin này
e IP Header Length - IHL (4 bit):
Lưu giá trị chiều dài của phan header ,tinh theo word với mỗi word có độrộng 32 bit Vì trường Header Length nên phần Header sẽ có tối ta 16 word
16
Trang 29Thông thường, phần Hearder dài 5 word (20 byte) Đồng thời, trường này cũnggiúp ta xác định byte đầu tiên của phần Data trong Ip packet.
e Differentiated Services Code Point— DSCP (8 bit):
Chỉ ra cách thức xử ly data, chi định sử dụng độ ưu tiên hay không, thiết lập
Bit 0 : Không dùng, luôn có giá trị bằng 0
Bit 1 : Chỉ ra rằng biết gói có phân mảnh hay không
Bit 2 : Nếu packet có sự phân mảnh dữ liệu thì mảnh này cho biết mảnh này
có phải là mảnh cuối hay không
e Fragment Offset (13 bit):
Luu vị trí offset của các mảnh so với gói di liệu gốc dé có thé ghép lạichính xác phần dữ liệu đã bị phân mảnh
2.4.4 UDP datagram
User Datagram Protocol hay UDP là một trong hai giao thức được sử dụng ở tang
Transport trong mô hình OSI Nó được định nghĩa chính thức trong chuẩn RFC 768
UDP là một giao thức truyền nhận dữ liệu thường được sử dụng thay thế cho TCP.UDP sử dụng mô hình truyền thông không nết nối, phan UDP Header chi có phần
tính toàn checksum và sử dụng các port như việc đỉnh địa chỉ cho phần Data của
17
Trang 30UDP Bởi vì không sử dụng cơ chế bắt tay (Handshake), nên dữ liệu truyền nhậnbằng giao thức UDP không đáng tin cậy, thứ tự các gói tin hoặc việc trùng lặp cácgói tin Vì thế nên khi việc truyền nhận dữ liệu yêu cầu tính chính xác cao, người ta
thường lựa chọn giao thức TCP thay vì UDP UDP được sử dụng trong các ứng
dụng cần sự chính xác so với thời gian thực, bởi vì nó không cần phải chờ đợi, gửi
lại gói tin và cho phép bỏ qua gói tin [11]
Cấu trúc của một UDP datagram được mô tả như trong Hình 2.9 dưới đây:
UDP Header
Hình 2.9: Cấu trúc của một UDP datagram [11]
¢ Source Port (2 byte): Số port bên gửi
¢ Destination Port (2byte): Số port bên nhận
¢ Length (2 byte): Chiều dai của phần UDP Header va UDP data Chiều dài tối
thiểu là 8 byte (Chiều hài của phan Header và không có phan Data)
e Checksum (2byte): Giá trị của trường này được sử dụng để kiểm tra lỗi của
phan Header và phan Data Tuy nhiên, đối với Ipv4 trường này là không bắtbuộc và được gán giá trị bằng 0 nếu không sử dụng
2.5 Transaction
18
Trang 312.6 Giao thức AXI
2.6.1 Tổng quan giao thức AXI
AXI là một phần của Advanced Microcontroller Bus Architecture (AMBA), một
họ các bus điều khiên vi xử lý được giới thiệu lần đầu tiên vào năm 1996 Phiên bản
đầu tiên của AXI lần đầu tiên được đưa vào AMBA 3.0 vào năm 2003 AMBA 4.0được phát hành vào năm 2010, bao gồm phiên bản chính thứ hai của AXI là AXI4,
Với giao diện eXtensible nâng cao, giao thức AXI4 dựa trên kết nói điểm tới điểm
để tránh chia sẻ bus, do đó băng thông cao và độ trễ thấp hơn AXI được cho là phổ
biến trong tat cả các kết nói giao diện AMBA
Có ba loại giao thức AXI4:
* AXI4 - Full: Dành cho yêu cầu ánh xạ bộ nhớ đối với hiệu suất cao
* AXI - Lite: Đối với giao tiếp ánh xạ bộ nhớ thông lượng thấp, đơn giản (vídụ: đến và đi từ các thanh ghi trang thái và điều khién)
* AXI4 - Stream: Truyền streaming data với tốc độ cao
19
Trang 32Write address channel
Address and Control
Write data channel write data write data write data
—> ——>
Write response channel
Master ¢ write Slave
Interface response Interface
Read address channel
Address and
—> ——>
Control
Read data channel
Hình 2.10: Kiến trúc chung của giao thức AXI4Kiến trúc chung của giao thức AXI4 bao gồm AXI Master và AXI Slave như
hình 2.10, giao tiếp với nhau qua 5 kênh riêng biệt (2 kênh cho việc đọc và 3 kênh
cho việc ghi dữ liệu):
e Kênh địa chỉ ghi (Write Address Channel)
e Kénh ghi dữ liệu (Write Data Channel)
e Kênh phản hồi tín hiệu ghi dữ liệu (Write Response Channel)
e Kênh địa chỉ đọc (Read Address Channel)
e Kênh đọc dữ liệu (Read Data Channel) Thông qua AXI Interconnect, bus
AXI có thể thực hiện giao tiếp giữa nhiều AXI Masters và AXI Slavers
20
Trang 33Address and Control
Read data channel
Hình 2.11: Một transaction đọc của giao thức AXI4
Một transaction đọc bắt đầu từ việc Master thông qua kênh địa chỉ đọc, gửi tín
hiệu thông báo cần đọc cũng như địa chỉ đọc tới Slave như Hình 2.11 Sau khi nhận
được tín hiệu từ Master, Slave sẽ gửi trả lại dữ liệu về cho Master cũng như các tínhiệu báo đọc transaction thành công Bằng cách làm việc với Master và Slave, giao
thức AXI4 hoạt động trên năm kênh khác nhau, và vì mỗi kênh có tín hiệu duy nhất
của riêng mình, nên nó có thể gửi phản hồi liên tục để có thể nhận và ghi dữ liệu.Bằng cách đó, kênh có mức độ ưu tiên sẽ được phản hồi trước tiên, v.v Nguồn phảicung cấp tín hiệu hợp lệ và tín hiệu nhận được phản hồi thích hợp từ bộ thu
Một transaction ghi sử dụng dia chỉ ghi, ghi dữ liệu và ghi các kênh phản hồi
như Hình 2.12 Giao thức AXI hỗ trợ burst có độ dài biến thiên, từ 1 đến 16 dit liệutruyền cho mỗi burst, mỗi burst có kích thước truyền từ 8-bit đến 1024-bit
21