在RISC V 上添加custom指令并在gem5 和 spike上运行

RISCV Spike仿真踩坑过程 由于步骤1配置了PATH,因此可以直接验证。,否则反汇编没有原文,spike也无法运行。不需要配置32/64或ABI。若安装位置须管理员,加入。编辑后注销登录或使用。 阅读详情
AI摘要

本文介绍在RISC-V上添加自定义指令并在gem5和spike上运行的方法。先阐述修改RISCV工具链的步骤,包括安装、明确指令、修改相关文件、重新编译和测试等;接着说明在gem5中添加指令时对arch/riscv/decoder.isa文件的修改;最后讲述在spike ISA simulator中添加指令的具体操作。

修改RISCV工具链

第一步是安装RISCV工具链:

$ git clone https://github.com/riscv/riscv-tools.git
$ git submodule update --init --recursive
$ export RISCV=/path/to/install/riscv/toolchain
$ ./build.sh

第二步明确要添加的指令,以mod指令为例:

mod r1, r2, r3

Semantics:
R[r1] = R[r2] % R[r3]

第三步打开 riscv-opcodes/opcodes文件,在这里,将能够看到分配给各种指令的各种操作码和指令位。 为mod指令分配了一条未使用的指令:

sra     rd rs1 rs2 31..25=32 14..12=5 6..2=0x0C 1..0=3
or      rd rs1 rs2 31..25=0  14..12=6 6..2=0x0C 1..0=3
and     rd rs1 rs2 31..25=0  14..12=7 6..2=0x0C 1..0=3

mod     rd rs1 rs2 31..25=1  14..12=0 6..2=0x1A 1..0=3

addiw   rd rs1 imm12            14..12=0 6..2=0x06 1..0=3
slliw   rd rs1 31..25=0  shamtw 14..12=1 6..2=0x06 1..0=3
srliw   rd rs1 31..25=0  shamtw 14..12=5 6..2=0x06 1..0=3
sraiw   rd rs1 31..25=32 shamtw 14..12=5 6..2=0x06 1..0=3

第四步,运行下面的代码得到MOD的掩码和代码:

cat opcode
RISC-V指令集的gem5与mcpat联合仿真 我在想要将gem5中建立好的内核利用mcpat进行统计功耗以及面积时,遇到了一些问题,进行一些记录以及对应的解决方案。 我的目录是这样的: 一、文件目录 gem5/ |__其他文件 | |__path #存放输出的信息以及mcpat相关内容 | |__out #存放输出信息 | | |__test | | |__config.ini | | |__config.json | | |__stats.txt | | |__mcpat-out.xml #后续输出内容 阅读详情

相关推荐

RISCV——指令集工具链

众所周知,软件生态对CPU是至关重要的,而软件工具链的完备是CPU能够真正运行的第一步。本文将以RISCV工具链为例。

知识,既贵,又便宜。 8363

Renode嵌入式仿真:寄存器级SoC建模与CI/CD实战

嵌入式仿真工具的核心价值在于 bridging the gap between software development and hardware availability。Renode 作为一款面向 SoC 的开源仿真框架,聚焦寄存器级行为建模,不模拟晶体管或功耗,而是精准复现 CPU 指令流对外设寄存器的读写、中断触发、DMA 传输等可观察接口行为。这种建模方式使其在固件开发、驱动验证和嵌入式 CI/CD 中具备独特优势:启动快、调试深、易集成。相比 QEMU 的通用 ISA 模拟和 Gem5 的微架构

weixin_33912453的博客 222

riscv-isa-sim:Spike,RISC-V ISA模拟器

Spike RISC-V ISA模拟器 关于 Spike,RISC-V ISA模拟器,实现了一个或多个RISC-V harts的功能模型。 它以庆祝美国跨大陆铁路竣工的金色尖峰而得名。 Spike支持以下RISC-V ISA功能: RV32I和RV64I基本ISA v2.1 Zifencei扩展程序v2.0 Zicsr扩展v2.0 M扩展,v2.0 v2.1扩展 F扩展,v2.2 D扩展,v2.2 Q扩展,v2.2 C扩展,v2.0 B扩展,v0.92 K扩展,v0.8.1() 带Zvlsseg / Zvamo的V扩展v0.10(需要64位主机) 双端性 符合RVWMO和RVTSO(峰值顺序一致) 机器,主管和用户模式,v1.11 虚拟机监控程序扩展,v0.6.1 svnapot扩展v0.1 调试v0.14 版本和API 项目的版本主要用于指示API何时

Windows Server 搭建ftp服务

Windows Server 搭建ftp服务

ch258563的博客 1010

手把手教你用Python模拟侧信道攻击:从电磁辐射到数据窃取(附防御代码)

本文详细介绍了如何使用Python模拟侧信道攻击,从电磁辐射信号采集到数据窃取的全过程,并提供了实用的防御代码。通过实战案例,帮助安全研究员和开发者理解侧信道攻击原理,掌握信号处理与图像重建技术,同时学习有效的噪声干扰和电磁屏蔽防御措施。

weixin_28716443的博客 161

使用PaddleOCR识别查验平台验证码

PaddleOCR识别国税查验平台验证码

m0_63932300的博客 1267

STM32实战:用定时器触发ADC+DMA双缓冲实现电机电流采样(附避坑指南)

本文详细介绍了如何利用STM32的定时器触发ADC注入组采样,结合DMA双缓冲机制实现电机电流的高效采样。通过PWM触发和双缓冲架构,解决了开关噪声干扰、实时性要求和数据一致性等核心挑战,显著降低CPU负载并提升采样精度。附有完整的代码示例和避坑指南,适用于无人机电调、工业伺服驱动器等高精度电机控制场景。

weixin_33737134的博客 520

【天工Godwork精品教程】天工3.1.7安装教程(附Godwork完整版下载地址)

本文讲解天工3.1.7安装过程(附Godwork完整版网盘下载地址)。 一、天工3.1.7安装教程 1. 安装GodWork-AT 3.1.7 2. 安装GodWork-AT 3.1.7补丁 3. 安装GodWork-EOS-Setup-2017B-1231 4. 安装GodWork-EOS补丁 5. 运行godwokr软件 6. 生成ZC码 7. 输入ZC码 8. eos插

智慧空间实验室 5283

Python爬虫实战:利用Playwright与反反爬技术抓取Crunchbase企业数据

在当今数据驱动的商业环境中,获取准确的企业信息对于市场分析、竞争情报和投资决策至关重要。Crunchbase作为全球领先的企业信息平台,包含了数百万家公司、投资者和关键人员的详细数据。本文将深入探讨如何使用Python最新爬虫技术Playwright,结合多种反反爬策略,高效抓取Crunchbase企业数据。我们将从爬虫基础概念讲起,逐步深入到高级技巧,并提供完整的代码实现,帮助读者掌握现代网络数据采集的核心技术。网络爬虫技术自互联网诞生以来经历了显著演变。

2201_76125261的博客 1833

从零搭建实时数仓:基于Flink+ClickHouse的实践

实时数据处理和实时数据查询。市场上的技术方案众多,为何选择Flink+ClickHouse?

AIGC应用创新大全的博客 1320

手把手教您 Claude 桌面端无需账号订阅,免费接入国产自定义大模型(Claude Desktop 绕过订阅限制,接入任意自定义 AI 模型)

无需官方账号,也能畅玩Claude桌面端!本文详解Claude Desktop如何跳过登入接入自定义大模型,轻松解锁Cowork、Code等强大功能🚀

XiaoqiangClub的博客 5411

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: multivariate time series anomaly detection survey
下一篇: Improving direct-mapped cache performance by the addition of a small fully-associative cache and pre
idevede
博客等级 码龄12年 146粉丝 47原创
评论 21
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值