灵活的物理功能和虚拟功能映射的制作方法

文档序号:10724696阅读:219来源:国知局
灵活的物理功能和虚拟功能映射的制作方法
【专利摘要】本发明公开了灵活的物理功能和虚拟功能映射。技术和机构提供了在包括虚拟机的环境中用于物理功能和虚拟功能之间的灵活映射。
【专利说明】
灵活的物理功能和虚拟功能映射
技术领域
[0001]本公开通常涉及集成电路。更具体地,本公开涉及在物理功能和虚拟功能之间的灵活映射。
【背景技术】
[0002]网络功能虚拟化(NFV)允许包括虚拟化功能的平台。在一些NFV平台中,处理器可以与提供附加功能的协处理器加速电路连接(interface)。处理器可以运行多个虚拟机(VM),每个虚拟机通过使用物理功能(PF)和虚拟功能的映射访问在协处理器加速电路中的附加功能。在PF和VF之间的映射可允许单个协处理器加速电路被视为可用于VM的多个资源。
[0003]在一些装置中,诸如为协处理器加速提供附加功能的可编程装置,该功能可以被改变。因此,设计者可希望在PF和VF之间更灵活的映射。

【发明内容】

[0004]本文描述的主题提供了在包括虚拟机的环境中物理功能和虚拟功能之间的灵活映射。
[0005]物理功能(PF)可为特定功能提供接口。虚拟功能(VF)可为虚拟机(VM)提供接口以通过将VF映射到PF而访问功能。PF到VF的映射可以是灵活的以允许特定场景实施更好的资源利用。
[0006]在一些实施方式中,用于在物理功能和虚拟功能之间映射的方法包括:在虚拟化管理单元处接收指示虚拟机被提供对在功能块中实施的功能的访问的数据;以及通过虚拟化管理单元建立在虚拟机和功能块之间的映射以提供虚拟机对在功能块中实施的功能的访问,该映射指示每个虚拟机与对应的虚拟功能相关联,每个虚拟功能与一个或多个物理功能相关联,并且一个或多个物理功能中的每个与一个或多个功能块相关联,其中该映射基于虚拟机的特性。
[0007]在一些实施方式中,一个或多个物理功能包括第一物理功能和第二物理功能,所述第一物理功能被映射到第一功能块,所述第二物理功能被映射到第一功能块和第二功能块。
[0008]在一些实施方式中,第一功能块提供第一功能,并且第二功能块提供第二功能。
[0009]在一些实施方式中,所述方法包括:重新配置第二功能块以提供第三功能;并且基于第二功能块的重新配置更新所述映射以提供第三功能。
[0010]在一些实施方式中,所述映射包括修改与第一虚拟功能相关联的虚拟机的映射,使得所述虚拟机与第二虚拟功能相关联。
[0011]在一些实施方式中,更新映射包括修改与第一物理功能相关联的第一虚拟功能的映射,使得第一虚拟功能与第二物理功能相关联。
[0012]在一些实施方式中,更新映射包括修改与第一功能块相关联的第一物理功能的映射,使得第一物理功能与第二功能块相关联。
[0013]在一些实施方式中,虚拟机的特性包括客户标识符。
[0014]在一些实施方式中,与第一客户标识符相关联的虚拟机被映射到第一组虚拟功能,所述第一组虚拟功能被映射到第一物理功能,并且与第二客户标识符相关联的虚拟机被映射到第二组虚拟功能,所述第二组虚拟功能被映射到第二物理功能。
[0015]在一些实施方式中,第一物理功能与第一优先级相关联,第二物理功能与第二优先级相关联,第一优先级是比第二优先级高的优先级。
[0016]在一些实施方式中,虚拟化管理单元通过协处理器电路来实施,并且虚拟机通过处理器电路来实施。
[0017]在一些实施方式中,虚拟化管理电路接收指示虚拟机被提供对在功能块中实施的功能的访问的数据;并且产生在虚拟机和功能块之间的映射以提供虚拟机对在功能块中实施的功能的访问,该映射指示每个虚拟机与对应的虚拟功能相关联,每个虚拟功能与一个或多个物理功能相关联,并且一个或多个物理功能中的每个与一个或多个功能块相关联,其中所述映射基于虚拟机的特性。
[0018]在一些实施方式中,一个或多个物理功能包括第一物理功能和第二物理功能,所述第一物理功能被映射到第一功能块,所述第二物理功能被映射到第一功能块和第二功能块。
[0019]在一些实施方式中,第一功能块提供第一功能,并且第二功能块提供第二功能。
[0020]在一些实施方式中,虚拟化管理电路基于第二功能块的重新配置而更新映射。
[0021 ]在一些实施方式中,虚拟机的特性包括客户标识符。
[0022]在一些实施方式中,与第一客户标识符相关联的虚拟机被映射到第一组虚拟功能,第一组虚拟功能被映射到第一物理功能,并且与第二客户标识符相关联的虚拟机被映射到第二组虚拟功能,第二组虚拟功能被映射到第二物理功能。
[0023]在一些实施方式中,第一物理功能与第一优先级相关联,第二物理功能与第二优先级相关联,第一优先级是比第二优先级更高的优先级。
[0024]在一些实施方式中,一种系统包括:实施虚拟机的处理器电路;以及协处理器电路,其包括虚拟化管理电路和功能块,所述虚拟化管理电路接收指示由处理器实施的虚拟机被提供对在功能块中实施的功能的访问的数据,并且所述虚拟化管理电路产生在虚拟机和功能块之间的映射以提供虚拟机对在功能块中实施的功能的访问,该映射指示每个虚拟机与对应的虚拟功能相关联,每个虚拟功能与一个或多个物理功能相关联,并且一个或多个物理功能中的每个与一个或多个功能块相关联,其中所述映射基于虚拟机的特性。
[0025]在一些实施方式中,一个或多个物理功能包括第一物理功能和第二物理功能,所述第一物理功能被映射到第一功能块,所述第二物理功能被映射到第一功能块和第二功能块。
[0026]在一些实施方式中,第一功能块提供第一功能,并且第二功能块提供第二功能。
[0027]在一些实施方式中,虚拟化管理电路基于第二功能块的重新配置而更新映射。
[0028]在一些实施方式中,虚拟机的特性包括客户标识符。
[0029]在一些实施方式中,与第一客户标识符相关联的虚拟机被映射到第一组虚拟功能,第一组虚拟功能被映射到第一物理功能,并且与第二客户标识符相关联的虚拟机被映射到第二组虚拟功能,第二组虚拟功能被映射到第二物理功能。
[0030]这些和其它特征将在以下说明书和附图中更详细地被呈现,以示例的方式示出。
【附图说明】
[0031]图1根据一些实施方式示出协处理器环境的示例。
[0032]图2根据一些实施方式示出提供灵活PF-VF映射的环境。
[0033]图3根据一些实施方式示出PF-VF映射。
[0034]图4根据一些实施方式示出另一PF-VF映射。
[0035]图5是根据一些实施方式示出用于灵活PF-VF映射的工艺流程的流程图。
[0036]图6示出用于实施可编程芯片的技术。
[0037]图7示出计算机系统的一个示例。
【具体实施方式】
[0038]图1根据一些实施方式示出协处理器环境的示例。在协处理器环境中的部件可允许物理装置作为用于在多个虚拟机(VM)中使用的多个装置而出现。每个VM可仿真计算机系统,其可以访问在协处理器环境中的部件。
[0039]例如,在图1中,处理器105可以是运行四个虚拟机(VM) 110a、110b、IlOc和IlOd的处理器电路(或一起操作的多个处理器电路)。VM 11 Oa至11Od可能够利用接口 120访问在协处理器135中的功能块130a和130b。接口 120可以是用于在处理器105和协处理器135之间发送和接收数据的快速外设部件互连(PCIe)接口。在接口 120上传输的数据可以被提供到或来自于处理器I/O逻辑115和协处理器I/O逻辑125。
[0040]在一些实施方式中,处理器I/O逻辑115和协处理器I/O逻辑125可以包括允许单根I/O虚拟化(SR-1OV)的各种逻辑功能,其可以允许在PCIe接口上的PCIe装置作为多个单独(separate)的物理PCIe装置而出现。例如,处理器I/O逻辑115可以包括PCIe SR-1OV根。协处理器I/O逻辑125可以包括包含PCIe SR-1OV端点(endpoint)和虚拟化管理逻辑的各种逻辑。因此,在协处理器135内(S卩,在SR-1OV PCIe接口的端点处)的部件可作为对VM 11Oa至IlOd的多个单独的物理PCIe装置(S卩,在SR-1OV PCIe接口的根处)而出现。因此,每个VMI 1a至I 1d可能够利用协处理器135仿真(emulate)计算机系统。
[0041 ] 例如,功能块130a尽管只具有单个物理实例但是可作为对VM IlOa至IlOd的四个单独的功能块而出现。如另一个示例,如果功能块130a提供实施网络接口控制器(NIC)的逻辑,则它可以作为四个单独的NIC而被呈现,每个NIC针对VM IlOa至IlOd中的每个。NIC可以是与物理PICe装置一样可被发现、管理等的全功能的且可配置的PICe功能。通过协处理器135实施的物理功能(PF)可以提供对NIC的访问。所呈现的四个单独的NIC中的每个可以是可接收并提供数据的全功能NIC的虚拟功能(VF),但是可以没有PF的全功能方面。由协处理器135实施的VF可以允许VM通过VF访问PF和物理PCIe装置。同样地,功能块130b也可以呈现为对VM I1a至I1d的四个单独的VF。
[0042]因此,每个PF可以是对具有作为VM的接口的多个VF的特定功能(例如,对于功能块130a的NIC)的接口,以使用该特定功能。在一个示例中,功能块130a可通过PF与针对NIC功能的高达16个VF而提供NIC的功能,以便VM利用,同时功能块130b可使用不同数目的VF(例如,128个)为VM提供不同功能以利用。因此,映射可包括对应于PF的功能块(例如,作为NIC的功能块130a),PF可对应于VF,其中每个VF对应于VM。
[0043]在一些系统中,在PF和VF之间的映射可为固定的。例如,如果功能块130a为NIC,那么映射到与功能块130a相关联的对应的PF的每个VF可表示NIC。然而,在使用可编程装置(例如,现场可编程门阵列、复杂可编程逻辑装置等)的系统中,对应于PF的功能可以被改变。例如,功能块130a可从NIC被重新配置成互联网小型计算机系统接口(iSCSI)。因此,使用PF映射的功能可以改变,并且因此,与VM IlOa至IlOd相关联的VF或VF的数量可以例如通过具有VM 11Oa至I 1d的不同子集被提供对功能块130a的访问而改变。另外,新VM可被启动,其可需要VF映射到新PF,并且因此被提供对某些功能的访问。此外,新功能块可在协处理器135中被配置,并且可需要与对应的PF和VF相关联。因此,灵活的PF-VF映射在一些系统中可是有用的。
[0044]灵活的PF-VF映射还可以允许更好的平衡数据流。例如,由协处理器135提供的功能的任何组合可被映射到特定PF,并且PF可被映射到VF以提供灵活映射。因此,由协处理器135提供的功能的一些子集可通过第一 PF提供,并且功能的第二子集可通过第二 PF提供,其中在两个PF之间存在一些(或无)功能的重叠。例如,VF可基于VM的特性被映射到PF。如另一个示例,每个PF可与不同的客户端(client)相关联,并且每个客户端的VM的每个VF可被映射到PF,使得每个客户端可具有其自己的PF。这种类型的映射可允许更多控制数据流,因为一个PF(与一个客户端相关联)可以比另一个PF(与第二客户端相关联)被提供较高优先级以访问在协处理器135内的功能块。结果,每个PF可表示独立的客户端或客户端组,而不是表示特定功能。
[0045]图2根据一些实施方式示出提供灵活的PF-VF映射的环境。在图2中,协处理器I/O逻辑125包括用于管理在功能块、PF、VF和VM之间的关系的管理逻辑。例如,在图2中,PFO(即,物理功能)可与功能块130a相关联,并且PFl(即,另一物理功能)可与功能块130b相关联。因此,PFO可将由功能块130a提供的功能提供到映射到其的VF。同样地,PFl可将由功能块130b提供的功能提供到映射到其的VF。在图2中,VR)至VF4可为用于VMl 1a至11Od的虚拟功能以通信以便访问功能块13 O a或13 O b。即,VFO至VF4可被映射到PFO和PFI,以允许VMI1a至I1d使用由功能块130a和130b提供的逻辑。例如,VM I1a可连接到2个VF:VFO和VFl JR)可连接到PFO JFl可连接到PFl。因为PFO提供对功能块130a的逻辑的访问,并且PFl提供对功能块130b的逻辑的访问,所以VM IlOa可具有对功能块130a和130b两者的访问。
[0046]如先前所讨论的,灵活的PF-VF映射可允许对映射的不同设置。例如,VM的特性(例如,与特定客户相关联)可被用于映射。图3根据一些实施方式示出PF-VF映射。在图3中,PF-VF映射包括客户305a的VM IlOa和IlOb以及客户305b的VM IlOc和IlOcL即,协处理器环境的不同客户可以在相同的处理器105上具有VM13VM IlOa至VM I1d中的每个映射到对应的¥卩0、¥?1、¥?3和¥?4。¥?0和¥?1映射到??0。¥?3和¥?4映射到??1。??0和??1都映射到功能块130a和130b。因此,在图3的映射中,每个VM可以被提供由功能块130a和130b的逻辑提供的功能,因为功能块都映射到PFO和PFl的每个。因为客户305a和305b中的每个具有被映射到VF的其VM,该VF映射到具体的PF(例如,用于客户305a的VM的所有VF映射至IjPFO),PF可与优先级顺序相关联(例如,在PFO处接收的请求可具有较高优先级,并且因此该请求在PFl处所接收的请求之前被服务),并且客户的所有VM可通过具有以特定优先级顺序排序的PF根据优先级来组织。在一些实施方式中,优先级可在较高管理或编配(orchestrat1n)层中被管理。
[0047]在一些实施方式中,当客户的新VM被实例化时(例如,当另一个计算机系统需要被仿真时),然后VM可被映射到新创建的VF,并且新创建的VF可被映射到针对客户的PF。例如,在图3中,如果客户305a的新VM被实例化,然后该新VM可以被映射到VF2,VF2可被映射到PFO,并且因此该新VM也可被提供功能块130a和130b的功能。如果客户305b的新VM被实例化,那么该新VM可以被映射到新VF,新VF可以被映射到PFl,从而也将功能块130a和130b的功能提供到新VM。
[0048]在一些实施方式中,协处理器I/O逻辑125的虚拟化管理逻辑可识别到VF2与客户305a相关联并随后将其分配到PFO。在一些实施方式中,协处理器I/O逻辑125可接收指示与客户305a相关联的新实例化的VM已经实例化的来自处理器105的客户标识符(例如,每个客户可具有可与它的所有VM—起使用的唯一识别)数据。因此,协处理器I/O逻辑125可然后将该新实例化的VM分配到新VF并且将该新VF分配到正确的PF。因此,虚拟化管理逻辑可追踪哪些PF和VF被分配到彼此。
[0049]在一些实施方式中,每个PF可表不协处理器135的所有能力。例如,如果协处理器135是可编程装置(例如,FPGA),那么它可包括硬逻辑功能(S卩,提供固定功能的固定电路)、软逻辑功能(即,被配置在FPGA内以提供功能的逻辑)以及作为可用于VM的资源的输入/输出(I/O),该VM被映射到VF,VF被映射到PF。
[0050]在一些实施方式中,每个PF可表示在协处理器135上的资源的组合。例如,PFO可提供协处理器135的100%可用功能,并且PFl可提供协处理器135的50%可用功能。因此,在图3的环境中,客户305a的每个VM可能够访问协处理器135的全部范围的可用功能,但是客户305b的每个VM可能够仅访问可用于客户305a的VM的功能的子集。
[0051 ]因此,每个PF可表示协处理器135的能力的任何组合,并且被映射到PF的任何VF可具有其被映射到的对应PF的能力的组合。例如,如果功能块130a提供用于NIC的功能,并且功能块130b提供用于iSCSI的功能,那么需要访问功能块130a和130b两者的VM可被映射到VF,该VF映射到被映射到两个功能的PF。
[0052]在一些实施方式中,由功能块130a和130b提供的逻辑可以改变。例如,如果协处理器135为FPGA(或其它可编程装置),那么功能块130a可以从一个功能被重新配置到另一个功能。即,协处理器135可被部分重新配置,使得功能块130a的功能可以被改变,同时功能块130b的功能保持相同并且对VM仍然是可访问的。
[0053]如示例,图4根据一些实施方式示出另一种PF-VF映射。在图4中,VM110a被映射到VFO (如通过关联405所示)JFO被映射到PFO,该PFO被映射到功能块130a。功能块130a可提供用于密码学算法的功能。然而,功能块130a可被重新配置以提供压缩算法(并且不再提供密码学算法)。虚拟化管理逻辑可接收指示功能块130a已开始从密码学算法到压缩算法的重新配置的数据,并且因此可阻断与功能块130a相关联的所有流量(S卩,对功能块130a的请求或来自功能块130a的传输),因为功能块130a正被重新配置以提供压缩算法。当功能块130a已完成重新配置时,可允许流量重新开始。例如,虚拟化管理逻辑可通知VM功能块130a已完成重新配置,并且因此新请求可以被提供。
[0054]在一些实施方式中,由于重新配置功能块(例如,将功能块130a从密码学算法重新配置为压缩算法),PF-VF映射可以改变。例如,在图4中,VM IlOa可被限制访问压缩算法,但是允许访问密码学算法。因此,在图4中,虽然功能块130a提供密码学算法,但是映射可以是适当的。然而,当功能块130a被重新配置成压缩算法时,虚拟化管理逻辑可以例如通过去除关联405来改变映射,使得当功能块130a被配置有压缩算法时,VM IlOa不再具有对被映射到提供对功能块130a的访问的PFO的VF的访问。在另一示例中,关联406可被去除,使得VFO不再映射到PFO,并且因此确保VM I1a也不再具有对功能块130a的访问。在其它映射中,在PF和功能块自身之间的关联可以被更新(例如,被添加或被移除)。
[0055]因此,在VM到VF、VF与PF以及PF与功能块之间的映射可被添加或移除。例如,在图4中,表示VM IlOa到VFO的映射的关联405可以被移除,并且VM I1a到另一VF的新映射可以产生,使得VM IlOa被提供对另一功能块的访问(例如,通过将VM 110&映射到¥?2或¥?3来访问FB 130b而替代FB 130a)。在一些实施方式中,新VF可以被产生,并且VM IlOa可被映射到新VF,或VM I 1a可被映射到现有VF。在另一个示例中,关联406可被移除,并且VFO到另一PF(例如,PFl)的新映射可以被提供以使VM IlOa访问功能块130b。在另一个示例中,在PFO到功能块130a自身之间的映射可被移除,并且在PFO到功能块130b之间的映射可以被产生。在这种情形下,VM IlOa和VM IlOb两者可不再具有对功能块130a的访问。在一些实施方式中,多个映射可以被调整。例如,在VF与PF以及PF到功能块之间的映射都可以被修改。因此,在VM与VF、VF与PF以及PF与功能块之间的映射可被移除和/或添加。
[0056]在一些实施方式中,某些客户和其对应的VM可被限制某些功能。因此,在功能块被重新配置时,虚拟化管理逻辑可识别VM到功能块的映射(包括VM到VF映射和VF到PF映射)可需要例如通过删除关联而被更新,使得VM不再具有对特定功能块的访问。
[0057]在一些实施方式中,额外的访问控制可以在虚拟化管理逻辑、功能块或两者内被实施。访问控制可以允许被映射到相同PF的不同VF具有对协处理器135的不同功能的访问。例如,如果功能块提供包处理和流量管理逻辑两者,那么一个VF可被允许访问包处理和流量管理两者,而另一 VF可被允许仅访问包处理逻辑,尽管它可被映射到提供对包处理和流量管理逻辑两者的访问的PF。
[0058]图5是根据一些实施方式示出用于灵活的PF-VF映射的工艺流程的流程图。在方法500中,在方框510处,虚拟化管理电路可接收指示虚拟机将被提供对在功能块中实施的功能的访问的数据。例如,用户可以在由图7的处理器电路实施的基于软件的电子设计自动化(EDA)工具中的图形用户界面(GUI)中指定具体的VM映射,并且在VM、VF、PF和功能块之间的适当映射可被建立。如另一示例,虚拟化管理电路可以接收来自处理器105的指示VM、特性(例如,客户标识符)、分析功能块等的数据。在方框520处,虚拟化管理电路可建立映射以提供虚拟机对功能块中实施的功能的访问。
[0059]在一些实施方式中,本文公开的技术可以使用一个或多个可编程芯片来实施。例如,协处理器135可以在现场可编程门阵列(FPGA)或其它可编程芯片内实施。图6示出用于实施可编程芯片的技术。输入级1301接收通常来自用户的关于(诸如处理器核心以及将在电子装置上实施的其它部件)逻辑的选择信息。在一个示例中,接收的输入以高级语言程序的形式。生成器程序1305创建逻辑描述并将该逻辑描述与其它自定义逻辑一起提供到任何的各种合成(synthesis)工具、布局(place)和布线(route)程序以及逻辑配置工具,以允许逻辑描述在电子装置上被实施。
[0060]在一个示例中,输入级1301通常允许将在电子装置上使用的部件的选择和参数化。输入级1301还允许硬编码逻辑的配置。在一些示例中,被提供到输入级的组件包括知识产权功能、宏功能以及知识产权核心。输入级1301可以是使用向导以便允许有效或方便地输入信息的图形用户界面。输入级还可以是读取数据文件(诸如电子表格、数据库表或图表)以获得选择信息的文本接口或程序。输入级1301产生包含关于选择的各种模块的信息的输出。在该级中,用户可输入关于需要被隔离的个人组件的安全信息。例如,可以输入组件安全的不同等级以及哪些组件被允许彼此通信。
[0061]在典型的实施方式中,生成器程序1305可以识别选择并产生具有用于实施各种模块的信息的逻辑描述。生成器程序1305可以是创建HDL文件(诸如来自由用户输入的模块信息的Veril0g、Abel、VHDL以及AHDL文件)的Perl脚本。在一个示例中,生成器程序识别一部分高级语言程序以便加速。其它编码被留下用于在处理器核心上执行。根据各种实施例,生成器程序1305识别指针(pointer)并为每个指针提供端口。具有生成器程序能力的一个工具是购自加利福尼亚州圣何塞的Altera公司的可编程芯片上系统(SOPC)生成器。生成器程序1305还可以将信息提供到合成工具1307以允许HDL文件被自动地合成。在一些示例中,逻辑描述由设计者直接提供。在由用户选择的各种部件之间的连接也可通过生成器程序互连。可用的合成工具中的一些为Leonardo Spectrum(购自威尔逊维尔的Mentor Graphics公司)、0regon和Synplify(购自加利福尼亚州森尼维耳的Synplicity公司)C3HDL文件可以包含仅通过合成工具可读的技术特定编码。在该点处的HDL文件还可被传递到仿真工具。
[0062]如本领域中的技术人员将理解的,输入级1301、生成器程序1305和合成工具1307可以是单独的程序。在单独的程序之间的接口可以是数据库文件、日志或在程序之间传输的简单消息。例如,代替将文件写入存储器,输入级1301可直接将消息发送到生成器程序1305以允许生成器程序创建逻辑描述。类似地,生成器程序可将信息直接提供到合成工具而替代写HDL文件。类似地,输入级1301、生成器程序1305和合成工具1307可被集成到单个程序。
[0063]用户可选择各种模块,并且集成的程序可以随后采用用户选择并以合成的网表(netlist)而非中间文件的形式输出逻辑描述。用于描述在电子装置上实施的逻辑的任何机制在本文被称为逻辑描述。根据各种实施例,逻辑描述是HDL文件,诸如VHDL、Abel、AHDL或Verilog文件。逻辑描述可在部件的用户选择和对装置的最终配置的参数之间处理的各种级中。根据其它实施例,逻辑描述为合成的网表,诸如电子设计交换格式输入文件(EDF文件KEDF文件是可以通过合成工具1307输出的合成的网表文件。
[0064]合成工具1307可以采用HDL文件和输出EDF文件。用于合成的工具允许在电子装置上实施逻辑设计。可用的合成工具中的一些为Leonardo Spectrum(购自威尔逊维尔的Mentor Graphics公司),Oregon和Synplify(购自加利福尼亚州森尼维耳的Synplicity公司)。本领域的技术人员将理解各种合成网表格式。
[0065]检验级1313通常在合成级1307之后。检验级检查设计的准确性以确保中间或最终设计实现期望的要求。检验级通常包括仿真工具和定时(timing)分析工具。用于仿真的工具允许输入的应用和输出的观察而不必需实施物理装置。仿真工具为设计者提供用于设计的功能和定时检验两者的节省成本且有效的机制。功能检验包括独立于定时考虑的电路的逻辑操作。忽视参数,诸如门(gate)延迟。
[0066]定时检验包括对具有定时延迟的设计的操作的分析。确认用于连续的装置(诸如触发器)的设置、保持以及其它定时要求。一些可用的仿真工具包括Synopsys VCS、VSS和Scirocco(购自加利福尼亚州森尼维耳的Synopsys公司),以及Cadence
VHDL(购自加利福尼亚州圣何塞的Cadence设计系统)。在检验级1313之后,合成的网表文件可被提供到物理设计工具1319,其包括布局和布线工具以及配置工具。布局和布线工具定位在目标硬件装置的具体逻辑元件上的逻辑单元并且根据提供的逻辑和安全连接在各种逻辑元件的输入和输出之间的电线,以实施电子设计。根据本发明的各种实施例,布局和布线工具可执行本发明的技术以实施如由用户限定的各种安全要求和规则。迭代技术可以对用户是透明的,但是所得的装置可以在1323处被物理测试。
[0067]对于可编程逻辑装置,可编程逻辑配置级可以采用布局和布线工具的输出对具有用户选择和参数化的模块的逻辑装置进行编程。根据各种实施例,布局和布线工具和逻辑配置级在Quartus Development Tool(购自加利福尼亚州圣何塞的Altera公司)中被提供。如本领域技术人员将认识到的,通过使用本发明的各种技术,各种合成、布局和布线以及可编程逻辑配置工具可以被使用。
[0068]如上所述,不同的级和程序可以用各种方式集成。根据一个实施例,输入级1301、生成器程序1305、合成工具1307、检验工具1313以及物理设计工具1319可以被集成到单个程序。各种级自动地运行并对用户是透明的。程序可以接收用户选择的模块、产生描述用于实施各种选择的模块的逻辑的逻辑描述以及实施电子装置。如本领域技术人员将认识的,HDL文件和EDF文件仅是逻辑描述的示例。其它文件格式以及内部程序表示是逻辑描述的其它示例。
[0069]图7示出实施本文公开的技术的计算机系统的一个示例。计算机系统900包括任何数量的处理器1402(也被称为中央处理单元或CPU),所述处理器1402被耦合到包括存储器1406(通常为随机存取存储器或“RAM”)、存储器1404(通常为只读存储器或“ROM”)的装置。处理器1402可以被配置以产生电子设计。如本领域中熟知的,存储器1404起作用以单方向将数据和指令传送到CPU,并且存储器1406通常被用于以双向方式传送数据和指令。
[0070]这些存储器装置两者可以包括以上描述的任何合适类型的计算机可读介质。大容量存储装置1408还被双向耦合到CPU 1402并且提供附加的数据存储容量,并且大容量存储装置1408可以包括以上描述的任何计算机可读介质。大容量存储装置1408可以被用于存储程序、数据等并且通常为比存储器慢的次级存储介质诸如硬盘。大容量存储装置1408可以被用于容纳预先封装的逻辑或知识产权功能的库或数据库以及关于生成特定配置的信息。将理解的是,在适当的情况下,保留在大容量存储装置1408内的信息可以作为存储器1406的一部分以标准方式被并入作为虚拟存储器。具体的大容量存储装置诸如CD-ROM 1414也可以单方向将数据传递到CPU。
[0071]CPU 1402还被耦合到接口 1410,该接口 1410包括一个或多个输入/输出装置,诸如视频监测器、跟踪球、鼠标、键盘、麦克风、触敏显示器、换能器读卡器、磁带或纸带阅读器、输入板、指示笔、语音或手写识别器或其它公知的输入设备诸如当然其它计算机。CPU 1402可以是设计工具处理器。最后,CPU 1402可以可选地使用如通常在1412处所示的网络连接被耦合到计算机或远程通信网络。通过此类网络连接,可以设想,在执行上述过程步骤期间,CPU可以接收来自网络的信息或可以将信息输出到网络。应当注意,系统1400也可以与用于将完成的设计传送到可编程芯片上的装置相关联。计算机硬件和软件领域的技术人员将熟悉上述装置和材料。
[0072]虽然为了方便以上许多部件和过程以单数被描述,但是本领域的技术人员将理解,多个部件和重复的过程也可以被用于实践本发明的技术。
[0073]虽然本发明的具体实施例已经具体示出并参考其实施方式被描述,但是本领域的技术人员将理解,在不脱离本发明的实质和范围的前提下,可以改变所公开的实施例的形式和细节。例如,本发明的实施例可以使用多种部件并且不应被限制到上面提到的那些。因此,旨在本发明被解释为包括落入本发明的真实精神和范围内的所有变形和等同物。
【主权项】
1.一种用于在物理功能和虚拟功能之间映射的方法,所述方法包括: 在虚拟化管理单元处接收指示虚拟机被提供对在功能块中实施的功能的访问的数据;以及 通过所述虚拟化管理单元建立在所述虚拟机和所述功能块之间的映射以提供所述虚拟机对在所述功能块中实施的所述功能的访问,所述映射指示每个虚拟机与对应的虚拟功能相关联,每个虚拟功能与所述物理功能中的一个或多个相关联,并且所述一个或多个物理功能中的每个与所述一个或多个功能块相关联,其中所述映射基于所述虚拟机的特性。2.根据权利要求1所述的方法,其中所述一个或多个物理功能包括第一物理功能和第二物理功能,所述第一物理功能被映射到第一功能块,所述第二物理功能被映射到所述第一功能块和第二功能块。3.根据权利要求1或2所述的方法,其中所述第一功能块提供第一功能,并且所述第二功能块提供第二功能。4.根据权利要求1至3中任一项所述的方法,其进一步包括: 重新配置所述第二功能块以提供第三功能;并且 基于所述第二功能块的所述重新配置来更新所述映射以提供所述第三功能。5.根据权利要求1至4中任一项所述的方法,其中更新所述映射包括修改与第一虚拟功能相关联的虚拟机的映射,使得所述虚拟机与第二虚拟功能相关联。6.根据权利要求1至5中任一项所述的方法,其中更新所述映射包括修改与第一物理功能相关联的第一虚拟功能的映射,使得所述第一虚拟功能与第二物理功能相关联。7.根据权利要求1至6中任一项所述的方法,其中更新所述映射包括修改与第一功能块相关联的第一物理功能的映射,使得所述第一物理功能与第二功能块相关联。8.根据权利要求1至7中任一项所述的方法,其中所述虚拟机的所述特性包括客户标识符。9.根据权利要求1至8中任一项所述的方法,其中与第一客户标识符相关联的虚拟机被映射到第一组虚拟功能,所述第一组虚拟功能被映射到第一物理功能,并且与第二客户标识符相关联的虚拟机被映射到第二组虚拟功能,所述第二组虚拟功能被映射到第二物理功會K。10.根据权利要求1至9中任一项所述的方法,其中所述第一物理功能与第一优先级相关联,所述第二物理功能与第二优先级相关联,所述第一优先级是比所述第二优先级更高的优先级。
【文档编号】G06F9/50GK106095563SQ201610264530
【公开日】2016年11月9日
【申请日】2016年4月26日 公开号201610264530.6, CN 106095563 A, CN 106095563A, CN 201610264530, CN-A-106095563, CN106095563 A, CN106095563A, CN201610264530, CN201610264530.6
【发明人】J·张, A·H·瑞比, A·陈, M·J·路易斯
【申请人】阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1