著录项信息
专利名称 | 电路设计支持装置和方法 |
申请号 | CN200710162354.6 | 申请日期 | 2007-09-29 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2008-06-11 | 公开/公告号 | CN101196947 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/50 | IPC分类号 | G;0;6;F;1;7;/;5;0查看分类表>
|
申请人 | 富士通株式会社 | 申请人地址 | 日本神奈川县川崎市
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 富士通株式会社 | 当前权利人 | 富士通株式会社 |
发明人 | 加藤嘉之;青山久志 |
代理机构 | 北京三友知识产权代理有限公司 | 代理人 | 黄纶伟;迟军 |
摘要
本发明涉及电路设计支持装置、电路设计支持方法、计算机产品以及印刷电路板的制作方法。一种电路设计CAD装置中含有的FPGA信息管理单元,其检索由FPGA设计CAD装置生成的FPGA信息,如引脚的分配信息和属性信息。库创建单元使用所述FPGA信息创建符号库。在创建符号库时,如果创建符号库的FPGA设置在电路图中,则库创建单元尽可能的管理,而不是改变电路图中现有符号库的部分划分和引脚布局。在设置符号库新创建的FPGA符号时,电路图反映单元在不改变现有布局的情况下设置所述符号。
1.一种支持设计电路的电路设计支持装置,在所述电路中将可编程逻辑器件用作组件,所述电路设计支持装置包括:
可编程逻辑器件信息接收单元,其接收可编程逻辑器件信息,该可编程逻辑器件信息是通过使用可编程逻辑器件设计和计算机辅助设计针对该可编程逻辑器件创建的设计信息;
库创建单元,其通过使用所述可编程逻辑器件信息来创建要在电路设计中使用的可编程逻辑器件的符号库;以及
符号替换单元,其确定在电路图中是否布置有待创建符号库的所述可编程逻辑器件的符号,并且如果确定在所述电路图中布置有所述符号,则用所述库创建单元针对其创建了所述符号库的符号替换布置在所述电路图中的所述符号。
2.根据权利要求1所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元基于有关与在所述电路图中布置的所述符号相对应的符号库的信息,来在所述符号改变最少的情况下创建一符号库。
3.根据权利要求2所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元基于有关与在所述电路图中布置的所述符号相对应的符号库的信息来执行部分划分。
4.根据权利要求3所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元将逻辑引脚名与布置在所述电路图中的所述符号的在先引脚的逻辑引脚名相同的逻辑引脚分配给与所述在先引脚所在的部分相同的部分。
5.根据权利要求4所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元将逻辑引脚名与布置在所述电路图中的所述符号的在先引脚的逻辑引脚名相同的逻辑引脚布置在与所述在先引脚所在的位置相同的位置。
6.根据权利要求3所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元将逻辑引脚名未被布置在所述电路图中的所述符号所包含的逻辑引脚分配给与布置在所述电路图中的所述符号的在先引脚所在的部分相同的部分,所述在先引脚具有与所述逻辑引脚相同的物理引脚名。
7.根据权利要求6所述的电路设计支持装置,其中如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则所述库创建单元将逻辑引脚名未被布置在所述电路图中的所述符号所包含的逻辑引脚布置在所述电路图中布置的所述符号未占用的位置。
8.根据权利要求1所述的电路设计支持装置,该电路设计支持装置还包括变化接收单元,其接收与所述符号库中的变化有关的信息。
9.根据权利要求8所述的电路设计支持装置,其中与变化有关的所述信息是与部分划分和引脚位置有关的信息。
10.根据权利要求1所述的电路设计支持装置,其中在所述库创建单元针对其创建了所述符号库的所述符号中所包含的多个引脚之外,如果某个引脚的逻辑引脚名与该引脚被替换之前所使用的逻辑引脚名不同,则当该引脚连接有一线路时,所述符号替换单元切断所述线路。
11.一种用于支持设计电路的方法,在该电路中将可编程逻辑器件用作组件,所述方法包括以下步骤:
接收步骤,其接收可编程逻辑器件信息,该可编程逻辑器件信息是通过使用可编程逻辑器件设计和计算机辅助设计针对该可编程逻辑器件创建的设计信息;以及创建步骤,其通过使用所述可编程逻辑器件信息来创建要在电路设计中使用的可编程逻辑器件的符号库;
确定步骤,其确定在电路图中是否布置有待创建符号库的所述可编程逻辑器件的符号;以及
替换步骤,如果确定在所述电路图中布置有所述符号,则用在所述创建步骤中创建了其符号库的符号替换布置在所述电路图中的所述符号。
12.根据权利要求11所述的方法,其中所述创建步骤包括以下步骤:如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则基于有关与在所述电路图中布置的所述符号相对应的符号库的信息,来在所述符号改变最小的情况下创建一符号库。
13.根据权利要求12所述的方法,其中所述创建步骤包括以下步骤:
如果在所述电路图中布置有待创建符号库的所述可编程逻辑器件的所述符号,则基于有关与在所述电路图中布置的所述符号相对应的符号库的信息来执行部分划分。
电路设计支持装置和方法\n技术领域\n[0001] 本发明涉及用于支持(辅助)设计电路的技术,在所述电路中使用可编程逻辑器件(PLD)作为组件。 \n[0002] 背景技术\n[0003] 在电路设计CAD(计算机辅助设计)中,当将诸如FPGA(现场可编程门阵列)的PLD用作组件时,电路设计者需要在设计PLD之后创建该PLD的符号,并将该符号登记在符号库中。但是,电路设计者的主要工作是通过协调组件来设计电路,因此大多数的电路设计者不习惯于创建组件的符号。因此,每次PLD设计改变时创建符号,都对电路设计者增加了沉重的负担。 \n[0004] 因此,已经开发出了一种用于支持PLD的符号创建的技术。例如,日本专利申请特开2006-79447号公开了一种FPGA设计支持装置,该装置基于有关FPGA的引脚布局的信息而自动创建FPGA库。 \n[0005] 但是,存在如下问题:尽管由FPGA设计支持装置创建了FPGA库,但是在设计电路的过程中,每次改变FPGA时都需要替换电路图中的FPGA符号。因而,在FPGA设计支持装置创建的FPGA符号中,在大多数情况下由于FPGA的变化导致部分划分和引脚布局发生变化,从而可能需要彻底改变电路图。 \n[0006] 发明内容\n[0007] 本发明的目的是至少部分地解决传统技术中存在的问题。 \n[0008] 根据本发明的一个方面,提供了一种支持设计电路的电路设计支持装置,在所述电路中将PLD用作组件,该电路设计支持装置包括:PLD 信息接收单元,其接收PLD信息,该PLD信息是通过使用PLD设计CAD针对该PLD创建的设计信息;和库创建单元,其通过使用所述PLD信息来创建要在电路设计中使用的PLD的符号库。 \n[0009] 根据本发明的另一方面,提供了一种用于支持设计电路的方法,在该电路中将PLD用作组件,该方法包括以下步骤:接收PLD信息,该PLD信息是通过使用PLD设计CAD针对该PLD创建的设计信息;以及,通过使用所述PLD信息来创建要在电路设计中使用的PLD的符号库。 \n[0010] 还是根据本发明的又一方面,提供了一种制造印刷电路板的方法,所述方法被支持设计电路的电路设计支持装置使用,在所述电路中将PLD用作组件,所述方法包括以下步骤:接收PLD信息,该PLD信息是通过使用PLD设计CAD针对该PLD创建的设计信息;以及,通过使用所述PLD信息来创建要在电路设计中使用的PLD的符号库。 \n[0011] 还是根据本发明的再一方面,提供了一种计算机可读记录介质,在其中存储有使计算机实现上述方法的计算机程序。 \n[0012] 通过结合附图来阅读对本发明的当前的优选实施方式的以下详细描述,将会更好的理解本发明上述和其他的目的、特征、优点以及技术上和工业上的意义。 \n附图说明\n[0013] 图1是用于说明根据本发明第一实施方式的FPGA协同设计概念的说明图; [0014] 图2是根据第一实施方式的FPGA协同设计系统的功能框图; \n[0015] 图3是用于说明电路设计的说明图; \n[0016] 图4A和图4B是用于说明FPGA的符号库的说明图; \n[0017] 图5是在FPGA信息存储单元中存储的FPGA信息的实施例的图; \n[0018] 图6是在符号库存储单元中存储的符号库的实施例的图; \n[0019] 图7是引脚交换的实施例的图; \n[0020] 图8是如何将引脚交换反映到电路图中的实施例的图; \n[0021] 图9是在限制条件存储单元中存储的限制条件的实施例的图; \n[0022] 图10是在变化历史记录存储单元中存储的变化历史记录的实施例的图; [0023] 图11是历史记录输出单元输出给FPGA设计CAD装置的通知信息的实施例的图; [0024] 图12是通知信息输出格式的图; \n[0025] 图13是电路设计CAD装置执行的用于创建符号库的处理和用于布置符号的处理的流程图; \n[0026] 图14是由DRC单元执行的用于检查输入/输出属性的处理的流程图; \n[0027] 图15是由DRC单元执行的用于检查差分信号的处理的流程图; \n[0028] 图16是由DRC单元执行的用于检查电源电压的处理的流程图; \n[0029] 图17是由引脚交换处理单元执行的用于引脚交换的处理的流程图; \n[0030] 图18是由历史记录输出单元执行的用于输出变化历史记录的处理的流程图; [0031] 图19是用于说明根据本发明第二实施方式的FPGA协同设计概念的说明图; [0032] 图20根据第二实施方式的FPGA协同设计系统的功能框图; \n[0033] 图21是网表检索单元检索的网表的实施例的图; \n[0034] 图22是网表转换单元输出的网表的实施例的图; \n[0035] 图23是临时库创建单元创建的临时库的实施例的图; \n[0036] 图24是由临时库创建装置执行的用于输出用于封装设计CAD的信息的处理的流程图; \n[0037] 图25是由临时库创建装置执行的用于反映封装的考虑结果的处理的流程图;和 [0038] 图26是执行根据第一实施例的电路设计CAD程序的计算机的功能框图。 具体实施方式\n[0039] 下面参照附图详细描述本发明的示例性实施方式。顺便提及,在这 些实施方式中主要描述了将本发明应用于FPGA的情况。 \n[0040] 首先,说明根据本发明的第一实施方式的FPGA协同设计的概念。图1是用于说明根据第一实施方式的FPGA协同设计的概念的说明图。如该图所示,在第一实施方式的FPGA协同设计中,以下三个部分相互协作以支持设计者:支持FPGA设计的FPGA设计CAD装置\n10、支持印刷电路板的封装设计的封装设计CAD装置20,以及作为电路设计支持装置的电路设计CAD装置100。 \n[0041] 具体地说,电路设计CAD装置100接收FPGA信息(例如FPGA设计CAD装置10生成的引脚布局),并创建符号库。在创建FPGA的符号库时,如果待创建符号库的FPGA被布置在电路图中,即,如果符号库是由于FPGA中的变化而新创建的,则电路设计CAD装置100通过尽可能地使用有关现有符号的信息(如部分分配和符号引脚的布局)来创建符号库。 [0042] 如上所述,电路设计CAD装置100通过使用FPGA信息来创建FPGA的符号库,使得电路设计者不需要创建FPGA的符号库。从而,能够降低电路设计者的工作量。同样,当符号库是由于FPGA的变化而新创建的时,电路设计CAD装置100通过尽可能地使用有关现有符号的信息来创建符号库。因此,可以减少对电路图的修改,从而提高电路设计的效率。 [0043] 此外,当执行DRC(设计规则校验)时,电路设计CAD装置100通过参照FPGA信息(如FPGA设计CAD装置10生成的引脚输入/输出属性)来执行所述DRC。例如,电路设计CAD装置100通过参照FPGA的引脚输入/输出属性,来针对各网络检查输出引脚的数量。\n按此方式,电路设计CAD装置100通过参照FPGA信息(如引脚输入/输出属性)来执行所述DRC,从而可以更精确地执行所述DRC。 \n[0044] 此外,当在封装设计中发生引脚交换时,电路设计CAD装置100从封装设计CAD装置20中检索引脚交换信息,并将该引脚交换反映在符号库、电路图等中。另外,电路设计CAD装置100在限制条件(如引脚之间的线路的长度)下将所述引脚交换反映在封装设计中。按此方式, 电路设计CAD装置100也在该限制条件下将该引脚交换反映在封装设计中,从而可以消除电路设计信息和封装设计信息中的不一致性。 \n[0045] 此外,电路设计CAD装置100记录封装设计中引脚交换的历史记录,并将该引脚交换的历史记录信息提供给FPGA设计CAD装置10。按此方式,电路设计CAD装置100记录封装设计中的引脚交换的历史记录,并将该引脚交换的历史记录信息提供给FPGA设计CAD装置10,从而可以确保FPGA设计、电路设计和封装设计之间的一致性。 \n[0046] 下面,说明根据第一实施方式的FPGA协同设计系统的结构。图2是根据第一实施方式的FPGA协同设计系统的功能框图。如该图所示,FPGA协同设计系统包括FPGA设计CAD装置10、封装设计CAD装置20和电路设计CAD装置100。 \n[0047] 电路设计CAD装置100与FPGA设计CAD装置10和封装设计CAD装置20相协作地支持电路设计,在所述电路中将FPGA用作组件。图3是用于说明该电路设计的说明图。\n如该图所示,电路设计者将登记为与一组件相关联的一符号库的符号布置在电路图中,并将符号引脚相互连接,从而设计该电路。 \n[0048] 但是,在FPGA的情况中,如果在将程序写入在符号上之前将该符号登记为符号库,则由于引脚可被用于输入或输出中的任一个,因此可将引脚定义为输入/输出引脚。因此,当使用登记的符号库时,用于输入的引脚位于右侧,反之,用于输出的引脚位于左侧,或者按照图4A所示不是依次地布置总线,结果电路图变得复杂。 \n[0049] 因此,每次写入程序时都必须创建符号库。结果,在该情况下,每次写入程序时电路设计CAD装置100都创建FPGA的符号库。通过在每次写入程序时创建FPGA的符号库,如图4B所示,可以将用于输入的引脚布置在左侧,而总线也可以依次地设置。 [0050] 回到对图2的说明,电路设计CAD装置100包括FPGA信息管理单元110、FPGA信息存储单元115、库创建单元120、符号库存储单元125、电路图反映单元130、电路图存储单元135、DRC单元140、引脚交换处理单元150、限制条件存储单元155、历史记录输出单元\n160以及变化历 史记录存储单元165。 \n[0051] FPGA信息管理单元110是用于管理FPGA信息的处理单元。该FPGA信息管理单元\n110从FPGA设计CAD装置10输出的文件中检索FPGA信息,例如物理引脚和逻辑引脚之间的对应关系、引脚输入/输出属性、电压值、以及簇编号(bank number),并将检索到的FPGA信息存储在FPGA信息存储单元115中。 \n[0052] 在该情况下,在FPGA信息管理单元110首先将FPGA信息存储在FPGA信息存储单元115中之后,当FPGA信息管理单元110检索到FPGA信息并重新在FPGA信息存储单元\n115中存储所检索的FPGA信息时,FPGA信息管理单元110进一步将指示FPGA信息变化的变化历史记录存储在变化历史记录存储单元165中。 \n[0053] FPGA信息存储单元115是在FPGA信息管理单元110的控制下,在其中存储FPGA信息的存储单元。图5是存储在FPGA信息存储单元115中的FPGA信息的实施例的图。如该图所示,FPGA信息存储单元115在其中存储有物理引脚名、逻辑引脚名、输入/输出属性、簇编号、交换组数量、差分属性,以及相对于每个引脚的电源电压。 \n[0054] 库创建单元120是利用存储在FPGA信息存储单元115中的FPGA信息来创建FPGA的符号库的处理单元,并将所创建的符号库存储在符号库存储单元125中。库创建单元120包括部分划分单元121和符号创建单元122。部分划分单元121将电路图划分为多个部分。\n符号创建单元122创建被部分划分单元121划分的各个部分的符号。 \n[0055] 部分划分单元121基于用户通过GUI指定的部分划分规则,将电路图划分为多个部分。在部分划分时,电路图被各簇编号、各簇组、各逻辑引脚名等划分为所述多个部分。另外,部分划分单元121基于输入/输出属性确定符号最右侧引脚和最左侧引脚的位置,并通过利用引脚属性进行排序来确定引脚的顺序。此外,部分划分单元121接收通过GUI来自用户的用于替换部分之间的引脚的规定,并替换该引脚。 \n[0056] 另外,在创建符号库时,库创建单元120检查待创建符号的FPGA该符号是否被布置在电路图中。如果符号被布置在电路图中,则库创建 单元120通过参照有关所布置的符号的信息来创建符号库。 \n[0057] 具体地说,库创建单元120通过参照作为现有符号库密钥的逻辑引脚名来执行部分分配。另外,库创建单元120创建符号库,在该符号库中,将符号引脚布置在与在现有符号库中在先引脚所在的位置相同的位置。即,库创建单元120将具有在现有符号中包含的逻辑引脚名的引脚分配到与现有部分中在先引脚所在的位置的相同部分的相同位置上,而将具有在现有符号中不包含的逻辑引脚名的引脚分配到与具有相同物理引脚名的在先引脚所在的部分相同的部分上。另外,库创建单元120将具有与在现有符号中使用的逻辑引脚名不同的逻辑引脚名的引脚布置在符号库上未占用的位置。如果在符号库上没有未占用的位置,则库创建单元120沿向下方向扩展符号库的大小,并将引脚布置在扩展的位置。 [0058] 当待创建符号的FPGA的符号被布置了在电路图中时,库创建单元120通过参照有关所布置的符号的信息来创建符号库,从而可以减少由于FPGA设计的变化而导致的电路图的修改。 \n[0059] 符号库存储单元125是在其中存储有FPGA的符号库的存储单元。图6是存储在符号库存储单元125中的符号库的实施例的图。如该图所示,符号库存储单元125在其中存储有:与库名、创建的日期/时间、版本、占用区域、图表数量以及符号引脚的数量有关的信息;与形成符号的各图形有关信息;以及与各引脚有关的信息。 \n[0060] 电路图反映单元130是用于进行如下替换的处理单元,即,在电路图中布置有FPGA的符号(其中由库创建单元120创建了符号库)的情况下,用新生成的符号替换所布置的符号。如果线路连接到具有与在所述替换之前使用的在先逻辑引脚名不同的逻辑引脚名的引脚,则电路图反映单元130切断该线路。 \n[0061] 如果线路连接到具有与在所述替换之前使用的在先逻辑引脚名不同的逻辑引脚名的引脚,则电路图反映单元130切断该线路,从而可以减少由于FPGA设计的变化引起的电路图修改的遗漏。 \n[0062] 电路图存储单元135是在其中存储有有关其中布置有多个组件的电路图的信息的存储单元。如果在电路图中布置有FPGA的符号(其中库 创建单元120创建了符号库),则电路图存储单元135通过电路图反映单元130更新。 \n[0063] DRC单元140是执行DRC的处理单元。DRC单元140通过参照由FPGA信息管理单元110管理的FPGA信息以及存储在部件库30中的信息,来执行DRC。具体地说,DRC单元\n140检查输入/输出属性、差分信号、电源电压等等。DRC单元140通过参照FPGA信息来执行DRC,从而可以精确地执行与FPGA相关的DRC。 \n[0064] 引脚交换处理单元150是接收封装设计CAD装置20输出的引脚交换信息,并将在封装设计中执行的引脚交换反映到FPGA信息、符号库、以及电路图中的处理单元。在FPGA中,可通过在程序进行写入来改变组件内部的运行,这样,在封装设计阶段执行FPGA组件的引脚替换(引脚交换)以容易地分配引脚。因此,引脚交换处理单元150执行在电路设计中将引脚交换反映在封装设计中的处理。 \n[0065] 图7是引脚交换的实施例的图。如该图所示,当连接在FPGA与其他组件之间的线路相交叉时,可以通过FPGA的引脚交换来消除线路的交叉。图8是如何将引脚交换反映在电路图中的实施例的图。如该图所示,在该电路图中,在物理引脚名分别是“D1”、“E1”、“F1”和“G1”的符号中改变引脚布局。 \n[0066] 引脚交换处理单元150还在限制条件(如引脚之间的线路的长度)下将引脚交换反映在封装设计中。引脚交换处理单元150还在限制条件下将引脚交换反映在封装设计中,从而可以确保设计信息在电路设计与封装设计之间的一致性。 \n[0067] 此外,引脚交换处理单元150指示FPGA信息管理单元110存储由于引脚交换而导致的FPGA信息的变化历史记录。从而,FPGA信息管理单元110将变化历史记录存储在变化历史记录单元165中。 \n[0068] 限制条件存储单元155是在其中存储有与电路设计有关的限制条件(例如引脚之间的线路长度)的存储单元。图9是存储在限制条件存储单元155中的限制条件的实施例的图。如该图所示,限制条件存储单元155在其中存储有与引脚之间的线路长度有关的限制条件。例如,作为限 制条件存储有:具有组件“IC1”的物理引脚名“G1”的引脚与具有组件“I12”的物理引脚名“2”的引脚之间的线路的长度是50mm或以下。 \n[0069] 历史记录输出单元160是以能够输入到FPGA设计CAD装置10的形式将FPGA信息(该信息在由引脚交换处理单元150执行的反映引脚交换的处理中发生改变)的变化历史记录作为通知信息输出给文件的处理单元。 \n[0070] 变化历史记录存储单元165是在其中存储FPGA信息的变化历史记录的存储单元,并通过FPGA信息管理单元110进行管理。图10是在变化历史记录存储单元165中存储的变化历史记录的实施例的图。如该图所示,变化历史记录存储单元165在其中存储有有关处理的日期/时间以及每次执行引脚交换时交换的引脚的变化信息。另外,变化历史记录存储单元165在其中存储有每次历史记录输出单元160输出变化历史记录的处理的日期/时间,以及每次FPGA信息管理单元110从FPGA设计CAD装置10中检索FPGA信息的处理的日期/时间。 \n[0071] 图11是历史记录输出单元160输出给FPGA设计CAD装置10的通知信息的实施例的图。如该图所示,历史记录输出单元160针对各交换的引脚输出引脚交换后的物理引脚名和改变的逻辑引脚名作为通知信息。图12是通知信息的输出格式的实施例的图。 [0072] 按此方式,变化历史记录存储单元165在其中存储FPGA信息的变化历史记录,并且历史记录输出单元160以能输入到FPGA设计CAD装置10的形式将该变化历史作为通知信息输出给文件。这样,可以确保设计信息在封装设计、电路设计、电路设计以及FPGA设计之间的一致性。 \n[0073] 接下来说明电路设计CAD装置100所执行的创建符号库的处理过程以及布置符号的处理。图13是通过电路设计CAD装置100执行的创建符号库的处理过程和布置符号的处理的流程图。 \n[0074] 如该图所示,在电路设计CAD装置100中,FPGA信息管理单元110从FPGA设计CAD装置10输出的文件中检索FPGA信息(例如引脚分配信息和属性信息),并在FPGA信息存储单元115中存储检索到的FPGA信息(步骤S101)。 \n[0075] 接下来,库创建单元120确定在电路图中是否布置有与FPGA信息管理单元110检索的FPGA信息相对应的符号(步骤S102)。如果符号未布置在电路图中,则库创建单元120通过使用用户指定的部分划分规则将电路图划分为多个部分(步骤S103),并根据用于创建符号的预定规则(例如,基于输入/输出属性将引脚分配到右侧或左侧)来确定符号引脚的位置(步骤S104)。 \n[0076] 如果在电路图中布置有符号,则库创建单元120通过参照先前执行的部分分配,将具有与在先引脚的逻辑引脚名相同的逻辑引脚名的引脚分配给与该在先引脚所在的部分相同的部分(步骤S105)。如果一引脚具有未被在先引脚使用的逻辑引脚名,则库创建单元120将该引脚分配给与具有相同物理引脚名的在先引脚所在的部分相同的部分(步骤S106)。然后,将具有与在先引脚的逻辑引脚名相同的逻辑引脚名的引脚布置在与在该先引脚所处的位置相同的位置(步骤S107),而将具有未被在先引脚使用的逻辑引脚名的引脚布置到所述符号上的未占用的位置(步骤S108)。 \n[0077] 库创建单元120接收通过GUI来自用户的用于改变部分分配或引脚位置的规定。\n如果规定进行改变,则库创建单元120通过改变部分分配或引脚位置来创建符号库(步骤S109),并将创建的符号库存储在符号库存储单元125中(步骤S110)。 \n[0078] 然后,电路图反映单元130确定在电路图中是否布置有在其中由库创建单元120创建了的符号库的FPGA的在先符号(步骤S111)。如果在电路图中布置有在先符号,则电路图反映单元130将布置的符号替换为新创建的符号(步骤S112)。如果要布置的引脚连接有线路,并且该引脚的逻辑引脚名与以前使用的引脚的逻辑引脚名不同,则电路图反映单元130切断该线路(步骤S113)。 \n[0079] 接下来,通过用户指定的组件输入功能将所创建的符号布置在电路图中(步骤S114)。 \n[0080] 按此方式,如果在电路图中设置有与通过FPGA信息管理单元110检索的FPGA信息相对应的符号,则库创建单元120通过参照在先创建 的符号库来创建符号库,并且电路图反映单元130将所布置的符号替换为其中新创建了符号库的符号。这样,可以减少由于FPGA设计的变化导致的电路图的修改。 \n[0081] 顺便指出,在这种情况下,如果在电路图中布置有待创建符号库的FPGA,则库创建单元120参照在先创建的符号库。作为另外一种选择,如果在符号库存储单元125中存储有待创建符号库的FPGA的符号库,则库创建单元120能够参照在先创建的符号库。 [0082] 接下来说明DRC单元140执行的用于检查输入/输出属性的处理。图14是DRC单元140执行的检查输入/输出属性的处理的处理过程的流程图。 \n[0083] 如该图所示,DRC单元140关注单连接组的多个网络中的任一个,并获取有关在所关注的网络中包括的所有引脚的信息(步骤S201)。然后,DRC单元140关注获取了其信息的多个引脚中的任一个(步骤S202),并确定所关注的引脚是否用于FPGA组件(步骤S203)。 \n[0084] 结果,如果所关注的引脚是用于FPGA组件,则通过参照存储在FPGA信息存储单元\n115中的FPGA信息来检查引脚的输入/输出属性(步骤S204)。如果所关注的引脚不是用于FPGA组件,则通过参照组件库20来检查引脚的输入/输出属性(步骤S205)。然后,确定是否已检查了所有引脚的输入/输出属性(步骤S206)。如果存在任一个未被检查的引脚,则系统控制返回到步骤S202,并且关注未被检查的引脚以检查其输入/输出属性。 [0085] 如果所有引脚的输入/输出属性都经过了检查,则确定所关注的网络是否包含两个或更多个输出引脚(步骤S207)。如果包含有两个或更多个输出引脚,则将表示在输出引脚之间连接有网络的错误通知给用户(步骤S208)。并且,确定所关注的网络是否不包含任何输出引脚(步骤S209)。如果不包含有任何输出引脚,则将表示在所关注的网络中不存在输出引脚的错误通知给用户(步骤S210)。如果只有一个引脚是输出引脚,则通知用户所关注的网络处于正常状态(步骤S211)。 \n[0086] 然后,确定是否已针对所有网络检查了输出引脚数量(步骤S212)。 如果存在输出引脚数量未被检查的任何网络,则系统控制返回到步骤S201,并且关注未检查输出引脚数量的网络以检查输出引脚数量。如果已针对所有网络检查了输出引脚数量,则终止检查输入/输出属性的程序。 \n[0087] 按此方式,对于FPGA组件来说,DRC单元140通过参照FPGA信息来检查引脚的输入/输出属性,从而可以在包括FPGA的电路中精确地检查输入/输出属性。 \n[0088] 接下来说明DRC单元140执行的用于检查差分信号的处理。图15是DRC单元140执行的用于检查差分信号的处理的处理过程的流程图。 \n[0089] 如该图所示,DRC单元140关注多个网络中的任一个,并获取有关在所关注的网络中包括的所有引脚的信息(步骤S301)。将正引脚数量(表示差分属性为正的引脚数量)和负引脚数量(表示差分属性为负的引脚数量)的初值清零(步骤S302)。然后,关注获取了其信息的多个引脚中的任一个(步骤S303),并确定所关注的引脚是否用于FPGA组件(步骤S304)。 \n[0090] 结果,如果所关注的引脚是用于FPGA组件,则通过参照在FPGA信息存储单元115中存储的FPGA信息来检查引脚的差分属性(步骤S305)。如果所关注的引脚不是用于FPGA组件,则通过参照组件库30来检查引脚的差分属性(步骤S306)。然后,如果差分属性为正,则正引脚的数量加“1”,或者如果差分属性为负,则负引脚的数量加“1”(步骤S307)。 [0091] 确定是否所有引脚的差分属性都经过了检查(步骤S308)。如果存在其差分属性未被检查的任何引脚,则系统控制返回到步骤S303,并关注其差分属性未被检查的引脚以检查其差分属性。 \n[0092] 如果所有引脚的差分属性都经过了检查,则确定正引脚的数量是否是正数,并且负引脚数量是否是正数,也就是说,确定是否具有正属性的引脚和具有负属性的引脚都存在在所关注的网络中(步骤S309)。如果正引脚数量是正数,并且负引脚数量也是正数,则将表示将具有正属性的引脚连接到具有负属性的引脚的错误通知给用户(步骤S310)。\n如果正引脚数量或负引脚数量中的仅任一个是正数,则通知用户关注网络处于 正常状态(步骤S311)。 \n[0093] 然后,确定是否已针对所有网络检查了差分信号(步骤S312)。如果存在差分信号未被检查的任何网络,则系统控制返回到步骤S301,并且关注未检查差分信号的网络以检查其差分信号。如果已针对所有网络检查了差分信号,则终止检查差分信号的处理。 [0094] 按这种方式,对于FPGA组件来说,DRC单元140通过参照FPGA信息来检查引脚的差分属性,从而可以精确地检查包括FPGA的电路中的差分信号。 \n[0095] 接下来说明DRC单元140所执行的用于检查电源电压的处理。图16是DRC单元\n140执行的检查电源电压的处理的流程图。 \n[0096] 如该图所示,DRC单元140关注多个组件中的任一个(步骤S401),并且还关注在所关注的组件中包括的多个引脚中的任一个(步骤S402)。然后,确定所关注的引脚是否是电源引脚(步骤S403)。如果所关注的引脚不是电源引脚,则系统控制进入到步骤S410。 [0097] 如果所关注的引脚是电源引脚,则确定所关注的引脚是否用于FPGA组件(步骤S404)。如果所关注的引脚是用于FPGA组件,则通过参照在FPGA信息存储单元115中存储的FPGA信息来检查该引脚的电源电压(步骤S405)。如果所关注的引脚不是用于FPGA组件,则通过参照组件库30来检查该引脚的电源电压(步骤S406)。然后,检查连接有所关注的引脚的网络的电压值(步骤S407),并确定该电压值是否与该引脚的电源电压相同(步骤S408)。如果所述电压值与所述引脚的电源电压不同,则通知用户该电源电压与该电压值不同(步骤S409)。 \n[0098] 然后,确定是否已检查了所有引脚(步骤S410)。如果存在未被检查的任何引脚,则系统控制返回到步骤S402,并关注未检查的引脚以检查电源引脚的电压值。 [0099] 如果已检查了所有的引脚,则确定是否已针对所有组件检查了电源电压(步骤S411)。如果存在电源电压未被检查的任何组件,则系统控制返回到步骤S401,并关注未检查电源电压的组件以检查其电源电压。如果确定已针对所有组件检查了电源电压,则终止检查电源电压的处理。 \n[0100] 按此方式,对于FPGA组件来说,DRC单元140通过参照FPGA信息来检查电源引脚的电压值,从而可以在包括FPGA的电路中精确地检查电源电压。 \n[0101] 接下来说明引脚交换处理单元150执行的引脚交换的处理。图17是引脚交换处理单元150执行的引脚交换的处理的流程图。 \n[0102] 如该图所示,引脚交换处理单元150检索封装设计CAD装置20创建的引脚交换信息(步骤S501),并替换在其中执行了引脚交换的FPGA的符号库的物理引脚名(步骤S502)。 \n[0103] 随后,对在其中执行了引脚交换的FPGA中的FPGA信息中包括的逻辑引脚名和与逻辑有关的属性进行替换(步骤S503),并将电路图中的符号更新为在其中替换了逻辑引脚名和与逻辑有关的属性的符号(步骤S504)。对于具有限制条件的引脚,是在每次引脚交换时替换限制条件(步骤S505)。 \n[0104] 这样,对于具有限制条件的引脚来说,引脚交换处理单元150在每次执行引脚交换时替换限制条件,从而能够将封装设计CAD中的引脚交换精确地反映在有关电路设计的信息中。 \n[0105] 下面说明历史记录输出单元160执行的用于输出变化历史记录的处理。图18是历史记录输出单元160执行的输出变化历史记录的处理的处理过程的流程图。如该图所示,在从存储在变化历史记录存储单元165中的变化历史记录中检索到最新的FPGA信息之后,历史记录输出单元160搜索输出要通知给FPGA设计CAD装置10的通知信息的最后处理(步骤S601)。 \n[0106] 这样,对从输出通知信息的最新程序直到当前期间待执行引脚交换的引脚进行标记(步骤S602)。将标记引脚的最新属性作为要通知给FPGA设计CAD装置10的通知信息输出(步骤S603)。 \n[0107] 也就是说,在FPGA信息管理单元110从FPGA设计CAD装置10检索到FPGA信息,并更新存储在FPGA信息存储单元115中的FPGA信息之后,历史记录输出单元160输出待执行交换的引脚的最新属性(这些属性尚未被通知)作为通知信息。 \n[0108] 按此方式,历史记录输出单元160通过使用存储在变化历史记录存储单元165中的变化历史记录,来将待执行交换的引脚的最新属性作为通知信息输出给FPGA设计CAD装置10,这样可以将封装设计中的引脚交换反映到FPGA设计信息中。 \n[0109] 另外,在FPGA信息管理单元110从FPGA设计CAD装置10检索到FPGA信息,并更新存储在FPGA信息存储单元115中的FPGA信息之后,输出仅待执行引脚交换的引脚的最新属性(这些属性尚未被通知)作为通知信息。结果,可以避免输出废弃通知信息或避免通知信息的重叠,从而可以将封装设计中的引脚交换有效地反映到FPGA设计信息中。 [0110] 如上所述,在第一实施方式中,包括在电路设计CAD装置100中的FPGA信息管理单元110检索FPGA信息,例如FPGA设计CAD装置10创建的引脚分配信息和属性信息,并且库创建单元120通过使用该FPGA信息来创建符号库。因此,电路设计者无需创建FPGA的符号库,从而可以降低电路设计者的工作量。 \n[0111] 此外,在创建符号库时,如果在电路图中布置有待创建符号库的FPGA,则库创建单元120设法尽可能地不改变布置在电路图中的现有符号库的部分分配和引脚布局。而且,当电路图反映单元130将新创建了其符号库的FPGA的符号布置在电路图中时,在不改变现有布局的情况下布置符号。这样,可以减少由于FPGA设计的变化而导致的电路图的修改。 [0112] 另外,在第一实施方式中,当在电路设计CAD装置100中包括的DRC单元140执行DRC时,对于FPGA,通过参照从FPGA设计CAD装置10中检索到的FPGA信息来检查引脚的属性等,并通过FPGA信息管理单元110将该属性存储在FPGA信息存储单元115中。从而,能够精确地执行DRC。 \n[0113] 此外,在第一实施方式中,在电路设计CAD装置100中包括的引脚交换处理单元\n150从封装设计CAD装置20中检索引脚交换信息,并除了符号库、FPGA信息以及电路图以外,还将该引脚交换反映在限制条件中。从而,可以消除设计信息在电路设计与封装设计之间的不一致性。 \n[0114] 另外,在第一实施方式中,在电路设计CAD装置100中包括的变化历史记录存储单元165在其中存储有FPGA信息的变化历史记录,历史记录输出单元160基于在变化历史记录存储单元165中存储的变化历史记录,将用于通知引脚交换的信息输出给FPGA设计CAD装置10。这样,能够确保设计信息在封装设计、电路设计和FPGA设计之间的一致性。 [0115] 在第一实施方式中,已考虑到如下的情况:基于通过使用FPGA组件进行电路设计的结果来进行印刷电路板的封装设计。预先考虑好FPGA设计者和封装设计者都期望的引脚分配,有助于大大缩短设计周期。因此,在本发明第二实施方式中,详细说明了支持FPGA设计者与封装设计者之间进行的协同设计的FPGA协同设计系统。 \n[0116] 首先,说明根据第二实施方式的FPGA协同设计的概念。图19是用于说明根据第二实施方式的FPGA协同设计概念的说明图。如该图所示,在根据第二实施方式的FPGA协同设计中,作为协同设计支持装置的临时库创建装置200接收FPGA引脚信息(例如FPGA设计CAD装置10生成的引脚分配信息),并创建FPGA的临时库。在该情况下,临时库表示封装设计CAD装置20执行分配引脚时需要的组件形状类型库,并且是针对该FPGA临时创建的库。 \n[0117] 临时库创建装置200从封装设计CAD装置20检索引脚交换信息,并将所检索的引脚交换信息反映在由其自身管理的FPGA信息中,并将该引脚交换信息通知给FPGA设计CAD装置10。 \n[0118] 按此方式,在第二实施方式中,临时库创建装置200接收FPGA设计CAD装置10生成的FPGA引脚信息,并创建针对该FPGA的临时组件形状类型库。这样,能够通过利用封装设计CAD装置20来考虑引脚分配。 \n[0119] 接下来,说明根据第二实施方式的FPGA协同设计系统的结构。图20是根据第二实施方式的FPGA协同设计系统的结构的功能框图。如该图所示,FPGA协同设计系统包括FPGA设计CAD装置10、封装设计CAD装置20、以及临时库创建装置200。临时库创建装置\n200包括网表 检索单元210、网表管理单元220、网表转换单元230,FPGA设计CAD接口单元240、FPGA引脚信息管理单元250、临时库创建单元260、以及引脚交换处理单元270。 [0120] 网表检索单元210是检索用户创建的网表并将网表传送给网表管理单元220的处理单元。图21是网表检索单元210检索的网表的实施例的图。 \n[0121] 如该图所示,网表包括定义组件的组件定义单元和定义网络的网络定义单元。在组件定义单元中,针对考虑用的组件描述组件名和组件库名。但是,对于FPGA组件来说,由于不存在组件库,所以以下用“FPGA/”描述其模块名(用于区别FPGA的名称)。 [0122] 在网络定义单元中,针对各网络描述了网络名和连接到该网络的组件引脚。在这种情况下,以“(组件名).(组件引脚名)”的形式描述组件引脚。顺便提及的是,对于FPGA组件来说,将逻辑引脚名或物理引脚名描述为引脚名(用“%”标记物理引脚名)。 [0123] 网表管理单元220是在其中存储并管理网表检索单元210检索的网表的管理单元。一旦接收到用户通过GUI输入的网表变化,网表管理单元220就改变网表。 [0124] 网表转换单元230是将网表管理单元220管理的网表转换为能够输入封装设计CAD装置20的格式的处理单元。网表转换单元230在转换网表时参照由FPGA引脚信息管理单元250管理的FPGA信息。 \n[0125] 图22是网表转换单元230输出的网表的实施例的图。如该图所示,网表包括针对各引脚的组件名、库名、组件端子号、引脚名、网名、交换组编号、以及差分类型。在这种情况下,组件端子号是分配给每个引脚的连续编号。 \n[0126] FPGA设计CAD接口单元240是连接FPGA设计CAD装置10的接口部件。具体地说,FPGA设计CAD接口单元240从FPGA设计CAD装置10中检索FPGA引脚信息,并将引脚交换信息提供给FPGA设计CAD装置10。 \n[0127] FPGA引脚信息管理单元250是在其中存储并管理由FPGA设计 CAD接口单元240检索的FPGA引脚信息的管理单元。另外,一旦接收到通过GUI来自用户的改变引脚间隔或FPGA引脚信息的指令,FPGA引脚信息管理单元250就改变FPGA信息。 \n[0128] 临时库创建单元260是针对FPGA组件、利用FPGA引脚信息管理单元250管理的FPGA引脚信息来创建临时库(即创建临时组件形状类型库)的处理单元。 \n[0129] 图23是临时库创建单元260创建的临时库的实施例的图。如该图所示,在临时库中针对每个引脚描述了连接区(land)形状类型库名、X坐标、Y坐标、角度以及引脚名。顺便提及的是,对于连接区形状类型库名来说,使用了从用户接收到指令时存储在FPGA引脚信息管理单元250中的信息。 \n[0130] 另外,在临时库中还描述了表示组件尺寸的区域。使用有关该区域的信息来在封装设计过程中计算组件之间的距离。顺便提及的是,组件的尺寸是由临时库创建单元260基于引脚间隔而计算的。 \n[0131] 临时库创建单元260基于FPGA引脚信息创建临时库,从而能够考虑在封装设计CAD中的引脚分配。 \n[0132] 引脚交换处理单元270是从封装设计CAD装置20中检索引脚交换信息并指示FPGA引脚信息管理单元250改变FPGA引脚信息的处理单元。FPGA引脚信息管理单元250改变FPGA引脚信息,并指示FPGA设计CAD接口单元240将该引脚交换信息通知给FPGA设计CAD装置10。另外,引脚交换处理单元270指示网表管理单元220来基于该引脚交换信息而改变网表。 \n[0133] 接下来说明临时库创建装置200执行的用于输出用于封装设计CAD的信息的处理。图24是由临时库创建装置200执行的用于输出用于封装设计CAD的信息的处理的处理过程的流程图。 \n[0134] 如该图所示,在临时库创建装置200中,FPGA设计CAD接口单元240检索由FPGA设计CAD装置10创建的引脚分配信息,并将该引脚分配信息传送给FPGA引脚信息管理单元250,然后,FPGA引脚信息管理单元250创建FPGA引脚信息(步骤S701)。 \n[0135] 此外,网表检索单元210检索网表(步骤S702),并将该网表传送给网表管理单元\n220。当从用户接收到用于改变网表等指令时,网表管理单元220改变由其自身管理的网表。当从用户接收到引脚间隔等的规定时(步骤S703),FPGA引脚信息管理单元250改变由其自身管理的FPGA引脚信息。 \n[0136] 然后,临时库创建单元260从FPGA引脚信息中获取引脚的坐标,并创建临时组件形状类型库(步骤S704),而网表转换单元230转换网表(步骤S705)。接着,网表转换单元230将转换的网表输出给一文件,并且临时库创建单元260将所创建的临时库输出给该文件(步骤S706)。 \n[0137] 按此方式,临时库创建装置200创建临时库,从而能够通过使用封装设计CAD装置\n20来考虑引脚分配。此外,一旦从用户接收到引脚间隔等的规定,FPGA引脚信息管理单元\n250就改变由其自身管理的FPGA引脚信息。从而,用户可以考虑采用多种引脚间隔的引脚分配。 \n[0138] 下面说明由临时库创建装置200执行的反映封装的考虑结果的处理。图25是由临时库创建装置200执行的反映封装的考虑结果的处理的处理过程的流程图。 \n[0139] 如该图所示,在临时库创建装置200中,引脚交换处理单元270在封装设计CAD中检索引脚交换信息(步骤S801),并替换在网表中包含的待交换引脚的网络(步骤S802)。 [0140] 然后,引脚交换处理单元270替换在FPGA信息中包含的逻辑引脚名和逻辑属性(步骤S803),并且FPGA设计CAD接口单元240将有关所替换的引脚的信息输出给一文件(步骤S804)。 \n[0141] 按此方式,引脚交换处理单元270检索封装设计CAD中的引脚交换信息,并将该引脚交换反映在网表中和FPGA引脚信息中。然后,FPGA设计CAD接口单元240将有关该引脚交换的信息输出给该文件。这样,可以将封装设计中的引脚交换反映到FPGA设计信息中。 [0142] 如上所述,在第二实施方式中,FPGA设计CAD接口单元240检索FPGA设计CAD装置10创建的引脚分配信息,而FPGA引脚信息管理单元250将由FPGA设计CAD接口单元240检索到的引脚分配信息作为 FPGA引脚信息进行管理,并且临时库创建单元260利用FPGA引脚信息管理单元250管理的FPGA引脚信息来创建临时组件形状类型库,并以能够被封装设计CAD装置20读取的形式将该临时组件形状类型库输出给该文件。由此,能够通过使用封装设计CAD装置20来考虑早期的引脚分配,还可以缩短设计印刷电路板的周期。 [0143] 在第一和第二实施方式中分别描述了电路设计CAD装置和临时库创建装置。作为另外一种选择,也可以通过用软件实现电路设计CAD装置和临时库创建装置的结构,从而实现分别具有与电路设计CAD装置和临时库创建装置相同的功能的电路设计CAD程序和临时库创建程序。因此,下面描述执行电路设计CAD程序的计算机。顺便提及的是,也可以通过类似的计算机执行临时库创建程序。 \n[0144] 图26是执行根据第一实施方式的电路设计CAD程序的计算机300的功能框图。如该图所示,计算机300包括RAM 310、CPU 320、HDD 330、LAN接口340、输入/输出接口350以及DVD驱动器360。 \n[0145] RAM 310是在其中存储有计算机程序、执行计算机程序的中间结果等的存储器。\nCPU 320是从RAM 310读取程序并执行该程序的中央处理单元。HDD 330是在其中存储程序和数据的磁盘装置。LAN接口340是用于将计算机300经由网络连接到其他计算机的接口。输入/输出接口350是用于将计算机300连接到输入装置(例如,鼠标或键盘,以及显示装置)的接口。DVD驱动器360是读取/写入DVD的装置。 \n[0146] 将待由计算机300执行的电路设计CAD程序311存储在DVD中,并通过DVD驱动器\n360从DVD读取出,然后安装在计算机300上。作为另外一种选择,电路设计CAD程序311存储在例如经由LAN接口340与计算机300连接的其他计算机系统的数据库中,从数据库中读取出该电路设计CAD程序311并将其安装在计算机300上。然后,将所安装的电路设计CAD程序311存储在HDD 330中,通过RAM 310读出,然后由CPU 320执行。 \n[0147] 本实施方式中说明了将FPGA用作组件的情况。但是,本发明不限制于上述情况。\n本发明也可以适用于通常将PLD用作组件的情况。 \n[0148] 根据本发明的一个方面,可以通过使用有关在电路图中布置的符号的信息来创建符号库。这样,能够减少由PLD的设计改变而导致的电路图修改。 \n[0149] 根据本发明的另一方面,当在电路图中布置的PLD的设计发生改变时,能够减少符号的改变。因此,可以减少由于PLD设计的改变而导致的电路图修改,从而提高了设计电路的效率。 \n[0150] 还是根据本发明的还一方面,当在电路图中布置的PLD设的计发生改变时,电路设计者不必更换电路图中的符号。从而,能够减少由于PLD的设计改变而导致的电路图修改,从而提高了设计电路的效率。 \n[0151] 还是根据本发明的再另一方面,能够避免由于PLD的设计改变导致的电路图的修改的遗漏。从而可以提高设计质量。 \n[0152] 尽管出于完整并清楚的公开的目的根据具体实施方式描述了本发明,但附后的权利要求并不因此而受到限制,而应解释具体体现了本领域的技术人员可以想到的完全落入本文所阐述的基本教示内的所有的变型和替换结构。
法律信息
- 2019-09-17
未缴年费专利权终止
IPC(主分类): G06F 17/50
专利号: ZL 200710162354.6
申请日: 2007.09.29
授权公告日: 2012.06.06
- 2012-06-06
- 2008-08-06
- 2008-06-11
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |