带有动态端口的优先级分配能力的存储器控制器制造技术

技术编号:8046961 阅读:233 留言:0更新日期:2012-12-06 15:39
本发明专利技术涉及一种具有在主模块和系统存储器之间作为接口的存储器控制器的可编程集成电路。该存储器控制器可以经由具有关联优先级值的端口从主模块接收存储器访问请求,并且通过配置系统存储器来响应存储器访问请求从而履行存储器访问请求。为了在存储器控制器接收并履行存储器访问请求的同时动态修改关联的优先级值,可以提供优先级值更新模块,其为存储器控制器端口动态更新优先级值。该优先级值更新模块可以提供更新的优先级值给更新寄存器,基于更新信号和系统时钟更新更新寄存器。该优先级值可以由移位寄存器、存储器映射寄存器提供,或连同每个存储器访问请求由主模块提供。

【技术实现步骤摘要】
带有动态端口的优先级分配能力的存储器控制器本申请要求2011年6月1日提交的美国专利申请No.13/151,101的优先权。

技术介绍
可编程集成电路是能够由用户配置为实现定制的逻辑功能的集成电路类型。在典型的情形中,逻辑设计员使用计算机辅助设计(CAD)工具来设计定制的逻辑电路。当设计进程完成时,CAD工具生成配置数据。加载配置数据到可编程集成电路以配置器件,从而执行所期望的逻辑功能。在典型系统中,可编程集成电路可以用于和系统存储器通信。这种类型的可编程集成电路常常包括作为可编程集成电路和系统存储器之间接口的存储器控制器。可编程集成电路还包括被配置为通过发送存储器访问请求到存储器控制器来访问系统存储器的模块(例如,存储器控制器包括多个端口,每个端口从可编程集成电路内的相应的模块接收存储器访问请求)存储器控制器的每个端口被分配相应的优先级值。存储器控制器使用端口优先级值以确定执行从不同模块接收的存储器访问请求的顺序(即,确定哪个存储器访问请求比其他存储器访问请求优先)。可编程集成电路中的传统存储器控制器端口优先级值被分配有预定的端口优先级值,当存储器控制器正接收并履行存储器访问请求时,不能修改该预定的端口优先级值。
技术实现思路
集成电路(例如可编程集成电路)可以用于与系统存储器通信。可编程集成电路包括可以被配置为形成多个模块的可配置电路,每个模块可操作来执行需要访问系统存储器的任务。可编程集成电路也可以包括作为不同模块和系统存储器之间的接口的存储器控制器。各种模块可以耦合到存储器控制器,并且有时候本文可以称为“主”处理模块。存储器控制器可以从主处理模块经由具有关联的优先级值的端口接收存储器访问请求。存储器控制器可以通过配置系统存储器响应存储器访问请求从而履行存储器访问请求(例如,通过执行所期望的读取/写入操作)。可编程集成电路可以被提供有优先级值更新模块(有时候称为端口优先级更新电路),其被配置为在存储器控制器接收并履行存储器访问请求的同时动态修改与每个存储器控制器端口关联的优先级值。响应于使更新信号有效并且检测到系统时钟上升沿(作为例子),优先级值更新模块可以为不同的存储器端口提供新的优先级值。可以由各种源提供新的优先级值给优先级值更新模块,例如,可以由移位寄存器提供优先级值,可以由存储器映射寄存器提供优先级值,或可以由主处理模块提供优先级值连同存储器访问请求。优先级值更新模块可以接收优先级地址信号和其他控制信号,并可以基于优先级地址的值和控制信号将来自所期望的源的新的优先级值选择性地路由到对应的存储器控制器端口。从附图和下面的详细描述中,本专利技术的进一步特征、其本质和各种优点将更加显而易见。附图说明图1是根据本专利技术实施例的、可操作来与系统存储器通信的说明性可编程集成电路的图示。图2是被配置为接收固定端口优先级值的传统存储器控制器的图示。图3是根据本专利技术实施例的、被配置为接收利用移位寄存器提供的优先级值的端口优先级更新电路的图示。图4是根据本专利技术实施例的、被配置为接收利用移位寄存器和存储器映射寄存器提供的优先级值的端口优先级更新电路的图示。图5是根据本专利技术实施例的、被配置为接收利用移位寄存器、存储器映射寄存器以及相关的处理模块提供的优先级值的端口优先级更新电路的图示。图6是根据本专利技术实施例的、被配置为接收利用各种可重配置资源提供的优先级值的端口优先级更新电路的图示。图7是根据本专利技术实施例的、包括为每个存储器控制器端口分配期望优先级值的说明性步骤的流程图。图8是根据本专利技术实施例的、包括更新存储器控制器端口优先级值的说明性步骤的流程图。图9是根据本专利技术实施例的说明性可编程集成电路的图示。图10是根据本专利技术实施例的、示出逻辑设计系统如何生成配置数据并加载到可编程器件以配置该器件用于系统中操作的图示。具体实施方式本专利技术的实施例涉及包含存储器控制器的集成电路。集成电路,例如可编程集成电路,可以包括可重配置电路(本文有时候称为软结构(softfabric))。用户可以配置该可重配置电路以形成处理模块,例如通用处理模块或执行特定任务的处理模块。处理模块可以执行需要对系统存储器访问的任务(例如,存储数据以便以后取回)。集成电路(例如可编程集成电路)使用可编程存储器元件来存储配置数据。在对可编程集成电路编程期间,配置数据被加载到存储器元件中。在可编程集成电路的操作期间,每个存储器元件提供静态输出信号。由存储器元件提供的该静态输出信号作为控制信号。这些控制信号被施加到集成电路上的可编程逻辑以定制可编程逻辑去执行所期望的逻辑功能。可编程集成电路可以被提供有作为处理模块和系统存储器之间接口的存储器控制器。用于集成电路的存储器控制器可以由非可重配置逻辑形成(有时候称为“硬”存储器控制器,“硬连线的”存储器控制器,或“非可编程的”存储器控制器)。相比由可重配置逻辑(有时候称为“软”逻辑)形成的存储器控制器,硬存储器控制器可以提供改进的性能。与存储器控制器通信的每个处理模块有时候可以称为“主”处理模块(或主模块)。该存储器控制器可以具有耦合到相应主处理模块的端口。当主处理模块需要访问系统存储器时,主处理模块可以发送访问请求到存储器控制器。例如,主处理模块可以发送读访问请求到存储器控制器以从存储器中取回(retrieve)数据。该存储器控制器可以接收该读访问请求并通过提供控制信号到系统存储器来履行该读访问请求(例如,该存储器控制器可以接收该读访问请求并提供控制信号到系统存储器,这些控制信号配置系统存储器以用请求的数据进行响应)。作为另一个例子,该主处理模块可以将写访问请求连同要被加载到系统存储器的相应的写数据发送到存储器控制器。该存储器控制器可以接收写访问请求并通过配置系统存储器以在特定地址重写系统存储器来履行该写访问请求。由于系统存储器的限制,在给定的时间段内,存储器控制器仅能够履行有限数量的访问请求。例如,系统存储器可以由若干存储器条(bank)形成(例如,4或8个存储器条)。在任何给定时间,每个存储器条可以被配置为仅履行一个存储器访问请求(即,跟在第一存储器访问请求后面的对存储器条的第二存储器访问请求会被延时,直到存储器控制器已经完成履行第一存储器访问请求)。每个主处理模块可以发送多个存储器访问请求到存储器控制器的相应端口。由于系统存储器的限制,来自主处理模块的存储器访问请求按顺序处理。为了处理大量存储器访问请求,存储器控制器可以被提供有调度电路(有时候称为调度器),其并行地从主处理模块接收存储器访问请求并以所期望的顺序安排存储器访问请求以便串行处理(即,履行来自主模块的存储器访问请求的所期望的顺序)。可能期望将来自至少一些主处理模块的存储器访问请求区分优先次序。例如,第一主模块可以是通用处理电路(例如,被配置为执行通用处理任务的可配置电路的一部分),其发送读访问请求以从存储器取回程序指令代码数据。第二主模块可以是从通用处理电路接收指令的次级处理电路(例如,第二主模块可以是数字信号处理电路,其响应于从通用处理电路接收指令而解码视频数据)。在这个例子中,可能期望来自第一主模块(即,通用处理电路)的存储器访问请求的优先级高于第二主模块(即,数字信号处理电路)的存储器访问请求,因为第二主模块执行的功能是对第一主模块的补本文档来自技高网...
带有动态端口的优先级分配能力的存储器控制器

【技术保护点】
一种可操作来访问存储器的集成电路,其包括:可操作来生成存储器访问请求的可编程主模块电路;可操作来在第一端口和第二端口从所述可编程主模块电路接收所述存储器访问请求的存储器控制器,其中所述存储器控制器可操作来访问所述存储器以履行所述存储器访问请求,并且其中所述存储器控制器可操作来按顺序履行存储器访问请求;以及控制电路,其可操作来控制所述存储器控制器履行所述存储器访问请求的顺序。

【技术特征摘要】
2011.06.01 US 13/151,1011.一种可操作来访问存储器的集成电路,其包括:生成存储器访问请求的可编程主模块电路;在第一端口和第二端口从所述可编程主模块电路接收所述存储器访问请求的存储器控制器,其中所述存储器控制器访问所述存储器以履行所述存储器访问请求,其中所述存储器控制器按顺序履行所述存储器访问请求,并且其中所述存储器控制器通过按基于优先级值的顺序访问所述存储器来履行所述存储器访问请求,所述优先级值对应于所述第一端口和所述第二端口的端口优先级值;控制电路,其控制所述存储器控制器履行所述存储器访问请求的顺序;以及更新存储所述端口优先级值的寄存器,其中所述端口优先级值被存储在更新寄存器中的相应寄存器中并且在连续的时钟周期期间被更新。2.根据权利要求1所述的集成电路,其中所述存储器控制器包括非可编程存储器控制器。3.根据权利要求2所述的集成电路,进一步包括给所述更新寄存器提供所述优先级值的移位寄存器电路。4.根据权利要求2所述的集成电路,进一步包括给所述更新寄存器提供所述优先级值的可寻址寄存器电路。5.根据权利要求2所述的集成电路,进一步包括给所述更新寄存器提供所述优先级值的优先级值源。6.根据权利要求5所述的集成电路,其中所述存储器访问请求中的每个与所述优先级值中的一个关联,并且其中所述集成电路进一步包括至少一个优先级值源,所述优先级值源给所述更新寄存器供应所述优先级值并且进一步给所述存储器控制器的第一端口和第二端口供应所述存储器访问请求。7.根据权利要求6所述的集成电路,其中所述至少一个优先级值源包括至少一个主处理模块,所述主处理模块给所述更新寄存器动态供应所述优先级值。8.根据权利要求7所述的集成电路,其中所述至少一个主处理模块在供应所述优先级值时,进一步给所述存储器控制器的第一端口和第二端口供应所述存储器访问请求。9.一种集成电路,其包括:处理电路,其生成存储器访问请求以便访问存储器;非可重配置存储器控制器,其在多个端口接收所述存储器访问请求,每个端口具有关联的优先级值;多个优先级值源,每个优先级值源可操作来供应至少一个优先级值;可编程控制电路,其动态调整与所述多个端口中的每个关联的优先级值,其中所述存储器控制器还通过按基于所述优先级值的顺序访问所述存储器从而履行所述存储器访问请求;以及更新寄存器,其存储所述优先级值并且进一步可给所述非可重配置存储器控制器提供存储的优先级值,其中所述可编程控制电路包括:多路复用器电路,所述多路复用器电路耦合在所述更新寄存器和所述多个优先级值源之间;以及解码器,所述解码器控制所述多路复用器电路以将来自选择的优先级值源的所述优先级值路由到与所述非可重配置存储器控制器的选择的端口关...

【专利技术属性】
技术研发人员:M·H·M·朱J·舒尔兹C·宋R·卡帕斯
申请(专利权)人:阿尔特拉公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1