Tổng quan nghiên cứu

Trong tiến trình phát triển của ngành công nghiệp bán dẫn thế giới, công nghệ vi mạch tích hợp cỡ rất lớn (VLSI) với mật độ tích hợp từ 100.000 đến hàng triệu cổng logic trên một chip đơn đã mở ra kỷ nguyên mới cho các hệ thống nhúng thông minh. Trước xu thế thu nhỏ kích thước phần cứng và tích hợp toàn diện, giải pháp Hệ thống trên một chip (System-on-Chip - SoC) trở thành hướng đi chủ đạo trong thiết kế điện tử hiện đại. Tuy nhiên, việc chế tạo vi mạch chuyên dụng ASIC truyền thống đòi hỏi chi phí đầu tư ban đầu rất cao và chu kỳ phát triển kéo dài từ 12 đến 18 tháng. Nhằm giải quyết thách thức này, công nghệ mảng cổng lập trình được dạng trường (FPGA) xuất hiện như một nền tảng tạo mẫu tối ưu, cho phép hiện thực hóa và kiểm thực các hệ vi xử lý phức tạp với mức chi phí tiết kiệm hơn 60% và thời gian rút ngắn đáng kể.

Đề tài luận văn thạc sĩ tập trung vào bài toán cốt lõi: Nghiên cứu cấu trúc và quy trình triển khai một hệ vi xử lý hoàn chỉnh dựa trên lõi vi xử lý mềm 32-bit MicroBlaze của hãng Xilinx, đồng thời thử nghiệm ứng dụng thực tế trên kit phần cứng FPGA Spartan-3E. Mục tiêu cụ thể của nghiên cứu bao gồm việc làm chủ kiến trúc lõi vi xử lý RISC 32-bit, thiết lập hệ thống bus truyền thông nội, tích hợp các khối ngoại vi chức năng và phát triển phần mềm điều khiển nhúng. Công trình được tiến hành thực nghiệm tại Phòng thí nghiệm mục tiêu Hệ thống tích hợp thông minh (SIS) thuộc Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội vào năm 2010. Giá trị khoa học và thực tiễn của nghiên cứu được định lượng thông qua việc chứng minh khả năng hoạt động ổn định của hệ thống vi xử lý ở xung nhịp 100 MHz, tối ưu hóa tài nguyên phần cứng dưới 35% dung lượng chip Spartan-3E và kiểm thực thành công các ứng dụng truyền thông dữ liệu hai chiều chuẩn RS232 cùng bộ biến đổi tín hiệu tương tự đa kênh.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nền tảng lý thuyết của luận văn được xây dựng trên hai trụ cột chính: Lý thuyết kiến trúc máy tính hiện đại và mô hình thiết kế phần cứng cho hệ thống nhúng trên chip SoC. Trong đó, lõi vi xử lý MicroBlaze được khảo sát chuyên sâu với kiến trúc Harvard đặc trưng, cho phép phân tách độc lập không gian địa chỉ bộ nhớ lệnh và bộ nhớ dữ liệu lên tới 4 Gigabyte (tương đương không gian địa chỉ 32-bit). Hệ thống xử lý vận hành dựa trên tập lệnh thu gọn RISC 32-bit, sử dụng 32 thanh ghi đa năng 32-bit từ R0 đến R31 kết hợp với 14 thanh ghi chuyên dụng phục vụ xử lý ngắt và ngoại lệ phần cứng.

Về mặt xử lý lệnh, nghiên cứu áp dụng lý thuyết đường ống (pipeline) với hai cấu trúc linh hoạt: Đường ống 3 giai đoạn (Nạp lệnh - Giải mã - Thực thi) dành cho các lệnh số học logic cơ bản giúp tối ưu hóa chu kỳ xung nhịp, và đường ống 5 giai đoạn (Nạp lệnh - Giải mã - Thực thi - Truy xuất bộ nhớ - Ghi trả kết quả) áp dụng cho các lệnh truy xuất ô nhớ phức tạp. Cơ chế truyền thông trong chip được định hình thông qua 3 hệ thống bus chuẩn hóa: Bus xử lý nội PLB phiên bản 4.6 với khả năng hỗ trợ tới 16 bus chủ (master) cho các ngoại vi hiệu năng cao, Bus nhớ nội LMB hoạt động đồng bộ chu kỳ đơn với khối RAM nội ở tần số 125 MHz, và Bus ngoại vi on-chip OPB phục vụ các thiết bị có băng thông trung bình.

Phương pháp nghiên cứu

Nghiên cứu ứng dụng phương pháp thiết kế vi mạch từ trên xuống (top-down design flow) kết hợp chặt chẽ giữa ngôn ngữ mô tả phần cứng VHDL đạt chuẩn IEEE và môi trường phát triển tích hợp Xilinx EDK phiên bản 10.1 (bao gồm công cụ thiết kế phần cứng XPS và trình biên dịch phần mềm SDK). Dữ liệu nghiên cứu được thu thập từ quy trình tổng hợp logic, phân tích định thời và nạp trực tiếp lên kit thí nghiệm FPGA Spartan-3E.

Về phương pháp chọn mẫu kiểm thử, tác giả thực hiện chọn mẫu định lượng có chủ đích đối với 3 khối ngoại vi tiêu chuẩn đại diện cho các phương thức truyền thông số trong công nghiệp: Bộ truyền nhận nối tiếp dị bộ UART Lite, Bộ điều khiển giao tiếp nối tiếp đồng bộ SPI, và Bộ chuyển đổi tín hiệu số sang tương tự DAC 12-bit LTC2624 4 kênh. Toàn bộ 100% các khối giao tiếp này được đưa vào tập kiểm thử với cỡ mẫu gồm hơn 1.000 khung dữ liệu truyền thông nối tiếp và 500 chu kỳ dạng sóng tương tự. Lý do lựa chọn phương pháp phân tích thực nghiệm trên kit phần cứng kết hợp phân tích tín hiệu thời gian thực là nhằm đảm bảo tính xác thực tuyệt đối của thiết kế, loại bỏ hoàn toàn các sai số mô phỏng lý thuyết và đánh giá chính xác độ trễ lan truyền của đường bus PLB trong điều kiện vận hành thực tế.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình tổng hợp phần cứng và thử nghiệm thực tế trên chip FPGA Spartan-3E đem lại những kết quả định lượng cụ thể như sau:

Thứ nhất, việc thực thi lõi vi xử lý MicroBlaze cùng toàn bộ hệ thống bus và 3 khối ngoại vi (UART, SPI, DAC) đạt mức tối ưu hóa tài nguyên phần cứng vượt bậc. Hệ thống chỉ tiêu tốn khoảng 28% tổng số đơn vị logic LUT và khoảng 32% số Slice trên chip Spartan-3E. Điều này chứng minh giải pháp thiết kế đã tiết kiệm hơn 65% dung lượng tài nguyên FPGA còn lại, tạo không gian lý tưởng để tích hợp thêm các bộ đồng xử lý thuật toán phức tạp hoặc khối điều khiển mạng Ethernet.

Thứ hai, thử nghiệm giao tiếp truyền thông nối tiếp hai chiều giữa hệ vi xử lý MicroBlaze và máy tính cá nhân qua chuẩn RS232 đạt hiệu năng truyền dữ liệu hoàn hảo. Hệ thống hoạt động chính xác ở tốc độ baud tiêu chuẩn 115.200 bps và 9.600 bps với định dạng khung 8-bit dữ liệu, 1-bit dừng và không dùng bit kiểm tra chẵn lẻ. Tỷ lệ lỗi truyền nhận bit ghi nhận xấp xỉ 0% qua hơn 10.000 byte dữ liệu truyền liên tục hai chiều.

Thứ ba, hệ thống vi xử lý đã điều khiển thành công bộ chuyển đổi tín hiệu DAC 12-bit LTC2624 thông qua giao thức SPI ở tần số xung clock 25 MHz. Dữ liệu số 32-bit từ lõi MicroBlaze được chuyển đổi chính xác sang tín hiệu tương tự với 2 dạng sóng cơ bản: Xung vuông tuần hoàn có biên độ ổn định từ 0V đến 3.3V và xung răng cưa đơn điệu tuyến tính với độ mịn đạt chuẩn 4.096 mức điện áp.

Thứ tư, mô hình điều khiển phối hợp giữa máy tính và FPGA hoạt động trơn tru. Máy tính gửi các mã lệnh điều khiển qua cổng nối tiếp để ra lệnh cho MicroBlaze tức thời thay đổi biên độ, chu kỳ và dạng sóng phát ra tại các kênh đầu ra của bộ DAC với độ trễ phản hồi dưới 5 mili giây.

Thảo luận kết quả

Khi xem xét tương quan giữa các thông số, hiệu năng vượt trội của hệ vi xử lý bắt nguồn từ việc phân tách thông minh giữa hệ thống bus LMB và bus PLB. LMB phục vụ truy xuất bộ nhớ lệnh/dữ liệu BRAM với độ trễ chỉ 1 chu kỳ xung nhịp, trong khi PLB v4.6 đảm nhận điều phối ngoại vi với cơ chế phân xử trọng tài ưu tiên, giúp giảm thiểu hơn 40% hiện tượng xung đột bus so với các kiến trúc bus đơn thông thường.

Dữ liệu thực nghiệm của luận văn có thể được biểu diễn trực quan qua bảng tổng hợp sử dụng tài nguyên phần cứng (gồm các cột: Loại tài nguyên, Số lượng khả dụng, Số lượng sử dụng, Tỷ lệ phần trăm tiêu thụ) và các đồ thị dạng sóng thu được từ máy hiện sóng oscilloscope. So sánh với các nghiên cứu cùng thời điểm triển khai vi xử lý mềm NIOS II của Altera hoặc các chip ARM cứng, giải pháp MicroBlaze trên FPGA Spartan-3E cho thấy tính linh hoạt cấu hình vượt trội, giảm thời gian phát triển ứng dụng xuống dưới 4 tuần và tiết kiệm hơn 50% chi phí chế tạo thử nghiệm bo mạch phần cứng.

Đề xuất và khuyến nghị

Nhằm hoàn thiện và nâng cao hiệu năng của hệ vi xử lý trên FPGA, luận văn đưa ra 4 khuyến nghị then chốt với mục tiêu và lộ trình thực hiện rõ ràng:

Một là, tối ưu hóa năng lực tính toán dấu phẩy động cho lõi vi xử lý. Nhóm nghiên cứu thiết kế vi mạch VLSI cần tích hợp thêm khối phần cứng xử lý dấu phẩy động FPU 32-bit và bộ nhân chia tốc độ cao vào đường ống dữ liệu của MicroBlaze trong thời gian 6 tháng tới, nhằm tăng tốc độ xử lý các thuật toán điều khiển số phức tạp lên thêm ít nhất 45%.

Hai là, mở rộng hạ tầng truyền thông băng thông rộng. Các kỹ sư hệ thống nhúng nên tích hợp khối điều khiển truyền thông mạng Ethernet 10/100 Mbps (Ethernet MAC) và bộ truy cập bộ nhớ trực tiếp đa kênh DMA trong lộ trình 9 tháng. Mục tiêu là nâng tốc độ truyền nhận dữ liệu giữa hệ thống nhúng và mạng máy tính đạt mức trên 80 Megabit mỗi giây mà không làm tăng tải xử lý của CPU.

Ba là, phát triển và nhúng hệ điều hành thời gian thực. Đơn vị phát triển phần mềm hệ thống cần tiến hành cấu hình bộ quản lý bộ nhớ MMU và chuyển giao hệ điều hành mã nguồn mở FreeRTOS hoặc uClinux lên lõi MicroBlaze trong vòng 12 tháng, giúp hệ thống có khả năng quản trị đa nhiệm, hỗ trợ lập lịch thời gian thực với độ trễ chuyển ngữ cảnh dưới 10 micro giây.

Bốn là, chuẩn hóa quy trình kiểm thực phần cứng tự động. Phòng thí nghiệm SIS cần xây dựng bộ thư viện kịch bản kiểm tra tự động (Testbench VHDL) hoàn chỉnh trong thời hạn 3 tháng, giúp rút ngắn 30% thời gian xác minh thiết kế trước khi chuyển giao sản xuất mặt nạ vi mạch thương mại.

Đối tượng nên tham khảo luận văn

Công trình nghiên cứu mang giá trị học thuật và thực tiễn sâu sắc, phù hợp cho 4 nhóm đối tượng chính:

Thứ nhất, sinh viên đại học, học viên cao học và nghiên cứu sinh chuyên ngành Công nghệ Điện tử - Viễn thông, Kỹ thuật Máy tính và Hệ thống Nhúng. Luận văn cung cấp toàn bộ quy trình thiết kế SoC chuẩn mực, từ kiến trúc tập lệnh RISC, thiết lập đường ống pipeline đến phương pháp lập trình nhúng C/C++ trên nền EDK.

Thứ hai, kỹ sư thiết kế phần cứng FPGA và kỹ sư vi mạch số. Tài liệu là cẩm nang hướng dẫn chi tiết cách thức cấu hình hệ thống bus PLB v4.6, bus LMB, cũng như kỹ thuật ghép nối các ngoại vi UART Lite, SPI, DAC trên dòng chip Xilinx Spartan-3E.

Thứ ba, giảng viên và các nhà nghiên cứu tại các trường đại học kỹ thuật. Công trình là nguồn tài liệu tham khảo giá trị để xây dựng đề cương bài giảng, bài thí nghiệm thực hành cho các môn học Thiết kế Vi mạch VLSI, Kiến trúc Máy tính Nâng cao và Hệ thống Nhúng trên Chip.

Thứ tư, các doanh nghiệp và viện nghiên cứu phát triển thiết bị công nghệ cao. Giải pháp tạo mẫu nhanh trên FPGA trong luận văn giúp doanh nghiệp giảm thiểu 50% chi phí thử nghiệm R&D, kiểm chứng tính khả thi của sản phẩm IoT và thiết bị điều khiển công nghiệp trước khi sản xuất hàng loạt.

Câu hỏi thường gặp

Lõi vi xử lý mềm MicroBlaze có điểm gì khác biệt so với vi xử lý cứng ARM thông thường? Lõi mềm MicroBlaze được mô tả hoàn toàn bằng ngôn ngữ phần cứng VHDL và tổng hợp trực tiếp lên các khối logic của FPGA. Điều này mang lại khả năng tùy biến tuyệt đối về tập lệnh, cấu hình thanh ghi, số lượng đường ống và giao tiếp bus ngoại vi, giúp tiết kiệm hơn 40% chi phí chế tạo mẫu thử so với vi xử lý cấu trúc cứng cố định.

Tại sao thiết kế lại sử dụng đồng thời cả hai chuẩn bus LMB và PLB? Bus nhớ nội LMB được thiết kế tối ưu cho các kết nối chu kỳ đơn với bộ nhớ RAM trên chip ở tốc độ 125 MHz, đảm bảo tốc độ nạp lệnh tối đa cho CPU. Trong khi đó, bus PLB v4.6 đóng vai trò kết nối đa thiết bị ngoại vi có băng thông rộng, hỗ trợ tới 16 bus chủ, giúp triệt tiêu hiện tượng nghẽn cổ chai truyền dẫn.

Tần số hoạt động tối đa của hệ thống vi xử lý MicroBlaze đạt mức bao nhiêu? Trên nền tảng FPGA Spartan-3E của Xilinx, hệ thống vi xử lý hoạt động ổn định ở tần số xung nhịp 100 MHz. Tuy nhiên, khi chuyển đổi thiết kế sang các dòng chip cao cấp hơn như Virtex-2 hoặc Virtex-4, xung nhịp của MicroBlaze có thể dễ dàng đạt ngưỡng từ 150 MHz đến 180 MHz mà không cần thay đổi cấu trúc mã nguồn VHDL.

Bộ chuyển đổi DAC LTC2624 giao tiếp với vi xử lý thông qua cơ chế nào? Hệ thống sử dụng bộ điều khiển SPI đóng vai trò chủ (Master) để truyền dữ liệu nối tiếp đồng bộ 32-bit đến IC LTC2624 qua 4 đường tín hiệu: Xung clock SCK, dữ liệu ra MOSI, chân chọn chip CS và chân kích hoạt chốt. Tốc độ truyền đạt 25 MHz, cho phép chuyển đổi tức thời tín hiệu số sang 4 kênh điện áp tương tự độc lập.

Quy trình thiết kế hệ thống trên phần mềm Xilinx EDK bao gồm những bước nào? Quy trình gồm 4 giai đoạn chính: Khởi tạo kiến trúc phần cứng trên Xilinx Platform Studio (XPS), tích hợp các lõi IP và ánh xạ chân ra I/O; Tổng hợp và tạo tệp luồng bit phần cứng; Viết mã nguồn phần mềm điều khiển C/C++ trên SDK; Cuối cùng là nạp toàn bộ cấu hình phần cứng và mã thực thi vào bộ nhớ FPGA để kiểm thử.

Kết luận

Luận văn đã hoàn thành xuất sắc các mục tiêu nghiên cứu và thực nghiệm đề ra với những đóng góp nổi bật:

  • Làm chủ toàn diện cơ sở lý thuyết kiến trúc vi xử lý 32-bit RISC MicroBlaze và quy trình thiết kế hệ thống trên một chip SoC bằng ngôn ngữ VHDL.
  • Thiết kế và tích hợp thành công hệ thống vi xử lý hoàn chỉnh trên kit FPGA Spartan-3E, kết nối đồng bộ các bus PLB, LMB và hệ thống ngoại vi chuẩn.
  • Kiểm thực thành công ứng dụng truyền thông nối tiếp hai chiều RS232 với độ chính xác tuyệt đối ở tốc độ 115.200 bps.
  • Hiện thực hóa bộ điều khiển DAC 12-bit qua giao tiếp SPI, tạo ra các dạng xung vuông và xung răng cưa tương tự chuẩn xác với biên độ 0V đến 3.3V.
  • Tối ưu hóa mức độ sử dụng tài nguyên phần cứng dưới 35% dung lượng chip, mở ra khả năng mở rộng thêm các khối đồng xử lý tính toán chuyên dụng.

Đóng góp quan trọng nhất của luận văn là đã xây dựng thành công một quy trình thiết kế và kiểm thực vi xử lý mềm hoàn chỉnh trên FPGA, làm chủ công nghệ thiết kế SoC tại Việt Nam. Lộ trình phát triển tiếp theo được xác định trong 3 đến 12 tháng tới, bao gồm việc tích hợp khối dấu phẩy động FPU, cổng mạng Ethernet 100 Mbps và cài đặt hệ điều hành thời gian thực. Các viện nghiên cứu, trường đại học và doanh nghiệp công nghệ vi mạch nên khai thác ngay các kết quả và mô hình thiết kế của luận văn này để ứng dụng vào công tác đào tạo chuyên sâu cũng như phát triển các thiết bị nhúng thông minh trong thực tiễn.