马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
因为只是设计DDR控制器需要支持AXI Exclusive access功能,其实从soc的角度并没有太理解使用的场景,今天又去搜索了一下,记录一下有意思的信息。
AXI exclusive accesses are used whenever a master needs to do a read-modify-write sequence, during which time it must know if any other master attempted to write to the location it is modifying. Exclusive sequences must always start with an exclusive read, and then assuming the read returns a successful EXOKAY response the master can then complete the exclusive sequence with the exclusive write. They are always read-then-write sequences, hence the requirement the read happens first.
在设计的时候,有一个单独的模块用来处理这个exclusive access. 多port的axi slave接口经过arbiter以后就会送到这个exclusive access处理模块。该模块共有8个监视单元,可以监视8个exclusive read access。当有更多的exclusive read access的时候,会进行覆盖的处理。 exclusive access访问有一个很重要的约定,就是成对的exclusive access read/write他们的ID/LEN/SIZE/ADDR是一模一样的,否则就会返回OKAY,没有匹配成功的。 另外一个方面就是监视这个exclusive access的访问空间是否有被访问,如果被访问了就会从这个监视空间中去掉,那么后续的exclusive access write 就会返回OKAY. 因为这个exclusive access monitor其实就是一个CAM结构的存储,进行内容寻址,所以做不了太大。太大了速度跑不上去,目前只能支持到8个。
|