寄存器的属性分类
本文档对于寄存器的属性以synopsys相关文档以及ral_model生成模型时的识别方式为基准。通常讲可以归纳为以下三个方面:读写属性read-write access、写后值modified write value、读后操作read action。注意,这里指的都是软件的操作,对于硬件侧而言,寄存器无法感知到读行为,对于写行为一般允许通过hw_wen和hw_wdata进行操作。
通过这三方面的属性,可以精准的描述一个寄存器的行为,比如:

在寄存器的xml描述中,采用如下的方式表示一个field的这三方面属性:
<spirit:access>read-write</spirit:access>
<spirit:modifiedWriteValue>oneToSet</spirit:modifiedWriteValue>
<spirit:readAction>clear</spirit:readAction>
需要注意的是,access是必须要进行描述的,而modifiedWriteValue和readAction则不强制。modifiedWriteValue的缺省属性为总线数据写入,readAction的缺省属性为不改变寄存器值。
因此接下来先看一下这三个方面的属性都有哪些描述符


本文详细介绍了寄存器的读写属性,包括read-writeaccess、modifiedWriteValue和readAction,并列举了25种不同的寄存器行为及其在RAL模型中的支持情况。此外,还提供了关键寄存器类型的RTL实现,如RW、WO、RO、W1、W1C、RC、RS、WRC、WRS、WC、WS、WSRC和WCRS等,以及如何处理软件和硬件操作。
订阅专栏 解锁全文
3775

被折叠的 条评论
为什么被折叠?



