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

 

简单介绍TLError的实现。

 

Rocket - devices - TLError

 

1. 继承自DevNullDevice

 

TLError继承自DevNullDevice,并把类参数传递给DevNullDevice使用:

Rocket - devices - TLError

根据注释,TLError的行为类似/dev/null,但会给出错误响应。

 

2. lazy val module

 

lazy val module实现TLError的内部逻辑:

Rocket - devices - TLError

 

1) 只有一个输入边

 

TLError作为下游节点只有一个输入边,而没有输出边:

Rocket - devices - TLError

 

2) 为in.a/in.d添加中间变量

 

Rocket - devices - TLError

 

3) idle

 

idle是一个寄存器标志位,默认值为1:

Rocket - devices - TLError

 

idle只有在支持Acquire操作时,才会变化:

Rocket - devices - TLError

不支持缓存操作时,idle一直为真。

-----------------------------------------------------------------------------

这是一篇付费文章,请移步付费阅读全文,谢谢!
文章链接:https://mp.weixin.qq.com/s/s_6qPkT2zwdqYLw5iK7_8g

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
  • 2021-10-06
  • 2021-08-02
  • 2022-12-23
  • 2021-10-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案