Tổng quan nghiên cứu

Trong kỹ thuật điều khiển tự động hiện đại, các tác vụ tính toán xử lý tín hiệu số và đại số tuyến tính như phép nhân ma trận, phép nhân chập, tính tích vô hướng và bộ lọc số thường chiếm từ 70% đến 80% tổng tài nguyên tính toán của toàn hệ thống. Đối với các bộ vi xử lý tuần tự truyền thống (CPU), việc thực thi các vòng lặp tính toán lặp đi lặp lại đòi hỏi liên tục các chu kỳ giải mã lệnh và kiểm tra điều kiện rẽ nhánh, gây lãng phí nghiêm trọng xung nhịp và năng lượng. Mặc dù vi mạch chuyên dụng ASIC mang lại hiệu năng đỉnh cao với hiệu suất nguồn vượt trội đạt trên 100 GOPS/W, chi phí sản xuất ban đầu rất lớn cùng việc thiếu tính linh hoạt phần cứng khiến giải pháp này khó thích ứng với các thay đổi thuật toán. Ngược lại, vi mạch mảng phần tử logic khả trình FPGA cung cấp khả năng tái cấu hình linh hoạt nhưng lại tiêu tốn tới 80% diện tích chip cho mạng lưới kết nối định tuyến mức bit (fine-grained), dẫn đến suy giảm hiệu suất năng lượng.

Nghiên cứu này giải quyết bài toán cân bằng giữa hiệu năng tính toán, tính mềm dẻo và độ phức tạp thiết kế thông qua việc nghiên cứu thiết kế mảng tái cấu hình kiến trúc thô CGRA (Coarse Grain Reconfigurable Architecture) chuyên biệt cho kỹ thuật điều khiển. Mục tiêu trọng tâm là xây dựng lõi tính toán RCA (Reconfigurable Cell Array) ở mức truyền thanh ghi RTL bằng ngôn ngữ VHDL có khả năng tái cấu hình động theo ngữ cảnh, kết hợp khối điều khiển CGRA_CTRL hoạt động theo cơ chế đường ống (pipeline). Được triển khai và đánh giá trong giai đoạn năm 2015 tại Trường Đại học Công nghệ – Đại học Quốc gia Hà Nội, công trình mang lại giải pháp kiến trúc tăng tốc phần cứng với độ rộng dữ liệu 32-bit, lưu trữ sẵn 128 ngữ cảnh cấu hình, giúp giảm 57,14% độ trễ xung nhịp thực thi cho các phép toán vector cơ bản và đáp ứng thời gian thực cho các hệ thống điều khiển số.

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

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng trên nền tảng lý thuyết tính toán song song nhiều lớp (Multi-layer Parallel Computing) và nguyên lý kiến trúc tái cấu hình thô (Coarse-Grained Reconfigurable Computing). Khác với kiến trúc tinh xử lý mức bit của FPGA, kiến trúc CGRA vận hành trên các khối tính toán mức từ dữ liệu (word-level) phức tạp như ALU và bộ nhân số học, giúp cắt giảm đáng kể tài nguyên kết nối định tuyến và tối ưu hóa mật độ tính toán trên mỗi đơn vị diện tích silicon.

Bên cạnh đó, đề tài phân tích và kế thừa kinh nghiệm kiến trúc từ 3 mô hình CGRA tiêu biểu trên thế giới:

  1. Mô hình MorPhoSys: Kiến trúc kết hợp mảng 8x8 phần tử xử lý RC với bộ xử lý trung tâm TinyRISC 32-bit và bộ đệm khung dữ liệu.
  2. Mô hình ADRES: Tích hợp mảng tái cấu hình trực tiếp vào cấu trúc thực thi lệnh rất dài VLIW để gia tốc các vòng lặp tính toán.
  3. Mô hình REMUS: Kiến trúc SoC đa phương tiện sử dụng 2 đơn vị RPU dạng lõi IP giao tiếp qua bus hệ thống chuẩn AHB.

Từ các cơ sở trên, luận văn xác lập 4 khái niệm và khối kiến trúc cốt lõi:

  • Lõi mảng tế bào tái cấu hình RCA: Tập hợp các phần tử xử lý PE được tổ chức theo cấu trúc tuần tự từng hàng (row-by-row), cho phép mở rộng quy mô thông qua việc tham số hóa số hàng và số cột.
  • Phần tử xử lý PE: Đơn vị tính toán cơ bản tích hợp khối luồng dữ liệu DATAPATH hỗ trợ tập lệnh lên đến 16 mã lệnh số học và logic, bộ định tuyến Router điều khiển bằng bộ dồn kênh MUX, bộ tích lũy ngõ ra ACC và thanh ghi cấu hình CONF_REG 32-bit.
  • Khối lưu trữ ngữ cảnh CONTEXT_CONF_MEM: Bộ nhớ cấu hình dung lượng 128 trang ngữ cảnh độc lập, cho phép nạp cấu hình mới song song với quá trình thực thi phép toán hiện tại mà không làm gián đoạn hệ thống.
  • Cấu trúc bộ nhớ đệm CACHE: Thiết kế RAM 2 cổng đọc/ghi độc lập với bus dữ liệu 32-bit, phục vụ quá trình truyền nhận dữ liệu đồng thời giữa mảng RCA và bus hệ thống Avalon.

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

Phương pháp nghiên cứu kết hợp chặt chẽ giữa phân tích toán học lý thuyết, mô hình hóa phần cứng mức RTL và kiểm thử mô phỏng số chu kỳ chính xác (cycle-accurate simulation). Dữ liệu kiểm thử được tạo lập theo phương pháp tạo mẫu ngẫu nhiên phân tầng (stratified random sampling) trên phần mềm MATLAB với cỡ mẫu gồm 3 khối dữ liệu thực nghiệm tiêu chuẩn: 1024, 2048 và 4096 phần tử số thực biểu diễn dưới dạng fixed-point 32-bit (với 16-bit phần nguyên và 16-bit phần thập phân).

Lý do lựa chọn quy mô mẫu từ 1024 đến 4096 phần tử cùng phương pháp đối chuẩn sóng tín hiệu (waveform verification) là nhằm đánh giá chính xác hiệu ứng bão hòa đường ống dữ liệu, kiểm tra dung lượng hàng đợi đệm CACHE và đo lường xung nhịp thực thi thực tế khi chuyển giao dữ liệu qua bus hệ thống có độ rộng 32-bit. Toàn bộ thiết kế RTL của lõi RCA và các khối hành vi điều khiển CGRA_CTRL được mô tả bằng ngôn ngữ VHDL, tổng hợp và mô phỏng kiểm thử trên phần mềm Mentor Graphics ModelSim trong suốt timeline nghiên cứu 12 tháng của đề tài. Kết quả đầu ra từ ModelSim được đối chiếu trực tiếp với kết quả tính toán giải tích chuẩn trên MATLAB để xác minh tính toàn vẹn chức năng.

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

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

Quá trình mô phỏng kiểm thử lõi RCA cấu hình 4x4 và mảng hoàn chỉnh 8x8 trên môi trường ModelSim đã chứng minh những ưu thế vượt trội về mặt hiệu năng và tính linh hoạt:

  1. Tối ưu hóa chu kỳ thực thi phép toán tổng vector: Đối với phép tính tổng 8 phần tử, kiến trúc song song phân tầng trên RCA hoàn thành phép toán chỉ trong đúng 3 xung nhịp đồng hồ, trong khi cách tiếp cận tuần tự trên ALU truyền thống phải tiêu tốn 7 xung nhịp liên tiếp. Mức độ giảm thiểu thời gian trễ đạt 57,14%. Khi mở rộng chuỗi dữ liệu đầu vào lên kích thước N phần tử theo kỹ thuật đường ống, tổng số xung nhịp thực thi tuân theo công thức tuyến tính tối ưu (N/8 + 4) chu kỳ.

  2. Gia tốc vượt trội phép tính tích vô hướng: Phép toán tích vô hướng của hai vector 4 chiều được thực hiện trọn vẹn trong 3 xung nhịp (thay vì 7 xung nhịp tuần tự), giảm 57,14% chu kỳ thực thi. Đối với vector N chiều, cấu hình đường ống xử lý theo công thức (N/4 + 4) xung nhịp, cho phép tính toán đồng thời các phép nhân và cộng dồn trung gian ở các tầng PE liên tiếp.

  3. Xử lý thời gian thực bộ lọc số và thuật toán điều khiển: Mô phỏng bộ lọc FIR bậc 3 (4 hệ số lọc gồm 21, 13, 13, 21) cho thấy tín hiệu đầu ra được triệt tiêu hoàn toàn nhiễu tần số cao, bám sát đáp ứng lý thuyết. Đồng thời, mô hình vòng điều khiển tỷ lệ - tích phân (PI Controller) với giá trị đặt Setpoint SP = 100000 vận hành ổn định trên định dạng số fixed-point 32-bit, giúp tín hiệu hồi tiếp điều khiển tiệm cận ngưỡng thiết lập nhanh chóng dưới cả hai trường hợp hệ số khuếch đại Kp, Ki nhỏ (0,005) và lớn (0,5).

  4. Hiệu quả chuyển đổi ngữ cảnh không trễ: Nhờ tệp thanh ghi cấu hình trung gian RCA_REG_FILE kết hợp bộ nhớ 128 ngữ cảnh, quá trình ghi dữ liệu cấu hình mới diễn ra song song hoàn toàn với quá trình thực thi phép toán của cấu hình hiện tại, loại bỏ hoàn toàn hiện tượng nghẽn cấu hình (reconfiguration overhead) thường gặp trên FPGA.

Thảo luận kết quả

Nguyên nhân cốt lõi giúp CGRA đạt được hiệu năng cao là việc loại bỏ hoàn toàn các lệnh rẽ nhánh kiểm tra điều kiện lặp của CPU, thay vào đó là luồng dữ liệu truyền thẳng (feed-forward) qua các hàng RCA_Row. Các phép toán được kết nối theo dạng cây rút gọn nhiều lớp (reduction tree), biến cấu trúc lặp For-Loop thành các tầng xử lý song song phần cứng cố định trong từng nhịp đồng hồ.

Trong các báo cáo phân tích, dữ liệu hiệu năng được thể hiện trực quan qua bảng so sánh số lượng xung nhịp thực thi giữa CGRA, vi xử lý Nios II Fast Core (chạy trên kit Altera Stratix IV DE4) và chip xử lý tín hiệu số chuyên dụng DSP TMS320C6678 (8 lõi DSP của Texas Instruments) trên các tập mẫu 1024, 2048 và 4096 từ dữ liệu. Giản đồ sóng tín hiệu trên cửa sổ Wave của ModelSim minh họa rõ nét dạng sóng sau bộ cộng cửa sổ trượt (Moving Window kích thước N=10), trong đó các xung gai nhiễu được làm mịn hoàn toàn mà không làm méo dạng tín hiệu xung vuông gốc.

So với các kiến trúc kết nối dạng lưới 2 chiều phức tạp như MorPhoSys, kiến trúc kết nối tuần tự theo hàng (row-by-row) trong nghiên cứu này giúp cấu trúc bộ định tuyến Router trong PE trở nên gọn nhẹ hơn, chỉ cần sử dụng các bộ dồn kênh MUX_N_1 và MUX_2_1 đơn giản. Mặc dù tính mềm dẻo trong việc định tuyến chéo bị giới hạn hơn so với dạng lưới, giải pháp này đặc biệt tối ưu cho các bài toán điều khiển tự động vốn có dòng dữ liệu truyền xuôi liên tục, giúp tiết kiệm đáng kể diện tích vi mạch và giảm công suất tiêu thụ động.

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

Dựa trên các kết quả thiết kế và mô phỏng thực nghiệm, luận văn đưa ra 4 giải pháp hành động cụ thể nhằm hoàn thiện và thương mại hóa kiến trúc CGRA:

  1. Đóng gói lõi RCA thành chuẩn IP-Core công nghiệp: Đội ngũ kỹ sư thiết kế phần cứng tại các viện nghiên cứu cần chuẩn hóa giao diện ghép nối của CGRA_CTRL sang các chuẩn bus công nghiệp phổ biến như AMBA AXI4 hoặc Altera Avalon Bus. Mục tiêu là giảm 40% độ trễ giao tiếp bus giữa bộ nhớ ngoại và khối đệm CACHE, hoàn thành đóng gói IP-Core trong lộ trình 12 tháng.

  2. Xây dựng trình biên dịch tự động C-to-CGRA: Nhóm nghiên cứu phần mềm hệ thống nhúng cần phát triển một công cụ biên dịch tự động có khả năng phân tích mã nguồn C/C++, tự động trích xuất các vòng lặp song song và ánh xạ trực tiếp thành tập mã cấu hình 32-bit nạp vào bộ nhớ 128 ngữ cảnh. Timeline thực hiện dự kiến trong 18 tháng nhằm nâng cao năng suất lập trình cho các nhà phát triển ứng dụng điều khiển.

  3. Triển khai tổng hợp vật lý và kiểm thực trên silicon: Các đơn vị nghiên cứu bán dẫn cần tiến hành tổng hợp vi mạch (ASIC Physical Synthesis) trên tiến trình bán dẫn 28nm hoặc kiểm nghiệm thực tế trên kit FPGA thương mại (Stratix IV, Zynq-7000) nhằm đo lường chính xác diện tích chip thực tế và duy trì mức công suất tiêu thụ dưới 1,5W trước quý IV/2027.

  4. Mở rộng tập lệnh xử lý dấu phẩy động (Floating-Point): Kỹ sư thiết kế vi mạch cần tận dụng 3 bit dự phòng trong trường mã lệnh DATAPATH (CONF_REG[6:4]) để tích hợp thêm các phép toán số thực dấu phẩy động chuẩn IEEE-754 và các hàm kích hoạt phi tuyến, nâng độ chính xác tính toán của các thuật toán điều khiển thích nghi và điều khiển mờ lên 99,9% trong vòng 24 tháng.

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

Nội dung và kết quả nghiên cứu của luận văn mang lại giá trị thực tiễn cao cho 4 nhóm đối tượng chuyên môn:

  1. Kỹ sư thiết kế vi mạch số và hệ thống nhúng (IC/FPGA Design Engineers): Tiếp cận chi tiết toàn bộ mã nguồn VHDL mức RTL của lõi tính toán RCA, cấu trúc bộ định tuyến Router, bộ tích lũy ACC và khối điều khiển FSM để ứng dụng trực tiếp vào các dự án phát triển chip gia tốc phần cứng.
  2. Nhà nghiên cứu và giảng viên chuyên ngành Kỹ thuật Điện tử - Tự động hóa: Sử dụng tài liệu như một nguồn tham khảo học thuật chuyên sâu về các kiến trúc vi mạch tính toán tiên tiến (CGRA, VLIW, MorPhoSys, REMUS), phục vụ giảng dạy các học phần Thiết kế vi mạch số, Tính toán song song và Xử lý tín hiệu số.
  3. Kỹ sư phát triển giải pháp điều khiển tự động và robot: Tham khảo phương pháp ánh xạ các thuật toán kinh điển như bộ lọc FIR, vòng lặp điều khiển PI, thuật toán cửa sổ trượt lên cấu trúc phần cứng mảng song song nhằm tối ưu hóa độ trễ thời gian thực cho các hệ thống truyền động động cơ và xe tự hành.
  4. Học viên cao học và sinh viên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông: Nắm vững quy trình thiết kế vi mạch chuẩn từ phân tích thuật toán, mô hình hóa RTL, xây dựng testbench mô phỏng trên ModelSim cho đến phương pháp kiểm thử đối chuẩn với phần mềm MATLAB trên các tập mẫu lớn từ 1024 đến 4096 phần tử.

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

  1. Kiến trúc CGRA khác biệt như thế nào so với vi mạch FPGA và ASIC trong kỹ thuật điều khiển? CGRA nằm ở vị trí cân bằng giữa FPGA và ASIC. Khác với FPGA xử lý mức bit gây lãng phí diện tích định tuyến, CGRA xử lý dữ liệu mức từ (32-bit), giúp đạt hiệu năng cao và tiết kiệm điện năng hơn FPGA. So với ASIC có kiến trúc phần cứng cố định, CGRA sở hữu khả năng cấu hình lại linh hoạt thông qua 128 ngữ cảnh nhớ, thích ứng hoàn hảo với nhiều thuật toán điều khiển khác nhau.

  2. Vì sao nghiên cứu lại chọn kết nối theo hàng (row-by-row) thay vì dạng lưới ô cờ (2D Mesh)? Kết nối dạng lưới 2D rất linh hoạt nhưng đòi hỏi cấu trúc bộ định tuyến phức tạp và thuật toán điều khiển định tuyến cồng kềnh. Trong kỹ thuật điều khiển, các phép toán vector như tích chập, lọc số và nhân ma trận chủ yếu xử lý theo luồng dữ liệu một chiều phân tầng. Cấu trúc row-by-row giúp đơn giản hóa mạch ghép kênh MUX, giảm diện tích chip và tối ưu tốc độ xung nhịp.

  3. Cơ chế cấu hình song song không trễ của mảng RCA hoạt động như thế nào? RCA sử dụng tệp thanh ghi cấu hình độc lập RCA_REG_FILE kết hợp với thanh ghi cấu hình CONF_REG trong từng phần tử PE. Khi hệ thống đang thực hiện tính toán ở cấu hình cũ, dữ liệu cấu hình mới cho toàn bộ các hàng PE sẽ được nạp ngầm vào tệp thanh ghi. Khi hoàn tất chu kỳ, tín hiệu CONF_DONE_I sẽ kích hoạt nạp đồng loạt cấu hình mới vào PE chỉ trong 1 xung nhịp.

  4. Phương pháp kiểm thử kết hợp ModelSim và MATLAB có ưu điểm gì trong thiết kế vi mạch? Phương pháp này giúp tự động hóa quá trình xác thực phần cứng với độ tin cậy tuyệt đối. MATLAB đảm nhận vai trò sinh chuỗi dữ liệu mẫu ngẫu nhiên (1024 đến 4096 phần tử) và tính toán kết quả giải tích chuẩn. Kết quả mô phỏng RTL chu kỳ chính xác trên ModelSim được xuất ra tệp dữ liệu để đối chiếu tự động với MATLAB, giúp phát hiện sớm mọi lỗi sai lệch bit hoặc tràn số.

  5. Lõi RCA_4x4 có thể mở rộng lên các kích thước lớn hơn như 8x8 hoặc 16x16 được không? Có thể mở rộng hoàn toàn dễ dàng. Toàn bộ mã nguồn VHDL của RCA được thiết kế theo dạng tham số hóa (generic/parameterized) với các tham số cấu hình như DATA_WIDTH, NUM_OF_ROW, NUM_OF_COL và NUM_OF_PE. Nhà thiết kế chỉ cần thay đổi giá trị tham số mà không cần phải viết lại cấu trúc kết nối bên trong của các khối PE hay RCA_Row.

Kết luận

  • Xây dựng thành công mô hình mảng tái cấu hình kiến trúc thô CGRA hoàn chỉnh, chuyên biệt hóa cho các thuật toán vector và xử lý tín hiệu trong kỹ thuật điều khiển.
  • Thiết kế chi tiết ở mức truyền thanh ghi RTL cho lõi tính toán RCA tham số hóa với tập lệnh 16 phép toán số học, logic và cơ chế định tuyến linh hoạt trên từng phần tử PE.
  • Tối ưu hóa khối điều khiển CGRA_CTRL với bộ nhớ 128 ngữ cảnh cấu hình động và vùng đệm CACHE 2 cổng, cho phép chuyển đổi cấu hình song song và xóa bỏ thời gian trễ nạp phần cứng.
  • Chứng minh tính ưu việt qua mô phỏng với mức giảm 57,14% chu kỳ thực thi ở phép toán tổng và tích vô hướng vector, đồng thời kiểm chứng thành công bộ lọc FIR 4 hệ số và vòng lặp PI trên định dạng fixed-point 32-bit.
  • Hoàn thiện phương pháp luận kiểm thử tích hợp giữa ModelSim và MATLAB trên các khối dữ liệu chuẩn từ 1024 đến 4096 phần tử, đảm bảo tính chuẩn xác cho việc phát triển vi mạch.

Đóng góp quan trọng nhất của luận văn là đã đề xuất một giải pháp kiến trúc phần cứng khả thi, lấp đầy khoảng trống kỹ thuật giữa FPGA và ASIC về mặt hiệu năng và tính mềm dẻo. Lộ trình phát triển tiếp theo bao gồm việc hoàn thiện trình biên dịch tự động C-to-CGRA trong vòng 18 tháng và tiến tới chế tạo thử nghiệm trên công nghệ bán dẫn 28nm trước năm 2028. Các nhà nghiên cứu và kỹ sư phát triển hệ thống nhúng quan tâm có thể khai thác mô hình kiến trúc RCA này để tăng tốc các ứng dụng điều khiển thời gian thực và xử lý tín hiệu số hiệu năng cao.