ddr控制器随笔

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/flaoter/article/details/75947801

下图是依据使用过的cadence ddr controller IP画出的SOC中常用的ddr controller的结构图。
ddrc
ddr控制器的数据和指令输入来自AXI Bus,AHB Bus等,它们连接的是访存指令的发起方,如CPU, GPU, DMA控制器等。ddr控制器输出的数据和指令通过DFI连接的ddr phy访问外设ddr sdram。

下面对Arbiter和Command Queue with Logic进行简单说明。
Arbiter
多端口输入Arbiter,常使用的策略有Round-Robin Arbitration(时间片), Transation Priority(优先级),Port Bandwidth Limitation(带宽限制)等。

Command Queue with Placement Logic
常用的影响command queue中指令排序的规则有,
Address Collision/ Data Coherency Violation 对相同地址的读写命令重新排序可能会引起数据一致性的错误,因此对同一地址的读写指令进入队列忽略优先级
Priority 指令优先级高,AXI port的优先级
Bank Spliting 相同bank不同row之间需要插入对其他bank的操作
write-to-read spliting 在相同CS的写命令和读命令之间可插入新的command
Read/Write Grouping 读命令和写命令按组排序,减少读写转换的时间overhead

猜你喜欢

转载自blog.csdn.net/flaoter/article/details/75947801
今日推荐