Hành trình thiết kế máy tính bỏ túi FPGA từ con số không: Lòng đam mê và kỹ thuật

Công nghệ18 tháng 5, 2026·4 phút đọc

Bài viết chia sẻ quá trình đầy thú vị trong việc chế tạo một chiếc máy tính bỏ túi khoa học sử dụng FPGA, bao gồm việc thiết kế kiến trúc CPU tùy chỉnh, viết vi mã, giải quyết các bài toán số học phức tạp và đi từ mô phỏng phần mềm đến bo mạch phần cứng hoàn chỉnh.

Hành trình thiết kế máy tính bỏ túi FPGA từ con số không: Lòng đam mê và kỹ thuật

Có những dự án công nghệ bắt nguồn từ một sự tò mò đơn giản, nhưng lại phát triển thành một hành trình kỹ thuật sâu sắc đầy thách thức. Đây là câu chuyện về cách một người, trong thời gian mất điện tại Texas, đã quyết định tự tay chế tạo một chiếc máy tính bỏ túi khoa học (scientific calculator) sử dụng công nghệ FPGA từ con số không.

Thiết kế PCB và FPGA trong dự ánThiết kế PCB và FPGA trong dự án

Khởi đầu từ bản năng và cảm hứng

Vào tháng 2 năm 2021, khi mạng lưới điện tại Austin, Texas bị sự cố và mọi thứ bị đình trệ, tác giả đã tìm thấy niềm vui bất ngờ trong chiếc máy tính bỏ túi HP-41CV cổ điển. Cảm giác gõ phím và tính toán trên thiết bị cơ điện tử đã khơi dậy ý tưởng: "Tại sao mình không tự tạo ra một thứ như vậy?"

Tuy nhiên, để biến ý tưởng này thành hiện thực không chỉ đơn giản là viết code. Đây là một dự án phần cứng phức tạp đòi hỏi kiến thức từ thiết kế mạch, kiến trúc vi xử lý cho đến các thuật toán toán học cao cấp.

Giai đoạn thăm dò và thiết lập nền tảng

Mọi dự án nghiêm túc đều cần một giai đoạn "thăm dò" (pathfinding) để xác định tính khả thi. Tác giả đã phải trả lời câu hỏi: Liệu có thể tính toán các hàm phức tạp như tan, ln, exp, hay sqrt chỉ bằng phép cộng, trừ và nhân? Câu trả lời là có, thông qua các phương pháp số học (numerical methods) và một số kỹ thuật thuật toán đặc biệt.

Trước khi nhúng bất kỳ dòng code nào vào phần cứng, một khung kiểm thử (framework) mạnh mẽ đã được thiết lập. Mã nguồn Verilog duy nhất có thể chạy xuyên suốt bốn môi trường khác nhau: ModelSim cho mô phỏng tín hiệu, Verilator cho mô hình hóa C++ chính xác theo chu kỳ, Qt cho nguyên mẫu trên desktop, và WebAssembly để chạy trực tiếp trên trình duyệt.

Thiết kế CPU và phần cứng vật lý

Điểm độc đáo nhất của dự án này là tác giả không sử dụng một lõi vi xử lý có sẵn (soft core) thông dụng. Thay vào đó, một kiến trúc CPU hoàn toàn mới được thiết kế riêng cho nhiệm vụ này.

CPU tùy chỉnh này sử dụng mô hình bộ nhớ Harvard và có tập lệnh 12-bit. Đặc biệt, nó hỗ trợ bộ nhớ định địa chỉ "nibble" (4-bit) và các chế độ địa chỉ được tối ưu hóa để thao tác với các số thập phân BCD (Binary-Coded Decimal) có độ dài 16 chữ số—thứ mà không một CPU mục đích chung nào làm tốt.

Màn hình hiển thị kết quả tính toánMàn hình hiển thị kết quả tính toán

Việc chuyển từ mô phỏng sang phần cứng thực tế cũng là một thử thách lớn. Dự án bắt đầu từ một bo mạch phát triển EP2C5 giá rẻ kết nối với bàn phím và màn hình OLED qua dây cáp bằng (ribbon cable), cho đến khi phát triển thành một bo mạch PCB tùy chỉnh duy nhất với FPGA được hàn trực tiếp, bao bọc bởi một vỏ 3D in ấn định hình.

Viết vi mã và hoàn thiện độ chính xác

Sau khi có CPU, bước tiếp theo là viết vi mã (microcode) — lớp phần mềm thấp nhất điều khiển phần cứng. Mỗi tập tin hợp ngữ đều là bản port của một tham chiếu đã được xác minh, được kiểm tra đối với hàng nghìn vector kiểm tra known-good.

Quá trình này được thực hiện thông qua trình giả lập Qt trên desktop với các tính năng debug mạnh mẽ, vì khi sai sót ở cấp độ vi mã, bạn không thể chỉ đơn giản là thêm một câu lệnh print để kiểm tra.

Mô hình 3D của thiết bị hoàn chỉnhMô hình 3D của thiết bị hoàn chỉnh

Vào năm 2025, dự án được viết lại hoàn toàn để "săn" từng chữ số thập phân cuối cùng. Phiên bản mới này giới thiệu theo dõi "guard digit" và "sticky bit", làm tròn kiểu ngân hàng (Banker's rounding), bộ logic ngẫu nhiên LFSR phần cứng và bộ hàm lượng giác đầy đủ.

Kết quả: Một chiếc máy tính bỏ túi hoạt động

Sản phẩm cuối cùng là một chiếc máy tính khoa học hoạt động trơn tru, chiếm chỉ 1.593 ô logic (logic cells)—chỉ 35% dung lượng của một chiếc FPGA nhỏ gọn và rẻ tiền.

Dù bàn phím chưa hoàn hảo như các dòng HP cổ điển và quá trình hàn chip TQFP-144 đầy áp lực, nhưng niềm vui nằm ở quá trình tạo ra nó. Dự án này là minh chứng rõ ràng cho việc kết hợp giữa kỹ thuật phần cứng (FPGA, PCB) và kỹ thuật phần mềm (thuật toán, vi mã) để tạo ra một thiết bị công nghệ thực sự hữu ích và độc đáo.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗