CN112506332A - 一种在可编程器件中节省功率的方法和系统 - Google Patents
一种在可编程器件中节省功率的方法和系统 Download PDFInfo
- Publication number
- CN112506332A CN112506332A CN202011437730.XA CN202011437730A CN112506332A CN 112506332 A CN112506332 A CN 112506332A CN 202011437730 A CN202011437730 A CN 202011437730A CN 112506332 A CN112506332 A CN 112506332A
- Authority
- CN
- China
- Prior art keywords
- region
- power
- gate array
- programmable gate
- field programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000006870 function Effects 0.000 claims abstract description 47
- 239000004065 semiconductor Substances 0.000 claims description 87
- 230000015654 memory Effects 0.000 claims description 50
- 238000013461 design Methods 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 9
- 230000003750 conditioning effect Effects 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000002618 waking effect Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 36
- 238000005192 partition Methods 0.000 description 57
- 238000010586 diagram Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920005630 polypropylene random copolymer Polymers 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本申请涉及提供一种在可编程器件中节省功率的方法和系统。本发明公开了一种使用一组可配置逻辑块(CLB)便于配置现场可编程门阵列(FPGA)以执行一个或更多个逻辑功能的过程或方法。在一个方面,该过程能够根据用户的选择将现场可编程门阵列的第一区域指定为动态功率区域(DPR),以节省功率。从用户处接收到指定给动态功率区域的第一子模块后,现场可编程门阵列的第一区域被分配给第一逻辑操作。设置与现场可编程门阵列的第一区域相关的用于控制动态功率区域功耗的第一基元后,在现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过第一基元对现场可编程门阵列的第一区域中的第一子模块进行功率调节。
Description
技术领域
本发明的示例性实施例涉及计算机硬件和软件。更具体地说,本发明的示例性实施例涉及诸如现场可编程门阵列(Field-Programmable Gate Array FPGA)或可编程逻辑器件(Programmable Logic Device PLD)等的可编程半导体器件的功率控制。
背景技术
随着数字通信、人工智能(Artificial Intelligence AI)、物联网(Internet ofThings IoT)和/或机器人控制的日益普及,对更迅速、高效同时低功耗的硬件和/或半导体的需求不断增加。要满足这种需求,一般来说,高速、灵活设计和低功耗的半导体芯片更合乎需求。硬件行业通常有各种方法来实现期望的逻辑功能。
传统的方法使用专用的定制集成电路和/或特殊应用集成电路(Application-Specific Integrated Circuits ASICs)来实现期望功能。特殊应用集成电路方法的缺点在于普遍价格高昂且灵活性有限。另一种日益流行的方法是利用诸如可编程逻辑器件(PLD)或现场可编程门阵列(FPGA)之类的可编程半导体器件(ProgrammableSemiconductor Devices PSD)。例如,终端用户可以对可编程半导体器件进行编程,以执行期望功能。
传统的可编程半导体器件(如可编程逻辑器件或现场可编程门阵列)是一种半导体芯片,包括可编程逻辑阵列块(Logic Array Blocks LABs)或逻辑块(Logic BlocksLBs)、路由资源和输入/输出(Input/Output I/O)引脚的阵列。每个逻辑阵列块可进一步包括多个可编程逻辑元件(Logical Element LE)。例如,每个逻辑阵列块可包括16到128个逻辑元件,其中每个逻辑元件可被具体编程以执行一个或一组功能。
传统可编程逻辑器件或现场可编程门阵列的缺点在于其功耗较高。
发明内容
本发明公开了一种使用一组可配置逻辑块(Configurable Logic Block CLB)配置现场可编程门阵列(FPGA)以执行一个或更多个逻辑功能的过程或方法。在一个方面,该过程能够根据用户的选择将现场可编程门阵列的第一区域指定为动态功率区域(DynamicPower Region DPR),以节省功率。在从用户处接收到指定给动态功率区域的第一子模块后,现场可编程门阵列的第一区域被分配给第一逻辑操作。设置与现场可编程门阵列的第一区域相关的用于控制动态功率区域功耗的第一基元后,在现场可编程门阵列的第二区域中创建第一使能逻辑(enabling logic),以便于通过第一基元对现场可编程门阵列的第一区域中的第一子模块进行功率调节。
一个实施例公开了一种可编程半导体器件(PSD),该可编程半导体器件具有第一区域、第二区域、第一区域功率控制(Regional Power Control RPC)和第二至第一功率控制连接(second-to-first power control connection)。在一个实施例中,第一区域包含第一可配置逻辑块(CLB),该第一可配置逻辑块可选择性编程以执行第一逻辑功能。第二区域包括一组第二可配置逻辑块,该第二可配置逻辑块被配置为可选择性编程以执行第二逻辑功能。耦合在第一区域和第二区域之间的第一区域功率控制端口或芯片间端口便于根据第二区域的数据向第一区域动态供电。第二至第一功率控制连接用于允许第二区域控制或便于对第一区域上电或断电。
本公开实施例还提供一种用于配置可编程逻辑器件以选择性执行一个或更多个逻辑功能的方法,包括:
根据功率选择,将现场可编程门阵列(FPGA)的至少一个第一区域指定为动态功率区域(DPR),以节省功率;
从用户处接收第一子模块,所述第一子模块被指定给动态功率区域,并被分配到所述现场可编程门阵列的所述第一区域,用于第一逻辑操作;
设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于控制所述动态功率区域的功耗;以及
在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
本公开实施例还提供一种辅助对具有改进后功率调节功能的现场可编程门阵列(FPGA)进行编程的方法,包括:
设置成允许用户将现场可编程门阵列的第一区域指定为动态功率区域(DPR),以节省功率;
辅助用户构建指定给动态功率区域的第一子模块,以执行数据驱动逻辑操作;
将所述第一子模块映射到所述现场可编程门阵列的所述第一区域;设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
设置成允许用户在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
本公开实施例还提供一种对可编程半导体器件的一部分进行动态断电和上电的方法,包括:
将可编程逻辑器件(PLD)划分为第一区域和第二区域;
根据用户输入,将所述可编程逻辑器件的所述第一区域设置为动态功率区域(DPR);
根据第一子模块中动态功率区域的指定,将所述第一子模块分配到所述可编程逻辑器件的所述第一区域;
设置与所述可编程逻辑器件的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
在所述可编程逻辑器件的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述可编程逻辑器件的所述第一区域中的所述第一子模块进行功率调节。
通过以下阐述的详细描述、附图和权利要求,本发明示例性实施例的其他特征和优点将变得明显。
附图说明
通过以下详细描述和本发明的各种实施例的附图,将更充分理解本发明的示例性实施例,然而,附图不应被认为将本发明限制到具体的实施例,而仅用于解释和理解。
图1是根据本发明的一个实施例示出的可编程半导体器件(PSD)框图,该可编程半导体器件能够向分区区域提供动态功率控制。
图2是根据本发明的一个实施例示出的路由逻辑或路由结构框图,该路由逻辑或路由结构包含可编程半导体器件中的可编程互连阵列。
图3是根据本发明的一个实施例示出的分区可编程半导体器件框图,该分区可编程半导体器件能够使用由可编程半导体器件的另一个区域产生的内部控制信号对可编程半导体器件的一个区域进行断电或上电。
图4是根据本发明的一个实施例示出的分区可编程半导体器件框图,该分区可编程半导体器件包含区域功率控制(RPC)端口。
图5A是根据本发明的一个实施例示出的分区可编程半导体器件的示例图,该分区可编程半导体器件包含用于功率调节的区域功率控制端口。
图5B是根据本发明的一个实施例示出的逻辑操作框图,该逻辑操作从用户角度出发,使用设计工具,将逻辑功能映射到分区的可编程半导体器件,形成用户流。
图6是根据本发明的一个实施例示出的使用动态功率区域设计子模块的逻辑流程图。
图7A是根据本发明的一个实施例示出的向分区可编程半导体器件分配功率的过程流程图。
图7B是根据本发明的实施例示出的逻辑过程流程图,该逻辑过程描述了从用户角度配置可编程逻辑器件,以选择性执行一个或更多个逻辑功能以节省功率。
图7C是根据本发明的一个实施例示出的逻辑过程流程图,该逻辑过程描述了站在用户的角度,用改进后的功率调节功能促进对现场可编程门阵列的编程。
图8是根据本发明的一个实施例示出的数字处理系统图,该数字处理系统使用能够提供各种功能的分区可编程半导体器件。
图9是根据本发明的一个实施例示出的各种系统框图,该系统使用分区可编程半导体器件、连接至云通信网络。
具体实施方式
本发明的实施例公开了用于为可配置器件或可编程半导体器件(PSD)提供动态运行时功率控制的方法和/或装置。
以下详细描述的目的是提供对本发明的一个或更多个实施例的理解。本领域的普通技术人员会意识到,以下详细描述仅是说明性的,并不意在以任何方式加以限制。受益于本公开和/或本描述的技术人员很容易联想到其它实施例。
为清楚起见,本文所述实施方式的常规功能并没有全部展示和描述。当然,可以理解,在任何这种实际实施方式的开发过程中,为了实现开发者的特定目标,例如遵守应用相关和商业相关的限制,可能会做出许多特定于实施方式的决定,而且这些特定目标会因不同的实施方式和不同的开发者而有所不同。此外,可以理解,这些开发工作虽然可能复杂耗时,但对于那些受益于本公开的实施例的本领域普通技术人员而言,这些开发工作只是一项常规的工程工作。
附图中所示的本发明的各种实施例并非按比例绘制。相反,为清楚起见,可以扩大或缩小各种特征的尺寸。此外,为清楚起见,一些图可能会被简化。因此,附图中可能没有描绘出给定装置(例如:设备)或方法的所有组件。在整个附图和下面的详细描述中将使用相同的参考标志来指代相同或类似的部件。
根据本发明的实施例,此处描述的组件、过程步骤和/或数据结构可以使用各种类型的操作系统、计算平台、计算机程序和/或通用机器来实现。此外,本领域的普通技术人员会认识到,在不偏离本文所公开的发明概念的范围和精神的情况下,也可以使用不那么通用的设备,例如硬件设备、现场可编程门列阵(FPGA)、特殊应用集成电路(ASIC)等。如果包含一系列过程步骤的方法是由计算机或机器实现的,并且这些过程步骤可以存储为机器可读的一系列指令,则它们可以存储在诸如计算机存储设备等的有形介质上,例如:只读存储器(Read Only Memory ROM)、可编程只读存储器(Programmable Read-Only MemoryPROM)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory EEPROM)、快闪存储器(Flash Memory)、跳跃驱动器(Jump Drive)、磁性存储介质(例如:磁带、磁盘驱动器等)、光存储介质(例如:只读光盘存储器(CD-ROM)、数字只读光盘存储器(DVD-ROM)、纸卡和纸带等)以及其他已知类型的程序存储器。
术语“系统”或“设备”在此一般用于描述任何数量的组件、元件、子系统、设备、分组交换元件、分组交换机、接入交换机、路由器、网络、计算机和/或通信设备或机制,或其组成部分的组合。术语“计算机”包括能够执行指令的处理器、存储器和总线,其中计算机是指一台计算机或一个计算机集群、个人计算机、工作站、主机或其计算机的组合。
本发明的一个实施例公开了一种方法或可编程半导体器件(PSD),该方法或可编程半导体器件能够促进对器件的一部分的动态运行时功率控制。能够选择性编程以执行一个或更多个逻辑功能的可编程半导体器件(如现场可编程门列阵或可编程逻辑器件)包括第一区域、第二区域、第一区域功率控制(RPC)和第二至第一功率控制连接。在一个实施例中,第一区域包含第一可配置逻辑块(CLB),该第一可配置逻辑块可选择性编程以执行第一逻辑功能。第二区域包括一组第二可配置逻辑块,该第二可配置逻辑块被配置为可选择性编程以执行第二逻辑功能。耦合在第一区域和第二区域之间的第一区域功率控制端口或芯片间端口根据第二区域中的数据促进或控制对第一区域的动态供电。第二至第一功率控制连接用于允许第二区域促进和/或控制对第一区域的供电。
本发明的另一个实施例还公开了用于便于配置现场可编程门阵列(FPGA)或可编程半导体器件的过程或方法,该过程或方法使用一组可配置逻辑块来执行一个或更多个逻辑功能。在一个方面,该过程能够根据用户的选择将现场可编程门阵列的第一区域指定为动态功率区域(DPR),以节省功率。在从用户处接收到指定给动态功率区域的第一子模块后,现场可编程门阵列的第一区域被分配给第一逻辑操作。设置与现场可编程门阵列的第一区域相关的用于控制动态功率区域的功耗的第一基元后,在现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过第一基元对现场可编程门阵列的第一区域中的第一子模块进行功率调节。
图1是根据本发明的一个实施例示出的可编程半导体器件框图100,该可编程半导体器件能够根据可编程半导体器件的分区结构提供动态功率控制。框图100包括多个分区功率区域(Partitioned Power Region PPR)102-108、可编程互连阵列(ProgrammableInterconnection Array PIA)150、内部功率分配结构(Power Distribution Fabric PDF)160和输入/输出(I/O)端口166。分区功率区域102-108,也称为电气栅格,还包括控制单元110、120、130、140、存储器112、122、132、142以及逻辑块(LB)116、126、136、146。在一个方面,功率分配结构160可以是可编程互连阵列150的一部分。应当注意,控制单元110、120、130、140可配置成单个控制单元,同样,存储器112、122、132、142也可配置成单个存储器设备以存储配置。应当注意,即使将一个或更多个模块(电路或元件)添加到框图100或从框图100移除,本发明的示例性实施例的基本概念也不会改变。
在一个实施例中,可编程半导体器件(也称为可编程逻辑器件或现场可编程门阵列)正在根据功率分配边界或电气栅格(如分区功率区域102-108)进行逻辑和/或物理分区。例如,当分区功率区域102完全运行执行各种数据处理和计算时,分区功率区域104可以以最小的功耗处于睡眠模式。从一方面来说,睡眠模式是一种功率节省模式,在维护配置数据的情况下,将逻辑块内的大部分(若非全部)逻辑阵列块断电。在一个方面,当相关逻辑块处于睡眠模式时,配置数据可以持续更新。例如,可编程半导体器件激活动态运行时功率控制器(Dynamic Runtime Power Controller DRPC)以对逻辑块126断电(或上电),同时控制存储器122有足够的功率以维持逻辑块126的配置数据。
逻辑块116、126、136、146包括多个逻辑阵列块118、128、138、148,其中每个逻辑阵列块被组织成包含一组可编程逻辑元件(LE)或宏单元(图1中未显示)以及其他电路。例如,每个逻辑阵列块可以包括32-512个可编程逻辑元件。输入/输出引脚(图1未示出)、逻辑阵列块和逻辑元件通过可编程互连阵列150和/或其它总线(如总线162、114、124、134、144)连接,以促进可编程互连阵列150和分区功率区域102-108之间的通信。每个逻辑元件包括可编程电路,如乘积项矩阵(product-term matrix)和寄存器等。例如,每个逻辑元件可独立配置以执行顺序和/或组合逻辑操作。应当注意,即使将一个或更多个模块和/或电路添加到可编程半导体器件或从中移除,可编程半导体器件的基本概念也不会改变。
在一个实施例中,控制单元110、120、130、140可以是单个控制单元。例如,控制单元110基于存储在存储器112中的配置来管理和/或配置逻辑阵列块118中的单个逻辑元件。应当注意,一些输入/输出端口或输入/输出引脚也可被编程为输入引脚和输出引脚。有些输入/输出引脚可以进一步编程为能够同时接收和发送信号的双向输入/输出引脚。控制单元(如控制单元110)也可用于为可编程半导体器件处理和/或提供系统时钟信号。
逻辑块116、126、136、146可由终端用户编程。根据应用,逻辑块可被配置为基于由编程软件管理的预定义功能库执行用户特定功能。基于配置,可编程半导体器件的一部分(如分区功率区域106-108)可以根据其他分区功率区域(如分区功率区域102-104)中的输入数据和/或数据处理而被动态地上电或断电。在维持分区功率区域的配置的同时关闭一个或更多个分区功率区域的好处是节省功率。在某些应用中,可编程半导体器件还包括用于执行特定功能的一组固定电路。例如,可编程半导体器件可以包括一部分半导体区域,用于固定的非可编程处理器,以提高计算能力。
可编程互连阵列150通过各种内部总线(如总线114、124、134、144、162)耦合到逻辑块116、126、136、146。在一些实施例中,总线114、124、134、144、162以及功率分配结构160是可编程互连阵列150的一部分。每条总线包括用于传输信号的通道或导线。应当注意,术语“通道”、“路由通道”、“导线”、“总线”、“连接”和“互连”均指类似的连接,在本文可互换使用。可编程互连阵列150还可用于通过输入/输出引脚和逻辑阵列块直接或间接地从/向其它设备接收和/或传输数据。
在一个方面,能够选择性编程以执行一个或更多个逻辑功能的可编程半导体器件包括第一区域(如分区功率区域102)、第二区域(如分区功率区域104)、第一区域功率控制端口以及第二至第一功率控制连接(如功率分配结构160)。包括一组第一逻辑阵列块的第一区域可选择性编程以执行第一逻辑功能。包括一组第二逻辑阵列块的第二区域也可选择性编程以执行第二逻辑功能。第一区域功率控制端口(如芯片间端口152)可配置为动态控制对第一区域的供电。第一区域功率控制端口(如芯片间端口152)耦合到第一区域中的各种电源连接,用于功率调节。第二至第一功率控制连接(如通道155)被配置为允许第二区域(如分区功率区域104)控制对第一区域(如分区功率区域102)的供电。
在一个实施例中,可编程半导体器件还包括第二区域功率控制端口(如芯片间端口154)、第一至第二功率控制连接(如通道155)、第一配置存储器(如存储器112)、第二配置存储器(如存储器122)。第二区域功率控制端口的输入能够动态控制对第二区域的供电。第一至第二功率控制连接被配置为允许第一区域(如分区功率区域102)选择性地控制对第二区域(如分区功率区域104)的供电。第一配置存储器(如存储器112)存储第一区域的第一配置,第二配置存储器(如存储器122)存储第二区域的第二配置。应当注意,当第一区域功率控制端口处的输入不提供功率时,第一区域可以切换到睡眠模式。
在一个方面,可编程半导体器件还包括第三区域(如分区功率区域106),第三至第一功率控制连接。第三区域包含一组第三逻辑阵列块(如逻辑阵列块138),并且被配置为选择性编程以执行第三逻辑功能。第三至第一功率控制连接,耦合在第三区域和第一区域功率控制端口之间,被配置为允许第三区域控制对第一区域(如分区功率区域102)的供电。应当注意,通道155和/或功率分配结构160是一种逻辑说明,其中通道155和/或功率分配结构160可以由可编程互连阵列150实施。另外,区域功率控制端口(如端口152-158)可以是被配置为开启或关闭对连接区域或分区功率区域供电的内部电路(如多路复用器和/或切换器)。
在一个实施例中,基元块被配置为便于执行端口功能(如区域功率控制端口152)。基元块的功能是控制对一个或更多个分区功率区域的供电。在一个示例中,一个或更多个基元块位于分区功率区域的边界处或边界上。
采用动态运行时功率控制器的优点是通过基于可分离功率边界将可编程半导体器件划分为多个电气栅格或区域,以节省可编程半导体器件内的功耗。
图2是根据本发明的一个实施例示出的路由逻辑或路由结构框图200,该路由逻辑或路由结构包含可编程半导体器件中的可编程互连阵列。框图200包括控制逻辑206、可编程互连阵列202、输入/输出引脚230和时钟单元232。控制逻辑206可以类似于图1所示的控制单元,提供各种控制功能,包括通道分配、差分输入/输出标准以及时钟管理。控制逻辑206可包含易失性存储器、非易失性存储器和/或易失性和非易失性存储器设备的组合。存储器设备包括但不限于快闪存储器、电可擦可编程只读存储器(EEPROM)、可擦可编程只读存储器(Erasable Programmable Read-Only Memory EPROM)、熔断器、防熔断器、磁性随机存取存储器(Magnetic RAM MRAM)、SRAM、动态随机存取存储器(Dynamic Random-AccessMemory DRAM)和/或ROM,用于数据存储和配置。在一个实施例中,控制逻辑206被并入到可编程互连阵列202。应当注意,即使将一个或更多个模块(电路或元件)添加到框图200中或从框图200中移除,本发明示例性实施例的基本概念也不会改变。
在一个示例中,通过总线231连接到可编程互连阵列202的输入/输出引脚230包括多个可编程的输入/输出引脚,这些引脚可以接收和发送信号到可编程半导体器件外部。例如,每个可编程输入/输出引脚可被配置为输入引脚、输出引脚和/或双向引脚。根据应用,输入/输出引脚230可并入控制逻辑206中。
在一个示例中,时钟单元232通过总线233连接到可编程互连阵列202,接收来自其他组件(如时钟树电路或全局时钟振荡器)的各种时钟信号。在一个示例中,时钟单元232响应系统时钟和参考时钟,产生时钟信号,用于实现输入/输出通信。根据应用,时钟单元232向可编程互连阵列202提供包括参考时钟(多个参考时钟)在内的时钟信号。
在一个方面,可编程互连阵列202被组织成包括通道组210和220、总线204和输入/输出总线114、124、134、144的阵列方案。通道组210、220用于基于可编程互连阵列的配置促进在逻辑块之间路由信息。通道组也可通过内部总线或连接(诸如总线204)相互通信。通道组210还包括互连阵列解码器(Interconnecting Array Decoders IAD)212-218,并且通道组220包括四个互连阵列解码器222-228。互连阵列解码器的功能是为数据传输提供可配置的路由资源。
例如,互连阵列解码器(如互连阵列解码器212)包括路由电路,如路由多路复用器或选择器,以下称为多路复用器,用于在输入/输出引脚、反馈输出和逻辑阵列块输入之间路由各种信号。每个由若干个多路复用器组织成的互连阵列解码器,用于路由互连阵列解码器接收的各种信号。例如,一个互连阵列解码器可以包括36个多路复用器,该多路复用器可置于四组中,其中每组包含九个多路复用器。因此,例如,互连阵列解码器的每个组可以选择9个多路复用器中的任意一个或全部来路由互连阵列解码器接收的一个或九个信号。应当注意,每个通道组内的互连阵列解码器数量是逻辑阵列块内逻辑元件数量的函数。在一个实施例中,互连阵列解码器是可编程的,它可被配置为以最有效的方式路由信号。为了增强路由能力,互连阵列解码器采用了可配置的多路复用结构,这样,可配置的多路复用器允许其多路复用器的一部分被相邻互连阵列解码器中的另一个多路复用器使用。
在一个实施例中,可编程互连阵列202被配置为将特殊互连阵列解码器(如互连阵列解码器218)指定为电源路由互连阵列解码器。例如,互连阵列解码器218被配置为在运行期间动态地促进和/或控制对某个(某些)分区功率区域的供电。应当注意,运行时的动态供电可称为对分区功率区域自动上电或断电,以达到运行时的功率节省目的。在一个方面,互连阵列解码器218用于在操作期间根据来自动态运行时功率控制器的指令促进功率分配结构以促进和/或控制对各种分区功率区域的供电。
在可编程互连阵列内使用互连阵列解码器218作为指定电源路由的优点是,可以将功率分配结构配置为可编程互连阵列的一部分。
图3是根据本发明的一个实施例示出的分区可编程半导体器件框图300-306,该分区可编程半导体器件能够使用由可编程半导体器件的另一个区域产生的内部控制信号对可编程半导体器件的一个区域进行断电或上电。框图300示出了分为四(4)个区域或电气栅格310-316的可编程半导体器件,其中每个区域可以根据处理的数据独立地上电或断电。应当注意,可编程半导体器件可根据应用和技术的不同,划分出任何数量的功率区域。应当注意,即使将一个或更多个模块(电路或元件)添加到框图300中或从框图300中移除,本发明示例性实施例的基本概念也不会改变。
框图300所示的可编程半导体器件示出了现场可编程门阵列结构,该结构在物理上被划分成多个物理功率区域(Physical Power Region)310-316。虽然分区区域的数量可能会有所不同,但在本实施例中,可编程半导体器件或现场可编程门阵列被划分为四(4)个区域,该区域可根据输入数据被独立上电或断电。虽然框图300中显示的可编程半导体器件被划分成四(4)个基本相同的方形分区区域,但每个区域的形状可根据应用而变化。
框图302,类似于框图300,示出了具有四(4)个区域或分区功率区域的可编程半导体器件,其中分区功率区域320和324-326上电并正常工作,而分区功率区域322在睡眠模式下断电。当功率区域(如分区功率区域322)断电时,它消耗的功率很小,只够维持其配置。由于断电区域或分区功率区域的配置保存在存储器中,因此断电区域可快速上电。应当注意,当配置在断电模式下保持不变时,上电过程几乎可以立即完成,根据应用和半导体技术的不同,可在5至100纳秒(Nanoseconds,ns)内完成。
框图306,类似于框图302,说明了可编程半导体器件的动态运行时上电和/或断电的转换。例如,框图302中的分区功率区域322如框图306所示的分区功率区域332那样上电。框图302中的分区功率区域324-326如框图306所示的分区功率区域334-336那样断电。应当注意,在运行过程中,每个功率区域或分区功率区域可根据一定的条件单独地动态断电或上电。例如,分区功率区域上电或断电的条件可基于来自另一个区域的输入数据。另一个条件是由另一个分区功率区域产生的输入数据(或处理结果)。此外,该条件可以是由外部器件或处理器设置的信息。
将独立的分区功率区域设置为睡眠模式的优点是节省功耗。
图4是根据本发明的一个实施例示出的分区可编程半导体器件400的框图,该分区可编程半导体器件包含区域功率控制(RPC)端口。可编程半导体器件400包括四(4)个分区功率区域410-416、四(4)个区域功率控制端口420-426和功率分配结构428。分区功率区域410和414-416正常工作时,分区功率区域412处于睡眠模式。在一个方面,作为芯片间端口或连接器的区域功率控制端口可被配置为促进、控制对连接的分区功率区域的供电和/或向连接的分区功率区域传输电力供给。例如,区域功率控制端口420专门用于控制分区功率区域412的功率或供电,区域功率控制端口426被配置为控制对分区功率区域414的供电。应当注意,即使将一个或更多个模块(电路或元件)添加到可编程半导体器件400中或从可编程半导体器件400中移除,本发明示例性实施例的基本概念也不会改变。
在一个实施例中,区域功率控制端口420-426用于方便区域功率控制输入到分区功率区域410-416。应当注意,每个区域都有一个区域功率控制输入,以执行区域断电或区域上电。在一个方面,区域功率控制输入通过区域功率控制端口连接到结构路由。在另一个实施例中,功率区域外的逻辑或数据可被路由到区域功率控制输入。
工作时,分区功率区域414中的逻辑阵列块402根据输入数据产生功率控制信号,随后经由功率分配结构(如连接或功率分配结构428)、通过区域功率控制端口420将功率信号或功率控制信号发送给分区功率区域412。信号到达分区功率区域412后,分区功率区域412根据已存储的配置进行唤醒。分区功率区域412一通电就开始正常工作,并通过区域功率控制端口420从区域3持续流向区域2。
图5A是根据本发明的一个实施例示出的分区可编程半导体器件500的示例图,该分区可编程半导体器件包含用于功率调节的区域功率控制端口。可编程半导体器件500类似于图4所示的可编程半导体器件400,包括四(4)个分区功率区域509、412-416,四(4)个区域功率控制端口420-426,以及功率分配结构508、510、512。分区功率区域509正常工作时,分区功率区域412-416处于睡眠模式。在一个方面,区域功率控制端口420-426被配置为促进和/或控制对分区功率区域509和412-416的供电。例如,区域功率控制端口420专门用于促进和/或控制分区功率区域412的功率,并且区域功率控制端口426被配置为促进和/或控制对分区功率区域414的供电。应当注意,即使将一个或更多个模块(电路或元件)添加到可编程半导体器件500中或从可编程半导体器件500中移除,本发明示例性实施例的基本概念也不会改变。
在一个方面,分区功率区域509被编程为具有数据检测逻辑502,该数据检测逻辑502被配置为接收输入数据506,并根据输入数据506提供控制对分区功率区域412的供电的功率信号或功率控制信号。数据检测逻辑502,可以配置为分区功率区域509内的逻辑阵列块的一部分,通过连接508-516与分区功率区域412-416耦合,其中连接512与区域功率控制端口420耦合以用于供电。在一个实施例中,可编程半导体器件500这样编程使得在数据不可用时,允许一种或更多种类型的应用关闭计算活动。例如,当数据可用时,数据检测逻辑502可以唤醒所有计算功能,如分区功率区域412。
工作时,在接收到输入数据506后,数据检测逻辑502根据输入数据506产生功率控制或功率信号作为电力供给。在对输入数据506进行处理和验证后,数据检测逻辑502通过连接512和区域功率控制端口420向分区功率区域412发送功率控制信号,以唤醒分区功率区域412。在一个方面,如附图标号522、524或526所示,数据检测逻辑502还能够向区域功率控制端口422、426、424提供功率控制信号,以打开或关闭相关区域(如分区功率区域412、414和/或416)。从本地存储器重新加载配置后,分区功率区域412开始响应输入数据506,进行操作和/或处理信息。根据应用,区域功率控制端口(如端口420-422)可被配置为接收功率控制信号、电力供给或控制信号和电力供给的组合。
根据输入数据唤醒一个或更多个分区功率区域的优点是,分区功率区域可断电,直到数据可用。这种应用尤其适用于人工智能(AI)应用,因为人工智能系统中的许多逻辑设备在某些数据变得可用之前不需要操作。
图5B是根据本发明的一个实施例示出的逻辑操作框图530,该逻辑操作从用户角度出发,使用设计工具,将逻辑功能映射到分区的可编程半导体器件上,形成用户流。框图530包括用户或用户设备540、设计工具550和可编程半导体器件552。在一个方面,设计工具550包括设计顶(Design Top DT)532、单元1(unit_1)536和单元1使能单元(u1_ena)534,而可编程半导体器件552被划分成四(4)个分区功率区域或动态功率区域410-416。应当注意,即使将一个或更多个模块(电路或元件)添加到框图530中或从框图530中移除,本发明示例性实施例的基本概念也不会改变。
在一个示例中,设计工具550可以是经修改的或专有的电子设计自动化(Electronic Design Automation EDA)工具,其配置为便于设计、置放(place)、模拟和编程可编程半导体器件、现场可编程门阵列或可编程逻辑器件(如可编程半导体器件552)。为了提供一个或更多个动态功率区域,例如,设计顶532根据应用和所使用的半导体技术将可编程半导体器件552划分成多个分区功率区域或动态功率区域410-416。设计顶532的功能是根据用户的输入,通过例如用户设备540,促进、减少或防止跨分区边界的优化的执行。应当注意,每个逻辑动态功率区域可能需要被分配到芯片(如可编程半导体器件552)内的物理动态功率区域。一般而言,所有分配到一个区域的逻辑都需要在一个物理动态功率区域内进行置放和路由。
在一个实施例中,设计顶532帮助实现用户模型,该用户模型源自用户并且能够定义逻辑动态功率区域和/或区域功率控制基元。在一个方面,基元根据预定义的片间结果或数据,执行区域上电或区域断电(region_power_down或region_power_up)的功能。例如,基元根据输入数据的可用性为一个或更多个动态功率区域上电或断电。在一个实施例中,基元(如单元1使能单元534)在接收输入或输入信号时不为逻辑数据提供扇出(fanout)。例如,基元的输入决定了动态功率区域是否应根据一组预定义条件上电或断电。基元的输出是对芯片的一部分或可编程半导体器件552的功率控制。
在一个实施例中,设计工具550通过例如用户设备540,根据源自用户的用户输入促进用户流。动态功率区域分区后,设计工具550根据用户输入生成用户设计。用户设计包括一个动态功率区域的子模块和相关的功率控制基元。在一个方面,作为用户期望的逻辑功能的子模块是单元1 536。功率控制基元或基元是用于控制对单元1 536的供电的单元1使能单元(Unit1 Enable Unit,U1_ena)534。在创建逻辑动态功率区域(如动态功率区域412或区域2)后,子模块或单元1 536和基元或单元1使能单元534被分配到逻辑动态功率区域,如标号542所示。在一个实施例中,将逻辑动态功率区域或动态功率区域412分配或映射到可编程半导体器件552的物理位置可由用户选择性地指定。另外,设计工具550或电子设计自动化工具自动为容纳单元1 536选取可编程半导体器件552的物理位置。需要注意的是,没有动态功率区域(power_region)赋值(assignment)的逻辑将处于默认始终开启区域。
在设计、置放和编程可编程半导体器件的操作期间,设计工具550通过用户设备540向用户提供动态功率区域分区选项。在将可编程半导体器件552划分成四(4)个动态功率区域410-416后,根据用户设备540的用户输入,生成能够执行一个或更多个期望逻辑功能的单元1 536。例如,单元1 536是数据驱动计算组件或子模块,该数据驱动计算组件或子模块可根据输入数据的可用性而打开或关闭。在一个实施例中,设计顶532随后产生基元或单元1使能单元534,用于促进对单元1 536的功率控制,以节省功率,如标号538所示。在一个实施例中,将单元1 536映射到动态功率区域412后,单元1使能单元534被置放或映射到区域功率控制端口420。在一个方面,基元或单元1使能单元534被配置为通过连接428从逻辑阵列块402接收控制信号。在一个方面,逻辑阵列块402能够向单元1使能单元534提供必要的功率控制信号,以决定动态功率区域412是否应该被激活或置于睡眠模式。应当注意,基元也可根据应用被映射到区域功率控制端口422、424或426。
使用设计工具550的优点是,它允许用户使用集成电路或可编程半导体器件的一个区(或区域)来控制集成电路或可编程半导体器件的另一个区或区域的供电。
本发明的示例性实施例包括各种处理步骤,这些步骤将在下文中描述。该实施例的步骤可体现于机器或计算机可执行的指令中。所述指令可用于使得编程有该指令的通用或专用系统执行本发明示例性实施例的步骤。另外,本发明示例性实施例的步骤可由包含执行步骤的硬线逻辑的特定硬件组件执行,或者由经编程的计算机组件和定制的硬件组件的任意组合执行。
图6是根据本发明的一个实施例示出的使用动态功率区域设计子模块的逻辑流程图660。在方框662处激活置放工具或电子设计自动化工具后,该过程在方框664处确定是否选择动态功率区域。如果选择了动态功率区域,则该过程将进入方框666。否则,该过程将进入方框668,以在没有一个或多个动态功率区域的情况下置放逻辑功能。在方框666处,该过程识别现场可编程门阵列是否具有动态功率区域功能。如果没有,则该过程进入结束方框。如果现场可编程门阵列具有动态功率区域功能,则在方框670处将现场可编程门阵列划分为多个区域或动态功率区域。在方框672处产生逻辑功能后,在方框674处创建能够促进功率控制的基元。在方框676处将逻辑或子模块分配给DPR_1(动态功率区域1)之后,DPR_1随后在方框678处被映射到物理位置的区域1。在方框680处产生控制逻辑后,在方框682处将控制逻辑分配给DPR_2(动态功率区域2)。然后将DPR_2映射到区域2或DPR_2。
在另一个实施例中,动态地对可编程逻辑器件的一部分进行断电和上电的过程能便于将可编程逻辑器件划分为第一、第二、第三和第四区域。根据用户输入将可编程逻辑器件的第一区域设置为动态功率区域后,根据第一子模块中动态功率区域的指定,将第一子模块分配到可编程逻辑器件的第一区域。当设置与可编程逻辑器件第一区域相关的第一区域功率控制的第一基元以用于控制第一区域的功耗时,在可编程逻辑器件的第二区域中创建第一使能逻辑,用于通过第一基元促进对可编程逻辑器件第一区域中第一子模块的功率调节。在一个方面,该过程还能根据多个第二逻辑块中的至少一部分第二逻辑块的数据处理结果,由具有多个第二可配置逻辑块的第二区域产生第一功率控制信号。在通过将第二区域与第一区域耦合的第二至第一功率连接,将第一功率控制信号从第二区域转发至第一区域功率控制端口后,响应于促进(控制)对第一区域供电的第一功率控制信号,唤醒第一区域的至少一部分第一逻辑块。该过程能够根据存储在第一存储器中的第一配置代码恢复执行第一区域的配置逻辑功能。
使用置放工具的优点是允许用户分配区域2来控制对半导体芯片或现场可编程门阵列的区域1的供电。
图7A是根据本发明的一个实施例示出的向分区可编程半导体器件高效分配功率的过程流程图700。在方框702处,对至少一部分的可编程半导体器件动态断电和/或上电的过程根据至少一部分第二逻辑块(LB)的数据处理的结果,由具有一组第二可配置逻辑块的第二区域产生第一功率控制信号。
在方框704处,通过连接第二区域和第一区域的第二到第一功率连接将第一功率控制信号从第二区域转发到第一区域功率控制端口(该区域功率控制端口可以位于邻近或远离于第一区域的位置)后,在方框706处,第一区域的至少一部分的第一逻辑块响应于作为对第一区域的电力供给的第一功率控制信号而被唤醒。
在方框708处,该过程恢复执行第一区域的配置逻辑功能,其基于存储在第一存储器中的第一配置代码。在一个实施例中,该过程还能够在第一区域出于减小功耗而分阶段进入睡眠模式时,维持或控制对第一存储器的供电。在一个示例中,第二区域根据多个第二逻辑块中的至少一部分第二逻辑块的数据处理的第二结果终止第一功率控制信号后,当第一区域功率控制端口的输入停止接收(或无法接收到)第一功率控制信号时,第一区域断电。该过程还能在第一区域进入睡眠模式之前将配置数据和中间结果存储在第一存储器中。
在一个实施例中,该过程还能够根据第一区域的至少一部分的第一逻辑块的数据处理结果,由第一区域产生第三功率控制信号。通过将第三区域与第一区域耦合的第一至第三功率连接将第三功率控制信号从第一区域转发到位于邻近第三区域的第三区域功率控制端口的输入后,第三区域的一部分第三逻辑块响应于第三功率控制信号而被唤醒或激活,以控制和促进对第三区域的供电。第三区域根据存储在第三存储器中的第三配置代码恢复执行配置逻辑功能。
图7B是根据本发明的一个实施例示出的逻辑过程流程图720,该逻辑过程描述了从用户角度配置可编程逻辑器件,以选择性执行一个或更多个逻辑功能,并节省功率。在方框722处,功率节省过程根据功率选择将现场可编程门阵列的至少第一区域指定给动态功率区域。在一个方面,通过芯片设计工具、电子设计自动化工具或设计工具从用户输入接收功率选择。例如,用户将逻辑动态功率区域分配到现场可编程门阵列的一个预定义的物理位置。另外,逻辑动态功率区域被分配到设计工具选择的现场可编程门阵列的一个位置。
在方框724处,从用户处接收指定给动态功率区域的第一子模块,所述第一子模块被分配到现场可编程门阵列第一区域,以进行逻辑操作。例如,现场可编程门阵列的已编程逻辑元件能执行数据驱动计算,其可响应于输入数据的可用性而上电。同样,现场可编程门阵列的已编程逻辑元件能进行数据驱动计算,其可响应于输入数据的可用性而断电。
在方框726处,该过程设置第一基元,该第一基元是与现场可编程门阵列第一区域相关的区域功率控制,用于控制动态功率区域的功耗。例如,第一基元的输出被指定或产生用于控制对第一区域或第一动态功率区域的供电。
在方框728处,在现场可编程门阵列第二区域中创建第一使能逻辑或基元,以便于通过基元(或第一基元)对现场可编程门阵列第一区域中的第一子模块进行功率调节。例如,发出唤醒信号可以促进根据一组预定义条件唤醒现场可编程门阵列第一区域的过程。在一个方面,用户输入包含将第一子模块指定给动态功率区域。例如,创建了相关的功率控制基元,用于控制供电。应当注意,如果现场可编程门阵列的区域没有被指定为动态功率区域,那么这些区域就会被指定为始终开启区域。
在一个实施例中,该过程还能根据第二功率选择将现场可编程门阵列的第二区域指定为第二动态功率区域,以节省功率。第二子模块被指定给动态功率区域,并被分配到现场可编程门阵列的第二区域进行第二逻辑操作。设置与现场可编程门阵列第二区域相关的第二区域功率控制的第二基元进行功率调节后,在现场可编程门阵列第三区域中创建第二使能逻辑或基元,以便于通过第二基元对现场可编程门阵列第二区域中的第二子模块进行功率调节。
图7C是根据本发明的一个实施例示出的逻辑过程流程图730,该逻辑过程描述了站在用户的角度,用改进后的功率调节促进对现场可编程门阵列的编程。在方框732处,该过程通过设计工具,允许用户将现场可编程门阵列的第一区域指定为动态功率区域以节省功率。在方框734处,该过程促进或协助用户构建或生成指定给动态功率区域的子模块以执行数据驱动逻辑操作。在一个实施例中,现场可编程门阵列的已编程逻辑元件执行数据驱动计算逻辑,其可响应于输入数据的可用性而上电。同样,现场可编程门阵列的已编程逻辑元件进行数据驱动计算逻辑,其可被配置为响应于输入数据的可用性而断电。在方框736处,当第一子模块被映射到现场可编程门阵列的第一区域时,该过程在方框738处,能够设置与现场可编程门阵列的第一区域相关的第一区域功率控制的第一基元,用于管理第一区域的功耗。
在方框740处,允许用户在现场可编程门阵列的第二区域中创建第一使能逻辑或第一基元,以方便对现场可编程门阵列第一区域的第一子模块的功率调节。应当注意,如果现场可编程门阵列的某些区域没有被指定为动态功率区域,那么这些区域可能会被指定或进入始终开启的功率状态。在一个实施例中,在允许用户将现场可编程门阵列的第三区域指定为动态功率区域以节省功耗后,该过程能够方便用户构建指定给动态功率区域的第二子模块,以执行第二数据驱动逻辑操作。在将第二子模块映射到现场可编程门阵列的第三区域后,设置与现场可编程门阵列第三区域相关的第二功率控制的第二基元,用于管理第三区域的功耗。该过程被配置为允许用户在现场可编程门阵列的第四区域中创建第二使能逻辑或第二基元,以便于通过第二基元对现场可编程门阵列第三区域中的第二子模块进行功率调节。
本公开实施例还提供一种用于配置可编程逻辑器件以选择性执行一个或更多个逻辑功能的方法,包括:
根据功率选择,将现场可编程门阵列(FPGA)的至少一个第一区域指定为动态功率区域(DPR),以节省功率;
从用户处接收第一子模块,所述第一子模块被指定给动态功率区域,并被分配到所述现场可编程门阵列的所述第一区域,用于第一逻辑操作;
设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于控制所述动态功率区域的功耗;以及
在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
一些示例性实施例中,所述方法还包括:接收包含指定给动态功率区域的所述第一子模块的用户输入。
一些示例性实施例中,接收所述用户输入包括:获得用于控制所述动态功率区域的功率的相关功率控制基元。
一些示例性实施例中,指定所述现场可编程门阵列的至少一个第一区域包括:
将逻辑的动态功率区域分配到所述现场可编程门阵列的预定义物理位置。
一些示例性实施例中,指定所述现场可编程门阵列的至少一个第一区域包括:将逻辑的动态功率区域分配到所述现场可编程门阵列中由设计工具选择的位置。
一些示例性实施例中,所述方法还包括:如果所述现场可编程门阵列的区域没有被指定为动态功率区域,则将该区域指定为始终开启区域。
一些示例性实施例中,指定所述现场可编程门阵列的至少一个第一区域包括:通过芯片设计工具接收来自用户输入的功率选择。
一些示例性实施例中,接收所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而上电。
一些示例性实施例中,接收所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而断电。
一些示例性实施例中,设置所述第一区域功率控制的第一基元包括:指定所述第一基元的输出,以用于控制对所述第一区域的供电。
一些示例性实施例中,创建第一使能逻辑包括:根据一组预定义条件辅助发出唤醒信号以唤醒所述现场可编程门阵列的所述第一区域。
一些示例性实施例中,所述方法还包括:
根据第二功率选择将所述现场可编程门阵列的所述第二区域指定为第二动态功率区域;以及
从用户处接收第二子模块,所述第二子模块被指定给第二动态功率区域,并被分配到所述现场可编程门阵列的所述第二区域,用于第二逻辑操作。
一些示例性实施例中,所述方法还包括:
设置与所述现场可编程门阵列的所述第二区域相关的第二区域功率控制的第二基元,以用于控制所述第二动态功率区域的功耗;以及
在所述现场可编程门阵列的第三区域中创建第二使能逻辑,以便于通过所述第二基元对所述现场可编程门阵列的所述第二区域中的所述第二子模块进行功率调节。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供唤醒信号以唤醒所述现场可编程门阵列的所述第一区域。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第二区域。
本公开实施例还提供一种辅助对具有改进后功率调节功能的现场可编程门阵列(FPGA)进行编程的方法,包括:
设置成允许用户将现场可编程门阵列的第一区域指定为动态功率区域(DPR),以节省功率;
辅助用户构建指定给动态功率区域的第一子模块,以执行数据驱动逻辑操作;
将所述第一子模块映射到所述现场可编程门阵列的所述第一区域;设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
设置成允许用户在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
一些示例性实施例中,所述方法还包括:如果所述现场可编程门阵列的区域没有被指定为动态功率区域,则将该区域指定为始终开启区域。
一些示例性实施例中,辅助构建所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而上电。
一些示例性实施例中,辅助构建所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而断电。
一些示例性实施例中,所述方法还包括:
设置成允许用户将所述现场可编程门阵列的第三区域指定为动态功率区域;
辅助用户构建指定给动态功率区域的第二子模块,以执行第二数据驱动逻辑操作;
将所述第二子模块映射到所述现场可编程门阵列的所述第三区域;设置与所述现场可编程门阵列的所述第三区域相关的第二功率控制的第二基元,以用于管理所述第三区域的功耗;以及
设置成允许用户在所述现场可编程门阵列的第四区域中创建第二使能逻辑,以便于通过所述第二基元对所述现场可编程门阵列的所述第三区域中的所述第二子模块进行功率调节。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第三区域。
本公开实施例还提供一种对可编程半导体器件的一部分进行动态断电和上电的方法,包括:
将可编程逻辑器件(PLD)划分为第一区域和第二区域;
根据用户输入,将所述可编程逻辑器件的所述第一区域设置为动态功率区域(DPR);
根据第一子模块中动态功率区域的指定,将所述第一子模块分配到所述可编程逻辑器件的所述第一区域;
设置与所述可编程逻辑器件的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
在所述可编程逻辑器件的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述可编程逻辑器件的所述第一区域中的所述第一子模块进行功率调节。
一些示例性实施例中,所述方法还包括:
根据多个第二逻辑块(LB)中的至少一部分第二逻辑块的数据处理结果,由具有多个第二可配置逻辑块的第二区域,产生或终止第一功率控制信号;
通过将所述第二区域与所述第一区域耦合的第二至第一功率连接,将所述第一功率控制信号从所述第二区域转发到第一区域功率控制(RPC)端口;
响应于所述第一功率控制信号,唤醒所述第一区域的多个第一逻辑块中的至少一部分,以便于向所述第一区域供电;以及
根据存储在第一存储器中的第一配置代码,恢复执行所述第一区域的配置逻辑功能。
一些示例性实施例中,所述方法还包括,将所述可编程逻辑器件(PLD)还划分出第三区域;
根据用户输入,将所述可编程逻辑器件的所述第二区域设置为动态功率区域(DPR);
根据第二子模块中动态功率区域的指定,将所述第二子模块分配到所述可编程逻辑器件的所述第二区域;
设置与所述可编程逻辑器件的所述第二区域相关的第二区域功率控制的第二基元,以用于管理所述第二区域的功耗;以及
在所述可编程逻辑器件的第三区域中创建第二使能逻辑,以便于通过所述第二基元对所述可编程逻辑器件的所述第二区域中的所述第二子模块进行功率调节。
一些示例性实施例中,所述第一区域被配置为当所述第一区域功率控制端口不提供功率时切换为睡眠模式。
一些示例性实施例中,在所述第一区域出于减小功耗而分阶段进入睡眠模式时,维持对所述第一区域中的第一存储器的供电。
一些示例性实施例中,所述方法还包括,将所述可编程逻辑器件(PLD)还划分出第三区域和第四区域;即,所述可编程逻辑器件(PLD)划分为第一区域、第二区域、第三区域和第四区域。一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
一些示例性实施例中,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第二区域。
图8是根据本发明的一个实施例示出的数字处理系统800的示意图,该数字处理系统使用能够提供各种功能的分区可编程半导体器件。计算机系统800可以包括处理单元801、接口总线812和输入/输出(IO)单元820。处理单元801包括处理器802、主存储器804、系统总线811、静态存储设备806、总线控制单元805、输入/输出元件830和非易失性存储器885。应当注意,即使将一个或更多个块(电路或元件)添加到系统800中或从系统800中移除,本发明示例性实施例的基本概念也不会改变。
总线811用于在各种组件和处理器802之间传输信息以进行数据处理。处理器802可以是多种通用处理器、嵌入式处理器或微处理器中的任何一种,例如嵌入式处理器、CoreTM Duo、CoreTM Quad、PentiumTM微处理器、MotorolaTM 68040、系列处理器或Power PCTM微处理器。
主存储器804,可以包括多级缓存存储器,存储经常使用的数据和指令。主存储器804可以是随机存取存储器(Random Access Memory RAM)、磁性随机存取存储器(MagneticRandom Access Memory MRAM)或快闪存储器。静态存储器806可以是只读存储器(ROM),其与总线811耦合,用于存储静态信息和/或指令。总线控制单元805耦合到总线811-812,并且控制能够使用总线的组件(如主存储器804或处理器802)。总线控制单元805管理总线811和总线812之间的通信。大容量存储内存或固态硬盘(Solid State Disk)诸如磁盘、光盘、硬盘驱动器、软盘、只读光盘存储器和/或快闪存储器,用于存储大量数据。
在一个实施例中,输入/输出单元820包括显示器821、键盘822、光标控制设备823和通信设备825。显示设备821可以是液晶设备、阴极射线管(Cathode Ray Tube CRT)、触摸屏显示器或其它合适的显示设备。显示器821投影或显示图形规划板的图像。键盘822可以是常规的字母数字输入设备,用于在计算机系统800和计算机操作员之间传送信息。另一种类型的用户输入设备是光标控制设备823,例如传统的鼠标、触摸鼠标、轨迹球或其他类型的光标,用于在系统800和用户之间进行通信。
通信设备825与总线811耦合,用于通过广域网从远程计算机或服务器(如服务器或其他计算机)获取信息。通信设备825可以包括调制解调器或网络接口设备,或其他类似的设备,以方便计算机800和网络之间的通信。计算机系统800可以通过网络基础设施(如图9所示的基础设施)耦合到多个服务器。
图9是根据本发明的一个实施例示出的各种系统的框图600,该系统使用分区可编程半导体器件连接至云通信网络。框图600示出了人工智能服务器608、通信网络602、交换网络604、互联网650和便携式电气设备613-619。网络或云网络602可以是广域网(WideArea Network WAN)、城域网(Metropolitan Area Network MAN)、局域网(Local AreaNetwork LAN)、卫星/地面网络或广域网、城域网和局域网的结合。应当注意,即使将一个或更多个模块(或网络)添加到框图600中或从框图600中移除,本发明的示例性实施例的基本概念也不会改变。
网络602包括多个网络节点(图6未示出),其中每个节点可以包括移动性管理实体(Mobility Management Entity MME)、无线网络控制器(Radio Network ControllerRNC)、服务网关(Serving Gateway S-GW)、分组数据网络网关(Packet Data NetworkGateway P-GW)或家庭代理以提供各种网络功能。网络602与互联网650、人工智能服务器608、基站612和交换网络604相耦合。在一个实施例中,在一个实施例中,服务器608包括使用分区可编程半导体器件与动态运行时功率控制器的机器学习计算机(Machine LearningComputer MLC)606,用于节省功率。
交换网络604,可称为分组核心网络,包括能够提供无线接入通信的小区站点622-626,如第三代(3rd generation 3G)、第四代或第五代蜂窝网络。在一个示例中,交换网络604包括能够在开放系统互连基本参考模型(Open Systems Interconnection BasicReference Model,OSI model)的层上运行的基于网际互连协议(Internet Protocol IP)和/或多协议标签交换(Multiprotocol Label Switching MPLS)的网络,用于客户端和网络服务器之间的信息传输。在一个实施例中,交换网络604是通过蜂窝和/或无线网络在地理区域内有逻辑地耦合多个用户和/或手机616-620。应当注意,地理区域可指学校、城市、都市区、国家、大陆等。
基站612,也称为小区站点、节点B或eNodeB,包括能够耦合到各种用户设备(UserEquipment UE)和/或电气用户设备(Electrical User Equipment EUE)的无线电塔。术语“用户设备”和“电气用户设备”是指类似的便携式设备,其可互换使用。例如用户设备或便携式电子设备(portable electronic device PED)可以是通过无线通信的蜂窝电话615、笔记本电脑617、平板电脑和/或手持设备也可以是智能手机,如等。在一个示例中,基站612通过有线和无线通信网络促进诸如便携式手持设备613-619等移动设备之间的网络通信。应当注意,基站612可包括额外的无线电塔和其他陆路交换电路。
互联网650是使用传输控制协议/网际互连协议(Transmission ControlProtocol/Internet Protocol TCL/IP)的计算网络,以提供地理位置上分离的设备间的通信联系。在一个示例中,互联网650,通过卫星接收器632耦合到供应商服务器638和卫星网络630。在一个示例中,卫星网络630可提供许多功能,例如无线通信和全球定位系统(Global Positioning System GPS)。在一个方面,带有动态运行时功率控制器的分区可编程半导体器件可用于所有适用的设备,例如,但不限于智能手机613-619、卫星网络630、汽车613、AI服务器608、商业607和家庭620。
采用分区可编程半导体器件的优点是有利于在网络(或信息家电)环境中节省功率。
虽然已经展示和描述了本发明的特定实施例,但显而易见,基于本文的教导,本领域的普通技术人员可以在不偏离本发明的示例性实施例及其更广泛的方面的情况下进行改变和修改。因此,所附权利要求旨在将所有符合本发明的本示例性实施例的真正精神和范围的变化和修改包含在权利要求的范围内。
Claims (30)
1.一种用于配置可编程逻辑器件以选择性执行一个或更多个逻辑功能的方法,其特征在于,包括:
根据功率选择,将现场可编程门阵列(FPGA)的至少一个第一区域指定为动态功率区域(DPR);
从用户处接收第一子模块,所述第一子模块被指定给动态功率区域,并被分配到所述现场可编程门阵列的所述第一区域,用于第一逻辑操作;
设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于控制所述动态功率区域的功耗;以及
在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
2.根据权利要求1所述的方法,其特征在于,还包括:接收包含指定给动态功率区域的所述第一子模块的用户输入。
3.根据权利要求2所述的方法,其特征在于,接收所述用户输入包括:获得用于控制所述动态功率区域的功率的相关功率控制基元。
4.根据权利要求1所述的方法,其特征在于,指定所述现场可编程门阵列的至少一个第一区域包括:
将逻辑的动态功率区域分配到所述现场可编程门阵列的预定义物理位置。
5.根据权利要求1所述的方法,其特征在于,指定所述现场可编程门阵列的至少一个第一区域包括:将逻辑的动态功率区域分配到所述现场可编程门阵列中由设计工具选择的位置。
6.根据权利要求1所述的方法,其特征在于,还包括:如果所述现场可编程门阵列的区域没有被指定为动态功率区域,则将该区域指定为始终开启区域。
7.根据权利要求1所述的方法,其特征在于,指定所述现场可编程门阵列的至少一个第一区域包括:通过芯片设计工具接收来自用户输入的功率选择。
8.根据权利要求1所述的方法,其特征在于,接收所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而上电。
9.根据权利要求1所述的方法,其特征在于,接收所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而断电。
10.根据权利要求1所述的方法,其特征在于,设置所述第一区域功率控制的第一基元包括:指定所述第一基元的输出,以用于控制对所述第一区域的供电。
11.根据权利要求1所述的方法,其特征在于,创建第一使能逻辑包括:根据一组预定义条件辅助发出唤醒信号以唤醒所述现场可编程门阵列的所述第一区域。
12.根据权利要求1所述的方法,其特征在于,还包括:
根据第二功率选择将所述现场可编程门阵列的所述第二区域指定为第二动态功率区域;以及
从用户处接收第二子模块,所述第二子模块被指定给第二动态功率区域,并被分配到所述现场可编程门阵列的所述第二区域,用于第二逻辑操作。
13.根据权利要求12所述的方法,其特征在于,还包括:
设置与所述现场可编程门阵列的所述第二区域相关的第二区域功率控制的第二基元,以用于控制所述第二动态功率区域的功耗;以及
在所述现场可编程门阵列的第三区域中创建第二使能逻辑,以便于通过所述第二基元对所述现场可编程门阵列的所述第二区域中的所述第二子模块进行功率调节。
14.根据权利要求1所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
15.根据权利要求1所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供唤醒信号以唤醒所述现场可编程门阵列的所述第一区域。
16.根据权利要求12所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第二区域。
17.一种辅助对具有改进后功率调节功能的现场可编程门阵列(FPGA)进行编程的方法,其特征在于,包括:
设置成允许用户将现场可编程门阵列的第一区域指定为动态功率区域(DPR);
辅助用户构建指定给动态功率区域的第一子模块,以执行数据驱动逻辑操作;
将所述第一子模块映射到所述现场可编程门阵列的所述第一区域;
设置与所述现场可编程门阵列的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
设置成允许用户在所述现场可编程门阵列的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述现场可编程门阵列的所述第一区域中的所述第一子模块进行功率调节。
18.根据权利要求17所述的方法,其特征在于,还包括:如果所述现场可编程门阵列的区域没有被指定为动态功率区域,则将该区域指定为始终开启区域。
19.根据权利要求17所述的方法,其特征在于,辅助构建所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而被上电。
20.根据权利要求17所述的方法,其特征在于,辅助构建所述第一子模块包括:获得所述现场可编程门阵列的编程逻辑元件(LE),以用于执行数据驱动计算逻辑,该数据驱动计算逻辑被配置为响应于输入数据的可用性而被断电。
21.根据权利要求17所述的方法,其特征在于,还包括:
设置成允许用户将所述现场可编程门阵列的第三区域指定为动态功率区域;
辅助用户构建指定给动态功率区域的第二子模块,以执行第二数据驱动逻辑操作;
将所述第二子模块映射到所述现场可编程门阵列的所述第三区域;
设置与所述现场可编程门阵列的所述第三区域相关的第二功率控制的第二基元,以用于管理所述第三区域的功耗;以及
设置成允许用户在所述现场可编程门阵列的第四区域中创建第二使能逻辑,以便于通过所述第二基元对所述现场可编程门阵列的所述第三区域中的所述第二子模块进行功率调节。
22.根据权利要求17所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
23.根据权利要求21所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第三区域。
24.一种对可编程半导体器件的一部分进行动态断电和上电的方法,其特征在于,包括:
将可编程逻辑器件(PLD)划分为第一区域和第二区域;
根据用户输入,将所述可编程逻辑器件的所述第一区域设置为动态功率区域(DPR);
根据第一子模块中动态功率区域的指定,将所述第一子模块分配到所述可编程逻辑器件的所述第一区域;
设置与所述可编程逻辑器件的所述第一区域相关的第一区域功率控制的第一基元,以用于管理所述第一区域的功耗;以及
在所述可编程逻辑器件的第二区域中创建第一使能逻辑,以便于通过所述第一基元对所述可编程逻辑器件的所述第一区域中的所述第一子模块进行功率调节。
25.根据权利要求24所述的方法,其特征在于,还包括:
根据多个第二逻辑块(LB)中的至少一部分第二逻辑块的数据处理结果,由具有多个第二可配置逻辑块的第二区域,产生或终止第一功率控制信号;
通过将所述第二区域与所述第一区域耦合的第二至第一功率连接,将所述第一功率控制信号从所述第二区域转发到第一区域功率控制(RPC)端口;
响应于所述第一功率控制信号,唤醒所述第一区域的多个第一逻辑块中的至少一部分,以便于向所述第一区域供电;以及
根据存储在第一存储器中的第一配置代码,恢复执行所述第一区域的配置逻辑功能。
26.根据权利要求24所述的方法,其特征在于,还包括,
将所述可编程逻辑器件(PLD)还划分出第三区域;
根据用户输入,将所述可编程逻辑器件的所述第二区域设置为动态功率区域(DPR);
根据第二子模块中动态功率区域的指定,将所述第二子模块分配到所述可编程逻辑器件的所述第二区域;
设置与所述可编程逻辑器件的所述第二区域相关的第二区域功率控制的第二基元,以用于管理所述第二区域的功耗;以及
在所述可编程逻辑器件的第三区域中创建第二使能逻辑,以便于通过所述第二基元对所述可编程逻辑器件的所述第二区域中的所述第二子模块进行功率调节。
27.根据权利要求25所述的方法,其特征在于,所述第一区域被配置为当所述第一区域功率控制端口不提供功率时切换为睡眠模式。
28.根据权利要求27所述的方法,其特征在于,在所述第一区域出于减小功耗而分阶段进入睡眠模式时,维持对所述第一区域中的第一存储器的供电。
29.根据权利要求24所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的所述第一区域供电的功率信号或功率控制信号。
30.根据权利要求26所述的方法,其特征在于,创建第一使能逻辑包括:创建数据检测逻辑,该数据检测逻辑被配置为接收输入数据,并根据输入数据提供对所述现场可编程门阵列的以下区域中的至少一个区域供电的功率信号或功率控制信号:所述第一区域和所述第二区域。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/730,716 US10735002B2 (en) | 2018-11-07 | 2019-12-30 | Method and system for providing regional electrical grid for power conservation in a programmable device |
US16/730,716 | 2019-12-30 | ||
US16/741,393 | 2020-01-13 | ||
US16/741,393 US10886925B2 (en) | 2018-11-07 | 2020-01-13 | Method and system for providing regional electrical grid for power conservation in a programmable device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112506332A true CN112506332A (zh) | 2021-03-16 |
Family
ID=74970643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011437730.XA Pending CN112506332A (zh) | 2019-12-30 | 2020-12-07 | 一种在可编程器件中节省功率的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506332A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555741B1 (en) * | 2006-09-13 | 2009-06-30 | Altera Corporation | Computer-aided-design tools for reducing power consumption in programmable logic devices |
CN102150102A (zh) * | 2008-09-10 | 2011-08-10 | 苹果公司 | 具有低功率模式的电路 |
US20110199118A1 (en) * | 2008-10-17 | 2011-08-18 | Stephen John Hill | Power control of an integrated circuit including an array of interconnected configurable logic elements |
US8368424B1 (en) * | 2011-03-01 | 2013-02-05 | Lattice Semiconductor Corporation | Programmable logic device wakeup using a general purpose input/output port |
US20180269879A1 (en) * | 2017-03-15 | 2018-09-20 | Quicklogic Corporation | Switchable power islands having configurably on routing paths |
US20190028104A1 (en) * | 2017-07-24 | 2019-01-24 | Flex Logix Technologies, Inc. | FPGA having Programmable Powered-Up/Powered-Down Logic Tiles, and Method of Configuring and Operating Same |
-
2020
- 2020-12-07 CN CN202011437730.XA patent/CN112506332A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7555741B1 (en) * | 2006-09-13 | 2009-06-30 | Altera Corporation | Computer-aided-design tools for reducing power consumption in programmable logic devices |
CN102150102A (zh) * | 2008-09-10 | 2011-08-10 | 苹果公司 | 具有低功率模式的电路 |
US20110199118A1 (en) * | 2008-10-17 | 2011-08-18 | Stephen John Hill | Power control of an integrated circuit including an array of interconnected configurable logic elements |
US8368424B1 (en) * | 2011-03-01 | 2013-02-05 | Lattice Semiconductor Corporation | Programmable logic device wakeup using a general purpose input/output port |
US20180269879A1 (en) * | 2017-03-15 | 2018-09-20 | Quicklogic Corporation | Switchable power islands having configurably on routing paths |
US20190028104A1 (en) * | 2017-07-24 | 2019-01-24 | Flex Logix Technologies, Inc. | FPGA having Programmable Powered-Up/Powered-Down Logic Tiles, and Method of Configuring and Operating Same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647232B (zh) | 可编程设备区域电网节能的方法与系统 | |
US11385709B2 (en) | Method and system for providing a sleep mode to a configurable logic block using an intermittent power saving logic | |
US11256656B2 (en) | Hybrid programmable many-core device with on-chip interconnect | |
US20040034843A1 (en) | Hybrid FPGA | |
US11637556B2 (en) | Method and system for providing word addressable nonvolatile memory in a programmable logic device | |
GB2464510A (en) | An integrated circuit including an array of programmable logic elements divided into regions with separate power control of each region | |
US11901895B2 (en) | Method and apparatus for providing field-programmable gate array (FPGA) integrated circuit (IC) package | |
US11216022B1 (en) | Methods and apparatus for providing a clock fabric for an FPGA organized in multiple clock regions | |
CN112506332A (zh) | 一种在可编程器件中节省功率的方法和系统 | |
US10886925B2 (en) | Method and system for providing regional electrical grid for power conservation in a programmable device | |
US20220083094A1 (en) | Methods and apparatus for organizing a programmable semiconductor device into multiple clock regions | |
JP5980035B2 (ja) | 情報処理装置およびその制御方法 | |
US11496135B2 (en) | Method and apparatus for providing multiple power domains a programmable semiconductor device | |
US11755505B2 (en) | Method and system for accessing a nonvolatile memory via SPI ports | |
US12038781B2 (en) | Method and system for organizing programmable semiconductor device into multiple clock regions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |