首页 / 总线接口设计装置和总线接口设计方法

总线接口设计装置和总线接口设计方法无效专利 发明

技术内容

技术领域 本发明涉及总线接口设计装置和总线接口设计方法。 背景技术 近年来,随着系统LSI(大规模集成)的技术的进步,已经广泛地 实施安装高速度总线接口。同时,PCB(印制电路板)也已经提升至速 度可操作和高度集成。根据此趋势,考虑协同操作系统LSI和PCB两 者对设计来说变得越来越重要。当前,系统LSI设计师基于诸如组件 布局、电路板层的数目以及电路板材料的物理约束条件来手动设计封 装和总线接口。已经寻求其中可以更有效地执行这样的设计的环境。 日本未经审查的专利申请公开No.2006-119951(在下文中被称为 专利文献1)公开了一种用于设计系统LSI的内部总线接口的系统。日 本未经审查的专利申请公开No.2006-107309(在下文中被称为专利文 献2)公开了一种总线接口设计支持装置。该总线接口设计支持装置通 过选择用于实现模块之间的适当的数据传输的适当的总线协议来自动 地生成总线接口。 图8示出了专利文献1中公开的总线接口设计支持装置的功能框 图。如图8所示,常规的总线接口设计支持装置200具有输入单元211、 控制单元212、存储单元213、RAM(随机存取存储器)214、VRAM (视频随机存取存储器)215以及显示单元216。存储单元213具有总 线协议库213a和总线桥接库213b。 通过输入单元211输入模块的接口信息。应当注意,模块的接口 信息包括诸如信号的定义(时钟信号、选择信号、读和写方向信号、 读或者写使能信号)、输入和输出每个信号的时序、总线宽度(地址 和数据)、传输速度指数(传输速度的指示符(指示值)、接口的电 路规模(电路规模的指示符(指示值)以及交易ID(关于分离交易的 识别信息)的信息。控制单元212选择匹配接口信息的总线桥接电路 同时访问接口信息、总线协议库213a以及总线库213b。注意到,事先 将总线协议库213a和总线桥接库213b存储在存储单元213中。控制单 元212将结果输出至显示单元216,并且然后输出所生成的总线。 参考图9,在下文中描述了选择适当的总线桥接的方案。如图9 所示,读取源文件(步骤SP101)以计算总线传输带宽,并且执行传输 速度分析(步骤SP102)。在总线传输速度分析处理中,分析所读取的 源文件,并且然后执行对访问被连接至总线的存储器设备的具体存储 器区域中的地址的计数。在总线传输速度分析处理中,实现了通过利 用添加与要被访问的存储器的类型(例如,是否是SRAM或者DRAM) 和总线协议的类型相对应的响应时间计算传输速度来更正确地选择总 线协议。 在总线传输速度分析处理中,执行接收由总线接口的设计师确定 添加的外部信息的输入。应当注意,外部信息是设计条件,并且例如, 可以命名用于计算所要求的数据传输速度的信息和条件(在下文中, 被称为“外部信息A”)和关于选择总线协议的条件(在下文中,被 称为“外部信息B”)。 具体地,外部信息A是涉及数据业务的信息,诸如包括主模块和 从模块的连接模块数目、总线宽度、操作时钟速度、等待时间以及总 线占有时间和占用率。 外部信息B是涉及确定速度是否被给予优先级(是否对条件给予 优先级,诸如选择更大的总线宽度、选择更高的操作时钟速度以及分 离地址总线和数据总线),或者电路规模是否被给予优先级(是否对 更简单的并且使接口电路规模更小的总线协议给予优先级)的信息。 在步骤SP102之后,控制单元212访问被存储在存储单元213中 的总线协议库213a,并且选择满足在总线速度分析处理中计算的数据 传输速度的总线协议(步骤SP103)。这时,如果外部信息被输入,那 么在反映由外部信息给出的条件之后也执行选择总线协议。随后,控 制单元212控制显示单元216以显示在步骤SP103中选择的总线协议 (步骤SP104),并且确定所选择的总线协议的数目是否是复数(步骤 SP105)。 在步骤SP105中,如果选择了多个总线协议,那么控制单元212 经由输入单元211要求设计师(用户)选择所显示的多个总线协议中 的任何一个(步骤SP106)。 随后,控制单元212生成与所选择的总线协议相匹配的总线接口 的设计数据(步骤SP107)。这时,如果已经选择了包括不同类型的总 线协议的总线接口,那么控制单元212访问总线桥接库,选择适当的 总线桥接以连接这些总线,并且生成总线接口的设计数据。应当注意, 在步骤SP105中,如果选择了一个总线协议,那么控制单元212继续 进行步骤SP107的处理。在步骤SP107之后,控制单元212终止总线 接口设计支持处理。 目前,在大规模系统的技术领域中通过高速度总线接口连接多个 系统LSI变得越来越普遍。但是,根据专利文献1的方法不能够设计 同时考虑系统LSI的物理约束条件(诸如印制电路板的材料和在系统 LSI之间的距离)。如果一旦总线生成仅依照逻辑约束条件(诸如协议 和总线宽度)生成了系统LSI的接口,那么问题出现以致因为由物理 因素引起的电属性的变化而造成在系统LSI之间的接口不稳定地操作、 无法达到目标传输带宽等等。通过重新设计除了芯片之外的部件(诸 如封装基板、印制电路板以及电缆)解决上述问题将防止整个系统设 计的效率问题。 发明内容 本发明已经发现以下问题:还没有实现考虑在系统LSI之间的物 理约束条件(诸如印制电路板的材料和例如在系统LSI之间的距离) 的设计。 本发明的实施例的第一示例性方面是包括插入在芯片之间的I/F 的总线接口的设计方法,包括:基于芯片之间的物理约束条件确定芯 片之间的总线接口的总线宽度和总线接口的类型;以及自动地生成总 线IP核心,所述总线IP核心包括根据所确定的总线宽度和总线接口配 置的电路。 本发明的实施例的第二示例性方面是总线接口设计方法,包括: 读取芯片之间的逻辑约束条件和芯片之间的物理约束条件;计算被要 求用于总线接口的配置的参数;以及通过执行总线接口的配置自动地 生成总线接口。 本发明的实施例的第三示例性方面是总线接口设计装置,包括: 数据读出单元,该数据读出单元读出总线接口设计库和芯片的物理约 束条件,通过登记多个设计目的总线接口配置总线接口设计库,多个 设计目的总线接口中的每一个用于连接芯片的总线;确定器,该确定 器基于物理约束条件确定总线宽度和设计目的总线接口;以及执行器, 该执行器生成总线IP核心,该总线IP核心包括根据所确定的总线宽度 和设计目的总线接口配置的电路。 在本发明中,一旦配置了总线接口,除了正常使用的逻辑约束条 件之外,还考虑了物理约束条件(例如,印制电路板的材料、LSI之间 的距离等等)。这样,有可能生成可以稳定地驱动的总线接口。 根据本发明,实现了提供一种总线接口设计装置和一种用于生成 总线接口的总线接口设计方法,在设计总线接口之后该总线接口可以 被稳定地驱动并且满足物理约束条件。 附图说明 从以下结合附图的特定的示例性实施例的描述中,以上和其它示 例性方面、优点和特征将变得更加显而易见,其中: 图1是示出根据本发明的示例性实施例的总线接口设计系统的图。 图2是示出根据本发明的示例性实施例的总线接口设计装置的框 图。 图3是示出根据本发明的示例性实施例的包括由总线接口设计装 置设计的总线的LSI的图。 图4是示出根据本发明的示例性实施例的由总线接口设计装置执 行的设计方法的流程图。 图5是示出根据本发明的示例性实施例的由总线接口设计装置使 用或者访问的逻辑约束文件的一个示例的图。 图6是示出根据本发明的示例性实施例的由总线接口设计装置使 用或者访问的物理约束文件的一个示例的图。 图7是示出根据本发明的示例性实施例的由总线接口设计装置执 行的总线IP的配置参数的计算方法的流程图。 图8是示出在专利文献1中公开的总线接口设计支持装置的功能 框图。 图9是示出在专利文献1中公开的总线接口设计支持装置的操作 的流程图。 具体实施方式 在下文中,参考附图详细地描述应用于本发明的具体示例性实施 例。通过将本发明应用于与系统LSI的设计有关和包括插入在多个芯 片之间的总线接口的总线接口设计装置而给出这些示例性实施例。根 据在此的示例性实施例的总线接口设计装置用于设计包括插入在多个 芯片之间的I/F的总线接口,并且它们基于芯片的物理约束条件确定芯 片之间的总线接口的总线宽度和总线接口的类型并且自动地生成被配 备有与所确定的总线宽度和总线接口相对应的电路的总线IP核心。 为了实现此目的,作为用于生成总线接口(在下文中,也可以被 称为总线IP)的约束信息,它被配置成能够输入诸如协议和总线宽度 的逻辑约束条件以及诸如印制电路板的材料和在LSI之间的距离的信 息的物理约束条件。随后,它被配置成能够处理多个系统LSI作为用 于生成总线接口的逻辑和物理约束条件。 另外,与物理和逻辑约束条件相对应的可配置的总线IP(知识产 权)核心被包括在一旦总线接口生成就要访问的总线接口设计库中。 而且,它被配置成根据逻辑和物理约束条件计算要被分配给总线IP核 心的配置参数,并且在用于实现能够连接具有高速度接口的多个系统 LSI的配置的总线IP核心上的LSI之间提供高速度接口(链路)。通 过考虑物理约束条件和从逻辑约束条件计算的逻辑带宽来确定这样的 高速度接口(链路)的数目。 [第一示例性实施例] 图1是示出根据本发明的示例性实施例的总线接口设计系统的图。 根据本示例性实施例的总线接口设计系统具有逻辑约束条件文件1、物 理约束条件文件2、总线接口设计库3以及总线接口设计装置4,并且 总线接口设计系统设计总线接口5和6。 总线接口设计系统输入来自于逻辑约束条件文件1和物理约束条 件文件2的逻辑和物理约束条件,并且基于所输入的约束条件通过执 行被包括在事先准备的总线接口设计库3中的可配置的总线IP的配置 生成总线。 图2是示出根据本示例性实施例的总线接口设计装置的框图。如 图2所示,总线接口设计装置具有总线接口设计库(在图2中未示出)、 数据读出单元41、参数计算器42、执行单元(配置执行单元)43以及 输出单元(RTL输出单元)44。 一旦设计了总线接口,数据读出单元41就读取逻辑和物理约束条 件。参数计算器42计算配置总线接口所要求的参数。执行单元43执 行总线接口的配置。输出单元44输出RTL(寄存器传输级),作为执 行配置的结果。RTL表示具有触发器的总线接口电路和组合逻辑电路。 总线接口是用于连接多个系统LSI的总线的接口。总线接口具有 驱动连接系统LSI的传输线(总线)的传送和接收电路。而且,总线 接口具有总线矩阵单元以任意地连接一个或者多个总线主模块、一个 或者多个总线从模块、一个或者多个总线主模块以及一个或者多个总 线从模块。 参数计算器42计算被包括在总线接口中的传送和接收电路的属性 参数(属性调节参数)。应当注意,如稍后所述,总线接口具有驱动 连接系统LSI的传输线的高速度串行接口和/或高速度并行接口。通过 参数计算器42还可以计算高速度串行接口和/或高速度并行接口的属 性参数。 参数计算器42还可以输出代替或连同属性参数一起的其它的参数 (诸如总线接口的时钟频率、主端口数目、从端口数目、每个端口的 数据总线宽度、地址区域的开始地址和结束地址(针对从机的情况) 以及外部高速度接口的数目(链路的数目))。总线接口设计装置通 过指定如稍后所述的这些参数生成总线接口。 参数计算器42通过以查找表方式使用物理约束条件作为搜索关键 字来搜索被配置成输出属性参数的数据库。具体地,参数计算器42具 有端口数目确定器51、带宽计算器52以及参数输出单元53。端口数 目确定器51确定生成总线矩阵单元要求的主端口数目和从端口数目。 带宽计算器52根据逻辑约束条件计算连接系统LSI的高速度接口所要 求的逻辑带宽(逻辑带宽值)。参数输出单元53根据物理约束条件计 算能够实现以上逻辑带宽的接口数目和驱动每个接口的传送和接收电 路的属性参数。 接下来,描述了根据本示例性实施例的总线接口设计装置的操作。 图3是示出根据本示例性实施例的包括由总线接口设计装置设计的总 线的LSI的图。 首先,描述了图3所示的LSI 100的配置。如图3所示,LSI 100 在印制电路板(PCB)101上具有系统LSI(芯片)110和120。通过传 输线131和132连接芯片110和120。 总线主模块M11、M12和总线从模块S11、S12被嵌入在芯片110 中。这些模块与总线IP(知识产权)111相连接。总线矩阵112和SERDES (串行器/并行器)113和114被嵌入在总线IP 111中。总线矩阵112 用作交叉开关。SERDES(串行器/并行器)113和114用作高速度接口 以与LSI 100的外部进行通信。SERDES是相互转换串行和并行的电路。 SERDES 113的系统接口被连接至总线矩阵112。SERDES 113的高速 度串行接口被连接至芯片110的外部端子L11。同样地,SERDES 114 的系统接口被连接至总线矩阵112。SERDES 114的高速度串行接口被 连接至芯片110的外部端子L12。芯片110的外部端子L11被连接至 在PCB 101上布线的传输线131,并且同样地,芯片110的外部端子 L12被连接至在PCB 101上布线的传输线132。 还以与芯片110相同的方式配置LSI 100的芯片120。换言之,总 线主模块M21、M22和总线从模块S21、S22被嵌入在芯片120中。通 过总线IP 121连接这些模块。总线矩阵122以及SERDES 123和124 被嵌入在总线IP 121中。总线矩阵122用作交叉开关。SERDES用作 高速度接口以与LSI的外部进行通信。 SERDES 123的系统接口被连接至总线矩阵122。SERDES 123的 高速度串行接口被连接至芯片120的外部端子L21。同样地,SERDES 124的系统接口被连接至总线矩阵122。SERDES 124的高速度串行接 口被连接至芯片120的外部端子L22。芯片120的外部端子L21被连 接至在PCB 101上布线的传输线131。同样地,芯片120的外部端子 L22被连接至在PCB 101上布线的传输线132。 总线接口设计装置4具有自动地生成图3所示的总线IP 111、121 的物体。在以下描述中,描述了总线接口设计装置4的详细说明。图4 是示出根据本示例性实施例的由总线接口设计装置执行的处理方法的 流程图。 如图4所示,首先在步骤SP1中执行读出总线接口设计库。稍后 描述总线接口设计库的内容。接下来,在步骤SP2中,逻辑约束条件 被输入。具体地,执行读出逻辑约束文件,诸如图5所示的逻辑约束 文件。然后,物理约束条件被输入(步骤SP3)。具体地,执行读出物 理约束文件,诸如图6所示的物理约束文件。然后,计算用于总线IP 的配置参数(步骤SP4)。 在执行了步骤SP4中配置总线IP所要求的参数的计算之后,执行 总线IP的配置(步骤SP5)。最后,RTL(寄存器传输级)被输出, 并且然后完成了总线生成的处理(步骤SP6)。注意到,RTL表示具 有触发器的所配置的总线IP的电路和组合逻辑电路。 在以下描述中,描述了计算用于总线IP的配置参数的方法的细节。 图7是示出计算用于总线IP的配置参数的方法的流程图。 首先,根据逻辑约束条件读出在总线矩阵中的主机数目和从机数 目。随后,主端口数目和从端口数目被确定,两者都处于总线IP的内 部并且被要求用于总线矩阵单元(交叉开关)的生成,该总线矩阵单 元(交叉开关)用于任意地将多个总线主模块与多个总线从模块相连 接(步骤SP11)。然后,根据路由信息(指示哪个主机访问哪个从机 的路径信息)和关于逻辑约束条件的每个端口的总线宽度和总线时钟 频率的信息,计算被要求用于连接系统LSI的高速度接口(链路)的 逻辑带宽(步骤SP12)。 随后,从物理约束条件计算能够实现在步骤SP12中获得的逻辑带 宽的链路数目和驱动每个链路的传送和接收电路(SERDES)的属性参 数(步骤SP13)。传送和接收电路的属性参数的示例包括LVDS(低 压差分信号)缓冲器的类型、去加重(其中接收方在解调之后恢复通 过传送电路的预加重强调的频率分量)或者预加重(其中传送方事先 强调调制信号的高频率)的量、在接收电路中均衡的量等等。 物理约束条件表示信息,诸如印制电路板的材料、印制电路板层 的数目、布线膜厚度和在印制电路板的层之间的厚度、每个系统LSI 的封装信息(封装的类型、IBIS(输入/输出缓冲器信息规格)的型号)、 在系统LSI之间的布线的距离、布线负载的模型以及允许布线的链路 的最大数目。IBIS是描述IC的输入和输出属性的ANSI(美国国家标 准学会)标准模型并且表示IC芯片的输入和输出属性。 以查找表方式使用上述物理约束条件作为关键字,通过搜索被配 置成输出用于总线IP的参数的数据库来实现用于计算属性参数的装 置。在上述步骤SP11至SP13之后,完成了提取用于配置总线IP的参 数的步骤。 接下来,解释了总线接口设计库3。可配置的总线IP被存储在总 线接口(总线IP)设计库3中。可配置的总线IP被存储在总线接口(总 线IP)设计库3中。可配置的总线IP意指可以依照应用以命令集合的 水平在架构中被定制的总线IP。换言之,可配置的总线IP将以下参数 作为它自己的:总线时钟频率、主端口数目、从端口数目、每个端口 的数据总线宽度、地址区域的开始地址和结束地址(针对从机的情况) 以及外部高速度接口数目(链路的数目)、每个链路的传送和接收电 路(诸如SERDES)的属性参数等等,并且可以根据指定的参数重新配 置内部电路配置。 在以下描述中,参考图5和图6,描述了逻辑约束文件和物理约束 文件的具体内容。应当注意,逻辑约束文件和物理约束文件具有可以 以诸如HTML/XML的类似格式保持分级信息结构的配置。 图5是示出逻辑约束文件的一个具体示例的图。在本示例中的逻 辑约束文件1被配置有作为主要部分的两个CHIP部分(从行003至行 023和从行0025至行041)以及一个CONFIG部分(从行043至行052)。 CHIP部分定义图3中的芯片110和120的块配置。 描述了芯片110的CHIP部分中的主要项: 行004:该行指示这是与芯片110有关的部分; 行007:该行指示总线时钟是150MHz; 行009-011:该行指示总线主模块M11具有32位的宽度并且是 AHB(高级高性能总线)(注册商标)主端口; 行014-016:该行指示总线从模块S11具有32位的宽度并且是AHB 从端口;以及 行018-019:该行指示总线从模块S11的地址区域是0x10000000- 0x1001ffff。 接下来,描述了CONFIG部分中的主要项: 行044-047:该行指示芯片110的总线主模块M11访问芯片110 的总线从模块S11;以及 行049-050:该行指示芯片110的总线主模块M11访问芯片120 的总线从模块S21。 图6是物理约束文件的具体示例。根据以下主要部分一个PCB部 分(从行003至行010)、两个CHIP部分(从行012至行020和从行 022至行030)以及一个CONFIG部分来配置图6中的物理约束文件2。 在PCB部分中,定义了图3中的印制电路板PCB 101的物理约束条件, 并且在CHIP部分中,定义了图3中的芯片110和120的物理约束条 件。在CONFIG部分中,指定了诸如布局布线信息的物理约束条件。 以下描述了PCB部分中的主要项: 行005:该行指示PCB 101的材料是FR-4(耐火玻璃基板环氧树 脂层压板); 行006:该行指示PCB 101的印制电路板层的数目是六; 行007:该行指示PCB 101的印制电路板铜箔的厚度是18μm;以 及 行008:该行指示PCB 101的印制电路板层之间的厚度是0.4mm。 描述了CHIP部分中的主要项: 行016:该行指示芯片110的封装类型号是BGA 500(球栅阵列, 500个引脚);以及 行017:该行指示用于封装芯片110的IBIS模型是IBIS 50(输入 /输出缓冲器信息规格)。 描述了CONFIG部分中的主要项: 行036:该行指示在芯片110和120之间的PCB 101上的距离是 120mm; 行037:该行指示在芯片110和120之间允许布线的链路的最大数 目是16;以及 行038:该行指示在CHIP 110和120之间的布线模型是 FR4WLM601(FR4:印制电路板材料;WLM:布线负载模型)。 应当注意,IBIS 50表示PKG的电模型,并且在本示例中,唯一 定义的型号被表示为示例。FR4WLM601是印制电路板的布线的电模 型,并且在本示例中,唯一定义的型号被表示为示例。 在本示例性实施例中,实现了生成满足在多个LSI之间的高速度 接口中的物理约束条件并且能够被稳定地驱动的总线接口,并从而在 完成了LSI设计工艺之后实现了避免封装基板、印制电路板、电缆等 等的重新设计或者重新调整。 另外,事先按照惯例准备了多个总线接口(电路)作为要由客户 端依照要求(规格)选择并且被嵌入在LSI中的库,诸如ASIC(专用 集成电路)。为此,问题出现,以致因为由物理因素造成的电属性的 变化而使系统LSI之间的接口不稳定地操作,并且无法达到目标传输 带宽。相反地,在本示例性实施例中,由于事先确定了客户端的ASIC 使用条件作为物理约束,并且产生了用于每个ASIC的最佳总线接口 (电路),所以最终可以避免上述问题。 [第二示例性实施例] 将描述另一个示例性实施例,其中,代替第一示例性实施例中的 SERDES,高速度并行接口(诸如DDR(双倍数据速率)接口)可以 被用作为高速度接口,并且同时提供了具有能够选择高速度串行或者 高速度并行的功能的配置。总线接口设计装置具有通过使用以下值作 为关键字搜索事先准备的数据库来确定高速度接口的最佳类型的装 置:由系统LSI的封装类型限制的可用外部端子数目(插槽的数目)、 用于在LSI之间通信所要求的带宽以及通过印制电路板的材料和作为 关键字的布线信息确定的传输速度的上限值。 本示例性实施例还涉及与第一示例性实施例相类似的系统LSI的 设计,并且涉及用于设计包括被插入在芯片之间的总线接口的总线IP 核心的装置。同样在本示例性实施例中,通过基于芯片的物理约束条 件来确定芯片之间的接口的总线宽度、接口的类型等等,可以自动地 生成被配备有所确定的总线宽度和接口电路的总线IP核心。 应当注意,本发明不仅仅限于上述示例性实施例,并且应当理解, 在不背离本发明的精神的情况下可以进行各种修改。例如,尽管在上 述示例性实施例中以硬件配置的形式描述了本发明,但是本发明不限 于此并且还可以通过使CPU(中央处理单元)执行计算机程序来实现 任何处理。在这种情况下,还可以通过在记录介质中记录来提供计算 机程序,并且另外,还可以通过经由诸如因特网的其它传输介质的传 输来提供。 在上述示例性实施例中,公开了以下程序。一个是用于使计算机 执行用于设计包括插入在芯片之间的I/F的总线接口的处理,包括:基 于芯片的物理约束条件来确定芯片之间的总线接口的总线宽度和总线 接口的类型;以及自动地生成包括根据所确定的总线宽度和总线接口 配置的电路的总线IP核心。 另一个是用于使计算机执行预定的操作的程序,包括:读取总线 接口设计库;一旦设计总线接口就读取逻辑约束条件和物理约束条件; 计算配置总线接口的所要求的参数;以及执行总线接口的配置。 总线接口是连接多个半导体集成电路的总线的接口,该总线接口 包括:驱动总线的传送和接收电路;以及串行接口和/或并行接口,其 中,参数是传送和接收电路以及串行接口和/或并行接口的属性参数。 在上述示例性实施例中,公开了以下设计系统。一种用于设计包 括插入在芯片之间的I/F的总线接口的系统,该系统包括:确定器,该 确定器基于芯片的物理约束条件来确定芯片之间的总线接口的总线宽 度和总线接口的类型;以及执行器,该执行器自动地生成包括根据所 确定的总线宽度和总线接口配置的电路的总线IP核心。 本领域的普通技术人员可以根据需要组合第一和第二示例性实施 例。 虽然已经根据若干示例性实施例描述了本发明,但是本领域的技 术人员将认识到,本发明可以在权利要求的精神和范围内实施各种修 改,并且本发明并不限于上述示例。 而且,权利要求的范围不限于上述示例性实施例。 此外,应当注意,申请人的意图是涵盖所有请求保护的要素的等 同物,即使在后期的审查过程中对权利要求进行过修改亦是如此。