[发明专利]准备可编程设备的方法、布线开关以及机器可读存储介质有效
申请号: | 201310065374.7 | 申请日: | 2013-02-08 |
公开(公告)号: | CN103324512B | 公开(公告)日: | 2018-04-06 |
发明(设计)人: | D·T-L·陈;D·辛格 | 申请(专利权)人: | 阿尔特拉公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市金杜律师事务所11256 | 代理人: | 酆迅,庞淑敏 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 准备 可编程 设备 方法 布线 开关 以及 机器 可读 存储 介质 | ||
技术领域
本发明涉及使用高级语言来配置诸如现场可编程门阵列(FPGA)的可编程集成电路设备或其他类型的可编程逻辑设备(PLD)。
背景技术
早期的可编程设备是一次可配置的。例如,配置可能已通过“烧断”——即断开——可熔链路来实现。备选地,配置可能已存储在可编程只读存储器中。这些设备一般为用户提供对设备进行配置以进行“乘积和”(或“P-TERM”)逻辑操作的能力。后来,结合了用于配置的可擦除可编程只读存储器(EPROM)的这种可编程逻辑设备变得可用,其允许设备被重新配置。
再后来,结合了用于配置的静态随机存取存储器(SRAM)元件的可编程设备变得可用。同样可以被重新配置的这些设备在诸如EPROM的非易失性存储器中存储其配置,当设备通电时将这些配置从这些存储器加载到SRAM元件中。这些设备一般为用户提供对设备进行配置以进行查找表类型的逻辑操作的能力。
这些设备在某个时间开始设置有随机存取存储器的嵌入块,该随机存取存储器可以被用户配置以用作随机存取存储器、只读存储器或逻辑(诸如P-TERM逻辑)。此外,随着可编程设备已变得越来越大,在针对各种常用功能的可编程设备上添加专用电路已变得更加普遍。这种专用电路可以包括用于时钟产生的锁相环或延迟锁定环,以及用于诸如加法或乘法的各种数学运算的各种电路。这通过配置可用的通用可编程逻辑而将用户从必须创建等效电路中解脱出来。
尽管已经可以简单地通过智力判断应当在何处布置各种元件来手动配置最早期的可编程逻辑设备,但是甚至结合这种较早期的设备来提供允许用户按需布置逻辑且然后将该逻辑转换为可编程设备的配置的编程软件也是常见的。利用当前较大的设备(包括上述专用电路的设备),试图在不使用这种软件的条件下布置逻辑是不切实际的。这种软件现在还通常包括通常为称为“核(core)”的预定义功能,以用于配置某些常用结构,且尤其用于结合上述专用电路来配置用于数学操作的电路。例如,可以提供用于各种三角或代数功能的核。
尽管可用的编程软件允许用户在被编程设备的能力内实现几乎任意所需逻辑设计,但是大多数这种软件需要诸如VHDL或Verilog这样的硬件描述语言的知识。然而,可编程设备的很多潜在用户并不是很精通硬件描述语言,而且可能更倾向于使用较高级编程语言来对设备进行编程。
发明内容
可被采用以配置可编程设备的一种高级语言是OpenCL(开放运算语言),不过对其他高级语言且尤其是包括C、C++、Fortran、C#、F#、BlueSpec和Matlab的其他高级综合语言的使用也在本发明的范围内。
在OpenCL中,使用主机和内核(kernel)的组合执行计算,其中主机负责输入/输出(I/O)和建立任务,而内核根据独立输入执行计算。其中,存在内核的明确声明,且待处理的每组元件已知是独立的,每个内核可以实施为高性能硬件电路。基于在诸如FPGA的可编程设备上的可用空间的量,内核可以被复制以改善应用的性能。
内核编译器通过硬件产生、系统集成以及与主机计算机交互而从OpenCL描述将内核转换成实现应用的硬件电路。编译器可以基于扩展为能够实现对OpenCL应用的编译的开源低级虚拟机编译器。编译器对OpenCL内核进行解析、分析、优化并将其实施为适于在诸如FPGA之类的可编程设备上实施的高性能流水线电路。然后可以使用适用于特定可编程设备的编程工具来编译系统。该设备还具有嵌入式硬处理器,或可以配置有嵌入式软处理,以运行OpenCL(或其他高级)代码,或者可以使用外部处理器。可以通过在嵌入式或外部处理器上执行主机程序来运行OpenCL或其他高级代码。
根据本发明,提供一种使用高级语言准备可编程集成电路设备以进行配置的方法。该方法包括:从所述高级语言的描述编译多个虚拟可编程设备。这种编译包括从所述可编程集成电路设备的可编程资源编译可配置布线资源的配置,以及从所述可编程集成电路设备的可编程资源编译多个复杂功能块的配置。
还提供了使用这种编译配置的库编码的机器可读数据存储介质,其是可以用在虚拟可编程设备或任意可编程设备中的布线开关。
附图说明
当结合附图考虑下面的详细描述时,将显见本发明的其他特征、其属性和各种优点,其中贯穿附图,相同的参考符号表示相同的部件,且附图中:
图1示出使用高级语言来配置可编程设备的已知方法;
图2示出根据本发明实施方式的基本虚拟结构(fabric)的示例;
图3示出根据本发明实施方式的在数学方面更为复杂的虚拟结构的示例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿尔特拉公司,未经阿尔特拉公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310065374.7/2.html,转载请声明来源钻瓜专利网。