UG388翻译Chapter4_第1页
UG388翻译Chapter4_第2页
UG388翻译Chapter4_第3页
UG388翻译Chapter4_第4页
UG388翻译Chapter4_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、spartan-6存储器控制器用户手册 ug388chapter 4mcb operation启动顺序 校准 指令 寻址 命令路径的时序 写时序路径 读取路径的时序 内存交易 自刷新 暂停 字节地址到内存地址转换 交易订货和一致性启动顺序图4-1显示了mcb的启动过程。后在fpga已经完全 配置和pll提供的系统时钟锁定,一些初始化 并通过mcb自动进行校准步骤,准备进行正常的 操作。fpga配置及pll锁定 第1阶段校准输入端接 存储设备模式寄存器加载 第2阶段校准dqs居中 开始正常运行 第3阶段 连续校准调整dqs关于关图4-1 的注:1。软校准模块实现阶段1,2的一些方面,与3的 校准

2、。 2。 mcb的硬校准逻辑不执行单独的逐比特去歪斜dq数据总线。按照pcb布局考量的准则,第40页,以确保dq / dqs电路板走线的长度正确匹配。 (1)第一个主要的操作是校准的第一阶段。在该步骤中,软校准模块测量rzq引脚的外部电阻器的值,以确定若干预先定义的mcb标签(例如,dq总线)所需的片上输入端接值。仅当用户选择mig gui流量校准输入终端选项(参见ug416“设定的fpga选项”部分的spartan-6 fpga存储器接口解决方案用户指南)发生。否则,一个近似的未校准的片内端接或外部端接假设,而这个启动的步骤被跳过。 (2)启动顺序的第二个主要步骤是加载存储设备模式寄存器与所

3、需的参数。 存储设备已配置后,校准的第2阶段发生。这个阶段添加延迟到进入fpga的dqs选通信号的输入路径。我们的目标是在dqs选通转移到了将成为读数据采集窗口的中心。 (3)一旦所有的启动顺序中的操作已经完成,mcb的进入正常运行。当启动序列正在进行中,命令和数据可以被加载到用户界面的fifo,但没有执行命令,直到校准完成和块进入正常运行。 在正常操作时,软校准模块连续监测用于延迟dqs输入路径(上idelay的更多信息,请参阅了spartan-6 fpga的selectio资源用户指南)的idelay单元的抽头延迟值。这样做的目的是测量在每个抽头的延迟值,由于操作过程中的电压或温度变化的任

4、何变化。如果tap延迟值的转变被检测到,在dqs选通输入路径的tap延迟计数可调节,以保持他们在读数据采集窗口居中。更新到idelay值是在内存刷新操作来完成,以避免影响正常的数据操作和控制效率。校准第三阶段被称为连续dqs调整。见校准就calibration.to各个阶段的详细信息实现最佳的信号完整性和最大的时序裕量(因此,最高性能)的存储器接口,mcb的自动执行几种形式校准的启动顺序,第43页的简要概述。在mcb和mig工具(或edk)中产生的软校准模块硬盘校准逻辑共同努力,实现一个可靠,灵活的校准方案。校准的每一相将在下面更详细地讨论。 注:校准阶段2,在这第3条的说明假设 c_mc_c

5、alibration_mode属性设置为“校准”,如表2-2,第20页所述阶段1:输入终端片上匹配减少了元件数量并通过移动终端的接近信号传输尽可能的端点改善信号完整性。米格和edk gui界面允许“校准输入终端”被选定为mcb的预先定义的pin。此功能可创建一个片上输入端接mcb上根据引脚上的外部电阻器已校准,使其使用“未校准输入终端”选项时比更精确。 软校准模块使用两个i / o引脚,rzq和zio,由mig工具(或edk)的产生来执行输入端接的校准。 rzq是所有小型断路器设计所需的引脚。当校准输入终端时,一个电阻必须连接之间的rzq引脚和地与一个值的两倍所需的输入阻抗(例如,一个100的

6、电阻,以实现有效的50输入终端)的(2r)表示。 rzq应保留为一个无连接(nc)引脚不使用校准输入终端的设计。此外,rzq引脚必须是相同的i / o组的存储器接口引脚内。 该zio针时,才需要使用校准输入终端的设计,必须是一个无连接引脚(即没有连接到任何pcb走线)分配给mcb段(bank)内部有效的封装引脚(即保税i / o)的位置。的rzq和zio引脚的默认位置可以在ucf约束文件中找到。 软校准模块依赖于执行必要的输入端接所需的校准为sstl i / o标准的vref供应。当不同的i / o标准的使用(例如,用于移动ddr),通常不会要求vref电源,外部vref源仍必须要是一个校准输

7、入终端是需要提供的。 校准阶段1有效测量外部2r电阻和方案的mcb引脚的i / o模块来创建vcco和gnd之间的分裂终端的价值。这项计划将创建一个戴维宁等效终端接vcco / 2与r值,如图4-2所示。第2阶段:dqs居中 为了获得最佳性能和最大的时序余量,dqs选通信号的边缘必须集中在读取数据的捕获窗口与输入捕捉触发器。校准的第二阶段是负责这dqs定心操作。 ddr存储器器件输出引脚发送读数据(dq)和dqs选通边沿对齐到fpga输入引脚,如图4-3所示。可靠的操作,dqs选通信号必须延迟相对于dq位,这样它捕获读取数据远离数据总线的过渡区域。 在这个阶段,在dqs选通输入路径的idela

8、y模块的抽头延时计数递增转移内部的dqs信号的捕获触发器进会变成什么样的读数据采集窗口,如图4所示中心 - 3。第3阶段:连续调整dqs期间在idelay抽头值操作的变化,引起电压和温度变化。因为dqs选通信号是由半个位周期延迟超过了dq位,它使用更显著idelay抽头。因此,如果每响应于电压或温度漂移的idelay元素改变抽头的延迟值, dqs选通信号输入端路径上的延迟看到一个不相称的移相到dq位。为了补偿电压和dqs选通与温度有关的转移,校准三期正常运行期间连续运行。它使用的软校准模块连续监测用于延迟dqs输入路径的idelay元件的抽头延迟值。如果tap延迟值的转变被检测到,在dqs选通

9、输入路径的tap延迟计数可调节,以保持他们在读数据采集窗口居中。更新到idelay值是在内存刷新操作来完成,以避免影响正常的数据操作和控制效率。instructions表4-1提供了mcb实现的所有存储器指令的详细说明。加载指令到一个用户界面端口的命令fifo中, 3位代码的指令被移入px_cmd_clk的上升沿px_cmd_instr 2:0输入。write 000存储器写。写入的由px_cmd_bl5:0至开头处由px_cmd_addr指定29:0的字节地址处的存储器设备中指定的数据字的数目。之前发出此指令时,有足够的数据必须被装入写数据fifo来完成交易。否则数据“不足”的情况发生。该指

10、令是有效的只写和双向端口。read 001内存读取。读取由px_cmd_bl5:0从在由px_cmd_addr29:0中指定的字节地址开始的存储装置中指定的数据字的数目。之前发出这个指令,读取数据fifo必须有足够的空间来完成交易。否则数据“溢出”的情况发生。该指令是有效的只读和双向端口。write with autoprecharge存储器写带自动预充电。该指令是一样的写指令,但与自动预充电突发完成后追加。自动预充电关闭交易结束那里的dram组。这样可以提高延迟时间与倾向于在同一组的行间跳转更多的随机接入模式的应用程序。 注:mcb朝前看在随后的交易。如果下面的交易是在当前事务访问的同一行中

11、的自动预充电被跳过。read with autoprecharge存储器写带自动预充电。该指令是一样的写指令,但与自动预充电突发完成后追加。自动预充电关闭交易结束那里的dram组。这样可以提高延迟时间与倾向于在同一组的行间跳转更多的随机接入模式的应用程序。 注:mcb朝前看在随后的交易。如果下面的交易是在当前事务访问的同一行中的自动预充电被跳过。.refresh内存刷新。提示mcb发出刷新命令到存储设备。重置trefi计数器允许数据流不间断完全刷新周期。此指令只能用于高度定制的数据流结构。在一般情况下,断路器自动发出自身的刷新命令,周期性地导致对交易延迟增加。寻址从用户界面的角度来看, mcb

12、提供了一个简单和连续字节寻址方案到物理内存。在固定段的dram存储数据是通过该方案抽象,允许一个简单的类似sram的地址接口的事实。关于如何在段,行和列地址位被映射到字节地址的详细信息,请参阅字节地址到内存地址的转换,第58页。表4-2显示了如何呈现给用户界面的字节地址必须对齐到端口宽度。这取决于在该端口宽度的字节数,一定数量的低地址位必须被设置为0 ,以确保连续的地址落在数据字的边界。写数据屏蔽输入( px_wr_mask )的用户界面,可用于抵销的起始地址字节的位置。例如,要开始使用32位( 4字节)的用户界面时,在字节地址0x01写作,呈现给用户界面的命令端口字节地址应该是0x00 ,以

13、满足表4-2的要求,但的至少显著掩膜位应该被设置为1 ,使得仅在字节地址0x01和更高的实际写入。表4-2:用于字节地址对齐地址的要求 每个数据字地址要求端口宽度字节 32位4 px_cmd_addr1:0=2b00 64比特8 px_cmd_addr2:0 =3b000 128比特16 px_cmd_addr3:0 =4b0000同样重要的是要了解解决关系时,32位和64位端口一起使用的用户界面(见端口配置,第17页)。对于32位端口内存出现在4字节边界对齐,而对于64位端口内存出现在8字节边界对齐。表4-3显示了两个数据字为32位端口映射成一个64位端口一个数据字的地址空间如何。表4-3:

14、32位和64位端口地址的关系 32位端口的 64位端口 地址 数据 地址 数据 0x00 31:0 0x00 31:00x04 31:0 0x00 63:320x08 31:0 0x08 31:00x0c 31:0 0x08 63:32命令时序路径 用户界面的命令路径使用一个简单的4级深度fifo结构来保存挂起的命令。指令类型,地址,以及为所请求的事务处理突发长度都加载到这个命令fifo。满标志(px_cmd_full)信号从命令的fifo必须是低的被接纳进入fifo时px_cmd_en期间px_cmd_clk的上升沿被断言一个新的命令。否则,该命令将被忽略。图4-4和图4-5展示了协议,用于

15、加载命令到fifo。 交互参照目标 - 图4-4cmd_empty置为无效与写入登记在配置边缘时cmd_en断言在fifo中第一的位置。从字节地址0x005ad3f0写17个用户的话。写带自动预充电1个用户字字节地址0x00ee16ffc。读取字节地址0x00b2d3fc16个用户的话。写时序路径 用户界面的写入路径使用一个简单的64级深度的fifo结构,准备写事务内存保存数据。从写数据fifo类似命令fifo,满标志(px_wr_full)必须是低的新数据fifo接收时px_wr_en期间px_wr_clk上升沿有效。否则,该数据将被忽略。如果满标志为低时,px_wr_data总线数据在px

16、_wr_clk的上升沿,被捕获到fifo上。该px_wr_en被断言每个时钟周期,必须有px_wr_data总线上的有效数据。图4-6展示了协议,用于将数据加载到数据写入fifo。user_empty拉高与写入fifo中第一个位置登记在写入fifo配置边缘d0。we在最后一个数据被取消有效。 d7写入fifo。计数应该反映周期的总数在we有效时,从memc端延迟读指针的用户界面数是灵活的。计数投入未定义的增量计数可以在不确定的增量跳。该px_wr_underrun信号指示的内存控制器试图发送更多的数据比是目前在写数据fifo并认为这是针对内存中的数据从未达到内存的用户。必须避免这种情况,以保证

17、可靠的操作。为了避免欠载情况,用户必须保证所有必要的数据可在该写数据的fifo,以容纳一个事务提交该事务的命令fifo之前。 计数信号总线(px_wr_count)提供了在fifo中的条目数的计数。由于mcb fifo的异步性,计数信号总线具有比空和满的标志较长的等待时间。因此,该总线应该只被用于中间参考文献和水印。计数将对于通过用户的fifo操作立即转换。但是,较长时间提交由控制器才能看到明显比完整或空信号计数信号的操作。因此,对于写数据fifo的fifo被充填,计数始终报告至少尽可能多的条目是在fifo。 、计数将立即对用户所提交的 fifo 操作的过渡。但是,较长时间提交由控制器才能看到

18、明显比完整或空信号计数信号的操作。因此对于写数据 fifo 作为 fifo 灌装、 计数总是报告至少许多条目,正如在 fifo 中例如,如果用户写八个字到fifo中,计数可能会报告8,即使某处写入fifo的过程中,控制器可以开始提取数据从fifo中。此外,如果控制器继续发送数据到存储器,计数仍然可以表示在fifo条目,即使在fifo已经是空的。用于写数据fifo,它是完全适合于使用该计数信号总线作为一个几乎满标志因为fifo永远不会满,如果计数是报告小于满。然而,这是非常重要的,使用其他方法来确保溢条件不发生。read path timing用户界面的读取路径使用一个简单的64级深度的fifo

19、结构来保存数据从读事务返回。从读数据fifo的空标志(px_rd_empty)可以作为一个数据有效指示器。每当px_rd_empty置为无效,有px_rd_data总线有效的数据存在。从读取数据fifo的数据传输到fpga的逻辑,px_rd_en信号必须置位在px_rd_clk的上升沿。该px_rd_data总线转换在px_rd_clk的上升沿。该px_rd_en信号可以保持有效,在任何时候都与px_rd_empty信号可以作为有效数据 指示灯,如果需要的话。图4-7展示了协议,用于加载数据输出读取数据的fifo。user_empty拉高与fifo中重合配置边缘第一个数据的写入。由于控制器侧时

20、钟域跃迁允许额外的延迟。计数可以在不确定的增量跳。计数和呈现上配置边缘数据。计数必须经过解码逻辑。user_empty断言,在fifo中最后一个数据的读取。该px_rd_overflow信号指示该内存返回的数据超出装配到所读取的数据的fifo ,并且该数据被丢失的用户。必须避免这种情况,以保证可靠的操作。为了避免溢出状况,用户必须保证有足够的空间在读取数据fifo ,以适应一个事务提交的事务到命令的fifo之前。计数信号总线( px_rd_count )提供了在fifo中的条目数的计数。由于在mcb fifo的异步性时,计数信号具有长于空和满标志的延迟。因此,该总线应该只被用于中间参考文献和水

21、印。计数将相对于致力于通过用户的fifo操作立即转换,但它需要较长时间的操作员:控制器是表观上比满或空信号的计数信号。因此,对于读取数据fifo的fifo被排空时,计数总是报告小于或等于,实际上是在fifo中的条目数。例如,如果fifo包含8字,计数可能会报告8即使某处的从fifo读出的过程中,控制器可开始推动更多的数据到fifo。此外,如果控制器继续将数据推入fifo中,计数可以表示在fifo条目较少,即使在fifo已满或者甚至已经溢出。对于读数据fifo ,计数必须谨慎使用,因为很可能会在fifo比计数报告,特别是在飞行中的交易更多的数据。计数可以用来作为一个几乎空标志,但只到油门读数据通

22、路管道,不进行节流的命令到命令fifo中。内存交易 执行读或写交易需要适当的顺序,在命令和数据路径之间。下面的部分证展示简单的写和读交易的协议。 简单的写 要实现一个写事务,写数据fifo首先必须装入足够的数据,来完成所决定的,是进入”命令fifo”突发请求的长度值。否则,当事务尝试执行,一个欠载情况就会发生。 图4-8显示了最基本的协议,用于装载“写入数据fifo”。数据被呈现在px_wr_data总线上,并且px_wr_en被激活,使得数据被写入到fifo在px_wr_clk的上升沿。该px_wr_empty和px_wr_count值反映该数据已被加载到fifo的事实。在这个例子中,一共有

23、三个数据字(每个32位)被加载到fifo。之前断言写使能写数据到数据路径。数据写入fifo上wr_clk哪里写使能目前正沿。从空的状态下,空标志被置为无效的一个周期后,数据被写入到fifo由于同步寄存器,计数开始更新。随后写道:更新计数立即数据,如果不被拉断的fifo。图4-9示出了协议用于输入写请求到命令后fifo中的数据已经被加载到写入数据的fifo。该px_cmd_bl值(b10 =突发长度3)与加载的数据字的数量是一致的。当写请求被加载到命令fifo,mcb的自动执行交易到内存设备时,仲裁服务,此端口。写命令与指令,突发长度和起始地址。命令和地址写入fifo的cmd_clk的上升沿哪里

24、cmd_en存在。简单阅读 要实现一个事务读取,读取数据fifo必须有足够的空间来完成所决定的,是进入命令fifo突发长度值的请求。否则,当事务试图执行溢出的情况发生。 图4-10显示了协议,进入读请求到命令fifo。该px_cmd_bl值指定的来自存储器请求的数据字的数目。当读请求被加载到命令fifo,mcb的自动与存储设备执行交易,当仲裁者服务这个端口时。读命令与指令,突发长度和起始地址。命令和地址被写入fifo在cmd_clk的上升沿,在cmd_en显现。图4-10:进入读请求到命令fifo图4-11显示了所请求的数据从内存中,并返回被加载到读取数据fifo。然后,数据呈现的px_rd_

25、data总线上用于由fpga逻辑访问。该px_rd_empty和px_rd_count值表示数据已被加载到fifo。从内存中读取数据。在rd_data总线提供第一个有效数据字。空取消有效和计数反映fifo中的数据。图4-11:从存储设备读取数据返回从读取数据fifo的数据传输到fpga的逻辑,px_rd_en信号在px_rd_clk的上升沿,如图4-12激活。该px_rd_count值相应地更新。第一个有效数据字可在rd_data总线。计数的更新,以反映写入fifo的数据。rd_en弹出数据从fifo和计数递减.读取延迟 读延时是指从读命令写入到用户界面的命令路径fifo中,当对应的第一个数据

26、字可在读取数据的fifo路径定义为内存的时钟周期数。 当基准读取延迟,它来指定在其下的测量发生的确切情况是非常重要的。根据条件,比如读取延迟变化:发出已经在read命令之前,fifo流水线指令数 是否激活命令需要颁发打开新的段/行 无论是预充电命令必须发出来关闭先前打开的段 与总线时钟频率结合具体的时序参数的内存,如tras的和的trcd 在多端口设计的仲裁者的国家 存储设备cas延迟 板级和芯片级(适用于内存和fpga)传播延迟表4-4给出了mcb在两个内存时钟频率读取延迟为两种不同的情况。在第一种方案中,读出发生的行是已经打开的存储装置,这意味着没有预充电或行激活命令需要访问所请求的数据之

27、前。在第二种情况下,在发生读取到一个新的行地址位置(行/列的冲突)。这需要一个预充电来关闭先前打开的行,然后激活新行,从而增加读取延迟的。表4-4两种情景假设与等候在没有其他命令一个端口mcb的用户界面(即小型断路器早于读请求闲置)和cas延迟等于5的存储设备。表4-4:mcb读取延迟 读取延迟方案 读取延迟(内存时钟周期) memclk=333 mhz的 (667 mb /秒) memclk=400 mhz的 (800 mb /秒) 阅读从打开的行 outbound命令路径12.5 12.5 内存cas延迟(cl) 5 入读数据通路 4.5 4.5 总延时周期中 (时间(ns) 22个周期

28、(66纳秒) 22个周期 (55纳秒) 读取新行 outbound命令路径12.5 12.5 预充电/激活 10 12 内存cas延迟(cl)5 入读数据通路 4.5 4.5 总延时周期中 (时间(ns) 32周期 (96纳秒) 34个循环 (85纳秒)自刷新自刷新界面,通过其用户可以请求存储器进入或退出其自刷新模式的机制。自刷新只在lpddr ,ddr2和ddr3内存的支持。自刷新允许存储器,同时保留数据时,该存储器并不需要积极地传输数据节省电力。自刷新接口使用一个简单的协议进入和退出自刷新模式。一个单一的模式状态引脚( selfrefresh_mode )指示存储器当前是否处于自刷新模式。

29、异步selfresh_enter信号进行采样mcb的核心时脉,这往往是在运行速度比用户界面的时钟速度要快得多。进入自刷新模式, selfrefresh_enter信号有效,直到selfrefresh_mode变高(见图4-13 ) 。该selfrefresh_enter信号必须保持高留在自刷新模式。要退出该模式, selfrefresh_enter信号无效(见图4-14 ) 。该selfrefresh_mode信号变为低电平,指示自刷新模式已经退出。该selfresh_enter信号必须保持在一个稳定状态的条件,因为线路上的任何毛刺可以被解释为一个请求。在一般情况下,这些信号必须由用户才去mc

30、b ,以保证这些信号仅在需要时切换登记。在spartan - 6器件可置于进入暂停模式,而外部存储器处于自刷新模式,以进一步降低系统功耗。然而,在spartan -6器件不能被重新配置,而所述存储器设备处于自刷新模式。重新配置导致国家损失的小型断路器,防止适当从自刷新模式退出。暂停 本节介绍使用spartan-6器件包含一个mcb的界面设计的挂起模式功能两种推荐方式。 暂停模式没有dram的数据保留 在保留存储与dram设备中的数据并不重要情况下,挂起引脚可以简单地被带到high有效状态,进入挂起模式。在此之前将暂停引脚为高电平时,断路器应放置在复位带来async_rst到high有效状态。而

31、在暂停模式下,mcb保持在复位状态。 当暂停引脚为低电平退出挂起模式时,mcb保持在复位状态,直到pll_lock信号被激活,这表明一个稳定的时钟源mcb。对mcb然后退出复位和使用过程中的mcb的初始上电或系统复位时发生的相同的启动顺序初始化的dram。退出在这种情况下暂停模式时,所有的dram的数据应被视为无效。 挂起模式与dram的数据保留 在所述dram的数据必须被保留的情况下,suspend_sync原始必须使用与mcb的自刷新界面结合,以实现适当的暂停模式。该suspend_sync原语用于确保mcb使dram的设备进入自刷新模式(见自刷新部分),以保持其状态将在fpga进入暂停模

32、式之前。 图4-15显示了如何suspend_sync原始连接到暂停引脚的逻辑和mcb的接口来实现与dram的数据保留挂起模式。在图4-16中的时序图说明了成功取到fpga所需的信号关系,出在这种情况下挂起模式。为应对有源高挂起引脚, suspend_sync原始发送一个暂停请求( sreq )信号mcb的指示,进入暂停模式的愿望。该sreq信号直接连接到顶层的mig (或edk)的包装,从它被路由到软校准模块的selfrefresh_enter输入。软校准模块完成任何当前操作转发自刷新请求, mcb ,并从那里到存储设备之前。一旦mcb已成功配售的dram器件的自刷新模式, selfrefr

33、esh_mode输出变为高。这个信号被直接连接到suspend_sync原始的中止应答(sack )输入,指示fpga现在可以放置在暂停模式。当暂停发生的pll_lock信号丢失。当暂停引脚变为低电平退出挂起模式, sreq因此selfrefresh_enter信号变为无效,而fpga出现从暂停状态。该pll_lock信号最初是低作为pll试图锁定到输入时钟一次。然而,因为selfrefresh_mode信号是积极的,这低pll_lock条件不会导致mcb因为它通常会的系统复位。当pll锁定实现,软校准模块转发到离开该自刷新模式转移到mcb和从那里到所述存储器设备的请求。当dram设备已成功退出自刷新模式,则selfrefresh_mode信号返回到低状态,正常mcb的操作就可以恢复没有损失的d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论