用于ddr控制器的访问控制方法、装置及电路的制作方法

文档序号:10472298阅读:482来源:国知局
用于ddr控制器的访问控制方法、装置及电路的制作方法
【专利摘要】本发明提供了一种用于DDR控制器的访问控制方法、装置及电路,该访问控制方法包括:根据访问请求译码生成DDR指令并缓存,DDR指令不携带时延参数;根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加到DDR指令中,生成访问请求对应的DDR控制指令。通过本发明的实施,将用户请求译码成对应的不带延时的DDR Command,根据DDR3规范,将精确时延加入不带时延的DDR Command中,生成DDR控制指令,使得访问请求的处理不受DDR Command间隔约束,实现了模块解耦控制,控制算法相对简单,大大降低了资源占用,减少访问时延,优化IP时序,提高带宽利用率。
【专利说明】
用于DDR控制器的访问控制方法、装置及电路
技术领域
[0001] 本发明设及DDR控制器领域,尤其设及一种用于DDR控制器的访问控制方法、装置 及电路。
【背景技术】
[0002] 抓R(抓R SDRAM,double data rate synchronous dynamic random access memory,双倍数据速率同步动态随机存取存储器)控制器主要用于对DDR(DDR/DDR2/DDR3) 的控制,是FPGA常用的IP之一。
[0003] 根据DDR规范,孤R的控制采取先发指令,延时相应指令的时间,最后收发数据的模 式,现有DDR控制器包括用户接口,rank时序控制,bank时序控制,col时序控制,数据发送模 块,数据接收模块,数据错误校验控制等,各个模块高度禪合,彼此调度极其复杂,占用了 FPGA大量的资源,较大的延时和较低的带宽利用率等。
[0004] 因此,本领域技术人员亟待提供一种用于DDR控制器的访问控制方法,W解决现有 DDR控制器各功能模块高度禪合的问题。

【发明内容】

[0005] 本发明提供了一种用于DDR控制器的访问控制方法、装置及电路,W解决现有DDR 控制器各功能模块高度禪合的问题。
[0006] 本发明提供了一种用于DDR控制器的访问控制方法,其包括:
[0007] 根据访问请求译码生成DDR指令并缓存,孤R指令不携带时延参数;
[000引根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加到DDR指令中,生 成访问请求对应的DDR控制指令。
[0009] 进一步的,根据访问请求译码生成DDR指令并缓存包括:将访问请求译码为对应的 孤R操作,将DDR操作分割为无缝DDR指令,缓存无缝DDR指令。
[0010] 进一步的,根据访问请求译码生成DDR指令并缓存,在将访问请求译码为对应的 DDR操作之后,还包括:为DDR操作插入刷新操作。
[0011] 进一步的,根据访问请求译码生成孤R指令并缓存,在缓存无缝DDR指令之后,还包 括:更新缓存状态。
[001 ^ 进一步的,查找与DDR指令对应的精确时延包括:获取孤R指令的指令状态,根据指 令状态查找对应的精确时延。
[OOU]本发明提供了一种用于DDR控制器的访问控制装置,其包括:
[0014]译码模块,用于根据访问请求译码生成DDR指令并缓存,孤R指令不携带时延参数; [001引控制模块,用于根据DDR规范,查找与孤R指令对应的精确时延,将精确时延添加到 DDR指令中,生成访问请求对应的DDR控制指令。
[0016]进一步的,译码模块用于将访问请求译码为对应的DDR操作,将DDR操作分割为无 缝DDR指令,缓存无缝DDR指令。
[0017]进一步的,译码模块在将访问请求译码为对应的DDR操作之后,还用于为DDR操作 插入刷新操作。
[001引进一步的,译码模块在缓存无缝DDR指令之后,还用于更新缓存状态。
[0019] 进一步的,控制模块用于获取DDR指令的指令状态,根据指令状态查找对应的精确 时延。
[0020] 本发明提供了一种用于孤R控制器的访问控制电路,其包括:
[0021] Dcq-wrapper电路接收访问请求,将访问请求译码生成DDR指令并缓存,孤R指令不 携带时延参数;
[0022] Dcq-cmd电路于根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加到 DDR指令中,生成访问请求对应的DDR控制指令。
[0023] 进一步的,Dcq-wrapper包括dcd-bm电路和dcd-sm电路,dcd-bm电路将访问请求译 码为对应的DDR操作,dcd-sm电路包括解码状态机,解码状态机将DDR操作分割为无缝DDR指 令,缓存无缝DDR指令至先进先出队列。
[0024] 进一步的,dcd-bm电路在将访问请求译码为对应的DDR操作之后,为DDR操作插入 刷新操作。
[0025] 进一步的,解码状态机在缓存无缝DDR指令之后,还用于更新缓存状态。
[0026] 进一步的,Dcq-cmd电路获取DDR指令的指令状态,根据指令状态查找对应的精确 时延。
[0027] 对应的,本发明提供了一种DDR控制器,其包括本发明提供的访问控制电路。
[0028] 本发明的有益效果:
[0029] 本发明提供了一种访问控制电路,将用户请求译码成对应的DDR Command,运些 孤R Command之间不带延时,根据DDR3规范,将精确时延加入不带时延的孤R Command中,生 成DDR控制指令,使得访问请求的处理不受DDR Command间隔约束,实现了模块解禪控制,控 审隐法相对简单,大大降低了资源占用,减少访问时延,优化IP时序,提高带宽利用率。
【附图说明】
[0030] 图1为本发明第一实施例提供的访问控制装置的结构示意图;
[0031] 图2为本发明第二实施例提供的访问控制方法的流程图;
[0032] 图3为本发明第Ξ实施例中化q-wrapper的结构示意图;
[0033] 图4为本发明第Ξ实施例中DDR控制器的结构示意图;
[0034] 图5为本发明第Ξ实施例中指令状态机的状态切换图;
[0035] 图6为本发明第Ξ实施例中化q-cmd输入时钟的时序图;
[0036] 图7为本发明第Ξ实施例中化q-cmd输出时钟的时序图。
【具体实施方式】
[0037] 现通过【具体实施方式】结合附图的方式对本发明做出进一步的i全释说明。
[003引第一实施例;
[0039]图1为本发明第一实施例提供的访问控制装置的结构示意图,由图1可知,在本实 施例中,本发明提供的用于DDR控制器的访问控制装置1包括:
[0040]译码模块11,用于根据访问请求译码生成DDR指令并缓存,DDR指令不携带时延参 数;
[0041 ]控制模块12,用于根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加 到DDR指令中,生成访问请求对应的DDR控制指令。
[0042] 在一些实施例中,上述实施例中的译码模块11用于将访问请求译码为对应的DDR 操作,将DDR操作分割为无缝DDR指令,缓存无缝DDR指令。
[0043] 在一些实施例中,上述实施例中的译码模块11在将访问请求译码为对应的DDR操 作之后,还用于为孤R操作插入刷新操作。
[0044] 在一些实施例中,上述实施例中的译码模块11在缓存无缝DDR指令之后,还用于更 新缓存状态。
[0045] 在一些实施例中,上述实施例中的控制模块12用于获取DDR指令的指令状态,根据 指令状态查找对应的精确时延。
[0046] 第二实施例;
[0047] 图2为本发明第二实施例提供的访问控制方法的流程图,由图2可知,在本实施例 中,本发明提供的用于DDR控制器的访问控制方法包括W下步骤:
[004引S201:根据访问请求译码生成DDR指令并缓存,孤R指令不携带时延参数;
[0049] S202:根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加到DDR指令 中,生成访问请求对应的DDR控制指令。
[0050] 在一些实施例中,上述实施例中的根据访问请求译码生成DDR指令并缓存包括:将 访问请求译码为对应的DDR操作,将DDR操作分割为无缝DDR指令,缓存无缝DDR指令。
[0051] 在一些实施例中,上述实施例中的根据访问请求译码生成DDR指令并缓存,在将访 问请求译码为对应的孤R操作之后,还包括:为孤R操作插入刷新操作。
[0052] 在一些实施例中,上述实施例中的根据访问请求译码生成DDR指令并缓存,在缓存 无缝DDR指令之后,还包括:更新缓存状态。
[0053] 在一些实施例中,上述实施例中的查找与DDR指令对应的精确时延包括:获取DDR 指令的指令状态,根据指令状态查找对应的精确时延。
[0054] 在一些实施例中,本发明提供了一种用于DDR控制器的访问控制电路,其包括:
[0055] Dcq-wrapper电路接收访问请求,将访问请求译码生成DDR指令并缓存,孤R指令不 携带时延参数;
[0056] Dcq-cmd电路于根据DDR规范,查找与DDR指令对应的精确时延,将精确时延添加到 DDR指令中,生成访问请求对应的DDR控制指令。
[0057] 在一些实施例中,上述实施例中的Dcq-wrapper包括dcd-bm电路和dcd-sm电路, dcd-bm电路将访问请求译码为对应的DDR操作,dcd-sm电路包括解码状态机,解码状态机将 孤R操作分割为无缝DDR指令,缓存无缝DDR指令至先进先出队列(fifo)。
[005引在一些实施例中,上述实施例中的dcd-bm电路在将访问请求译码为对应的DDR操 作之后,为DDR操作插入刷新操作。
[0059] 在一些实施例中,上述实施例中的解码状态机在缓存无缝DDR指令之后,还用于更 新缓存状态。
[0060] 在一些实施例中,上述实施例中的Dcq-cmd电路获取DDR指令的指令状态,根据指 令状态查找对应的精确时延。
[0061 ]对应的,本发明提供了一种DDR控制器,其包括本发明提供的访问控制电路。
[0062] 第=实施例:
[0063] 现结合具体应用场景对本发明做进一步的i全释说明。
[0064] 针对传统DDR控制器存在的不足,本发明创新的引入指令状态机,实现对DDR访问 与命令间时序的分离,降低各个模块间的禪合,从而使得DDR的控制相对简单,到达减少对 FPGA资源的占用,在相同的配置下,降低了访问延迟,同时提高了带宽利用率。
[0065] 本实施例的控制器包括:1 )AXI4用户接口模块,2)请求解码模块,3)命令处理模 块,4)数据接收模块,5)数据发送模块,6)低功耗模块,7)Aro配置模块,8)DFI接口模块。
[0066] 本实施例请求解码模块加入状态机运一方案。该方案的状态机,隔离接口用户的 请求与DDR Command关系。请求解码模块的方案设计如图3所示,图中通过加入解码状态机 缓冲,command_a;rb模块能连续处理用户通过请求,不受DDR Command间隔约束,运样用户对 DDR的访问在整个控制器内部被分成2个独立的模块,其中个模块是dcq_wrapper模块负责 处理用户请求并将请求编码成相应的DDR Command,另外一个模块是dcp_cmd负责DDR Command之间的延时处理。
[0067] 传统的DDR控制器包括rank时序控制模块,bank时序控制模块和CO1时序控制模块 等,DDR控制器对用户的请求处理,没有实现操作和时序的分离,导致控制算法极其复杂,模 块间彼此禪合,导致的缺点是:用户接日带宽效率低下,占用较多的FPGA资源,较大的时延, IP时序较差,DDR带宽利用率低等。采用本发明的技术后,有益效果有:实现了模块解禪控 审IJ,控制算法相对简单,大大降低了资源占用,减少访问时延,优化IP时序,提高带宽利用 率。
[006引孤R控制器采用Verilog HDL硬件描述语言实现,DDR的IP的内部模块的逻辑框图4 所示,该控制器包含的模块如下:
[0069] ui_axi模块41:本模块完成接口转换,将用户通过AXI4(Advanced extensible Interface)发送的访问请求转换成内部模块的接口。
[0070] dcq_wrappe^2 :本模块完成用户请求的解码,将用户请求译码成对应的DDR Command,运些孤R Command之间不带延时。
[0071] dcp_cmd43:本模块孤R Command的时延控制,根据孤R3规范,将精确时延加入不带 时延的孤R Command中。
[0072] 化ta-path44,包括writepath:本模块完成AXI接口写数据换成DFI接口写数据,用 户数据的发送受控于dcp_cmd模块发送的DDR Command;还包括readpath:本模块完成DFI接 口的读数据转换成AXI接口的读数据,用户接收数据之间间隔受控于dcp_cmd模块发送的 DDR Command。
[0073] ui_apb45:本模块完成功能有:a.APB(Advanced 化ri地eral Bus)接口的从机;b. 用户请求(MRS\low poweiAnormal)的接收并编码。将用户通过APB接口发送的MRS/low power/normal请求,进行编码,转换成应的内部接口信号,分别发送到dcp_cmd和DFI接口。
[0074] DFI46:本模块完成MUX功能和接口转功能,用户通过dcp_cmd或ui_apb发送的DDR Command通过判断相应的状态,分别输出至化HY模块47,同时将DDR Command转换成符合DFI 接口的命令。
[0075] 针对dcq_wrappe;r模块,分为dcd_bm模块和dcd_sm模块,其中dcd_bm模块完成将用 户访问请求译码成对应的DDR操作并自动插入刷新操作;dcd_sm模块将DDR操作分割成无缝 的孤R Command,其中解码状态机处于该模块。
[0076] 具体的,dcd_sm模块的端口如下表1所示:
[0077] 表 1 [007引
[0079]
[0080] 具体的,dcd_sm模块的状态机设计,如图5所示,其状态说明及跳转条件如下表2及 3所示。
[0081]表 2 Γ00821
[0085]
[0086] 针对dcd_sm模块的输入及输出时钟的时序,分别如图6及7所示,具体的,
[0087] 如图6所示,datsm模块输入,该典型时序是,用户发起不带Precharge(dec_pre_ now为low)的写操作(dec_w;r_rd为hi曲),地址是ADDR,读写的化ust长度为5(dec_len为3), 待写入的孤R的行处于非Activation(dec_new_;row为高)状态。
[0088] 图4指令状态机的输入信号的时序图
[0089] 如图7所示,经过解码状态机后,用户操作被分解成无缝的DDR Command,典型时序 如图7所示,ID号保持不变,bank地址和行地址不变,列地址依次加8 (dcd_wr_ad化),写操作 占用5个周期(dcd_w;r_cmd = 2,且dcd_w;r_cmd = 6),写使能有效时(dcd_w;r_en为hig),dcd_ wr_last,dcd_wr_id,dcd_wr_cmd,dcd_wr_addr 有效。
[0090] 综上可知,通过本发明的实施,至少存在W下有益效果:
[0091] 本发明提供了一种访问控制电路,将用户请求译码成对应的DDR Command,运些 孤R Command之间不带延时,根据DDR3规范,将精确时延加入不带时延的孤R Command中,生 成DDR控制指令,使得访问请求的处理不受DDR Command间隔约束,实现了模块解禪控制,控 审隐法相对简单,大大降低了资源占用,减少访问时延,优化IP时序,提高带宽利用率。
[0092] W上仅是本发明的【具体实施方式】而已,并非对本发明做任何形式上的限制,凡是 依据本发明的技术实质对W上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍 属于本发明技术方案的保护范围。
【主权项】
1. 一种用于DDR控制器的访问控制方法,其特征在于,包括: 根据访问请求译码生成DDR指令并缓存,所述DDR指令不携带时延参数; 根据DDR规范,查找与所述DDR指令对应的精确时延,将所述精确时延添加到所述DDR指 令中,生成所述访问请求对应的DDR控制指令。2. 如权利要求1所述的访问控制方法,其特征在于,所述根据访问请求译码生成DDR指 令并缓存包括:将所述访问请求译码为对应的DDR操作,将所述DDR操作分割为无缝DDR指 令,缓存所述无缝DDR指令。3. 如权利要求2所述的访问控制方法,其特征在于,所述根据访问请求译码生成DDR指 令并缓存,在将所述访问请求译码为对应的DDR操作之后,还包括:为所述DDR操作插入刷新 操作。4. 如权利要求3所述的访问控制方法,其特征在于,所述根据访问请求译码生成DDR指 令并缓存,在缓存所述无缝DDR指令之后,还包括:更新缓存状态。5. 如权利要求1至4任一项所述的访问控制方法,其特征在于,所述查找与所述DDR指令 对应的精确时延包括:获取所述DDR指令的指令状态,根据所述指令状态查找对应的精确时 延。6. -种用于DDR控制器的访问控制装置,其特征在于,包括: 译码模块,用于根据访问请求译码生成DDR指令并缓存,所述DDR指令不携带时延参数; 控制模块,用于根据DDR规范,查找与所述DDR指令对应的精确时延,将所述精确时延添 加到所述DDR指令中,生成所述访问请求对应的DDR控制指令。7. 如权利要求6所述的访问控制装置,其特征在于,所述译码模块用于将所述访问请求 译码为对应的DDR操作,将所述DDR操作分割为无缝DDR指令,缓存所述无缝DDR指令。8. 如权利要求7所述的访问控制装置,其特征在于,所述译码模块在将所述访问请求译 码为对应的DDR操作之后,还用于为所述DDR操作插入刷新操作。9. 如权利要求8所述的访问控制装置,其特征在于,所述译码模块在缓存所述无缝DDR 指令之后,还用于更新缓存状态。10. 如权利要求6至9任一项所述的访问控制装置,其特征在于,所述控制模块用于获取 所述DDR指令的指令状态,根据所述指令状态查找对应的精确时延。11. 一种用于DDR控制器的访问控制电路,其特征在于,包括: Dcq-wrapper电路接收访问请求,将所述访问请求译码生成DDR指令并缓存,所述DDR指 令不携带时延参数; Dcq-cmd电路于根据DDR规范,查找与所述DDR指令对应的精确时延,将所述精确时延添 加到所述DDR指令中,生成所述访问请求对应的DDR控制指令。12. 如权利要求11所述的访问控制电路,其特征在于,所述Dcq-wrapper包括dcd-bm电 路和dcd-sm电路,所述dcd-bm电路将所述访问请求译码为对应的DDR操作,所述dcd-sm电路 包括解码状态机,所述解码状态机及将DDR操作分割为无缝DDR指令,缓存所述无缝DDR指令 至先进先出队列。13. 如权利要求12所述的访问控制电路,其特征在于,所述dcd-bm电路在将所述访问请 求译码为对应的DDR操作之后,为所述DDR操作插入刷新操作。14. 如权利要求13所述的访问控制电路,其特征在于,所述解码状态机在缓存所述无缝 DDR指令之后,还用于更新缓存状态。15. 如权利要求11至14任一项所述的访问控制电路,其特征在于,所述Dcq-cmd电路获 取所述DDR指令的指令状态,根据所述指令状态查找对应的精确时延。16. -种DDR控制器,其特征在于,包括如权利要求11至15任一项所述的访问控制电路。
【文档编号】G11C7/22GK105825880SQ201610129974
【公开日】2016年8月3日
【申请日】2016年3月7日
【发明人】赵钦波
【申请人】深圳市紫光同创电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1