Bối cảnh và vấn đề nghiên cứu

Trong những năm gần đây, các mô hình học sâu, đặc biệt là mạng nơ-ron tích chập (Convolutional Neural Network - CNN), đã khẳng định vai trò cốt lõi trong nhiều bài toán thị giác máy tính như nhận diện, phân loại ảnh, phân loại video và phát hiện đối tượng. Bên cạnh các ứng dụng xử lý ảnh hai chiều (2D), mạng nơ-ron tích chập một chiều (1D-CNN) ngày càng được ứng dụng rộng rãi trong lĩnh vực y sinh, tiêu biểu là việc phân tích tín hiệu điện tâm đồ (Electrocardiogram - ECG) và nhận diện phức bộ QRS (QRS complex) nhằm hỗ trợ chẩn đoán sớm các rối loạn tim mạch trong bối cảnh các bệnh lý tim mạch (CVDs) đang gia tăng và có xu hướng trẻ hóa.

Tuy nhiên, cấu trúc nhiều tầng của CNN đòi hỏi khối lượng tính toán rất lớn và phụ thuộc nặng nề vào tài nguyên phần cứng. Các bộ xử lý đồ họa (GPU) hay máy chủ hiệu năng cao tuy đáp ứng được năng lực tính toán song lại tiêu thụ nhiều năng lượng và chiếm diện tích vi mạch lớn. Thực tế này tạo ra rào cản lớn khi triển khai mô hình học sâu lên các hệ thống nhúng, thiết bị Internet vạn vật (IoT) và thiết bị đeo tay theo dõi sức khỏe cá nhân — nơi dung lượng pin và diện tích chip bị giới hạn nghiêm ngặt.

Trước yêu cầu đó, phương pháp tính toán ngẫu nhiên (Stochastic Computing - SC) xuất hiện như một hướng tiếp cận tiềm năng. SC biểu diễn dữ liệu dưới dạng chuỗi bit ngẫu nhiên (bitstream) dựa trên xác suất, cho phép thay thế các mạch nhân, cộng số học phức tạp bằng các cổng logic cơ bản (như AND, XNOR, MUX hoặc bộ đếm song song APC). Nhờ đó, phương pháp này giúp thu nhỏ diện tích phần cứng và giảm điện năng tiêu thụ với mức sụt giảm độ chính xác nằm trong ngưỡng chấp nhận được.

Mục tiêu nghiên cứu:

  1. Nghiên cứu nguyên lý tính toán ngẫu nhiên và các cấu trúc mạch số học ngẫu nhiên ứng dụng trong mạng nơ-ron tích chập.
  2. Thiết kế bộ gia tốc phần cứng trên FPGA và ASIC khai thác khả năng tính toán song song hoàn toàn (fully-parallel) của SC cho mô hình LeNet-5 và mô hình 1D-CNN phát hiện phức bộ QRS.
  3. Đề xuất giải pháp tối ưu hóa bộ tạo chuỗi số ngẫu nhiên (Galois LFSR), thuật toán tìm seed và chia sẻ phần cứng nhằm giảm thiểu sai số do tương quan chéo (cross-correlation).
  4. Hiện thực, kiểm thử và đo đạc thực nghiệm các thông số tài nguyên (LUT, FF), công suất tiêu thụ và tần số hoạt động trên bo mạch FPGA Xilinx ZCU102 và công cụ tổng hợp vi mạch ASIC.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kiến trúc bộ gia tốc phần cứng SC cho mô hình LeNet-5 (nhận diện chữ số viết tay) và mô hình 1D-CNN (phát hiện phức bộ QRS từ tín hiệu ECG).
  • Phạm vi dữ liệu: Tập dữ liệu ảnh chữ số viết tay MNIST và tập dữ liệu tín hiệu điện tâm đồ y tế MIT-BIH.
  • Phạm vi phần cứng: Bo mạch phát triển FPGA Xilinx Zynq UltraScale+ MPSoC ZCU102; môi trường tổng hợp logic ASIC sử dụng Synopsys Design Compiler.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên các nền tảng lý thuyết về mạng nơ-ron tích chập, xử lý tín hiệu điện tâm đồ và kỹ thuật tính toán ngẫu nhiên:

Mạng nơ-ron tích chập và mô hình 1D-CNN

  • Cấu trúc CNN: Gồm các lớp cơ bản: lớp tích chập (Convolutional Layer) trích xuất đặc trưng không gian thông qua các bộ lọc (kernel), lớp gộp (Pooling Layer - Max Pooling hoặc Average Pooling) giảm chiều dữ liệu và lớp kết nối toàn bộ (Fully-Connected Layer) kết hợp với lớp phân loại (Classification Layer).
  • Mô hình 1D-CNN: Khác với 2D-CNN có độ phức tạp tính toán tích chập xấp xỉ $O(N^2 K^2)$, 1D-CNN có độ phức tạp $O(NK)$ (với $N$ là kích thước chuỗi tín hiệu, $K$ là kích thước kernel), số lượng tham số thường dưới 10.000, rất phù hợp cho các luồng tín hiệu y sinh 1 chiều như ECG.
  • Mô hình LeNet-5: Cấu trúc chuẩn gồm đầu vào $32 \times 32$, 2 lớp tích chập (Conv1: 6 feature maps $28 \times 28$, kernel $5 \times 5$; Conv2: 16 feature maps $10 \times 10$, kernel $5 \times 5$), 2 lớp Max Pooling ($2 \times 2$, stride 2), 3 lớp Dense/FC (120, 84, 10 nơ-ron), hàm kích hoạt Tanh và ngõ ra phân loại với tổng cộng 61.706 tham số.
  • Tín hiệu ECG và phức bộ QRS: Tần số đỉnh R liên quan đến nhịp tim ($HR = 60 / \text{RR interval}$ tính theo giây). Nhịp tim bình thường dao động 60–100 bpm, dưới 60 bpm là nhịp tim chậm (Bradycardia), trên 100 bpm là nhịp tim nhanh (Tachycardia).

Nguyên lý tính toán ngẫu nhiên (Stochastic Computing)

Tính toán ngẫu nhiên biểu diễn giá trị thực thông qua tỷ lệ xuất hiện của bit 1 trong một chuỗi nhị phân:

  • Định dạng Unipolar (Đơn cực): Biểu diễn số thực không âm $0 \le x \le M$ qua xác suất $p_x$ với quan hệ $x = M \cdot p_x$.
  • Định dạng Bipolar (Lưỡng cực): Biểu diễn số thực trong khoảng $-M \le x \le M$ qua xác suất $p_x$ theo biểu thức $x = M(2p_x - 1)$, cho phép biểu diễn các giá trị âm của trọng số và hàm kích hoạt.
  • Hiện thực các phép toán số học:
    • Phép nhân: Thực hiện bằng cổng AND (định dạng Unipolar, $p_o = p_A \cdot p_B$) hoặc cổng XNOR (định dạng Bipolar).
    • Phép cộng: Thực hiện bằng cổng OR ($p_o = p_A + p_B - p_A p_B$) hoặc bộ dồn kênh MUX ($p_o = (1-s)p_A + s p_B$). Do MUX gây suy giảm biên độ (scaling down), khóa luận sử dụng bộ đếm song song tích lũy (Accumulation Parallel Counter - APC) và APC xấp xỉ để thực hiện phép cộng nhiều ngõ vào song song mà không làm mất mát độ chính xác.
    • Hàm kích hoạt: Hiện thực hàm Stanh (Hyperbolic Tangent) và hàm mũ Sexp dựa trên máy trạng thái hữu hạn (FSM).

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

Tác giả áp dụng phương pháp thiết kế vi mạch kỹ thuật số (Digital IC Design) và thiết kế hệ thống trên vi mạch (System on Chip - SoC):

  • Mô hình hóa thuật toán và huấn luyện mạng nơ-ron bằng phần mềm.
  • Thiết kế phần cứng RTL (Datapath và Controller) bằng ngôn ngữ mô tả phần cứng, ứng dụng cơ chế pipeline và kiến trúc song song hoàn toàn.
  • Kiểm thử chức năng, xác thực dạng sóng (waveform) và đo đạc hiệu năng thực tế trên FPGA ZCU102 kết hợp phần mềm điều khiển C/C++ chạy trên vi xử lý ARM Cortex-A53 qua giao thức AXI và kênh DMA.
  • Tổng hợp thiết kế bằng Synopsys Design Compiler để trích xuất báo cáo diện tích, công suất và tần số tối đa trên công nghệ ASIC.

Thiết kế và triển khai hệ thống phần cứng

Hệ thống gia tốc được thiết kế theo mô hình SoC dị thể phân chia giữa Hệ thống Xử lý (Processing System - PS) và Logic Khả trình (Programmable Logic - PL):

+-------------------------------------------------------------+
|               PROCESSING SYSTEM (PS)                       |
|   ARM Cortex-A53 (GNU/Linux / C/C++) <--> DDR4 Memory       |
|                             |                               |
|                     DMA Controller                          |
+-----------------------------|-------------------------------+
                              | AMBA AXI BUS
+-----------------------------v-------------------------------+
|               PROGRAMMABLE LOGIC (PL)                       |
|  +-------------------------------------------------------+  |
|  | Image / Signal Buffer & Multi-port LUT RAM            |  |
|  +-------------------------------------------------------+  |
|  | Galois LFSR Random Number Generators (10-bit)         |  |
|  +-------------------------------------------------------+  |
|  | Layer 1: Sliding Window, Address Calc, ROM,           |  |
|  |          Comparators, Parallel Multipliers, APC       |  |
|  +-------------------------------------------------------+  |
|  | Layer 2: Fully-Parallel Conv Modules + Adder Trees    |  |
|  +-------------------------------------------------------+  |
|  | Pooling Layer: Direct Stochastic Sorting + Pipeline   |  |
|  +-------------------------------------------------------+  |
|  | Configurable BTanh Activation & Optimized Classifier  |  |
|  +-------------------------------------------------------+  |
+-------------------------------------------------------------+

Kiến trúc phần cứng tổng quát và khối truyền dữ liệu

  • Khối PS: Vi xử lý ARM Cortex-A53 chạy môi trường GNU/Linux đảm nhiệm tiền xử lý dữ liệu và điều khiển bộ điều khiển DMA (Direct Memory Access). Dữ liệu ảnh hoặc tín hiệu ECG từ bộ nhớ ngoài DDR4 được DMA truyền trực tiếp sang khối PL qua bus AMBA AXI, giúp loại bỏ độ trễ can thiệp từ CPU.
  • Khối PL: Chứa toàn bộ đường truyền dữ liệu (datapath) của bộ gia tốc nơ-ron và các bộ điều khiển trạng thái (FSM). Thiết kế sử dụng độ dài chuỗi bit ngẫu nhiên 10-bit ($2^{10} = 1024$ chu kỳ bitstream), khớp trực tiếp với độ phân giải dữ liệu nhằm triệt tiêu các khối chuyển đổi định dạng trung gian.

Các khối thành phần chính trong đường truyền dữ liệu

  1. Bộ tạo số ngẫu nhiên (Stochastic Number Generator - SNG): Sử dụng các bộ ghi dịch phản hồi tuyến tính Galois LFSR kết hợp mảng bộ so sánh (Comparator). Galois LFSR được chọn thay vì Fibonacci hay Xorshift nhờ chất lượng ngẫu nhiên cao qua thực nghiệm. Thiết kế tách rời khối LFSR dùng chung và đưa bộ so sánh trực tiếp vào từng lớp xử lý.
  2. Lớp tích chập thứ nhất (Conv-1):
    • Bộ điều khiển (Controller): Hiện thực bằng máy trạng thái kiểu Moore với mã hóa trạng thái One-hot encoding để tối đa hóa tần số hoạt động.
    • Đường truyền dữ liệu (Datapath): Gồm khối trượt cửa sổ (Slide Window), các khối tính toán địa chỉ (Weights/Biases Address Calculator), các bộ nhớ ROM chứa trọng số/độ lệch, mảng $M \times N$ bộ so sánh tạo chuỗi bit song song, và khối tính toán MAC.
    • Bộ tính toán MAC: Gồm mảng nhân song song (Parallel Multipliers dùng cổng XNOR) kết nối trực tiếp với bộ đếm song song APC để cộng tích lũy không suy giảm biên độ.
  3. Lớp tích chập thứ hai (Conv-2): Tái sử dụng $k$ module tích chập của lớp thứ nhất đặt song song tương ứng với số kênh đầu vào ($k$), sau đó tổng hợp kết quả thông qua cây cộng (Adder Trees). Cấu trúc này tối đa hóa năng lực tính toán song song hoàn toàn.
  4. Lớp Pooling: Thực hiện trực tiếp trên chuỗi ngẫu nhiên mà không cần giải mã nhị phân. Các thanh ghi pipeline được chèn vào giữa các tầng so sánh để ngắt đường dẫn trễ tới hạn (critical path), giúp tăng tốc độ xung nhịp của hệ thống.
  5. Bộ nhớ Multi-port LUT RAM: Cấu hình tài nguyên bảng tra LUT trên FPGA thành bộ nhớ đa cổng, cho phép đọc/ghi song song nhiều luồng dữ liệu độc lập, loại bỏ các bộ đệm trung gian (buffer) gây trễ chu kỳ.
  6. Hàm kích hoạt và phân loại: Bộ BTanh cấu hình linh hoạt theo lớp. Lớp phân loại cuối cùng được tối ưu bằng cách loại bỏ phép tính Softmax phức tạp, thay thế bằng việc so sánh trực tiếp giá trị tích lũy ngõ ra để xác định nhãn có xác suất cao nhất.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương này trình bày lý do chọn đề tài, sự cần thiết của việc giảm thiểu tài nguyên và năng lượng khi triển khai mạng nơ-ron học sâu (CNN) trên thiết bị biên/y sinh. Tác giả xác định rõ đối tượng nghiên cứu là mô hình LeNet-5 (nhận dạng chữ số MNIST) và mô hình 1D-CNN phát hiện phức bộ QRS (tín hiệu ECG MIT-BIH), sử dụng công cụ Synopsys Design Compiler (ASIC) và phần cứng FPGA Xilinx ZCU102.

Chương 2: Tổng quan

Chương 2 tổng hợp các công trình nghiên cứu về tính toán ngẫu nhiên (SC) trên thế giới. Tác giả phân tích các cải tiến mạch số học như bộ đếm song song APC, các kỹ thuật tối ưu LFSR low-discrepancy, vấn đề tương quan chéo (cross-correlation) khi dùng chung LFSR và sự đánh đổi giữa tần số hoạt động, diện tích và độ chính xác. Từ đó, xác định hướng đi của đề tài: tập trung vào kiến trúc song song hoàn toàn, đề xuất thuật toán tìm seed cho LFSR và triển khai SC trên mô hình 1D-CNN y sinh.

Chương 3: Cơ sở lý thuyết

Trình bày chi tiết toán học và cấu trúc của mạng CNN (các lớp Conv, Pooling, FC, Softmax, mạng 1D-CNN, kiến trúc LeNet-5 gồm 61.706 tham số). Giới thiệu đặc tính tín hiệu ECG, dạng sóng QRS và các công thức chẩn đoán nhịp tim. Trình bày toán học phương pháp tính toán ngẫu nhiên: định dạng Unipolar, Bipolar, các phép toán logic (NOT, AND, XNOR, OR, MUX, APC, APC xấp xỉ) và máy trạng thái FSM cho hàm Stanh, Sexp.

Chương 4: Kiến trúc phần cứng

Mô tả chi tiết thiết kế phần cứng của bộ gia tốc LeNet-5 và bộ phát hiện QRS. Bao gồm kiến trúc hệ thống SoC (giao tiếp PS-PL qua AXI DMA), cấu trúc chi tiết của bộ tạo số Galois LFSR 10-bit, mạch Datapath/Controller lớp tích chập thứ nhất (Slide Window, ROM Calculator, Parallel Multipliers, APC), lớp tích chập thứ hai (Adder Trees), mạch Pooling pipelined, bộ nhớ đa cổng LUT RAM, bộ kích hoạt BTanh cấu hình được và tối ưu hóa lớp phân loại.

Chương 5: Thử nghiệm và đánh giá kết quả

Trình bày cấu hình phần cứng bo mạch FPGA ZCU102, thiết lập môi trường kiểm thử truyền dữ liệu AXI BUS với khối VIP, tập dữ liệu MNIST và MIT-BIH. Chương này phân tích chi tiết dạng sóng chu kỳ hoạt động của từng lớp, đánh giá mức độ chiếm dụng tài nguyên (LUT, FF), năng lượng tiêu thụ và tần số hoạt động của hai kiến trúc trên cả nền tảng FPGA và ASIC.

Chương 6: Kết luận

Tổng kết lại các mục tiêu đã hoàn thành của khóa luận về mặt thiết kế kiến trúc vi mạch, tối ưu diện tích, năng lượng và tần số hoạt động của bộ gia tốc SC cho LeNet-5 và 1D-CNN QRS.

Chương 7: Hướng phát triển tương lai

Đề xuất các định hướng mở rộng đề tài nhằm tiếp tục nâng cao độ chính xác và mở rộng khả năng ứng dụng của phần cứng tính toán ngẫu nhiên.


Kết quả và đóng góp

Khóa luận đã hiện thực thành công hai kiến trúc phần cứng bộ gia tốc trên cả nền tảng FPGA và ASIC, đạt được các chỉ số hiệu năng cụ thể:

Kết quả đo đạc tài nguyên và hiệu năng phần cứng

Chỉ số / Thông số phần cứng Kiến trúc LeNet-5 (MNIST) Kiến trúc Phát hiện QRS (ECG)
Số lượng LUTs trên FPGA (ZCU102) 73.902 LUTs 26.712 LUTs
Số lượng Flip-Flops (FFs) trên FPGA 73.056 FFs 57.377 FFs
Tần số hoạt động trên FPGA 250 MHz 257 MHz
Tần số hoạt động tối đa trên ASIC 540 MHz 666 MHz
Độ dài chuỗi bit ngẫu nhiên 10-bit (1024 chu kỳ) 10-bit (1024 chu kỳ)
Tập dữ liệu kiểm thử MNIST MIT-BIH

Đóng góp chính của đề tài

  1. Kiến trúc phần cứng song song hoàn toàn có tính tái sử dụng cao: Thiết kế thành công các khối tích chập SC cho phép ghép nối và tái sử dụng linh hoạt giữa các lớp mạng, giúp rút ngắn thời gian thiết kế và kiểm thử vi mạch.
  2. Tối ưu hóa bộ tạo chuỗi số ngẫu nhiên: Áp dụng bộ tạo số Galois LFSR kết hợp thuật toán tìm seed phù hợp để chia sẻ phần cứng giữa các kênh tính toán, hạn chế tối đa suy giảm độ chính xác do hiện tượng tương quan chéo (cross-correlation).
  3. Tiên phong ứng dụng SC cho mô hình học sâu y sinh: Triển khai thành công phương pháp tính toán ngẫu nhiên trên mô hình 1D-CNN phát hiện phức bộ QRS, chứng minh tính khả thi của SC trên các ứng dụng theo dõi sức khỏe thời gian thực.
  4. Triệt tiêu các khối chuyển đổi trung gian và hàm phức tạp: Loại bỏ hoàn toàn khối Softmax ở lớp ngõ ra và tính toán trực tiếp trên chuỗi bit ở lớp Pooling, giúp tối giản diện tích mạch và giảm đáng kể công suất tiêu thụ trên FPGA và ASIC.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Thời gian trễ tính toán theo chuỗi bit: Do sử dụng độ dài chuỗi 10-bit ($1024$ chu kỳ), độ trễ suy luận phụ thuộc vào độ dài bitstream, đòi hỏi mạch phải hoạt động ở tần số cao để bù đắp thời gian thực thi.
  • Độ trễ thiết lập DMA: Khi kích thước dữ liệu truyền một lần quá nhỏ, chi phí thời gian khởi tạo (setup time) của kênh truyền DMA có thể ảnh hưởng đến thông lượng tổng thể của hệ thống.
  • Phương sai vốn có của SC: Mức độ ngẫu nhiên của chuỗi bitstream vẫn gây ra sai số xấp xỉ nhất định so với tính toán dấu chấm động (floating-point) hoặc số nguyên cố định (fixed-point) truyền thống.

Hướng nghiên cứu tiếp

  • Nghiên cứu áp dụng các cấu trúc tạo số ngẫu nhiên có độ phân tán thấp (low-discrepancy sequences) với diện tích phần cứng nhỏ gọn hơn.
  • Mở rộng thuật toán tìm seed tự động tối ưu cho các mô hình mạng nơ-ron có quy mô lớp và số lượng tham số lớn hơn.
  • Thử nghiệm trên các tập dữ liệu y sinh đa kênh phức tạp khác và tối ưu hóa sâu hơn cơ chế pipeline cho các lớp kết nối toàn bộ (Fully-Connected).

Giá trị tham khảo

Tài liệu khóa luận này mang lại giá trị học thuật và kỹ thuật thực tiễn cho:

  • Sinh viên và kỹ sư ngành Kỹ thuật máy tính, Thiết kế vi mạch, Hệ thống nhúng và Điện tử: Cung cấp tài liệu tham khảo chi tiết về kỹ thuật thiết kế phần cứng tính toán ngẫu nhiên (Stochastic Computing RTL design), cách thức hiện thực các hàm số học SC (Parallel Multipliers, APC, Stanh FSM) và phương pháp xây dựng hệ thống nhúng SoC kết hợp giữa vi xử lý ARM và FPGA thông qua chuẩn giao tiếp AXI DMA.
  • Các nhóm nghiên cứu về Hardware Accelerator cho AI: Cung cấp phương pháp luận và các kết quả thực nghiệm về việc đánh đổi giữa diện tích, công suất và độ chính xác khi đưa các mô hình mạng nơ-ron tích chập (2D-CNN và 1D-CNN) lên các thiết bị đeo tay theo dõi sức khỏe hoặc thiết bị biên IoT.

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

1. Phương pháp tính toán ngẫu nhiên (Stochastic Computing) mang lại lợi ích gì so với tính toán nhị phân truyền thống trong thiết kế bộ gia tốc CNN?

Tính toán ngẫu nhiên biểu diễn số thực dưới dạng xác suất của các bit 1 trong một chuỗi bitstream. Nhờ đó, các phép tính số học phức tạp trong mạng CNN được đơn giản hóa tối đa: phép nhân Bipolar chỉ cần một cổng logic XNOR duy nhất, phép cộng được thực hiện qua bộ đếm song song APC mà không cần các bộ cộng/nhân nhị phân nhiều tầng cồng kềnh. Điều này giúp giảm đáng kể diện tích vi mạch và năng lượng tiêu thụ, đồng thời tăng khả năng chịu lỗi đơn bit (fault tolerance).

2. Khóa luận giải quyết nhược điểm suy giảm biên độ của cổng dồn kênh MUX khi thực hiện phép cộng ngẫu nhiên như thế nào?

Cổng MUX truyền thống khi thực hiện phép cộng hai ngõ vào sẽ chia đôi tỷ lệ xác suất ($p_o = \frac{p_A + p_B}{2}$ với $s=1/2$). Khi ghép nối nhiều tầng MUX cho các lớp tích chập có nhiều trọng số, giá trị ngõ ra bị suy giảm liên tục dẫn đến sai số lớn. Khóa luận đã thay thế hoàn toàn bộ cộng MUX bằng bộ đếm song song tích lũy (Accumulation Parallel Counter - APC), cho phép cộng trực tiếp nhiều chuỗi bitstream ngõ vào song song mà không bị suy giảm biên độ, hỗ trợ cả hai định dạng Unipolar và Bipolar.

3. Tại sao tác giả lựa chọn Galois LFSR và độ dài chuỗi dữ liệu 10-bit cho thiết kế?

Qua các thử nghiệm so sánh với Fibonacci LFSR và Xorshift LFSR, bộ Galois LFSR cho kết quả ngẫu nhiên tốt hơn và ổn định hơn. Độ dài chuỗi được chọn là 10-bit ($1024$ chu kỳ bitstream) vì nó tương thích trực tiếp với độ phân giải dữ liệu đầu vào, giúp hệ thống loại bỏ các khối chuyển đổi định dạng trung gian phức tạp, từ đó tiết kiệm diện tích vi mạch và tránh sinh thêm sai số trong quá trình chuyển đổi.

4. Hệ thống SoC phân chia nhiệm vụ giữa phần xử lý (PS) và phần cứng logic (PL) như thế nào?

Khối PS (vi xử lý ARM Cortex-A53 chạy Linux) đảm nhiệm vai trò nạp dữ liệu, thực hiện các bước tiền xử lý tín hiệu/hình ảnh ban đầu và cấu hình bộ điều khiển DMA để truyền dữ liệu trực tiếp từ DDR4 sang PL thông qua bus AMBA AXI. Khối PL chứa toàn bộ kiến trúc gia tốc phần cứng tính toán ngẫu nhiên (các lớp tích chập song song, pooling, kích hoạt BTanh và phân loại) để thực hiện quá trình suy luận với hiệu năng cao và độ trễ thấp.

5. Kết quả thực nghiệm của hai kiến trúc LeNet-5 và QRS detector trên FPGA ZCU102 đạt được các thông số cụ thể nào?

Trên bo mạch FPGA Xilinx ZCU102, kiến trúc LeNet-5 chiếm dụng 73.902 LUTs, 73.056 FFs và hoạt động ở tần số xung nhịp 250 MHz. Kiến trúc phát hiện phức bộ QRS cho tín hiệu 1D-CNN chiếm dụng 26.712 LUTs, 57.377 FFs và đạt tần số hoạt động 257 MHz. Khi tổng hợp trên công nghệ ASIC bằng Synopsys Design Compiler, tần số tối đa đạt được lần lượt là 540 MHz (LeNet-5) và 666 MHz (QRS detector).


Kết luận

Khóa luận tốt nghiệp của tác giả Ngô Tấn Bình đã nghiên cứu và hiện thực thành công bộ gia tốc phần cứng trên FPGA và ASIC cho mạng nơ-ron tích chập 2D (LeNet-5) và 1D (phát hiện phức bộ QRS trong tín hiệu ECG) dựa trên phương pháp tính toán ngẫu nhiên (Stochastic Computing). Thiết kế khai thác triệt để kiến trúc song song hoàn toàn, ứng dụng bộ đếm song song APC, tối ưu bộ tạo số Galois LFSR và lược bỏ các khối tính toán trung gian không cần thiết. Kết quả thực nghiệm trên nền tảng FPGA Xilinx ZCU102 và tổng hợp ASIC chứng minh bộ gia tốc đạt tần số hoạt động cao (lên đến 257 MHz trên FPGA và 666 MHz trên ASIC), tối ưu hóa diện tích phần cứng và công suất tiêu thụ, khẳng định tiềm năng ứng dụng thực tiễn của kỹ thuật tính toán ngẫu nhiên trên các thiết bị nhúng và thiết bị y tế đeo tay thông minh.