摘要:
https://mp.weixin.qq.com/s/MkKnV42Lh9-yg53D3hg8XQ 简单介绍PeripheryBus的实现。 1. BusAtomics BusAtomics用于定义原子操作相关的参数: 其中: a. arithmetic:表示是否支持数学运算原子操作; b. buf 阅读全文
摘要:
https://mp.weixin.qq.com/s/cTuVq9xnj1Rcb7hrANDmcg 简单介绍MemoryBus的实现。 1. CacheBlockBytes 用于定义和查找参数配置的key: 对应的参数为缓存块的大小(字节数)。 2. BroadcastParams Broadcas 阅读全文
摘要:
https://mp.weixin.qq.com/s/M02OQk4u1yf27CnW7CvGjg 简单介绍InterruptBus的实现。 1. InterruptBusWrapper InterruptBusWrapper用于搜集内部和外部设备中断,然后注入PLIC: 1) int_bus in 阅读全文
摘要:
https://mp.weixin.qq.com/s/yzTK0PhQ57G5W02g0tqt9A 简单介绍FrontBus的实现。 1. FrontBusParams FrontBusParams定义前端总线的参数: FrontBusParams继承自HasTLBusParams和HasBuilt 阅读全文
摘要:
https://mp.weixin.qq.com/s/3-MfNJDCIgOBqUbf4fuerQ 简单介绍CrossingWrapper的实现。 1. CrossesToOnlyOneClockDomain CrossesToOnlyOneClockDomain用于实现跨域到其他总线类型的辅助方法 阅读全文
摘要:
https://mp.weixin.qq.com/s/PylfNmJDRasTUj9fGp7gLQ 简单介绍bootrom目录中各个文件的实现。 1. Makefile 1) make过程 Makefile用于简化生成bootrom.img,只需要执行make命令即可: 主要过程为: a. 根据链接 阅读全文
摘要:
https://mp.weixin.qq.com/s/vaDUekxkFkOJLmzg5jCngw 简单介绍LazyModule/LazyModuleImp的组织方式。 1. LazyModule LazyModule是一个泛化的模块概念,其中包含了代表模块与其他模块相连的节点(diplomacy 阅读全文
摘要:
https://mp.weixin.qq.com/s/jSnhBzU5_ayQCg5fWAcx-g 简单介绍TLBusWrapper.to()的实现。主要介绍确定this{...}对应代码的过程。 1. CanHavePeripheryPLIC 在CanHavePeripheryPLIC中,调用了c 阅读全文
摘要:
https://mp.weixin.qq.com/s/FR3yeLLBqy0n-fflw-ATgg 简单介绍TLPLIC的实现。 1. GatewayPLICIO PLIC是Platform-Level Interrupt Controller的缩写: GatewayPLICIO定义Gateway的 阅读全文
摘要:
https://mp.weixin.qq.com/s/4LfZZDKCTQhiKIUjvbDKEg 简单介绍CLINT的实现。 1. 概述 CLINT即是Core Local Interrupter的缩写,意指CPU本地中断。这里主要是software interrupt和timer interru 阅读全文