【发布时间】:2020-01-14 06:08:17
【问题描述】:
我已经用 rocc 示例实现了 32 位火箭芯片,但是在累加器示例中,使用 do_load 指令通过 hela 缓存接口访问数据。 io_mem_response_valid 信号在两个时钟周期内保持高电平,因此 reg 文件中的数据被下一个内存位置的数据覆盖。 vivado simulation waveform for simple do_load instruction
可能是内存响应接口默认设置为传输 64 字节或其他。请帮助我。如何更改突发大小?
感谢和问候, 卫生巾
【问题讨论】:
-
似乎您以某种方式将缓存行填充与寄存器写入混淆了。如果程序将字节读取到奇数地址会发生什么?
-
感谢回复我设法解决了这个问题,有 io.mem.req.bits.size 我们需要发送 io.mem.req.bits.size := log2Ceil(4).U (即 2)用于通过 mem 响应接口接受 32 位。我浏览了旧的 berkely 的 coproccesor 实验室文档,相同接口有 typ 信号;但没有典型信号了。可能会被尺寸信号取代。
标签: riscv rocket-chip