From 20407b22e2d4918f6a44bc5747a8824ebfc4bc8f Mon Sep 17 00:00:00 2001 From: WangXuan95 <629708558@qq.com> Date: Wed, 27 Jan 2021 21:58:17 +0800 Subject: [PATCH] update README --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 221b7fd..c83d632 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,8 @@ FPGA DDR-SDRAM * [模块参数](#模块参数) * [模块接口:驱动时钟和复位](#模块接口:驱动时钟和复位) * [时钟频率的选取](#时钟频率的选取) - * [模块接口:DDR1 接口](#模块接口:DDR1 接口) - * [模块接口:AXI4 从接口](#模块接口:AXI4 从接口) + * [模块接口:DDR1接口](#模块接口:DDR1接口) + * [模块接口:AXI4从接口](#模块接口:AXI4从接口) * [位宽参数的确定](#位宽参数的确定) * [时序参数的确定](#时序参数的确定) * [示例程序](#示例程序) @@ -143,7 +143,7 @@ rstn 是低电平复位信号,正常工作时应该置高。clk 是驱动时 另外,时钟频率的上限还受限于 FPGA 的速度,太高的时钟频率容易导致时序不收敛。该控制器充分考虑时序安全设计,大多数寄存器工作在频率较低用户时钟域;个别寄存器工作在用户时钟的 2 倍频率的时钟下,且输入端口的组合逻辑非常短;还有一个寄存器工作在高频的 clk 下,但输入端口直接来自于上一级的寄存器输出(没有组合逻辑)。因此,即使在速度级别很低的 EP4CE6E22C8N 上,在 300MHz 的驱动时钟下也能保证模块正确运行。在速度等级更高的 FPGA (例如 EP4CE22F17C6N)上,驱动时钟的频率可以更高(例如400MHz)。 -## 模块接口:DDR1 接口 +## 模块接口:DDR1接口 以下是该模块的 DDR1 接口。这些接口应该直接从 FPGA 引出,连接到 DDR1 芯片上。 @@ -165,7 +165,7 @@ rstn 是低电平复位信号,正常工作时应该置高。clk 是驱动时 想了解 DDR1 接口在初始化、读写、刷新时的波形,请进行 [Verilog仿真](#Verilog仿真)。 -## 模块接口:AXI4 从接口 +## 模块接口:AXI4从接口 DDR1 控制器对外提供 AXI4 从接口(AXI4 slave)的时钟和复位信号,如下。AXI4 主机应该用它们作为自己的时钟和复位。 @@ -273,7 +273,7 @@ AXI4 总线的地址(awaddr和araddr)统一是字节地址,模块会根据 本节讲述如何确定 **BA_BITS**、**ROW_BITS**、**COL_BITS** 和 **DQ_LEVEL** 这 4 个参数。 -从[模块接口:DDR1 接口](#模块接口:DDR1 接口)一节可以看出 DDR1 接口的一些信号的位宽是和参数有关的,用户需要根据 DDR1 的芯片选型来确定模块参数。 +从[模块接口:DDR1接口](#模块接口:DDR1接口)一节可以看出 DDR1 接口的一些信号的位宽是和参数有关的,用户需要根据 DDR1 的芯片选型来确定模块参数。 以 [MICRON 公司的 DDR-SDRAM](https://www.micron.com/products/dram/ddr-sdram) 系列芯片为例,不同芯片有不同的 ROW ADDRESS BITS (行地址宽度)、COL ADDRESS BITS(列地址宽度)、DATA BITS(数据宽度),决定了他们的位宽参数也不同,如下表(注:这些参数都能从芯片datasheet中查到)。