Rocket - interrupts - Parameters

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

 

简单介绍interrupts相关的Parameters。

 

 

1. IntRange

 

定义一个中断号区间:

a. [start, end):end不被包括在内;

b. size:区间包含的中断号数;

c. overlaps:判断两个中断号区间是否重叠;

d. offset:平移之后生成一个新的中断号区间;因为x可以为负值,所以移动是双向的;

 

2. IntSourceParameters

 

定义中断源的相关参数:

a. range:中断号区间;

b. resources:中断源相关的资源;

c. nodePath:节点路径;

d. name:节点路径最后一个节点的名称;

 

3. IntSinkParameters

 

定义中断下游节点相关的参数:

a. nodePath:节点路径;

b. name:名称;

 

4. IntSourcePortParameters

 

1) 定义中断源接口的相关参数:

a. sources:接口上连接的中断源;

b. num:中断源包含的所有中断数;

 

2) 两个限制条件:

a. 中断源之间的中断编号区间不能重叠;但是没有要求区间之间没有空洞;

b. 最后一个中断区间的end应该等于num;

 

3) object IntSourcePortSimple

 

用于创建IntSourcePortParameters的简便方法:

 

4) 关于Port的理解

 

IntSourceParameters和IntSourcePortParameters相比,多了一个Port。

这个接口,应该是指与总线连接的接口。IntSourceParameters是一个中断源,IntSourcePortParameters中包含多个中断源,这多个中断源共用一个总线接口,向总线上发送中断。

具体如何共用,则需要相关LazyModule来实现相关(仲裁)逻辑。

 

5. IntSinkPortParameters

 

定义中断下游接口的相关参数:

 

6. IntEdge

 

定义中断节点连接边相关的参数:

a. source:连接边的上游节点参数;

b. sink:连接边的下游节点参数;

c. params:连接边的参数;

 

7. SyncInterrupts

 

定义同步中断类,主要是根据IntEdge中的中断源包含的中断个数来生成中断信号向量:

 

 

 

 

posted @ 2019-10-03 07:36  wjcdx  阅读(255)  评论(0编辑  收藏  举报