惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
月光博客
月光博客
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
IT之家
IT之家
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
爱范儿
爱范儿

Hacker News: Front Page

SPICE simulation → oscilloscope → verification with Claude Code — Lucas Gerads Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Ancient DNA reveals pervasive directional selection across West Eurasia [pdf] AI cybersecurity is not proof of work Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. A Better Ludum Dare; Or, How to Ruin a Legacy GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent Codex Hacked a Samsung TV
GitHub - gdevic/FPGA-Calculator: From FPGA Gates to Scien...
2026-05-16 · via Hacker News: Front Page

This project implements a fully functional scientific calculator in hardware using an FPGA. It includes a custom soft CPU, microcode firmware, and supporting tools.

For the full story, see the blog.

Try it in a web browser:

screenshot

Project Structure

Folder Description
verilog/ SystemVerilog source files for the CPU, ALU, I/O, and test benches
ucode/ Microcode (firmware) for the soft CPU
quartus/ Quartus project files for FPGA synthesis
modelsim/ ModelSim simulation setup
Qt/ Qt-based simulator and debugger (uses Verilator)
calctest/ Command-line test harness for hardware verification (uses Verilator)
tools/ Assembler and script compiler for the microcode
Pathfinding/ Algorithm research and verification projects

Quick Start

The fastest way to try the calculator is to build the Qt simulator:

# From WSL2
cd /mnt/c/Projects/FPGA-Calculator/verilog
make qt

Then open Qt/Calculator.pro in Qt Creator and build for "Desktop Qt MSVC2022 64 Bit".

See the verilog/ and Qt/ folders for detailed instructions.

Required Tools

Install these tools depending on your target:

Tool Purpose Notes
Verilator Verilog simulation Required for Qt simulator
Qt Desktop/WebAssembly/Android app Version 6.9+
Quartus FPGA synthesis Version 13.0 SP1 for Cyclone II
ModelSim Waveform simulation Optional
Visual Studio 2022 C++ compiler for Qt Community Edition
Python 3 Assembler and tools

Verilator Setup

Verilator runs in WSL2 (Windows Subsystem for Linux). The project source files reside on a Windows partition and are accessed from WSL2.

Target Verilator Version Notes
Desktop (Qt/MSVC) 5.x (latest) Recommended
WebAssembly 4.228 Required (no thread support)
# Install prerequisites
sudo apt-get install build-essential autoconf flex libfl-dev bison

# Clone and build Verilator
git clone https://github.com/verilator/verilator
cd verilator
git checkout v5.042    # For Desktop, or v4.228 for WebAssembly
autoconf
./configure
make -j8
make test

# Set environment (add to .bashrc for persistence)
export VERILATOR_ROOT=$(pwd)

Optionally install GtkWave for viewing waveforms:

sudo apt install gtkwave

Build Targets

Target Command Description
Qt Simulator make qt in verilog/ Build for Qt desktop application
Calctest make calctest in verilog/, then make in calctest/ Command-line test harness
ModelSim make test_self in verilog/ CPU self-test for ModelSim
FPGA Hardware make revB in verilog/ Assemble microcode for RevB board

See the README files in each subfolder for detailed build instructions:

Pathfinding Projects

Independent research and verification projects:

Folder Description
Pathfinding/Proto/ BCD arithmetic golden reference for hardware verification (submodule)
Pathfinding/Proof/ Proofs of concept for complex operations using basic arithmetic
Pathfinding/Methods/ C++ implementations of calculator algorithms (deprecated)
Pathfinding/Input/ Numerical input state machine simulation
Pathfinding/Mockup/ Keyboard layout design and user interaction testing

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You are free to:

  • Share - copy and redistribute the material in any medium or format
  • Adapt - remix, transform, and build upon the material

Under the following terms:

  • Attribution - You must give appropriate credit and indicate if changes were made
  • NonCommercial - You may not use the material for commercial purposes
  • ShareAlike - Contributions must be distributed under the same license