CN107967228A - 用于对总线进行布线的计算系统及方法以及布线系统 - Google Patents
用于对总线进行布线的计算系统及方法以及布线系统 Download PDFInfo
- Publication number
- CN107967228A CN107967228A CN201710666896.0A CN201710666896A CN107967228A CN 107967228 A CN107967228 A CN 107967228A CN 201710666896 A CN201710666896 A CN 201710666896A CN 107967228 A CN107967228 A CN 107967228A
- Authority
- CN
- China
- Prior art keywords
- bus
- buffer
- buffer array
- array
- message
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000000872 buffer Substances 0.000 claims abstract description 385
- 239000000284 extract Substances 0.000 claims abstract description 9
- 238000003491 array Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 241001604129 Polydactylus Species 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- QWCRAEMEVRGPNT-UHFFFAOYSA-N buspirone Chemical compound C1C(=O)N(CCCCN2CCN(CC2)C=2N=CC=CN=2)C(=O)CC21CCCC2 QWCRAEMEVRGPNT-UHFFFAOYSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40078—Bus configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0064—Latency reduction in handling transfers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/16—Memory access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Architecture (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
包括在集成电路中的总线结构有利于提升功能块的性能。本发明提供用于在集成电路的布局中对包括缓冲器的总线进行布线的计算系统、在集成电路的布局中对包括缓冲器的总线进行布线的方法及集成电路中的布线系统。通过处理单元所执行的用于对总线进行布线的程序流程包括:总线信息提取器,从输入数据中提取总线信息,总线信息包括对于总线的物理要求;缓冲器阵列产生器,基于总线信息来产生缓冲器阵列,在缓冲器阵列中,总线中所包括的各缓冲器规则地排列;缓冲器阵列放置器,基于总线信息来将至少一个缓冲器阵列放置于集成电路的布局中;以及配线流程,基于总线信息来产生连接至至少一个缓冲器阵列中所包括的缓冲器的互连线。
Description
[相关申请的交叉参考]
本申请主张在2016年10月20日在韩国知识产权局提出申请的韩国专利申请第10-2016-0136576号的优先权,所述韩国专利申请的公开内容全文并入本案供参考。
技术领域
本发明概念涉及一种集成电路及/或一种用于在集成电路中对总线进行布线的系统及方法。
背景技术
例如系统芯片(system-on-chip,SoC)等数字集成电路可包括各种功能块。随着半导体工艺技术的进步,在功能块中所包括的装置的数目已增加,且功能块的运行速度也已得到提高。集成电路可包括便于各功能块之间进行通信的总线。
发明内容
包括在集成电路中的总线结构有利于提升功能块的性能。本发明概念提供一种在集成电路中对总线进行布线的方法及/或在集成电路中对包括缓冲器的总线进行布线的系统及方法。
根据示例性实施例,一种用于在集成电路的布局中对包括缓冲器的总线进行布线的计算系统,所述计算系统包括:存储器,被配置成存储信息,所述信息包括程序流程;以及处理单元,被配置成存取所述存储器并执行所述程序流程,其中所述程序流程包括:总线信息提取器,被配置成从输入数据中提取总线信息(bus information),所述总线信息包括对于所述总线的物理要求(也称为物理特性);缓冲器阵列产生器,被配置成基于所述总线信息来产生缓冲器阵列,在所述缓冲器阵列中,所述总线中所包括的各缓冲器规则地排列;缓冲器阵列放置器,被配置成基于所述总线信息来将至少一个缓冲器阵列放置于所述集成电路的所述布局中;以及配线流程,被配置成基于所述总线信息来产生连接至所述至少一个缓冲器阵列中所包括的缓冲器的互连线。
根据示例性实施例,提供一种在集成电路的布局中对包括缓冲器的总线进行布线的方法,所述方法是在计算系统上执行且包括:从输入数据中提取总线信息,所述总线信息包括对于所述总线的物理要求;基于所述总线信息来产生缓冲器阵列,在所述缓冲器阵列中,所述总线中所包括的各缓冲器规则地排列;基于所述总线信息来将至少一个缓冲器阵列放置于所述集成电路的所述布局中;以及基于所述总线信息来产生与所述至少一个缓冲器阵列中所包括的缓冲器连接的互连线。
示例性实施例涉及一种用于在集成电路中对总线进行布线的系统,所述系统包括:至少一条总线,具有物理要求且包括多个缓冲器阵列;以及多个功能块,通过所述至少一条总线而相互连接,所述多个功能块中的每一个被配置成通过所述至少一条总线接收待处理数据或传送已处理数据;所述至少一条总线中所包括的所述多个缓冲器基于所述物理要求而规则地间隔开;且所述多个缓冲器基于所述物理要求而在缓冲器阵列中进行互连。
附图说明
通过结合附图阅读以下详细说明,将更加清楚地理解示例性实施例,在附图中:
图1是根据示例性实施例的包括存储有程序的存储器的计算系统的方块图。
图2是根据示例性实施例的集成电路的示意性平面图。
图3是根据示例性实施例的图1所示程序的方块图。
图4说明根据示例性实施例利用图3所示总线信息提取器提取的总线信息。
图5A至图5C示意性地说明根据示例性实施例利用图3所示缓冲器阵列产生器产生的缓冲器阵列的例子。
图6是根据示例性实施例的集成电路的示意性平面图。
图7是根据示例性实施例放置的缓冲器阵列的示意图。
图8A及图8B是根据示例性实施例放置的缓冲器阵列的示意图。
图9是根据示例性实施例放置的缓冲器阵列的示意图。
图10A及图10B示意性地说明根据示例性实施例的所布线总线的例子。
图11是根据示例性实施例的程序的方块图。
图12是集成电路的示意性平面图,其中说明了根据示例性实施例的图11所示程序中所包括的虚拟布线器的运行。
图13A及图13B是示出在根据示例性实施例对总线进行布线时所使用的布线资源的曲线图。
图14是根据示例性实施例对总线进行布线的方法的流程图。
图15及图16是根据示例性实施例的图14所示操作S10的例子的流程图。
图17是根据示例性实施例对总线进行布线的方法的流程图。
[符号的说明]
3、5、5':集成电路
10a、10b、10c、11、12、13、21、22、23、31、32、33、41、42、51、52、53、54、55:缓冲器阵列
100:计算系统
110:中央处理器
120:输入/输出装置
130:网络接口
140:随机存取存储器
150:只读存储器
160:存储装置
170:总线
200、200':程序
210:流程、总线信息提取器
210':总线信息提取器
220':虚拟布线器
230:缓冲器阵列产生器/流程
230':缓冲器阵列产生器
250:缓冲器阵列放置器/流程
250':缓冲器阵列放置器
270:配线流程/流程
270':配线流程
290:输出数据产生器/流程
290':输出数据产生器
B01:第一功能块/功能块
B02:第二功能块/功能块
B03:第三功能块/功能块
B04:第四功能块/功能块
B05:第五功能块/功能块
B06:第六功能块/功能块
B07:第七功能块/功能块
B08:第八功能块/功能块
B11、B12、B21、B22、B31、B32、B41、B42:功能块
BUS_1:第一总线
BUS_2:第二总线
D10:距离
D20、D30、D40、D51、D52、D53、D54:距离
D10'、D10a、D10b、D10c、D11、D100、D100':输入数据
D90、D90'、D900、D900':输出数据
D200:总线信息
G1:要求群组
G2:可选要求群组
R01、R02、R03、R04、R05、R06、R07:子区/通道子区
S10、S10'、S10a、S10b、S11a、S11b、S12a、S12b、S13a、S13b、S14a、S14b、S15a、S16a、S17a、 S20'、S30'、S50'、S70'、S90'、S30、S50、S70、S90:操作
X、Y:轴
VL_1:第一虚拟总线线路
VL_2:虚拟总线线路
具体实施方式
这些及其他特征及优点将在以下各种示例性实施例的详细说明中予以阐述或通过以下各种示例性实施例的详细说明显而易见。
应理解,当称一元件位于另一元件“上”、“连接至”或“耦合至”另一元件时,所述元件可直接位于所述另一元件上、直接连接至或直接耦合至所述另一元件,抑或可存在中间元件。相反,当称一元件“直接”位于另一元件“上”、“直接连接至”或“直接耦合至”另一元件时,则不存在中间元件。本文中所用的术语“及/或”包括相关列出项中的一个或多个项的任意及所有组合。进一步,应理解,当称一层位于另一层“之下”时,所述层可直接位于所述另一层之下或也可存在一个或多个中间层。另外,也应理解,当称一层位于两个层“之间”时,所述层可为所述两个层之间的唯一层,或者也可存在一个或多个中间层。
图1是根据示例性实施例的包括存储有程序的存储器的计算系统100的方块图。在计算系统100中可执行根据示例性实施例的在集成电路的布局中对总线进行布线的操作。
计算系统100可为例如台式计算机、工作站、服务器等固定型计算系统或例如膝上型计算机等便携式计算系统。如图1所说明,计算系统100可包括中央处理器(centralprocessing unit,CPU)、输入/输出装置120、网络接口130、随机存取存储器(randomaccess memory,RAM)140、只读存储器(read only memory, ROM)150、存储装置160。中央处理器110、输入/输出装置120、网络接口130、随机存取存储器140、只读存储器150及存储装置160可与总线170连接并通过总线170相互通信。
中央处理器110可被称为处理单元,且可为例如包括内核的微处理器、应用进程(application process, AP)、数字信号处理器(digital signal processor,DSP),所述内核执行指令集(例如,英特尔架构-32(Intel Architecture-32,IA-32)、64位扩展的英特尔架构-32、x86-64、PowerPC、可扩充处理器架构(Scalable Processor ARChitecture,Sparc)、无互锁管线级的微处理器(Microprocessor without interlocked pipedstages,MIPS)、先进精简指令集计算机(Advanced RISC Machines,ARM)及英特尔架构-64)。举例来说,中央处理器 110可通过总线170来存取存储器(即,随机存取存储器140或只读存储器150)并执行在随机存取存储器140或只读存储器150中存储的指令。如图1所说明,随机存取存储器140可存储根据示例性实施例的程序200的全部或至少一部分。程序200可指示中央处理器110来执行对总线进行布线的操作。亦即,程序200可包括可由中央处理器110执行的多个指令,且程序200中所包括的所述多个指令可用于指示中央处理器110根据示例性实施例执行对总线进行布线的操作。
即使在计算系统100的电源中断时,存储装置160也可不丢失所存储的数据。举例来说,存储装置 160可包括例如以下非易失性存储器:电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪存储器、相变随机存取存储器(Phase Change Random Access Memory, PRAM)、电阻式随机存取存储器(Resistance Random Access Memory,RRAM)、纳米浮栅存储器(Nano Floating GateMemory,NFGM)、聚合物随机存取存储器(Polymer Random Access Memory,PoRAM)、磁性随机存取存储器(Magnetic Random Access Memory,MRAM)、铁电式随机存取存储器(Ferroelectric Random Access Memory,FRAM),或者例如磁带、光盘或磁盘等存储媒体。另外,存储装置160可能够从计算系统100分离。存储装置160可存储根据示例性实施例的程序200,且可在利用中央处理器110执行程序200之前将程序200的全部或至少一部分从存储装置160加载至随机存取存储器140。作为另外一种选择,存储装置160可存储以编程语言写入的文件,且可将利用编译器从所述文件产生的程序200的全部或至少一部分加载至随机存取存储器140。
存储装置160可存储将由中央处理器110处理的数据或已由中央处理器110处理的数据。亦即,中央处理器110可根据程序200通过对存储在存储装置160中的数据进行处理来产生数据,并将所产生的数据存储在存储装置160中。举例来说,存储装置160可存储根据程序200进行处理的图3所示输入数据 D100,或存储根据程序200产生的图3所示输出数据D900。
输入/输出装置120可包括例如键盘或定点装置(pointing device)等输入装置及例如显示装置及打印机等输出装置。举例来说,利用输入/输出装置120,用户可通过中央处理器110触发程序200的执行、输入图3所示输入数据D100或检查图3所示输出数据D900或错误消息。
网络接口130可提供对计算系统100的外部网络进行的存取。举例来说,网络接口130可包括多个计算系统及通信链路,且所述通信链路可包括有线链路、光学链路、无线链路或其他形式的链路。
图2是根据示例性实施例的集成电路3的示意性平面图。为便于说明,图2所示集成电路3中的元件的大小可不按比例,而是可被放大或缩小。
如图2所说明,集成电路3可包括第一功能块B01至第八功能块B08。功能块可指代处理数字信号的电路单元且可为例如处理器(例如,微处理器、图形处理器或数字信号处理器)、存储器(例如,动态随机存取存储器(dynamic RAM,DRAM)或静态随机存取存储器(static RAM,SRAM))或控制器(例如,直接存储器存取(Direct Memory Access,DMA)控制器或通用串行总线(Universal Serial Bus,USB) 控制器)。功能块B01至功能块B08中的每一个或至少一个可被设计成在集成电路3中执行所期望的或预定的泛函(functional)并如图2所说明的一样进行放置。
功能块B01至功能块B08可通过总线接收待处理数据或传送已处理数据。举例来说,如图2所说明,第一功能块B01与第八功能块B08可通过第一总线BUS_1相互通信,且第四功能块B04与第六功能块B06 可通过第二总线BUS_2相互通信。详细来说,第一总线BUS_1可连接至第一功能块B01中所包括的单元群组的每一引脚及第八功能块B08中所包括的单元群组的每一引脚或至少一个引脚。相似地,第二总线 BUS_2可连接至第四功能块B04中所包括的单元群组的每一引脚或至少一个引脚及第六功能块B06中所包括的单元群组的每一引脚或至少一个引脚。
随着集成电路3中所包括的功能块B01至功能块B08的性能提升,例如第一总线BUS_1及第二总线BUS_2等总线可被设计成具有大的带宽。举例来说,总线可具有先进高性能总线(Advanced High-performance bus,AHB)结构或片上网络(Network-on-Chip,NoC)结构,而此并无限制。总线的带宽可随着总线宽度(即,总线中所包括的连接的数目)增大及/或通过总线传送的信号的频率增大而增大。连接可指代信号从某一功能块中所包括的单元群组的引脚(信号从此处出发)到另一功能块中所包括的单元群组的引脚(信号到达此处)的路径。总线可包括多个连接,所述连接用于并列地传送与多个位对应的信号并传送时钟信号。随着集成电路3中所包括的功能块的数目及/或面积增大,在各功能块之间进行连接的总线的长度可更长。另外,随着经由总线传送的信号的频率增大,经由总线传送的信号更可能会失真。因此,总线可包括多个缓冲器以确保信号完整性,且所述缓冲器可串行连接以实现一个连接。
根据示例性实施例,在对总线进行布线的方法(所述方法可在图1所示计算系统1中执行)中,可通过放置基于总线的量化物理要求而产生的缓冲器阵列来对总线进行布线。亦即,并不是对总线中所包括的各连接进行单独地布线,而是可基于总线的量化物理要求来对总线中所包括的连接进行布线且可使用其中规则地排列有多个缓冲器的缓冲器阵列。举例来说,如图2所说明,第一总线BUS_1可包括五个缓冲器阵列及与缓冲器阵列连接的互连线,且第二总线BUS_2可包括三个缓冲器阵列及与缓冲器阵列连接的互连线。在本说明书中,对总线或连接进行的布线可指代利用布线资源确定集成电路(例如,图3所示集成电路3)的布局中的总线的物理结构的操作,且互连线可指代包括在配线层(例如,金属层)中形成的图案及/或通路的等电势结构(equipotential structure)。
为了满足通过连接(如稍后将参照图11阐述的一样)从起点移动到到达点的信号的时序要求(例如,延迟或抖动),若对总线中所包括的连接各别地进行布线且也各别地放置各连接中所包括的缓冲器,则可增大并列传送的信号的抖动,且此外,例如缓冲器、配线层及通路等布线资源可能会被浪费。根据以下将参照图式阐述的根据示例性实施例的对总线进行布线的方法,可利用缓冲器阵列对总线连接进行统一布线,且可减少总线布线中使用的布线资源。另外,可减少信号之间的串扰,从而提供更好的信号完整性。
图3是根据示例性实施例的图1所示程序200的方块图。如以上参照图1所阐述,程序200可包括多个指令,且程序200中所包括的所述多个指令可使中央处理器110根据示例性实施例执行对总线进行布线的操作。图3说明程序200以及输入数据D100及输出数据D900的示意性方块图。
参照图3,程序200可包括多个流程210、230、250、270及290。程序可指代用于执行所期望的或预定的任务的一系列指令。程序也可被称为泛函、例程、子例程或子程序。每一流程可处理其他流程的输入数据(例如,输入数据D100)或输出数据。在本说明书中,当阐述图1所示中央处理器110通过执行流程(例如,流程210、230、250、270及290中的一个流程)来执行操作时,也可理解为执行所述流程 (即流程210、230、250、270及290中的一个流程)以执行所述操作。
总线信息提取器210可从输入数据D100中提取总线信息,所述总线信息包括对于总线的物理要求。输入数据D100可包括关于在集成电路(例如,图3所示集成电路3)中对总线进行布线的信息。举例来说,输入数据D100可包括表示具有例如几何数据标准II(Geometry Data Standard II,GDSII)等格式的集成电路的布局的数据,且可包括至少一个总线列表文件,所述总线列表文件列出将增添至集成电路的总线的规范。另外,输入数据D100可包括由用户通过图1所示输入/输出装置120设定的信息。总线信息提取器210可通过从输入数据D100中提取对总线进行布线所需要的总线的物理要求来产生包括物理要求的总线信息。举例来说,总线的物理要求可包括关于总线的起点及到达点的信息及关于能够在其中放置总线的通道区域的通道区域信息。根据示例性实施例,总线信息提取器210可进一步从输入数据D100提取关于通过总线传送的信号的信息,例如信号的电压电平、频率以及上升时间及下降时间。如稍后将参照图4所阐述,对于对总线进行布线的要求可基于利用总线信息提取器210提取的总线信息来确定,且总线信息可为后续执行的用于执行总线布线操作的流程提供基础。
缓冲器阵列产生器230可基于利用总线信息提取器210而提取的总线信息来产生缓冲器阵列。缓冲器阵列可包括规则地排列的多个缓冲器。缓冲器阵列可包括与总线中所包括的连接的数目对应的数目的缓冲器,且所述缓冲器阵列中所包括的缓冲器的结构可相同或不同。另外,缓冲器在缓冲器阵列中的排列形式(即,缓冲器阵列的配置)可如图5A至图5C所示例子中所说明的一样为各种各样的。
缓冲器阵列中所包括的缓冲器的类型及/或缓冲器阵列的配置可基于总线信息预先设定,或可基于总线信息中所包括的物理要求利用缓冲器阵列产生器230来确定。举例来说,总线信息可包括定义缓冲器阵列中所包括的缓冲器的类型及缓冲器阵列配置的物理要求,且缓冲器阵列产生器230可基于关于两条或更多条总线的总线信息而产生在所述两条或更多条总线中的每一条或至少一条中所包括的缓冲器阵列。另外,缓冲器阵列产生器230可以不同的方式产生总线中所包括的两个或更多个缓冲器阵列。如稍后将阐述,当总线包括利用缓冲器阵列产生器230产生的缓冲器阵列时,可对总线连接统一进行布线,且还可减少不同的总线之间的串扰。
缓冲器阵列放置器250可将利用缓冲器阵列产生器230产生的至少一个缓冲器阵列放置于集成电路的布局中。亦即,缓冲器阵列放置器250可将利用缓冲器阵列产生器230产生的缓冲器阵列的实例(instance) 放置于集成电路的布局中。举例来说,缓冲器阵列放置器250可将缓冲器阵列放置成使得相邻的各缓冲器阵列之间的距离在总线中为均匀的,或者可将缓冲器阵列放置在总线的转折点处。另外,当缓冲器阵列产生器230针对一条总线产生两个或更多个不同的缓冲器阵列时,缓冲器阵列放置器250可根据放置缓冲器阵列的位置而放置不同的缓冲器阵列。举例来说,如图2所说明,在第一总线BUS_1中所包括的五个缓冲器阵列中,放置在总线的转折点处的三个缓冲器阵列可与其他两个缓冲器阵列不同。亦即,缓冲器阵列放置器250可根据与缓冲器阵列连接的互连线的方向来选择待放置的缓冲器阵列。
配线流程270可产生与利用缓冲器阵列放置器250放置的至少一个缓冲器阵列中所包括的缓冲器连接的互连线。互连线中所包括的供信号穿过的通路越多(即,信号穿过不同的配线层的次数越多),就可能会出现由互连线中增大的电阻造成的缺点(例如最大渡越时间违例(Maximum Transition Time Violation, MTTV)),且可浪费布线资源。利用缓冲器阵列放置器250放置的缓冲器阵列可被放置成使得在相邻的缓冲器阵列之间形成简单的互连线,且因此,配线流程270可产生具有更简单的结构的互连线(即,通路数目减少的互连线)。另外,利用总线信息提取器210提取的总线信息可包括限制布线资源以确保经由总线传送的信号的完整性的物理要求。举例来说,总线信息中所包括的物理要求可定义其中可形成有总线的互连线的配线层及可在总线的互连线中包括的通路。配线流程270可形成上述简单的互连线,且因此,可容易地满足限制布线资源的物理要求。
输出数据产生器290可产生包括关于缓冲器阵列的缓冲器及互连线的物理信息(physical information) 的输出数据D900。举例来说,输出数据D900可包括与在缓冲器阵列中所包括的缓冲器对应的标准单元的名称及缓冲器的坐标信息。作为另一例子,输出数据D900也可包括表示在缓冲器阵列中所包括的缓冲器的布局的信息及表示互连线的布局的信息。输出数据D900可用于通过半导体工艺来实作总线。举例来说,可基于输出数据D900来设计半导体工艺中所包括的子工艺,且可制造出将在子工艺中使用的掩模。
图4说明根据示例性实施例利用图3所示总线信息提取器210提取的总线信息D200。如以上参照图 4所阐述,总线信息D200可包括利用总线信息提取器210从输入数据D100提取的总线的物理要求。图4 所示总线信息D200仅为利用图1所示总线信息提取器210产生的总线信息的例子,且利用图1所示总线信息提取器210产生的总线信息可不包括图4中说明的物理要求中的某些物理要求或可进一步包括未在图 4中说明的物理要求。在图4中,为便于说明,说明了可在总线信息中包括的物理要求的例子及物理要求的值的形式,且省略了物理要求的实际值。
总线信息D200可包括关于至少一条总线的总线信息。举例来说,如图4所说明,总线信息D200可包括关于第一总线BUS_1及第二总线BUS_2的总线信息。关于第一总线BUS_1的总线信息及关于第二总线BUS_2的总线信息可包括相同的物理要求,且第一总线BUS_1及第二总线BUS_2的对应的物理要求可具有相同的值或不同的值。
参照图4,在关于第一总线BUS_1的总线信息中所包括的物理要求可包括要求群组G1及可选要求群组G2。要求群组G1中所包括的物理要求对于对总线进行布线来说是必需的,且可包括例如图4所说明的对于总线的起点及到达点的物理要求(例如,图4所示行11及行12)。对于起点及到达点的物理要求可包括例如起点及到达点的坐标信息及层信息。参照图4,对于起点及到达点的物理要求可包括经由总线进行连接的单元的引脚信息。若未在输入数据D100中定义要求群组G1中所包括的物理要求(即,若不基于输入数据D100来设定在要求群组G1中所包括的物理要求的值),则总线信息提取器210可能会经由图1等所示的输入/输出装置120输出错误消息。
在可选要求群组G2中所包括的物理要求可指代对于对总线进行布线而言并非必需的、而是用于定义布线条件的物理要求。举例来说,如图4所说明,可选要求群组G2可包括对于缓冲器类型、缓冲器的驱动强度、缓冲器阵列配置、缓冲器阵列中的时钟缓冲器的位置、各缓冲器阵列之间的距离及互连线的层的物理要求(即,图4所示行13至行18)。详细来说,对于缓冲器类型的物理要求(图4所示行13)可具有反相值或非反相值,且对于缓冲器的驱动强度的物理要求(图4所示行14)可具有表示关于由标准单元所提供输出信号的驱动强度的指标的值。对于缓冲器阵列配置的物理要求(图4所示的行15)可具有表示缓冲器阵列的行及列的数目的值,且对于时钟缓冲器的位置的物理要求(图4所示的行16)可具有表示缓冲器阵列的行号及列号(时钟缓冲器所处的位置)的值。对于各缓冲器阵列之间的距离的物理要求(图 4所示行17)可具有表示各缓冲器阵列之间的距离的值,且对于互连线的层的物理要求(图4所示的行18) 可具有表示可用于互连线的配线层的指标的值。
根据示例性实施例,图3所示总线信息提取器210可将可选要求群组G2所包括的物理要求中未在图3所示的输入数据D100中设定的物理要求设定为默认值。可选要求群组G2中所包括的物理要求的默认值可被预先设定并包括“忽略(don’t care)”值。举例来说,若未在输入数据D100中定义对于缓冲器类型的物理要求(图4所示的行13),则总线信息提取器210可将对于缓冲器类型的物理要求(图4所示的行13)的值设定为表示非反相值的值。另外,若未在输入数据D100中定义对于缓冲器阵列配置的物理要求(图4所示的行15),则总线信息提取器210可将对于缓冲器类型的物理要求(图4所示的行15) 的值设定为“忽略”。
如图4所说明,通过利用其中对于总线的物理要求已得到确定的总线信息D200,可产生缓冲器阵列,且可放置所产生的缓冲器阵列,并且可执行写入操作。当集成电路的设计者将在可选要求群组G2中所包括的物理要求中的至少一个物理要求输入于输入数据D100中时,设计者可获得根据图3所示程序200而自适应地进行布线的总线结构。
图5A至图5C示意性地说明根据示例性实施例利用图3所示缓冲器阵列产生器230产生的缓冲器阵列的例子。如以上参照图3所阐述,缓冲器阵列产生器230可基于利用总线信息提取器210产生的总线信息来产生缓冲器阵列。图5A至图5C分别说明缓冲器阵列的一部分,且将理解,利用缓冲器阵列产生器 230产生的缓冲器阵列可包括与图5A至图5C中的缓冲器不同数目的缓冲器或可包括与图5A至图5C中的缓冲器不同地放置的缓冲器。
缓冲器阵列产生器230可产生包括规则地放置的缓冲器的缓冲器阵列。举例来说,如图5A所说明,缓冲器阵列产生器230可产生其中相邻的缓冲器在X轴方向上及在Y轴方向上对齐的缓冲器阵列10a。另外,如图5B及图5C所说明,缓冲器阵列产生器230可产生其中相邻的缓冲器在Y轴方向上对齐的缓冲器阵列10b或缓冲器阵列10c。
利用缓冲器阵列产生器230产生的缓冲器阵列的缓冲器可具有不同的密度。举例来说,在图5A至图5C中的虚线内的相等的内侧区域的情形中,图5A所示缓冲器阵列10a及图5B所示缓冲器阵列10b可包括十六个缓冲器,且图5C所示缓冲器阵列10c可包括二十个缓冲器。缓冲器阵列中所包括的缓冲器的密度越低,则与缓冲器连接的各互联线之间的距离越大,且因此,可减小各互联线之间的串扰。因此,基于稍后将参照图9阐述的这些特性,缓冲器阵列产生器230可基于经由总线传送的信号的信号特性来确定缓冲器阵列的配置。
图6是根据示例性实施例的集成电路5的示意性平面图。详细来说,除了不包括总线外,图6所示集成电路5对应于图2所示集成电路。
如图6所说明,包括功能块B01至功能块B08的集成电路5可包括可供用于总线的子区(或通道子区)R01至子区R07。举例来说,子区R01至子区R07可对应于通过沿功能块B01至功能块B08的边缘对其中未放置功能块B01至功能块B08的区进行划分而获得的区。与两个或更多个功能块连接的总线可放置在包括子区R01至子区R07中的至少一个子区的区中。举例来说,当同时参照图2及图6时,图2所示第一总线BUS_1可放置在图6所示子区R02、R03、R04、R06及R07中,且图2所示第二总线BUS_2可放置在图6所示子区R03、R04、R05及R01中。另外,像其中放置有第一总线BUS_1及第二总线BUS_2 二者的子区R03及R04一样,在一个子区中可放置有两条或更多条总线。
图3所示总线信息提取器210可从输入数据D100提取关于其中可放置总线的子区(例如,图6所示子区R01至R07)的通道区信息,并产生包括所述通道区信息的总线信息。在下文中,如将参照图7至图9阐述,利用总线信息提取器210提取的通道区信息可由缓冲器阵列产生器230用于产生缓冲器阵列或由缓冲器阵列放置器250用于放置缓冲器阵列、抑或由写入流程270用于执行写入操作。
图7是根据示例性实施例排列的缓冲器阵列的示意图。如上所述,在一个子区中可放置两个或更多个缓冲器,且因此,在一个子区中可放置对应于不同的缓冲器的两个或更多个缓冲器阵列。在图7中,为便于说明,未说明与缓冲器阵列11至缓冲器阵列13连接的互连线,且所述互连线可分别与缓冲器阵列11 至缓冲器阵列13连接并平行于X轴方向延伸。
参照图7,功能块B11及功能块B12可包括在功能块B11及功能块B12的边缘处放置的端盖单元。因此,子区可为两个功能块B11与功能块B12的端盖单元之间的区。因此,如图7所说明,功能块B11 与功能块B12之间的距离可为端盖单元之间的距离D10,且距离D10可实质上等于子区的宽度。因此,在图7所示示例性实施例中,平行于X轴方向延伸的三条总线可处于距离D10内。
根据示例性实施例,图3所示缓冲器阵列放置器250可将缓冲器阵列11至缓冲器阵列13放置成使得与缓冲器阵列11至缓冲器阵列13连接的互连线之间的重叠区域减小。举例来说,如图7所说明,缓冲器阵列11至缓冲器阵列13可在与互连线的延伸方向(X轴方向)垂直的方向上(即,在Y轴方向上)尽可能远地相互间隔开。因此,两个缓冲器阵列11及缓冲器阵列13可分别靠近通道区与功能块B11及功能块B12之间的边界放置,且缓冲器阵列12可放置在通道区在Y轴方向上的中间部分周围。
图8A至图8B示意性地说明根据示例性实施例排列的所产生缓冲器阵列的例子。根据示例性实施例,缓冲器阵列产生器230可将缓冲器阵列21至缓冲器阵列23产生成使得与缓冲器阵列21至缓冲器阵列23 连接的互连线之间的重叠区域减小。为此,缓冲器阵列产生器230可基于关于子区的信息及子区中的总线的总线信息二者来产生总线中所包括的缓冲器阵列。
参照图8A,缓冲器阵列21至缓冲器阵列23可具有在Y轴方向上减小的长度,以使得平行于X轴方向延伸的互连线之间的重叠区域减小。亦即,与图7所说明的缓冲器阵列11至缓冲器阵列13相比,缓冲器阵列21至缓冲器阵列23可在X轴方向上具有更大的长度而在Y轴方向上具有更小的长度。举例来说,缓冲器阵列产生器230可基于以下信息来产生缓冲器阵列21至缓冲器阵列23:关于D20的信息,D20 是功能块B21的端盖单元与功能块B22的端盖单元之间的距离及子区的宽度二者;以及关于三条总线的信息,例如,关于在每一总线中所包括的连接的数目的信息。
相似地,当参照图8B时,缓冲器阵列31至缓冲器阵列33可具有在X轴方向上减小的长度,以使得平行于Y轴方向延伸的互连线之间的重叠区域减小。亦即,与图7所示缓冲器阵列11至缓冲器阵列13 相比,图8B所示缓冲器阵列31至缓冲器阵列33可在Y轴方向上具有更大的长度而在X轴方向上具有更小的长度。举例来说,缓冲器阵列产生器230可基于以下信息来产生缓冲器阵列31至缓冲器阵列33:关于D30的信息,D30是功能块B31的端盖单元与功能块B32的端盖单元之间的距离及子区的宽度二者;以及关于三条总线的信息,例如,关于在每一总线中所包括的连接的数目的信息。
图9是根据示例性实施例放置的缓冲器阵列的示意图。
根据示例性实施例,每一总线可具有优先权,且利用图3所示总线信息提取器210产生的总线信息可包括总线的优先权信息。举例来说,在由总线信息提取器210从输入数据D100提取的图3所示输入数据D100中可定义总线的优先权,或者总线信息提取器210可基于输入数据D100来确定总线的优先权。如以上参照图3所阐述,输入数据D100可包括关于通过总线传送的信号的信息,且总线信息提取器210 可基于关于信号的信息来确定总线的优先权。举例来说,总线信息提取器210可为用于传送相对高频率的信号的总线设定比用于传送相对低频率的信号的总线高的优先权。图3所示缓冲器阵列产生器230及缓冲器阵列放置器250可基于总线信息中所包括的总线的优先权来产生或放置缓冲器阵列。
参照图9,在具有宽度D40的子区中可存在平行于X轴延伸且包括相同数目的连接的两条总线。在图9所示示例性实施例中,这两条总线可具有不同的优先权,且包括缓冲器阵列41的总线可具有比包括缓冲器阵列42的总线高的优先权。具有相对高的优先权的总线可用于例如传送具有相对高的频率及/或相对低的电压电平的信号(所述信号更有可能因互连线之间的串扰而失真)。为了避免信号失真,可增大分别与用于传送具有相对高的频率或相对低的电压电平的信号的总线的连接对应的互连线之间的距离。因此,具有相对高的优先权的总线可具有相对大的宽度。
根据示例性实施例,图3所示缓冲器阵列产生器230可将缓冲器阵列产生成使得具有相对高的优先权的总线具有相对大的宽度。亦即,缓冲器阵列产生器230可将缓冲器阵列产生成使得在具有相对高的优先权的总线中所包括的互连线之间的距离相对大。举例来说,如图9所说明,缓冲器阵列41被包括于具有比其中包括缓冲器阵列42的总线高的优先权的总线中,且缓冲器阵列41在Y轴方向上的长度可大于缓冲器阵列42在Y轴方向上的长度。因此,与缓冲器阵列41连接的各互连线可比与缓冲器阵列42连接的互连线相互间隔开更大的距离。
图10A及图10B示意性地说明所布线总线的例子。详细来说,图10A说明其中对在总线中所包括的连接各别地进行布线的总线,且图10B说明根据示例性实施例的通过基于总线的量化物理要求放置缓冲器阵列来进行布线的总线。
参照图10A,为了对在图10A的左侧平面图中说明的左下端处的引脚与右上端处的引脚进行连接,可如图10A的右侧平面图所说明对总线中所包括的多个连接各别地进行布线。因此,如在图10A的右侧平面图中所说明,可能无法统一对一条总线中所包括的各连接进行布线,因而会增大经由所述总线传送的信号的抖动。另外,随着分别与各连接对应的互连线相互重叠(或相互交叉)的点的数目增大,可能会造成信号失真,且此外,可能会浪费布线资源。
参照图10B,如图10B的左侧平面图所说明,基于利用总线信息提取器210提取的总线信息,可利用缓冲器阵列放置器250放置利用缓冲器阵列产生器230产生的多个缓冲器阵列51至缓冲器阵列55。在图10B所说明的示例性实施例中,缓冲器阵列51至缓冲器阵列53可彼此相同。
根据示例性实施例,缓冲器阵列放置器250可以均匀的距离放置缓冲器阵列。举例来说,如图10B 的左侧平面图所说明,相邻的缓冲器阵列51与缓冲器阵列52之间在X轴方向上的距离D51可等于相邻的缓冲器阵列52与缓冲器阵列53之间在X轴方向上的距离D52。相似地,相邻的缓冲器阵列51与缓冲器阵列54之间在Y轴方向上的距离D53可等于相邻的缓冲器阵列54与缓冲器阵列55之间在Y轴方向上的距离D54。图3所示配线流程270可通过产生与在缓冲器阵列51至缓冲器阵列55中所包括的缓冲器连接的互连线而形成总线。
如图10B的右侧平面图所说明,与在总线中所包括的所述多个连接分别对应的互连线可分别在Y轴方向及X轴方向上均匀地延伸。因此,可减少经由总线传送的信号的抖动,且随着互连线相互交叉的点的数目减少,可高效地利用布线资源。
图11是根据示例性实施例的程序200'的方块图。图12是集成电路5'的示意性平面图,其中说明了根据示例性实施例的图11所示程序200'中所包括的虚拟布线器220'的运行。像图1及图3所示程序200 一样,图11所示程序200'可存储在存储器(例如,图1所示随机存取存储器140)中且通过中央处理器 110来执行。与图3所示程序200相比,图11所示程序200'可进一步包括虚拟布线器220'。图11所示程序200'中所包括的流程可执行与图3所示程序200中所包括的对应流程相同或相似的操作。
参照图11,根据示例性实施例,虚拟布线器220'可产生虚拟总线线路。举例来说,总线信息提取器 210'可基于由总线信息提取器210'从输入数据D100'提取的总线信息来产生对总线的起点与到达点进行连接的虚拟总线线路。虚拟总线线路可用于指明缓冲器阵列及互连线的放置位置。举例来说,如图12所说明,虚拟布线器220'可产生对功能块B01中所包括的单元群组与功能块B08的单元群组进行连接的第一虚拟总线线路VL_1。另外,虚拟布线器220'可产生对功能块B04中所包括的单元群组与功能块B06中所包括的单元群组进行连接的虚拟总线线路VL_2。
根据示例性实施例,虚拟布线器220'可将虚拟总线线路产生成使得各总线之间的重叠区域最小化。举例来说,虚拟布线器220'可基于每一总线中所包括的连接的数目来计算每一总线的宽度,并基于所计算宽度来产生虚拟总线线路。虚拟总线线路可具有总线的所计算宽度,或者可产生与总线的中心线对应的虚拟总线线路。
基于利用虚拟布线器220'产生的虚拟总线线路,缓冲器阵列产生器230'可产生缓冲器阵列,且缓冲器阵列放置器250'可放置缓冲器阵列。举例来说,缓冲器阵列产生器230'可基于包括缓冲器阵列的总线的虚拟总线线路及放置在子区中的另一虚拟总线线路来产生缓冲器阵列。亦即,缓冲器阵列产生器230'可基于与两条或更多条总线对应的虚拟总线线路来识别放置在子区中的总线,并如以上例如参照图7至图9所阐述在放置有多条总线的子区中产生分别在所述多条总线中所包括的缓冲器阵列。另外,缓冲器阵列放置器250'可将缓冲器阵列放置在虚拟总线线路上。举例来说,如以上参照图10B所阐述,缓冲器阵列放置器 250'可将缓冲器阵列放置在虚拟总线线路的转折点处,或将一系列缓冲器阵列以相等的距离放置在X轴方向上或Y轴方向上。
图13A及图13B是示出在根据示例性实施例对总线进行布线时所使用的布线资源的曲线图。详细来说,图13A说明分别在用于形成总线的配线层L11至配线层L18中形成的图案的平均长度,且图13B说明在不同的水平高度处形成的用于形成总线的通路V11至通路V17的平均数目的比率。
参照图13A,图13A所示曲线图表明,根据示例性实施例的通过产生缓冲器阵列进行布线的总线具有比其中对总线中所包括的各连接各别地进行布线的总线短的图案长度。亦即,根据示例性实施例进行布线的总线可具有减小的长度,且因此,不仅对总线中所包括的连接进行了统一布线,而且也可减小经由总线传送的信号的延迟。另外,随着图案的长度缩短,也可减少信号通过图案而受到串扰影响的区段。
参照图13B,通过产生根据示例性实施例的缓冲器阵列来进行布线的总线所包括的通路数目减小。然而,在多个不同的水平高度处的通路中,可在某些水平高度处使用相对较多数目的通路。亦即,图13B 所示曲线图表明:尽管在其中对连接各别地进行布线的总线中均匀地使用不同水平高度处的多个通路,然而在根据示例性实施例进行布线的总线中,会相对更频繁地使用不同的水平高度中的某些水平高度处的通路(例如,图13B所示通路V11至通路V14)。参照图13B所示曲线图,显然,当多条互连线相互重叠时,使用多个不同的水平高度处的通路,且因此在根据示例性实施例进行布线的总线中,在与所述总线中所包括的连接对应的各互连线之间或在不同总线的各互连线之间的重叠区域会减小。亦即,经由根据示例性实施例进行布线的总线传送的各信号之间的串扰及通路电阻可减小。
图14是说明根据示例性实施例对总线进行布线的方法的流程图。举例来说,当图1所示计算系统 100的中央处理器110执行图3所示程序200时,可执行图14所示总线布线方法。如图14所说明,总线布线方法可包括多个操作S10、S30、S50、S70及S90,且以下也将参照图3加以阐述。
参照图14,在操作S10中,可执行从输入数据D10c提取总线信息的操作。举例来说,如上所述,输入数据D10c可包括关于在集成电路中对总线进行布线的信息,且总线信息提取器210可从输入数据 D10c中提取包括对于总线的物理要求的总线信息。物理要求可包括例如关于总线的起点及到达点的信息,关于通道区(即,关于可放置总线的区域)的通道区信息,或关于经由所述总线传送的信号的信息。可基于利用总线信息提取器210提取的总线信息来确定对总线进行布线的优选项(preference),且总线信息可为方法的后续操作提供基础。
在操作S30中,可执行产生其中在总线中所包括的缓冲器规则地排列的缓冲器阵列的操作。举例来说,缓冲器阵列产生器230可基于利用总线信息提取器210提取的总线信息来产生其中缓冲器规则地间隔开的缓冲器阵列。缓冲器阵列可包括与在总线中所包括的连接的数目相同数目的缓冲器,且在缓冲器阵列中所包括的缓冲器的类型及/或缓冲器阵列的配置可基于总线信息来预先设定,或可利用缓冲器阵列产生器 230基于在总线信息中所包括的物理要求来确定。另外,在总线中所包括的各缓冲器阵列可为不同的或相同的。
在操作S50中,可执行放置至少一个缓冲器阵列的操作。举例来说,缓冲器阵列放置器250可将利用缓冲器阵列产生器230产生的至少一个缓冲器阵列放置在集成电路的布局中。缓冲器阵列可放置在总线的转折点处并被放置成使得相邻的缓冲器阵列以均匀地距离排列。另外,缓冲器阵列可通过考虑其他总线的缓冲器阵列来放置并被放置成使得与其他总线的重叠区域最小化。
在操作S70中,可执行产生连接至缓冲器阵列的缓冲器的互连线的操作。举例来说,配线流程270 可产生连接至在利用缓冲器阵列放置器250放置的至少一个缓冲器阵列中所包括的缓冲器的互连线。如以上参照图13A及图13B所阐述,根据示例性实施例产生的互连线可包括长度缩短且通路数目减小的图案。
在操作S90中,可执行产生包括关于缓冲器及互连线的物理信息的输出数据D90的操作。举例来说,输出数据D90可包括与缓冲器对应的标准单元的名称及缓冲器的坐标信息以及表示缓冲器布局及互连线布局的信息。输出数据D90可用于在半导体工艺中实作总线。
图15及图16是根据示例性实施例的图14所示操作S10的示例性操作S10a及示例性操作S10b的流程图。如以上参照图14所阐述,在操作S10中,可执行从输入数据D10c提取总线信息的操作。根据示例性实施例,可利用图3所示总线信息提取器210执行图15及图16中说明的操作。
参照图15,在操作S11a中,可执行接收输入数据D10a的操作。举例来说,图1所示存储装置160 可存储输入数据D10a,且总线信息提取器210可将存储装置160中所存储的输入数据D10a加载至随机存取存储器140。也可通过图1所示输入/输出装置120或网络接口130接收输入数据10a,且总线信息提取器210可将所接收的输入数据D10a加载至随机存取存储器140。
在操作S12a中,可执行从输入数据D10a提取总线的物理要求的操作。如以上参照图4所阐述,物理要求可包括要求群组G1及可选要求群组G2。可对要求群组G1及可选要求群组G2中所包括的物理要求的列表进行预定义,且总线信息提取器210可基于预定义的物理要求的列表来从输入数据D10a提取物理要求,并设定物理要求的值。
在操作S13a中,可执行判断是否存在未设定物理要求的操作。亦即,可判断是否存在未基于输入数据D10a进行设定的物理要求。若不存在未设定的物理要求,则可在操作S17a中执行产生包括物理要求的总线信息的操作。另一方面,若存在未设定的物理要求,则在操作S14a中,可执行判断在可选要求群组 (例如,图4所示可选要求群组G2)中是否包括未设定的物理要求的操作。
在操作S14a中,当确定在可选要求群组中不包括未设定的物理要求时,在操作S15a中可执行输出包括未设定的物理要求的错误信息(error message)的操作。亦即,如果未从输入数据10a设定要求群组中所包括的物理要求,则可不执行后续操作(例如,图14所示操作S30、S50、S70及S90),且因此,总线信息提取器210可例如通过图1所示输入/输出装置120输出错误信息。
当在操作S14a中确定在可选要求群组中包括未设定的物理要求时,则在操作S16a中,可执行基于默认数据D11将未设定的物理要求设定成默认值的操作。如以上参照图4所阐述,可预先准备用于定义物理要求的默认值的默认数据D11,且基于默认数据D11,总线信息提取器210可将在可选要求群组中包括的且未设定的物理要求设定成默认值。接下来,在操作S17a中,可执行产生包括物理要求的总线信息的操作,且总线信息可包括被设定成默认值的物理要求。
参照图16,在操作S11b中,可执行接收输入数据D10b的操作。接下来,在操作S12b中,可执行提取关于经由总线传送的信号的信息的操作。举例来说,输入数据D10b可包括关于经由总线传送的信号的信息,例如信号的电压电平、频率及上升时间及下降时间。总线信息提取器210可从输入数据D10b提取关于信号的信息。
在操作S13b中,可基于关于信号的信息来执行确定总线的优先权的操作。总线的优先权可指代总线针对其他总线的重要性。亦即,基于关于信号的信息,总线信息提取器210可确定总线的优先权。因此,可将在传送信号时更有可能使信号失真的总线确定成具有更高的优先权。另外,可将用于传送具有相对高的频率或相对低的电压电平的信号的总线确定成具有相对高的优先权。
在操作S14b中,可执行产生包括优先权信息的总线信息的操作。如以上参照图9所阐述,在总线信息中所包括的优先权信息可例如由图3所示缓冲器阵列产生器230用于产生缓冲器阵列。可将在具有相对高的优先权的缓冲器中所包括的缓冲器阵列产生成使得与连接对应的互连线以相对大的距离排列。
图17是根据示例性实施例对总线进行布线的方法的流程图。举例来说,当图1所示计算系统100的中央处理器110执行图11所示程序200'时,可执行图17所示总线布线方法。如图17中所说明,总线布线方法可包括多个操作S10'、S20'、S30'、S50'、S70'及S90',且以下也将参照图11加以阐述。
与图14所示总线布线方法相比,图17所示总线布线方法可进一步包括操作S20'。亦即,在其中从输入数据D10'提取总线信息的操作S10'之后,在操作S20'中,可执行对总线的起点与到达点进行连接的虚拟总线线路的操作。如以上参照图11及图12所阐述,虚拟总线线路可指明缓冲器阵列及互连线的放置位置。举例来说,图11所示虚拟布线器220'可基于关于多条总线的总线信息来产生对总线的起点与到达点进行连接的虚拟总线线路。虚拟布线器220'可基于总线信息来产生虚拟总线线路以使得各总线之间的重叠区域最小化。举例来说,虚拟总线线路可具有基于在总线中所包括的连接的数目而利用虚拟布线器220'计算的总线的宽度,且虚拟布线器220'可基于虚拟总线线路的宽度来放置虚拟总线线路。
在操作S30'中,可基于总线信息及虚拟总线线路来执行产生其中在总线中所包括的缓冲器规则地排列的缓冲器阵列的操作,且在操作S50'中,可基于总线信息及虚拟总线线路来执行放置至少一个缓冲器阵列的操作。接下来,在操作S70'中,可基于总线信息及虚拟总线线路来执行产生连接至缓冲器阵列的缓冲器的互连线的操作,且在操作S90'中,可执行产生包括关于缓冲器及互连线的物理信息的输出数据D90' 的操作。
尽管已参照本发明概念的示例性实施例并使用具体术语特别示出并阐述了本发明概念,然而提供这些示例性实施例是为了使本公开内容将充分传达本发明概念,而并非出于限制目的。因此,对所属领域的普通技术人员将显而易见,可在本文中作出各种变化及其他等效形式。因此,本发明概念的范围并非由本详细说明界定,而是由随附权利要求书界定。
Claims (25)
1.一种用于在集成电路的布局中对包括缓冲器的总线进行布线的计算系统,其特征在于,所述计算系统包括:
存储器,被配置成存储信息,所述信息包括程序流程;以及
处理单元,被配置成存取所述存储器并执行所述程序流程,
所述程序流程包括:
总线信息提取器,被配置成从输入数据中提取总线信息,所述总线信息包括对于所述总线的物理要求;
缓冲器阵列产生器,被配置成基于所述总线信息来产生缓冲器阵列,在所述缓冲器阵列中,所述总线中所包括的各缓冲器规则地间隔开;
缓冲器阵列放置器,被配置成基于所述总线信息来将至少一个缓冲器阵列放置于所述集成电路的所述布局中;以及
配线流程,被配置成基于所述总线信息来产生与所述至少一个缓冲器阵列中所包括的缓冲器的互连线。
2.根据权利要求1所述的计算系统,其特征在于,
所述物理要求包括要求群组及可选要求群组,且
所述总线信息提取器被配置成通过将所述可选要求群组中所包括的物理要求中未在所述输入数据中设定的物理要求设定成默认值来提取所述总线信息。
3.根据权利要求2所述的计算系统,其特征在于,
所述要求群组包括对于所述总线的起点及到达点的物理要求,且
所述可选要求群组包括所述缓冲器的类型、所述缓冲器阵列的配置、所述缓冲器阵列中的时钟缓冲器的位置及各缓冲器阵列之间的距离中的至少一个。
4.根据权利要求3所述的计算系统,其特征在于,
所述程序流程进一步包括虚拟布线器,所述虚拟布线器被配置成基于对于所述总线的所述起点及所述到达点的所述物理要求来产生对所述起点与所述到达点进行连接的虚拟总线线路,且
所述缓冲器阵列产生器被配置成基于所述虚拟总线线路来放置所述至少一个缓冲器阵列。
5.根据权利要求1所述的计算系统,其特征在于,
所述总线信息包括:
关于可供用于所述总线的子区的通道区信息;以及
分别关于所述第一总线及所述第二总线的第一总线信息及第二总线信息,所述第一总线及所述第二总线处于所述子区中的至少一个子区中,且
所述缓冲器阵列产生器被配置成基于所述通道区信息以及所述第一总线信息及所述第二总线信息来产生第一缓冲器阵列及第二缓冲器阵列,所述第一总线中所包括的缓冲器位于所述第一缓冲器阵列中,且所述第二总线中所包括的缓冲器位于所述第二缓冲器阵列中。
6.根据权利要求5所述的计算系统,其特征在于,所述缓冲器阵列产生器被配置成将所述第一缓冲器阵列的配置及所述第二缓冲器阵列的配置确定成使得与所述第一缓冲器阵列中所包括的缓冲器连接的第一互连线和与所述第二缓冲器阵列中所包括的缓冲器连接的第二互连线之间在所述至少一个子区中的重叠区域最小化。
7.根据权利要求5所述的计算系统,其特征在于,所述缓冲器阵列放置器被配置成将所述第一缓冲器阵列及所述第二缓冲器阵列放置成使得与所述第一缓冲器阵列中所包括的缓冲器连接的第一互连线和与所述第二缓冲器阵列中所包括的缓冲器连接的第二互连线之间在所述至少一个子区中的重叠区域最小化。
8.根据权利要求5所述的计算系统,其特征在于,
所述第一总线信息及所述第二总线信息分别包括所述第一总线的优先权信息及所述第二总线的优先权信息,且
所述缓冲器阵列产生器被配置成基于所述第一总线信息及所述第二总线信息来将所述第一缓冲器阵列的配置及所述第二缓冲器阵列的配置确定成使得在优先权高于所述第二总线的第一总线中所包括的互连线之间的距离大于在所述第二总线中所包括的互连线之间的距离。
9.根据权利要求8所述的计算系统,其特征在于,
所述输入数据包括关于经由所述第一总线及所述第二总线传送的信号的信息,且
所述总线信息提取器被配置成基于关于信号的所述信息来产生所述第一总线及所述第二总线的优先权信息。
10.根据权利要求1所述的计算系统,其特征在于,所述缓冲器阵列放置器被配置成将两个或更多个缓冲器阵列放置成使得相邻的缓冲器阵列相互间隔开所期望的距离。
11.根据权利要求1所述的计算系统,其特征在于,所述缓冲器阵列放置器被配置成将缓冲器阵列放置在所述总线的转折点处。
12.根据权利要求1所述的计算系统,其特征在于,
所述总线信息提取器被配置成从所述输入数据提取对于布线资源的物理要求,且
所述配线流程被配置成从受到对于所述布线资源的所述物理要求限制的层来产生所述互连线。
13.根据权利要求1所述的计算系统,其特征在于,每一所述缓冲器阵列中所包括的缓冲器的数目等于所述总线的连接的数目。
14.根据权利要求1所述的计算系统,其特征在于,所述程序流程进一步包括:
输出数据产生器,被配置成产生输出数据,所述输出数据包括关于所述缓冲器阵列的所述缓冲器及所述互连线的物理信息。
15.一种在集成电路的布局中对包括缓冲器的总线进行布线的方法,其特征在于,所述方法是在计算系统上执行且包括:
从输入数据中提取总线信息,所述总线信息包括对于所述总线的物理要求;
基于所述总线信息来产生缓冲器阵列,在所述缓冲器阵列中,所述总线中所包括的各缓冲器规则地排列;
基于所述总线信息来将至少一个缓冲器阵列放置于所述集成电路的所述布局中;以及
基于所述总线信息来产生与所述至少一个缓冲器阵列中所包括的缓冲器连接的互连线。
16.根据权利要求15所述的方法,其特征在于,
所述物理要求包括要求群组及可选要求群组,且
所述提取总线信息包括:
从所述输入数据提取所述总线的物理要求;
判断所述总线的所述物理要求中是否有未设定的物理要求包括在所述可选要求群组中;
将所述未设定的物理要求设定成默认值;以及
产生包括被设定成所述默认值的所述物理要求的总线信息。
17.根据权利要求15所述的方法,其特征在于,
所述总线信息包括分别关于所述第一总线的第一总线信息及关于所述第二总线的第二总线信息,且
所述提取所述总线信息包括:
提取关于经由所述第一总线及所述第二总线传送的信号的信息;
基于关于信号的所述信息来确定所述第一总线的优先权及所述第二总线的优先权;以及
产生分别包括所述第一总线的所述优先权及所述第二总线的所述优先权的所述第一总线信息及所述第二总线信息。
18.根据权利要求15所述的方法,其特征在于,进一步包括:
基于对于所述总线的起点及到达点的物理要求来产生对所述总线的所述起点与所述到达点进行连接的虚拟总线线路,
其中所述产生所述缓冲器阵列包括基于所述虚拟总线线路来产生所述至少一个缓冲器阵列。
19.根据权利要求15所述的方法,其特征在于,
所述总线信息包括分别关于第一总线及第二总线的第一总线信息及第二总线信息,且
所述产生所述缓冲器阵列包括将所述第一缓冲器阵列的配置及所述第二缓冲器阵列的配置确定成使得与所述第一总线的所述第一缓冲器阵列中所包括的缓冲器连接的第一互连线和与所述第二总线的所述第二缓冲器阵列中所包括的缓冲器连接的第二互连线之间的重叠区域最小化。
20.根据权利要求15所述的方法,其特征在于,
所述总线信息包括分别关于第一总线及第二总线的第一总线信息及第二总线信息,且
所述放置所述缓冲器阵列包括将所述第一缓冲器阵列及所述第二缓冲器阵列放置成使得与所述第一总线的所述第一缓冲器阵列中所包括的缓冲器连接的第一互连线和与所述第二总线的所述第二缓冲器阵列中所包括的缓冲器连接的第二互连线之间的重叠区域最小化。
21.一种集成电路中的布线系统,所述布线系统包括:
至少一条总线,具有物理要求且包括多个缓冲器阵列,所述多个缓冲器阵列中的每一个包括多个缓冲器;以及
多个功能块,通过所述至少一条总线而相互连接,所述多个功能块中的每一个被配置成通过所述至少一条总线接收待处理数据或传送已处理数据;
所述多个缓冲器阵列中的每一个缓冲器阵列中所包括的所述多个缓冲器基于所述物理要求而规则地间隔开;且
在所述多个缓冲器阵列中的每一缓冲器阵列中,所述多个缓冲器基于所述物理要求进行互连。
22.根据权利要求21所述的布线系统,其特征在于,所述物理要求包括以下中的至少一个:
关于所述至少一条总线的起点及到达点的信息;
关于能够在其中放置所述至少一条总线的通道区域的通道区域信息;
所述缓冲器阵列中所包括的缓冲器的类型;
所述缓冲器阵列的配置;
包括所述至少一条总线的互连线的配线层;
所述互连线中所包括的通路;
所述缓冲器阵列中的时钟缓冲器的位置;以及
各缓冲器阵列之间的距离。
23.根据权利要求21所述的布线系统,其特征在于,所述多个功能块中的至少一个功能块包括:
存储器,被配置成存储信息,所述信息包括程序流程;以及
处理单元,被配置成存取所述存储器并执行所述程序流程。
24.根据权利要求21所述的布线系统,其特征在于,所述多个缓冲器阵列中的至少一个放置在所述至少一条总线的转折点处。
25.根据权利要求21所述的布线系统,其特征在于,与第一缓冲器阵列中所包括的缓冲器连接的第一互连线和与第二缓冲器阵列中所包括的缓冲器连接的第二互连线之间的重叠区域被最小化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0136576 | 2016-10-20 | ||
KR1020160136576A KR20180043626A (ko) | 2016-10-20 | 2016-10-20 | 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107967228A true CN107967228A (zh) | 2018-04-27 |
CN107967228B CN107967228B (zh) | 2023-06-13 |
Family
ID=61971498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710666896.0A Active CN107967228B (zh) | 2016-10-20 | 2017-08-07 | 用于对总线进行布线的计算系统及方法以及布线系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10579554B2 (zh) |
KR (1) | KR20180043626A (zh) |
CN (1) | CN107967228B (zh) |
TW (1) | TWI751189B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181878A (zh) * | 2020-08-28 | 2021-01-05 | 珠海欧比特宇航科技股份有限公司 | RapidIO接口架构和数据处理方法 |
CN115918287A (zh) * | 2020-08-27 | 2023-04-04 | 高通股份有限公司 | 具有减小的占用面积的sram存储器架构 |
CN117454832A (zh) * | 2023-10-10 | 2024-01-26 | 北京市合芯数字科技有限公司 | 电路芯片中数据通道的布线方法、装置、设备及介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180043626A (ko) * | 2016-10-20 | 2018-04-30 | 삼성전자주식회사 | 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법 |
US11151298B1 (en) * | 2019-11-21 | 2021-10-19 | Xilinx, Inc. | Metal track routing with buffer bank insertion |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102667752A (zh) * | 2009-10-21 | 2012-09-12 | 美光科技公司 | 具有内部处理器的存储器及存储器中的数据通信方法 |
US20150026431A1 (en) * | 2001-03-05 | 2015-01-22 | Pact Xpp Technologies Ag | Method of Processing Data with an Array of Data Processors According to Application ID |
CN105960669A (zh) * | 2014-02-05 | 2016-09-21 | 寇平公司 | 用于微型显示设备的列总线驱动方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2882359B2 (ja) | 1996-04-27 | 1999-04-12 | 日本電気株式会社 | レイアウト設計装置 |
US6069490A (en) | 1997-12-02 | 2000-05-30 | Xilinx, Inc. | Routing architecture using a direct connect routing mesh |
US6678645B1 (en) | 1999-10-28 | 2004-01-13 | Advantest Corp. | Method and apparatus for SoC design validation |
US7356639B2 (en) * | 2000-01-05 | 2008-04-08 | Rambus Inc. | Configurable width buffered module having a bypass circuit |
ATE504446T1 (de) * | 2002-12-02 | 2011-04-15 | Silverbrook Res Pty Ltd | Totdüsenausgleich |
JP2006146601A (ja) | 2004-11-19 | 2006-06-08 | Oki Electric Ind Co Ltd | 半導体集積回路のレイアウト設計方法 |
US9213680B2 (en) * | 2005-01-14 | 2015-12-15 | International Business Machines Corporation | Method and structure for fast in-place transformation of standard full and packed matrix data formats |
US8644305B2 (en) | 2007-01-22 | 2014-02-04 | Synopsys Inc. | Method and system for modeling a bus for a system design incorporating one or more programmable processors |
US7844630B2 (en) * | 2007-09-01 | 2010-11-30 | International Business Machines Corporation | Method and structure for fast in-place transformation of standard full and packed matrix data formats |
US8060849B2 (en) | 2008-02-26 | 2011-11-15 | Mentor Graphics Corporation | Automatic bus routing |
US7796446B2 (en) * | 2008-09-19 | 2010-09-14 | Qimonda Ag | Memory dies for flexible use and method for configuring memory dies |
JP5347482B2 (ja) | 2008-12-18 | 2013-11-20 | 富士通セミコンダクター株式会社 | 性能評価装置、性能評価方法及びシミュレーションプログラム |
US8146039B2 (en) * | 2008-12-19 | 2012-03-27 | Freescale Semiconductor, Inc. | Optimal distance based buffer tree for data path and clock |
TW201310241A (zh) | 2011-08-25 | 2013-03-01 | Nat Univ Tsing Hua | 全匯流排之交易層級模擬方法以快速與精確的爭用分析 |
KR20130125036A (ko) | 2012-05-08 | 2013-11-18 | 삼성전자주식회사 | 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
JP5814867B2 (ja) | 2012-06-27 | 2015-11-17 | 株式会社東芝 | 半導体記憶装置 |
US9449137B2 (en) | 2012-09-17 | 2016-09-20 | Texas Instruments Incorporated | Buffered conduits for high throughput channel implementation, crosstalk de-sensitization and late timing fixes on skew sensitive buses |
TW201603027A (zh) * | 2013-09-09 | 2016-01-16 | Toshiba Kk | 半導體記憶裝置、記憶體系統、及資料寫入方法 |
US9312837B2 (en) | 2014-08-05 | 2016-04-12 | Apple Inc. | Dynamic margin tuning for controlling custom circuits and memories |
KR102187640B1 (ko) | 2014-10-22 | 2020-12-08 | 삼성전자주식회사 | 타이밍 분석기의 타이밍 정합 방법 및 그것을 이용한 집적회로 설계 방법 |
KR20180043626A (ko) * | 2016-10-20 | 2018-04-30 | 삼성전자주식회사 | 버퍼를 포함하는 버스를 라우팅하기 위한 시스템 및 방법 |
-
2016
- 2016-10-20 KR KR1020160136576A patent/KR20180043626A/ko not_active Application Discontinuation
-
2017
- 2017-06-08 US US15/617,117 patent/US10579554B2/en active Active
- 2017-08-07 CN CN201710666896.0A patent/CN107967228B/zh active Active
- 2017-08-29 TW TW106129230A patent/TWI751189B/zh active
-
2020
- 2020-01-30 US US16/776,755 patent/US11138136B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150026431A1 (en) * | 2001-03-05 | 2015-01-22 | Pact Xpp Technologies Ag | Method of Processing Data with an Array of Data Processors According to Application ID |
CN102667752A (zh) * | 2009-10-21 | 2012-09-12 | 美光科技公司 | 具有内部处理器的存储器及存储器中的数据通信方法 |
CN105960669A (zh) * | 2014-02-05 | 2016-09-21 | 寇平公司 | 用于微型显示设备的列总线驱动方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115918287A (zh) * | 2020-08-27 | 2023-04-04 | 高通股份有限公司 | 具有减小的占用面积的sram存储器架构 |
CN115918287B (zh) * | 2020-08-27 | 2023-09-08 | 高通股份有限公司 | 具有减小的占用面积的sram存储器架构 |
CN112181878A (zh) * | 2020-08-28 | 2021-01-05 | 珠海欧比特宇航科技股份有限公司 | RapidIO接口架构和数据处理方法 |
CN117454832A (zh) * | 2023-10-10 | 2024-01-26 | 北京市合芯数字科技有限公司 | 电路芯片中数据通道的布线方法、装置、设备及介质 |
CN117454832B (zh) * | 2023-10-10 | 2024-06-11 | 北京市合芯数字科技有限公司 | 电路芯片中数据通道的布线方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
TW201816641A (zh) | 2018-05-01 |
US11138136B2 (en) | 2021-10-05 |
US20180113820A1 (en) | 2018-04-26 |
US10579554B2 (en) | 2020-03-03 |
KR20180043626A (ko) | 2018-04-30 |
TWI751189B (zh) | 2022-01-01 |
CN107967228B (zh) | 2023-06-13 |
US20200167296A1 (en) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967228A (zh) | 用于对总线进行布线的计算系统及方法以及布线系统 | |
CN104915322B (zh) | 一种卷积神经网络硬件加速方法 | |
CN109408449A (zh) | 数据处理系统 | |
CN108470009A (zh) | 处理电路及其神经网络运算方法 | |
CN108563808A (zh) | 基于fpga的异构可重构图计算加速器系统的设计方法 | |
CN108228354A (zh) | 调度方法、系统、计算机设备和介质 | |
CN103116517B (zh) | 虚拟化平台下i/o通道的调整方法和调整装置 | |
CN105260339A (zh) | 一种基于Xilinx Zynq技术的大规模PLC系统 | |
CN110033086A (zh) | 用于神经网络卷积运算的硬件加速器 | |
CN107391432A (zh) | 一种异构并行计算装置及运算节点互联网络 | |
WO2012116654A1 (zh) | 一种高端容错计算机原型验证系统及验证方法 | |
CN107608667A (zh) | 一种业务流程的更新方法及装置 | |
CN104391770B (zh) | 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块 | |
CN107402902A (zh) | 一种异构计算平台与基于异构计算平台的加速方法 | |
CN110046705A (zh) | 用于卷积神经网络的装置 | |
CN110059805A (zh) | 用于二值阵列张量处理器的方法 | |
US10896476B2 (en) | Repository of integration description of hardware intellectual property for NoC construction and SoC integration | |
CN106295670A (zh) | 数据处理方法及数据处理装置 | |
CN110033085A (zh) | 张量处理器 | |
CN109787918A (zh) | 基于网络传输的数据加速方法、装置、系统及一种加速卡 | |
CN108491924A (zh) | 一种面向人工智能计算的神经网络数据串行流水处理装置 | |
CN107957977A (zh) | 一种计算方法及相关产品 | |
CN205864441U (zh) | 基于Microblaze核实现以太网转CAN模块 | |
CN108494705A (zh) | 一种网络报文高速处理系统和方法 | |
CN109947531B (zh) | 超融合一体机的存储容量扩展方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |