CN102473198B - 集成电路制造方法及半导体集成电路 - Google Patents

集成电路制造方法及半导体集成电路 Download PDF

Info

Publication number
CN102473198B
CN102473198B CN201180003011.XA CN201180003011A CN102473198B CN 102473198 B CN102473198 B CN 102473198B CN 201180003011 A CN201180003011 A CN 201180003011A CN 102473198 B CN102473198 B CN 102473198B
Authority
CN
China
Prior art keywords
bus
circuit
integrated circuit
module
outside terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201180003011.XA
Other languages
English (en)
Other versions
CN102473198A (zh
Inventor
岩桥大辅
东岛胜义
清原督三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102473198A publication Critical patent/CN102473198A/zh
Application granted granted Critical
Publication of CN102473198B publication Critical patent/CN102473198B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

在半导体集成电路的制造方法的布局设计中,在包含功能模块和IO模块(外部端子I/F电路)的电路的平面布置确定后,在判断出外部端子和与外部端子对应的IO模块的布线距离延长的情况下,将对应的IO模块重新配置在IO端子的附近而缓和外部IO模块和外部端子间的布线限制,并且,在将数据传送电路和外部IO模块连接起来的总线(或共用总线)间插入与总线的布线长度相应的定时调整装置。

Description

集成电路制造方法及半导体集成电路
技术领域
本发明涉及半导体集成电路及其制造方法,尤其涉及电路部件的布局设计。
背景技术
现有技术中,半导体集成电路的设计大致分为前端设计和后端设计两个工序。前端设计是经过半导体集成电路的规格设计、功能设计·测试设计、逻辑合成等工序生成网表的工序。另一方面,后端设计是经过布局设计、签名验证(sign-off verification)等工序来生成在制造工序中使用的制造数据的工序。
布局设计进一步分为平面布置(floor plan)和布线工序两个工序。平面布置是一边考虑定时和布线性一边决定半导体集成电路内的硬件宏(hardmacro)、用户宏(user macro)和RAM等各种模块的配置位置的工序。布线工序是一边考虑布线限制(例如,部件间的连接关系及通过哪个层进行连接等的限制)一边决定由平面布置所决定的模块和模块之间、或模块和端子之间的布线路线的工序。经过两个工序,简单来说,实现与半导体集成电路所需的功能相应的部件配置,并决定其部件间的布线。
现有技术中,较为理想的是,在该布局设计的阶段,预先决定外部端子位置,在平面布置中,将具有与外部端子间的外部端子I/F(Inter Face)电路的模块配置在外部端子附近。或者,较为理想的是,决定外部端子位置,以使得由平面布置确定的具有与外部端子间的外部端子I/F电路的模块能够与外部端子之间的距离尽可能短。通过使外部端子和外部端子I/F电路(或具有外部端子I/F的模块)之间的布线长度尽可能短,能够抑制该布线间的传送延迟。
但是,外部端子位置与基板设计、噪声设计等有密切关系,不一定能够将外部端子配置在可减少布局设计的负荷的位置上。另外,近年来外部端子的兼用规格(使一个外部端子具有多个功能)有复杂化的倾向,从而有置后确定外部端子位置的倾向。因此,存在平面布置时刻设想的外部端子的配置位置与实际指定的配置位置不同、外部端子与具有外部端子I/F电路的模块之间的布线距离较长的情形。使用图35来说明该例。
图35(a)表示半导体集成电路的一结构例。图35(a)所示的半导体集成电路的内部模块由模块A、模块B、模块C、模块D、模块E五个功能模块构成。虽未图示,但在各模块中设有各种部件和在该部件间进行连接的布线。
如图35(a)所示,假设根据起初决定的外部端子(110a、110b)的配置,来决定各功能模块及布线、各部件(外部端子I/F电路(130a、130b和内部电路140))等的布局。但是,假设之后改变外部端子的配置位置。这样,如图35(b)所示,对于将外部端子I/F电路和外部端子连接起来的布线的布线长度,图35(b)的情形比图35(a)的情形长,根据情况,存在外部端子和外部端子I/F电路间的布线长度偏离了理想长度的情形。布线的长距离会导致信号的传送延迟,发生在本来应输入的定时下没有输入信号的情形。
在非专利文献1中,公开了在前端设计阶段中执行布局设计的一部分的情形。
现有技术文献
非专利文献
非专利文献1:Tech-on[ニュ一ス]“NECがとなぇる、意味める「デザィン·プラニング」”(Tech-on[新闻]“NEC提倡的、有意义的「设计方案」”)[2010年3月16日检索],网址<URL:http://techon.nikkeibp.co.jp/article/NEWS/20070329/129739/?P=3>
发明概要
发明要解决的问题
由于伴随着装载半导体集成电路的装置的多功能化而产生的外部端子兼用倾向、难以决定装载半导体集成电路的装置的规格、或未决定用于在不同装置上进行装载的半导体集成电路规格共通化的方针,从而在近年来的半导体集成电路的设计中有难以确定外部端子的配置位置的倾向。
因此,存在如下问题:容易发生上述的布线长度距离变长,半导体集成电路的布局设计耗费时间,从而在半导体集成电路的设计中耗费成本。
发明内容
因此,本发明鉴于上述问题而作出,目的在于提供一种采用了即使不容易决定外部端子位置也能抑制成本的布局设计方法的集成电路制造方法、以及根据该集成电路制造方法制作的半导体集成电路。
解决问题所采用的手段
为了解决上述问题,本发明提供一种集成电路制造方法,包括:布局设计步骤,制作用于集成电路的制造的掩模图案;以及制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;该集成电路制造方法的特征在于,所述布局设计步骤包括:第1步骤,决定功能模块的配置;第2步骤,决定用于连接所述集成电路和外部设备的多个外部IO(Input-Output)端子的配置;第3步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO(Input-Output)模块的配置;以及第4步骤,决定在所述功能模块和所述IO模块之间连接的总线的配置、以及与该总线的布线长度相应的级数的、进行在所述总线上流过的信号的定时调整的定时调整电路的配置。
发明效果
通过如上这种结构,首先决定各功能模块的配置及布线,在决定了外部端子的配置位置时,与该外部端子的配置位置对应地配置IO模块(有时还称作IO核),从而能够不需要考虑IO模块和外部端子间的传送的定时调整的必要性,并能够通过插入定时调整电路来排除由于将IO模块和数据传送控制电路连接起来的布线及其布线长度而产生的数据传送偏差。经上述第1~第4步骤,即使没有决定外部端子的配置位置也能够进行功能模块的布局设计,并且在决定了外部端子的配置位置的情况下,能够不用改变各功能模块的配置等而实现用于半导体集成电路的布局设计。
附图说明
图1是表示实施方式1的用于半导体集成电路的布局设计方法的流程图;
图2是表示实施方式1的半导体集成电路的布局的转变的图;
图3是表示实施方式1的半导体集成电路的布局的转变的图;
图4是表示变形例1的用于半导体集成电路的布局设计方法的流程图;
图5是表示变形例1的半导体集成电路的布局的转变的图;
图6是表示变形例2的用于半导体集成电路的布局设计方法的流程图;
图7是表示变形例2的半导体集成电路的布局的转变的图;
图8是表示变形例2的半导体集成电路的布局的转变的图;
图9是表示实施方式2的半导体集成电路的功能结构的功能框图;
图10是表示实施方式2的片群(slice group)124的结构的功能框图;
图11是表示实施方式2的片群125的结构的功能框图;
图12是表示实施方式2的协调器(arbiter)的结构的功能框图;
图13是表示实施方式2的DMAC和外部端子I/F电路间的信息传送流的图;
图14是表示实施方式2的通道A的数据传送控制的流程图;
图15是表示实施方式2的外部端子I/F电路130a的数据传送控制的流程图;
图16是表示实施方式2的通道B的数据传送控制的流程图;
图17是表示实施方式2的外部端子I/F电路130b的数据传送控制的流程图;
图18是表示实施方式2的半导体集成电路的数据传送的一例的时序图;
图19是表示实施方式2的半导体集成电路的数据传送的一例的时序图;
图20是表示实施方式2的半导体集成电路的数据传送的一例的时序图;
图21是表示实施方式2的半导体集成电路的数据传送的一例的时序图;
图22是表示实施方式3的设有基于数据长度的共用总线的情况下的半导体集成电路300a的结构例的功能框图;
图23是表示实施方式3的设有基于数据长度的共用总线的情况下的半导体集成电路300b的结构例的功能框图;
图24是表示实施方式3的半导体集成电路300a中的数据传送的一例的时序图;
图25是表示实施方式3的半导体集成电路300b中的数据传送的一例的时序图;
图26是表示实施方式3的半导体集成电路300b中的数据传送的一例的时序图;
图27是表示半导体集成电路的布局的另一例的图;
图28是表示实施方式4的用于半导体集成电路的布局设计方法的流程图;
图29是表示实施方式4的半导体集成电路的结构例的图;
图30是表示对半导体集成电路400追加了新的数据传送路径的结构例的图;
图31是表示对半导体集成电路400追加了新的数据传送路径的结构例的图;
图32是表示从半导体集成电路400中删除了一个数据传送路径后的结构例的图;
图33是表示用菊花链(daisy chain)将各模块连接起来的半导体集成电路的结构例的图;
图34是表示用菊花链将各模块连接起来的半导体集成电路的结构例的图;
图35是用于说明现有技术的布局设计方法的图。
具体实施方式
下面,使用附图来说明本发明一实施方式的半导体集成电路的布局设计方法、以及根据该布局设计方法制作的半导体集成电路。
<实施方式1>
在本实施方式1中,使用图1(a)所示的流程图来说明半导体集成电路的布局设计方法。
如图1(a)所示,在实施方式1的半导体集成电路的布局设计方法中,首先,决定包含数据传送控制电路的功能模块的配置(步骤S101)。功能模块根据半导体集成电路所要求的规格来决定,数据传送控制电路具有在与连接所设计的半导体集成电路的电路和设备之间进行数据传送的功能,例如是DMAC(Direct Memory Access Controller)等。即,数据传送控制电路是具有数据传送的主功能的电路。
由此,即使未决定外部端子位置,也能够完成半导体集成电路内部的设计。
另一方面,若实际决定了外部端子位置的规格,则根据该规格,在半导体集成电路的布局上决定外部端子的配置(步骤S102)。
在决定外部端子的配置位置后,决定与多个外部端子对应的多个IO模块的配置(步骤S103)。具体而言,分别对于所决定的外部端子的配置位置,以与各外部端子对应的方式将IO模块的配置决定在各外部端子的配置位置附近。即,对每个外部端子至少配置一个IO模块。所谓外部端子的附近是指,对于外部端子与IO模块间的布线的数据传送而言,不需要进行定时调整、即不需要对因信号在外部端子-IO模块间流动而产生的延迟进行修正的程度的距离之内。
若决定了多个IO模块的配置,则决定将该多个IO模块各自和数据传送控制电路连接起来的总线的配置。并且,将与所配置的总线的布线长度对应的个数(级数)的定时调整电路插入到该总线的布线上。定时调整电路具有对信号线的布线延迟进行重定时(retiming)的功能,定时调整电路使用例如触发器或锁存器等。所谓该重定时,是指输出使输入的信号与当半导体集成电路工作时使用的工作时钟的周期同步了的信号。由于在总线上流过多个信号,根据该总线的布线长度、材质,在该总线上流过的信号各自相对于由半导体集成电路的工作时钟所表示的周期而分别具有延迟(换言之,相位偏移),即,在总线上流过的期间,在多个信号间与时钟之间发生相位偏移,因此,有可能导致半导体集成电路不能正常工作。因此,需要修正该偏差,定时调整电路对该偏差进行修正。另外,在附图上,没有记载必然具有的该工作时钟用的布线等。另外,半导体集成电路可以还装载了生成该工作时钟的晶体振荡器等,也可以从半导体集成电路外部供给该工作时钟。
另外,基于该图1(a)所示的流程图的布局设计方法可以变形为如图1(b)所示。即,可以分别并行地处理步骤S101中的功能模块的配置决定、步骤S102和步骤S103中的外部端子的配置与随之的IO模块的配置决定。
另外,图1(a)和图1(b)中,记载了将数据传送控制电路包含在功能模块中的例子,但数据传送控制电路也可以不必包含在功能模块中。也可以是,进行以将数据传送控制电路包含在各个IO模块中、或与各个IO模块对应的形式来配置为前提的布局设计。
使用图2来说明按照图1的布局设计方法设计了半导体集成电路的情况下的一具体例。
首先,如图2(a)所示,决定作为数据传送控制电路的内部电路140及各功能模块(模块A~E)的配置。该配置根据基于各功能模块的要求规格决定的部件以及在部件间进行连接的布线的配置面积而决定。此时,保留使IO模块及将IO模块和内部电路140连接起来的总线能够进行配置的程度的间隙。图2(a)中虽未明示,但假设在该时刻将IO模块包含在各功能模块(模块A~E)的任一个中来制作布局。
接着,若根据装载半导体集成电路的装置等的结构等来决定了外部端子位置,则将该决定的位置作为外部端子的配置位置、例如如图2(b)的外部端子110a、110b所示那样来决定。
并且,在所决定的外部端子位置各自的附近例如如图3(a)所示那样来决定作为IO模块的外部端子I/F电路的配置位置。即,在外部端子110a的配置位置附近决定相对应的外部端子I/F电路110a的配置位置,在外部端子110b的配置位置附近决定相对应的外部端子I/F电路110b的配置位置。
并且,如图3(b)所示地决定将所决定的外部端子I/F电路130a、130b和内部电路140连接起来的总线的配置位置。即,如图3(b)所示地决定将内部电路140和外部端子I/F电路130a连接起来的总线124a、以及将内部电路140和外部端子I/F电路130b连接起来的总线124b的配置位置。另外,在图3(b)中,记载了将内部电路140和外部端子I/F电路110a、110b直接连线的情况,但是实际上,以在各模块的部件间穿过的方式决定布线位置。
这样,根据由所决定的总线布线位置决定的总线布线长度,决定作为定时调整电路的片(slice)的级数及其配置位置。即,如图3(b)所示,根据总线124a的布线长度,决定片125a、125b的配置位置,根据总线124b的布线长度,决定片125c的配置位置。
另外,图2、3中,为了容易观看附图而较大地表示了内部电路、外部端子I/F电路、片,但是实际上,各个部件的配置所需的面积没有那么大。
<总结>
如以上所说明的,本实施方式1的布局设计方法中,在首先决定了包含数据传送控制电路的1个以上功能模块各自的部件及布线的布局后,在所要求的外部端子位置上配置外部端子,并在其附近配置IO模块。由此,能够实现使外部端子位置与IO模块在理想上接近的形式的配置。此外,用总线来连接IO模块和数据传送控制电路,并向该总线插入数量与该总线的布线长度相应的定时调整电路,从而能够进行信号间的定时调整而制作正常工作的半导体集成电路。
因此,不会发生由于外部端子位置的改变而引起的平面布置改变的情形,能够更灵活地进行半导体集成电路的布局设计,从而能够抑制该布局设计的设计成本。
<变形例1>
上述实施方式1所示的布局设计方法中,以分别设置对各外部端子I/F电路和内部电路进行连接的总线的方式来决定配置。但是,根据该结构,必须对个数为外部端子I/F电路的个数的总线进行布线,从而有使半导体集成电路的面积相应增大的问题。
因此,在本变形例1中,公开了一种能够使上述实施方式1所示的半导体集成电路的设计面积更小的布局设计方法。
本变形例1与上述实施方式1的差异在于,不是根据各外部端子I/F电路来设置总线,而是通过共用总线进行连接。
图4(a)的流程图表示本变形例1的布局设计方法。
图4(a)所示的流程图中,与图1所示的流程图的差异在于步骤S403之后的处理。步骤S401、S402和步骤S101、102的处理是共通的,所以这里省略其说明。
在步骤S402中决定了多个外部端子的配置后,决定多个作为IO模块的外部端子I/F电路的配置,并根据所配置的外部端子I/F电路的配置位置,来决定共用总线的配置,以使共用总线尽可能接近全部的外部端子I/F电路。并且,决定从作为数据传送控制电路的内部电路连接到共用总线的布线的配置位置,以使该布线尽可能短。并且,根据距内部电路的布线长度,即距内部电路每隔一定距离,在共用总线上决定作为定时调整电路的片的配置位置(步骤S403)。
并且,决定多个通道和作为多个IO模块的外部端子I/F电路各自与共用总线的连接位置,并决定到共用总线的布线的配置位置(步骤S404)。
另外,根据该图4(a)所示的流程图的布局设计方法能够变形为如图4(b)所示那样。即,能够分别并行处理步骤S401中的功能模块的配置决定、步骤S402和步骤S403中的外部端子的配置决定与随之的IO模块的配置决定、共用总线的配置决定和定时调整电路的配置决定。
另外,图4(a)和图4(b)中,记载了将数据传送控制电路包含在功能模块中的例子,但数据传送控制电路也可以不必包含在功能模块中。也可以是,进行以数据传送控制电路包含在多个IO模块各自中、或与各个IO模块对应的形式来配置为前提的布局设计。
此外,图4(a)、图4(b)及图5(b)中,记载了用总线型的拓扑结构来连接功能模块和多个IO模块的例子,但也可以用菊花链型的拓扑结构来连接功能模块和多个IO模块。用总线型的拓扑结构连接还是用菊花链型的拓扑结构连接根据设计的规格决定,根据相应的使用来进行布局设计。
根据该变形例1,使用图2及图5来说明进行布局的一具体例。
首先,经过步骤S401及步骤S402的处理,从而得到图2(b)所示的布局。在此之前如实施方式1所示那样。
另一方面,在本变形例1中,经过步骤S403的处理,从而生成图5(a)所示那样的布局。
如图5(a)所示,在变形例1中,与上述实施方式1不同,在步骤S403中,若决定了多个外部端子(202a、202b)的配置,则决定用于与所配置的外部端子进行连接的共用总线124的配置。并且,决定从内部电路140到共用总线124的连接位置和布线位置。并且,在所决定的共用总线124上,根据距内部电路140的距离,决定作为定时调整电路的片125a、125b、125c的配置位置。即,距内部电路140每离开一定距离而配置片。
并且,根据经共用总线124连接了最终决定的各外部端子I/F电路130a、130b和内部电路140的情况下的布线长度,决定应插入其间的定时调整电路的级数,并以在IO模块-内部模块间插入该决定的级数的方式,如图5(b)所示地决定从IO模块到共用总线的连接位置。在图5(b)的例子中,在外部端子I/F电路130a和内部电路140之间,以插入2个级数的片的方式,将经片125a、125b的位置作为与外部端子I/F电路130a的连接位置。另外,在外部端子I/F电路130b和内部电路140之间,以插入1个级数的片的方式,将经片125b的位置作为与外部端子I/F电路130b的连接位置。
<总结>
根据该变形例1的半导体集成电路的布局设计方法,即使外部端子的配置位置决定得晚,也能够进行不怎么改变半导体集成电路的布局设计而配置了外部端子位置的布局设计,并且,通过使对各外部端子I/F电路与内部电路进行连接的总线为共用总线,从而与不作为共用总线的情形相比,能够减小半导体集成电路的设计面积。
<变形例2>
上述变形例1中,提示了使对外部端子I/F电路和内部电路进行连接的总线作为共用总线的布局设计。本变形例2中,提示一种便利性更高的布局设计方法。
本变形例2和上述变形例1的差异在于共用总线的配置位置的决定定时。即,变形例2的共用总线的配置的决定定时在决定外部端子的配置位置之前。
图6的流程图表示本变形例2的布局设计方法。
如图6(a)的流程图所示,首先,根据设计的半导体集成电路的要求规格,决定半导体集成电路的尺寸,并决定共用总线的配置。并且,决定用于进行在该共用总线上流过的信号的定时调整的定时调整电路的配置位置(步骤S601)。该共用总线配置为可与任何一个内部电路连接,且尽可能接近配置外部端子的周缘部。另外,由于定时调整电路应根据从各内部电路到外部端子的布线距离进行配置,所以该情况下,在共用总线上以一定距离间隔进行配置。
接着根据设计的半导体集成电路的要求规格,决定包含数据传送控制电路的各功能模块的配置位置(步骤S602)。另外,图6(a)的情况下,步骤S601和步骤S602的处理可以前后进行。
若决定了包含数据传送控制电路的各功能模块和共用总线的配置、以及定时调整电路的配置,则接着决定基于半导体集成电路的要求规格的外部端子的配置,并将所决定的位置作为外部端子的配置位置(步骤S603)。
若决定了多个外部端子的配置位置,则如上述实施方式1中所示那样,决定与各外部端子对应的多个IO模块的配置(步骤S604)。
若决定了多个IO模块的配置,则决定该多个IO模块各自与共用总线的连接位置(步骤S605)。该连接位置的配置位置决定为,使得从各IO模块到共用总线的布线长度尽可能短。
另外,能够将基于该图6(a)所示的流程图的布局设计方法如图6(b)所示那样进行变形。即,可以分别并行处理步骤S601中的功能模块的配置决定、步骤S602及步骤S603中的外部端子的配置、随之的IO模块的配置、共用总线的配置和定时调整电路的配置决定、以及步骤S604中的共用总线和定时调整电路的配置。
另外,图6(a)和图6(b)中,记载了数据传送控制电路包含在功能模块中的例子,但数据传送控制电路也可以不必包含在功能模块中。也可以是,进行以数据传送控制电路包含在多个IO模块各自中、或与各个IO模块对应的形式来配置为前提的布局设计。
此外,图6(a)、图6(b)及图8中记载了用总线型的拓扑结构来连接功能模块和多个IO模块的例子,但也可以用菊花链型的拓扑结构来连接功能模块和多个IO模块。用总线型的拓扑结构连接还是用菊花链型的拓扑结构连接根据设计的规格决定,根据该规格来进行布局设计。
使用图7和图8来说明这样设计的布局的一例。
如图7(a)所示,首先,在变形例2中,根据半导体集成电路的尺寸、规格和包含作为数据传送控制电路的内部电路140在内的各功能模块的尺寸,决定内部电路140及功能模块的配置,并决定共用总线124的配置位置。
接着,如图7(b)所示,根据所决定的外部端子位置,决定外部端子110a、110b的配置位置。
若决定了外部端子110a、110b的配置位置,则如图8所示,决定与各外部端子对应的外部端子I/F电路的配置位置。
并且,根据从所决定的外部端子I/F电路的配置位置到内部电路140的距离,决定与共用总线124的连接位置,并决定从各外部端子I/F电路向共用总线124的布线的配置。
<总结>
根据本变形例2所示的布局设计方法,在决定外部端子的配置位置之前决定共用总线的配置位置,所以与上述变形例1所示的情形相比,能够减少决定外部端子的配置位置后的设计工序数。
<实施方式2>
实施方式2中,对于使用上述各变形例所示的方法进行布局设计而制作的半导体集成电路,说明其结构及其动作。
图9是表示半导体集成电路100的功能结构的功能框图。
如图9所示,半导体集成电路100构成为,包含外部端子110a、110b、片总线121、122、123、片群124、125、I/F电路130a、130b、DMAC(DirectMemory Access Controller)140、协调器151、152和缓冲器160。另外,本实施方式2中,为明确与上述实施方式1的共通点,本来应对DMAC分配其他的附图标记,但因其相当于上述实施方式1所示的内部电路,故添加了相同的附图标记140。
外部端子110a、110b分别与对应的I/F电路130a、130b相连,是用于与装载半导体集成电路100的设备上的电路等进行连接的端子。各外部端子分别由1个以上的端子构成。
片总线121、122、123是用于传送片群124-DMAC140间、片群124-片群125间的信号的信号线。
片群124、125具有执行所输入的信号的定时调整的功能。这里,各片分别执行预先确定的固定长度的时间宽度的调整。片群124、125具体而言由触发器或锁存器等实现,这里,假设具有对输入的信号进行重定时的功能。如上所述,所谓重定时,是指输出使输入的信号与半导体集成电路工作时使用的工作时钟的周期同步了的信号。另外,在附图上没有记载必然具有的该工作时钟用的布线等。另外,半导体集成电路可以还装载有生成该工作时钟的晶体振荡器等,或者也可以从半导体集成电路外部供给该工作时钟。包含片总线121、122、123、片群124、125而形成共用总线。
I/F电路130a、130b具有将来自外部的信号中继到DMAC140的功能,此外,具有将从DMAC140传送来的信号发送到所连接的外部设备的功能。
DMAC140具有访问缓冲器160、读出数据、或写入数据的功能。此外,DMAC140具有与和半导体集成电路100连接的电路、装置执行通信的功能。DMAC140具有执行向不同的路径进行数据传送的多个通道中的通信的功能,这里,具有通道141a和通道141b。
本实施方式中,假设通道141a从缓冲器160对外部端子I/F电路130a进行数据传送,通道141b从外部端子I/F电路130b对缓冲器160进行数据传送。由此,半导体集成电路100中,使用通道141a从缓冲器160经共用总线、外部端子I/F电路130a及外部端子110a将信息输出到半导体集成电路100外部,使用通道141b从半导体集成电路100外部经外部端子110b、外部端子I/F电路130b、及共用总线将信息输入到缓冲器160。
协调器151、152具有协调对输入到共用总线的信号中的哪一个进行传送的功能。另外,协调器151执行从DMAC140向I/F电路的下行链路用的信号的协调,协调器152执行从I/F电路向DMAC140的上行链路用的信号的协调。通道141a和外部端子I/F电路130a之间的信息传送(以下称作信息传送A)、以及通道141b和外部端子I/F电路130b之间的信息传送(以下称作信息传送B)经共用总线进行。由于在信息传送A及信息传送B中都使用共用总线,所以在传送信息前需要预先获得总线权,协调器151、152对所请求的总线权进行协调。
缓冲器160是具有暂时存储从DMAC140、半导体集成电路100等传送的数据的功能的存储器。缓冲器160具有保持从DMAC140写入的数据的功能和从保持的数据中输出DMAC140所请求的数据的功能。
这里,使用图2来说明在DMAC140和外部端子I/F电路130a之间收发的信息、以及用于实现信息交换的信号连接。
在DMAC140和外部端子I/F电路130a之间,经共用总线1200收发命令、下行链路数据、下行链路信息、上行链路数据、上行链路信息这五个的全部信息、或其子集(subset)的信息。此外,共用总线1200由命令总线、下行链路数据总线、下行链路信息总线、上行链路数据总线、上行链路信息总线这五个总线构成。命令的收发使用命令总线,下行链路数据的收发使用下行链路数据总线,下行链路信息的收发使用下行链路信息总线,上行链路数据的收发使用上行链路数据总线,上行链路信息的收发使用上行链路信息总线。
构成命令总线、下行链路数据总线以及下行链路信息总线的信号从DMAC140向外部端子I/F电路130a传送信息,构成上行链路数据总线及上行链路信息总线的信号从外部端子I/F电路130a向DMAC140传送信息。
命令是表示从DMAC140对外部端子I/F电路130a发送的数据传送的属性的信息。具体而言,通过命令收发的信息包含表示该数据传送是下行链路数据·上行链路数据的哪一个方向的传送的信息、传送的数据的大小、传送地址等的信息。
下行链路数据是从DMAC140对外部端子I/F电路130a发送的数据及数据同步信息,上行链路数据是从外部端子I/F电路130a向DMAC140发送的数据及数据同步信息。这里,所谓数据同步信息,是指与数据在同一周期中发送的表示数据属性的信息,具体而言,包含数据的字节使能(byteenable)、最终数据传送等的信息。
所谓信息,是指与数据传送非同步地在DMAC140和外部端子I/F电路130a之间交换的信息。具体而言,作为上行链路信息,例如从外部端子I/F电路130a对通道141a发送包含传送开始请求等的信息,作为下行链路信息,从通道141a对外部端子I/F电路130a发送包含对缓冲器160的数据写入完成信息等的信息。
此外,从外部端子I/F电路130a对DMAC140除了发送通过共用总线1200收发的信息之外,还发送写就绪(write ready)和读就绪(read ready)信息。写就绪是表示外部端子I/F电路130a能够接受用于进行下行链路数据传送的命令的信息,读就绪是表示外部端子I/F电路130a能够接受用于进行上行链路数据传送的命令的信息。写就绪信号和读就绪信号不同于共用总线,是在外部端子I/F电路130a和通道141a之间、在外部端子I/F电路130b和通道141b之间对等(peer to peer)连接的信号。
图10中,在DMAC140和外部端子I/F电路130a之间用共用总线进行连接,该共用总线通过片群124而被分片。在DMAC140和片群124之间用片总线121进行连接,片总线121由命令总线1211、下行链路数据总线1212、下行链路信息总线1213、上行链路数据总线1214和上行链路信息总线1215构成。在片群124和外部端子I/F电路130a之间用片总线122进行连接,片总线122由命令总线1221、下行链路数据总线1222、下行链路信息总线1223、上行链路数据总线1224和上行链路信息总线1225构成。
片群124包含:用于对命令总线1211和命令总线1221进行分片的片1241、用于对下行链路数据总线1212和下行链路数据总线1222进行分片的片1242、用于对下行链路信息总线1213和下行链路信息总线1223进行分片的片1243、用于对上行链路数据总线1214和上行链路数据总线1224进行分片的片1244、用于对上行链路信息总线1215和上行链路信息总线1225进行分片的片1245、之后说明的用于对写就绪信号进行分片的片1246和之后说明的用于对读就绪信号进行分片的片1247。
命令从DMAC140输出,经命令总线1211、片1241、命令总线1221送到外部端子I/F电路130a。下行链路数据从DMAC140输出,经下行链路数据总线1212、片1242、下行链路数据总线1222送到外部端子I/F电路130a。下行链路信息从DMAC140输出,经下行链路信息总线1213、片1243、下行链路信息总线1223送到外部端子I/F电路130a。
上行链路数据从外部端子I/F电路130a输出,经上行链路数据总线1224、片1244、上行链路数据总线1214送到DMAC140。上行链路信息从外部端子I/F电路130a输出,经上行链路信息总线1225、片1245、上行链路信息总线1215送到DMAC140。
此外,作为共用总线之外的信号,从外部端子I/F电路130a对DMAC140发送写就绪信号及读就绪信号,与共用总线同样地分别通过片1246、片1247进行分片。
另外,图10中虽未明示,但假设还从外部端子I/F电路130b对DMAC140发送写就绪信号及读就绪信号,且片群124中还包含从外部端子I/F电路130b发送的写就绪信号和读就绪信号的片。
接着,使用图11(a)来说明DMAC140和协调器151之间的信号连接。
协调器151配置在DMAC140的附近,DMAC140和协调器151之间的布线没有被分片。
通道141a及通道141b分别与协调器151直接连接,从通道141a及通道141b对协调器151发送总线权请求信号群,从协调器151分别对通道141a及通道141b发送总线权承认信号群。
从通道141a及通道141b对协调器151发送的总线权请求信号群由命令总线权请求信号、下行链路数据总线权请求信号以及下行链路信息总线权请求信号的全部或它们的子集构成。从协调器151对通道141a及通道141b发送的总线权承认信号由命令总线权承认信号、下行链路数据总线权承认信号以及下行链路信息总线权承认信号的全部或它们的子集构成。
在通道141a使用命令总线的情况下,通道141a对协调器151发送命令总线权请求信号,接受该信号后协调器151对通道141a返回命令总线权承认信号。在通道141a使用下行链路数据总线的情况下,通道141a对协调器151发送下行链路数据总线权请求信号,接受该信号后协调器151对通道141a返回下行链路数据总线权承认信号。在通道141a使用下行链路信息总线的情况下,通道141a对协调器151发送下行链路信息总线权请求信号,接受该信号后协调器151对通道141a返回下行链路信息总线权承认信号。对于通道141b也同样。
使用图11(b)来说明外部端子I/F电路群130与协调器152之间的信号连接。本实施方式中,将外部端子I/F电路130b配置在外部端子I/F电路130a的远处,将协调器152配置在外部端子I/F电路130b的附近。因此,通过片群1250对外部端子I/F电路130a和协调器152之间的布线进行分片,另一方面,不对外部端子I/F电路130b和协调器152之间的布线进行分片。
片群1250与片群1240同样,具有用于对共用总线信号进行分片的片1251至片1255(相当于作为片群1240的结构要素的片1241到1245),并且具备用于对从外部端子I/F电路130b对DMAC140发送的写就绪信号及读就绪信号进行分片的片1256及片1257,还具备用于对总线权请求信号群及总线权承认信号群进行分片的片1258及片1259。
从外部端子I/F电路130b对协调器152发送总线权请求信号群,从协调器152对外部端子I/F电路130b发送总线权承认信号群。从外部端子I/F电路130a经片1258对协调器152发送总线权请求信号群,从协调器152经片1259对外部端子I/F电路130a发送总线权承认信号群。
从外部端子I/F电路130a及外部端子I/F电路130b对协调器152发送的总线权请求信号群由上行链路数据总线权请求信号及上行链路信息总线权请求信号的全部或它们的子集构成。从协调器152对外部端子I/F电路130a及外部端子I/F电路130b发送的总线权承认信号由上行链路数据总线权承认信号及上行链路信息总线权承认信号的全部或它们的子集构成。
在外部端子I/F电路130a使用上行链路数据总线的情况下,外部端子I/F电路130a对协调器152发送上行链路数据总线权请求信号,接受该信号后协调器152对外部端子I/F电路130a返回上行链路数据总线权承认信号。在外部端子I/F电路130a使用上行链路信息总线的情况下,外部端子I/F电路130a对协调器152发送上行链路信息总线权请求信号,接受该信号后协调器152对外部端子I/F电路130a返回上行链路信息总线权承认信号。对于外部端子I/F电路130b也同样。
图12记载了协调器的结构。图12(a)是表示协调器151的结构的图。协调器151构成为,包含命令总线权协调电路1511、下行链路数据总线权协调电路1512、以及下行链路信息总线权协调电路1513。
命令总线权协调电路1511分别从通道141a及通道141b接受命令总线权请求信号,并分别对通道141a及通道141b返回命令总线权承认信号。
下行链路数据总线权协调电路1512分别从通道141a及通道141b接受下行链路数据总线权请求信号,并分别对通道141a及通道141b返回下行链路数据总线权承认信号。下行链路信息总线权协调电路1513分别从通道141a及通道141b接受下行链路信息总线权请求信号,并分别对通道141a及通道141b返回下行链路信息总线权承认信号。
图12(b)是表示协调器152的结构的图。协调器152构成为,包含上行链路数据总线权协调电路1522以及上行链路信息总线权协调电路1523。
上行链路数据总线权协调电路1522分别从外部端子I/F电路130a及通道130b接受上行链路数据总线权请求信号,并分别对外部端子I/F电路130a及通道141b返回上行链路数据总线权承认信号。
上行链路信息总线权协调电路1523分别从外部端子I/F电路130a及通道130b接受上行链路信息总线权请求信号,并分别对外部端子I/F电路130a及通道141b返回上行链路信息总线权承认信号。
以上是协调器151、152的功能结构。
另外,对命令总线、下行链路数据总线、下行链路信息总线共通地,在通道141a或通道141b得到总线权的承认后,可以使用按每个共用总线的种类(命令、下行链路数据、下行链路信息)决定的周期数的共用总线。该周期数可以是按每个共用总线的使用电路(通道141a、通道141b)而不同的值。
另外,对上行链路数据总线、上行链路信息总线共通地,在外部端子I/F电路130a或外部端子I/F电路130b得到总线权的承认后,可以使用按每个共用总线的种类(上行链路数据、上行链路信息)决定的周期数的共用总线。该周期数可以是按每个共用总线的使用电路(外部端子I/F电路130a、外部端子I/F电路130b)而不同的值。
<动作>
接着,使用图13所示的时序图和图14~图17所示的流程图来说明半导体集成电路100的动作。
这里,使用图13来说明通道141a和外部端子I/F电路130a之间的数据传送、以及通道141b和外部端子I/F电路130b之间的数据传送的典型例子。图13(a)中记载了从通道141a向外部端子I/F电路130a进行数据传送的情况下的信息传送流。
本实施方式2中,为了进行数据传送,首先从外部端子I/F电路130a对通道141a发送包含传送大小信息的传送开始请求,接受该请求后通道141a开始数据传送。通道141a不是一次传送完所指定的传送大小的数据,而是分割为规定的大小后分多次进行数据传送。在进行数据传送时,从通道141a对外部端子I/F电路130a发送命令,接着从通道141a对外部端子I/F电路130a发送下行链路数据。进行重复直到所指定的大小的数据传送结束。但是,在传送开始请求时指定的传送大小比规定的大小小的情况下,一次结束数据传送。
图13(a)记载了数据传送开始时的传送开始请求的交换、以及初始的命令、数据的交换。以下,详细说明图13(a)记载的流。
首先,外部端子I/F电路130a为了对通道141a通知传送开始请求,对协调器152发送上行链路信息总线权请求,协调器152响应该请求而对外部端子I/F电路130a返回上行链路信息总线权承认。接受该承认后的外部端子I/F电路130a利用上行链路信息总线对通道141a通知传送开始请求。
接受了传送开始请求的通道141a为了对外部端子I/F电路130a发送命令,对协调器151发送命令总线权请求,协调器151响应该请求而对通道141a返回命令总线权承认。接受该承认后的通道141a利用命令总线对外部端子I/F电路130a发送命令。
结束命令的发送后的通道141a为了对外部端子I/F电路130a发送数据,对协调器151发送下行链路数据总线权请求,协调器151响应该请求而对通道141a返回下行链路数据总线权承认。接受了该承认的通道141a利用下行链路数据总线对外部端子I/F电路130a发送数据。
图13(b)记载了从外部端子I/F电路130b向通道141b进行数据传送的情况下的信息传送流。
本实施方式2中,为了进行数据传送,首先从外部端子I/F电路130b对通道141b发送包含传送大小信息的传送开始请求,接受该请求后,通道141b开始进行数据传送。通道141b不是一次传送完所指定的传送大小的数据,而是分割为规定的大小后分多次进行数据传送。在进行数据传送时,从通道141b对外部端子I/F电路130b发送命令,接着从外部端子I/F电路130b对通道141b发送上行链路数据。重复进行直到所指定的大小的数据传送结束。但是,在传送开始请求时所指定的传送大小比规定的大小小的情况下,一次结束数据传送。之后,在全部数据传送结束后,从通道141b对外部端子I/F电路130b进行数据传送完成通知。
图13(b)记载了通过一次数据传送结束所指定的大小的数据传送的情况下的例子,在一次的命令和数据的交换结束后,进行数据传送完成通知。以下,详细说明图13(b)所记载的流。
首先,外部端子I/F电路130b为了对通道141b通知传送开始请求,对协调器152发送上行链路信息总线权请求,协调器152响应该请求而对外部端子I/F电路130b返回上行链路信息总线权承认。接受该承认后的外部端子I/F电路130b利用上行链路信息总线对通道141b通知传送开始请求。
接受了传送开始请求后的通道141b为了对外部端子I/F电路130b发送命令,对协调器151发送命令总线权请求,协调器151响应该请求而对通道141b返回命令总线权承认。接受了该承认后的通道141b利用命令总线对外部端子I/F电路130b发送命令。
接受了命令后的外部端子I/F电路130b为了对通道141b发送数据,对协调器152发送上行链路数据总线权请求,协调器152响应该请求而对外部端子I/F电路130b返回上行链路数据总线权承认。接受该承认后的外部端子I/F电路130b利用上行链路数据总线对通道141b发送数据。
接受数据后的通道141b在确认向缓冲器160的数据写入完成后,为了对外部端子I/F电路130b通知数据传送完成,对协调器151发送下行链路信息总线权请求,协调器151响应该请求而对通道141b返回下行链路信息总线权承认。接受该承认后的通道141b利用下行链路信息总线对外部端子I/F电路130b通知数据传送完成。
图14是表示通道141a的数据传送控制的流程图。首先,接受来自外部端子I/F电路130a的传送开始请求,通道141a起动。
起动后的通道141a首先确认从外部端子I/F电路130a送来的写就绪信号。进行等待直到外部端子I/F电路130a断言(assert)写就绪(步骤S1401的“否”),在断言写就绪(步骤S1401的“是”)后,请求命令总线权(步骤S1401)。若请求命令总线权,则进行等待直到承认命令总线权(步骤S1403的“否”),在承认命令总线权后(步骤S1403的“是”),发送命令(步骤S1404)。
在发送命令后,进行等待直到准备好应向外部端子I/F电路130a发送的数据(步骤S1405的“否”),在准备好数据(步骤S1405的“是”)后,请求下行链路数据总线权(步骤S1406)。若请求下行链路数据总线权,则进行等待直到承认下行链路数据总线权(步骤S1407的“否”),在承认下行链路数据总线权(步骤S1407的“是”)后发送下行链路数据(步骤S1409)。
在传送开始请求时指定的大小的数据传送没有完成的情况下返回S1401(步骤S1409的“否”),再次进行数据传送。在指定的大小的数据传送完成的情况下(步骤S1409的“是”),通道141a停止,直到接受下一传送开始请求为止不工作。
图15是表示外部端子I/F电路130a的数据传送控制的流程图。首先,外部端子I/F电路130a通过半导体集成电路100内部的未图示的处理器等而起动。
起动后的外部端子I/F电路130a为了向通道141a通知传送开始请求,请求上行链路信息总线权(步骤S1501)。若请求上行链路信息总线权,则进行等待直到承认上行链路信息总线权(步骤S1502的“否”),在承认上行链路信息总线权(步骤S1502的“是”)后,使用上行链路信息总线来发送传送开始请求(步骤S1503)。
接着,进行等待,直到外部端子I/F电路130a的数据接收的准备完备(步骤S1504的“否”),在数据接收的准备完成的时刻断言写就绪(步骤S1505)。之后,接收从通道141a发送的命令(步骤S1506),接着接收下行链路数据(步骤S1507)。
在传送开始请求时所指定的大小的数据传送没有完成的情况下返回S1501(步骤S1508的“否”)而再次进行数据传送。在所指定的大小的数据传送完成的情况下,外部端子I/F电路130a停止,直到接收下一起动指示为止不工作。
图16是表示通道141b的数据传送控制的流程图。首先,接受来自外部端子I/F电路130b的传送开始请求,通道141b起动。
起动后的通道141b首先进行等待,直到通道141b的数据接收的准备完备(步骤S1601的“否”),若准备完备(步骤S1601的“是”),则接着确认从外部端子I/F电路130b送来的读就绪信号。进行等待,直到外部端子I/F电路130b断言读就绪(步骤S1602的“否”),在断言读就绪(步骤S1602的“是”)后,请求命令总线权(步骤S1603的“是”)。若请求命令总线权,则进行等待直到承认命令总线权(步骤S1604的“否”),在承认命令总线权后(步骤S1604的“是”),发送命令(步骤S1605)。之后,接收从外部端子I/F电路130b发送的数据而进行向缓冲器160的写入(步骤S1606)。
在传送开始请求时所指定的大小的数据传送没有完成的情况下(步骤S1607的“否”)回到步骤S1601,再次进行数据传送。在所指定的大小的数据传送完成的情况下,为了进行数据传送完成通知,而请求上行链路信息总线权(步骤S1608)。若请求上行链路信息总线权,则进行等待直到承认上行链路信息总线权(步骤S1609的“否”),在承认上行链路信息总线权后,使用上行链路信息总线来通知数据传送完成(步骤S1610)。之后,通道141b停止,直到接收下一传送开始请求为止不工作。
图17是表示外部端子I/F电路130b的数据传送控制的流程图。首先,外部端子I/F电路130b通过半导体集成电路100内部的未图示的处理器等而起动。
起动后的外部端子I/F电路130b为了向通道141b通知传送开始请求,请求上行链路信息总线权(步骤S1701)。若请求上行链路信息总线权,则进行等待直到承认上行链路信息总线(步骤S1702的“否”),在承认上行链路信息总线后(步骤S1702的“是”),使用上行链路信息总线权来发送传送开始请求(步骤S1703)。
接着,外部端子I/F电路130b断言读就绪(步骤S1704)。之后,接收从通道141b发送的命令(步骤S1705)。在接收命令后,进行等待,直到准备好应向通道141b发送的数据(步骤S1706的“否”),在准备好数据后(步骤S1706的“是”),请求上行链路数据总线权(步骤S1707)。若请求上行链路数据总线权,则进行等待直到承认上行链路数据总线权(步骤S1708的“否”),在承认上行链路数据总线权后(步骤S1708的“是”)发送数据(步骤S1709)。
在传送开始请求时所指定的大小的数据传送没有完成的情况下(步骤S1710的“否”)回到步骤S1704,再次进行数据传送。在所指定的大小的数据传送完成的情况下(步骤S1710的“是”),外部端子I/F电路130b在接受数据传送完成的通知后(步骤S1711)停止,直到接受下一起动指示为止不工作。
以上是各数据传送的动作的说明。
下面,说明实际的数据传送的定时。
图18是表示从DMAC140向外部端子I/F电路群130a、130b的方向传送信息的共用总线的总线权分配及共用总线的使用状况的图。这里,记载了通道141a及通道141b使用命令总线,通道141a及通道141b在得到总线权承认时共同以3个周期使用共用总线的例子。
在时刻T0之前来自通道141a的命令总线权请求信号到达协调器151,接受该信号后的协调器151在时刻T0对通道141a返回命令总线权承认。结果,从时刻T0到时刻T2的期间通道141a得到使用片总线121的命令总线的权利(下行链路总线权=A)。
在时刻T0到时刻T2的期间从通道141a向片总线121的命令总线输出的命令在通过片群124时延迟1个周期,在时刻T1到时刻T3的期间输出到片总线122的命令总线。这里,由外部端子I/F电路130a取得命令。
接着,在时刻T3之前来自通道141b的命令总线权请求信号到达协调器151,接受该信号后的协调器151在时刻T3对通道141b返回命令总线权承认。结果,在时刻T3到时刻T5的期间通道141b得到使用片总线121的命令总线的权利(下行链路总线权限=B)。
在时刻T3到时刻T5的期间从通道141b向片总线121的命令总线输出的命令在通过片群124时延迟1个周期,在时刻T4到时刻T6的期间输出到片总线122的命令总线。同样,在时刻T4到时刻T6的期间输出到片总线122的命令总线的命令在通过片群125时延迟1个周期,在时刻T5到时刻T7的期间输出到片总线123的命令总线。这里,由外部端子I/F电路130b取得命令。
之后,时刻T6到时刻T8的命令总线权及与其对应的共用总线的使用状况与时刻T0到时刻T2的情形同样,时刻T9到时刻T11的命令总线权及与其对应的共用总线的使用状况与时刻T3到时刻T5的情形同样。
图19是表示从外部端子I/F电路群130向DMAC140的方向传送信息的共用总线的总线权分配及共用总线的使用状况的图。这里,记载了外部端子I/F电路130a及外部端子I/F电路130b使用上行链路信息总线,外部端子I/F电路130a及外部端子I/F电路130b在得到总线权承认时共同以3个周期使用共用总线的例子。
时刻T0之前来自外部端子I/F电路130a的上行链路信息总线权请求信号到达协调器152,接受该信号后的协调器152在时刻T0对外部端子I/F电路130a返回上行链路信息总线权承认。结果,在时刻T0到时刻T2的期间外部端子I/F电路130a得到使用片总线123的上行链路信息总线的权利(下行链路总线权=A)。这里,由于外部端子I/F电路130a没有与片总线123连接,所以在时刻T0到时刻T2的期间不使用片总线123。
应送到外部端子I/F电路130a的上行链路信息总线权承认信号在通过片群125时延迟1个周期,在时刻T1到达与片总线122连接的外部端子I/F电路130a。结果,在时刻T1到时刻T3的期间外部端子I/F电路130a得到使用片总线122的上行链路信息总线的权利(下行链路总线权=A)。
在时刻T1到时刻T3的期间从外部端子I/F电路130a向片总线122的上行链路信息总线输出的信息在通过片群124时延迟1个周期,在时刻T2到时刻T4的期间输出到片总线121的上行链路信息总线。这里,由通道141a取得经上行链路信息总线发送的信息。
接着,在时刻T3以前来自外部端子I/F电路130b的上行链路信息总线权请求信号到达协调器152,接受该信号的协调器152在时刻T3对外部端子I/F电路130b返回上行链路信息总线权承认。结果,在时刻T3到时刻T5的期间外部端子I/F电路130b得到使用片总线123的上行链路信息总线的权利(下行链路总线权=B)。
在时刻T3到时刻T5的期间从外部端子I/F电路130b向片总线123的上行链路信息总线输出的信息在通过片群125时延迟1个周期,在时刻T4到时刻T6的期间输出到片总线122的上行链路信息总线。同样,在时刻T4到时刻T6的期间输出到片总线122的上行链路信息总线的信息在通过片群124时延迟1个周期,在时刻T5到时刻T7的期间输出到片总线121的上行链路信息总线。这里,由通道141b取得经上行链路信息总线发送的信息。
这样,与经共用总线发送的信息同等地对共用总线的总线权承认信号进行分片,从而能够在共用总线的总线权切换时不设置共用总线的未使用期间而传送信息,可实现高总线使用效率。
另外,图18及图19中,记载了共用总线使用电路(通道141a、通道141b、外部端子I/F电路130a、或外部端子I/F电路130b)在得到总线权承认时以固定周期数(3周期)使用共用总线的例子,但本发明不限于此。例如,该共用总线的使用期间可以按每个共用总线使用电路而不同。
使用图20及图21来说明共用总线的使用期间按每个共用总线使用电路而不同的例子。这里,记载了通道141a及通道141b使用命令总线,通道141a在得到总线权承认时以3个周期使用共用总线而通道141b在得到总线权承认时以2个周期使用共用总线的例子。
图20记载了协调器151不知道共用总线的每个使用电路的共用总线使用期间,而按共用总线使用期间的每个最大值(3个周期)进行协调,并返回总线权承认的例子。该情况下,通道141b得到使用共用总线的权利的期间(3周期)中1个周期为未使用期间。具体而言,在通道141b得到使用共用总线的权利的时刻T5及时刻T11,通道141b不使用片总线121。因此,在时刻T6及时刻T12不使用片总线122,并且在时刻T7及时刻T13不使用片总线123。因此,共用总线的使用效率降低。
为了避免该情况,可以使协调器151具有每个使用电路的共用总线的使用期间信息,并根据每个使用电路的共用总线的使用期间,使进行协调的定时变化。
图21是协调器151具有每个使用电路的共用总线的使用期间信息、并根据每个使用电路的共用总线的使用期间使进行协调的定时变化的例子。与图20同样,记载了通道141a及通道141b使用命令总线、通道141a在得到总线权承认时以3个周期使用共用总线而通道141b在得到总线权承认时以2个周期使用共用总线的例子。
协调器151在时刻T0进行协调,协调器151在时刻T0对通道141a返回命令总线权承认。这里,协调器151保持通道141a的共用总线的使用期间信息(3个周期),并在3周期后的时刻T3进行下一协调。
协调器151在时刻T3对通道141b返回命令总线权承认。这里,协调器151保持通道141b的共用总线的使用期间信息(2个周期),并在2个周期后的时刻T5进行下一协调。
协调器151在时刻T5对通道141a返回命令总线权承认。这里,协调器151保持通道141a的共用总线的使用期间信息(3个周期),并在3个周期后的时刻T8进行下一协调。
这样,使协调器151具有每个使用电路的共用总线的使用期间信息,并根据每个使用电路的共用总线的使用期间使协调的定时变化,从而即使按共用总线的每个使用电路而使用期间不同的情况下,也可维持高总线使用效率。
<总结>
如以上所说明,本实施方式2所示的半导体集成电路按照上述变形例进行设计、制作,即使外部端子位置的决定晚,也能够没有问题地工作。即,根据外部端子位置来决定定时调整电路的级数而进行制作,所以能够通过简单的结构来实现考虑了数据传送间的延迟等的半导体集成电路。
<实施方式3>
上述实施方式2中,说明了各外部端子I/F电路130a、130b和DMAC140进行数据传送时总线权的使用期间不同的情形相混合的情况。
本实施方式3中,说明在总线权使用期间不同的情况下将共用总线分开构成的例子。另外,这里所说的总线权使用期间换言之也称作1次数据传送中的突发长度(burst length)。
图22是表示不分开共用总线的情况下的半导体集成电路200的结构例的功能框图。图23是表示分开共用总线的情况下的半导体集成电路300的结构例的功能框图。在两个功能框图中,由于基本上结构与实施方式2所示的半导体集成电路100大致一致,所以进行了若干省略而省略了缓冲器160等来进行记载。
DMAC240包含通道241a、通道241b、通道241c、通道241d四个通道,经共用总线与外部端子I/F电路群230连接。通道241a与外部端子I/F电路230a交换信息,通道241b与外部端子I/F电路230b交换信息,通道241c与外部端子I/F电路230c交换信息,通道241d与外部端子I/F电路230d交换信息。
通道241a、通道241b、通道241c、及通道241d分别对协调器251发送总线权请求信号群,协调器251分别对通道241a、通道241b、通道241c、及通道241d发送总线权承认信号群。外部端子I/F电路230a、外部端子I/F电路230b、外部端子I/F电路230c及外部端子I/F电路230d分别对协调器252发送总线权请求信号群,协调器252分别对外部端子I/F电路230a、外部端子I/F电路230b、外部端子I/F电路230c及外部端子I/F电路230d发送总线权承认信号群。总线权请求信号群和总线权承认信号群的结构与图11中的说明相同。
此外,图22中虽然省略了记载,但与图1同样,在交换信息的通道和外部端子I/F电路之间,经片而连接有写就绪信号和读就绪信号。
共用总线由片群224、片群225和由此而被分片的片总线221、片总线222、片总线223构成。DMA控制器251与片总线221连接,外部端子I/F电路230a及外部端子I/F电路230c与片总线222连接,外部端子I/F电路230b及外部端子I/F电路230d与片总线223连接。
图24是表示从DMA控制器240向外部端子I/F电路群230的方向传送信息的共用总线的总线权分配及共用总线的使用状况的图。这里,记载了通道241a、通道241b、通道241c及通道241d使用命令总线、通道241a及通道241b在得到总线权承认时以3个周期使用共用总线、通道241c及通道241d在得到总线权承认时以2个周期使用共用总线的例子。此外,协调器251不具有每个使用电路的共用总线的使用期间信息,而按每固定周期(3个周期)进行协调。
该情况下,与图20中的说明同样,在共用总线的使用期间比协调器251的协调间隔(3个周期)短的通道241c及通道241d使用共用总线的情况下,造成未使用期间(图中斜线部分),共用总线的使用效率降低。
为了避免该共用总线的使用效率降低,可以分别安装共用总线使用期间为3的由通道241a及通道241b使用的共用总线、以及共用总线的使用期间为2的由通道241c及通道241d使用的共用总线。使用图23、图25和图26来说明该例。
图23是安装各自的共用总线的情况下的结构例。DMAC340及外部端子I/F电路群330a~330d的结构与图22的情形大致相同。但是,与图22不同,共用总线设有2个系统,按共用总线的每个系统设置协调器。
具体而言,通道341a、通道341b、外部端子I/F电路330a及外部端子I/F电路330b与由片总线321a、片总线322a、片总线323a、片群324a及片群325a构成的第1共用总线连接,通道341c、通道341d、外部端子I/F电路330c及外部端子I/F电路330d与由片总线321b、片总线322b、片总线323b、片群324b及片群325b构成的第2共用总线连接。
通道341a及通道341b分别对协调器351a发送总线权请求信号群,协调器351a分别对通道241a及通道241b发送总线权承认信号群。通道241c及通道341d分别对协调器351b发送总线权请求信号群,协调器351b分别对通道341c及通道341d发送总线权承认信号群。
外部端子I/F电路330a及外部端子I/F电路330b分别对协调器352a发送总线权请求信号群,协调器352a分别对外部端子I/F电路330a及外部端子I/F电路330b发送总线权承认信号群。外部端子I/F电路330c及外部端子I/F电路330d分别对协调器352b发送总线权请求信号群,协调器352b分别对外部端子I/F电路330c及外部端子I/F电路330d发送总线权承认信号群。
总线权请求信号群和总线权承认信号群的结构与图11中的说明同样。此外,虽然在图23中省略了记载,但是与图9同样,在交换信息的通道和外部端子I/F电路间,经片而连接有写就绪信号和读就绪信号。
图25是表示从外部端子I/F电路群330a~330d向DMAC340的方向传送信息的共用总线的总线权分配及共用总线的使用状况的图。这里,通道341a及通道341b使用第1共用总线的命令总线,通道341c及通道341d使用第2共用总线的命令总线。另外,假设协调器351a及协调器351b分别按每个固定周期进行协调,协调器351a按每3个周期进行协调,协调器351b按每2个周期进行协调。
该情况下,如图25所记载,与图18中的说明同样,能够不插入未使用期间而使用共用总线。
<总结>
如以上所说明,在按每个使用电路使总线的暂时使用期间不同的规格的情况下分别设置共用总线,从而可高效使用共用总线,而不用设置根据每个使用电路的共用总线使用期间来使进行协调的定时变化的复杂的协调电路。
<实施方式4>
上述实施方式1~3中,主要说明了作为数据传送控制电路的DMAC包含在功能模块中的例子。然而,若采用在功能模块中设置DMAC的结构,则有设计的扩展性降低的问题。
这是因为,在采用例如如图9、图22或图23那样配置上行链路用的协调器和下行链路用的协调器的结构的情况下,为了对应于各个结构来设计如何执行协调,在这里追加了设置新的外部端子、外部端子I/F电路的设计的情况下,需要重新设计协调器。另外,同样,在追加了去除原来添加到设计中的外部端子、外部端子I/F电路的设计的情况下,也需要重新设计协调器。此外,由于在DMAC上需要设置与新的外部端子、外部I/F电路对应的新的通道,所以也需要重新设计DMAC。
因此,在上述实施方式1和各种变形例所示的布局设计方法中,记载了可以使作为数据传送控制电路的DMAC不包含在功能模块内而作为外部端子I/F电路的一部分进行布局设计的情况。
图28表示该情况下的布局设计方法的一例。图28(a)表示了作为一例而在图4(a)所示的布局设计方法中、在功能模块中不包含数据传送控制电路的情况下的布局设计方法。图28中,对与图4共通的内容添加相同的步骤序号,对不同的内容添加不同的步骤序号。另外,本实施方式4所示的在功能模块中不包含数据传送控制电路的设计方法不仅适用于图4所示的布局设计方法,还可适用于图1或图6等所示的布局设计方法。
图28(a)所示的流程图和图4(a)所示的流程图的不同点在于决定数据传送控制电路的配置的时机。
首先,在步骤S2801中,为了与步骤S401清楚比较,决定不包含数据传送控制电路的功能模块的配置(步骤S2801)。
并且,若决定了多个外部端子的配置(步骤S402),则决定与各外部端子对应的包含数据传送控制电路的IO模块的配置。此时,在IO模块不包含数据传送控制电路的情况下,还与各IO模块对应地决定数据传送控制电路的配置。并且,若决定了IO模块的配置,则决定共用总线的配置和插入该共用总线的定时调整电路的配置(步骤S2803)。
另外,图28(b)中,与图4同样,表示了在图28(a)的各步骤中进行基于并行处理的布局设计的方法。
<结构>
说明根据图28的设计顺序来设计的半导体集成电路的结构。
图29是表示半导体集成电路400的功能结构的框图。
图29与图22、图23的不同点在于,使作为数据传送控制电路而具有DMAC功能的电路(DMA通道)与各外部端子I/F电路对应设置,以及不设置上行链路用协调器和下行链路用协调器而与各DMA通道对应设置简单的协调器。即,相对于图22和图23的情况下DMA通道采用一个电路(DMAC)控制远距离的外部端子I/F电路的结构,在本实施方式4的图29中,将DMAC功能配置在外部端子I/F电路侧。
以下,说明这样设计的半导体集成电路400的功能。这里,省略了与半导体集成电路200、300重复的内容而说明不同的结构。
如图29所示,根据图28所示的流程图设计的半导体集成电路400由功能模块440、外部端子410a、410b、外部端子I/F电路430a、430b、DMA通道440a、440b、协调器450a、片群424、425、片总线421、422、423和缓冲器460构成。各电路按图29所示的结构进行连接。
半导体集成电路400是包含用外部端子410a、410b接收来自与半导体集成电路400连接的外部设备的数据并传送到缓冲器460的功能、以及将来自缓冲器460的数据从外部端子410a、410b传送到与半导体集成电路400连接的外部设备的功能的电路。
外部端子410a、410b、片群424、425、缓冲器460实现与上述实施方式1~3所示同样的功能。
DMA通道440a具有控制外部端子I/F电路430a与缓冲器460之间的数据传送的功能。在要执行数据传送的情况下,DMA通道440a首先向协调器450a发送数据传送请求。并且,若从协调器440b接收共用总线的使用许可通知则执行数据传送。
DMA通道440b具有控制外部端子I/F电路430b与缓冲器460之间的数据传送的功能。在要执行数据传送的情况下,DMA通道440b首先向协调器450b发送数据传送请求。并且,若从协调器450b接收共用总线的使用许可通知则执行数据传送。
DMA通道440a和440b都与共用总线(421、422、423)连接。因此,为了实际执行数据传送,需获得总线权。
协调器450a、450b因此而配置,由协调器450a、450b管理总线权。
协调器450a、450b在从DMA通道接收了数据传送请求的情况下,同时从由功能模块440侧看位于下游的协调器(相对于协调器450a的协调器450b)接受了总线权请求信号时,通过规定的规则来对两者的总线权请求赋予优先级,向上游(功能模块440)输出优先级高的一方的总线权请求信号。此外,协调器450a、450b在未从DMA通道接收到数据传送请求的情况下,在从下游的协调器接受了总线权请求信号时,将该总线权请求信号直接输出到上游。
功能模块440具有根据从协调器450a发送来的总线权请求信号、在可提供总线权的定时(例如,共用总线没有被任何一个电路使用的定时)下将总线权承认信号发送到协调器450a的功能。
若采用这种结构,则除了容易进行外部端子和外部端子I/F电路的追加、删除之外,协调器也仅进行基于上述的单纯结构的总线权管理,所以成为不用进行协调器的再设计即可的结构。
图30中,表示了在图29的结构上追加了新的外部端子410c、外部端子I/F电路430c、DMA通道440c与协调器450c后的结构的半导体集成电路400a。另外,图30中,表示了设有新的片群426的结构,该片群426根据共用总线的布线长度来设置。因此,在到新的外部端子、外部端子I/F电路为止的布线长度不那么长的情况下,不需要新设置用于定时调整的片群,而设计了图31所示结构的半导体集成电路400b。
此外,相反地,有不需要原来设计的数据传送路径(外部端子、外部端子I/F电路、DMA通道和协调器的组合)的情况。图32中表示了删除而不是追加的结构。通过采用这种结构,能够进行将由外部端子、外部端子I/F电路、DMA通道和协调器的组合构成的一个数据传送路径作为单位而考虑的设计的追加、删除。
这样,如图29等所示,能够实现将一个外部端子、外部I/F电路、DMA通道和协调器作为一个单位的配置,所以与图9、图22、图23等所示的结构的情形相比,能够容易进行外部端子、外部I/F电路的追加、删除等设计变更。
此外,图29~图32中,记载了用总线型的拓扑结构来连接功能模块和多个IO模块的例子,但也可以用菊花链型的拓扑结构连接这些模块。作为用菊花链型的拓扑结构连接功能模块、IO模块的结构,例如可以考虑如图33所示的结构。图33所示的半导体集成电路400d改变为,用菊花链型的拓扑结构连接图31所示的用总线型的拓扑结构连接功能模块和IO模块的半导体集成电路400b的结构。例如,作为IO模块,使用将外部端子I/F电路(430a/430b/430c)、DMA通道(440a/440b/440c)和协调器(450a/450b/450c)封装为一体的电路。如图33所示,按菊花链结构用总线(421、422、423)来连接功能模块440、片群424、425和IO模块470a、470b、470c。
此外,也可以是,IO模块470a、470b、470c如图34所示的半导体集成电路400e那样,是将一组DMA通道(440a/440b/440c)和协调器(450a/450b/450c)封装为一体的电路。
即使采用这种结构,图33所示的半导体集成电路400d、图34所示的半导体集成电路400e实质上发挥与图31所示的半导体集成电路400b同等的功能。
用总线型的拓扑结构进行连接还是用菊花链型的拓扑结构进行连接根据设计的规格决定,根据该规格来进行布局设计。
<总结>
以上,如实施方式4所示,以与各外部端子和外部端子I/F电路对应的形式来设置作为数据传送控制电路的DMA通道和协调器,从而能够提供将一个外部端子、外部端子I/F电路、数据传送控制电路和协调器作为一个数据传送路径、容易地进行数据传送路径的追加或删除的布局设计方法及通过该布局设计方法设计的半导体集成电路。
<补充>
上述实施方式中,说明了本发明的实施方法,但本发明的实施方式当然不限于此。下面,除了上述实施方式以外,说明作为本发明包含的其他各种变形例。
(1)上述实施方式中,示出了布局设计方法。关于该布局设计方法,可以由人根据该布局设计方法来设计半导体集成电路的布局,在自动设计半导体集成电路的布局的装置中,根据基于上述实施方式的布局设计方法的顺序来执行布局的装置即可,可以命令执行布局设计的装置来进行设计。
(2)上述实施方式所示的布局设计方法可以由设计半导体集成电路的布局的设计装置执行。
即,将数据传送控制电路、各功能模块的面积等信息以及根据设计的半导体集成电路的大小所允许的总配置面积的信息作为输入,首先,决定最佳的功能模块及数据传送控制电路的配置。该配置的决定方法的细节被各种现有技术公开,所以在这里加以省略。
若决定了数据传送控制电路和功能模块的配置,则设计装置从例如设计装置的操作者接受外部端子位置的信息输入。
若接受了外部端子位置的信息的输入,则将该信息所示的位置决定为外部端子的配置位置。
设计装置在外部端子位置的附近决定IO模块的配置位置。该决定将如下位置决定为IO模块的配置位置,即:相对于所决定的外部端子位置在预先决定的规定距离内,且与其他部件的配置不重复的位置中外部端子与IO模块之间的布线长度最短的位置。
并且,设计装置若决定了IO模块的配置位置,则决定总线的布线位置,以使得连接该IO模块和数据传送控制电路,且与其他部件的配置不重复。
并且,通过进行所决定的总线的布线,根据所决定的总线的布线长度,插入在该总线上插入的定时调整电路的数目和位置,以使得与其他部件的配置位置不重复。对于插入的定时调整电路的数目,预先在设计装置中存储表示以某一定长度的范围划分的每个布线长度的插入的定时调整电路的数目的表格,并根据所决定的总线的配置位置来算出其布线长度。并根据所算出的布线长度相当于表格的哪个范围,将与该范围对应的定时调整电路的数目决定为应插入的定时调整电路的数目。
这样,最终设计了如图3(b)所示的布局。
另外,这里,基于实施方式1所示的布局设计方法说明了设计装置,但也可以基于其他实施方式所示的布局设计方法来进行设计装置进行的布局设计。
此外,设计装置也可以按变形例1、变形例2、或实施方式4所示的方法来执行布局设计。
(3)上述实施方式的布局设计方法中,共用总线的配置可以如图27所示地进行配置。即,以包围各功能模块的方式将共用总线布线。并且,根据距内部电路140的布线长度,配置作为定时调整电路的片群125a~125j。在其周围确保用于设置外部端子I/F电路的空间,等待外部端子位置的决定。
并且,若决定了外部端子位置,则将所决定的位置作为外部端子110a~110c的配置位置,并在其附近决定作为IO模块的外部端子I/F电路130a~130c的配置位置,并向共用总线进行配置,使得与外部端子连接且距外部端子I/F电路的直线距离最短。
这样,从IO模块到数据传送控制电路,不用考虑使共用总线如何通过各功能模块的部件之间,而能够容易地决定从外部端子I/F电路向共用总线的布线,所以认为尤其在上述变形例2的设计方法中是有效的设计方法。
(4)上述实施方式2中,记载了在DMA控制器140与外部端子I/F电路群130a、130b之间,命令、下行链路数据、下行链路信息、上行链路数据、上行链路信息五个信息全部进行交换的例子,但本发明不限于此。例如,DMA控制器140与外部端子I/F电路群130a、130b之间的信息交换可以仅由命令、下行链路数据构成,包含5个信息的子集即可。
(5)上述实施方式2中,记载了对从外部端子I/F电路群130a、130b对DMA控制器140发送的写就绪信号及读就绪信号进行分片的例子,但本发明不限于此。写就绪信号及读就绪信号也可以不经片而直接在外部端子I/F电路群130a、130b与DMA控制器140之间进行连接。
(6)上述实施方式2中,记载了通过片1258对从外部端子I/F电路130a对协调器152发送的总线权请求信号群进行分片的例子,但本发明不限于此。总线权请求信号群也可以不经片而直接与协调器连接。
(7)本实施方式2中,记载了协调器151及协调器152具备共用总线的全部结构要素(命令总线、下行链路数据总线、下行链路信息总线、上行链路数据总线、上行链路信息总线)的协调电路的例子,但本发明不限于此。
例如,在不需要DMAC140对外部端子I/F电路群130发送下行链路信息而没有安装下行链路信息总线作为共用总线的情况下,可以不安装与其对应的下行链路信息总线协调电路1513。
或者,即使需要发送下行链路信息,例如,在通道141b不发送信息而仅通道141a发送信息的情况下(可以占用下行链路信息总线的情况下),也可以不安装下行链路信息总线协调电路1513。
(8)在上述实施方式2中,记载了将命令总线权协调电路1511、下行链路数据总线权协调电路1512、及下行链路信息总线权协调电路1513在包含于协调器1510内的局部物理区域上布局的例子,但本发明不限于此。也可以将命令总线权协调电路1511、下行链路数据总线权协调电路1512、及下行链路信息总线权协调电路1513分别根据需要在分散的区域上布局。对于协调器1520中含有的上行链路数据总线权协调电路1522、上行链路信息总线权协调电路1523也同样。
(9)上述实施方式2中,记载了在发送命令信息后接着传送数据的例子,但命令的发送方法及次数等不限于此。例如,也可以采用在数据之前N次(N是2以上的整数)连续发送命令后开始进行数据传送的结构。
(10)上述实施方式3中,以命令总线为例进行了记载,但本发明不限于此。例如,也可以在从DMAC240(340)向外部端子I/F电路群230a~230d(330a~330d)的方向传送信息的下行链路数据总线、以及下行链路信息总线中采用同样的结构。此外,也可以在从外部端子I/F电路群230向DMAC240的方向传送信息的上行链路数据总线及上行链路信息总线中采用同样的结构。
(11)上述实施方式中,示出了1个外部IO端子对应于1个外部端子I/F电路的结构,但不限于此。也可以是1个外部端子I/F电路对应于多个外部IO端子。也可以是所设计的半导体集成电路如图32所示,仅具有1个外部端子I/F电路及1个DMA通道。
(12)也可以是,使用来使布局设计装置等处理器及与该处理器连接的各种电路执行与上述实施方式所示的布局设计有关的动作(参考图1、图4、图6)的、由程序代码构成的控制程序记录在记录介质上,或经各种通信路径等进行流通、发布。这种记录介质有IC卡、硬盘、光盘、软盘和ROM等。流通、颁布的控制程序存储在可由处理器读出的存储器等中以供使用,该处理器执行该控制程序而实现实施方式所示的各种功能。
(13)上述实施方式所示的框图(参考图8~12、22、23等)中的各功能部、各种电路可以进行集成而通过1个或多个LSI(Large ScaleIntegration)实现。另外,也可由1个LSI来实现多个功能部。
LSI根据集成度的不同,有时还称作IC(Integrated Circuit)、系统LSI、VLSI(Very Large Scale Integration)、SLSI(Super Large Scale Integration)、ULSI(Ultra Large Scale Integration)等。
进而,若因半导体技术的进步或派生的其他技术而出现替换LSI的集成电路化技术,当然也可以使用该技术来实现功能模块的集成化。作为该技术,有可能是生物技术的应用等。
(14)下面,说明本发明的集成电路制造方法和半导体集成电路的实施方式及其效果。
本发明的第1集成电路制造方法,包括:布局设计步骤,制作用于集成电路的制造的掩模图案;以及制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;该集成电路制造方法的特征在于,所述布局设计步骤包括:第1步骤,决定功能模块的配置;第2步骤,决定用于连接所述集成电路和外部设备的多个外部IO(Input-Output)端子的配置;第3步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO(Input-Output)模块的配置;以及第4步骤,决定在所述功能模块和所述IO模块之间连接的总线的配置、以及与该总线的布线长度相应的级数的、进行在所述总线上流过的信号的定时调整的定时调整电路的配置。
本发明的第2集成电路制造方法,包括:布局设计步骤,制作用于集成电路的制造的掩模图案;以及制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;该集成电路制造方法的特征在于,所述布局设计步骤包括:第1步骤,决定功能模块的配置;第2步骤,决定用于连接所述集成电路和外部设备的多个外部IO(Input-Output)端子的配置;第3步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO(Input-Output)模块的配置;以及第4步骤,决定在所述功能模块和所述IO模块之间连接的共用总线的配置、以及与该共用总线的布线长度相应的级数的、进行在所述共用总线上流过的信号的定时调整的定时调整电路的配置。
本发明的第3集成电路制造方法,包括:布局设计步骤,制作用于集成电路的制造的掩模图案;以及制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;该集成电路制造方法的特征在于,所述布局设计步骤包括:第1步骤,决定功能模块的配置;第2步骤,决定共用总线与定时调整电路的配置,该定时调整电路进行在所述共用总线上流过的信号的定时调整;第3步骤,决定用于连接所述集成电路和外部设备的多个外部IO(Input-Output)端子的配置;第4步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO(Input-Output)模块的配置;以及第5步骤,将所述功能模块和所述IO模块连接到所述共用总线。
通过这些集成电路制造方法制造的半导体集成电路,其特征在于,具备:功能模块;多个外部IO端子;与所述外部IO端子的某个连接的至少一个IO模块;在所述功能模块和所述至少一个IO模块之间共用的共用总线;以及被插入所述共用总线且进行在所述共用总线上流过的信号的定时调整的1个以上定时调整电路;所述共用总线通过所插入的所述定时调整电路而被分割为多个片;所述功能模块和所述IO模块连接到所述多个片中的某个。
通过这些布局设计方法,能够缓和外部端子与对应于外部端子的多个IO模块间的布线、以及外部端子与数据传送电路间的布线限制,并且能够抑制由这些布线铺设造成的布线面积的增大,实现布局设计负荷的降低和面积增大的抑制。
上述第1~第3集成电路制造方法中,在所述第1步骤中决定配置的所述IO模块可以包含数据传送控制电路。
或者,上述第1半导体集成电路中,所述功能模块可以包含数据传送控制电路。
由此,仅配置含有数据传送控制电路的IO模块就能够制造具有可执行数据传送控制的功能部的集成电路。
上述第1~第3集成电路制造方法中,在所述第3步骤中决定配置的所述IO模块可以包含数据传送控制电路。
或者,上述第1半导体集成电路中,所述IO模块可以包含数据传送控制电路。
由此,通过使各IO模块包含数据传送控制电路,能够容易实现将外部IO端子和IO模块作为一个单位的数据传送路径的追加、删除。
上述第1或第2集成电路制造方法中,所述第3步骤可以将接近所述外部IO端子的位置决定为所述IO模块的配置位置。
或者,上述第3集成电路制造方法中,所述第4步骤可以将接近所述外部IO端子的位置决定为所述IO模块的配置位置。
或者,上述第1半导体集成电路中,所述IO模块可以配置在接近所述外部IO端子的位置。
这里所说的接近外部端子的位置是指,在能够进行使外部端子和I O模块之间的数据传送的通信延迟作为误差而能被允许的数据通信的范围内。
由此,由于将IO模块配置在外部端子的附近,所以可以采用不考虑用于外部端子和IO模块间的数据传送中的定时调整的结构,能够减轻布局设计的负担。
上述第1集成电路制造方法中,所述定时调整电路是对输入的信号、将在所述总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;所述第4步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
或者,上述第2集成电路中,所述定时调整电路是对输入的信号、将在所述共用总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;所述第4步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
并且,上述第3集成电路中,所述定时调整电路是对输入的信号、将在所述共用总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;所述第2步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
由此,根据相应的集成电路制造方法生成的集成电路能够修正流过总线的信号的相对于工作时钟间的延迟。
上述第2集成电路制造方法中,可以是,在所述第4步骤中决定配置的共用总线以将所述功能模块和所述IO模块菊花链连接的方式决定配置。
上述第3集成电路制造方法中,可以是,在所述第5步骤中,以将所述功能模块和所述IO模块菊花链连接的方式决定配置。
由此,能够根据相应的集成电路制造方法来设计通过菊花链连接了功能模块和IO模块的电路结构的半导体集成电路。
上述第1半导体集成电路中,所述半导体集成电路还具备上行链路协调器,该上行链路协调器与所述共用总线的一端连接,协调与从所述IO模块向所述数据传送控制电路方向的数据传送有关的总线权请求信号;所述上行链路协调器协调来自所述多个IO模块的总线权请求信号,向从所述多个IO模块中选出的1个IO模块发送总线权承认信号;所述总线权承认信号经所述选出的1个IO模块与所述上行链路协调器间的片而延迟并被通知给所述选出的1个IO模块。
由此,能够实现上行链路协调器的简化,并提高共用总线的利用效率。
上述第1的半导体集成电路中,所述共用总线可以构成为,包含:下行链路总线,用于传送从所述数据传送控制电路向所述IO模块方向的信号;以及上行链路总线,用于传送从所述IO模块向所述数据传送控制电路方向的信号。
并且,上述第1半导体集成电路中,所述上行链路协调器具备所述多个IO模块所传送的各个数据的突发长度的信息;所述上行链路协调器根据与被承认了总线权的1个IO模块对应的突发长度的信息,决定总线权请求信号的协调间隔。
由此,即使数据传送的突发长度按每个IO模块而不同的情况下,也能提高上行链路总线的利用效率。
上述第1半导体集成电路中,所述半导体集成电路还具备下行链路协调器,该下行链路协调器与所述数据传送控制电路连接,协调与从所述数据传送控制电路向所述IO模块方向的数据传送有关的总线权请求信号;所述数据传送控制电路在与到配置了所述IO模块的片为止的延迟相应的定时下,向所述共用总线输出数据。
由此,能够实现下行链路协调器的简化,并提高共用总线的利用效率。
上述第1半导体集成电路中,所述下行链路协调器具备所述多个通道所传送的各个数据的突发长度的信息;所述下行链路协调器根据与被承认了总线权的1个通道对应的突发长度的信息,决定总线权请求信号的协调间隔。
由此,即使数据传送的突发长度按每个通道而不同的情况下,也能提高下行链路总线的利用效率。
上述第1半导体集成电路中,所述共用总线包含长突发器件用的总线和短突发器件用的总线;根据所述数据传送控制电路与所述IO模块之间的数据传送的突发长度,使用所述长突发器件用的总线和所述短突发器件用的总线中的某一个来进行数据传送。
由此,能够不必使协调器按使用总线的每个器件来改变协调间隔而提高共用总线的利用效率。
工业实用性
本发明的集成电路制造方法即使不决定外部端子位置也能够进行集成电路的布局设计,对半导体集成电路的设计时间的缩短有贡献,以供半导体集成电路的精制。
符号说明
100、200、300、400、400a、400b、400c、400d半导体集成电路
110a、110b、210a、210b、210c、210d、310a、310b、310c、310d、410a、410b、410c外部端子(外部IO端子)
140内部电路(DMAC、数据传送控制电路)
141a、141b、241a、241b、241c、241d、341a、341b、341c、341d、441a、441b、441c通道
151、152、251、252、351a、351b、352a、352b、450a、450b、450c 协调器
130a、130b、230a、230b、230c、230d、330a、330b、330c、330d、430a、430b、430c外部端子I/F电路(IO模块)
124总线
125a、125b、125c片(定时调整电路)
240、340DMAC(数据传送控制电路)
440功能模块
440a、440b、440c DMA通道(数据传送控制电路)
470a、470b、470c IO模块

Claims (29)

1.一种集成电路制造方法,包括:
布局设计步骤,制作用于集成电路的制造的掩模图案;以及
制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;
该集成电路制造方法的特征在于,所述布局设计步骤包括:
第1步骤,决定功能模块的配置;
第2步骤,决定用于连接所述集成电路和外部设备的多个外部IO端子的配置;
第3步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO模块的配置;以及
第4步骤,决定在所述功能模块和所述IO模块之间连接的总线的配置、以及与该总线的布线长度相应的级数的、进行在所述总线上流过的信号的定时调整的定时调整电路的配置,将所述定时调整电路配置在所述总线上。
2.根据权利要求1所述的集成电路制造方法,其特征在于:
所述第1步骤中决定配置的功能模块包含数据传送控制电路。
3.根据权利要求1所述的集成电路制造方法,其特征在于:
所述第3步骤中决定配置的所述IO模块包含数据传送控制电路。
4.根据权利要求1所述的集成电路制造方法,其特征在于:
所述第3步骤将接近所述外部IO端子的位置决定为所述IO模块的配置位置。
5.根据权利要求1所述的集成电路制造方法,其特征在于:
所述定时调整电路是对输入的信号、将在所述总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;
所述第4步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
6.一种集成电路制造方法,包括:
布局设计步骤,制作用于集成电路的制造的掩模图案;以及
制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;
该集成电路制造方法的特征在于,所述布局设计步骤包括:
第1步骤,决定功能模块的配置;
第2步骤,决定用于连接所述集成电路和外部设备的多个外部IO端子的配置;
第3步骤,根据所述第2步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO模块的配置;以及
第4步骤,决定在所述功能模块和所述IO模块之间连接的共用总线的配置、以及与该共用总线的布线长度相应的级数的、进行在所述共用总线上流过的信号的定时调整的定时调整电路的配置,将所述定时调整电路配置在所述共用总线上。
7.根据权利要求6所述的集成电路制造方法,其特征在于:
所述第1步骤中决定配置的功能模块包含数据传送控制电路。
8.根据权利要求7所述的集成电路制造方法,其特征在于:
所述第4步骤中决定配置的共用总线以将所述功能模块和所述IO模块菊花链连接的方式决定配置。
9.根据权利要求6所述的集成电路制造方法,其特征在于:
所述第3步骤中决定配置的所述IO模块包含数据传送控制电路。
10.根据权利要求9所述的集成电路制造方法,其特征在于:
所述第4步骤中决定配置的共用总线以将所述功能模块和所述IO模块菊花链连接的方式决定配置。
11.根据权利要求6所述的集成电路制造方法,其特征在于:
所述第3步骤将接近所述外部IO端子的位置决定为所述IO模块的配置位置。
12.根据权利要求6所述的集成电路制造方法,其特征在于:
所述定时调整电路是对输入的信号、将在所述共用总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;
所述第4步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
13.一种集成电路制造方法,包括:
布局设计步骤,制作用于集成电路的制造的掩模图案;以及
制作步骤,使用所述掩模图案,在半导体材料上制作所述集成电路;
该集成电路制造方法的特征在于,所述布局设计步骤包括:
第1步骤,决定功能模块的配置;
第2步骤,决定共用总线与定时调整电路的配置,将该定时调整电路配置在所述共用总线上,该定时调整电路进行在所述共用总线上流过的信号的定时调整;
第3步骤,决定用于连接所述集成电路和外部设备的多个外部IO端子的配置;
第4步骤,根据所述第3步骤中决定的各外部IO端子的配置,决定与所述外部IO端子的某个连接的至少一个IO模块的配置;以及
第5步骤,将所述功能模块和所述IO模块连接到所述共用总线。
14.根据权利要求13所述的集成电路制造方法,其特征在于:
所述第1步骤中决定配置的功能模块包含数据传送控制电路。
15.根据权利要求14所述的集成电路制造方法,其特征在于:
所述第5步骤中,以使通过所述共用总线将所述功能模块和所述IO模块菊花链连接的方式决定配置。
16.根据权利要求13所述的集成电路制造方法,其特征在于:
所述第4步骤中决定配置的所述IO模块包含数据传送控制电路。
17.根据权利要求16所述的集成电路制造方法,其特征在于:
所述第5步骤中,以使通过所述共用总线将所述功能模块和所述IO模块菊花链连接的方式决定配置。
18.根据权利要求13所述的集成电路制造方法,其特征在于:
所述第4步骤将接近所述外部IO端子的位置决定为所述IO模块的配置位置。
19.根据权利要求13所述的集成电路制造方法,其特征在于:
所述定时调整电路是对输入的信号、将在所述共用总线上流过包含该信号的多个信号从而产生的该多个信号间的相位偏差修正并输出的电路;
所述第2步骤基于根据所述布线长度而在所述信号上产生的延迟量,决定插入所述定时调整电路的级数及所述定时调整电路的配置位置。
20.一种半导体集成电路,其特征在于,
具备:
功能模块;
多个外部IO端子;
与所述外部IO端子的某个连接的至少一个IO模块;
在所述功能模块和所述多个IO模块之间共用的共用总线;以及
被插入所述共用总线且进行在所述共用总线上流过的信号的定时调整的1个以上定时调整电路;
所述共用总线通过所插入的所述定时调整电路而被分割为多个片;
所述功能模块和所述IO模块连接到所述多个片中的某个。
21.根据权利要求20所述的半导体集成电路,其特征在于:
所述功能模块包含数据传送控制电路。
22.根据权利要求21所述的半导体集成电路,其特征在于:
所述共用总线构成为,包含:
下行链路总线,用于传送从所述数据传送控制电路向所述IO模块方向的信号;以及
上行链路总线,用于传送从所述IO模块向所述数据传送控制电路方向的信号。
23.根据权利要求22所述的半导体集成电路,其特征在于:
所述半导体集成电路还具备上行链路协调器,该上行链路协调器与所述共用总线的一端连接,协调与从所述IO模块向所述数据传送控制电路方向的数据传送有关的总线权请求信号;
所述上行链路协调器协调来自多个IO模块的总线权请求信号,向从所述多个IO模块中选出的1个IO模块发送总线权承认信号;
所述总线权承认信号经所述选出的1个IO模块与所述上行链路协调器间的片而延迟并被通知给所述选出的1个IO模块。
24.根据权利要求23所述的半导体集成电路,其特征在于:
所述上行链路协调器具备多个IO模块所传送的各个数据的突发长度的信息;
所述上行链路协调器根据与被承认了总线权的1个IO模块对应的突发长度的信息,决定总线权请求信号的协调间隔。
25.根据权利要求22所述的半导体集成电路,其特征在于:
所述半导体集成电路还具备下行链路协调器,该下行链路协调器与所述数据传送控制电路连接,协调与从所述数据传送控制电路向所述IO模块方向的数据传送有关的总线权请求信号;
所述数据传送控制电路在与到配置了所述IO模块的片为止的延迟相应的定时下,向所述共用总线输出数据。
26.根据权利要求25所述的半导体集成电路,其特征在于:
所述下行链路协调器具备多个通道所传送的各个数据的突发长度的信息;
所述下行链路协调器根据与被承认了总线权的1个通道对应的突发长度的信息,决定总线权请求信号的协调间隔。
27.根据权利要求21所述的半导体集成电路,其特征在于:
所述共用总线包含长突发器件用的总线和短突发器件用的总线;
根据所述数据传送控制电路与所述IO模块之间的数据传送的突发长度,使用所述长突发器件用的总线和所述短突发器件用的总线中的某一个来进行数据传送。
28.根据权利要求20所述的半导体集成电路,其特征在于:
所述IO模块包含数据传送控制电路。
29.根据权利要求20所述的半导体集成电路,其特征在于:
所述IO模块配置在接近所述外部IO端子的位置。
CN201180003011.XA 2010-05-31 2011-05-27 集成电路制造方法及半导体集成电路 Expired - Fee Related CN102473198B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010125275 2010-05-31
JP2010-125275 2010-05-31
JP2011119206 2011-05-27
JP2011-119206 2011-05-27
PCT/JP2011/002985 WO2011152013A1 (ja) 2010-05-31 2011-05-27 集積回路製造方法及び半導体集積回路

Publications (2)

Publication Number Publication Date
CN102473198A CN102473198A (zh) 2012-05-23
CN102473198B true CN102473198B (zh) 2015-09-09

Family

ID=45066406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003011.XA Expired - Fee Related CN102473198B (zh) 2010-05-31 2011-05-27 集成电路制造方法及半导体集成电路

Country Status (4)

Country Link
US (1) US8438523B2 (zh)
JP (1) JP5834226B2 (zh)
CN (1) CN102473198B (zh)
WO (1) WO2011152013A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
US9471524B2 (en) 2013-12-09 2016-10-18 Atmel Corporation System bus transaction queue reallocation
KR102205695B1 (ko) * 2014-09-05 2021-01-21 에스케이하이닉스 주식회사 리프레쉬 제어 회로 및 이를 이용한 반도체 장치
US10649790B1 (en) 2017-08-24 2020-05-12 Amazon Technologies, Inc. Multithreaded rendering for virtualized graphics processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901562B2 (en) * 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
CN101925885A (zh) * 2008-01-29 2010-12-22 松下电器产业株式会社 存储器存取定时调整装置以及存储器存取定时调整方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120514B2 (ja) 1990-02-26 1995-12-20 三菱電機株式会社 陰極線管
JPH06131414A (ja) 1992-10-16 1994-05-13 Fujitsu Ltd 回路合成方式
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US6041061A (en) * 1997-01-31 2000-03-21 Macronix International Co., Ltd. Internal arbiter for a repeater in a computer network
US5883814A (en) 1997-03-13 1999-03-16 International Business Machines Corporation System-on-chip layout compilation
JPH1173258A (ja) 1997-08-28 1999-03-16 Toshiba Corp 低消費電力バス構造及びその制御方法、低消費電力バス構造の合成システム及びその合成方法、携帯情報機器
JP3250542B2 (ja) 1999-03-23 2002-01-28 日本電気株式会社 Lsi設計方法
JP2003271688A (ja) 2002-03-13 2003-09-26 Matsushita Electric Ind Co Ltd 半導体集積回路の設計方法
US6948138B1 (en) * 2002-11-04 2005-09-20 Cadence Design Systems, Inc. Method for positioning I/O buffers and pads in an IC layout
JP2005107556A (ja) 2003-08-12 2005-04-21 Matsushita Electric Ind Co Ltd 半導体集積回路の配線処理方法
JP5094051B2 (ja) 2006-06-15 2012-12-12 キヤノン株式会社 データ処理装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901562B2 (en) * 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
CN101925885A (zh) * 2008-01-29 2010-12-22 松下电器产业株式会社 存储器存取定时调整装置以及存储器存取定时调整方法

Also Published As

Publication number Publication date
CN102473198A (zh) 2012-05-23
US8438523B2 (en) 2013-05-07
WO2011152013A1 (ja) 2011-12-08
JP5834226B2 (ja) 2015-12-16
JPWO2011152013A1 (ja) 2013-07-25
US20120110535A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
US10747933B2 (en) Channel-less integrated circuit layout wiring for chips including a plurality of partitions
US8316342B1 (en) Method and apparatus for concurrent design of modules across different design entry tools targeted to a single layout
CN102473198B (zh) 集成电路制造方法及半导体集成电路
CN101986278B (zh) 一种电子类设备的自动测试方法及系统
US8521483B1 (en) Method and apparatus for concurrent design of modules across different design entry tools targeted to single simulation
US10097182B2 (en) Integrated circuit layout wiring for multi-core chips
US8316337B2 (en) Method and system for optimally placing and assigning interfaces in a cross-fabric design environment
US8527929B2 (en) Method and system for optimally connecting interfaces across multiple fabrics
US7612599B2 (en) Semiconductor device
TWI222580B (en) System and method for H-tree signal layout
CN102637217B (zh) 基于云计算平台的大规模集成电路布线系统
US20110153289A1 (en) Method and system for specifying system level constraints in a cross-fabric design environment
CN103901402A (zh) 重构fpga雷达数字信号处理组件及方法
Kabir et al. Holistic Chiplet–Package Co-Optimization for Agile Custom 2.5-D Design
CN106775691A (zh) 一种基于前后端分离的存储管理软件设计方案
CN109905618A (zh) 夹心成像单元结构及一步正样的设计方法
CN105866658A (zh) 一种测试用电子产品单板及测试装置
CN103123516B (zh) 一种主板与多个适配卡联合通信的方法及装置
US6642556B2 (en) Modular macro cell layout method
US7412669B1 (en) Generation of graphical design representation from a design specification data file
CN101315547A (zh) 一种基于多fpga的控制系统
US8380904B2 (en) Interconnect coupled to master device via at least two different bidirectional connections
WO2008056468A1 (fr) Circuit intégré à semiconducteur et sa technique d&#39;implantation
JP4883124B2 (ja) 配線検証システム、配線検証方法、及び配線検証プログラム
US20230053664A1 (en) Full Die and Partial Die Tape Outs from Common Design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150909

Termination date: 20180527