ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

香山 XSNoCTop 低功耗与 CHI 互联拆解

香山 XSNoCTop 低功耗与 CHI 互联拆解 香山 XSNoCTop 低功耗与 CHI 互联拆解【免费下载链接】XiangShanOpen-source high-performance RISC-V processor项目地址: https://gitcode.com/GitHub_Trending/xia/XiangShan香山处理器里的 XSNoCTop 是把单核含 L2接进片上网络与 SoC 的顶层模块负责 CHI 一致性接口、异步时钟域与低功耗状态管理。它到底在哪一层XSNoCTop 不是处理器核心而是把XSTileWrap核心L2包进一个可对接 NoC 的容器。定义在 XSNoCTop.scala 的class XSNoCTop它 mix-in 多个 traitHasXSTile给核、HasSeperatedBusOpt给旁路总线、HasIMSIC接中断、HasTraceIO暴露调试。看这一行能确认 XSNoCTop 的骨架是 trait 组合每个 trait 对应一类外部连接。Imp 侧XSNoCTopImp默认跑在 SoC 时钟域见 XSNoCTop.scala 的childClock : soc_clock核侧时钟另由buildLowPower单独给出。构建时它还断言socParams.isOpenLLCXSNoCTop.scala说明当前只支持开放 LLC 的组态。CHI 事务怎么穿过去核与 NoC 之间走 CHIAMBA 5 的一致性互联协议接口入口是 XSNoCTop.scala 的val io_chi IO(new PortIO)。关键在于频率。HasXSTileCHIImp里有个分支XSNoCTop.scala配置了EnableCHIAsyncBridge就插入CHIAsyncBridgeSink把核侧 CHI 采样后重定时到noc_clock域再连io_chi没配置则io_chi直连核的io.chi。异步桥像一台跨时区的中继核跑核频、NoC 跑 NoC 频信号经它采样、打拍、重发频率解耦复位也各自独立noc_reset_sync见第 84 行。维度单时钟域双时钟域 异步桥核/NoC 频率必须同频各自独立复位共享每域独立 ResetGen代价全局锁频桥带来额外延迟空闲时怎么省电核进 WFI 后由HasCoreLowPowerImp接手XSNoCTop.scala它维护两条状态链。第一条是 WFI 时钟门控WfiStateNext在 LowPowerState.scala核处 WFI 且无中断源时进sGCLOCK关时钟来中断或 CHI 请求flitpend再唤醒。第二条是下电流程lpStateNextLowPowerState.scala按固定撤离顺序执行先冲刷 L2再等核 WFI最后才向 SoC 申请下电。QACTIVE、QACCEPTn是 SoC 侧的下电握手位没拉完状态机不前进第 118–120 行。时钟最终由 XSNoCTop.scala 的ClockGate(false.B, cpuClockEn, clock)切cpuClockEn同时屏蔽 WFI 门控与核复位。怎么定位问题、怎么跑起来调试翻HasTraceIOXSNoCTop.scala它把核的 trace 组pc、cause、mstatus打包成io.traceCoreInterface.toEncoder送出仿真对拍看XSNoCDiffTopXSNoCTop.scala的connectTopIOs它接入 difftest 的 perf/log 控制。想跑通先git clone https://gitcode.com/GitHub_Trending/xia/XiangShan再执行make verilog CONFIGKunminghu目标见 Makefile 的verilog。生成 XSTop 的 RTL 后对照上面四个 trait 逐个定位端口就能把 CHI 通路和下电握手在波形里对上号。【免费下载链接】XiangShanOpen-source high-performance RISC-V processor项目地址: https://gitcode.com/GitHub_Trending/xia/XiangShan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表