Rocket - devices - TLError
https://mp.weixin.qq.com/s/s_6qPkT2zwdqYLw5iK7_8g
简单介绍TLError的实现。
1. 继承自DevNullDevice
TLError继承自DevNullDevice,并把类参数传递给DevNullDevice使用:
根据注释,TLError的行为类似/dev/null,但会给出错误响应。
2. lazy val module
lazy val module实现TLError的内部逻辑:
1) 只有一个输入边
TLError作为下游节点只有一个输入边,而没有输出边:
2) 为in.a/in.d添加中间变量
3) idle
idle是一个寄存器标志位,默认值为1:
idle只有在支持Acquire操作时,才会变化:
不支持缓存操作时,idle一直为真。
-----------------------------------------------------------------------------
这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/s_6qPkT2zwdqYLw5iK7_8g