1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực một hệ thống SoC tích hợp lõi IP ethernet 1 GBPS hỗ trợ giao thức ICMP trên FPGA

110 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hiện thực một hệ thống SoC tích hợp lõi IP ethernet 1 GBPS hỗ trợ giao thức ICMP trên FPGA
Tác giả Lờ Hoàng Văn, Nguyễn Thanh Tùng
Người hướng dẫn ThS. Phạm Thanh Hưng, TS. Trần Phước Xuân
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ thuật máy tính
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 110
Dung lượng 36,3 MB

Nội dung

Trong hệ thống mạng, dữ liệu được đóng gói thành các frame vì vậy khóaluận này tập trung xử lý các Ethernet frame, IPv4 packet, và UDP datagram, đồng thời phân tích các trường thông tin

Trang 1

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUAT MAY TÍNH

LÊ HOANG VAN - 20522143 NGUYEN THANH TUNG - 20522131

KHOA LUAN TOT NGHIEP

HIỆN THUC MOT HE THONG SOC TÍCH HOP LOI IP

EHTHERNET 1GBPS HO TRO GIAO THUC ICMP

TREN FPGA

INTEGRATION OF AN ETHERNET IP CORE WITH 1GBPS

SUPPORTING PROTOCOL INTO A SYSTEM ON CHIP

IMPLEMENTED ON FPGA

CU NHAN KY THUAT MAY TINH

GIANG VIEN HUONG DAN

ThS PHAM THANH HUNG

TS TRAN PHUOC XUAN

TP HO CHÍ MINH, 2024

Trang 2

LỜ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 — ThS.Phạm Thanh Hùng và TS Trần Phước Xuân, các thầy đã tận tình trong quá trìnhlàm khóa luậ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 dep

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 Dai học Công nghệ Thông tin — Dai 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é ích, cùng đồng hành và hỗ trợ trong suốt quá trình học tập tại trường Daihọ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

Trong suốt quá trình thực hiện đề tài khóa luận, em không thể tránh khỏinhữ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ý Thay/Cé và các bạn sẽ thông cam, và có thé đóng góp ýkiến dé dé tài khóa luận này được phát triển và hoàn thiện hơn trong tương lai

Một lần nữa em xin chân thành cảm ơn

TP Hồ Chí Minh, ngày 25 tháng 05 năm 2024

Sinh viên thực hiện

Lê Hoàng Văn

Nguyễn Thanh Tùng

Trang 3

MỤC LỤC

Chương I GIỚI THIỆU 2-2 2£+2£+SE+EEEEE£EEEEEEEEEEEEEEEEEEerkerrkrree 2

1.1 LY do chọn đề tài -¿-5¿- 55c 2S 22xSEE2E12221221122112711211 221211 cEerre 2

1.2 Mục tiêu và phương pháp thực hiện - 5 c5 3+ £++sEeeeseerrss 2

mm lo Ö 2

1.2.2 Phương pháp thực hiỆn -.- G5 5 3283 ESEeEeeererrerrsereree 3

Chương 2 TONG QUAN VE ETHERNET -c:-55ccccccxvvrerrrrrrrrrrrree 4

2.1 Mô hình OSD oc cccccecsseseseseseenesesesesesesnssesesesesescsnensseseseseseeneneneseseees 4

2.1.1 Tầng 1: Tang vat lý (Plysical Layer) c.ccescsscssssseeseesseseeseeseeseeseeseeseeees 52.1.2 Tầng 2: Tang liên kết dữ liệu (Data Link Layer) - 52.1.3 Tầng 3: Tầng mang (Network LaY€T) 2 2 2+c2+cz+£+zEczxzxecree 52.1.4 Tầng 4: Tang giao vận (Transport Layer) -s:©s+sscs++cscze- 52.1.5 Tang 5: Tang phiên (Session Layer) 2 2©s2+s2+sz+x+zxezxzxecxee 62.1.6 Tầng 6: Tầng trình diễn (Presentation Layer) -: -s+-: 62.1.7 Tầng 7: Tang ứng dụng (Application Layer) -:- sec: 6

"N00 009 6 2.3 Dinh dang 261 tine cee - 7

2.4 Mac address Oooo 8 2.5 Media Independent Interface LÍOÌ, 2s +tSt£t+E£xexeEeEEtEvexexexerrrrrerxrrrree 9

Trang 4

Chương 3 GIAO THUC SỬ DỤNG TRONG LOI IP ETHERNET L7

3.1 UDP [Ï, 222221221 21122122121122122121121121121121111211.11 1c ty 17

3.1.1 Cách thức hoạt động của IDFP 5 3c 13+ *ssEseesrserseeeere 17

3.1.2 Cau trúc UDP header 2 ©5¿++<+EE£EE2EEEEEEEEEEEEerkrrrrrrkrree 18

3.2 IPv4 LồÏ, 2.221 2122221 2121127 22112112T111.1111211.11 1.1.1 cre 18

3.2.1 _ Cách biểu diễn địa chỉ + ©5¿+ceEkcEEEEEEEEEEEEEEEEECrrrrrrree 193.2.2 Cấu trúc IPv4 header :- +: 5¿+2++cxeEE2EEEEEEESExerkrrreerkrree 19

3.3 na 3 22

3.3.1 Cách thức hoạt động của ARP - -SĂc + ssieirsrrrereee 22

3.3.2 Cau trúc gói ARP -c.SEt 2 E2 1211221111111, 23

3.5.2 ICMPdata S2- 2c 2t E22 2211211211211 1121k cre.29

4.1 Cấu trúc module ICMP ccsssessesssessesssessessessuessessesssessessusssecsessusssessessseesess 31

4.1.1 ICMP rx/ICMP _tx 5cc 2c E2 E2 E12 cEErrrrree 31

4.1.2 ICMP checksum cccccccccccccccssssssssssssssssecceccccccceccseeeeeaeaaaaaaaens 31

4.2 Cau trúc lõi IP Ethernet c.ccccccscccssesseessessessssssesssssessecssssessessesssessesseessess 32

4.2.1 MAÁC Ă 2221221222222 12112121112 errree 36 4.2.2 Eth axis rx/Eth_ aXIS_ EX -.ccnn HH nnn ng 1x keg 39

Trang 5

“` 39

"ha 40

¬' ` 41

Chương 5 KIEM TRA THIET KE TREN PHAN MEM MO PHONG /19)8)5863)000712775 42

PON DPR '.%= Đi:ÂẦẦ)Ầ^ố)Ả 42

"1 9; 42

“~ 9 .Ả 45

5.2 Eth_axis_rx/Eth aXIS_ẨX Ă.Ặ Ăn ng ng rư47 5.2.1 Eth aXIS TX QQ DO nnnnnkkkkv vế47 5.22 Eth axIs bẤW⁄2⁄ xấcc 48

53.3 ARP 2 6 57 e e Ễ VĂĂ-.-SAS Sen seeeserse49 ¬=.nG '.:(á: Œ (/ ` ` ẽ 49

5.3.2 ARHBE mmm mmm / eeSS 50 5.3.3 ARP _ Cache n ee eeeeeesseesecccccccccccccccccccscsssssssessssseeeececcececcecceeeeeeaaaaaaaanens 51 `.“ c 53

".' 56

"h=' 56

5.4.2 T ẦÂ^LÂẨỐ 60 "9Ð 61

>0 —— 61

5.3.2 UDP (X HH TH TH HH HH ng 64 5.5.3 UDP checksum CC EE E3 E9 1111k kkkkv ve 65 5.6 ICMP 67

Trang 6

Chương 6 XÂY DỰNG HE THONG SOC ccccsscsscssesssessessesssseseesssessesseeseesees 73

6.1 Luỗồng dit iGu coececececcecccsccsessessessessessessessesscssessessesscssessssuessessesssssssesseeseeaee 73

6.2 Ethernet 1G/2.5G PCS/PMA or SGMII IP LogiCORETM -. 73

6.3 Xây dựng hệ thống trên phần mềm Vivado - 2-2 s+ss+sz+cz+s+2 746.4 Phan tích hệ thống :- + ++S+SEE+EEEEEEEEEEEEEEEEEEEEEEEEEkrrkrrkrree 75

6.4.1 Dinh thời hệ thống :- 2+ E+SE+EE+EEEEEEEEEErrrrrrrreres 75

Chương 7 KIÊM TRA THIET KE TREN BOARD ¿¿©sz55s+2 79

TA Board VirtexX 7 (VC707) 0 4 79

7.1.1 V707 Board Block Diagram - - + sssxskseeeersersrseeske 79

7.1.2 Chan kết nối của Ethernet với PHY Device -¿ 2-c5cc5+ 80

7.2 Thiết lập cho quá trình kiỂm tra - + ©+©+++++x++zx++rxrsrxrrrxee 83

7.2.1 Cấu hình mạng trên PC 2 ++++E++EE+EE+EE2EEEEEEEEEEEErrrrrrei 837.2.2 Phần mềm hỗ trợ quá trình kiểm tra -2¿ 2s sz+sz+z++z+z 847.3 Kết quả kiểm tra -:- 2+ St EEE1EE1811211211211711211 2111.110 85

7.3.1 ICMP & AXI4-LI(e LH HH it 86

Trang 7

7.3.2 UDP & AXI4-LI(€ 1S S HH ngư 88

7.3.3 Gửi dữ liệu trong tệp sang IP Ethernet ¿<< <-<<<<<++ 92

Chương 8 KẾT LUẬN ¿52 E2S2+EE2EEEEEEEEEEEEEErkrrrrrrrrree 94

8.2 So sánh với khóa luận tTƯỚC + c1 1123222111111 11115851112 94

8.3 Hướng phát triỀn - ¿- 2SEEE+EE+EEEEE2EEEE12E121121171121111 111.1 ce 95

Trang 8

Cấu trúc kênh truyền chung AXT4 LÍTÌ, 2 2 s+Ss+S£2EE+EE+E£+E£2E£zEzEzzxez 13

Các tín hiệu của AXI4-ÌLIfe - -Ăc SE 2211113112231 1 111511 eree 14

Cấu trúc UDP header :-©2+22++t22EYYt2EEEvttEkvrrrrtrrrrrrrrrrrrre 18Biểu diễn dia Chic eeccssesessssescessseeeessneecssnsecessnseeesnneecesnseeessneeesnneeessnneeee 19Cấu trúc IPv4 header esecssssscssssessesseeeessnsecessneeesnneseesnneeessnneeesneteensneeee 20

Cách hoạt động của ARP prOtOCỌ - 5 S2 *S* + E+vEEeexeereeeseerserrs 22

Cấu trúc gĩi tin ARP - - ©2221 EEEEEE9E12E1EE121121122121111211 111.1 xe 23Kiến trúc của giao thức Ethernet - ¿5s s+S++E++E+EeEzErrrrrrerree 25

Cấu trúc khung giao thức Ethernet - 2 2 2 s2 s+z++x++xzzzxszse2 26

Cấu trúc ICMP header +: 255+++t#SEEktttEEkxrrtrkkrrrtrkkrrrrrtrrrrre 29

Máy trạng thái ICMP_checksum s5 5 + + *sE+seeeeerseeeeeee 32

Sơ đồ cau trúc IP Ethernet -¿- 2: 2+++++2x++£++£x+zEerxerxezrxerxez 33

Sơ đồ module UDP_complete :- 2 s¿s+++2+++£x++£x++zx+zrxe+zxs 34

Cấu trúc module MAC - : ©22¿22+vt2££xvttEExvvrerrtrrsrtrrrirrrrrrrrre 36

Quá trình xử lí Ethernet frame - 55222213 *+2 ++evE+esessssexrs 37

Quá trình truyền tải Ethernet frame - 2-2 2 s+++£++s++zzzzzzse2 39

Cấu trúc module ARP -22¿++++ttEEkkEEEEkrrtErrrirrrirriie 40

Quá trình tinh checksum của ÏÍÏP <5 + 3+ E+*vEeseerseseerseeeere 41

MAC _rx thành cơng phân tích gĩi tin (Ï) «+5 s<++s£++s++eex++ 42 MAC _rx thành cơng phân tích gĩi tin (2) ¿- 5+ ++x*++v£see+seeseess 42

MAC rx nhận được tín hiệu gĩi tin lỗi từ nguồn dữ liệu 44

MAC tx đĩng gĩi thành cơng gĩi tin (Ï) - «+ ++<s*++secsseeeseeres 45 MAC tx đĩng gĩi thành cơng gĩi tin (2) - - - 55c sk*++sksseeseeeesee 45

Trang 9

Hình 5.8 MAC tx kích thước dit liệu gửi đi bé hơn kích thước tối thiểu (1) 46 Hình 5.9 MAC tx kích thước dữ liệu gửi đi bé hơn kích thước tối thiểu (2) 46

Hình 5.10 Eth_axis_rx thành công phân tích gói tin - 5< ++£+scxseeese 47

Hình 5.11 Eth_axis_rx gói tin DỊ TÚt ØỌII 5 + Series 48

Hình 5.12 Eth axis tx đóng gói thành công gói tin - - 5-55 s++ss++s+sxsss 48

Hình 5.13 ARP_rx thành công phân tích gói fin - -«s + «+ +++ve+seeessees 49

Hình 5.14 ARP_rx gói tin bị cắt ngắn 2¿©22¿©2+c2ESEEESEESEEEEkrerkrrrrerrvee 49

Hình 5.15 ARP_rx header không hợp lỆ - - ¿+ 3+ * + ++vEEeeereeeeseeereesee 50 Hình 5.16 ARP_rx header không hop lỆ - 6 2s 3E *Eskrseeserseesee 51 Hình 5.17 ARP_ cache ghi và đọc bộ NG eee eeccescesececeeseeeceeeeeseeeeeseeneeeseeaeens 51

Hình 5.19 ARP_cache xóa bộ nhớ - ¿+ c6 2221111221111 E155 11511512 52 Hình 5.20 ARP nhận và gửi gói tin ARP (Í) - c5 ScSSxS+EskskEsirerrsrrserreree 53 Hình 5.21 ARP nhận va gửi gói tin ARP (2) oo eee eee eeceeecceseeeseeceeeeseeeeaeeeeeeeeseeeees 53

Hinh 5.22 ARP Truy xuất địa chi MAC chưa được lưu trong bộ nhớ và time out 54

Hình 5.23 ARP time OUK - s26 0 1x19 11219 ng nh nh nh nh 54 Hình 5.24 ARP IP broadcast - - <6 111 ng Hết 55 Hình 5.25 Tính kích thước gói tin theo dữ liệu fes( -5 55+ <++<<++se>+sss2 56 Hình 5.26 IP_rx thành công phân tích gói tin (1) -. «+ «+ +s£++ve+sexseesss 56

Hình 5.27 IP_rx thành công phân tích gói tin (2) -«+++<x++se+seeessees 56

Hình 5.28 IP_rx lỗi chiều đài gói tin (1) - 2-2-2 ©++2x++£x++zx++rxesrxrsrxerrxee 57Hình 5.29 IP_rx lỗi chiều đài gói tin (2) :-2¿©+¿©++2x++£x++zx++zxezrxrzrxerrxee 57

Hình 5.30 IP_rx lỗi không đủ header (1) - ¿2-5 25s 2 2+2 £££+E+Ez£kzE+zzzxzxers 58 Hình 5.31 IP_rx lỗi không đủ header (2) - + - 2 2s +++E+££E+EeEzkererxzxrreree 58

Hình 5.32 IP_rx header không hợp lỆ (1) << + + + £++vE+eeeeeeeeeeresrs 58 Hình 5.33 IP_rx header không hop lệ (2) - ¿2+2 +++£+£+EseEeereereerrrreres 59 Hình 5.34 IP_rx checksum không hop 16 (1) - - ¿+ + +++*+x+vxeereereereereeres 59

Hình 5.35 IP_rx checksum không hợp lỆ (2) - ¿55-52 *++sx+veseeseeersesss 59 Hình 5.36 IP_tx đóng gói thành công gói tin (1) . 55+ +<s*++se++eexeeeessess 60

Trang 10

Hình 5.37 IP_tx đĩng gĩi thành cơng gĩi tin (2) - ¿6 St sskEsersersersrse 60

Hình 5.38 IP_tx lỗi chiều dài gĩi tin (1) -¿-+ ++22++2++zx++x+zrxerxezrxerxee 61

Hình 5.39 IP_tx lỗi chiều dài gĩi tin (2) - 2: 2¿©<+++x+EE+Ex+Eeerxerxerrxerxee 61

Hình 5.40 UDP_rx thành cơng phân tích gĩi tin (Ï) - «+ ««++ss++sex+se++ 62 Hình 5.41 UDP_rx thành cơng phân tích gĩi tin (2) - «+ ««+++s++sexssex+ 62

Hình 5.42 UDP_rx lỗi chiều đài gĩi tin (1) .¿2- 5¿©5+22++2x++x+zrxerxeerxerxee 63

Hình 5.43 UDP_rx lỗi chiều đài gĩi tin (2) - 2-2-2 ©+++££2£++£EzEzExerxezrxerxee 63

Hình 5.44 UDP_rx header khơng hợp 16 ((Í) - - s5 + 5+ £++se++seeeeseeereesss 64 Hình 5.45 UDP_rx header khơng hop lỆ (2) - 5 +55 s + *+*vExseeseeseseresers 64 Hình 5.46 UDP_tx đĩng gĩi thành cơng gĩi tin (Ï) - 5555 + + ++s+sex+eesss 65 Hình 5.47 UDP_tx đĩng gĩi thành cơng gĩi tin (2) 5 csxssseseeseesese 65 Hình 5.48 UDP_checksum thành cơng tính checksum (Ï) ««++-««<++s+ 66 Hình 5.49 UDP_ checksum thành cơng tính checksum (2) -««++ «<++++ 66 Hình 5.50 ICMP_rx phân tach ICMP packet (1) - - «<< <++<ex+seexeeereeess 67

Hình 5.51 ICMP_rx phân tach ICMP packet (2) . -«++<s<++sc+seeseseresees 67

Hình 5.52 ICMP_tx đĩng gĩi IMCP packet (1) cece eeeeseesseeeeseeeeeseeeseeeeeeeeseens 68

Hình 5.53 ICMP_ tx đĩng gĩi IMCP packet (2) - - 5 55 + *+k+vkvseesserseesse 68 Hình 5.54 ICMP_checksum tinh checksum va length (1) -s«>+s«<+ 69 Hình 5.55 ICMP_checksum tinh checksum va length (2) «++-««>+< «+2 69 Hình 5.56 ICMP nhận packet ec ceecccesecesceesseeeseeeseeceaeeeseeceaeeeaeeesaeeeaeeseaeseaeeeaes 70 Hình 5.57 ICMP gửi packet - - G2 1 HH ng TH ng 70

Hình 5.58 FPGA nhận và gửi UDP pacKage - 5+ + 1S ngư 71 Hình 5.59 FPGA nhận ICMP pacKaØ© - .- 5 + v0 v.v ng nệt 71 Hình 5.60 FPGA gửi ICMP package - G5 HH ng rệt 72

Hình 6.1 Sơ đồ luồng dit liệu -2- 2-52 252 SE+SE+EE+EEEEEEEEEEEEEEEEEEEEErrrrrerrree 73Hình 6.2 Sơ đồ kết nối chân của IP Ethernet với PHY thơng qua PCS/PMA 73Hình 6.3 Hệ thống xây dựng trên phần mềm Vivado -: -¿¿©sz55s+¿ 75Hình 6.4 Tĩm tắt định thời thiết kẾ -.¿ -¿+++tevExvvettrxrrttrrtrrrrrtrrrrtrkee 75Hình 6.5 Constrain cho clock của khối PHY Device - ¿52 2+2 +e+s+s+E+zszzs 77

Trang 11

Hình 6.6 Tổng hop clock trong hệ thống đã xây dựng - 2-2 25+: 77

Hình 6.7 Tài nguyên sử dụng cua IP Ethernet trên board VC707 77

Hình 6.8 Tài nguyên sử dung của SoC trên board VC707 -«<+-«<++<s++ 78

Hình 7.1 VC707 Board Block Diagram Í?Ì, - ¿+ +s +8 St SEeEeEeEeEexexexexrxrrrxrxrs 79

Hình 7.2 Các kết nối Ethernet, từ FPGA đến thiết bi PHY !l c -¿ 80 Hình 7.3 Thiết bị 88E1111 được sử dụng trong ứng dụng cáp đồng 81

Hình 7.4 Các chức năng của 88E1111 (datasheet) - -5S<cscccs+ceseeeee 82

Hình 7.5 Cấu hình IPv4 trên PC 2 +¿©£+2E+EE++EE£EE+EEEEEEEEEEEkerkerkrrrkerkree 84Hình 7.6 Thông tin cấu hình mạng với tốc độ đường truyền 1 Gbps 84Hình 7.7 Kết nối tới UDP port 12344 ¿ +: ©2+©++2E++£E++EE++EE++Exezrxrzrxrrrxee 85

Hình 7.8 Cau hình mặc định của IP Ethernet - ¿s2 +s+s+E+E+EeEEEzEzEzEzzezerezs 86

Hình 7.9 Thực hiện lệnh ping trên PC - 5 <5 + 31+ E++vEEsseesseeeesees 86 Hình 7.10 Gói ICMP request va reply quan sát trên Wireshark - 87

Hình 7.11 Cấu hình địa chi IP mới cho IP Ethernet - s- - + s2 +se£++x+zezxzxezs 87

Hình 7.12 Ping đến địa chỉ cũ và MOi e.cecceccescescssessesssssessessessessessessesesstsseseseesees 88

Hình 7.13 Dữ liệu gói tin UDP gửi và nhận trên PC - 5 «+55 «<++s+++ +2 88 Hình 7.14 Nhận gói tin UDP từ PC 2G G1121 911931 9111 1 1 ng ng ngư 89

Hình 7.15 Gửi gói tin UDP đến PC - 2 2 ©2¿+E£EE+EE+EEtEEzEEerkerkrrreerrree 89

Hình 7.16 Gửi va nhận gói tin UDP dài ó5 +33 E*vE+sEEsevseesserseesse 90

Hình 7.17 Gói tin UDP bắt được trên Wireshark - ¿22+ +s+E+EvEEE+EzEzEsxsrerrs 91

Hình 7.18 IP Ethernet không nhận dữ liệu khi không đúng dia chi IP 91 Hình 7.19 IP Ethernet nhận dữ liệu khi đúng địa chi IP - - 5-5 << <<+<<sx 92 Hình 7.20 Thực thi đoạn code Python - c5 c1 1E ESESirsesrrrsressre 92

Hình 7.21 Hiển thị dữ liệu trong tệp đã nhận được - 5+ + s++s+ssersssss 93

Hình 7.22 Gói tin UDP bắt được trên Wireshark s- - + vEx+x+EvE+xererxsxers 93

Trang 12

DANH MỤC BANG

Bảng 2-1 Một số giao thức trong mô hình OSÌ ¿22 ©+22++x++x+zcxzze 7Bang 2-2 Các biến thé và thông $6 2-2-5252 E+EE2EE2EE2EE2E2EE2E12E22E22Ee ke, 10Bang 2-3 Các tin hiệu truyền của GMIDo0 eeceecccsessessessessessessessessessessesseseseseaseas lãi

Bảng 2-4 Các tín hiệu nhận của GMIIÍ, c5 SE E9 VESkSerirseeeerrereree 11

Bang 2-5 Các tín hiệu của AXI4-Stream oo eee - «cà 1kg ng tr 15

Bảng 8-1 So sánh với khóa luận trước ÍfÌ, -¿- + + St +++++x+xexeEeEeztzvzxrxexerersrs 94

Trang 13

DANH MỤC TU VIET TAT

IP Intellectual property

FPGA Field-programmable gate array

IEEE Institute of Electrical and Electronics Engineers

CSMA/CD Carrier-sense multiple access with collision detection

FCS Frame check sequence

ARP Address Resolution Protocol

Ipv4 Internet Protocol version 4

UDP User Datagram Protocol

ICMP Internet Control Message Protocol

MAC Medium access control

TCP Transmission Control Protocol

DHCP Dynamic Host Configuration Protocol

GMII Gigabit media-independent interface

PHY Physical layer

CRC Cyclic redundancy check

SDF Start frame delimiter

ICMP Internet Control Message Protocol

PCS Physical coding sublayer

PMA Physical Medium Attachment

SoC System-on-Chip

MIG Memory Interface Generator

Trang 14

TOM TAT KHÓA LUẬN

Khóa luận này tập trung tìm hiểu và hiện thực IP Ethernet 1Gbit/s.

Trong hệ thống mạng, dữ liệu được đóng gói thành các frame vì vậy khóaluận này tập trung xử lý các Ethernet frame, IPv4 packet, và UDP datagram,

đồng thời phân tích các trường thông tin tương ứng với từng đơn vị dữ liệu đóng gói Ngoài ra, em cũng đã tích hợp IP này vào hệ thống SoC và sử dụng

lõi xử lí để cấu hình và điều khiển.

Mặc dù IP Ethernet không phải là khái niệm mới và đã trở nên phổ biến, nhưng nhu cầu tích hợp IP kích thước nhỏ gọn vào hệ thống SoC van rat quan trọng do tài nguyên phần cứng có hạn Vì lý do này, em đã chọn hiện thực IP Ethernet 1Gbit/s cùng với giao thức truyền dữ liệu UDP dé đơn giản

hóa quá trình thực hiện.

Kết quả đánh giá dựa trên: tốc độ, khả năng kết nối với PC, và tài nguyên sử dụng Thông qua thử nghiệm trên FPGA, IP Ethernet hỗ trợ đầy đủ

các chức năng theo mục tiêu đặt ra với tốc độ 1Gbit/s.

Bên cạnh đó, khóa luận này còn mở rộng thêm hiện thực giao thức

ICMP trên phần cứng để giúp tăng cường khả năng kiểm tra và chân đoán mạng Việc hiện thực ICMP trên phần cứng không chỉ giúp tối ưu hóa hiệu

năng ma còn giảm tải cho CPU, nâng cao khả năng của hệ thông.

Trang 15

Chương 1 GIỚI THIỆU

1.1 Lý do chọn đề tài

Thời điểm hiện tại, lĩnh vực mang máy tính và giao thức IP đang tiếp tục pháttriển và cải tiến Hiện thực lõi IP Ethernet core có thể hình thành nền móng chonghiên cứu và cải tiến kế tiếp trong lĩnh vực này Chúng tôi có thể đóng góp trongviệc nâng cao hiệu suất, bảo mật, định tuyến và các phương diện khác của mạng IP

Ethernet.

Hiện thực lõi IP Ethernet core đòi hỏi kiến thức vững và thực hành về mạng máy tính, Ethernet và IP Khóa luận này sẽ giúp nắm rõ hơn về cách hoạt động của

mạng và giao thức quan trọng như IP và những khó khăn trong việc triển khai hệ

thống mạng phức tạp Ngoài ra, việc hiện thực lõi IP Ethernet core trong đồ án sẽ

giúp chúng tôi vận dụng kiến thức và kỹ năng của mình vào công việc thực tiễn, từ

đó sẽ có được trải nghiệm quá trình thiết kế, hiện thực, và kiểm thử một hệ thống

mạng, từ đó phát triển khả năng khắc phục vấn đề và xử lý các lỗi trong môi trườngthực tế

1.2 Mục tiêu và phương pháp thực hiện

1.2.1 Mục tiêu

Nắm vững kiến thức về cách hoạt động của giao thức IP Ethernet, bao gồmquá trình truyền thông giữa các thiết bi, cau trúc gói tin, định tuyến và quản ly địa

chỉ.

Hiện thực một hệ thống SOC tích hợp lõi IP Ethernet 1Gbps hỗ trợ giao

thức ICMP trên FPGA.

Cấu hình được dia chỉ cho lõi Ethernet

Triển khai hệ thống trên board Virtex 7

Trang 16

1.2.2 Phương pháp thực hiện

Dé hiện thực được IP Ethernet 1 Gbit/s trên FPGA trước hết cần phải đảm

bảo các tang cũng như câu trúc thiệt kê một frame của một gói tin theo tiêu chuân

giao thức chung IEEE 802.3 đồng thời cũng phải tìm hiểu một số các giao thức

cũng như các thức cũng như thuật toán:

Cấu trúc Ethernet frame, IPv4, ARP frame

Các quy trình vận hành ở từng tang của Ethernet

Gigabit media-independent interface (GMIID Ethernet có tốc độ là 1000Mbit/s hoạt động với tần số 125 Mhz

Giao thức bus truyền AXI stream

Sử dụng các công cụ như Vivado, Modelsim dé thực hiện kiểm tra các

module đồng thời sửa các lỗi đã tồn đọng

Tìm hiểu về FPGA Xilinx Virtex VC707

Trang 17

Chuong 2 TONG QUAN VE ETHERNET

2.1 Mô hình OSI “!

Mô hình OSI (Open Systems Interconnection) được hiểu là mô hình kết nối

các hệ thống mở OSI áp dụng phương pháp phân tang trong việc thiết kế hệ thốngkết nối và giao thức truyền thông giữa các máy tính Mô hình OSI được xây dựng

để giúp các hệ máy đa dạng từ các nhà cung cấp khác nhau có thể tương thích với

nhau.

Mô hình OSI được xác định trong tiêu chuẩn số 7498-1 Mô hình này cho

bởi AL

Hình 2.1 Mô hình OSI

Mô hình chia thành hai lớp: lớp trên (Responsibility of the host) va lớp dưới

(Responsibility of the network):

e_ Lớp trên tập trung xử lí các van đề liên quan đến ứng dụng và được thực

hiện thông qua phần mềm va là lớp tương tác trực tiếp với người dùng,

Trang 18

nơi mà cả người dùng và lớp ứng dụng đều tương tác với các ứng dụngphần mềm.

e©_ Lớp dưới tập trung vào việc vận chuyên dữ liệu Lớp liên kết dit liệu và

lớp vật lý hoạt động thông qua qua cả phần cứng và phần mềm Lớp vật

lý là lớp dưới cùng trong mô hình OSI và gần với phương tiện vật lý nhất,

đảm nhận việc đặt thông tin lên phương tiện vật lý.

2.1.1 Tang 1: Tầng vat lý (Plysical Layer)

Tang vật lý là tang cơ ban nhất, xác định các chức năng và thu tục liên

quan đến điện, cơ khí và quang học dé xây dựng, bảo trì và ngắt kết nối vật lý

giữa các hệ thống mạng Các chức năng của tầng này gồm có việc thiết lập hoặcngắt kết nối điện, chia sẻ tài nguyên truyền thông giữa nhiều người dùng, và điềuchế hoặc biến đồi dữ liệu số thành các tín hiệu tương ứng

2.1.2 Tang 2: Tầng liên kết dữ liệu (Data Link Layer)

Tang liên kết dữ liệu có nhiệm vụ thiết lập, duy trì và hủy bỏ các liên kết

dữ liệu, cũng như quản lí lỗi và dong dữ liệu Tang này cung cấp các phương tiện

và quy trình dé truyền dữ liệu giữa các thực thé mạng, đồng thời xác định và khắcphục lỗi xảy ra ở tang vật lý Các giao thức điên hình tại tang này bao gồm

Ethernet, HDLC, ADCCP va Aloha.

2.1.3 Tang 3: Tang mang (Network Layer)

Tang mang chịu trách nhiệm đưa ra các tinh năng và quy trình dé truyền

đữ liệu từ nguồn đến đích qua một hoặc nhiều mạng, đồng thời giữ được chất

lượng dịch vụ từ tầng giao vận Tầng này quyết định lộ trình cho các gói tin và

kiểm soát tắc nghẽn khi có nhiều gói tin được chuyền qua cùng một lộ trình

2.1.4 Tầng 4: Tầng giao vận (Transport Layer)

Tang giao vận cung cap dich vụ truyén dữ liệu giữa các thiệt bi dau cuôi,

đồng thời đảm bảo độ tin cậy của kết nối Tầng này phân chia các gói tin lớn

Trang 19

thành các gói tin nhỏ, đánh dấu thứ tự, theo dõi và truyền lại các gói tin bị thất

lạc Đây là tầng cuối cùng đảm bảo an toàn trong quá trình truyền dit liệu

2.1.5 Tang 5: Tầng phiên (Session Layer)

Tầng phiên quản lý các phiên hội thoại giữa các máy tính, cho phép thiếtlập, duy trì, đồng bộ hóa và hủy bỏ phiên truyền thông Tầng này sử dụng thẻ bàiToken để truyền dir liệu, đồng bộ hóa và hỗ trợ các chế độ hoạt động song công,

bán song công và đơn công Tầng phiên cũng đặt ra các quy trình xác định điểm

hoàn thành dé giúp phục hồi liên lạc nhanh chóng khi gặp sự có

2.1.6 Tang 6: Tầng trình diễn (Presentation Layer)

Tầng trình diễn xử lý các vấn đề liên quan đến cú pháp và nội dung trongquá trình truyền thông tin Nó chuyên hóa dữ liệu từ tầng ứng dụng sang định

dạng thống nhất và ngược lại, thực hiện việc chuyên đổi dữ liệu, nén để giảm

lượng dữ liệu truyền trên mạng, cũng như mã hóa và giải mã để đảm bảo bảo mật.2.1.7 Tầng 7: Tang ứng dung (Application Layer)

Tang ứng dụng là tang gần nhất với người dùng, xác định giao diện giữa

người dùng và hệ thống OSI Tầng này cung cấp các cách thức đề người dùng

tiếp cận thông tin và dữ liệu trên mạng qua các phần mềm ứng dụng Một số giaothức tiêu biểu ở tang này bao gồm HTTP, Telnet va FTP

2.2 Mô hình TCP/IP

Mô hình OSI mà chúng ta vừa xem xét chỉ là một mô hình tham chiếu logic

Nó được tạo ra nhằm mục đích mô tả các chức năng của hệ thống truyền thông bằngcách chia quy trình giao tiếp thành các thành phần nhỏ hơn

TCP / IP được thiết kế và phát triển bởi Bộ Quốc phòng (DoD) vào nhữngnăm 1960 và dựa trên các giao thức tiêu chuẩn Nó là viết tắt của TransmissionControl Protocol / Internet Protocol Mô hình TCP/IP là phiên bản ngắn gọn của môhình OSI Nó chứa bốn lớp: Application, transport, Internet, Link Không giống như

bảy lớp trong mô hình OSI.

Trang 20

Các giao thức ở từng tang được nêu ra trong bảng 2-1.

Bảng 2-1 Một số giao thức trong mô hình OST

OSI model TCP/IP Player Protocol

model number

Application | Application 7 DHCP, SEP2, DNP3, HTTP, IEC

61850, ICCP, CIM, OpenADR, GOOSE

Presentation 6 Compression an encryption protocol

Session 5 NFS, SQL, SMB, RPC, SCP, SDP, P2P

Transport Transport 4 TCP, UDP

Network Internet 3 IPv4/IPv6, IGMP, ICMP

Data link Link 2 ARP, Ethernet

Physical 1 RS 232, UDP cables (CAT 5,6), DSL,

Optic fiber

Trong phạm vi khóa luận nay chi sử dung một số giao thứ: UDP, IPv4, ARP

và Ethernet.

2.3 Dinh dạng gói tin

Trong đồ án này có 3 dạng gói tin được sử dụng:

e Gói tin ARP dùng dé tìm địa chi MAC từ địa chỉ IP đích bang cách gửi các

gói request và reply cau trúc như hình 2.2(c)

e Gói tin UDP dữ liệu từ tang application (dữ liệu người dùng) được đóng

gói bởi giao thức ở từng tầng, sau khi tầng bên trên đóng gói thì sẽ trởthành đữ liệu của tầng bên dưới cho đến khi đến tầng cuối cùng sẽ đượctruyền đi như hình 2.2(a)

Trang 21

e Gói tin ICMP có định dạng tương tự với gói UDP, nhưng dữ liệu của

ICMP không được sử dụng bởi tầng application vì nó chủ yếu được dùng

trong chân đoán và quản lý mạng ở tầng mạng (network layer)

a) UDP package

|

| ICMP header | ICMP data |

xị

IP header | IP data | | ARP request or reply

Frame header Frame data | FCS [Frame rate Frame data FcS

b) ICMP package c) ARP package

Hình 2.2 Định dạng các gói tin

2.4 Mac address Ì

MAC (Media Access Control) là một thành phan trong lớp điều khiến truy cậpphương tiện, cung cấp các cơ chế định địa chỉ và kiểm soát truy cập kênh, hỗ trợ các

máy tính truyền và nhận dữ liệu với nhau Thành phần này nằm trong mô hình OSI,

một mô hình nền tảng về các quy trình truyền thông Tầng liên kết dữ liệu

(Datalink) trong mô hình OSI được chia thành hai tang con: tang MAC và tang

LLC.

Chức năng của tang MAC là cung cấp các tiến trình định địa chỉ và kiểm soát

khả năng truy cập kênh Tầng MAC trong tầng liên kết dữ liệu giúp việc truyền dữ

liệu giữa tang LLC và tang vật lý trong mô hình OSI diễn ra dễ dàng Thêm vào đó,

Trang 22

MAC cũng cho phép nhiều trạm kết nối tới cùng một môi trường vật lý và cùng chia

Sẻ môi trường này.

Địa chỉ MAC là một chuỗi số 48-bit được nhà sản xuất nhúng vào phần cứng

của card mạng và được coi như địa chỉ vật lý của thiết bị mạng, tương tự như việccần biết địa chỉ của một ngôi nhà để có thé đến được ngôi nhà đó

Địa chỉ MAC thường bao gồm ba loại chính: Unicast, Broadcast và Multicast

e Unicast: Dia chi Unicast MAC được sử dụng dé gửi dữ liệu từ một máy

nguồn đến một máy đích cụ thé Dia chỉ này chỉ định một card mang duynhất Nếu bit ít quan trọng nhất (LSB) của octet đầu tiên trong địa chỉ đượcđặt là 0, thì địa chỉ MAC này sẽ chỉ được gửi đến một card mạng cụ thể

e Broadcast: Cho phép gửi khung Ethernet tới tất cả các máy tính trong

mang và có giá trị FF-FF-FF-FF-FF-FF, và các khung với địa chỉ nay sé

được gửi đến tất cả các máy tính trong mạng LAN

e_ Multicast: Cho phép gửi dữ liệu tới một nhóm các thiết bị Trong địa chỉ

Multicast lớp 2 (Ethernet), LSB của octet đầu tiên của địa chỉ được đặt là

1 IEEE cấp các địa chỉ trong dải 01-80-C2-xx-xx-xx (từ 00-00-00 đến

và kết nối các loại PY khác nhau với MAC Tach biệt với phương tiện có nghĩa làcác loại thiết bị PHY khác nhau dé liên kết với nhiều loại phương tiện (tức là cặpxoắn, cáp quang, v.v.) có thể sử dụng mà không cần tái thiết kế hoặc thay thếphần cứng MAC Do đó, bất kỳ MAC nào cũng có thể được áp dụng với mọi loạiPHY, tách biệt với phương tiện truyền tín hiệu mạng

Trang 23

MII có thé được sử dụng dé kết nối MAC với PHY bên ngoài bang đầu nối

có thể cắm với chip PHY trên cùng một PCB Trên PC, đầu nối CNR Loại B

mang tín hiệu MII.

Dữ liệu mạng trên giao diện được đóng khung bằng chuẩn IEEE Ethernet

Như vậy, nó bao gồm phần mở đầu, dấu phân cách khung bắt đầu, Ethernet

frame, dữ liệu đành riêng cho giao thức và kiểm tra dự phòng theo chu kỳ (CRC).

MII ban đầu sử dụng các bit 4 bit để truyền dữ liệu mạng theo mỗi hướng (4 bittruyền dữ liệu, 4 bit dữ liệu nhận) Dữ liệu có tốc độ 25 MHz dé đạt được thônglượng 100 Mbit/s Thiết kế MII ban đầu đã được mở rộng dé hỗ trợ giảm tín hiệu

và tăng tốc độ Các biến thể được nêu trong bảng 2-2

Bang 2-2 Các biến thê và thông số

Tên Max clock Tốc độ Bits / clokc

sycle Media-independent interface (MII) 25MHz 100Mbps 4 bits

Reduced media-independent interface 50MHz 100Mbps 2 bits

Trang 24

2.5.2 Gigabit media-independent interface

Do đồ án thiết kế một IP Ethernet chuẩn 1 Gbit/s nên ta chon giao diện

GMII dé triển khai

Gigabit media-independent interface (GMII) là giao diện giữa thiết bị điềukhiển truy cập trung bình (MAC) và lớp vật lý (PHY) Giao diện hoạt động ở tốc

độ lên tới 1000 Mbit/s, được triển khai bằng giao diện dữ liệu có tốc độ 125 MHzvới các đường dẫn dữ liệu tám bit riêng biệt để nhận và truyền và tương thíchngược với đặc tả MII và có thể hoạt động trên tốc độ dự phòng 10 hoặc 100

Mbit/s.

Giao diện GMII lần dau tiên được định nghĩa cho 1000BASE-X trongIEEE 802.3z-1998 như điều khoản 35, và sau đó được tích hợp vào IEEE 802.3-

2000 trở đi.

Bang 2-3 Các tín hiệu truyền cua GMII

Tên tín hiệu Mô tả

GTXCLK Tín hiệu Clock cho gigabit TX (125Mhz)

TXCLK Tin hiệu Clock

TXD (8 bits) 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 dữ liệu)

Bảng 2-4 Các tín hiệu nhận của GMII

Tên tín hiệu Mô tả

RXCLK Tín hiệu Clock nhận đữ liệu

RXD (8 bits) Dữ liệu nhận

11

Trang 25

RXDV Xác nhận dữ liệu hợp lệ

TXEN Tín hiệu kích hoạt

RXER Tín hiệu báo dữ liệu lỗi

2.6 Giao thức AXI

2.6.1 Tổng quan

Advanced eXtensible Interface (AXI) là một giao thức bus truyén thongtrên chip được phát triển bởi ARM Nó là một phan của thông số kỹ thuật

Advanced Microcontroller Bus Architecture 3 (AXI3) va 4 (AXI14).

AXI đã được giới thiệu vào năm 2003 với đặc điểm kỹ thuật AMBA43

Năm 2010, một phiên bản mới của AMBA, AMBA4, đã xác định giao thức AXI4, AXI4-Lite và AXI4-Stream.

Có ba dạng:

e AXI4: Được thiết kế cho các yêu cầu ánh xạ bộ nhớ với hiệu năng vượt

trội.

e AXI4-Lite: Dành cho giao tiếp ánh xạ bộ nhớ với hiệu suất truyền dit

liệu thấp và câu trúc dễ tiếp cận

e AXI4-Stream: Được sử dụng trong việc truyền dữ liệu với tốc độ cao

2.6.2 AXI4-Lite

AXI hoạt động dựa trên năm kênh độc lập "Độc lập" ở đây có nghĩa là

mỗi kênh có chức năng cụ thể, và sự hoàn thành nhiệm vụ của mỗi kênh không

phụ thuộc vào các kênh khác, nhưng không có nghĩa là các kênh hoàn toàn không

liên quan đên nhau.

e Kênh địa chỉ đọc (Read Address Channel): truyền thông tin dia chỉ và

điêu khiên của một giao dich đọc từ master đên slave.

12

Trang 26

e Kênh dữ liệu đọc (Read Data Channel): truyền dữ liệu đọc và thông tin

phản hồi của một giao dich đọc từ slave đến master.

e Kénh địa chỉ ghi (Write Address Channel): truyền thông tin dia chỉ và

điều khiển của một giao dịch ghi từ master đến slave

e Kênh dữ liệu ghi (Write Data Channel): truyền dữ liệu ghi từ master

đến slave

e Kênh phản hồi ghi (Write Response Channel): truyền thông tin phản

hồi của một giao dịch ghi từ slave đến master

Read address channel Address

and

control

Read data channel

Read Read Read Read

data data data data

~—— x“—— <+— “—

Master Slave

interface Write address channel interface

Address and

Write

data

Write data

Hình 2.3 Cau trúc kênh truyền chung AX14 111

Tương ứng với môi kênh sẽ có các tín hiệu khác nhau đê điêu khiên.

13

Trang 27

Writeaddress Writedata Writeresponse Readaddress Readdata Global

channel channel channel channel channel

ACLK AWVALID WVALID BVALID ARVALID RVALID

ARESETn AWREADY WREADY BREADY ARREADY RREADY

= AWADDR WDATA BRESP ARADDR RDATA

- AWPROT WSTRB - ARPROT RRESP

Hình 2.4 Các tín hiệu cua AXI4-Lite

ACLK: tín hiệu clock của hệ thống, được sử dụng dé đồng bộ hóa tất cả

các hoạt động trong giao diện AXI4-lite.

ARESETn: tín hiệu reset giao thức.

AWVALID, ARVALID, WVALID: Tín hiệu này chỉ ra rằng địa chỉ ghi/đọc(Write/Read address), dữ liệu (Write data) là hợp lệ và có sẵn dé được chấp nhận

boi slave.

BVALID, RVALID: Tin hiệu này chỉ ra rang dữ liệu phản hồi (Write

Response), dữ liệu đọc (Read data) là hợp lệ và có săn dé được chấp nhận bởi

master.

AWREADY, WREADY, ARREADY: Tin hiéu nay chi ra rang thiét bi slave

đã sẵn sang dé tiếp nhận dữ liệu và điều khiển ghi từ master.

BREADY, RREADY: Tín hiệu này chỉ ra rang master đã sẵn sàng dé chấp

nhận dữ liệu và điêu hành từ slave.

AWADDR: Dia chỉ ghi (Address Write) do master phát ra dé chỉ định vi trí

nơi dữ liệu sẽ được ghi vào bởi slave.

WDATA: Dữ liệu (Write Data) được master phát ra để được ghi vào bởi

thiết bị slave

BRESP: Phản hồi (Response) từ thiết bị slave đến master đề chỉ ra trạng

thái của giao dịch ghi.

14

Trang 28

ARADDR: Địa chỉ đọc (Address Read) được master phát ra dé chỉ định vị

trí nơi dir liệu sẽ được đọc từ bởi slave.

RDATA: Dữ liệu (Read Data) từ thiết bị slave đến master Đây là dữ liệu

được yêu câu bởi master.

AWPROT: Tín hiệu này chỉ ra rằng tín hiệu chính có địa chỉ cần ghi hợp lệ

và thông tin điều hành

WSTRB: Tín hiệu sử dụng dé chỉ định các byte lanes nào trong dữ liệu ghi

là hợp lệ Nó có độ dài phù hợp với kích thước dir liệu và sẽ có một bit cho mỗi

byte trong dữ liệu

ARPROT: Tín hiệu này chỉ ra rằng tín hiệu chính có địa chỉ cần đọc hợp lệ

và thông tin điều hành

RRESP: tín hiệu chỉ ra trạng thái đọc (Read Response), các trạng thái

thường là thành công (OKAY) hoặc lỗi (ERROR).

2.6.3 AXI4-Stream

AXI4-Stream (Advanced eXtensible Interface 4-Stream) là một trong

những giao thức trong họ giao thức AXI4 được phát triển bởi ARM, đóng vai trò

là giao diện chuẩn để kết nói các thành phan trong hệ thống trao đổi dữ liệu

AXI4-Stream được thiết kế nhằm tối ưu hóa việc truyền dữ liệu có hiệu suất caogiữa các thành phần mà không cần phải quản lý địa chỉ bộ nhớ, giúp đơn giản hóaviệc giao tiếp trong các ứng dụng xử lý dữ liệu liên tục

Bang 2-5 Các tín hiệu cua AXI4-Stream

Signal Source Description

ACLK Clock Tin hiéu đồng hồ toàn hệ thông và sử dụng cạnh

source lên của ACLK.

ARESETn Reset Tín hiệu đặc biệt đặt lại toàn hệ thông ARESETn

source được kích hoạt khi ở mức thấp (ACTIVE-LOW)

15

Trang 29

TVALID Master Chỉ định răng master đang gửi một truyền đữ liệu

hợp lệ Một truyền dữ liệu diễn ra khi cả TVALID

và TREADY đều được kích hoạt

TREADY Slave Chi định rang slave có thé chấp nhận truyền dit

liệu trong chu ky hiện tai.

TDATA[(8n-1):0] Master Dữ liệu chính được sử dụng dé cung cấp dt liệu

đang truyền qua giao diện Độ rộng của dữ liệu là

một số nguyên byte

TSTRB[(n-1):0] Master Điều khiến byte cho biết liệu nội dung cua byte

kèm theo của TDATA có được xử lý như một byte di liệu hay một byte vi trí.

TKEEP[(n-1):0] Master Điều khiển byte cho biết liệu nội dung của byte

kèm theo của TDATA có được xử lý như một

phan của luồng dữ liệu hay không Cac byte kèmtheo mà có điều khiển byte TKEEP bị tắt là byterỗng và có thê được loại bỏ khỏi luồng dữ liệu

TLAST Master Chi ra ranh giới của một gói tin.

khác nhau.

TDEST[(d-1):0] Master Cung cấp thông tin định tuyến cho luồng dữ liệu

TUSER[(u-1):0] Master Thông tin bên ngoài được định nghĩa bởi người

dùng có thé được truyền cùng với luồng đữ liệu

16

Trang 30

Chương 3 GIAO THỨC SỬ DỤNG TRONG LOI IP ETHERNET

3.1 UDP 4!

UDP, viết tắt của User Datagram Protocol, là một giao thức quan trọng trong bộ

giao thức TCP/IP Với UDP, các ứng dụng mạng có thé gửi các gói dữ liệu nhỏ, gọi

là datagram, tới các máy tính khác.

Khác với TCP, UDP không đảm bảo sự tin cậy và thứ tự trong việc truyền dữ

liệu Các gói tin có thê đến sai thứ tự hoặc bị mất mà không có thông báo nào Tuynhiên, UDP có tốc độ nhanh hơn và hiệu quả hơn cho các ứng dụng yêu cầu dữ liệunhỏ và thời gian thực Vì không duy trì trạng thái, UDP rất hữu ích cho việc xử lý

các truy vân nhỏ với sô lượng lớn.

UDP hoạt động theo cơ chế tối giản của mô hình giao tiếp không kết nối (còngọi là chế độ CL - Communicationless), trong đó dữ liệu được gửi từ thiết bị nàyđến thiết bị khác mà không cần xác nhận xem thiết bị đã sẵn sàng hay không, khácvới mô hình bắt tay của các giao thức kết nối

3.1.1 Cách thức hoạt động của UDP

UDP sử dung IP dé lay datagram từ máy tính này sang máy tính khác

Hoạt động bằng cách đóng gói dữ liệu và thông tin header của riêng mình vào

gói Dữ liệu này bao gồm các port nguồn và đích dé giao tiếp, độ dài gói và thuậttoán kiểm tra checksum Sau khi các gói UDP được gói gọn trong gói IP, chúng

sẽ gửi đên các điêm đích được chỉ định.

Giao thức dùng một mô hình truyền đơn giản không bao gồm các cuộc đốithoại bắt tay (handshaking dialogues) dé cung cấp độ tin cậy, sắp đặt hoặc tính

toàn vẹn dữ liệu Do đó, dịch vụ của UDP không đáng tin cậy Các gói tin có khả

năng bị mât, dữ liệu có thé thêm bản sao hoặc bị mat mát mà không có cảnh báo.

Mặc dù phương pháp truyền dữ liệu của UDP không đảm bao rằng dữ liệu

được gửi sẽ đến đích, nhưng nó có chi phí thấp và phổ biến cho các dịch vụ, ứng

dung chap nhận việc mat mát vé dữ liệu.

17

Trang 31

3.1.2 Cấu trúc UDP header

Header của UDP bao gồm bốn trường: source port, destination port, length

Hình 3.1 Cầu trúc UDP header

Source port: Có kích thước 16 bit, trường nay xác định địa chỉ cổng củamáy gửi và nơi nhận phản hồi nếu cần Nếu không sử dụng, giá trị của trường này

là 0; nêu có sử dụng, giá tri sẽ là 1.

Destination port: Cũng có kích thước 16 bit, trường này xác định cổng của

máy nhận.

Length: Chiêm 16 bit, trường này chỉ ra tổng độ dài của UDP header và dữ

liệu chứa trong gói UDP UDP header có độ dài tối thiểu là 8 byte Trong lý

thuyết, độ dài tối đa của một gói datagram là 65.535 byte (gồm 8 byte header và65.527 byte dữ liệu) Đối với giao thức IPv4, giới hạn độ dài là 65.507 byte(65.535 byte dit liệu — 8 byte header UDP — 20 byte header IP) Đối với giao thức

IPv6, giới han là 65.535 byte.

Checksum: Trường nay được sử dung để kiểm tra lỗi của header và dữliệu Mặc dù trường này không bắt buộc trong IPv4, nhưng là bắt buộc trongIPv6 Nếu không sử dung, giá trị của trường này sẽ là 0

Trang 32

3.2.1 Cách biểu diễn địa chỉ

Địa chi IP 32 bit được chia thành 4 nhóm, mỗi nhóm 8 bit (gọi là một

octet), và các nhóm này được phân cách bởi dấu chấm, theo định dạng phân nhóm

(dotted format) Để dễ sử dụng, các octet thường được chuyền thành giá trị thập

phân.

Dạng biéu diễn Giá trị Chuyén đỗi từ biéu diễn thập phan

Octet được biểu diễn ở dạng thập phân | 192.8 2.235 NIA

Hệ cơ số 16 8xC99082EB Gia trị của chuỗi 32 bits được chuyễn sang hệ cơ số 16

Hệ cơ số 10 3221226219 Giá trị của chuỗi 32 bits được chuyễn sang hệ cơ số 10

Hệ cơ số 8 830999881353 Giá trị của chuỗi 32 bits được chuyễn sang hệ cơ số 8

Hình 3.2 Biêu dién địa chỉ

Hau hết các định dạng này được các trình duyệt chấp nhận Trong địnhdạng phân nhóm, mỗi nhóm có thê được biểu diễn bằng các hệ cơ số khác (ví dụ:192.0x00.0005.128) mà không làm thay đôi giá trị thực của địa chỉ Một dạng

hiếm gặp khác là biểu diễn địa chỉ dưới dạng mã ASCII, được sử dụng trong một

số chương trình phần mềm dé gan cho các trường địa chỉ nguồn và địa chi dich

3.2.2 Cấu trúc IPv4 header

Header của IPv4 bao gồm 12 trường bắt buộc, với tổng chiều dài là 20byte Cấu trúc của IPv4 header như hình 3.3

19

Trang 33

03 4-7 8-15 16-18 18-31

Version Type of Service Total Length

Time to Live Protocol Header Checksum

Source IP Address

Destination IP Address

IP Options Padding

DATA

Hình 3.3 Cầu trúc IPv4 header

Version: Phiên ban IP với IPv4 có mã là 0100 Nếu không khớp với phiênbản trên thiết bị nhận, thiết bị nhận sẽ bỏ qua gói tin này Dựa vào số phiên bản,Router có thê xác định phần còn lại của IP Datagram

IP Header Length (IHL): Chiều dài của header, mỗi đơn vi là một word,mỗi word là 4 bytes Trường IHL có 4 bit, do đó có thé biểu thị tối da 16 từ (16 x

4 byte = 64 byte), dẫn đến chiều dài tối đa của header là 64 byte Thông thường,chiều dài header là 20 byte, bao gồm tất cả các thông tin của header

Type Of Services (TOS): Cách xử lý gói dữ liệu, bao gồm mức độ ưu tiên

và yêu cầu về độ trễ Trường này thường được sử dụng để quản lý chất lượng

dịch vụ mạng.

Total Length: Tông chiều dài của IP Datagram, tính bằng byte, bao gồm cả

dữ liệu và header Với 16 bit, giá trị tối đa có thể là 2^16 = 65.536 byte = 64 Kb,

do đó chiều dài tối đa của một IP Datagram là 64 Kb

Identification: Cung cấp một mã số cho mỗi IP Datagram, giúp thiết binhận có thể ghép các mảnh của một IP Datagram lại với nhau Các mảnh thuộccùng một IP Datagram sẽ có mã số xác định giống nhau

Flag:

e Bit 0: Không được sử dung.

20

Trang 34

e Bit 1: Cho biết liệu gói dữ liệu có bị phân mảnh hay không.

e Bit 2: Nếu gói bi phân mảnh, bit này sẽ chi ra liệu mảnh hiện tại có

phải là mảnh cuối cùng hay không Cũng bao gồm 6 cờ: URG (Urgent

Pointer), ACK (Acknowledgement), PSH (Push Function), RST (Reset

Connection), SYN (Synchronize Sequence Numbers), FIN (Finish

Sending Data).

Fragment Offset: Chi định vị tri của các mảnh trong IP Datagram gốc,giúp thiết bị nhận ghép các mảnh lại thành IP Datagram hoàn chỉnh

Time To Live (TTL): Số lượng bước nhảy (hops) mà gói tin có thể đi qua

trước khi bị loại bỏ TTL giảm di 1 mỗi khi gói tin đi qua một router Khi TTL

đạt 0, gói tin sẽ bị loại bỏ để ngăn chặn việc lặp vòng vô hạn trên mạng

Protocol: Giao thức của tầng trên (tầng Transport) sẽ nhận phần dữ liệusau khi xử lý IP Datagram ở lớp Network hoàn tất, hoặc giao thức của lớp trêngửi segment xuống lớp Network dé đóng gói thành IP Datagram Mỗi giao thức

có một mã riêng (ví du: TCP - 06, UDP - 17, ICMP - 01).

Header CheckSum: Giúp router phát hiện lỗi bit trong quá trình nhận IP

Datagram, dam bảo IP header là đúng.

Source IP Address: Địa chỉ của thiết bị gửi IP Datagram

Destination IP Address: Địa chỉ IP của thiết bị nhận IP Datagram

IP Option: Time Stamp (thời điểm đã đi qua router), Security (xác địnhliệu router có cho phép gói dữ liệu không; nếu không, gói sẽ bị hủy), Record

Router (lưu danh sách địa chỉ IP của các router mà gói dữ liệu phải đi qua),

Source Route (chỉ định các router mà gói dữ liệu phải đi qua, không cần bảng

định tuyến tại mỗi router).

Padding: IP header phải luôn được đảm bảo là bội số của 32 bit do đó các

sô 0 sẽ được thêm vào.

21

Trang 35

3.3 ARP IS

ARP (Address Resolution Protocol) là phương thức giải mã địa chỉ động giữa

địa chỉ lớp mạng và địa chỉ lớp datalink Quá trình này diễn ra khi một thiết bị IPtrong mạng gửi một gói tin local broadcast đến toàn mạng, yêu cầu các thiết bị khác

gửi lại địa chỉ MAC của mình.

ARP thuộc lớp 2 (Data Link Layer).

3.3.1 Cách thức hoạt động của ARP

Hình 3.4 Cách hoạt động cua ARP protocol

Bước 1: Thiết bị gỬI sẽ kiểm tra trong bộ nhớ (cache) của mình Nếu cógiá trị ánh xạ địa chỉ MAC/IP tương ứng thì sẽ sang bước thứ 5, còn nếu không sẽ

tiếp tục bước thứ 2

Bước 2: Thiết bị gửi sẽ gửi một gói tin ARP request khắp hệ thống mạng(địa chỉ MAC quảng bá ff:ff:ff:ff:ff:ff) để yêu cầu dia chỉ MAC với địa chỉ IP của

thiết bị cần biết MAC

Bước 3: Khi nhận được gói tin ARP request, các thiết bị trong mạng sẽkiểm tra trường Target Protocol Address dé xử lý

22

Trang 36

e Khong đúng TPA thì sẽ không nhận.

e IP đúng với IP trong TPA sẽ gửi trả gói tin ARP Reply với địa chi

MAC của thiết bị Đồng thời cập nhật giá trị ánh xạ địa chỉ MAC/IPvào bộ nhớ (cache) của mình dé thuận tiện cho những lần xử lí sau

Bước 4: Thiết bị nguồn nhận được gói tin ARP reply và xử lý dé lay địa

chi MAC.

Bước 5: Thiết bi nguồn cập nhật giá trị ánh xạ địa chi MAC/IP vào bộ nhớ(cache) của mình dé lần sau không cần gửi gói tin ARP request

3.3.2 Cấu trúc gói ARP

Một gói tin ARP có kích thước là 28 bytes và được đóng gói trong

Ethernet frame II vì vậy trong mô hình OSI, ARP là giao thức lớp 3 có cấu trúc

như hình 3.5.

Ethernet Frame Format (ARP Packet)

<+— Ethernet II header ———»

| co 8 1

Hardware type (2 bytes) Protocol type (2 bytes)

Operation code (2 bytes)

Source hardware address(6 bytes)*

Source protocol address(4 bytes)”

Target hardware address(6 bytes)*

Target protocol address(4bytes)*

Hình 3.5 Cau trúc gói tin ARP

Hardware type: Loai phan cung cần được biết (vi du: Ethernet có giá tri 1)

Protocol type: Loại giao thức lớp cao hon (layer 3) ma máy gửi sử dụng (vi du: giao thức dành cho IP có giá tri 0x0800).

23

Trang 37

Hardware address length: Độ dài của địa chỉ phần cứng (tính băng byte).

Đối với địa chỉ MAC, giá trị này là 6

Protocol address length: Độ dài của địa chỉ logic được sử dung ở lớp trên

(layer 3) Với IPv4, giá trị này là 4 byte.

Operation code: Loại gói tin ARP mà máy gửi gửi đi Các giá trị phd biếnbao gồm:

e Gói tin ARP request - 1.

e Gói tin ARP rely - 2.

e Gói tin RARP request - 3.

e Gói tin RARP reply - 4.

Source hardware address (SHA): Dia chi MAC cua may gui.

Trong gói tin ARP request: trường này xác định dia chi MAC của máy gửiyêu cầu

Trong gói tin ARP reply: trường này xác định địa chỉ MAC của máy mà

máy gửi yêu cầu đang tìm

Source protocol address (SPA): ĐỊa chỉ IP của máy gửi.

Target hardware address (THA): Dia chỉ MAC của máy nhận mà máy gửi

đang tìm.

e Trong gói tin ARP request: Trường này chưa được xác định (giá tri là:

00:00:00:00:00:00).

e Trong gói tin ARP reply: Trường này chứa địa chỉ MAC của máy đã

gửi bản tin ARP request

Target protocol address (PTA): Dia chỉ IP máy gửi (máy dang tìm).

3.4 Ethernet "7!

Ethernet là công nghệ LAN thông dung và được sử dung từ lâu, vì thé nó được

áp dụng rộng rãi trong các mạng LAN, bao gồm văn phòng, nhà ở, nơi công cộng,

24

Trang 38

doanh nghiệp và trường đại học Ethernet được ưa chuộng nhờ vào khả năng cung

cấp tốc độ cao trên khoảng cách xa thông qua cáp quang

Giao thức Ethernet sử dụng bus tuyến tính hoặc cấu trúc liên kết sao là nềntang của tiêu chuẩn IEEE 802.3 Lý do chính dé sử dụng Ethernet rộng rãi là đơn

giản để hiểu, duy trì, thực hiện, cung cấp tính linh hoạt và cho phép triển khai mạng

ít chi phí hơn.

3.4.1 Kiến trúc giao thức Ethernet

Giao thức Ethernet hoạt động ở hai lớp đầu tiên, tương ứng với lớp Vật lý

và lớp Liên kết dữ liệu Thực tế, Ethernet phân chia lớp Liên kết dữ liệu thành hai

lớp con riêng biệt: lớp Kiểm soát liên kết logic và lớp Kiểm soát truy cập phương

tiện.

Logical Link Control (LLC)

Medium Access Control (MAC)

Standard Ethernet Fast Ethernet Gigabit Ethernet

10Base5 100BaseTX 1000BaseT

Physical Layer IBase2 100BaseT4 1000Ba seLX

10BaseT 100B aseFX 10BaseFX

Hình 3.6 Kiến trúc của giao thức Ethernet Lớp vật lý trong mạng tập trung vào yêu tố phần cứng như bộ lặp, cáp và

thẻ giao diện mạng (NIC) Ví dụ, một mạng Ethernet như 100BaseTX hoặc

10BaseT cho biết loại cáp có thé được sử dụng, chiều đài của cáp và cấu trúc liênkết tối ưu

25

Trang 39

Lớp liên kết dữ liệu trong các hệ thống mạng chủ yếu xử lý việc truyền gói

dữ liệu giữa các nút khác nhau Ethernet áp dụng phương pháp CSMA/CD(Carrier Sense Multiple Access with Collision Detection), trong đó tất cả các máy

tính đều kiểm tra cáp trước khi bắt đầu truyền dữ liệu qua mạng

Hai lớp đầu tiên quản lý cấu trúc mạng vật lý, cho phép các thiết bị truyền

dữ liệu từ thiết bi này đến thiết bị khác Ethernet là giao thức phổ biến nhất cho cảlớp Vật lý và lớp Liên kết dữ liệu và hiện được tiêu chuẩn hóa theo IEEE 802.3

Tốc độ truyền thực tế của giao thức Ethernet có thể được đo bằng Mbps(hàng triệu bit cho mỗi giây), Các phiên bản tốc độ của Ethernet có sẵn trong ba

loại khác nhau 10 Mbps (Standard Ethernet); 100 Mbps (Fast Ethernet) và 1000

Mbps (Gigabit Ethernet) Mặc dù tốc độ tối đa có thê đạt được trong điều kiện lý

tưởng, thực tế, tốc độ truyền qua mạng Ethernet thường không đạt được mức cao

e Mẫu đầu tiên của khung Giao thức Ethernet là 7 bytes Lời mở đầu,

trong đó phương án 0 và | trong khung này chỉ ra sự bắt đầu của khung

và cho phép người gửi và người nhận thiết lập đồng bộ hóa cấp bit Lúcdau, một Lời mở đầu trong khung trên đã được giới thiệu dé cho phépmắt một vai bit vì độ trễ tín hiệu

e Tuy nhiên, Ethernet dựa trên tốc độ cao hiện tại không yêu cầu Lời mở

đầu dé bảo vệ các bit khung Lời mở đầu chỉ định bộ thu mà khung đó

26

Trang 40

đang đến và cho phép người nhận khóa luồng dữ liệu trước khi khungchính hãng bắt đầu.

Start of Frame Delimiter:

e Bắt đầu dấu phan cách khung (SFD) là trường 1 Byte với các giá tri

10101011 cho biết rằng các bit sắp tới là đầu khung, là địa chỉ của đích

Sự bắt đầu của dau phân cách khung được thiết kế chủ yếu dé chia mẫucủa bit thành phần mở đầu và bắt đầu một khung

e Đôi khi, sự bắt đầu của dấu phân cách khung được coi là phần chính

của lời mở đầu Do đó, điều này giải thích tại sao Lời nói đầu đượcbiểu diễn dưới dang 8 Bytes ở một số vị trí SFD cung cấp tín hiệu chocác trạm rằng đây là thời điểm cuối cùng đề thực hiện đồng bộ hóa

Destination MAC Address: Trường Dia chi Dich là một trường 6 bytes

trong khung Ethernet 6 trén Dia chi trong khung va dia chi MAC cua thiét bi

được so sánh Nếu cả hai dia chi được khớp, thì thiết bi chi cần cho phép khung

Dia chi MAC này là uni-cast, multi-cast hoặc broadcast.

Source MAC Address: Địa chỉ nguồn là một trường 6 bytes, chứa địa chiMAC của thiết bị gửi Khi địa chỉ nguồn là một địa chỉ đơn (Unicast), bit ít quan

trọng nhất (LSB) của byte đầu tiên sẽ luôn bằng 0

EtherType: Trường này dài 2 bytes chỉ loại giao thức được sử dụng Trong

khóa luận này chủ yếu 2 loại là 0x0800 (IPv4) và 0x0806 (ARP)

Data: Trường dữ liệu là vị trí ma đữ liệu thực tế có thé được thêm vào va

nó còn được gọi là Payload Ở đây, cả dit liệu và IP header sẽ được chèn vào nếu

IP được sử dụng qua Ethernet Vì vậy, dữ liệu lớn nhất có thé là 1500 bytes Nếu

độ dài dit liệu dưới độ dài tối thiểu 46 bytes, thì có thé bao gồm các số không đệm

dé đạt đến độ dài tối thiểu có thé đạt được

FSC: là mẫu cuối cùng với 4 bytes, chứa mã băm 32-bit được tinh từ các

trường Dia chỉ nguồn, Dia chỉ đích, và Loại giao thức Ethernet Nếu tổng kiểm tra

27

Ngày đăng: 23/12/2024, 23:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] | Alex Forencich, “GitHub - alexforencich/verilog-ethernet: Verilog Ethernet components for FPGA implementation” Sách, tạp chí
Tiêu đề: GitHub - alexforencich/verilog-ethernet: Verilog Ethernetcomponents for FPGA implementation
[2] Nguyễn Ngọc Hải, "THIẾT KE VA HIEN THUC IP ETHERNET 1Gbps TREN FPGA", 2023 Sách, tạp chí
Tiêu đề: THIẾT KE VA HIEN THUC IP ETHERNET 1GbpsTREN FPGA
[3] Herrmann, Perin G and de Freitas Bertagnolli, “A Gigabit UDP/IP network stack in FPGA”, Electronics, Circuits, and Systems, 2009. ICECS 2009. 16th IEEE International Conference, pp. 836 — 839, 13-16 Dec.2009 Sách, tạp chí
Tiêu đề: A Gigabit UDP/IP networkstack in FPGA
[4] “Sulution IAS. Mô hình OSI là gì? phương thức hoạt động va chức năng”, [Online], available: https://thuannhat.com.vn/mo-hinh-osi-la-gi-phuong-thuc-hoat-dong/[Accessed 20/4/2023] Sách, tạp chí
Tiêu đề: Sulution IAS. Mô hình OSI là gì? phương thức hoạt động va chức năng
[6] Hocchudong, “GitHub — hocchudong/thuctap012017: TIM HIEU GIAO THUC ARP” Sách, tạp chí
Tiêu đề: GitHub — hocchudong/thuctap012017: TIM HIEU GIAOTHUC ARP
[7] “ELPROCUS. What is an Ethernet Protocol: Working &amp; Its Application”, [Online], available: https://www.elprocus.com/ethernet-protocol/[Accessed 25/4/2023] Sách, tạp chí
Tiêu đề: ELPROCUS. What is an Ethernet Protocol: Working & Its Application
[8] “Địa chi MAC là gi? Sự khác biệt giữa dia chi MAC và dia chi IP”, [Online], available: https://www.dinhnghia.com.vn/dia-chi-mac-la-gi/[Accessed 20/4/2023] Sách, tạp chí
Tiêu đề: Địa chi MAC là gi? Sự khác biệt giữa dia chi MAC và dia chi IP
[10] “Media-independent interface”, [Online], available:https://en.wikipedia.org/wiki/Media-independent_interface#GMII[Accessed 28/5/2023] Sách, tạp chí
Tiêu đề: Media-independent interface
[11] “ALL about CIRCUIT. Introduction to the Advanced Extensible Interface(AXT)”, [Online], available: https://www.allaboutcircuits.com/technical-articles/introduction-to-the-advanced-extensible-interface-axi/[Accessed 30/5/2023] Sách, tạp chí
Tiêu đề: ALL about CIRCUIT. Introduction to the Advanced Extensible Interface(AXT)
[12] “Gisselquist Technology, LLC. Debugging AXI Streams”, [Online], available: https://zipcpu.com/dsp/2020/04/20/axil2axis.html[Accessed 16/3/2024] Sách, tạp chí
Tiêu đề: Gisselquist Technology, LLC. Debugging AXI Streams
[14] “User Datagram Protocol”, [Online], available:https://en.wikipedia.org/wiki/User_Datagram_Protocol[Accessed 20/4/2023] Sách, tạp chí
Tiêu đề: User Datagram Protocol
[13] “IPv4’, [Online], available: https://vi.wikipedia.org/wiki/IPv4[Accessed 20/4/2023] Link
[5] Xilinx, DS264 - LogiCORE IP Ethernet I000BASE-X PCS/PMA or SGMII v11.3 Data Sheet (DS264) (v11.3) Apr 24, 2012 Khác
[9] VC707 Evaluation Board for the Virtex-7 FPGA. User Guide UG885 (v1.8).February 20, 2019 Khác
[15] Marvell® Alaska®, 88E1111 Integrated 10/100/1000 Ultra Gigabit Ethernet Transceiver Datasheet. August 31, 2020 Khác
[16] Vivado Design Suite User Guide: Design Analysis and Closure Techniques, UG906 (v 2012.3), pp. 31-32, November 16, 2012 Khác
[17] Vygen, J. (2006). Slack in static timing analysis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 25(9), 1876-1885 Khác