首页 > 其他 > 详细

Rocket - subsystem - RocketSubsystem

时间:2020-06-20 14:30:41      阅读:78      评论:0      收藏:0      [点我收藏+]

https://mp.weixin.qq.com/s/THo5Mw0099ummLsbXjLutw

 

简单介绍RocketSubsystem的实现。

 

技术分享图片

 

1. Params

 

定义Rocket tile相关的master port/slave port/crossing参数:

技术分享图片

 

2. Keys

 

定义RocketTileParams和RocketCrossingParams参数使用的Key:

技术分享图片

 

3. HasRocketTiles

 

HasRocketTiles被BaseSubsystem引入,用于添加RocketTile模块。

 

1) 其module为HasRocketTilesModuleImp类型的实例;

 

技术分享图片

 

2) rocketTileParams

 

rocketTileParams是从配置中取出的RocketTileParams参数:

技术分享图片

 

3) crossings

 

crossing是全局一致或者每个核心一个的跨域参数。

 

4) rocketTiles

 

技术分享图片

a. 根据rocketTileParams和crossing参数生成一组RocketTile:

技术分享图片

b. 将rocketTile连接到各个总线上:

技术分享图片

 

5) getOMRocketCores

 

用于生成rocket核心的对象模型:

技术分享图片

 

4. HasRocketTilesModuleImp

 

HasRocketTilesModuleImp与HasRocketTiles配对使用:

技术分享图片

这里并没有什么要实现的。

 

5. RocketSubsystem

 

RocketSubsystem继承自BaseSubsystem,并且引入了HasRocketTiles特征:

技术分享图片

 

实现HasTiles中的抽象成员tiles:

技术分享图片

 

lazy val module是一个RocketSubsystemModuleImp实例:

技术分享图片

 

6. RocketSubsystemModuleImp

 

RocketSubsystemModuleImp实现RocketSubsystem模块:

技术分享图片

 

这里主要是连接各个tile的时钟和复位信号:

技术分享图片

其中:

a. i是从hartIdList中逐个取出的hartId;

b. global_reset_vector是HasRocketTilesModuleImp中引入的全局复位向量:

技术分享图片

 

7. 附录

Rocket - subsystem - RocketSubsystem

原文:https://www.cnblogs.com/wjcdx/p/13168509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!