返回资讯中心
外部精选
软件工程
#开发者实时流

Akmega:用纯SystemVerilog实现兼容ATmega的8位微控制器核

来源标题:ATmega-compatible 8-bit core in SystemVerilog on Skywater 130nm

Akmega 是一个 100% 兼容 ATmega 的 8 位微控制器核,采用纯 SystemVerilog 实现,配备 AXI4-Lite 指令和数据总线,并基于 Skywater 130nm 工艺完成完整物理版图(GDSII)。该项目由作者与 LLM 交互完成,支持核心 ATmega328P 指令集。此前类似的 RISC-V 设计尝试在布局阶段失败。

Hacker News 最新barelyusable2026/11/1 · 4 天前6 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

Akmega 是一个 100% 兼容 ATmega 的 8 位微控制器核心,采用纯 SystemVerilog 实现,配备现代化的 AXI4-Lite 指令总线和数据总线。

本项目旨在探索 AI 辅助硬件工程的边界,整个开发过程完全通过与 LLM 的交互式会话完成。

这个项目的想法来自我的好友 Mike Matera,源于一次简短的文字交流。Mike 的观点是:ATmega 架构虽然极其流行,但从 ISA(指令集架构)的角度来看,其文档质量与现代标准相比出奇地差。他指出,工具链的可见性往往不足,这使得从零开始引导一个自定义核心变得异常困难。

我的首要目标是验证自己能否完成一个功能核心的完整物理布局(GDSII)。此前我曾用更大的 RISC-V 设计做过类似尝试,但那个项目最终在布局阶段失败——物理复杂度对初始的自动化流程来说实在太高了。

Akmega 代表了若干个人和技术上的“第一次”:

AVR 兼容:支持 ATmega328P 的核心指令集,包括 16 位字算术和硬件乘法。

AXI4-Lite 集成:与标准 AVR 核心不同,Akmega 的指令取指和数据存储均使用标准 AXI4-Lite 总线,可直接用于 SoC。

验证优先:包含一个基于 Python 的功能黄金模型,用于对 RTL 进行位精确的行为验证。

C 到 GDS 流程:从 C 固件(斐波那契测试)到 GDSII 布局的完整集成流水线。

快速开始

  1. 安装工具链

brew install uv avr-gcc simavr icarus-verilog

  1. 安装 Python 依赖(uv)

make setup

该命令会创建/更新 ./venv,并从 requirements.txt 安装基于 cocotb 的测试栈。

编译固件、运行 RTL 仿真,并对照黄金模型验证行为:

make verify

  1. 验证(覆盖全部已实现 ISA)

运行定向 ISA 程序,交叉比对 RTL 与 simavr,并强制检查操作码类别覆盖率:

make verify_isa

该目标会验证跟踪等价性,并检查所有已实现解码类别的覆盖率。

运行完整的 ASIC 流程并生成 GDSII 布局:

make gds

  1. 清理

删除生成的仿真/构建产物:

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →