THIẾT KẾ THIẾT BỊ CHUYỂN MẠCH
BĂNG THÔNG LỚN LỚP II
(SWITCH LAYER II) TRÊN FPGA
Sinh viên thực hiện
:
Giáo viên hướng dẫn :
Ngô Văn Minh, ĐTCT14A
Đào Xuân Lộc, ĐTVT14C
Vương Duy Phú, ĐTVT14C
TS. Trịnh Quang Kiên
TS. Đào Đình Hà
1/70
MỞ ĐẦU
Hệ thống máy chủ Google
Thiết bị chuyển mạch kết nối các máy chủ
Thiết bị chuyển mạch Cisco
2/70
NHIỆM VỤ ĐỒ ÁN
Nghiên cứu tổng quan về Switch Layer 2
Làm chủ công nghệ, làm bước đệm, nền tảng phát triển
Thiết kế kiến trúc lõi Switch tốc độ cao
cho các thiết bị khác như router, siterouter
Mô phỏng thiết kế và hiện thực hoá trên FPGA
3/70
GIỚI THIỆU
Phân loại thiết bị chuyển mạch lớp 2
- Switch không có tính năng quản lý: Đây là loại Switch không hỗ trợ bất kỳ giao
diện quản lý nào. Switch chỉ hoạt động chỉ bằng việc cắm và chạy, người dùng dễ
dàng sử dụng.
- Switch thông minh đơn giản: Loại Switch này hỗ trợ một ứng dụng thứ ba hoặc
có giao diện web để có thể dễ dàng quản lý và cấu hình một số tính năng cơ bản
như VLAN, QoS, IGMP.
- Switch thông minh: có thể quản lý bằng giao diện web, giao thức dòng lệnh từ
xa có mã hoá, giao thức quản lý mạng đơn giản.
- Switch quản lý cao cấp: Đây là loại Switch có một cổng kết nối hỗ trợ giao diện
dòng lệnh. Loại Switch này hỗ trợ rất nhiều tính năng như các tính năng quản lý
liên quan VLAN, phát quảng bá nhóm, quản lý từ xa, điều khiển luôn.
4/70
GIỚI THIỆU
Giao diện cấu hình
Phần
điều
khiển
Ethernet, PCIe, UART...
Khối xử lí cấu hình
...
...
Phần
chuyển
mạch
Phân kênh
Gom kênh
...
Lớp liên kết dữ liệu
Bộ nhớ đệm
...
Lõi tìm kiếm
(Vương Duy Phú)
Khối xử lí chuyển mạch
GMII/RGMII
Bảng
MAC
Giao
Giao
diện
diện
Ethernet Ethernet
Lọc gói
Hàng
đợi
...
Giao
diện
Ethernet
Lớp vật lý
Lớp vật lý
(Ngô Văn Minh)
...
...
Phân
tích gói
Lõi chuyển mạch
(Đào Xuân Lộc)
GMII/RGMII
Đường
truyền
S1
S2
...
Sn
Hình a. Sơ đồ khối Switch nhiều cổng
5/70
NỘI DUNG CHÍNH
1
Tổng quan về mạng thông tin và thiết bị chuyển mạch lớp 2
2 Thiết kế tổng quan thiết bị chuyển mạch lớp 2
3 Thiết kế giao tiếp ngoại vi
4 Thiết kế bộ nhớ CAM và TCAM
5 Thiết kế bộ nhớ đệm của hệ thống
6 Thiết kế khối xử lí chuyển mạch
7
Thiết kế khối điều khiển và hiện thực hoá Switch trên FPGA
6/70
NỘI DUNG CHÍNH
1
Tổng quan về mạng thông tin và thiết bị chuyển mạch lớp 2
2 Thiết kế tổng quan thiết bị chuyển mạch lớp 2
3 Thiết kế giao tiếp ngoại vi
4 Thiết kế bộ nhớ CAM và TCAM
5 Thiết kế bộ nhớ đệm của hệ thống
6 Thiết kế khối xử lí chuyển mạch
7
Thiết kế khối điều khiển và hiện thực hoá Switch trên FPGA
7/70
TỔNG QUAN VỀ MẠNG THÔNG TIN VÀ
THIẾT BỊ CHUYỂN MẠCH LỚP 2
Mô hình OSI
Trạm A
Host A
Trạm B
Host B
Lớp ứng dụng
Application layer
Lớp ứng dụng
Application layer
Lớp trình bày
Presentation layer
Giao thức lớp trình bày
Presentation protocol
Lớp trình bày
Presentation layer
Lớp phiên
Session layer
Lớp phiên
Session layer
Lớp vận chuyển
Transport layer
Lớp vận chuyển
Transport layer
Lớp mạng
Network layer
Lớp mạng
Network layer
Lớp mạng
Network layer
Lớp mạng
Network layer
Lớp liên kết dữ liệu
Datalink layer
Lớp liên kết dữ liệu
Datalink layer
Lớp liên kết dữ liệu
Datalink layer
Lớp liên kết dữ liệu
Datalink layer
Lớp vật lý
Physical layer
Lớp vật lý
Physical layer
Lớp vật lý
Physical layer
Lớp vật lý
Physical layer
Đường truyền vật lý
Hình 1.2 Mô hình OSI
8/20
TỔNG QUAN VỀ MẠNG THÔNG TIN VÀ
THIẾT BỊ CHUYỂN MẠCH LỚP 2
Thiết bị chuyển mạch lớp 2
Internet
Gateway
Router
Switch 2
Switch 1
LAN1
Switch 3
LAN2
Hình 1.3 Vị trí của Switch trong mạng
9/70
TỔNG QUAN VỀ MẠNG THÔNG TIN VÀ
THIẾT BỊ CHUYỂN MẠCH LỚP 2
Thiết bị chuyển mạch lớp 2
Router
TRUNK
VLAN 1
Switch
Router
Switch 1
Switch 2
Switch 3
TRUNK
Switch 2
Switch 1
LAN 2
LAN 3
VLAN 1
Hình 1.4 Mạng cục bộ ảo
VLAN 2
VLAN 3
10/70
NỘI DUNG CHÍNH
1
Tổng quan về mạng thông tin và thiết bị chuyển mạch lớp 2
2 Thiết kế tổng quan thiết bị chuyển mạch lớp 2
3 Thiết kế giao tiếp ngoại vi
4 Thiết kế bộ nhớ CAM và TCAM
5 Thiết kế bộ nhớ đệm của hệ thống
6 Thiết kế khối xử lí chuyển mạch
7
Thiết kế khối điều khiển và hiện thực hoá Switch trên FPGA
11/70
THIẾT KẾ TỔNG QUAN
THIẾT BỊ CHUYỂN MẠCH LỚP 2
Sơ đồ khối thiết bị chuyển mạch lớp 2
Giao diện cấu hình
Phần
điều
khiển
Ethernet, PCIe, UART...
Khối xử lí cấu hình
...
...
Phần
chuyển
mạch
Phân kênh
Gom kênh
...
Lớp liên kết dữ liệu
Bộ nhớ đệm
...
...
Phân
tích gói
GMII/RGMII
Bảng
MAC
Giao
Giao
diện
diện
Ethernet Ethernet
Lọc gói
Hàng
đợi
...
Giao
diện
Ethernet
Lớp vật lý
...
Khối xử lí chuyển mạch
GMII/RGMII
Đường
truyền
S1
S2
...
Sn
Hình 2.1 Sơ đồ khối cấu trúc của Switch nhiều cổng
12/70
NỘI DUNG CHÍNH
1
Tổng quan về mạng thông tin và thiết bị chuyển mạch lớp 2
2 Thiết kế tổng quan thiết bị chuyển mạch lớp 2
3 Thiết kế giao tiếp ngoại vi
4 Thiết kế bộ nhớ CAM và TCAM
5 Thiết kế bộ nhớ đệm của hệ thống
6 Thiết kế khối xử lí chuyển mạch
7
Thiết kế khối điều khiển và hiện thực hoá Switch trên FPGA
13/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Mô hình kết nối vật lý
Cổng
quang
Bộ chuyển đổi
quang - SFP
Bộ chuyển đổi
RJ45 - SFP
Bộ biến đổi
quang điện
SFP
PHY
SFP
RJ45
Biến áp
Hình 3.1 Mô hình giao tiếp giữa cổng Ethernet và chip vật lý
14/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
EMAC
EMAC
EMAC
TX_CLK
GTX_CLK
TXCLK
TXC
TXD[7:0]
TXD[3:0]
TXD[3:0]
TX_EN
TXEN
TXCTL
COL
2.5 MHz,
2.5 MHz,
25 MHz,
2.5
25 MHz,
MHz,
125
MHz
25
125MHz
MHz
COL
CRS
CRS
RX_CLK
RXCLK
RXC
RXD[7:0]
RXD[3:0]
RXD[3:0]
RX_DV
RX_DV
RXCTL
MDIO
MDIO
MDIO
MAC
MAC
MAC
Mô hình kết nối các giao diện MII
PHY
PHY
PHY
Biến
áp
Biến
áp áp
Biến
RJ-45
RJ-45
RJ-45
MDC
MDC
MDC
3.2 Sơ đồ tín hiệuHình
MII giữa
Hình 3.4
sử dụng
giao diện GMII
giữaPHY
PHYvàvàMAC
MAC
3.6 RGMII
TXC (dữ liệu bên truyền)
(Đã thêm độ trễ)
TXD[3:0], TXCTL
t3
tGCH
tR
tF
RXCLK
TXCLK TsetupT
TholdT
TXC (bên nhận)
TholdR
RXD[0:7]
TsetupR
RXDV
RXER
TXD[0:7]
TXEN
RXC ( dữ liệu phía truyền)
RXDLY=1
(Đã thêm độ trễ)
tGCL
RXD[3:0], RXCTL
tF
tR
Vih tF
Vil
TsetupT
TholdT
RXC (bên nhận)
tGHTT
tGHTR
TholdR
Vih
TskewR
Vil
Hình 3.7 Đặc tính thời gian của chu kỳ truyền nhận dữ liệu
RGMII
Hình 3.3 Đặc tính thời gian của chu kỳ tRtruyền nhận dữ liệu MII
Hình 3.5 Đặc tính thời gian của chu kỳ truyền nhận dữ liệu GMII
15/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Các giao diện điều khiển
SDA
Slave 3
Địa chỉ:
0100111
A
z
...
SCL
SDA
CMD[7:0]
Kết thúc
Slave 2
Địa chỉ:
1001100
W
A[6:0]
Bắt đầu
Slave 1
Địa chỉ:
1101001
Bắt đầu
+VCC
R
A[6:0]
A
D[7:0]
N
SDA
...
SCL
Master
SCL
Hình 3.8 Sơ đồ kết nối mạng I2C và quá trình truyền nhận dữ liệu
+VCC
...
MDC
PHY1
Địa chỉ:
A[4:0]
PHY2
Địa chỉ:
A[4:0]
PHY3
Địa chỉ:
A[4:0]
MDIO
a4 a3 a2 a1 a0 r4
Bắt đầu
Ghi
Địa chỉ PHY
r3 r2 r1 r0
D[15:0]
Thanh ghi địa chỉ
Dữ liệu
...
MDC
a4 a3 a2 a1 a0 r4
MDIO
r3 r2 r1 r0
MDIO
D[15:0]
Master
MDC
Bắt đầu
Đọc
Địa chỉ PHY
Thanh ghi địa chỉ
Hình 3.9 Sơ đồ kết nối mạng MDIO và quá trình truyền nhận dữ liệu
Dữ liệu
16/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Thiết kế mạch in
CPU RESET
RESET
EXT PLL
BIẾN ÁP 1
PHY 2
BIẾN ÁP 2
PHY N
BIẾN ÁP N
MDIO
SFP 1
SGMII
SFP N
I2C
CPU I2C
1xPCIE
1xPCIE_REFCLK100M
FPGA
PHY 1
...
FPGA_125MHz
...
MII
GMII
RGMII
...
CPU I2C
1.8V
1.2V
1.0V
SW
PHY RESET
RJ45
Thạch anh
25MHZ
CPU
USB TO COM
1.8V
1.2V
1.0V
3.3V
Chuyển đổi
3.3V
Chuyển đổi
DC/DC
12V >3.3V
RJ45/
USB
Nguồn DC
12V
Hình 3.10 Sơ đồ tổng quan hệ thống Switch
17/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Thiết kế mạch in
Tên bank
Ký hiệu chân nối tới
chip vật lý
10 cặp sai phân hoặc
20 tín hiệu I/O
4 cặp sai phân hoặc 8
tín hiệu I/O đồng bộ
Tên tín hiệu
Độ dài (mil)
TXC
2008.669
TXCTL
2008.669
TXD_0
2008.669
TXD_1
2008.539
TXD_2
2008.669
TXD_3
2008.669
Hình 3.11 Sai lệch của nhóm RTL0_RGMII_TXD
10 cặp sai phân hoặc
20 tín hiệu I/O
Nguồn cấp cho bank
Hình 3.12 Nguồn 1.8 V cấp cho FPGA
18/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Thiết kế mạch in
Hình 3.13 Ví dụ layout của
Switch 4 cổng dưới góc nhìn 2D
Hình 3.14 Ví dụ Layout của
Switch 4 cổng dưới góc nhìn 3D
19/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Khối giao tiếp TEMAC
FPGA
TEMAC
Giao diện AXIS TX
Chuyển
đổi thành
GMII/MII
Kiểm soát
lưu lượng
Chuyển
đổi
trung
gian
RGMII
GMII
MII
Chuyển
đổi thành
AXIS
Giao diện AXIS RX
Giao diện quản lý
Khối
GMII/
MII
Khối
điều khiển
hoạt động
Khối cấu
hình
MDIO
Trích xuất
thông số
Các bộ
đếm thống
kê
Điều khiển
ngắt
MDIO
Hình 3.15 Sơ đồ khối chức năng của TEMAC
20/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Mô phỏng TEMAC
RX_RGMII
RX
FIFO
MAC_RX_AXIS
TEMAC
TX_RGMII
TX
FIFO
MAC_TX_AXIS
Hình 3.16 Mô hình mô phỏng bằng phương pháp nối lặp
RX_RGMII
a
d
2
0
3
0
4
0
5
0
MAC_RX_AXIS
6
0
a
5
2
0
3
0
4
0
5
0
da 02 03 04 05 06 5a 02 03 04 05 06
Hình 3.17 Giản đồ sóng tín hiệu
RX_RGMII và MAC_RX_AXIS
6
TX_RGMII
a
d
2
0
3
0
4
MAC_TX_AXIS
0
5
0
6
0
a
5
2
0
3
0
4
0
5
da 02 03 04 05 06 5a 02 03 04 05 06
Hình 3.18 Giản đồ sóng tín hiệu
TX_RGMII và MAC_TX_AXIS
21/70
0
6
THIẾT KẾ GIAO TIẾP NGOẠI VI
Kiểm tra trên phần cứng
Mạch Switch thành phẩm
RX_RGMII
Ethernet
PHY
MAC_RX_AXIS
TEMAC
TX_RGMII
Bộ tạo
dữ liệu
FPGA
MAC_TX_AXIS
Hình 3.19 Sơ đồ kiểm tra đường truyền phía TX
Hình 3.20 Kết quả thu được trên Wireshark khi kiểm tra đường truyền TX
22/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Kiểm tra trên phần cứng
Mạch Switch thành phẩm
RX_RGMII
MAC_RX_AXIS
Ethernet
PHY
RX
FIFO
TEMAC
TX_RGMII
MAC_TX_AXIS
TX
FIFO
Đảo
địa
chỉ
MAC
FPGA
Hình 3.21 Sơ đồ kiểm tra RX bằng phương pháp nối vòng dữ liệu
Hình 3.22 Gói tin nhận được trên PC được ghi lại
bằng Wireshark khi kiểm tra phía RX
23/70
THIẾT KẾ GIAO TIẾP NGOẠI VI
Kiểm tra trên phần cứng
Mạch Switch thành phẩm
RX0_RGMII
Ethernet
MAC_RX0_AXIS
TEMAC
0
PHY 0
PC0
FPGA
MAC_TX0_AXIS
TX0_RGMII
RX0
FIFO
TX0
FIFO
RX1_RGMII
MAC_RX1_AXIS
Ethernet
PC1
TEMAC
1
PHY 1
TX1_RGMII
MAC_TX1_AXIS
RX1
FIFO
TX1
FIFO
Hình 3.21 Sơ đồ kiểm tra bằng phương pháp nối chéo
Hình 3.22 Mô hình kiểm tra nối chéo trên thực tế
112 MB/s
Hình 3.23 Kết quả sao chép dữ liệu giữa hai máy và ping giữa hai máy tính
24/70
NỘI DUNG CHÍNH
1
Tổng quan về mạng thông tin và thiết bị chuyển mạch lớp 2
2 Thiết kế tổng quan thiết bị chuyển mạch lớp 2
3 Thiết kế giao tiếp ngoại vi
4 Thiết kế bộ nhớ CAM và TCAM
5 Thiết kế bộ nhớ đệm của hệ thống
6 Thiết kế khối xử lí chuyển mạch
7
Thiết kế khối điều khiển và hiện thực hoá Switch trên FPGA
25/70