news 2026/10/29 6:09:49

RISC-V:开源芯片的未来之选

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RISC-V:开源芯片的未来之选

RISC-V指令集架构(ISA)是一种基于精简指令集(RISC)原则的开源处理器架构。它支持32位和64位运算,包括整数、浮点、向量和自定义扩展等多种功能。RISC-V的模块化设计使得开发者可以根据具体需求选择适当的扩展,从而实现定制化的处理器设计。

phase1 已搭好一个简化的 32 位 RISC-V 三级流水线内核,形成了“取指 → 译码 → 执行并写回”的基本通路。目前重点是 ADDI、ADD 和寄存器数据相关的处理,还不是完整的 RV32I 内核。

已完成的部分

模块当前功能
pc_reg / ifetch / romPC 复位为 0,每拍加 4;按地址从 ROM 取指
if_id / id_ex保存流水级之间的指令、地址、操作数和写回控制,复位时注入 NOP
id提取指令字段,读取源寄存器,对 ADDI 的立即数做符号扩展
ex实现 ADDI、ADD,以及尚有错误的 SUB 分支
regs32 个 32 位寄存器、双读单写,保证 x0 读取为 0、禁止写入
open_risc_v_soc / tb连接内核和 ROM,加载程序,打印寄存器值

其中比较关键的是:寄存器堆已经加入 EX 结果到 ID 读端口的前递。当读取地址与当前写回地址相同时,直接使用执行结果,使相邻算术指令可以连续运行。

当前测试在验证什么

[测试程序](D:/Desktop/Job/RISC_V/phase1/tb/inst_data_ADD.txt)包含三条指令:

addi x27, x0, 38 addi x28, x0, 120 add x29, x27, x28

预期最终结果为x27 = 38、x28 = 120、x29 = 158。第三条指令紧跟着使用 x28,能够检验前递是否生效。

目录中已有 ModelSim 工程、编译记录和波形文件。本次是源码检查,没有重新运行仿真,因此上述数值是预期结果,不能当作本次实测结论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 21:31:01

Go语言数组vs切片性能对比:内存布局与CPU缓存友好性分析

Go语言数组vs切片性能对比:内存布局与CPU缓存友好性分析 导语 在Go语言中,数组(Array)和切片(Slice)是最常用的数据结构,但很多开发者并不清楚它们在内存布局、CPU缓存友好性和底层性能上的本质…

作者头像 李华
网站建设 2026/10/17 8:16:13

深度实测|Paperxie,专为国内毕业生打造的全链路 AI 论文辅助平台

摘要 在毕业论文的整个周期中,大量时间消耗在文献翻译、图表绘制、参考文献整理、格式调整等重复性事务上。市面上绝大多数 AI 工具仅能提供单点能力,无法形成闭环工作流。本次实测的 Paperxie,是垂直面向国内本科、硕士毕业论文场景开发的一…

作者头像 李华
网站建设 2026/10/21 9:15:08

res-downloader 十分钟资源嗅探指南

res-downloader 十分钟资源嗅探指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你花 10 分钟装好 res-downloader&#x…

作者头像 李华
网站建设 2026/10/17 0:22:34

Superpowers技能扩展框架:给开发环境装配自动化超能力

给开发环境装上“超能力”:Superpowers 技能扩展框架完全上手指南你是不是也有过这样的状态:项目做到一半,突然要在终端里重复敲一段很长的命令,或者新开了个仓库,又得手动去配一遍 lint、格式化、提交规范、目录结构。…

作者头像 李华
网站建设 2026/10/22 23:39:46

汇编基础与逆向

引言: 本文介绍是宏汇编语言基础以及MASM宏汇编编译器基本使用方法,不同汇编语言的指令集都大差不差,主要是学会指令的语法及使用,会使用反汇编语言来分析目标程序就行,不必过于纠结不用汇编之间的差异。以下是本人的…

作者头像 李华