Rocket - devices - TLZero】的更多相关文章

https://mp.weixin.qq.com/s/JHjUZncEcoZpRxIS1ECV5g 简单介绍TLZero的实现. 1. /dev/null /dev/null最主要的特点是写入的数据被直接忽略: 读取时返回没有内容: -----------------------------------------------------------------------------这是一篇付费文章,请移步付费阅读全文,谢谢!文章链接:https://mp.weixin.qq.com/s/JH…
https://mp.weixin.qq.com/s/C9iktVr4hnQ8lM0CiWtedQ 简单介绍CanHaveBuiltInDevices的实现. 1. HasBuiltInDeviceParams HasBuiltInDeviceParams引入BuiltIn Device的参数: 其中: a. zeroDevice:表示是否包含TLZero设备: b. errorDevice:表示是否包含TLError设备: 2. CanHaveBuiltInDevices ----------…
https://mp.weixin.qq.com/s/PylfNmJDRasTUj9fGp7gLQ 简单介绍bootrom目录中各个文件的实现. 1. Makefile 1) make过程 Makefile用于简化生成bootrom.img,只需要执行make命令即可: 主要过程为: a. 根据链接脚本,使用gcc把汇编代码,编译为elf格式的目标文件: b. 把elf目标文件拷贝为bin格式: c. 把bin文件拷贝128字节成为img文件: 2) Makefile Makefile文件内容如…
https://mp.weixin.qq.com/s/FR3yeLLBqy0n-fflw-ATgg 简单介绍TLPLIC的实现. 1. GatewayPLICIO PLIC是Platform-Level Interrupt Controller的缩写: GatewayPLICIO定义Gateway的IO接口,这是面向PLIC Core的接口: 其中: a. valid:表示是否向PLIC Core产生合法输出: b. ready:表示PLIC Core是否可以接收新的中断信号: c. compl…
https://mp.weixin.qq.com/s/4LfZZDKCTQhiKIUjvbDKEg 简单介绍CLINT的实现. 1. 概述 CLINT即是Core Local Interrupter的缩写,意指CPU本地中断.这里主要是software interrupt和timer interrupt: 其中: a. software interrupt为核间中断(interprocessor interrupt): b. timer interrupt需要mtime/mtimecmp寄存器支…
https://mp.weixin.qq.com/s/m1zfFQeSoGZZduJGbxEqdQ 简单介绍BasicBusBlocker的实现. 1. BasicBusBlockerParams BasicBusBlockerParams用于定义BasicBusBlocker使用的参数: -----------------------------------------------------------------------------这是一篇付费文章,请移步付费阅读全文,谢谢!文章链接:…
https://mp.weixin.qq.com/s/WviVHxlZvsNm8mea2VpfTw 简单介绍TLBusBypass的实现. 1. TLBypassNode TLBypassNode定义了一个自定义的diplomacy node: 1) resolveStar resolveStar用于计算星型输入边和星型输出边所代表的边数: 其中: a. 星型输入边和星型输出边的数量为0,所以计算出来的结果是0: b. 只能有一个输入边: c. 必须有两个输出边: 2) mapParamsD m…
https://mp.weixin.qq.com/s/s_6qPkT2zwdqYLw5iK7_8g 简单介绍TLError的实现. 1. 继承自DevNullDevice TLError继承自DevNullDevice,并把类参数传递给DevNullDevice使用: 根据注释,TLError的行为类似/dev/null,但会给出错误响应. 2. lazy val module lazy val module实现TLError的内部逻辑: 1) 只有一个输入边 TLError作为下游节点只有一个…
https://mp.weixin.qq.com/s/Zv4HE7zMBzHbsWGg3pa9fg 简单介绍TLDeadlock的实现. 1. TLDeadlock TLDeadlock是抽象类DevNullDevice的子类: -----------------------------------------------------------------------------这是一篇付费文章,请移步付费阅读全文,谢谢!文章链接:https://mp.weixin.qq.com/s/Zv4H…
https://mp.weixin.qq.com/s/rAmXl-0gDAJqWmy1R3KrlA 简单介绍DevNullDevice的实现. 1. DevNullParams DevNullParams定义NullDevice的参数: 其中: a. address:地址空间: b. maxAtomic:最大支持的原子操作的大小: c. maxTransfer:最大支持的传输大小: d. region类型:区间类型,默认值是UNCACHEABLE,即不可缓存: e. executable:是否可…