
[英]Issue with operands types in RISC-V: sw with a label, no register
在我的 sw 行中,它表示操作数太少或不正确。 我以为我是把字符存到char_pos的position中。 char_pos 定义为 char1。 ...
[英]Issue with operands types in RISC-V: sw with a label, no register
在我的 sw 行中,它表示操作数太少或不正确。 我以为我是把字符存到char_pos的position中。 char_pos 定义为 char1。 ...
[英]RV32IM assembly for 64-bit value
假设数据是32 位整数(a、X、Y 和 Z 是 32 位长),我从以下 C 代码实现了一个 RV32IM 汇编程序。 我验证了我的工作,结果是正确的。 我的 32 位数据工作 现在, Implement with data 是64-bit integer (a, X, Y, Z are 64-bit ...
[英]Most efficient small-word-size multiply for processors without a hardware multiplier
我希望使用 CH32V003(一个 RV32EC 处理器)来执行 ColorChord,它广泛使用乘加来执行 DFT。 但它可以在非常低的位深度、16 位甚至 8 位乘法下运行。 但是,CH32V003 中的RV32EC 不支持RV32 乘法扩展。 我已经尝试探索 godbolt 中的选项,请参阅h ...
[英]What does TCM connection with Icache in this RISCV version?
在这个页面的中间( https://github.com/ultraembedded/riscv ),有一个关于核心的框图,我真的不知道TCM和Icache在同一个块中做什么? 在CPU内部是可选的吗? ...
[英]Inline assembly with branch
我得到以下代码: int *heap_x_test = (int*) malloc(4*sizeof(int)); heap_x_test[0] = 0x00310033 ; // add zero,sp,gp heap_x_test[1] = 0x008110b3 ...
[英]Brief explanation of some input/outputs of RISC-V Core
我正在尝试分析来自 ( https://github.com/ultraembedded/riscv/tree/master/core/riscv ) 的 fetch.v 文件的代码,但设计者没有任何文档解释任何内容,我是初学者Verilog 和数字设计的世界。 这些是什么意思和作用? 设计非常复杂 ...
[英]Is there a way to make MARS or RARS disassemble an instruction given in hex?
MARS & RARS 包含反汇编程序,但是不允许在.text中使用.word 只会反汇编.text部分有没有办法让这些模拟器从十六进制中反汇编指令? (常见的在线反汇编器也不支持 RISC V!) ...
[英]Branch riscv instruction offset calculation on my emulator
我写了一个 riscv64 模拟器,但我对分支指令(尤其是 bge)的偏移量计算有疑问。 对我来说,计算满足条件时添加到 pc 的偏移量的公式是:PC = PC + IMM; 直接是指令摘录:有我的 C 代码: 当程序得到这个简单的程序代码时: 我得到:0x7a2。 电脑地址为:0x1018c 当我 ...
[英]ld.lld: error: undefined symbol: __divdi3
我试图将两个 risc-v elf 文件与ld.lld链接在一起,但ld.lld给我以下错误: 我想我需要将我的文件与一些辅助函数链接起来,但是在我的 clang lib 文件夹 ( /usr/local/Cellar/llvm/15.0.6/lib/clang/15.0.6/lib ) 中查找它 ...
[英]__asm__ statement and csrr instruction
我正在尝试编写以下代码:#define CONFIG_PMP_SLOTS 16 #define PMPCFG_STRIDE 4 #define CSR_PMPCFG_BASE 0x3a0 void csr_pmp_check(){ for(int i = 0; i < (CONFI ...
[英]How to solve the error "Load address not aligned to word boundary" in RISC-V?
我正在努力将为 MARS 模拟器编写的 MIPS 汇编程序翻译成用于 RARS 模拟器的 RISCV 汇编程序。 该程序是将BMP文件中的源图像从控制台输入后分成3×4块并重新排列。 但是转换后,当我运行代码时,发生了错误。 一步步查看,发现这个错误出现在下面一行。 在 错误信息是 但在 MIPS ...
[英]What is this "Myriad sequences"? (What li gets expanded to?)
li rd,立即 | 无数序列 | Load immediate 在 RISC-V 非特权手册中,它写道有这个伪指令调用li或Load immediate ,但它只说基本指令是Myriad sequences ,在谷歌搜索后,它没有给出有希望的答案。 有谁知道Myriad sequences是 ...
[英]What does RISC-V do on PC overflow?
当程序计数器 (PC) 溢出时,RISC-V CPU 会发生什么? 例如,在执行了 0xFFFF'FFFC 处的(32 位)NOP 后,RV32G IALIGN = 32 会发生什么情况? 或者在执行了 0xFFFF'FFFE 处的 16 位 NOP 之后在 RV32GC 上? 这两个问题的最简单 ...
[英]`.bss' is not within region `ram' error - esp32 ulp risv-v
我正在尝试将数组元素从一个数组复制到另一个数组。 arrays 之一使用 int32_t 索引来跟踪当前索引。 如果该行处于活动状态,我将收到此错误: 我尝试了很多变体,但似乎没有任何效果,我不确定问题是出在我的 C 技能上还是出在 esp idf 编译器上。 ** 解决了: ** 正确答案 ...
[英]How can I use GCC to compile a binary file which can be used for my FPGA,where I have used verilog to synthesis
首先我用verilog合成了一个支持RISCV32IM的CPU,但是无法测试CPU是否正常工作。 我希望有一个编译器(比如GCC)能生成指令帮我测试,但是一般的编译器只能生成需要操作系统的EXE文件。 显然,我的FPGA做不到这一点。 我只需要一系列能在FPGA上运行并能实现相应功能的RISCV32 ...
[英]Replace vsetivli to vsetvli in LLVM, RISC-V
我在Halide项目的 LLVM 的帮助下生成了一个二进制文件。 简而言之,二进制文件使用 RVV 1.0,而我的硬件是 AllWinner D1 C906 是 RVV 0.7,因此一些内在函数不受支持,我正在寻找一个选项来确定和删除/替换 LLVM 源代码中不受支持的 RVV 1.0 内在函数。 ...
[英]RISC-V inline assembly
我对内联汇编很陌生,所以我需要你的帮助来确保我正确使用它。 我需要在使用 Risc-v 工具链编译的 C 代码中添加汇编代码。 请考虑以下代码: 我想要做的是bar = bar+k 。 实际上,我想更改bar所在的内存位置的内容。但是我编写的代码获取了bar的地址并将其添加到k 。 有人知道问题出在 ...
[英]Is frame-pointer necessary for riscv assembly?
我正在做一个项目,它需要我从 llvm ir 生成 asm 代码。 当我使用llc直接从.ll文件生成代码时,程序集没有帧指针fp 。 但是,当我使用 riscv-unknow-elf-gcc 编译.cpp文件时,它确实有一个帧指针。 网上查了一下,发现编译时有-fomit-frame-point ...
[英]Does RISC-V have equivalent set of syscall services like that of MIPS?
我知道开箱即用的 MIPS ISA 具有可用于打印字符、打开文件、从文件读取、写入文件等的系统调用指令。 这使得无需操作系统即可轻松使用 MIPS。 问题是,RISC-V ISA 是否有与上述等效的服务? 换句话说,RISC-V 是否提供了与上述开箱即用的等效服务集? 是否绝对需要在 RISC-V ...