配置逻辑器件阵列的方法和系统技术方案

技术编号:2887453 阅读:208 留言:0更新日期:2012-04-11 18:40
一种配置可编程逻辑单元阵列的方法,其特征在于:所述阵列包括多个可编程互连关系,每个所述逻辑单元在所述阵列中具有一个唯一单元位置,所述阵列具有一种相关的逻辑设计,所述方法包括: 访问一个设计数据库,该数据库代表逻辑单元定义和对应于所述逻辑设计的逻辑单元互连关系的一种配置; 把所述设计数据库的一部分提供给用户; 输入用户指定的变化,对所述设计数据库的用户所选部分进行重新定义; 产生一部分配置位流,仅描述与所述设计数据库的所述重新定义部分相关的所述逻辑单元和所述的互连关系;以及 将所述部分配置位流下载到所述逻辑单元阵列中,由此仅配置所述逻辑单元阵列中对应于所述用户指定变化的这些部分。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术总的涉及可编程逻辑器件,更具体地涉及现场可编程门阵列(FPGA)的配置。
技术介绍
在集成电路技术的早期,诸如移位寄存器、多路转换器、加法器等的逻辑电路是由数字集成电路构成的。这些小规模集成(SSI)电路通常含有数目较少(例如四至八个)的逻辑门,如“与”门、“或”门、触发电路和锁存器等,需要几十个晶体管。随着技术的发展,能够将越来越多的晶体管装入到IC电路中。目前,半导体制造商能够将数百万个晶体管装在单个晶片上,从而形成高度复杂的芯片,如现代微处理器。装有这些VLSI(特大规模集成)和ULSI(超大规模集成)芯片的系统同样是复杂的。这种系统通常采用若干个常规逻辑芯片提供各种各样的支撑逻辑功能。已研制出允许制造商快速地实现客户的逻辑设计的门阵列。这些器件是由利用标准方法制造的逻辑门阵列组成的。器件的定制是在最后几步制造步骤中发生的,在这几步中形成与逻辑门连接的金属层以实现所需的逻辑功能。这些门阵列演变为可编程的器件,给仅需要少量器件或者还未完全开发逻辑设计但是需要少量样品作测试的设计人员提供了更大的灵活性。另一种可编程逻辑器件采用熔断器提供器件中逻辑门之间的互连。熔断器被熔断便断开连接,或者在所谓的抗熔断器的情况中形成连接。因此,这种器件只能使用一次,仅存储一组逻辑功能。可编程逻辑器件的继续发展已经导致可重新编程的互连关系的发展,更重要的是可配置的逻辑单元的发展。顾名思义,可配置逻辑单元允许设计人员能够对逻辑单元进行编程,使其具有许多基本逻辑门中任何一个门的功能或者更高级的逻辑功能。当前的制造技术使得生产具有数以千计个可配置逻辑单元及其相关互连的高密度器件,即称为现场可编程门阵列(FPGA)成为可能。提供这种高密度器件的能力使得设计人员能够采用越来越复杂的逻辑功能。象以前的产品一样,FPGA包括可编程的互连关系。此外,互连关系是可重复编程的,进一步增大了FPGA的利用价值。然而,以往对这些可重复编程FPGA的重新配置通常需要对整个器件进行重新配置。Atmel公司(本专利技术的受让人)制造的FPGA代表了这种器件向前又迈进了一步。将这种器件称为可动态重新配置的FPGA,允许仅对所选的一部分逻辑阵列进行重新配置。用这种方法能够对FPGA作出变化,不必对整个器件进行编程,从而允许仅对所选的一部分阵列进行重新配置。参考附图说明图1,典型的FPGA 100包括多个可配置的逻辑单元130、可配置的I/O块110和可配置的互连关系120、122,共同称之为FPGA资源。尽管互连关系120、122是以各个互连线网格示出的,但是每条“线”实际上是一组互连线,例如,如图3B所示。每个逻辑单元130和I/O块110包括数据线140、142,它们能够有选择地耦合到互连关系120、122上。典型设计周期从设计一个或多个然后将在FPGA中实现的逻辑电路开始。逻辑设计包括逻辑门和这些逻辑门之间的互连关系。然而,特定的设计,如数字滤波器利用“常数”,即1和0的串来限定其特性。为了描述本专利技术,把这种常数称为设计的一部分,也可以称为逻辑门。例如,图2示出一种简单的逻辑设计。逻辑设计中的每个元件用一个实例名来识别。因此,图2中的与门和或门取名为G1-G3。图3A示出逻辑设计是如何在FPGA 100’中出现的。将图2中所示的门G1-G3中的每一个门和互连关系映射到图3A中所示的所选逻辑单元和互连关系上。同样,将输入A-D和输出OUT(图2)映射到所选I/O块。因此,互连关系120a-120c和122a-122c(以较淡的线表示)与逻辑单元G1-G3和I/O块110a-110e连接在一起。图3B示出了图3A配置中一部分放大图。说明不同逻辑单元、互连关系和I/O块之间的具体互连情况。尽管在该图中的设计并未示出常数的使用,但是,众所周知,能够将现代FPGA中逻辑单元构造为输出逻辑“1”或逻辑“0”,能够根据需要如此构造一组逻辑单元,产生一个或多个1和0的串。现在将说明把图2的设计转换到如图3A中所示的FPGA的步骤。由于绝大多数的目前设计在功能上趋向于相当复杂,通常采用计算机辅助设计(CAD)工具以便于设计过程。因此,在图4中,设计流程图200从输入逻辑电路初始设计,即步骤210开始,例如通过利用CAD工具。接着是逻辑电路的逻辑门的放置和选路,步骤212。作为放置和选路步骤的结果,产生设计数据库,步骤214。设计数据库规定FPGA中将参与实现逻辑电路的这些逻辑单元、I/O块和互连关系(即资源),包括所选资源的位置及其路经或逻辑结构。图1示出用于识别逻辑单元位置的若干坐标系中的一个。在图1所示的传统坐标系中,逻辑单元按照从左到右和从下到上的次序编号,从左下角单元(0,0)开始,到右上角单元(3,3)结束。通常,设计数据库另外还包括在设计阶段期间给逻辑电路元件指定的实例名,图2。从包含在设计数据库中的信息,由通常称为位流编译器的工具产生配置位流,步骤216。位流编译器获取存储在设计数据库中的位置和配置信息,产生将配置FPGA中各种资源的限定位流。在物理级上,限定位流代表FPGA中晶体管(开关)的开/关(ON/OFF)状态,它实际上控制每个逻辑单元和I/O块的配置以及逻辑单元与I/O块之间的互连。在这里,或是可以把配置位流下载到逻辑阵列,由此而配置器件,步骤218a,或是可以把位流保存在磁盘上,步骤218b。图4中用虚线表示这两种可供选择的方案。即使已经对设计作了调试并按照预期的进行操作,偶然也会发生需要对初始设计进行变化。例如,新的要求可能导致功能定义的变化,这就必须改变初始设计。利用通常的现有技术,对初始设计的最终版本的修改,步骤220导致上述步骤的重复。因此,设计人员利用CAD工具访问初始设计的最终版本并对该设计作出所需改变。执行第二次放置和选路步骤,步骤222,由此产生第二个设计数据库,步骤224。然后,根据新的设计数据库由位流编译器产生第二个配置位流,步骤226。与第一配置位流一样,可以把也可以不把第二配置位流下载到FPGA。如果需要下载,可提供两种选择即能够把位流整体下载到FPGA,由此重新配置整个阵列,以包含改进的设计。另一种选择,这里FPGA是可动态重新配置的,意思是指器件能够被部分重新配置,能够仅对第二配置位流中对应于设计变化的这些部分进行下载。通过确定第一与第二配置位流之间的差异产生部分(可重新配置的)位流首先实现之,步骤228。然后,把部分位流下载到可动态重新配置的FPGA,步骤230,由此而实行FPGA的部分重新配置,其中,仅对改进设计中所涉及的这些逻辑单元、互连关系和I/O块进行重新编程。最后,对于另外的设计改进重复循环,就象出现设计功能要求上变化一样。设计中逻辑门的放置和选路是一项计算强度高的活动。当设计人员由于高密度FPGA的提供能力趋于采用越来越复杂的设计,放置和选路操作会大大增加。在图4所示的现有方法中,考虑到设计循环中的每一次迭代可能需要完全的放置和选路操作,专用于放置和选路计算的时间量会达到惊人的程度。现有技术方法的另一个方面是可能会出现改进后的设计将导致放置和选路配置不同于以前设计的放置和选路配置。如果以前的设计已经精心地调谐到提供特定临界时序特性,这就成为一个问题。通过全部放置和选路操作进本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:M·T·梅森S·C·埃文斯S·S·阿拉耐克
申请(专利权)人:爱特梅尔股份有限公司
类型:发明
国别省市:

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

1