Rocket

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

 

简单介绍TLDebugModuleInner中COMMAND寄存器的实现。

 

 

1. COMMANDReset

 

寄存器复位时使用的值:

 

当dmactive为假时,存入寄存器中:

 

2. COMMANDReg

 

带结构的寄存器:

 

3. 写

 

不带结构的32位写入值:

 

转换为带结构的写入值:

 

寄存器写入逻辑:

其中:COMMANDWrEnMaybe标志是否正在写入。

 

COMMANDWrEnLegal标志写入的数据是否合法:

 

COMMANDWrEn标志是否正在写入合法数据:

 

当存在合法写入时,把写入值存入寄存器中:

 

4. 读

 

COMMANDRdData是读取寄存器时使用的数据源:

 

COMMANDRdEn标志着是否正在读取寄存器:

 

寄存器读取逻辑:

 

5. 附录

 

 

 

 

原文地址:https://www.cnblogs.com/wjcdx/p/12492840.html