【技术实现步骤摘要】
配置可编程设备的方法、可编程设备及机器可读存储介质
本专利技术涉及使用高级语言来配置诸如现场可编程门阵列(FPGA)的可编程集成电路设备或其他类型的可编程逻辑设备(PLD)。
技术介绍
早期的可编程设备是一次可配置的。例如,配置可能已通过“烧断”——即断开——可熔链路来实现。备选地,配置可能已存储在可编程只读存储器中。这些设备一般为用户提供对设备进行配置以进行“乘积和”(或“P-TERM”)逻辑操作的能力。后来,结合了用于配置的可擦除可编程只读存储器(EPROM)的这种可编程逻辑设备变得可用,其允许设备被重新配置。再后来,结合了用于配置的静态随机存取存储器(SRAM)元件的可编程设备变得可用。同样可以被重新配置的这些设备在诸如EPROM的非易失性存储器中存储其配置,当设备通电时将这些配置从这些存储器加载到SRAM元件中。这些设备一般为用户提供对设备进行配置以进行查找表类型的逻辑操作的能力。这些设备在某个时间开始设置有随机存取存储器的嵌入块,该随机存取存储器可以被用户配置以用作随机存取存储器、只读存储器或逻辑(诸如P-TERM逻辑)。此外,随着可编程设备已变得越来越大,在针对各种常用功能的可编程设备上添加专用电路已变得更加普遍。这种专用电路可以包括用于时钟产生的锁相环或延迟锁定环,以及用于诸如加法或乘法的各种数学运算的各种电路。这通过配置可用的通用可编程逻辑而将用户从必须创建等效电路中解脱出来。尽管已经可以简单地通过智力判断应当在何处布置各种元件来手动配置最早期的可编程逻辑设备,但是甚至结合这种较早期的设备来提供允许用户按需布置逻辑且然后将该逻辑转换为可编程 ...
【技术保护点】
一种使用高级语言配置可编程集成电路设备的方法,所述方法包括:从所述高级语言的描述编译多个虚拟可编程设备;接收所述高级语言的、针对所述可编程集成电路设备的用户配置的描述;使用编程处理器解析所述用户配置,并且作为所述解析的结果,选择所述已编译的虚拟可编程设备中的一个虚拟可编程设备;在所述可编程集成电路设备上实例化所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备;以及使用所述用户配置来配置所述已编译的虚拟可编程设备中的所述实例化的虚拟可编程设备。
【技术特征摘要】
2012.02.09 US 13/369,8361.一种使用高级语言配置可编程集成电路设备的方法,所述方法包括:从所述高级语言的虚拟可编程设备的描述编译多个虚拟可编程设备;接收所述高级语言的、针对所述可编程集成电路设备的用户配置的描述,所述用户配置包括第一配置和第二配置;使用编程处理器解析所述用户配置,并且作为所述解析的结果,选择所述已编译的虚拟可编程设备中的一个虚拟可编程设备;在所述可编程集成电路设备上实例化所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备;在使用所述用户配置中的所述第一配置而不使用所述第二配置的情况下,来配置所述已编译的虚拟可编程设备中的所述实例化的虚拟可编程设备;针对所述已编译的虚拟可编程设备中经过配置的所述实例化的虚拟可编程设备进行测试;以及响应于所述测试的结果,卸载所述第一配置并且使用所述第二配置对所述已编译的虚拟可编程设备中的所述实例化的虚拟可编程设备进行配置。2.根据权利要求1所述的方法,其中所述高级语言是OpenCL。3.根据权利要求1所述的方法,其中所述实例化包括在位于所述可编程集成电路设备外部的处理器上,执行所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备。4.根据权利要求1所述的方法,其中所述实例化包括在位于所述可编程集成电路设备上的配置处理器上,执行所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备。5.根据权利要求4所述的方法,其中所述执行包括在所述可编程集成电路设备上实例化软处理器。6.根据权利要求4所述的方法,其中所述执行包括在嵌入到所述可编程集成电路设备中的硬配置处理器上,执行所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备。7.根据权利要求1所述的方法,其中所述配置至少包括综合、布局和布线之一。8.根据权利要求1所述的方法,其中所述虚拟可编程设备中的每一个包括:从所述可编程集成电路设备的可编程资源配置的可配置布线资源;以及从所述可编程集成电路设备的可编程资源配置的多个复杂功能块。9.根据权利要求8所述的方法,其中所述多个复杂功能块至少包括算术功能块、三角功能块、复用逻辑块或软处理器块之一。10.根据权利要求1所述的方法,其中:针对多个虚拟可编程设备的多个已编译的配置包括针对在操作期间可重新配置的虚拟可编程设备的至少一个已编译的配置;所述选择包括作为所述解析的结果,选择针对在操作期间可重新配置的虚拟可编程设备的所述至少一个已编译的配置中的一个配置;所述实例化包括实例化针对在操作期间可重新配置的虚拟可编程设备的所述至少一个已编译的配置中的所选择的一个配置。11.一种可编程集成电路设备,其根据权利要求1所述的方法配置,且包括用于执行所述已编译的虚拟可编程设备中的所述一个虚拟可编程设备的处理器。12.根据权利要求11所述的可编程集成电路设备,其中所述处理器位于所述可编程集成电路设备外部。13.根据权利要求11所述的可编程集成电路设备,其中所述处理器是位于所述可编程集成电路设备板上的硬处理器。14.根据权利要求11所述的可编程集成电路设备,其中所述处理器从所述可编程集成电路设备的可编程资源配置。15.一种使用高级语言配置可编程集成电路设备的方法,所述方法包括:以所述高级语言描述用于所述可编程集成电路设备的用户配置,其中所述用户配置包括第一配置和第二配置;使用编程处理器解析所述用户配置,并且作为所述解析的结果,从来自虚拟可编程设备的描述的先前已编译的虚拟可编程设备的库中选择一个先前已编译的虚拟可编程设备;在所述可编程集成电路设备上实例化所述先前已编译的虚拟可编程设备;在使用所述用户配置中的所述第一配置而不使用所述第二配置的情况下,来配置所述实例化的先前已编译的虚拟可编程设备;利用所述用户配置中...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。