240 发简信
IP属地:宁夏
  • Rocket Core:常量定义规范

    设计中常常需要定义一些常量,给多个模块复用, rocketchip中通过trait+package object的方式定义常量 1. 首先在trait中定义consts常量 ...

  • 120
    Rocket Core : BTB(Branch Target Buffer)

    前言 关于Rocket Chip中的BTB模块,已经有前辈整理得很清楚了,可以参照开源处理器Rocket的分支预测机制研究与性能评估这一系列文章,本文仅仅稍微补充一点点代码上...

  • 120
    LiteOS内存管理:TLSF算法

    问题背景 TLSF算法主要是面向实时操作系统提出的,对于RTOS而言,执行时间的确定性是最根本的(吞吐量不一定高),然而传统的动态内存分配器(DMA, Dynamic Mem...

  • 120
  • 120
    Rocket Chip Utils: ShiftQueue

    Shift Queue Implements the same interface as chisel3.util.Queue, but uses a shift regis...

  • Scala 关键字辨析

    由于Chisel基于Scala语言构建,为了更好理解Chisel语言实现中的细节,本文整理了一些有关Scala基本语言特性。 以下关键字若非特别标注,均指代Scala中的 1...

  • 120
    Rocket Core : Decode

    Decode 本文分析Rocket Core中的译码逻辑。 以RV32I为例,指令集手册中RISC-V指令编码主要有下图六种类型 译码模块需要根据opcode与func3/f...

  • 120
    Rocket Core : RAS(Return Address Stack)

    Return Address Stack RAS(Return Address Stack), 即返回地址预测栈,该模块针对函数调用进行优化,在取指令前端维护了一个硬件实现的...