一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致

FPGA技术江湖 2026-07-14 08:09
一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图1

当我们谈到 FPGA 项目时,大多数人想到的是 RISC-V、AI 加速器、视频处理或者高速接口。而最近,一个看似普通却极具工程魅力的项目引起了不少 FPGA 开发者的关注——一台完全从零设计的科学计算器。

它没有使用 ARM,也没有使用 RISC-V,更没有调用现成的软件数学库,而是从 CPU、指令集、汇编器、微代码,到科学计算算法和硬件 PCB,全都由作者独立完成。

这不仅仅是一台计算器,更像是一堂完整的计算机体系结构实践课。

介绍

这是一个采用二进制编码十进制的科学计算器,其内部数字格式与惠普公司自 20 世纪 70 年代以来在其科学计算器中使用的格式相同。它将每个十进制数字表示为一个 4 位半字节,这意味着完美的十进制精度、零浮点转换误差,以及真正由其所解决的问题驱动的架构。为了实现这一点,还设计了一个同样以半字节为单位进行运算的定制 CPU。它运行在 Altera Cyclone II FPGA 上,使用 Quartus 进行综合,使用 Verilator 和 ModelSim 进行仿真,并通过基于 Qt 的桌面原型进行调试。如果想在浏览器中运行它,该原型还可以编译成 WebAssembly。它涉及多种工具和多个组件——所有组件均分阶段构建,并在每个阶段都经过测试。

https://baltazarstudios.com/calculator/

https://baltazarstudios.com/files/calculator-d/Calculator.html

该项目作者配套了完整的说明文档,文档共十章,完整呈现整个设计流程:从架构决策和权衡取舍,到数值算法(加法、乘法、用于三角函数的 CORDIC 算法、对数),再到定制 CPU 设计及其 12 位指令集,用 Python 手写的两遍汇编器,运行在该 CPU 上的微代码,用于高级按键功能的脚本层,以及最终包含电池、显示屏和键盘的物理电路板。每个部件都依赖于前一个部件,因此我们按顺序构建并测试每个部件,因为一个返回错误答案的计算器远比一个根本不返回答案的计算器糟糕得多。

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图2

项目结构

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图3

所需工具

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图4

总结

一个值得学习的完整工程

相比很多只展示最终效果的 FPGA 项目,这个开源工程最大的价值在于完整记录了整个开发过程。

作者将整个项目拆分成十个章节,从需求分析、算法设计,到 CPU 架构、微代码、硬件实现,再到最终产品,每一步都进行了详细讲解。

对于想深入理解:

  • FPGA 体系结构
  • CPU 设计
  • BCD 运算
  • 微代码控制器
  • 科学计算算法
  • Verilator 仿真
  • FPGA 工程开发流程

的开发者来说,这都是一份非常难得的学习资料。

写在最后

如今,越来越多的 FPGA 项目开始围绕 AI、大模型和高速接口展开,而这样一个"计算器"项目却显得格外特别。

它没有追求算力,也没有追求性能指标,而是用一种近乎教科书式的方式,把计算机体系结构、数字电路、数值计算和 FPGA 开发串联成了一个完整的工程实践。

如果你正在学习 FPGA,或者希望真正理解"CPU 是如何工作的",这个项目无疑值得花时间深入阅读。

项目地址

GitHub:FPGA-Calculator

https://github.com/gdevic/FPGA-Calculator

系列文章:

https://baltazarstudios.com/calculator/

END


往期精选 

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图5 
一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图6 


一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图7
一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图8

FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图9

加群主微信,备注姓名+公司/学校+岗位/专业进群


FPGA技术江湖QQ交流群

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图10

备注姓名+公司/学校+岗位/专业进群

一台计算器,为什么要自己设计CPU?这个开源FPGA项目把"从零开始"做到了极致图11

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
FPGA 开源
more
4 秒卖出一台!机器鸭爆火:开源生态+中国供应链如何改写 AI 玩具赛道
英伟达拟百亿美金吞并Hugging Face,AI开源生态迎来资本巨变
英伟达百亿豪赌开源生态,399美元“机器鸭”成具身智能破局点?
英伟达开源Hydra-0:机器人动作其实是图像像素运动?误差暴跌90%!
RISC‑V × OpenHarmony 双向奔赴,共绘国产开源产业新蓝图
重磅!力压Gemini,中国开源全新交互AI模型
这个新开源的世界模型只有1.3B,单卡就能实时跑!
罗永浩炮轰车企AI体验:自研模型“挺垃圾”,呼吁接入顶尖开源方案
399美元的开源鸭火了,我们也“造”了一只!
解决20年数学难题!微软开源Argus用证据驱动1548小时自动研究
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号