首页 > 其他 > 详细

Rocket - system - ExampleRocketSystem

时间:2020-07-14 14:55:29      阅读:59      评论:0      收藏:0      [点我收藏+]

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

 

简单介绍ExampleRocketSystem的实现。

 

技术分享图片

 

1. ExampleRocketSystem

 

ExampleRocketSystem是一个顶层模块的样例,包含一个Rocket子系统,一系列的外部设备和接口:

技术分享图片

 

1) 继承自RocketSubsystem

 

技术分享图片

 

2) 包含一系列外部设备和接口

 

技术分享图片

配合ExampleRocketSystemModuleImp中引入的特征(trait)进行实现:

技术分享图片

 

3) lazy val module是ExampleRocketSystemModuleImp类的实例

 

技术分享图片

 

4) 进行必要的内部节点连接

 

A. 连接cbus和sbus

 

技术分享图片

这里不需要跨时钟域。

 

B. 连接pbus和cbus

 

技术分享图片

这里的跨域类型为同步跨域,外设的时钟可能较慢。

 

C. 连接fbus和sbus

 

技术分享图片

 

D. 连接sbus和mbus

 

技术分享图片

其中:

a. 根据配置,生成存储总线的一致性管理模块;

b. 系统总线作为上游连接到一致性管理模块的输入;

c. 一致性管理模块再作为上游节点连接到内存总线;

d. 如果内存包括多个bank,则包含一个BankBinder,以对上游提供统一的视图;

 

5) 结构示意图

 

技术分享图片

引用自:https://carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf

 

2. ExampleRocketSystemModuleImp

 

ExampleRocketSystemModuleImp与ExampleRocketSystem配对使用:

技术分享图片

ExampleRocketSystemModuleImp实现ExampleRocketSystem的具体逻辑。不过这个类的层次比较高,具体的实现逻辑都已经在其组成模块中已经实现了,所以这里的定义中不包含类体,而只是继承RocketSubsystemModuleImp和引入一系列外设和接口的实现。

 

3. 附录

 

Rocket - system - ExampleRocketSystem

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

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