- Hiểu rõ kiến trúc và nguyên lý hoạt động của hệ thống SoC.
- Thành thạo thiết kế phần cứng SoC với Verilog/VHDL.
- Sử dụng thành thạo các công cụ EDA của Xilinx (Vivado, Vitis) để thiết kế, phát triển và triển khai SoC.
- Lập trình và phát triển phần mềm nhúng cho SoC trên nền tảng ARM processor.
- Tích hợp các thành phần (bộ xử lý, bộ nhớ, ngoại vi, các khối IP) vào một hệ thống SoC hoàn chỉnh.
- Kiểm tra, xác minh và gỡ lỗi thiết kế SoC.
- Tối ưu hóa thiết kế SoC về mặt hiệu năng, diện tích và công suất.
- Triển khai hệ thống SoC trên nền tảng FPGA, đặc biệt là dòng Xilinx Zynq.
- Phát triển các ứng dụng nhúngChào mừng bạn đến với khóa học “Thiết Kế Hệ Thống Trên Chip (SoC) – Tích Hợp Tri Thức”! Trong thời đại bùng nổ của các thiết bị thông minh và hệ thống nhúng, Hệ thống trên chip (System-on-Chip – SoC) đã trở thành xu hướng thiết kế chủ đạo, cho phép tích hợp toàn bộ hệ thống (bao gồm bộ xử lý, bộ nhớ, các khối ngoại vi, và các module chức năng chuyên biệt) trên một vi mạch duy nhất. Khóa học này sẽ cung cấp cho bạn kiến thức chuyên sâu và kỹ năng thực tiễn trong việc thiết kế, phát triển và triển khai các SoC phức tạp, đặc biệt là trên nền tảng FPGA, giúp bạn tạo ra các hệ thống nhúng hiệu năng cao, linh hoạt và tiết kiệm năng lượng.
KKhóa Học Được Xây Dựng Bởi SmartIO Academy

I. NỘI DUNG CHÍNH (MAIN CONTENT):
Khóa học bao gồm các nội dung chính sau:
- Phần 1: Tổng Quan về SoC và Kiến Trúc Hệ Thống
- Phần 2: Thiết Kế Phần Cứng SoC với Verilog/VHDL
- Phần 3: Lập Trình và Phát Triển Phần Mềm Nhúng cho SoC
- Phần 4: Tích Hợp và Kiểm Tra, Xác Minh Hệ Thống SoC
- Phần 5: Tối Ưu Hóa Thiết Kế SoC
- Phần 6: Triển Khai và Ứng Dụng SoC
II. NỘI DUNG ĐƯỢC HỌC (LEARNING OUTCOMES & SCHEDULE):
Khóa học được thiết kế với thời lượng 60 giờ, bao gồm lý thuyết, bài tập, thực hành trên phần mềm và các dự án thiết kế. Dưới đây là nội dung chi tiết và thời gian học dự kiến cho từng phần:
Phần 1: Tổng Quan về SoC và Kiến Trúc Hệ Thống (8 giờ)
1.1. Giới Thiệu về System-on-Chip (SoC) (2 giờ)
- Khái niệm, đặc điểm và phân loại SoC.
- Ưu điểm và nhược điểm của SoC so với các giải pháp thiết kế khác.
- Các thành phần chính của SoC (bộ xử lý, bộ nhớ, bus, ngoại vi, các khối IP…).
- Các lĩnh vực ứng dụng của SoC (điện tử tiêu dùng, viễn thông, ô tô, y tế, IoT…).
1.2. Kiến Trúc Hệ Thống SoC (3 giờ)
- Các kiến trúc bộ xử lý phổ biến trong SoC (ARM Cortex-A, ARM Cortex-M, RISC-V…).
- Học viên sẽ được học các kiến thức: Đặc điểm, ưu nhược điểm của các kiến trúc bộ xử lý ARM Cortex-A, ARM Cortex-M, RISC-V.
- Hệ thống bộ nhớ (cache, RAM, ROM) và cơ chế quản lý bộ nhớ.
- Học viên sẽ được học các kiến thức: Các loại bộ nhớ, phân cấp bộ nhớ, cơ chế hoạt động của cache.
- Hệ thống bus (AMBA AXI, AHB, APB) và các giao thức truyền thông.
- Học viên sẽ được học các kiến thức: Các chuẩn bus phổ biến, nguyên lý hoạt động và các giao thức truyền thông.
- Các khối ngoại vi và giao tiếp (UART, SPI, I2C, USB, Ethernet…).
- Học viên sẽ được học các kiến thức: Chức năng và cách thức sử dụng các khối ngoại vi.
1.3. Thiết Kế Hệ Thống SoC trên Nền Tảng FPGA (3 giờ)
- Giới thiệu về FPGA và lợi ích của việc sử dụng FPGA để phát triển SoC.
- Giới thiệu về dòng Xilinx Zynq và kiến trúc kết hợp giữa ARM processor và FPGA fabric.
- Học viên sẽ được học các kiến thức: Kiến trúc của dòng Xilinx Zynq, cách thức kết hợp giữa ARM processor và FPGA.
- Các công cụ thiết kế SoC trên FPGA (Vivado, Vitis).
- Học viên sẽ được học các kiến thức: Giới thiệu về Vivado, Vitis và vai trò trong thiết kế SoC.
- Quy trình thiết kế SoC trên FPGA.
- Học viên sẽ được học các kiến thức: Các bước trong quy trình thiết kế SoC trên FPGA.
- Bài lab: Làm quen với giao diện Vivado, tạo project mới và cấu hình cơ bản cho Zynq.
- Phần mềm: Xilinx Vivado Design Suite.
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình trong bài lab này.
Phần 2: Thiết Kế Phần Cứng SoC với Verilog/VHDL (12 giờ)
2.1. Thiết Kế Bộ Xử Lý (Processor) Tùy Biến trên FPGA (4 giờ)
- Giới thiệu về MicroBlaze soft processor và các tùy chọn cấu hình.
- Học viên sẽ được học các kiến thức: Kiến trúc và cách thức tùy chỉnh MicroBlaze.
- Tạo và cấu hình MicroBlaze processor trong Vivado IP Integrator.
- Học viên sẽ được học các kiến thức: Sử dụng IP Integrator để tạo và cấu hình bộ xử lý.
- Bài lab: Tạo một hệ thống đơn giản với MicroBlaze, bộ nhớ và GPIO trong Vivado.
- Phần mềm: Xilinx Vivado Design Suite (IP Integrator).
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình, chủ yếu thao tác trên giao diện đồ họa.
- Kết nối MicroBlaze với các khối ngoại vi và bộ nhớ.
- Học viên sẽ được học các kiến thức: Cách kết nối bộ xử lý với các ngoại vi và bộ nhớ.
- Bài lab: Kết nối MicroBlaze với các ngoại vi (ví dụ: UART) và bộ nhớ.
- Phần mềm: Xilinx Vivado Design Suite (IP Integrator).
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình, chủ yếu thao tác trên giao diện đồ họa.
- Thực hành thiết kế hệ thống nhúng đơn giản với MicroBlaze.
- Học viên sẽ được học các kiến thức: Cách thức lập trình và debug cho MicroBlaze.
2.2. Thiết Kế Các Khối Ngoại Vi Tùy Chỉnh bằng Verilog/VHDL (4 giờ)
- Thiết kế các khối ngoại vi theo yêu cầu ứng dụng (ví dụ: bộ điều khiển LCD, bộ điều khiển động cơ, bộ giao tiếp cảm biến…).
- Học viên sẽ được học các kiến thức: Cách thiết kế các khối ngoại vi tùy chỉnh bằng Verilog/VHDL.
- Bài lab: Thiết kế một khối ngoại vi đơn giản (ví dụ: bộ điều khiển LED) bằng Verilog/VHDL.
- Phần mềm: Xilinx Vivado Design Suite, ModelSim.
- Ngôn ngữ: Verilog/VHDL.
- Tích hợp các khối ngoại vi vào hệ thống SoC.
- Học viên sẽ được học các kiến thức: Cách tích hợp các khối ngoại vi vào hệ thống SoC.
- Bài lab: Tích hợp khối ngoại vi đã thiết kế vào hệ thống SoC.
- Phần mềm: Xilinx Vivado Design Suite (IP Integrator).
- Ngôn ngữ: Verilog/VHDL.
- Kiểm tra và xác minh hoạt động của các khối ngoại vi.
- Học viên sẽ được học các kiến thức: Cách viết testbench để kiểm tra khối ngoại vi.
- Bài lab: Viết testbench và mô phỏng kiểm tra khối ngoại vi.
- Phần mềm: Xilinx Vivado Design Suite, ModelSim.
- Ngôn ngữ: Verilog/VHDL, Testbench.
2.3. Thiết Kế Hệ Thống Bộ Nhớ và Giao Tiếp (4 giờ)
- Thiết kế bộ điều khiển bộ nhớ (Memory Controller) cho các loại bộ nhớ khác nhau (SRAM, DDR SDRAM…).
- Học viên sẽ được học các kiến thức: Nguyên lý hoạt động và cách thiết kế bộ điều khiển bộ nhớ.
- Bài lab: Thiết kế bộ điều khiển bộ nhớ cho SRAM.
- Phần mềm: Xilinx Vivado Design Suite, ModelSim.
- Ngôn ngữ: Verilog/VHDL.
- Thiết kế hệ thống bus (AXI, Avalon…) để kết nối các thành phần trong SoC.
- Học viên sẽ được học các kiến thức: Cấu trúc và nguyên lý hoạt động của các chuẩn bus AXI, Avalon.
- Bài lab: Sử dụng AXI Interconnect để kết nối các thành phần trong SoC.
- Phần mềm: Xilinx Vivado Design Suite (IP Integrator).
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình, chủ yếu thao tác trên giao diện đồ họa.
- Tối ưu hóa hệ thống bộ nhớ và giao tiếp để đạt hiệu năng cao.
- Học viên sẽ được học các kiến thức: Các kỹ thuật tối ưu hóa hệ thống bộ nhớ và giao tiếp.
Phần 3: Lập Trình và Phát Triển Phần Mềm Nhúng cho SoC (12 giờ)
3.1. Giới Thiệu về Xilinx Vitis và SDK (2 giờ)
- Tổng quan về Xilinx Vitis Unified Software Platform.
- Giới thiệu về Vitis SDK (Software Development Kit) và các công cụ phát triển phần mềm nhúng.
- Cài đặt và cấu hình Vitis.
3.2. Lập Trình Ứng Dụng cho ARM Processor trên Zynq (4 giờ)
- Sử dụng Vitis để tạo project phần mềm cho ARM processor.
- Lập trình C/C++ cho ARM processor trên Zynq.
- Sử dụng các thư viện và driver cho các ngoại vi.
- Thực hành lập trình các ứng dụng đơn giản trên Zynq (ví dụ: điều khiển LED, đọc dữ liệu từ cảm biến…).
- Bài lab: Viết chương trình C/C++ điều khiển LED và đọc dữ liệu từ cảm biến trên Zynq.
- Phần mềm: Xilinx Vitis.
- Thiết bị: Zynq development board (ví dụ: ZedBoard, ZynqBerry).
- Ngôn ngữ: C/C++.
3.3. Lập Trình Giao Tiếp Giữa Phần Cứng (PL) và Phần Mềm (PS) trên Zynq (4 giờ)
- Sử dụng AXI Interface để kết nối giữa PL (Programmable Logic) và PS (Processing System).
- Lập trình driver cho các IP Core tùy chỉnh trên PL.
- Truy cập và điều khiển các IP Core từ phần mềm trên PS.
- Thực hành lập trình giao tiếp giữa PL và PS.
- Bài lab: Truyền dữ liệu giữa PL và PS thông qua AXI interface.
- Phần mềm: Xilinx Vivado Design Suite, Xilinx Vitis.
- Thiết bị: Zynq development board.
- Ngôn ngữ: C/C++, Verilog/VHDL.
3.4. Giới Thiệu về Hệ Điều Hành Nhúng (Embedded OS) cho SoC (2 giờ)
- Giới thiệu về các hệ điều hành nhúng (như FreeRTOS, embedded Linux).
- Lợi ích của việc sử dụng hệ điều hành nhúng.
- Triển khai ứng dụng trên nền tảng hệ điều hành nhúng.
Phần 4: Tích Hợp và Kiểm Tra, Xác Minh Hệ Thống SoC (8 giờ)
4.1. Tích Hợp Các Thành Phần của SoC (3 giờ)
- Kết nối các khối IP, bộ xử lý, bộ nhớ, ngoại vi… thành một hệ thống SoC hoàn chỉnh.
- Học viên sẽ được học các kiến thức: Cách thức tích hợp các thành phần của SoC lại với nhau.
- Sử dụng các công cụ EDA để tích hợp hệ thống (ví dụ: Vivado IP Integrator).
- Học viên sẽ được học các kiến thức: Sử dụng công cụ IP Integrator để tích hợp hệ thống.
- Thực hành tích hợp các thành phần vào một SoC.
- Bài lab: Tích hợp các module đã thiết kế (bộ xử lý, bộ nhớ, ngoại vi) thành một hệ thống SoC hoàn chỉnh trong Vivado.
- Phần mềm: Xilinx Vivado Design Suite (IP Integrator).
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình, chủ yếu thao tác trên giao diện đồ họa.
4.2. Xây Dựng Môi Trường Kiểm Tra, Xác Minh (Verification Environment) (3 giờ)
- Giới thiệu về các phương pháp kiểm tra, xác minh (verification) cho SoC.
- Học viên sẽ được học các kiến thức: Các phương pháp kiểm tra, xác minh chức năng và phi chức năng.
- Xây dựng testbench cho SoC sử dụng SystemVerilog và UVM (Universal Verification Methodology).
- Học viên sẽ được học các kiến thức: Cách xây dựng testbench cho SoC, giới thiệu về UVM.
- Thực hành xây dựng môi trường kiểm tra, xác minh cho SoC.
- Bài lab: Xây dựng testbench đơn giản cho SoC bằng SystemVerilog.
- Phần mềm: ModelSim, Questa, VCS, Incisive.
- Ngôn ngữ: SystemVerilog, UVM (giới thiệu).
4.3. Mô Phỏng và Gỡ Lỗi Hệ Thống SoC (2 giờ)
- Mô phỏng hoạt động của SoC sử dụng các công cụ mô phỏng (ModelSim, Questa, VCS, Incisive).
- Học viên sẽ được học các kiến thức: Cách thức mô phỏng toàn bộ hệ thống SoC.
- Phân tích dạng sóng và xác định lỗi.
- Học viên sẽ được học các kiến thức: Cách phân tích dạng sóng để tìm lỗi.
- Sử dụng các công cụ debug để gỡ lỗi thiết kế.
- Học viên sẽ được học các kiến thức: Cách sử dụng các công cụ debug trong môi trường mô phỏng.
- Thực hành mô phỏng và gỡ lỗi hệ thống SoC.
- Bài lab: Mô phỏng và gỡ lỗi hệ thống SoC đã thiết kế.
- Phần mềm: ModelSim, Questa, VCS, Incisive.
- Ngôn ngữ: SystemVerilog, Verilog/VHDL.
Phần 5: Tối Ưu Hóa Thiết Kế SoC (8 giờ)
5.1. Phân Tích Hiệu Năng Hệ Thống SoC (3 giờ)
- Đánh giá hiệu năng của SoC dựa trên các tiêu chí (tốc độ xử lý, thời gian đáp ứng, băng thông…).
- Học viên sẽ được học các kiến thức: Các tiêu chí đánh giá hiệu năng và cách thức đo lường.
- Sử dụng các công cụ phân tích hiệu năng (Performance Analysis Tools) trong Vivado.
- Học viên sẽ được học các kiến thức: Cách sử dụng các công cụ phân tích hiệu năng trong Vivado.
- Xác định các điểm nghẽn cổ chai (bottlenecks) trong hệ thống.
- Học viên sẽ được học các kiến thức: Cách xác định các điểm nghẽn cổ chai trong hệ thống.
- Thực hành phân tích hiệu năng hệ thống SoC.
- Bài lab: Phân tích hiệu năng của hệ thống SoC đã thiết kế.
- Phần mềm: Xilinx Vivado Design Suite.
- Ngôn ngữ: Không sử dụng ngôn ngữ lập trình, chủ yếu thao tác trên phần mềm.
5.2. Tối Ưu Hóa Hiệu Năng, Diện Tích và Công Suất (3 giờ)
- Tối ưu hóa thiết kế ở các mức độ khác nhau (kiến trúc, RTL, logic, vật lý).
- Học viên sẽ được học các kiến thức: Các phương pháp tối ưu hóa ở các mức độ thiết kế khác nhau.
- Tối ưu hóa việc sử dụng tài nguyên trên FPGA.
- Học viên sẽ được học các kiến thức: Cách tối ưu hóa việc sử dụng tài nguyên trên FPGA.
- Áp dụng các kỹ thuật tối ưu hóa công suất tiêu thụ (Clock Gating, Power Gating…).
- Học viên sẽ được học các kiến thức: Các kỹ thuật tối ưu hóa công suất tiêu thụ.
- Thực hành tối ưu hóa thiết kế SoC.
- Bài lab: Tối ưu hóa thiết kế SoC đã thực hiện ở các phần trước.
- Phần mềm: Xilinx Vivado Design Suite.
- Ngôn ngữ: Verilog/VHDL, TCL.
5.3. Tối Ưu Hóa cho Ứng Dụng Cụ Thể (2 giờ)
- Tối ưu hóa thiết kế SoC cho các ứng dụng IoT, xử lý ảnh, trí tuệ nhân tạo…
- Học viên sẽ được học các kiến thức: Các kỹ thuật tối ưu hóa cho từng ứng dụng cụ thể.
- Thảo luận về các case study tối ưu hóa SoC.
- Học viên sẽ được học các kiến thức: Phân tích các case study về tối ưu hóa SoC.
Phần 6: Triển Khai và Ứng Dụng SoC (6 giờ)
6.1. Triển Khai Hệ Thống SoC trên FPGA (3 giờ)
- Giới thiệu về quy trình triển khai SoC trên FPGA.
- Tạo file cấu hình (bitstream) cho FPGA.
- Nạp cấu hình xuống FPGA.
- Kiểm tra hoạt động của hệ thống SoC trên phần cứng.
- Bài lab: Triển khai hệ thống SoC đã thiết kế lên kit FPGA (ví dụ: ZedBoard).
- Phần mềm: Xilinx Vivado Design Suite.
- Thiết bị: ZedBoard (hoặc kit tương đương).
- Ngôn ngữ: Verilog/VHDL.
6.2. Phát Triển Ứng Dụng cho Hệ Thống SoC (3 giờ)
- Phát triển các ứng dụng nhúng trên nền tảng SoC đã thiết kế.
- Tích hợp các cảm biến, cơ cấu chấp hành và các thiết bị ngoại vi.
- Xây dựng các hệ thống điều khiển và giám sát dựa trên SoC.
- Thực hành phát triển ứng dụng cho hệ thống SoC.
- Bài lab: Phát triển một ứng dụng nhúng đơn giản trên SoC đã thiết kế (ví dụ: điều khiển robot, xử lý ảnh…).
- Phần mềm: Xilinx Vitis, Xilinx Vivado Design Suite.
- Thiết bị: ZedBoard (hoặc kit tương đương), cảm biến, cơ cấu chấp hành (tùy ứng dụng).
- Ngôn ngữ: C/C++, Verilog/VHDL.
III. BẠN SẼ BIẾT GÌ SAU KHI HỌC XONG? (KNOWLEDGE GAINED):
Sau khi hoàn thành khóa học, học viên sẽ có khả năng:
- Hiểu rõ kiến trúc và nguyên lý hoạt động của hệ thống SoC.
- Thành thạo thiết kế phần cứng SoC với Verilog/VHDL.
- Sử dụng thành thạo các công cụ EDA của Xilinx (Vivado, Vitis) để thiết kế, phát triển và triển khai SoC.
- Lập trình và phát triển phần mềm nhúng cho SoC trên nền tảng ARM processor.
- Tích hợp các thành phần (bộ xử lý, bộ nhớ, ngoại vi, các khối IP) vào một hệ thống SoC hoàn chỉnh.
- Kiểm tra, xác minh và gỡ lỗi thiết kế SoC.
- Tối ưu hóa thiết kế SoC về mặt hiệu năng, diện tích và công suất.
- Triển khai hệ thống SoC trên nền tảng FPGA, đặc biệt là dòng Xilinx Zynq.
- Phát triển các ứng dụng nhúng4.3/5 - (45 bình chọn)
Khóa Học Thiết Kế Hệ Thống Trên Chip (SoC) – Tích Hợp Tri Thức (System-on-Chip (SoC) Design)
Mục Lục Ẩn
- I. NỘI DUNG CHÍNH (MAIN CONTENT):
- II. NỘI DUNG ĐƯỢC HỌC (LEARNING OUTCOMES & SCHEDULE):
- Phần 1: Tổng Quan về SoC và Kiến Trúc Hệ Thống (8 giờ)
- Phần 2: Thiết Kế Phần Cứng SoC với Verilog/VHDL (12 giờ)
- Phần 3: Lập Trình và Phát Triển Phần Mềm Nhúng cho SoC (12 giờ)
- Phần 4: Tích Hợp và Kiểm Tra, Xác Minh Hệ Thống SoC (8 giờ)
- Phần 5: Tối Ưu Hóa Thiết Kế SoC (8 giờ)
- Phần 6: Triển Khai và Ứng Dụng SoC (6 giờ)
- III. BẠN SẼ BIẾT GÌ SAU KHI HỌC XONG? (KNOWLEDGE GAINED):




