第1节 NPI简介
NPI简介
MPMC全称为Multi-Port Memory Controller,即多端口内存控制器。这是一个全定制内存控制器,支持SDRAM、DDR和DDR2等多种内存读写时序。MPMC可提供最多8个端口用于内存访问,每个端口都可以通过Personality Interface Modules (PIMs)连接到PowerPC 405处理器、MicroBlaze软核、CoreConnect总线或MPMC Native Port Interface (NPI)结构。表格 1至表格 5列举并简要介绍了NPI PIM的输入/输出接口。
表格 1 NPI PIM的输入/输出端口

表格 2 MPMC参数和端口依赖关系

表格 3 PLB v4.6 总线参数和端口关系

表格 4 NPI参数和端口关系

表格 5 MPMC控制寄存器和状态寄存器

NPI接口分为32位和64位,本书仅以32位NPI接口为例,简单介绍其读写操作的时序关系,如所示。
1. 单字长写操作时序图

图7.1. 1
上图包含如下信息:
- 32位NPI接口;
- 单字长写入传输;
- 在地址请求的同一周期给出地址确认信号;
- 地址在单字长界限内;
- 由于信号C_MEM_DATA_WIDTH的值未知,所以信号RdModWr必须被声明;
- 使用了“写传输”特殊情况;
2. 单字长读操作时序图
图7.1. 2包含如下信息:
- 32位NPI接口;
- 单字长读出传输;
- 在地址请求的同一周期给出地址确认信号;
- 地址在单字长界限内;
- RdFIFO_Latency有三种可能值;

图7.1. 2
3. 八字长带缓冲行的写操作时序图

图7.1. 3
上图包含如下信息:
- 32位NPI接口;
- 一个八字长,缓冲行写入传输;
- 在地址请求的同一周期给出地址确认信号;
- 地址在八字长界限内;
- RdModWr信号不需要被声明;
- 使用了写入传输安全模式;
4. 八字长带缓冲行的读操作时序图

图7.1. 4
上图包含如下信息:
- 32位NPI接口;
- 一个八字长,缓冲行读出传输;
- 在地址请求的同一周期给出地址确认信号;
- 地址在八字长界限内;
- RdFIFO_RdWdAddr信号标志数据被发回(目标字首先传输);
- RdFIFO_Latency有三种可能值;


