Về tính cấp thiết, tính mới, mục tiêu của đề tài: điểm tối đa là 1đ Thiết kế một bộ chuyển mạch trên nền tảng công nghệ FPGA - Switch-Layer II là một hướng đề tài hoàn toàn mới và giải p
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
Trang 2Đà Nẵng, 4/2021
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ
CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ
Trang 3Đà Nẵng, 4/2021
Trang 4Phụ lục 06-Khoa/Bộ môn có thể xem xét điều chỉnh, bổ sung các tiêu chí đánh giá phù hợp
với đề cương chi tiết học phần ĐATN
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
1 Thông tin chung:
NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
(Dành cho người hướng dẫn)
1 Họ và tên sinh viên: Trương Văn Đông
2 Lớp: 17KTDT1 Mã SV: 1711505210142
3 Tên đề tài:
NGHIÊN CỨU VÀ PHÁT TRIỂN BỘ CHUYỂN MẠCH SWITCH - LAYER II
TRÊN CÔNG NGHỆ FPGA
4 Người hướng dẫn: Nguyễn Thị Khánh Hồng Học hàm/ học vị: Tiến sỹ
Đồng hướng dẫn: Nguyễn Trọng Tuấn Học hàm/ học vị: Thạc sỹ
II Nhận xét, đánh giá đồ án tốt nghiệp:
1 Về tính cấp thiết, tính mới, mục tiêu của đề tài: (điểm tối đa là 1đ)
Thiết kế một bộ chuyển mạch trên nền tảng công nghệ FPGA - Switch-Layer II là
một hướng đề tài hoàn toàn mới và giải pháp phát triển bộ chuyển mạch Switch-Layer
II trên công nghệ FPGA là một giải pháp cần thiết để giải quyết những vấn đề về anninh mạng ở nước ta
2 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: (điểm tối đa là 4đ)
Sinh viên đã chủ động học tập và thực hiện tốt các nội dung theo yêu cầu của đề tài
Đề tài đã hoàn thành đầy đủ các nhiệm vụ được giao theo yêu cầu
Tuy nhiên, đề tài cũng mới dừng lại ở phần mô phỏng và chưa thực thi trên kit FPGA
3 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp: (điểm tối đa là 2đ)
Đồ án được trình bày gồm 4 chương, 60 trang, với 5 tài liệu tham khảo
Chương 1 TỔNG QUAN
Chương 2 CƠ SỞ LÝ THUYẾT VÀ KIẾN TRÚC CỦA SWITCH-LAYER 2
Chương 3: THIẾT KẾ SWITCH – LAYER 2 TRÊN CÔNG NGHỆ FPGA
Chương 4: PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ
4 Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài: (điểm tối đa là 1đ)
Các kết quả đạt được như sau:
Phân tích trình bày cơ chế hoạt động của Switch-Layer II dựa vào địa chỉ MAC
Xây dựng sơ đồ hệ thống kiến trúc cho IPCORE Switch-Layer II, xây dựng
từng module có trong hệ thống
Sử dụng ngôn ngữ Verilog để mô tả cho IPCORE Switch-Layer II
Mô phỏng thành công hoạt động của IPCORE Switch-Layer II
5 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:
Trang 5Phụ lục 06-Khoa/Bộ môn có thể xem xét điều chỉnh, bổ sung các tiêu chí đánh giá phù hợp
với đề cương chi tiết học phần ĐATN
Số lượng tài liệu tham khảo còn ít Đề tài vẫn còn một số lỗi chính tả và lỗi về diễn đạt văn bản
III Tinh thần, thái độ làm việc của sinh viên: (điểm tối đa 2đ)
Sinh viên có tinh thần vượt khó trong học tập; có tinh thần trách nhiệm trong công việc được giao khi đi thực tập tại doanh nghiệp; nhiệt tình trong công việc; hamhọc hỏi Thường xuyên giữ liên lạc với giáo viên hướng dẫn
IV Đánh giá:
1 Điểm đánh giá: 9/10 (lấy đến 1 số lẻ thập phân)
2 Đề nghị: ☒ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày 15 tháng 08 năm 2021.
Người hướng dẫn
Trang 6Phụ lục 06-Khoa/Bộ môn có thể xem xét điều chỉnh, bổ sung các tiêu chí đánh giá phù hợp
với đề cương chi tiết học phần ĐATN
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN-ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
1 Thông tin chung:
NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
(Dành cho người hướng dẫn)
1 Họ và tên sinh viên: Bùi Quốc Tín
2 Lớp: 17KTDT1 Mã SV: 1711505110130
5 Tên đề tài:
NGHIÊN CỨU VÀ PHÁT TRIỂN BỘ CHUYỂN MẠCH SWITCH - LAYER II
TRÊN CÔNG NGHỆ FPGA
6 Người hướng dẫn: Nguyễn Thị Khánh Hồng Học hàm/ học vị: Tiến sỹ
Đồng hướng dẫn: Nguyễn Trọng Tuấn Học hàm/ học vị: Thạc sỹ
II Nhận xét, đánh giá đồ án tốt nghiệp:
1 Về tính cấp thiết, tính mới, mục tiêu của đề tài: (điểm tối đa là 1đ)
Thiết kế một bộ chuyển mạch trên nền tảng công nghệ FPGA - Switch-Layer II là
một hướng đề tài hoàn toàn mới và giải pháp phát triển bộ chuyển mạch Switch-Layer
II trên công nghệ FPGA là một giải pháp cần thiết để giải quyết những vấn đề về anninh mạng ở nước ta
2 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: (điểm tối đa là 4đ)
Sinh viên đã chủ động học tập và thực hiện tốt các nội dung theo yêu cầu của đề tài
Đề tài đã hoàn thành đầy đủ các nhiệm vụ được giao theo yêu cầu
Tuy nhiên, đề tài cũng mới dừng lại ở phần mô phỏng và chưa thực thi trên kit FPGA
3 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp: (điểm tối đa là 2đ)
Đồ án được trình bày gồm 4 chương, 60 trang, với 5 tài liệu tham khảo
Chương 1 TỔNG QUAN
Chương 2 CƠ SỞ LÝ THUYẾT VÀ KIẾN TRÚC CỦA SWITCH-LAYER 2
Chương 3: THIẾT KẾ SWITCH – LAYER 2 TRÊN CÔNG NGHỆ FPGA
Chương 4: PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ
4 Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài: (điểm tối đa là 1đ)
Các kết quả đạt được như sau:
Phân tích trình bày cơ chế hoạt động của Switch-Layer II dựa vào địa chỉ MAC
Xây dựng sơ đồ hệ thống kiến trúc cho IPCORE Switch-Layer II, xây dựng
từng module có trong hệ thống
Sử dụng ngôn ngữ Verilog để mô tả cho IPCORE Switch-Layer II
Mô phỏng thành công hoạt động của IPCORE Switch-Layer II
5 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:
Trang 7Phụ lục 06-Khoa/Bộ môn có thể xem xét điều chỉnh, bổ sung các tiêu chí đánh giá phù hợp
với đề cương chi tiết học phần ĐATN
Số lượng tài liệu tham khảo còn ít Đề tài vẫn còn một số lỗi chính tả và lỗi vềdiễn đạt văn bản
III Tinh thần, thái độ làm việc của sinh viên: (điểm tối đa 2đ)
Sinh viên có tinh thần vượt khó trong học tập; có tinh thần trách nhiệm trong công việc được giao khi đi thực tập tại doanh nghiệp; nhiệt tình trong công việc; hamhọc hỏi Thường xuyên giữ liên lạc với giáo viên hướng dẫn
IV Đánh giá:
3 Điểm đánh giá: 9/10 (lấy đến 1 số lẻ thập phân)
4 Đề nghị: ☒ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày 15 tháng 08 năm 2021.
Người hướng dẫn
Trang 8TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN - ĐIỆN TỬ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP
(Dành cho người phản biện)
I Thông tin chung:
1 Họ và tên sinh viên: Trương Văn Đông
2 Lớp: 17KTDT1 Mã SV: 1711505210142
3 Tên đề tài: Nghiên cứu và phát triển bộ chuyển mạch Switch-Layer II trên công
nghệ FPGA
4 Người phản biện: Lê Hữu Duy Học hàm/ học vị: Thạc sĩ
II Nhận xét, đánh giá đồ án tốt nghiệp:
1 Về tính cấp thiết, tính mới, mục tiêu của đề tài:
Việc thiết kế layer 2 switch trên nền FPGA là một trong những giải pháp cấp thiết
để có thể giải quyết những vấn đề về an ninh mạng, và giúp cho quá trình tự chủ
công nghệ trong công nghệ mạng và bảo mật
2 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án:
Đề tài thực hiện thành công:
- Thiết kế IPCORE Switch-Layer II,trên ngôn ngữ Verilog
- Thực hiện mô phỏng o IPCORE Switch-Layer II trên ModelSim
- Thực hiện đánh giá thiết kế dựa trên kết quả mô phỏng
Tuy nhiên đề tài vẫn chưa có kết quả thực hiện trên kit FPG
3 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp:
HÌnh thức của đồ án tuân theo đầy đủ quy định của đồ án tốt nghiệp
5 Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài:
Kết quả đạt được:
- Hiều và trình bày được cơ chết hoạt động của Switch-Layer II
- Thiết kế kiến trúc hệ thống Switch-Layer II
- Sử dụng verilog để thực thi và mô phỏng hoạt động
Giá trị khoa học và khả năng ứng dụng:
- Giúp quá trình làm chủ công nghệ và an ninh mạng
- Có khả năng áp dụng và thay thế tại các hệ thống mạng hiện nay
6 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:
- Còn lỗi chính tả
- Nên thêm và giải thích rõ hơn các tiêu chí đánh giá
Trang 9tối đa đánh giá
- Khả năng thực hiện/phân tích/tổng hợp/đánh giá;
- Khả năng thiết kế, chế tạo một hệ thống, thành phần, hoặc quy trình đáp ứng yêu cầu đặt ra;
2a - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích; 1,0 0.75
- Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ:
Ngoài việc đánh giá bằng cách phân tích kết quả mô phỏng chi tiết của thiết kế, còn
có tiêu chí đánh giá nào khác để đánh giá thiết kế Đặc biệt khi phải so sánh với cácthiết kế khác, các sản phẩm khác
- Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày 20 tháng8 năm 2021
Người phản biện
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Trang 10KHOA ĐIỆN - ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc
NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP
(Dành cho người phản biện)
I Thông tin chung:
1 Họ và tên sinh viên: Bùi Quốc Tín
4 Về tính cấp thiết, tính mới, mục tiêu của đề tài:
Việc thiết kế layer 2 switch trên nền FPGA là một trong những giải pháp cấp thiết
để có thể giải quyết những vấn đề về an ninh mạng, và giúp cho quá trình tự chủ công nghệ trong công nghệ mạng và bảo mật
5 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án:
Đề tài thực hiện thành công:
- Thiết kế IPCORE Switch-Layer II,trên ngôn ngữ Verilog
- Thực hiện mô phỏng o IPCORE Switch-Layer II trên ModelSim
- Thực hiện đánh giá thiết kế dựa trên kết quả mô phỏng
Tuy nhiên đề tài vẫn chưa có kết quả thực hiện trên kit FPG
6 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp:
HÌnh thức của đồ án tuân theo đầy đủ quy định của đồ án tốt nghiệp
7 Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài:
Kết quả đạt được:
- Hiều và trình bày được cơ chết hoạt động của Switch-Layer II
- Thiết kế kiến trúc hệ thống Switch-Layer II
- Sử dụng verilog để thực thi và mô phỏng hoạt động
Giá trị khoa học và khả năng ứng dụng:
- Giúp quá trình làm chủ công nghệ và an ninh mạng
- Có khả năng áp dụng và thay thế tại các hệ thống mạng hiện nay
8 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:
- Còn lỗi chính tả
- Nên thêm và giải thích rõ hơn các tiêu chí đánh giá
Trang 11tối đa đánh giá
1a
- Tính cấp thiết, tính mới (nội dung chính của ĐATN có những
phần mới so với các ĐATN trước đây);
- Đề tài có giá trị khoa học, công nghệ; giá trị ứng dụng thực tiễn;
1,0 1.0
1b
- Kỹ năng giải quyết vấn đề; hiểu, vận dụng được kiến thức cơ
bản, cơ sở, chuyên ngành trong vấn đề nghiên cứu;
- Khả năng thực hiện/phân tích/tổng hợp/đánh giá;
- Khả năng thiết kế, chế tạo một hệ thống, thành phần, hoặc quy
trình đáp ứng yêu cầu đặt ra;
3,0 2.75
1c - Chất lượng sản phẩm ĐATN về nội dung báo cáo, bản vẽ,
1d
- Có kỹ năng sử dụng phần mềm ứng dụng trong vấn đề nghiên
cứu (thể hiện qua kết quả tính toán bằng phần mềm);
- Có kỹ năng sử dụng tài liệu liên quan vấn đề nghiên cứu (thể
hiện qua các tài liệu tham khảo)
1,0 1
2a - Bố cục hợp lý, lập luận rõ ràng, chặt chẽ, lời văn súc tích; 1,0 0.75
- Câu hỏi đề nghị sinh viên trả lời trong buổi bảo vệ:
Ngoài việc đánh giá bằng cách phân tích kết quả mô phỏng chi tiết của thiết
kế, còn có tiêu chí đánh giá nào khác để đánh giá thiết kế Đặc biệt khi phải so
sánh với các thiết kế khác, các sản phẩm khác
- Đề nghị: ☐ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ
Đà Nẵng, ngày 20 tháng8 năm 2021
Người phản biện
Trang 12TÓM TẮT
Tên đề tài: Nghiên cứu và phát triển bộ chuyển mạch Switch - layer II trên công nghệ
FPGA
Sinh viên thực hiện:
1 Trương Văn Đông Mã SV: 1711505210142
2 Bùi Quốc Tín Mã SV: 1711505110130
Lớp: 17KTDT1
Nội dung đồ án tốt nghiệp lần này chúng em sẽ hướng đến đề tài nghiên cứu vàphát triển bộ chuyển mạch Switch - Layer II Để đạt được kết quả tốt nhất trong quátrình thực hiện đề tài, chúng em đã thống nhất sẽ đi sâu tìm hiểu và kiến trúc nênIPCORE Switch – layer II Để kiến trúc được IPCORE Switch – layer II chúng em cầnphải xây dựng sơ đồ khối của toàn hệ thống cũng như từng module riêng lẽ, chức năngliên kết của các module trong hệ thống Hiểu được điều đó chúng em sẽ bắt tay vàothực hiện mô tả phần cứng với ngôn ngữ lập trình verilog Cuối cùng sẽ là đánh giá vàphân tích dựa trên kết quả đã làm được
Trang 13TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: TS Nguyễn Thị Khánh Hồng
Đồng hướng dẫn: ThS Nguyễn Trọng Tuấn
Sinh viên thực hiện: 1 Trương Văn Đông Mã SV: 1711505210142
2 Bùi Quốc Tín Mã SV: 1711505110130
1 Tên đề tài:
Nghiên cứu và phát triển bộ chuyển mạch Switch - Layer II trên công nghệ FPGA
2 Nhiệm vụ thực hiện đề tài:
Nội dung chính của đề tài
Công việc cụ thể Trương Văn Đông Phân công thực hiện Bùi Quốc Tín
Nghiên cứu tài liệu để hiểu hoạt động
Xây dựng hệ thống theo đường
Axi-Stream (vẽ sơ đồ khối hệ thống, mô tả
Xây dựng hệ thống theo đường
Axi-Lite (vẽ sơ đồ khối hệ thống, mô tả
Vẽ sơ đồ FSM module Input_arbiter,
Ethernet_paser, Mac_cam_lut,
Vẽ sơ đồ FSM module Axi to reg bus,
Thống kê FIFO trong toàn hệ thống
Vẽ và thống kê địa chỉ và thanh ghi
Thực hiện mô phỏng với các module đã
xây dựng, từ đó phân tích những kết
quả đạt được
Trang 14 Mục tiêu của đề tài, phạm vi đề tài:
+ Nhóm thực hiện đề tài đã đặt ra mục tiêu nghiên cứu cụ thể như sau:
Tìm hiều về ngôn ngữ lập trình phần cứng Verilog
Tìm hiểu về nguyên lý hoạt động của thiết bị chuyển mạch SwitchLayer II trên công nghệ FPGA
Kiến trúc sơ đồ của thiết bị chuyển mạch Switch - Layer II
Kiến trúc thiết bị chuyển mạch với ngôn ngữ mô tả phần cứngVerilog
Chạy mô phỏng và kiểm tra kết quả đạt được
Trang 15LỜI NÓI ĐẦU
Ngày nay, với sự phát triển bùng nổ của ngành công nghệ kỹ thuật, nhiều côngnghệ mới được ra đời như công nghệ 5G, đây là một trong những thay đổi lớn và tiêubiểu nhất trong cuộc cách mạng 4.0 Cuộc cách mạng mang xu hướng công nghiệp, tậptrung vào công nghệ kỹ thuật số, từ những thập kỷ gần đây được nâng lên một cấp độhoàn toàn mới với sự trợ giúp của kết nối Internet với vạn vật Cuộc công nghiệp nàychủ yếu xoay quanh việc các thiết bị thông minh được kết nối với nhau Internet ofThing (IoT) Do vậy việc quản lý các nguồn dữ liệu và các thiết bị liên quan đến kếtnối internet trở nên phổ biến Một trong những giải pháp quản lý các luồng dữ liệu vàkết nối những thiết bị thông minh phổ biến nhất là Switch Switch là một bộ chuyểnmạch và là một thiết bị trung tâm để kết nối các đoạn mạng với nhau theo mô hìnhmạng sao Một trong những phương thức truyền nhận dữ liệu trên Internet phổ biếnhiện nay là phương thức truyền nhận dữ liệu bằng địa chỉ MAC (MAC Address),chúng được sử dụng nhiều trên lớp liên kết dữ liệu (Layer II) Vì thế nhóm chúng em
quyết định chọn đề tài Nghiên cứu và phát triển bộ chuyển mạch Switch - Layer II trên công nghệ FPGA để làm đồ án tốt nghiệp lần này
LỜI CẢM ƠN
Lời đầu tiên chúng em xin gửi lời cảm ơn đến cô GVHD TS Nguyễn Thị Khánh Hồng là người hướng dẫn chúng em trong Đồ án tốt nghiệp lần này Trong quá
trình thực hiện đồ án cô đã tạo điều kiện cho chúng em được trực tiếp thực hiện đề tài
này tại Công ty TNHH giải pháp Acronics Qua đây chúng em cũng muốn gửi lời cám ơn sâu sắc nhất đến quý lãnh đạo công ty là anh Nguyễn Trọng Tuấn đã cùng cô
Khánh Hồng trực tiếp hướng dẫn, góp ý, giúp chúng em nắm bắt kiến thức về đề tàinày một cách cụ thể, rõ rằng nhất cũng như giúp đỡ tạo điều kiện tốt và thoải mái nhất
để chúng em có thể hoàn thành tốt đề tài này theo đúng kế hoạch
Bên cạnh đó chúng em cũng gửi lời cảm ơn đến các quý thầy cô trong khoaĐiện – Điện Tử trường Đại Học Sư phạm Kỹ thuật Đà Nẵng đã giúp đỡ để chúng emthực hiện đề tài
Sinh viên thực hiện
i
Trang 16CAM ĐOAN
Chúng em xin cam đoan rằng các kết quả được trình bày trong đồ án này là thànhquả nghiên cứu của Sinh viên Bùi Quốc Tín và Trương Văn Đông trong suốt thời gianlàm đồ án và chưa từng xuất hiện trong công bố của tác giả khác Các kết quả đạt đượcchính xác và trung thực
Sinh viên thực hiện
ii
Trang 17MỤC LỤC
Nhận xét của người hướng dẫn
Nhận xét của người phản biện
Tóm tắt
Nhiệm vụ đồ án
Lời nói đầu i
Lời cảm ơn i
Cam đoan ii
Mục lục iii
Danh sách các bảng, hình vẽ vi
Danh mục thuật ngữ viii
MỞ ĐẦU 1
Chương 1: TỔNG QUAN 3
Giới thiệu chương 3
1.1 Tổng quan về Switch 3
1.1.1 Switch 3
1.1.2 Switch-Layer II 3
1.2.Tổng quan về Công nghệ FPGA và ngôn ngữ mô tả phần cứng verilog 5
1.2.1 Công nghệ FPGA 5
1.2.1.1 Tại sao phải sử dụng FPGA 6
1.2.1.2 Cấu trúc FPGA 7
1.2.2 Ngôn ngữ mô tả phần cứng Verilog 8
1.2.2.1 Verilog là gì 8
1.2.2.2 Các thuật ngữ quan trọng trong Verilog 8
1.2.3 RTL Synthesis 9
Tổng kết chương 9
Chương 2: CƠ SỞ LÝ THUYẾT VÀ KIẾN TRÚC SWITCH – LAYER II 10
Giới thiệu chương 10
2.1.Cơ sở lý thuyết 10
2.1.1 Các kiến thức liên quan về Switch-Layer II 10
2.1.1.1 MAC learning trong Switch 10
2.1.1.2 Phân loại và cơ chế hoạt động của địa chỉ MAC 10
2.1.1.3 Port Mirroring 11
2.1.1.4 Aging Time 12
iii
Trang 182.1.2 Các đường tín hiệu Axi-Stream và Axi-Lite 13
2.1.2.1 Đường tín hiệu Axi-Stream 13
2.1.2.2 Đường tín hiệu Axi-Lite 15
2.1.3 Phần mềm hổ trợ 18
2.1.3.1 Giới thiệu phần mềm ISE 14.7 18
2.1.3.1 Các giao diện người dùng trong ISE 14.7 18
2.2 Kiến trúc Switch-Layer II 20
2.2.1 Sơ đồ kiến trúc Switch-Layer II 20
2.2.2 Cấu trúc khối và chức năng 21
2.2.2.1 Khối Ethernet Queue 21
2.2.2.2 Khối User data path 22
Tổng kết chương 22
Chương 3: THIẾT KẾ SWITCH – LAYER II TRÊN CÔNG NGHỆ FPGA 23
Giới thiệu chương 23
3.1 Sơ đồ tổng quan thiết kế Switch-Layer II 23
3.2 Thiết kế cho từng module 25
3.2.1 Module ethernet_queue 25
3.2.2 Module Input_arbiter 26
3.2.3 Module Output_port_lookup 27
3.2.4 Module Output-queue 30
3.2.2 Các module theo đường Axi-Lite 31
3.2.2.1 Module Axi_To_Reg_Bus 31
3.2.2.2 Module udp_reg_master 33
3.2.2.3 Module Udp_reg_path_decode 34
3.2.6 Thiết kế chi tiết FIFO 34
3.2.6.1 FIFO trong từng module và kích thước của nó 34
3.2.6.2 Chức năng của từng FIFO 35
3.2.7 Quản lý các thanh ghi trong module User_data_path 35
Tổng kết chương 36
Chương 4: PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ 37
Giới thiệu chương 37
4.1 Module bfm_stream_0 38
4.2 Module Rx_queue 40
4.3 Module input_arbiter 43
4.4 Module output_port_lookup 48
iv
Trang 194.5 Module output_queue 55
4.5.1 Quá trình nhận dữ liệu từ module output_port_lookup 55
4.5.2 Quá trình gửi dữ liệu từ module output_queue sang module Tx_queue 56
4.6 Module Tx_queue 57
4.6.1 Quá trình nhận dữ liệu từ module output_queue 57
4.6.2 Quá trình gửi dữ liệu hợp lệ từ module Tx_queue 58
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
TÀI LIỆU THAM KHẢO 60
v
Trang 20HÌNH 2.1: Truyền dữ liệu theo cơ chế Unicast
HÌNH 2.2: Truyền dữ liệu theo cơ chế Broadcast
HÌNH 2.3: Cấu hình Port Mirroring
HÌNH 2.4: Cấu hình Aging Time
HÌNH 2.5: Mô tả giao diện Axi-Stream
HÌNH 2.6: Quy trình bắt tay nhận dữ liệu
HÌNH 2.7: Giao dịch đọc Axi-Lite
HÌNH 2.8: Giao dịch ghi Axi-Lite
HÌNH 2.9: Tín hiệu giao dịch đọc Axi-Lite
HÌNH 2.10: Tín hiệu giao dịch ghi Axi-Lite
HÌNH 2.11: Giao diện chính xây dựng chương trình trong ISE 14.7HÌNH 2.12: Giao diện Synthesis trên ISE 14.7
HÌNH 2.13: Giao diện mô phỏng ModelSim trên ISE 14.7
HÌNH 2.14: Sơ đồ kiến trúc Switch-Layer II
HÌNH 2.15: Sơ đồ khối Ethernet Queue
HÌNH 2.16: Sơ đồ khối User data path
HÌNH 3.1: Sơ đồ tổng quan về các module trong Switch-Layer II
HÌNH 3.2: Đường dẫn dữ liệu Axi-stream
HÌNH 3.3: Đường dẫn dữ liệu Axi-Lite
HÌNH 3.4: Sơ đồ FSM module Input_arbiter
HÌNH 3.5: Sơ đồ FSM module Output_port_lookup
HÌNH 3.6: Sơ đồ FSM module Ethernet_paser
HÌNH 3.7: Sơ đồ FSM module mac_cam_lut
vi
Trang 21HÌNH 3.8: Sơ đồ FSM module op_lut_regs
HÌNH 3.9: Sơ đồ FSM module Output_queue
HÌNH 3.10: Sơ đồ FSM module Axi_to_reg_bus
HÌNH 3.11: Sơ đồ FSM module udp_reg_master
HÌNH 3.12: Các địa chỉ và thanh ghi module User_data_path
BẢNG 3.1: Đường tín hiệu của module eth_queue
BẢNG 3.2: Đường tín hiệu của module Input_arbiter
BẢNG 3.3: Đường tín hiệu của module Output_port_lookup
BẢNG 3.4: Đường tín hiệu của module Output_queue
BẢNG 3.5: Đường tín hiệu module Axi_To_Reg_Bus theo đường Axi-LiteBẢNG 3.6: Đường tín hiệu module udp_reg_mater theo đường Axi-Lite
BẢNG 3.7: Đường tín hiệu module udp_reg_path_decode theo đường Axi-LiteBẢNG 3.8: Cấu hình chi tiết FIFO trong từng module
vii
Trang 22DANH MỤC THUẬT NGỮ
IoT: Internet of things – Mạng lưới các thiết bị kết nối với Internet
IP: Internet Protocol – giao thức Internet
UDP: User Datagram Protocol – Giao thức điều khiển truyền vận
TCP: Transmission Control Protocol – Giao thức điều khiển truyền vận
FPGA: Field-Progammable Gate Array
FSM: Finite-State Machine – Máy trạng thái hữu hạn
FIFO: First in-First out – Bộ nhớ đệm
LAN: Local Network Area – Mạng cục bộ
MAC: Media Access Control - Kiểm soát truy cập phương tiện truyền thôngSPAN: Switched Port Analyzer
OSI layer 2: Open Systems Interconnection Reference Mode – Mô hình tham chiếu
kết nối các hệ thống mởCPLD: Complex Programmable Logic Device - Là một vi mạch mà người dùng
có thể lập trình đượcPAL: Programmable Array Logic là một thuật ngữ chỉ các mảng logic lập trình
được
ASIC: Application-Specific Integrated Circuit - Là một vi mạch IC được thiết
kế dành cho một ứng dụng cụ thểSoC: System on Chip - Là một vi mạch (IC) được tích hợp các thành phần của
một máy tính hoặc các hệ thống điện tử khácHDL: Hardware Description Language
VHDL: VHSIC Hardware Description Language - là một ngôn ngữ lập trình
dùng để mô tả phần cứng, dùng trong thiết kế điện tử tự động để mô tảnhững hệ thống điện tử và bán điện tử như FPGA và các vi mạch tíchhợp
Full duplex: Môi trường truyền và các thiết bị mạng có thể hoạt động song song cùng
lúc để 2 quá trình xảy ra đồng thời ta có dạng thức truyền toàn song công
viii
Trang 23Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
MỞ ĐẦU
1 Giám sát, phân luồng và truyền dữ liệu.
Ngày nay, các thiết bị thông minh, các thiết bị mạng được sử dụng rất nhiều và
có giá thành rất phải chăng để mọi người có thể tiếp cận Kéo theo đó việc giám sát,phân luồng và truyền dữ liệu cũng trở nên phổ biến Sự gia tăng về lưu lượng mạngInternet dẫn đến việc giám sát và truyền dữ liệu là vấn đề luôn luôn cấp thiết đối vớidoanh nghiệp và nhà nước, các tổ chức, tập đoàn công nghệ lớn Với sự xuất hiện củamạng 5G, đường truyền tốc độ lớn dẫn đến kỹ thuật vi mạch bán dẫn tích hợp với cáccông nghệ IoT để giám sát và truyền dữ liệu tốc độ cao Điều đó, đặt ra vấn đề cấpthiết cần một thiết bị có thể giám sát, phân luồng và truyền dữ liệu bảo mật và chínhxác Hiện nay, trên thị trường có nhiều hãng sản xuất ra sản phẩm thương mại về việcgiám sát, phân luồng và truyền dữ liệu Tuy nhiên một số vấn đề đặt ra liên quan đến
kỹ thuật, bảo mât và kinh phí
Cụ thể như sau:
Với việc phải liên tục phân luồng dữ liệu cũng như truyền dữ liệu lớn với tốc độcao và việc giám sát lưu lượng mạng thì các phần mềm không phân tích và xử
lý kịp vì thế có thể bị mất dữ liệu khi chúng ta đang giám sát
Các thiết bị Switch-Layer II của Cisco và Huawei thì có giá thành khá rẻ tuynhiên việc đảm bảo các thiết bị này có bị cài mã độc hoặc Back-Door haykhông rất khó xác định Điều này dẫn đến thông tin người dùng có thể bị thuthập từ đó được bán cho những công ty khác
Với những bất cập nêu trên, nên chúng em quyết định nghiên cứu và phát triển
bộ chuyển mạch Switch-Layer II trên công nghệ FPGA Và giải pháp này sẽ khắc phục
và giải quyết tốt những bất cập nêu trên Cụ thể giai đoạn phân tích và trích xuất cácluồng thông tin mạng phức tạp sẽ thực hiện trên công nghệ vi mạch FPGA Việc phânluồng và truyền dữ liệu sẽ sử dụng bộ chuyển mạch Switch-Layer II Ngoài ra, nó còn
có thể truyền dữ liệu giữa các thiết bị được kết nối với nhau qua Switch layer II màkhông cần kết nối Internet điều này sẽ giúp chúng ta bảo đảm được tính bảo mật củaluồng dữ liệu không những thế chúng ta có thể cấu hình Port Mirroring dùng để giámsát, phân tích và vận hành hệ thống mạng
Do vậy giải pháp phát triển bộ chuyển mạch Switch-Layer II trên công nghệ FPGA
là một giải pháp cần thiết để giải quyết những vấn đề về an ninh mạng ở nước ta
2 Mục tiêu, phạm vi, đối tượng và phương pháp nghiên cứu:
Mục tiêu nghiên cứu:
Thiết kế một bộ chuyển mạch trên nền tảng công nghệ FPGA, bộ chuyểnmạch này sẽ thực hiện phân tích nguồn dữ liệu Internet, phần cứng sẽ tách
ra các thông tin cần thiết như IP-Nguồn, IP-Đích, Port-Nguồn, Port-Đích,Protocol để đưa về Switch-Layer II nhận dạng và truyền dữ liệu
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 1
Trang 24Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Switch-Layer II sẽ dựa vào thông tin vừa mới thu nhận được để truyền dữliệu đến Port đích cần nhận dữ liệu
Phạm vi nghiên cứu:
Nghiên cứu về kiến thức về mạng, các giao thức và dữ liệu mạng
Nội dung chính của đồ án lần này là tập trung nghiên cứu và phát triển bộchuyển mạch giúp phân tích, tách các thông tin cần thiết từ các EthernetFrame, Switch-Layer II sẽ phân luồng và truyền dữ liệu
Đối tượng và phương pháp nghiên cứu:
Thiết kế IP Core trên nền tảng kit FPGA
Tập trung vào cơ sở dữ liệu, gói tin Internet và các giao thức UDP, TCP
Phương pháp nghiên cứu lý thuyết kết hợp thực tiễn
1 Cấu trúc nội dung của đồ án tốt nghiệp:
Nội dung của đồ án tốt nghiệp bao gồm 5 chương Giới thiệu về Switch-Layer II
và công nghệ FPGA được trình bày ở chương 1 Toàn bộ cơ sở lý thuyết liên quan đếnswitch-Layer II và kiến trúc Switch-Layer II được trình bày ở chương 2 Thiết kế hệthống và các module sẽ được trình bày ở chương 3 Chương 4 sẽ trình bày vầ phân tíchkết quả mô phỏng Cuối cùng là chương 5 sẽ tổng kết và hướng phát triển của đề tài
Chương 1 TỔNG QUAN
Chương này sẽ trình bày khái quát và giới thiệu công nghệ FPGA cũng nhưgiải thích lý do chúng em chọn phát triển trên công nghệ FPGA Giới thiệu vềcác bộ chuyển mạch Switch nói chung và Switch-Layer II nói riêng
Chương 2 CƠ SỞ LÝ THUYẾT VÀ KIẾN TRÚC CỦA SWITCH-LAYER 2.
Chương này sẽ trình bày về các khái niệm về mạng, cơ sở lý thuyết để xâydựng một bộ chuyển mạch Switch-Layer II Giới thiệu về từng khối để kiến trúcthành bộ Switch-Layer II
Chương 3: THIẾT KẾ SWITCH – LAYER 2 TRÊN CÔNG NGHỆ FPGA
Chương này sẽ tập trung đi sâu vào phần thiết kế nên bộ chuyển mạchSwitch-Layer II bao gồm tất cả các module có trong hệ thống Xây dựng sơ đồkhối của toàn bộ hệ thống cũng như từng module Trình bày về các đường tínhiệu, chức năng của chúng, bên cạnh đó vẽ sơ đồ FSM, hệ thống FIFO có trongtừng module
Chương 4: PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ
Chương này sẽ trình bày về testbench và các kết quả mô phỏng cho từngmodule có trong hệ thống
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 2
Trang 25Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Chương 1: TỔNG QUAN
Giới thiệu chương
Chương này sẽ tập trung vào tìm hiểu về các khái niệm, chức năng, nguyên lýhoạt động và cơ chế truyền dữ liệu của Switch Tiếp theo, trình bày tổng quan về côngnghệ FPGA và ngôn ngữ mô tả phần cứng Verilog
1.1 Tổng quan về Switch
1.1.1 Switch
Switch là một thiết bị chuyển mạch tối quan trọng trong mạng, dùng để kết nốicác đoạn mạng với nhau theo mô hình hình sao Trong mô hình này, switchđóng vai trò trung tâm và tất cả các thiết bị vệ tinh khác kể cả máy tính đềuđược kết nối về đây, từ đó định tuyến tạo đường nối tạm trung chuyển dữ liệu
đi Ngoài ra, Switch được hỗ trợ công nghệ Full Duplex dùng để mở rộng băngthông của đường truyền, điều mà các thiết bị khác không làm được
Có thể hiểu đơn giản thiết bị chuyển mạch Switch giống như cảnh sát giaothông phân luồng dữ liệu của một mạng cục bộ Nó có khả năng chọn đườngdẫn để quyết định chuyển frame (đơn vị của tầng liên kết dữ liệu) nên mạngLAN hoạt động hiệu quả hơn Switch có khả năng nhận dạng máy được kết nốivới nó nhờ cách đọc địa chỉ MAC nguồn trong frame nó nhận được Khi haimáy trong mạng liên lạc với nhau, chính Switch sẽ tạo mạch ảo giữa hai cổngtương ứng mà không làm ảnh hưởng đến lưu thông trên các cổng khác
Hình 1.1: Thiết bị Switch
1.1.2 Switch-Layer II
Bộ chuyển mạch Switch-Layer II là một loại switch mạng hoặc thiết bị hoạtđộng trên lớp liên kết dữ liệu (OSI Layer II) và sử dụng địa chỉ MAC để xácđịnh đường dẫn thông qua nơi các khung sẽ được chuyển tiếp
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 3
Trang 26Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Switch lưu trữ địa chỉ bộ điều khiển truy cập phương tiện (MAC) được quan sáttrong các khung nhận được qua mỗi cổng để xác định từng phân đoạn mạng Sửdụng địa chỉ MAC, Switch chỉ chuyển tiếp các khung từ phân đoạn nguồn đếnphân đoạn đích, thay vì chuyển tiếp khung đến tất cả các cổng được kết nối, do
đó làm giảm lưu lượng mạng
Hình 1.2: Mô hình mạng Switch – layer 2
Nguyên lý hoạt động của Switch-Layer II:
Switch-Layer II tự động tìm địa chỉ Mac bằng cách sao chép địa chỉ Maccủa mỗi khung nhận được trên các thiết bị mạng và duy trì địa chỉ Mac củachúng trong bảng chuyển tiếp Điều này cũng cho phép Switch-Layer II khôngthể truyền tải gói tin trên địa chỉ IP và không có bất kỳ cơ chế nào để ưu tiêncác gói dựa trên ứng dụng gửi/nhận
Cơ chế truyền nhận gói tin trong Switch-Layer II được diễn ra như sau:
Hình 1.3: Cơ chế truyền nhận dữ liệu với các thiết bị kết nối với Switch
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 4
Trang 27Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Gói tin được gửi từ một Host với một đích đến được đánh dấu bằng một địachi Source MAC hoặc địa chỉ IP của máy, gói tin được gửi đến cổng(Source Port ) Switch-Layer II và đực lưu trong bộ nhớ tạm của Switch(MAC Address Table)
Ban đầu MAC Address Table này sẽ trống, Switch sẽ tự học Source MACcủa các Host dần dần và ghi vào Table
Switch-Layer II sẽ dọc thông tin đích đến là địa chỉ Destination MAC hoặcđịa chỉ IP của máy đích, sau đó nó sẽ lọc dữ liệu từ MAC Address Table đãđược học từ trước và cho biết thiết bị đích sẽ nằm ở cổng nào, từ đó chuyểntiếp gói tín đó đến đúng cổng (Destination Port ) có địa chỉ DestinationMAC của thiết bị đích
1.2 Tổng quan về Công nghệ FPGA và ngôn ngữ mô tả phần cứng verilog
Cũng giống như vi điều khiển, số lần nạp FPGA hầu như không giới hạn Dữliệu (chương trình) nạp cho FPGA sẽ bị mất khi mất nguồn (điện) giống nhưRAM trong máy tính Nếu muốn lưu giữ lại file nạp này thì cần phải có một bộnhớ ngoài Flash/ROM (do đặc tính của loại bộ nhớ này là lưu dữ liệu cho dù cómất nguồn) để mỗi lần bật nguồn, file dạng binary sẽ tự động nạp lại vàoFPGA
FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinxvào năm 1984 Tiền thân trước đó của FPGA chính là CPLD CPLD được cấutrúc từ số lượng nhất định các khối SPLD (Simple programmable devices, thuậtngữ chung chỉ PAL, PLA) SPLD thường là một mảng logic AND/OR lập trìnhđược có kích thước xác định và chứa một số lượng hạn chế các phần tử nhớđồng bộ (clocked register) Cấu trúc này hạn chế khả năng thực hiện những hàmphức tạp và hiệu suất không cao
Kiến trúc của FPGA là kiến trúc mảng các khối logic, FPGA có khả năng chứatới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ 10.000đến 100.000 cổng logic Một điểm khác biệt với CPLD là trong những FPGAhiện đại được tích hợp nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợRAM, ROM, tốc độ cao, hay các bộ nhân cộng (multiplication and
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 5
Trang 28Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
accumulation, MAC), thuật ngữ tiếng Anh là DSP slice dùng cho những ứngdụng xử lý tín hiệu số DSP
Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ trợtái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ (partialconfiguration) trong khi vẫn đảm bảo hoạt động bình thường cho các bộ phậnkhác
1.2.1.1 Tại sao phải sử dụng FPGA
Thứ nhất: Do FPGA có kiến trúc mảng phần tử logic nên có thể thực thi songsong So với vi điều khiển hoặc CPU phải thực thi mã lệnh theo dạng tuần tự.Như vậy với FPGA, chúng ta có thể tăng hiệu suất/năng suất xử lý của hệthống, hoặc những ứng dụng đòi hỏi phải xử lý tốc độ cao hoặc dùng trong các
hệ thống làm việc theo thời gian thực
Thứ hai: Vì có thể cấu hình, lập trình lại được, nên FPGA dễ dàng mở rộng cácngoại vi cũng như giao tiếp với nhiều thiết bị hơn mà các MCU hoặc ASIC lạihạn chế về điểm này
Thứ ba: Nhìn chung ASIC/ASSP có hiệu suất cao hơn nếu xét về mặt tiêu thụcông suất và số lượng cổng Nhưng nếu chỉ cần thực thi một chức năng nhỏ nào
đó, một chip ASIC/ASSP có thể đòi hỏi công suất tiêu thụ lớn hơn và nhiềucổng hơn thực tế yêu cầu Với FPGA, firmware có thể xác định được “kích cỡ”của ứng dụng, từ đó giảm số cổng và công suất cần tiêu thụ
Thứ tư: Nếu xét về giá thành, FPGA không thể nào so sánh được với ASIC haySoC, nhưng bù lại, với khả năng tái cấu hình kiến trúc, FPGA đóng vài trò vôcùng to lớn trong việc giảm giá thành và thời gian chế tạo ASIC Để rõ hơn,chúng ta cần phải biết quy trình thiết kế của hai công nghệ này FPGA và ASICđều phải trải qua hai giai đoạn: Front End (ý tưởng, thiết kế ở mức logic sửdụng các ngôn ngữ mô tả phần cứng, kiểm tra mô phỏng bằng phần mềm, …)
và Back End (kiểm tra timing đảm bảo thiết kế sẽ hoạt động ở tần số yêu cầu,layout chip, …) Ở khâu backend này, với FPGA, các giai đoạn sẽ được làm tựđộng bằng phần mềm của nhà sản xuất FPGA và tạo ra 1 file bitstream để nạpxuống FPGA và chạy thử nghiệm Còn với ASIC, thì back end cần tốn nhân lực
và thời gian lâu hơn Sau đó, toàn bộ thiết kế đó được gửi tới nhà máy sản xuấtchip (vd như Intel, TSMC, …) để làm ra chip mẫu với giá thành vài triệu đô la.Tiếp đến là quá trình test chip trong môi trường thực, nếu thất bại thì phải thựchiện lại từ đầu như qui trình trên và vài triệu đô trước đó xem như vứt sọt rác.Nhưng với FPGA, không những giúp rút ngắn thời gian mà còn giảm tối đa chiphí nghiên cứu, thiết kế có thể thử nghiệm trực tiếp trên FPGA gần với môitrường ASIC thực nhất Khả năng tái cấu hình cho phép bạn sửa đi sửa lại thiết
kế cho đến khi đạt yêu cầu mà không tốn một xu nào cho nhà sản xuất chip
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 6
Trang 29Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
1.2.1.2 Cấu trúc FPGA
Hình 1.4: Kiến trúc tổng quan về FPGA
Kiến trúc cơ bản của FPGA bao gồm 3 thành phần chính: khối logic có thể táicấu hình, Configurable Logic Blocks (CLBs) thực hiện các chức năng logic; cáctài nguyên kết nối, Porgrammable Interconnect có thể lập trình để kết nối cácđầu vào và đầu ra của các CLB và các khối I/O bên trong; các khối I/O cungcấp giao tiếp giữa các ngoại vi và các đường tín hiêu bên trong
Chức năng của mỗi thành phần như sau:
Hình 1.5: Cấu trúc chung của FPGA Hình 1.6: Môt phần của một lập trình FPGA
Khối logic có thể tái cấu hình: Mục đích của việc lập trình khối logic trongFPGA là để cung cấp các tính toán và các phần tử nhớ cơ bản được sử dụngtrong hệ thống số Một phần tử logic cơ bản gồm một mạch tổ hợp có thểlập trình, một Flip-Flop hoặc một chốt (latch) Ngoài khối logic cơ bản đó,nhiều Chip FPGA hiện nay gồm một hỗn hợp các khối khác nhau, một số
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 7
Trang 30Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
trong đó chỉ được dùng cho các chức năng cụ thể, chẳng hạn như các khối
bộ nhớ chuyên dụng, các bộ nhân (multipliers) hoặc các bộ ghép kênh(multiplexers) Tất nhiên, cấu hình bộ nhớ được sử dụng trên tất cả các khốilogic để điều khiển các chức năng cụ thể của mỗi phần tử bên trong khối đó
Khối Tài Nguyên kết nối: Các liên kết trong một FPGA dùng để liên kết cáckhối logic và I/O lại với nhau để tạo thành một thiết kế Bao gồm các bộghép kênh, các transistor và bộ đệm ba trạng thái Nhìn chung, các transistor
và bộ ghép kênh được dùng trong một cụm logic để kết nối các phần tửlogic lại với nhau, trong khi đó cả ba đều được dùng cho các cấu trúc địnhtuyến bên trong FPGA Một số FPGA cung cấp nhiều kết nối đơn giản giữacác khối logic, một số khác cung cấp ít kết nối hơn nên định tuyến phức tạphơn
Khối I/O khả trình: I/O cung cấp giao tiếp giữa các khối logic và kiến trúcđịnh tuyến đến các thành phần bên ngoài Một trong những vấn đề quantrọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn điện
áp cung cấp và điện áp tham chiếu sẽ được hỗ trợ
1.2.2 Ngôn ngữ mô tả phần cứng Verilog
1.2.2.1 Verilog là gì?
Ngôn ngữ mô tả phần cứng (HDL) là ngôn ngữ lập trình phần mềm dùng để môhình hoạt động mong muốn của phần cứng Có nhiều ngôn ngữ mô tả phần cứng khácnhau, tuy nhiên có hai ngôn ngữ mô tả phần cứng theo chuẩn công nghiệp hiện tạiđược sử dụng phổ biến và ưu chuộng hơn cả đó là VHDL và Verilog Cả hai ngôn ngữnày đực IEEE công nhận
Công ty Gateway phát hành ngôn ngữ mô tả phần cứng Verilog có tên VerilogHDL, nâng cấp thành Verilog XL, ngoài mô tả phần cứng có thể tạo các công cụ kiểmtra, mô phỏng Ngôn ngữ này đã thông dụng trên thế giới 85% các xưởng chế tạoASIC trên thế giới đều sử dụng Verilog trong thiết kế Năm 1995 – IEEE đã công nhậnVerilog thành chuẩn IEEE1364 Ngôn ngữ Verilog có cấu trúc chương trinh, lệnh, kiểu
dữ liệu, khai báo đơn giản, tương tự như ngôn ngữ C, nên việc tiếp cận sử dụng dễdàng Đối với những người đã sử dụng ngôn ngữ C để lập trình thì dễ dàng nắm bắtngôn ngữ Verilog
1.2.2.2 Các thuật ngữ quan trọng trong Verilog
HDL: Là viết tắt của Hardware Description Language (ngôn ngữ mô tả phầncứng) dựa trên ngôn ngữ lập trình mà được sử dụng cho việc mô hình phầncứng Khi bạn sử dụng HDL, có hai cách để bạn mô hình hoá mạch số của bạn,
đó là Behavior Modeling (mô hình hành vi) và Structural Modeling (mô hìnhcấu trúc)
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 8
Trang 31Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
RTL: Là viết tắt của Register Transfer Level, là một thuật ngữ thông dụng dùng
để mô tả phong cách Behavior Modeling mà định nghĩa mối quan hệ giữa cácinput và output theo các thao tác data-flow (dòng dữ liệu) bên trong mô hìnhphần cứng của bạn Cấu trúc RTL là có thể tổng hợp được Synthesis (tổng hợp)
đề cập đến cả việc chuyển đổi và việc tối ưu HDL code thành mạch số theo mộtcông nghệ cụ thể Một số ví dụ điển hình là Lookup Table và Flip-Flop củaFPGA RTL Synthesis đơn giản chỉ đề cập đến việc chuyển đổi mô hình RTL
Behavior Modeling: Là một thành phần được mô tả bởi đáp ứng Input/outputcủa nó
Structural Modeling: Là một thành phần được mô tả bởi các kết nối mức thấpgiữa các thành phần con của mạch
1.2.3 RTL Synthesis
Hình dưới minh hoạ tiến trình tổng hợp RTL Ở bước đầu tiên, synthesis enginechuyển đổi code của bạn thành phần cứng bằng cách sử dụng các thành phần kiến trúcđược có sẵn trong thư viện của bạn Sau đó nó sẽ đến bước tối ưu hoá để đảm bảo bạn
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 9
Trang 32Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Chương 2: CƠ SỞ LÝ THUYẾT VÀ KIẾN TRÚC SWITCH – LAYER II
Giới thiệu chương
Chương này tìm hiểu lý thuyết về những kiến thức liên quan về mạng, cơ sở lýthuyết có trong Switch-Layer II và phần mềm hỗ trợ Ngoài ra, còn tập trung vào kiếntrúc của Switch-Layer II với sơ đồ khối và chức năng của từng khối với mức độ tổngthể
2.1.Cơ sở lý thuyết
2.1.1 Các kiến thức liên quan về Switch-Layer II
2.1.1.1 MAC learning trong Switch
Như đã đề cập ở chương 1 quá trình học địa chỉ Mac diễn ra trong Switch đượcxem là rất quan trọng bởi lẽ khi một địa chỉ MAC, hoặc một địa chỉ IP của máy lầnđầu tiên truyền dữ liệu thông qua bộ chuyển mạch là Switch để nó phân tích tính toáncổng đích đến tương ứng thì lúc này trong bộ nhớ Switch chưa có thông tin gì về địachỉ MAC hay địa chỉ IP đó, vì vậy Switch sẽ thực hiện quá trình học địa chỉ MAC vàlưu vào MAC Address Table, điều này tạo điều kiện giao tiếp cho các khung sau đó đivào cổng mục tiêu và chứa các địa chỉ đã học trước đó từ một khung đã nhận
2.1.1.2 Phân loại và cơ chế hoạt động của địa chỉ MAC
Trang 33Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Hình 2.1: Truyền dữ liệu theo cơ chế Unicast
Hoạt động: Khi một thiết bị có địa chỉ MAC B (Source MAC) đang kết nối vớiSwitch ở Port 2 (Source Port) muốn gửi một gói tín đến thiết bị mạng địa chỉMAC A (Destination MAC) trong network Đầu tiên Switch-Layer II sẽ kiểmtra xem Source MAC B đã được ghi vào MAC Address Table hay chưa Nếuchưa ghi, Source MAC B sẽ được learning cùng với Source Port 2 Nếu SourceMAC đã được ghi thì tiến hành Update Source Port Sau đó, Switch sẽ dựa vàoMAC Address Table để tìm địa chỉ MAC A của thiết bị mà gói tin mong muốnđến để lấy thông tin MAC A với Destination Port 1 tương ứng và gửi gói dữliệu đến thiết bị này
b Broadcast
Giả sử: Thiết bị A có địa chỉ Source MAC là MAC A được kết nối với Switch ởPort 1 (Source port) gửi một gói tin đến địa chỉ Destination MAC là MAC B
Hình 2.2: Truyền dữ liệu theo cơ chế Broadcast
Hoạt động: Đầu tiên, Switch-Layer II sẽ kiểm tra xem Source MAC A đã được ghi trong Mac Table hay chưa Nếu chưa ghi Soure MAC A sẽ được learning cùng với Source Port 1 Nếu Source MAC đã được ghi thì tiến hành Update Source Port Sau đó, Switch cũng dựa vào Mac Address
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 11
Trang 34Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Table tìm địa chỉ MAC B của thiết bị mà gói tin mong muốn đến để lấy thông tin MAC B, nhưng trong Mac Address Tables chưa được learning MAC B nên Switch sẽ broadcast chuyển data frame packet đến tất cả các Port của Switch (Port2, Port3) trừ Source Port 1.
2.1.1.3 Port Mirroring
a Khái niệm
Port Mirroring hay được gọi là SPAN (Switched Port Analyzer) là một phương pháp giám sát lưu lượng mạng của Switch bằng cách cấu hình các Port thành Port Mirroning, bao gồm: Source Port Mirroning và Destination Port Mirroning.
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 12
Trang 35Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
đến Port 8- là Destination Port Mirroning để các thiết bị, ứng dụng có muốn lấy thông tin phục vụ cho các chức năng phân tích, giám sát cụ thể.
b Hoạt động
Ở giai đoạn Switch learning địa chỉ MAC và Port kết nối thì nó cũng sẽ ghi lại Timestamp về thời điểm thông tin của gói tin được học Timestamp của địa chỉ MAC có trong Mac Address Tables sẽ được cập nhật khi quá trình tìm địa chỉ Mac của một frame mới phát hiện địa chỉ MAC đã tồn tại trong bảng Bộ Time Counter trong Switch sẽ thực hiện kiểm tra định
kì timestamp và nếu địa chỉ MAC của một Port đã quá hạn so với Aging time được set, Switch sẽ xóa địa chỉ MAC đó khỏi Mac Address Table Ethernet Quá trình Checks Aging time này đảm rằng
Đối với mỗi hãng sản xuất Switch sẽ có một cách để cấu hình, kiểm tra và loại bỏ aging time khác nhau.
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 13
Trang 36Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Hình 2.4: Cấu hình Aging Time
2.1.2 Các đường tín hiệu Axi-Stream và Axi-Lite
2.1.2.1 Đường tín hiệu Axi-Stream
Axi4-stream là một giao thức được thiết kế để truyền các luồng dữ liệu mộtchiều
Quá trình truyền dữ liệu Axi4-Stream: Thời điểm ban đầu Master gửi dữ liệu(TDATA ) đến Slave Khi Slave đã sẵn sàng nhận dữ liệu từ Master thì Slavegửi tín hiệu sẵn sàng (TREADY) Khi nhận được tín hiệu sẵn sàng được gửi từSlave thì Master bắt đầu gửi tín hiệu hợp lệ (TVALID) để thông báo cho Slavebiết dữ liệu này là hợp lệ Khi gói tin cuối được gửi đến Slave thì Master sẽ gửitín hiệu TLAST
Hình 2.5: Mô tả giao diện Axi-Stream
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 14
Trang 37Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Hình 2.6: Quy trình bắt tay nhận dữ liệu
Quá trình bắt tay xảy ra phụ thuộc vào tín hiệu sẵn sàng (READY) và hợp lệ(VALID) Đầu tiên khung dữ liệu thứ nhất TDATA gồm 4 gói từ D0-D3, dữliệu gói D3 đến khi này tín hiệu khẳng định TLAST thông báo rằng đây là góitin cuối cùng, đồng thời TVALID xuống 0 Tương tự với khung dữ liệu thứ 2,khi tín hiệu VALID được khẳng định thì gói tin đầu tiên vào, như vậy chờ đếnkhi tín hiệu TLAST khẳng định thì thông báo rằng đó là gói cuối cùng củakhung dữ liệu thứ 2 đồng thời tín hiệu TVALID xuống 0
2.1.2.2 Đường tín hiệu Axi-Lite
Giao diện Axi- Lite bao gồm năm kênh: Đọc địa chỉ, đọc dữ liệu, ghi địa chỉ,ghi dữ liệu và ghi phản hồi Một giao dịch đọc Axi-Lite sử dụng các kênh Địachỉ đọc và Dữ liệu được thể hiện trong Hình 2.7 Tương tự, một giao dịch ghiAxi-Lite sử dụng các kênh Địa chỉ ghi, Dữ liệu và Phản hồi được thể hiện trongHình 2.8
Hình 2.7: Giao dịch đọc Axi-Lite
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 15
Trang 38Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Hình 2.8: Giao dịch ghi Axi-Lite
Bất kỳ thành phần AXI nào cũng có hai tín hiệu chung: ACLK và RESETkhông đồng bộ hoạt động ở mức thấp ARESETN Tất cả các tín hiệu Axi-Liteđược lấy mẫu trên cạnh tăng của đồng hồ và tất cả các thay đổi tín hiệu phải xảy
ra sau cạnh tăng
Quy trình bắt tay: Tất cả năm kênh giao dịch đều sử dụng cùng một quy trình
bắt tay hợp lệ (VALID) / sẵn sàng (READY) để chuyển địa chỉ, dữ liệu vàthông tin kiểm soát Cơ chế điều khiển luồng hai chiều này có nghĩa là cảMASTER và SLAVE đều có thể kiểm soát tốc độ thông tin di chuyển giữaMASTER và SLAVE Nguồn thông tin tạo ra tín hiệu VALID để chỉ ra khi địachỉ, dữ liệu hoặc thông tin điều khiển nhận được là hợp lệ Điểm đến thông tintạo ra tín hiệu READY để chỉ ra rằng nó có thể chấp nhận thông tin Bắt tayhoàn thành nếu cả hai tín hiệu VALID và READY trong một kênh được xácnhận trong thời gian xung nhịp tăng
Giao dịch đọc Axi-Lite:
1 Master đặt một địa chỉ trên kênh Read Address cũng như khẳng định
ARVALID, cho biết địa chỉ này hợp lệ và RREADY, cho biết master đã sẵnsàng nhận dữ liệu từ slave
2 Slave khẳng định ARREADY, chỉ ra rằng nó đã sẵn sàng nhận địa chỉ trên
bus dữ liệu
3 Vì cả ARVALID và ARREADY đều được xác nhận, nên ở cạnh tăng
ACLK tiếp theo, quá trình bắt tay xảy ra, sau đó lần lượt xác nhận
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 16
Trang 39Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
ARVALID và ARREADY chính và phụ (Tại thời điểm này, Slave đã nhậnđược địa chỉ được yêu cầu)
4 Slave đặt dữ liệu được yêu cầu trên kênh Đọc dữ liệu và xác nhận RVALID,
cho biết dữ liệu trong kênh là hợp lệ Slave cũng có thể đặt một phản hồitrên RRESP
5 Vì cả RREADY và RVALID đều được xác nhận, nên cạnh tăng tiếp theo
của ACLK sẽ hoàn tất giao dịch RREADY và RVALID bây giờ có thểđược xác nhận
Hình 2.9: Tín hiệu giao dịch đọc Axi-Lite
Giao dịch ghi AXI4-Lite:
1 Master đặt một địa chỉ trên kênh Ghi địa chỉ và dữ liệu trên kênh ghi dữ liệu.
Đồng thời, nó khẳng định AWVALID và WVALID cho biết địa chỉ và dữliệu trên các kênh tương ứng là hợp lệ BREADY cũng được khẳng định bởiMaster, cho biết nó đã sẵn sàng để nhận phản hồi
2 Slave xác nhận AWREADY và WREADY tương ứng trên các kênh Write
Address và Write Data
3 Vì tín hiệu Hợp lệ và Sẵn sàng có mặt trên cả hai kênh Ghi Địa chỉ và Ghi
dữ liệu, nên quá trình bắt tay trên các kênh đó xảy ra và các tín hiệu Hợp lệ
và Sẵn sàng liên quan có thể được xác định lại (Sau khi cả hai lần bắt tayxảy ra, Slave có địa chỉ ghi và dữ liệu)
4 Slave xác nhận BVALID, cho biết có một phản hồi hợp lệ trên kênh phản
hồi Ghi
5 Cạnh tăng tiếp theo của ACLK hoàn thành giao dịch, với cả tín hiệu Sẵn
sàng và Hợp lệ trên kênh phản hồi ghi ở mức cao
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 17
Trang 40Nghiên cứu và phát triển bộ chuyển mạch Switch – Layer II trên công nghệ FPGA
Hình 2.10: Tín hiệu giao dịch ghi Axi-Lite
2.1.3 Phần mềm hổ trợ
2.1.3.1 Giới thiệu phần mềm ISE 14.7
ISE là từ viết tắt của Integrated Synthesis Enosystem là một công cụ phần mềmcủa Xilinx để tổng hợp và phân tích các thế kế HDL Phần mềm ISE chủ yếuphát triễn nhúng cho các sản phầm mạch tích hợp (IC) Xilinx FPGA
ISE cho phép người dùng phát triễn tổng hợp thiết kế Thực hiện phân tích thờigian, kiểm tra sơ đồ RTL, mô phỏng phản ứng của thiết kế với các kích thướckhác nhau và cấu hình thiết bị
ISE kiểm tra mức độ hoạt động của hệ thống với ISIM hoặc trình mô phỏngModelSim và các chương trình kiểm tra phải viết bằng ngôn ngữ HDL nhưVerilog hoặc VHDL
ModelSim hoặc ISIM có thể được sử dụng để thực hiện các loại mô phỏng sau:
Xác minh logic, để đảm bảo mô-đun hoạt động đúng với thiết kế
Xác minh hành vi, để xác minh các vấn đề logic và thời gian
ISE 14.7 là phiên bản được phát triễn lần thứ 7 trong năm 2014 của Xilinx
Sinh viên thực hiện: Trương Văn Đông – Bùi Quốc Tín Người hướng dẫn: TS Nguyễn Thị Khánh Hồng 18