Xilinx MIG IP核使用说明
Xilinx MIG IP核使用说明
结构框图
- MIG IP 主要包含 3 部分:
- User Interface Block:用户控制逻辑接口
- Memory Controller:内存控制器
- Physical Layer:物理层,连接 DDR 芯片
PHY 结构框图
外部接口
MIG IP 对外接口除了支持用户接口(app),也支持 AXI4 接口
app 接口
信号 | 方向 | 描述 |
---|---|---|
app_addr[ADDR_WIDTH – 1:0] | Input | 请求地址 |
app_cmd[2:0] | Input | 请求命令,读命令(001),写命令(000) |
app_en | Input | app_addr, app_cmd, app_sz, app_hi_pri 信号有效指示,高有效 |
app_rdy | Output | IP 准备信号,高有效。当 app_en 为高电平时,app_cmd 和 app_addr 信号保持不变直至 app_rdy 拉高 |
app_hi_pri | Input | 提高当前请求优先级,高有效 |
app_rd_data[APP_DATA_WIDTH – 1:0] | Output | 读数据 |
app_rd_data_end | Output | 最后一个读数据指示信号,高有效,app_rd_data_valid 为高电平时才有效 |
app_rd_data_valid | Output | app_rd_data 读数据有效指示,高有效 |
app_sz | Input | 保留,设置为 0 |
app_wdf_data[APP_DATA_WIDTH – 1:0] | Input | 写数据 |
app_wdf_end | Input | 最后一个写突发数据指示信号,高有效 |
app_wdf_mask[APP_MASK_WIDTH – 1:0] | Input | 写数据掩码,高有效,每位对应一个字节数据(高电平表示屏蔽该字节) |
app_wdf_rdy | Output | 写数据 FIFO 准备信号,当 app_wdf_rdy 和 app_wdf_wren 信号同时为高电平时,写数据才写入 FIFO |
app_wdf_wren | Input | 写使能,高有效 |
app_correct_en_i | Input | 只有 ECC 时使用,默认设置为 1 |
app_sr_req | Input | 保留,设置为 0 |
app_sr_active | Output | 保留 |
app_ref_req | Input | DRAM 刷新命令请求,高有效 |
app_ref_ack | Output | DRAM 刷新命令请求响应,高有效 |
app_zq_req | Input | DRAM ZQ 校准命令请求,高有效 |
app_zq_ack | Output | DRAM ZQ 校准命令请求响应,高有效 |
ui_clk | Output | 时钟频率必须为 DRAM 时钟的二分之一或者四分之一 |
init_calib_complete | Output | PHY 部分会在校准完成后拉高该信号,高有效 |
app_ecc_multiple_err[7:0] | Output | ECC 模式使用 |
ui_clk_sync_rst | Output | 复位信号,高有效,同步于 ui_clk |
app_ecc_single_err[7:0] | Output | ECC 模式使用 |
app_rdy 为低情况如下:
- PHY/Memory 未初始化完成
- 所有 bank 占用
- 存在读请求且读 buffer 处于满状态
- 存在写请求且没有可用 写 buffer 指针
- 正在进行周期读操作
app 接口时序
写控制命令
- 当 app_en 和 app_rdy 同时有效时,命令被写入控制命令 FIFO
写数据
-
当 app_wdf_wren 和 app_wdf_rdy 同时有效,写数据被写入数据写 FIFO。 app_wdf_mask 信号可用于屏蔽写入外部存储器的字节。
-
必须使用 app_wdf_end 信号来指示存储器写入突发的结束
- 对于 2:1 模式,应该在第二个写入数据字上断言 app_wdf_end 信号
- 对于 4:1 模式可以让 app_wdf_end = app_wdf_wren 简化时序控制
-
此外下图中说明控制命令和数据通道没有先后顺序要求,但是要求控制命令发送后,数据必须最大延迟不能超过 2 个时钟。
读数据
AXI4 接口
内部时钟结构
对于 DDR3 设计,若 DDR3 时钟大于 667 MHz,则需要一个 MMCM 专门用来产生 300MHz 或 400MHz 时钟作为 IDELAY 参考时钟(具体选用 300MHz 还是 400MHz 取决于 FPGA 速度等级),其他情况使用 200MHz 时钟作为 IDELAY 参考时钟。
PHY 部分需要一个 MMCM 和一个 PLL
DDR3 接口输出字节序
-
4:1 模式下用户接口数据位宽为 64bit,写入 64bit 数据(0000_0806_0000_0805)
-
2:1 模式下用户接口数据位宽为 32bit,写入 64 bit数据(先写 0000_0805,再写 0000_0806)
-
DDR3 接口输出字节序:低字节优先输出
初始化和校准流程
4:1 or 2:1 mode
IP 例化
官方手册:ug586
原文地址:https://blog.csdn.net/qq_38695100/article/details/142921206
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!