ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Rocket - debug - DebugCustomXbar

2020-01-15 22:53:34  阅读:371  来源: 互联网

标签:addr Rocket sourceParams dSeq source DebugCustomXbar sink debug 节点


https://mp.weixin.qq.com/s/7h9Bdb0x4_clyigMU_0B7Q

 

讨论DebugCustomXbar中的几个问题。

 

 

1. sources/sourceParams

 

node.in.unzip解出来输入边中的BI, EI参数,分别是sources和sourceParams:

 

其中,sourceParams的类型为Seq[DebugCustomParams],其中包含了每一条输入边的地址列表(addrs:List[Int])和数据宽度;

 

2. decoded

 

decoded是对sourceParams中的每一个元素做map操作:

而sourceParams中的每一个元素代表了一个输入边的参数,这个输入边的参数中包含了多个地址,每一个地址都与sink.addr进行比较,最后输出一个结果(Bool)。

 

sourceParams中的所有元素,亦即所有边的比较结果(Bool)集合在一起,成为decoded(Seq[Bool])。也就是说,decoded中的每一个掩码表示了sink.addr与相应输入边中地址参数比对的结果,即sink.addr是否选择输入边连接的source。

 

3. sourceParams与dSeq

 

diplomacy node的sourceFn中的dSeq也是Seq[DebugCustomParams]:

这里的dSeq与sourceParams是什么关系?相同吗?

 

sourceFn是把当前节点即DebugCustomXbar节点看到的上游节点的参数,转换为下游节点看到的DebugCustomXbar节点的参数。

 

即dSeq是DebugCustomXbar节点看到的上游节点的参数,DebugCustomXbar节点根据这组参数生成lazy module。所以lazy module中的sourceParams,其实就是这sourceFn中的dSeq。

 

sourceFn把dSeq中全部的地址集合到一起进行了去重操作,然后传递给下游节点(调试模块)。所以这里默认dSeq中不同的source节点可能包含重复的地址。

 

综合这两点:decoded中可能存在两个或更多个为真的值。从这个结论出发,会导致很多问题。

 

4. source.addr & source.valid

 

可能存在多个source.valid为真,进而sink.addr输入到source.addr中被认为合法:

 

5. sink.ready

 

可能存在多个d & i.ready为真,进而向sink.ready中输入真:

 

6. sink.data

 

即便把i.ready更改为d & i.ready,也可能存在多个i.data输出相或在一起,从而导致sink.data错误:

 

7. 总结

 

这里存在两种情况:

a. 存在一个假设,即上游节点的地址不互相重复,那么sourceFn中去重的代码多余;

b. 上游节点的地址可以互相重复,那么decoded需要使用带优先级的掩码(参考仲裁器的实现);

 

标签:addr,Rocket,sourceParams,dSeq,source,DebugCustomXbar,sink,debug,节点
来源: https://www.cnblogs.com/wjcdx/p/12199150.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有