KR101044295B1 - A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction - Google Patents
A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction Download PDFInfo
- Publication number
- KR101044295B1 KR101044295B1 KR1020100001153A KR20100001153A KR101044295B1 KR 101044295 B1 KR101044295 B1 KR 101044295B1 KR 1020100001153 A KR1020100001153 A KR 1020100001153A KR 20100001153 A KR20100001153 A KR 20100001153A KR 101044295 B1 KR101044295 B1 KR 101044295B1
- Authority
- KR
- South Korea
- Prior art keywords
- outline
- group
- hard
- packing
- hard block
- Prior art date
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
Description
본 발명은 자동화된 칩 면적 최적화를 위한 인접 블록과 표준 셀 패킹 방법에 관한 것으로서, 특히 하드 블록들의 배치 패턴을 자동으로 인식하여 인접한 하드 블록들의 그룹(Neighbor Block Group Packing)을 대상으로 패킹하는 방법과, 각 그룹의 외곽을 확장하여 표준 셀(Standard Cell)들에 대한 배타적 영역을 확보하는 방법을 제공함과 아울러 표준 셀 패킹에서 정렬 기법을 이용해 원본 상대적인 위치를 최대한 유지한 상태로 점증적 배치의 배치최적화 수행을 가능하게 한 자동화된 칩 면적 최적화를 위한 블록패킹방법 및 표준 셀 패킹 방법에 관한 것이다.The present invention relates to a neighboring block and a standard cell packing method for automated chip area optimization. In particular, the present invention relates to a method of packing a neighbor block group packing by automatically recognizing a placement pattern of hard blocks. In addition, it provides a way to secure the exclusive area for the standard cells by extending the periphery of each group, as well as optimizing the placement of incremental batches using the alignment technique in standard cell packing while maintaining the original relative position as much as possible. A block packing method and a standard cell packing method for automated chip area optimization that enable performance.
칩 면적을 최적화하여 그 크기를 줄이는 것은 집적회로의 기능 및 성능과 함께 고려해야 할 중요한 요소지만 급속히 증가되는 회로 규모와 제조 공정의 미세화에 의해 발생하는 설계 제약 조건들은 칩의 면적을 예측하는데 많은 어려움을 주고 있다. 더욱이 오늘날 칩 설계는 기존에 양산된 레이아웃으로부터 그 일부를 재사용하거나 모듈화된 IP (Intellectual Property) 및 메모리 블록들의 사용이 급속히 증가하는 추세로 상대적으로 큰 규모의 블록들이 다수 존재하는 형태가 되는데 이로 인해 발생하는 모든 설계 제약 조건들을 만족하면서 칩의 크기까지 최적화하기 위해서는 적지 않은 기간과 노력이 필요하다.Optimizing the chip area and reducing its size is an important factor to consider along with the functionality and performance of integrated circuits, but the design constraints caused by rapidly increasing circuit size and miniaturization of the manufacturing process make it difficult to predict chip area. Giving. Moreover, today's chip designs have a large number of relatively large blocks, which can be reused as part of existing layouts or the use of modular IP (Intellectual Property) and memory blocks is rapidly increasing. To meet all design constraints while optimizing the size of the chip requires considerable time and effort.
1. 수작업을 통한 칩 면적 최적화 검증 방법1. How to verify chip area optimization by hand
도 1은 종래 수작업을 통하여 칩 면적을 최적화하는 일반적인 방법을 나타낸다.1 illustrates a general method of optimizing chip area through conventional manual work.
초기 칩 면적(Design area)과 각 회로 소자들(Design objects), 그리고 그들의 연결 정보(Netlist) 및 전원 공급 계획(Power plan)등과 같은 설계자의 의도 (Designer's intent)들의 설계 입력이 준비되면, 회로 소자들을 연결 정보를 근간으로 배치(Floor plan)하고(S1), 배선 가능성(Trial route)을 검토한다(S2). 이후 칩의 성능 조건을 충족하기 위해 배치의 최적화(Optimize Design)(S3) 및 설계 완결성 검증(Design closure)(S4)을 거치고 배선(Route)(S5)을 수행하는 것이다. 여기까지 과정이 완료되면 동작 가능한 최초 칩 레이아웃(Initial layout)이 되고 이후 수율 향상을 위해 칩 면적 최적화 작업이 진행된다. 먼저 최적의 면적(Smallest Chip Size)인지를 판단(S6)하여 그렇지 않다면 상기 배치(S1) 단계부터 재 수행하며 이를 반복수행 하는 것이다.Once the design inputs of the designer's intents, such as the initial design area and the respective design objects and their connection information (Netlist) and power plan, are ready, Based on the connection information (Floor plan) (S1), the possibility of wiring (Trial route) is examined (S2). Then, to meet the chip's performance requirements, it performs route optimization (S3) through optimization of design (S3) and design closure (S4). When the process is completed, the initial chip layout (Initial layout) is operated, and then chip area optimization is performed to improve yield. First, it is determined whether it is an optimal area (Smallest Chip Size) (S6), otherwise it is performed again from the arrangement (S1) step and repeated.
수작업을 통한 칩 면적 최적화의 문제는 첫째, 설계의 전 과정을 반복 수행해야 하고 둘째, 설계 전반의 각 과정에서 설계자는 자신의 경험적 전문성을 토대로 지속적인 결정과정을 거치면서 개입해야 한다는 것이다. 결과적으로 수작업을 통한 면적 최적화 작업은 소요되는 시간에 대한 평가 및 결과물에 대한 객관적인 신뢰성을 확보하기 어렵다.The problem of manually optimizing chip area is firstly, iteratively repeating the whole design process, and secondly, the designers have to intervene through the continuous decision-making process based on their empirical expertise. As a result, the area optimization work by hand is difficult to evaluate the time required and to obtain the objective reliability of the result.
2. 자동화 소프트웨어를 통한 칩 면적 최적화 검증 방법2. How to verify chip area optimization through automation software
도 2는 종래 자동화 소프트웨어를 사용하여 칩 면적을 최적화하는 일반적인 방법을 나타낸다. 이 방법은 자동으로 칩 면적 최적화를 진행할 수 있다는 점에서 수작업 방법과 비교해 볼 때 설계 자원의 낭비 및 시간의 소모를 획기적으로 개선할 수 있다.2 illustrates a general method of optimizing chip area using conventional automation software. This method can automatically improve chip area optimization, significantly reducing the waste of design resources and time compared to the manual method.
설계 입력이 준비되면, 배치(Floor plan)(S1), 배선 가능성(Trial route)을 검토(S2), 배치의 최적화(Optimize Design)(S3)를 수행하고, 칩의 기능 및 성능 최적화(Optimize Design) 작업 이후 자동 칩 면적 최적화 작업(S11 - S14)이 시작된다.When the design input is ready, perform the floor plan (S1), review the trial route (S2), optimize the layout (S3), and optimize the chip's function and performance (Optimize Design). Automatic chip area optimization operation (S11-S14) is started after the operation.
줄임 인자(Shrink Factor)에 따라 줄어든 칩 면적의 새로운 배치 영역을 결정(Decrease Size)하고(S11), 각 회로 소자들을 x축 및 y축으로 각각 패킹 (Place Design)한다(S12). 전력 배선 망 및 전역 배선 가능성을 검토(Power & Global Route)하여(S13) 동일 과정의 재 수행 및 종료를 결정(S14)한다.A new placement area of the reduced chip area is determined according to a shrink factor (Decrease Size) (S11), and each circuit element is packed (Place Design) on the x-axis and the y-axis, respectively (S12). The power wiring network and the global wiring possibility are examined (Power & Global Route) (S13) to determine re-execution and termination of the same process (S14).
자동 칩 면적 최적화 작업(S11 - S14)이 완료되면, 설계 완결성 검증(Design closure)(S4)을 거치고 배선(Route)(S5)을 수행하고 종료(S7)한다.When the automatic chip area optimization operations S11 to S14 are completed, a design closure verification S4 is performed, a route S5 is performed, and a termination S7 is performed.
특히 초기 배치 설계(Place Design) 단계에서는 입력된 초기 각 회로소자들의 배치 정보를 바탕으로 새로운 면적의 칩에 배치하게 되는데, 이때 해당 칩의 성능 및 기능 그리고 설계자의 의도가 배치 정보에 모두 들어 있기 때문에 그들의 상대적인 위치 정보를 유지하는 것이 중요하다.Particularly, in the initial place design stage, the layout information is placed on a chip of a new area based on the input information of each input circuit element. In this case, the performance, function, and designer's intention of the chip are included in the layout information. It is important to maintain their relative location information.
3. 기존 블록 패킹 방법3. Conventional block packing method
기존의 블록 패킹은 개별 블록을 각 축에 대해서 좌측 하단 방향으로 이동시킨다. 이러한 방법은 블록들의 상대적인 위치만 유지할 수 있을 뿐이며 블록들의 배선을 위한 원본 공간의 확보는 불가능하다.Conventional block packings move individual blocks in the lower left direction with respect to each axis. This method can only maintain the relative positions of the blocks, and it is impossible to secure the original space for the wiring of the blocks.
도 3은 패킹 전 칩(10)과 패킹 후 칩(10')에 대해서 기존 블록 패킹이 배선 영역에 미치는 영향을 각각 보여준다. 하드 블록 A, B, C(12 - 14)가 칩 하단에, 표준 셀(11)들은 이 하드 블록(12 - 14)들 위에 각각 존재하며, 음영이 있는 부분은 배선 공간(Routing Area)(16)이다. 블록 패킹이 이루어지기 전의 칩(10)의 배선 공간은 각 하드 블록(11 - 14)의 배치 패턴 및 주변 표준 셀(11)들의 배치 패턴에 따라 설계자에 의해 이미 조정이 완료된 상태로 이 공간이 축소되면 패킹 이후 이 지역의 배선 실패 가능성이 높아진다.3 shows the effect of the existing block packing on the wiring area for the chip 10 before packing and the chip 10 'after packing, respectively. Hard blocks A, B, and C (12-14) are located at the bottom of the chip, and standard cells (11) are present on the hard blocks (12-14), respectively, and the shaded portion is a routing area (16). )to be. The wiring space of the chip 10 before the block packing is already adjusted by the designer according to the layout pattern of each hard block 11-14 and the layout pattern of the surrounding
실제로 개별 블록 패킹 결과인 패킹 후 칩(10')을 보면, 각 축의 방향에 따라 하드 블록 A, B, 및 C(12 - 14)의 상대적인 위치는 유지됐지만 이들 사이 간격(15)과 이들과 표준 셀(11)들의 사이의 간격은 줄어들어서 이 지역의 배선 영역은 패킹 전 칩(10)에 비해 현저히 줄어들어 있는 상황이다.In fact, after packing the chip 10 'as a result of individual block packing, the relative positions of the hard blocks A, B, and C (12-14) were maintained along the direction of each axis, but the spacing 15 between them and the standard The spacing between the
개별 하드 블록 패킹은 각 하드 블록(11 - 14)간 간격(15)을 축소시키고 이것은 결과적으로 배선 공간(16)의 축소로 이어지고 하드 블록간 간격이 줄어지는 것 외에 표준 셀(11) 집단과의 간격도 축소되는 것을 확인할 수 있다.Individual hard block packing reduces the spacing 15 between each hard block 11-14, which in turn leads to a reduction in the
이와 같은 문제로 하드 블록 패킹에 이를 보정할 수 있도록 배선을 고려한 패킹 기법이 요구된다.Due to this problem, a wiring-based packing technique is required to correct the hard block packing.
또한 이러한 블록 패킹 과정 이후 배선 실패 가능성이 높음에도 불구하고 자동화의 최종 단계에서야 배선 실패를 확인하여 최종 결정이 이루어 진다면 시간의 낭비를 가져온다. 자동화 과정상 앞 단에 위치한 하드 블록 패킹 단계에서 배선을 고려할 수 있다면 자동화 과정을 좀 더 고속화 할 수 있는 이점도 있다.In addition, despite the high probability of wiring failure after this block packing process, it is a waste of time if the final decision is made by checking the wiring failure only at the final stage of automation. If the wiring can be considered in the hard block packing step located earlier in the automation process, the automation process can be made faster.
4. 기존 표준 셀 패킹 방법4. Conventional standard cell packing method
도 4는 기존 표준 셀 패킹 흐름도이고, 도 5는 기존 표준 셀 패킹 설명도이다.4 is a conventional standard cell packing flow chart, and FIG. 5 is an existing standard cell packing explanatory diagram.
점증적 배치 기법은 합법화 과정(Legalization)(S21, S22)과 최적화 과정(Optimization)(S23)을 수행한다. 반도체 제조 공정에 따른 사이트 정의(Site Definition)는 배선을 위해서 표준 셀들을 배치 격자 위에 배치할 것을 엄격히 규정하고 있다. 배치 열(Placement Row) 위에 존재하는 배치 격자의 폭은 사이트 정의에서 선언된 길이로 결정되며 표준 셀의 폭은 이 길이의 배수로 결정되는 것이다.Incremental deployment technique performs legalization process (Sgal, S21, S22) and optimization process (Optimization) (S23). The site definition of the semiconductor manufacturing process strictly dictates the placement of standard cells on the placement grid for wiring. The width of the placement grid above the Placement Row is determined by the length declared in the site definition, and the width of the standard cell is determined by a multiple of this length.
점증적 배치는 모든 표준 셀들이 배치 격자 위에 정확히 배치되었는지 확인하고 이후 회로 소자간 상호 겹침을 제거한다. 새로운 배치 영역이 줄임 인자(Shrink Factor)에 따라 결정되고 상기 기존 블록 패킹 방법에 의해 하드 블록이 패킹되었다 할지라도 최초 레이아웃의 배치 격자 위에 있던 표준 셀(11)들은 도 5와 같이 새로운 배치 영역(21)에서 벗어나 있으며 특히 상측과 우측에서는 새로운 배치 영역(21)과 완전히 벗어나 있는 표준 셀(11)들도 존재할 수 있다.Incremental placement ensures that all standard cells are correctly placed on the placement grid and then eliminates mutual overlap between circuit elements. Although the new placement area is determined according to the shrink factor and the hard blocks are packed by the existing block packing method, the
이러한 경우 모든 회로 소자들을 배치 격자 위에 배치(Snap to Grid)(S21) 하기 위해서는 특정 영역에 표준 셀들이 과도하게 밀집될 수 있으며, 도 5에서는 음영으로 표시된 부분이 밀집 영역(22)이다. 이 시점에서 두 가지 문제가 발생하는데, 하나는 이 밀집 영역(22)에서 발생되는 표준 셀(11)간 겹침을 제거하는 것이고 다른 하나는 높은 밀집도를 다른 영역으로 분배하는 것이다.In this case, in order to arrange all the circuit elements on a layout grid (S21), standard cells may be excessively dense in a specific area. In FIG. 5, the shaded area is the
이 두 가지 문제를 해소하기 위해서 사용되는 점증적 배치 기법의 합법화 과정은 원본 표준 셀들의 상대적인 배치 관계를 고려하지 못하여 새로운 배치 영역 안에 이를 유지할 수 없다는 문제가 있었다. 따라서 원본 상대적인 배치를 유지하면서 합법화 과정을 할 수 있는 방법이 필요하다.
The process of legalizing the incremental placement technique used to solve these two problems does not take into account the relative placement relationship of the original standard cells, so that it cannot be maintained in the new placement area. Therefore, we need a way to legalize the process while maintaining the relative placement of the original.
본 발명은 상기의 블록 패킹 문제를 해결하기 위해 전력 및 전역 배선(Power and Global Routing)을 고려한 하드 블록 패킹 방법과 정렬기법을 이용한 표준셀 패킹 방법을 제공하기 위한 것이다.The present invention is to provide a standard block packing method using a hard block packing method and an alignment method in consideration of power and global routing in order to solve the block packing problem.
본 발명은 하드 블록 및 표준 셀 패킹 방법에 있어 상기된 기존 방법의 문제점을 개선하고자 개발된 것으로 하드 블록 패킹에 관해서는 최초 칩 블록 배치 패턴을 자동으로 인식하여 인접한 블록들을 기준으로 몇 개의 그룹으로 분류하고, 새로운 칩 배치 영역으로 그룹단위로 패킹하는 기법을 제공한다.The present invention was developed to improve the problems of the conventional method described above in the hard block and standard cell packing method. For hard block packing, the present invention automatically recognizes an initial chip block arrangement pattern and classifies the data into several groups based on adjacent blocks. In addition, the present invention provides a method of packing a group into a new chip arrangement area.
본 발명은 배선을 고려한 블록 패킹 방법을 제공하여 자동화를 통한 칩 면적 최적화의 정확성 향상시킴과 아울러 고속화를 가능하게 한다. 이를 위해 인접한 하드 블록의 쌓임 형태의 패턴을 자동으로 인식하여 하드 블록들을 그룹화하고 이 그룹을 단위로 패킹을 수행하여 원본의 배선 영역을 보존하여 배선 가능성을 향상시킨다. 각 그룹은 하드 블록간 간격을 유지할 수 있을 뿐만 아니라 그룹의 외곽을 자동으로 확장하여 표준 셀과의 간격도 유지할 수 있다.The present invention provides a block packing method in consideration of wiring to improve the accuracy of chip area optimization through automation and to enable high speed. To this end, the stacking pattern of adjacent hard blocks is automatically recognized, and the hard blocks are grouped and packed in units to preserve the wiring area of the original to improve wiring possibilities. Each group can maintain the spacing between hard blocks, as well as automatically expand the outline of the group to maintain spacing from standard cells.
또한 본 발명은 표준 셀 패킹 방법에 대해서 정렬을 이용한 표준 셀 배치 기법을 제공하는데 이것은 횡축 및 종축 정렬을 이용하여 모든 표준 셀들의 합법화 문제를 해결하면서 원본 상대적인 위치를 유지하여 증감적 배치의 최적화 과정의 수행을 가능하게 하여 자동화 결과의 정확성을 향상시킬 수 있다.
In addition, the present invention provides a standard cell placement technique using alignment with respect to the standard cell packing method, which solves the problem of legalization of all standard cells using horizontal and vertical alignment, while maintaining the original relative position to optimize the incremental placement optimization process. This can be done to improve the accuracy of the automation results.
본 발명은 하드 블록 및 표준 셀 패킹 방법에 있어 상기된 기존 방법의 문제점을 개선하고자 개발된 것으로 하드 블록 패킹에 관해서는 최초 칩 블록 배치 패턴을 자동으로 인식하여 인접한 블록들을 기준으로 몇 개의 그룹으로 분류하고, 새로운 칩 배치 영역으로 그룹단위로 패킹하는 기법을 제공한다.The present invention was developed to improve the problems of the conventional method described above in the hard block and standard cell packing method. For hard block packing, the present invention automatically recognizes an initial chip block arrangement pattern and classifies the data into several groups based on adjacent blocks. In addition, the present invention provides a method of packing a group into a new chip arrangement area.
본 발명의 목적을 달성하기 위한 하드블록들에 대한 그룹단위 패킹 방법은, 모든 하드 블록에 대해서 외곽선을 생성하는 하드블록 외곽 생성과정과;According to another aspect of the present invention, there is provided a group-based packing method for hard blocks, the hard block outline generating process of generating an outline for all hard blocks;
하드블록 밀집도에 의거하여 설정한 상수인 병합 인자(Merge Factor, Δ)에 의거하여 상기 하드블록 외곽선을 확장하는 외곽선 확장과정과;An outline extension process of extending the hard block outline based on a merge factor (Δ) which is a constant set based on hard block density;
상기 외곽선 확장 과정에서 외곽선이 확장된 각 하드블록들의 외곽선이 서로 겹치는 이웃하는 하드블록들을 하나의 외곽선으로 병합하여 그룹화하는 그룹화과정과;A grouping process of merging neighboring hard blocks in which the outlines of each of the hard blocks whose outlines have been expanded overlap with each other by merging them into a single outline;
상기 그룹화과정를 거친 각 그룹에 대해서 표준 셀과 하드블록 간의 배선을 고려하여 그룹 내부의 하드블록들의 외곽선을 확장하여 겹치는 하드블록들을 소그룹으로 병합하고, 분리된 소그룹들의 사이에 브릿지영역을 삽입하는 그룹내 브릿지 삽입과정과;For each group that has undergone the grouping process, in consideration of the wiring between the standard cell and the hard block, the hard blocks inside the group are expanded to merge overlapping hard blocks into small groups, and a bridge region is inserted between the separated small groups. Bridge insertion process;
상기 그룹내 브릿지 삽입과정를 거친 각 하드블록 그룹들을 그룹 단위로 패킹하는 패킹과정을 수행하도록 이루어짐을 특징으로 한다.
And a packing process of packing each hard block group that has undergone the intra-bridge insertion process in group units.
상기 인접한 하드 블록 배치 패턴을 자동으로 인식하여 그룹화 (Neighbor Block Grouping)하는 그룹화 과정은,The grouping process of automatically recognizing and grouping the adjacent hard block arrangement pattern (Neighbor Block Grouping),
모든 블록의 외곽선들을 입력으로 하여 그들 중 한 개의 외곽선을 선택하는 외곽선 선택단계와;An outline selection step of selecting one outline among them by inputting outlines of all blocks;
상기 외곽선 선택단계에서 선택된 외곽선과 겹치는 다른 하드블록의 외곽선이 있는 경우 겹치는 둘을 병합하는 병합단계와;A merging step of merging the overlapping two when there is an outline of another hard block overlapping the selected outline in the outline selection step;
상기 병합단계에서 더 이상 겹치는 다른 외곽선이 없으면, 임의의 다른 외곽선을 선택하여 상기 외곽선 선택단계와 병합단계를 수행하고, 그룹화되지 않은 외곽선에 대해서 모두 상기 단계를 반복한 후, 그룹화를 종료하는 그룹화 종료단계를 수행하도록 이루어짐을 특징으로 한다.
If there are no other overlapping lines in the merging step any more, select any other outline, perform the merging step with the outline selection step, repeat the above steps for all the ungrouped outlines, and then end the grouping. Characterized in that it is made to perform the steps.
상기 그룹 외곽으로 표준 셀에 대한 배타적 영역 자동 확장을 위한 그룹내 브릿지 삽입과정은,The intra-group bridge insertion process for automatically expanding the exclusive area for the standard cell outside the group,
하드블록 외곽선의 겹침 여부에 의해 그룹화가 완료되면, 각 그룹별로 내부 하드블록들에 대해서 각각 외곽선을 생성하는 그룹내 하드블록 외곽선 생성단계와;Creating a hard block outline in the group for generating group outlines for the internal hard blocks for each group when grouping is completed by overlapping hard block outlines;
표준셀과 하드블록간의 배선을 고려하여 설계자가 설정한 그룹 확장인자 β만큼 상기 그룹 내부의 하드블록 외곽선을 확장하는 그룹내 외곽선 확장 단계와;An in-group outline expansion step of expanding a hard block outline in the group by a group expansion factor β set by the designer in consideration of the wiring between the standard cell and the hard block;
상기 그룹내 외곽선 확장단계에 의해 확장된 그룹내 하드블록 외곽선들이 겹치는 하드블록들을 소그룹으로 병합하는 소그룹화 단계와;A small grouping step of merging hard blocks in which the in-group hard block outlines expanded by the in-group outline expanding step into small groups;
상기 소그룹화 단계를 거친 후 해당 그룹 내에 존재하는 소그룹이 하나인 경우는 그대로 그룹영역을 확정하고, 소그룹이 하나 이상인 경우 서로 이웃하는 소그룹과의 사이에 브릿지영역을 삽입하여 그룹을 확정하는 브릿지 삽입단계를 수행하도록 이루어짐을 특징으로 한다.After the small grouping step, if there is only one small group in the group, the group area is determined as it is, and if there is more than one small group, a bridge area is inserted to insert a bridge area between neighboring small groups. Characterized in that made to perform.
이러한 기법은 각 하드 블록에 대해서 개별 패킹하는 기존의 블록 패킹 과정과는 달리 하드 블록들의 배치 패턴을 자동으로 인식하여 인접한 하드 블록들의 그룹 (Neighbor Block Group Packing)을 대상으로 패킹한다는 것이 특징이며 그룹의 외곽을 자동으로 확장하는 방법 또한 제공한다.Unlike the conventional block packing process of individually packing each hard block, this technique automatically recognizes a placement pattern of hard blocks and packs them to a neighbor block group packing. It also provides a way to automatically extend the outline.
각 블록 그룹에 대한 패킹을 위해 본 발명은 첫째, 블록 배치 패턴 인식기를 통해 인접한 하드 블록의 쌓임 형태의 패턴을 자동으로 인식하고 이를 기반으로 여러 개의 그룹으로 그룹화 한 후 둘째, 각 그룹에 대해서 표준 셀에 대한 배타적 영역을 자동으로 확장하는 것이다.In order to pack each block group, the present invention firstly recognizes a stacking pattern of adjacent hard blocks through a block arrangement pattern recognizer and groups them into multiple groups based on this. Second, standard cells for each group Is to automatically extend the exclusive scope to.
이후 그룹을 좌측 하단으로 패킹하면 블록 패킹 과정이 완료된다.
After that, pack the group to the lower left to complete the block packing process.
한편, 본 발명에 의한 표준셀의 패킹 방법은,On the other hand, the packing method of the standard cell according to the present invention,
표준셀들의 레이아웃 상에서의 원본 위치를 탐색하여 설정하는 원본 위치 설정단계와;An original position setting step of searching for and setting an original position on a layout of standard cells;
원본 레이아웃 대비 새로운 레이아웃의 면적에 관한 비율을 줄임인자(φ)로 설정하여 상기 줄임인자(φ) 만큼씩 각 표준셀들을 비율적으로 칩의 기준위치(좌표 0,0)방향으로 이동시키는 표준셀 영역 축소단계와;Standard cell that proportionally moves each standard cell by the reduction factor (φ) by the reduction factor (φ) by setting the ratio of the area of the new layout to the original layout as the reduction factor (φ). A region reduction step;
표준셀 영역 축소후, 표준셀들을 배치할 열에 할당할 표준셀의 갯수에 대한 비율 r을 결정하는 배치비율 결정단계와;A batch ratio determining step of determining a ratio r with respect to the number of standard cells to be allocated to the column in which the standard cells are to be arranged after the standard cell area is reduced;
상기 배치비율(r)이 결정되면, 칩의 종축 방향으로 상기 표준셀들을 각 열에 할당된 수에 대응하여 종축 정렬(y-sort)을 하는 종축 정렬단계와;A vertical axis sorting step of vertically arranging the standard cells in the vertical axis direction of the chip corresponding to the number assigned to each column in the vertical axis direction of the chip;
상기 종축 정렬이 완료되면, 각 열에 할당된 수의 표준셀들에 대해 횡축 정렬(x-sort)을 하는 횡축 정렬단계와;A horizontal axis sorting step of performing horizontal axis sorting on the number of standard cells allocated to each column when the vertical axis sorting is completed;
상기 종축 및 횡축 정렬에 의해 정렬된 표준 셀의 정렬 위치를 설정하여 패킹하는 표준셀 최적화 단계를 수행하는 것을 특징으로 한다.The standard cell optimization step of setting and packing the alignment positions of the standard cells aligned by the vertical axis and the horizontal axis alignment is performed.
이와 같이 간단한 정렬을 이용한 표준 셀 패킹 기법을 제공하는데 이는 원본 표준 셀의 상대적인 위치를 최대한 유지하면서 패킹을 수행함과 동시에 밀집도의 균일한 분배를 이룰 수 있는 것이 특징이다. 이 정렬 기법은 점증적 배치 순서 중 합법화 과정을 대치한 것으로 모든 표준 셀들을 종축으로 정렬하여 각 배치 열 (Placement Row)에 할당하는 셀간 상하 순서를 결정하고 이후 각 배치 열에 할당된 표준 셀들에 대해서 다시 횡축으로 정렬하여 셀간 좌우 배치 순서를 결정하는 것이다.In this way, a standard cell packing technique using a simple alignment is provided, which is capable of achieving a uniform distribution of density while packing while maintaining the relative position of the original standard cell as much as possible. This sorting technique replaces the legalization process in incremental batch order, which vertically sorts all standard cells to determine the vertical order between the cells that are assigned to each Placement Row, and then again for the standard cells assigned to each Placement Column. Aligning with the horizontal axis determines the left and right arrangement order between cells.
각 배치 열 내에서의 표준 셀간 간격을 균등하게 할 수 있다. 이 기법으로 어느 한 표준 셀에 대해서 원본에서 이 셀의 위쪽에 위치했던 셀들은 항상 위쪽에 위치할 것을 보장할 수 있으며 또한 좌측 및 우측의 상대적인 위치도 보장할 수 있다. 원본의 상대적인 표준 셀 위치를 유지하면서 합법화 과정을 마친 표준 셀 배치를 점증적 배치 기법의 마지막 단계인 최적화 과정에 전달함으로써 원본의 설계 제약 조건을 최대한 고려하면서 최적화 과정을 수행할 수 있는 것이다.Standard cell-to-cell spacing within each batch column can be equalized. This technique ensures that for any standard cell, the cells that were located above this cell in the original are always at the top and also the relative positions of the left and right sides. By passing the standardized cell batches that have been legalized while maintaining the relative standard cell position of the originals to the optimization process, which is the final stage of the incremental placement technique, the optimization process can be performed with maximum consideration of the original design constraints.
본 발명을 통해 각 블록 주변의 배선을 완벽하게 고려한 블록 패킹 및 원본 배치의 상대적인 위치를 유지한 표준 셀 패킹을 진행할 수 있으며 이것은 칩 면적 최적화의 정확성을 향상 및 고속화를 가능하게 한다.Through the present invention, it is possible to proceed with the block packing considering the wiring around each block and the standard cell packing maintaining the relative position of the original arrangement, which can improve and speed up the accuracy of chip area optimization.
본 발명에 의한 배선을 고려한 블록 패킹 방법을 이용하면 하드 블록간 및 하드블록과 표준 셀들 간의 배선을 위한 원본 영역이 확보되기 때문에 기존의 하드 블록들의 밀집으로 인한 배선의 실패를 방지할 수 있다.By using the block packing method considering the wiring according to the present invention, since the original area for wiring between the hard blocks and between the hard blocks and the standard cells is secured, it is possible to prevent the failure of the wiring due to the density of the existing hard blocks.
또한 정렬 기법을 통한 합법화 과정은 각 표준 셀들의 원본 위치를 최대한 유지하면서 증감적 배치 기법의 최적화 과정을 가능하게 한다.In addition, the legalization process through the alignment technique enables the optimization process of the incremental placement technique while maintaining the original position of each standard cell as much as possible.
이러한 기법들을 통해 배선을 완벽하게 고려한 블록 패킹 및 원본의 설계 제약 조건을 유지할 수 있는 표준 셀 패킹을 진행할 수 있으며 이것은 칩 면적 최적화의 정확성을 향상 및 고속화를 가능하게 한다.These techniques enable block packing with complete wiring considerations and standard cell packing to maintain the original design constraints, which improves and speeds up chip area optimization accuracy.
도 1은 기존의 수작업으로 진행하는 칩 면적 최적화 흐름도.
도 2는 기존의 자동으로 진행하는 칩 면적 최적화 흐름도.
도 3은 기존의 하드블록 패킹 결과 설명도.
도 4는 기존 표준 셀 패킹 흐름도.
도 5는 기존 표준 셀 패킹 설명도.
도 6은 본 발명에 의한 하드블록 패킹 흐름도.
도 7은 본 발명에 의한 인접한 하드 블록 그룹화 흐름도.
도 8은 본 발명에 의한 인접한 하드 블록 그룹화 설명도.
도 9는 본 발명에 의한 그룹내 하드 블록 외곽선 확장 흐름도.
도 10은 본 발명에 의한 그룹내 소그룹 간 브릿지 삽입 설명도.
도 11은 본 발명에 의한 표준셀 패킹 흐름도.1 is a conventional chip area optimization flow chart.
2 is a flow chart of a conventional automatic progress chip area optimization.
3 is a diagram illustrating a conventional hard block packing result.
4 is a flow diagram of an existing standard cell packing.
5 is an explanatory diagram of an existing standard cell packing.
6 is a hard block packing flow chart according to the present invention.
7 is a flow chart of adjacent hard block groupings in accordance with the present invention.
8 is an explanatory diagram of adjacent hard block groupings according to the present invention;
9 is an intragroup hard block outline extension flowchart according to the present invention;
Fig. 10 is an explanatory diagram of inserting bridges between small groups in a group according to the present invention.
11 is a standard cell packing flow chart according to the present invention.
이하 본 발명의 실시 예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 6은 본 발명에 의한 인접한 하드 블록 블록화 및 외곽 확장 흐름도이다.
6 is a flowchart of adjacent hard block blocking and outline expansion according to the present invention.
본 발명은 하드 블록 패킹 방법과 표준 셀 패킹 방법을 각각 제공한다.The present invention provides a hard block packing method and a standard cell packing method, respectively.
모든 하드 블록에 대해서 외곽선을 생성하는 하드블록 외곽 생성과정(S110)과;A hard block outline generation process (S110) for generating an outline for all hard blocks;
하드블록 밀집도에 의거하여 설정한 상수인 병합 인자(Merge Factor, Δ)에 의거하여 상기 하드블록 외곽선을 확장하는 외곽선 확장과정(S120)과;An outline expansion step (S120) of extending the hard block outline based on a merge factor (Δ) which is a constant set based on a hard block density;
상기 외곽선 확장 과정(S120)에서 외곽선이 확장된 각 하드블록들의 외곽선이 서로 겹치는 이웃하는 하드블록들을 하나의 외곽선으로 병합하여 그룹화하는 그룹화과정(S130)과;A grouping process (S130) of merging neighboring hard blocks in which the outlines of the hard blocks having the extended outlines overlap each other are merged into one outline in the outline extension process (S120);
상기 그룹화과정(S130)를 거친 각 그룹에 대해서 표준 셀과 하드블록 간의 배선을 고려하여 그룹 내부의 하드블록들의 외곽선을 확장하여 겹치는 하드블록들을 소그룹으로 병합하고, 분리된 소그룹들 사이에 브릿지영역을 삽입하는 그룹내 브릿지 삽입과정(S140)과;For each group that has undergone the grouping process (S130), in consideration of the wiring between the standard cell and the hard blocks, the outlines of the hard blocks in the group are expanded to merge the overlapping hard blocks into small groups, and a bridge region is formed between the separated small groups. Intra-bridge insertion process (S140) for insertion;
상기 그룹내 브릿지 삽입과정(S140)를 거친 각 하드블록 그룹들을 그룹 단위로 패킹하는 패킹과정(S150)을 수행하도록 이루어진다.A packing process S150 for packing each hard block group that has undergone the intra-group bridge insertion process S140 on a group basis is performed.
이와 같은 본 발명의 하드블록 패킹 방법은,Such a hard block packing method of the present invention,
먼저 하드 블록 패킹에 대해서는, 하드블록 외곽 생성과정(S110)를 수행한다. 이어서 각 하드블록 외곽선을 병합 인자에 의해 확장하는 외곽선 확장과정(S120)를 수행한다. 여기서, 병합인자는 하드 블록들의 밀집도와 관련된 상수로 이 값이 크면 넓은 범위에서 인접한 하드 블록을 검색하여 병합하게 되는 것이다.First, for hard block packing, a hard block outline generation process (S110) is performed. Subsequently, an extension process S120 of expanding each hard block outline by a merge factor is performed. Here, the merge factor is a constant related to the density of hard blocks. If the value is large, the merge factor is searched for and merged adjacent hard blocks in a wide range.
병합 인자에 따라 각 하드 블록의 외곽선을 확장하게 되면, 이웃하는 하드블록들의 외곽선이 겹칠 수 있고, 외곽 선이 겹치는 하드 블록들을 하나의 외곽선 내에 속하도록 병합하여 그룹화하는 그룹화 과정(S130)를 수행한다. 즉, 병합 인자에 의해 확장된 외곽을 갖는 각 하드 블록들은 서로 겹치는 외곽을 갖는 또 다른 하드 블록들을 검색하여 병합을 시도하여 그룹화하는 과정을 거친다.When the outline of each hard block is expanded according to the merging factor, the outlines of neighboring hard blocks may overlap, and the grouping process (S130) of merging the overlapping hard blocks so as to belong to one outline is performed. . That is, each hard block having an outline extended by the merging factor is searched for another hard blocks having overlapping outlines and attempted to merge and grouped.
이후 각 그룹에 대해서 배타적 영역을 확장하여 겹치는 부분이 있는 외곽선들을 소그룹으로 통합하고, 그룹내 서로 분리된 소그룹 사이에 브릿지 영역을 삽입하는 그룹내 브릿지 삽입과정(S140)를 거친후, 그룹 단위로 패킹하는 패킹과정(S150)를 수행한다.After that, the exclusive area is expanded for each group, and the overlapping outlines are merged into small groups, and after the intra-group bridge insertion process (S140) for inserting bridge areas between the small groups separated from each other in the group, packing in groups The packing process (S150) is performed.
도 7은 본 발명에 의한 인접한 하드 블록 배치 패턴을 자동으로 인식하여 그룹화하는 흐름도이다. 이는, 인접한 하드 블록 배치 패턴을 자동으로 인식하여 그룹화 (Neighbor Block Grouping)하는 그룹화 과정(S130)을 나타낸다.7 is a flowchart for automatically recognizing and grouping adjacent hard block arrangement patterns according to the present invention. This represents a grouping process (S130) for automatically recognizing and grouping neighbor block grouping patterns.
모든 블록의 외곽선들을 입력으로 하여 그들 중 한 개의 외곽선을 선택하는 외곽선 선택단계(S131)와;An outline selection step (S131) of selecting one outline among them by inputting outlines of all blocks;
상기 외곽선 선택단계(S131)에서 선택된 외곽선과 겹치는 다른 하드블록의 외곽선이 있는 경우 겹치는 둘을 병합하는 병합단계(S132)와;Merging step (S132) of merging the overlapping two when there is an outline of another hard block overlapping the selected outline in the outline selection step (S131);
상기 병합단계(S132)에서 더 이상 겹치는 다른 외곽선이 없으면, 임의의 다른 외곽선을 선택하여 상기 외곽선 선택단계와 병합단계를 수행하고, 그룹화되지 않은 외곽선에 대해서 모두 상기 단계를 반복한 후, 그룹화를 종료하는 그룹화 종료단계(S133)를 수행하도록 이루어진다.If there are no other overlapping lines in the merging step (S132) any more, select any other outline to perform the merging step with the outline selection step, repeat the above steps for all the ungrouped outlines, and then end the grouping. The grouping end step (S133) is performed.
도 8은 본 발명에 의한 인접한 하드 블록 배치 패턴 인식에 따른 그룹화 과정 설명도이다.8 is an explanatory diagram of a grouping process according to recognition of an adjacent hard block arrangement pattern according to the present invention.
하드블록A, B, C(Block A, B, C)가 있을때, 각 하드블록에 대해서 외곽선(101)을 생성하고, 각 하드블록들의 외곽선(101)을 병합인자(Δ)에 의해 확장시킨다. When there are hard blocks A, B, and C (Block A, B, C), an
도 8의 (a)에 도시된 바와 같이, 각 하드블록의 외곽선들을 확장시키면 서로 겹치는 부분이 생길 수 있다. 먼저 하드블록 A(Block A)의 외곽선 A와 하드블록 B(Block B)의 외곽선 B가 서로 겹치는 부분이 존재하므로, 두 개의 외곽선을 병합하면 외곽선 A-B (boundary A-B)가 된다. 이후 도 8의 (b)에서 외곽선 A-B와 겹치는 것은 외곽선 C로 이것과 병합하면 결국 도 8의 (c)에서 보는 것과 같이 외곽선 A-B-C가 결정되며 이로써 하드블록 A, B, C가 하나의 그룹으로 확정된다.
As shown in (a) of FIG. 8, when the outlines of each hard block are expanded, overlapping portions may be formed. First, since there is a portion where the outline A of hard block A and the outline B of hard block B overlap each other, merging the two outlines makes the boundary AB. Subsequently, overlapping with the outline AB in FIG. 8 (b) merges it with the outline C, and as a result, as shown in FIG. 8 (c), the outline ABC is determined, thereby determining the hard blocks A, B, and C as one group. do.
도 9는 본 발명에 의한 각 그룹 외곽으로 표준 셀에 대한 배타적 영역 자동 확장 과정 흐름도이다.9 is a flowchart of an exclusive area automatic expansion process for a standard cell outside each group according to the present invention.
각 하드블록 외곽선의 겹침 여부에 의해 그룹화가 완료되면, 각 그룹별로 내부 하드블록들에 대해서 각각 외곽선을 생성하는 그룹내 하드블록 외곽선 생성단계(S141)와;When the grouping is completed by whether each of the hard block outlines overlap, in-group hard block outline generation step (S141) for generating an outline for each of the internal hard blocks for each group;
표준셀과 하드블록간의 배선을 고려하여 설계자가 설정한 그룹 확장인자 β만큼 상기 그룹 내부의 하드블록 외곽선을 확장하는 그룹내 외곽선 확장 단계(S142)와; An in-group outline expansion step (S142) of extending the hard block outline in the group by the group expansion factor β set by the designer in consideration of the wiring between the standard cell and the hard block;
상기 그룹내 외곽선 확장단계(S142)에 의해 확장된 그룹내 하드블록 외곽선들이 겹치는 하드블록들을 소그룹으로 병합하는 소그룹화 단계(S143)와; A small grouping step (S143) of merging hard blocks in which the in-group hard block outlines expanded by the in-group outline expanding step (S142) overlap into small groups;
상기 소그룹화 단계(S143)를 거친 후 해당 그룹 내에 존재하는 소그룹이 하나인 경우는 그대로 그룹영역을 확정하고, 소그룹이 하나 이상인 경우 서로 이웃하는 소그룹과의 사이에 브릿지영역(101)을 삽입하여 그룹을 확정하는 브릿지 삽입단계(S145)를 수행하도록 이루어진다. After the small grouping step (S143), if there is only one small group in the group, the group region is determined as it is, and if there is more than one small group, the
이와 같이, 상기 도 8의 과정으로 결정된 각 그룹에 대해서 그룹내부 하드블록들의 외곽선을 생성(S141)하고, 그 그룹내 하드블록 외곽선을 확장 인자 β만큼 확장한다(S142). 여기서 확장 인자 β는 하드 블록들과 표준 셀간의 배선을 확보하기 위해서 설계자의 의도가 내포된 간격을 나타내는 상수로서 그것의 외곽 경계와 가장 가깝게 위치한 표준 셀까지의 거리를 의미한다.In this way, for each group determined by the process of FIG. 8, an outline of hard blocks in the group is generated (S141), and the hard block outline in the group is extended by an expansion factor β (S142). In this case, the expansion factor β is a constant representing the interval in which the designer's intention is implied to secure the wiring between the hard blocks and the standard cell, and means the distance to the standard cell closest to its outer boundary.
그룹내 하드블록 외곽선의 확장 후 도 10과 같은 방법으로 겹치는 인접 블록을 소그룹화하는데 이때 동일 그룹내의 하드블록들에 대해서만 수행된다는 것이 도 8에서의 그룹화 과정과는 다르다. After the expansion of the hard block outline in the group, overlapping adjacent blocks are small-grouped in the same manner as in FIG. 10, which is performed only for the hard blocks in the same group, which is different from the grouping process in FIG.
그런데, 도 8의 그룹화 과정에서의 병합 인자(Δ)와 도 9의 그룹내 소그룹화를 위한 확장인자 β간에는 차이가 발생할 수 있으며, 이 차이는 동일 그룹이지만 해당 그룹을 몇 개의 소그룹으로 분리시킬 수 있다. 이런 경우 분리된 소그룹과 소그룹 사이의 공간영역에 브릿지 영역(bridge)을 삽입하여 소그룹간의 간격을 유지시킴으로써 표준 셀에 대한 배타적 공간을 확보할 수 있다. 즉, 도 10에 도시된 바와 같이 동일 그룹의 구성 블록인 블록A, B, C(Block A, B, C)는, 도 9의 이웃블록 소그룹화 단계(S143)을 수행하여 소그룹 A(Block A와 Block B 병합)와, 소그룹 B(Block C)으로 분리되었다. 이것은 이 그룹의 결정 단계에서 사용된 병합 인자(Δ) 값보다 소그룹 결정을 위해 사용된 확장 인자β값이 더 작기 때문이며 소그룹 A와 소그룹 B 사이에 브릿지 영역(101)을 삽입하면, 표준 셀에 대한 배타적 공간이 확보된다. 여기서 브릿지 영역(101)은 실질 영역이 아니고 간격 유지를 위한 영역을 의미한다. However, a difference may occur between the merging factor Δ in the grouping process of FIG. 8 and the expansion factor β for the small grouping in the group of FIG. 9, but the difference may be divided into several small groups. have. In this case, an exclusive space for the standard cell can be secured by inserting a bridge into the space between the separated small groups and the small groups to maintain the spacing between the small groups. That is, as illustrated in FIG. 10, blocks A, B, and C (blocks A, B, and C) of the same group are subjected to the small group A (Block A) of the neighbor block in FIG. And Block B merged) and small group B (Block C). This is because the expansion factor beta value used for small group determination is smaller than the merging factor (Δ) value used in the decision step of this group, and if the
상기와 같이 이웃 블록 그룹화 과정(S130)과, 그룹내 브릿지 삽입과정(S140) 수행한 후, 그룹 단위로 하드블록 패킹 과정(S150)을 수행한다. 패킹 과정은 칩의 좌표(0,0) 위치로 근접되게 각 그룹들을 이동시키는 것으로서 종래에는 하드블록들을 패킹하였지만 본 발명에서는 그룹화 하는 과정에서 하드블록들과 표준 셀과의 간격을 유지하면서 그룹화하고 이를 그룹 단위로 패킹하게 된다.
After performing the neighbor block grouping process (S130) and the intra-group bridge insertion process (S140) as described above, the hard block packing process (S150) is performed in groups. The packing process is to move each group closer to the coordinate (0,0) position of the chip. Conventionally, hard blocks are packed. However, in the present invention, the grouping is performed while grouping while maintaining the distance between the hard blocks and the standard cell. Packed in groups.
도 11은 본 발명에 의한 표준 셀 패킹 흐름도이다.11 is a standard cell packing flow chart according to the present invention.
이에 도시된 바와 같이,As shown therein,
표준셀들의 레이아웃 상에서의 원본 위치를 탐색하여 설정하는 원본 위치 설정단계(S201)와;An original position setting step (S201) of searching and setting an original position on a layout of standard cells;
원본 레이아웃 대비 새로운 레이아웃의 면적에 관한 비율을 줄임인자(φ)로 설정하여 상기 줄임인자(φ) 만큼씩 각 표준셀들을 비율적으로 칩의 기준위치(좌표 0,0)방향으로 이동시키는 표준셀 영역 축소단계(S202)와;Standard cell that proportionally moves each standard cell by the reduction factor (φ) by the reduction factor (φ) by setting the ratio of the area of the new layout to the original layout as the reduction factor (φ). An area reduction step (S202);
표준셀 영역 축소후, 표준셀들을 배치할 열에 할당할 표준셀의 갯수에 대한 비율 r을 결정하는 배치비율 결정단계(S203)와;A batch ratio determining step (S203) of determining a ratio r with respect to the number of standard cells to be allocated to a column for arranging the standard cells after the standard cell area is reduced;
상기 배치비율(r)이 결정되면, 칩의 종축 방향으로 상기 표준셀들을 각 열에 할당된 수에 대응하여 종축 정렬(y-sort)을 하는 종축 정렬단계(S204)와;A vertical axis aligning step (S204) for vertically aligning the standard cells in the vertical axis direction of the chip corresponding to the number assigned to each column in the vertical axis direction of the chip;
상기 종축 정렬이 완료되면, 각 열에 할당된 수의 표준셀들에 대해 횡축 정렬(x-sort)을 하는 횡축 정렬단계(S205)와;A horizontal axis sorting step (S205) for performing horizontal axis sorting (x-sort) for the number of standard cells allocated to each column when the vertical axis sorting is completed;
상기 종축 정렬(S204) 및 상기 횡축 정렬(S205)에 의해 정렬된 표준 셀의 정렬 위치를 설정하여 패킹하는 표준셀 최적화 단계(S206)를 수행한다.The standard cell optimization step S206 of setting and packing the alignment positions of the standard cells aligned by the vertical axis alignment S204 and the horizontal axis alignment S205 is performed.
이와 같이 표준 셀 패킹 방법은, 블록 패킹과 동일하게 원본 위치에서 줄임 인자 φ에 따라 배치 영역의 좌측 하단 방향으로 각 표준 셀들을 비율적으로 이동시킨다.In this way, the standard cell packing method moves each standard cell proportionally in the lower left direction of the placement area according to the reduction factor φ at the original position as in the block packing.
여기서 줄임 인자 φ는 원본 레이아웃 대비 새로운 레이아웃의 면적에 관한 비율로 만약 줄임 인자 φ가 0.95면 새로운 레이아웃의 면적은 원본 레이아웃 면적의 95% 수준이 되는 것이다. 비율적으로 이동시키기 때문에 새로운 배치 영역의 좌측 하단으로부터 멀리 배치된 표준 셀들은 가까이에 있는 것들보다 더욱 긴 거리를 이동하게 되며 결국 새로운 배치 영역 안으로 모든 표준 셀들이 이동하게 된다. Here, the reduction factor φ is the ratio of the area of the new layout to the original layout. If the reduction factor φ is 0.95, the area of the new layout is 95% of the original layout area. Because of the proportional shift, the standard cells placed farther from the lower left of the new placement area travel longer distances than those close to them, eventually moving all standard cells into the new placement area.
본 발명은 이들을 겹침이 없이 배치 격자 위에 배치하기 위해서 정렬 기법을 사용한다. 표준 셀들이 배치되는 레이아웃은 다수의 배치 열 (Placement Row)이 존재하게 되는데 먼저 각 배치 열에 할당할 표준 셀의 개수에 대한 비율 r을 결정해야 한다. r은 모든 배치 열이 보유하는 배치 격자의 총 수 대비 모든 표준 셀이 차지해야 할 배치 격자 총 수의 비율로 결정된다. 즉 각 배치 열 마다 r의 비율만큼 표준 셀을 할당하면 모든 배치 열에 동일한 수의 배치 격자를 표준 셀 배치에 사용하게 되는 것이다.The present invention uses an alignment technique to place them on the placement grid without overlap. In a layout in which standard cells are arranged, there are a plurality of placement rows. First, a ratio r of the number of standard cells to be allocated to each placement column must be determined. r is determined as the ratio of the total number of layout grids occupied by all standard cells to the total number of layout grids held by all layout columns. In other words, if you assign a standard cell by the ratio of r to each batch column, the same number of batch grids are used for all cell batches.
r의 값이 결정되면 표준 셀의 배치 위치를 기반으로 종축 정렬하여 최 하단 배치 열부터 r의 비율만큼 표준 셀을 할당한다. 이렇게 하면 자신보다 원본 위치가 위쪽에 배치된 표준 셀들은 항상 자신과 동일 열 혹은 그 위쪽 열에 배치하게 된다. 이후 각 배치 열 마다 횡축 정렬을 통해 할당된 표준 셀의 횡 방향 순서를 결정하는 것이다. 이러한 기법은 각 표준 셀의 다른 셀에 대한 좌측 방향 및 하측 방향으로의 원본 상대적인 위치를 항상 보장하면서 합법화 문제를 해결할 수 있으며 그 결과를 최적화 과정으로 전달하여 원본 표준 셀의 배치를 유지하면서 배선을 위한 최적화 수행이 가능하다. Once the value of r is determined, the vertical cells are aligned based on the placement positions of the standard cells, and the standard cells are allocated by the ratio of r to the lowest placement column. This way, standard cells with their original positions above them will always be placed in the same column or above it. After that, the horizontal alignment of the assigned standard cells is determined by the horizontal alignment for each batch column. This technique solves the legalization problem while always ensuring the original position of each standard cell in the left and bottom directions relative to the other cells, and passes the results to the optimization process to maintain the placement of the original standard cell while maintaining the placement of the original standard cell. Optimization can be performed.
11 : 표준셀 21 : 새로운 배치 외곽선
22 : 밀집영역 101 : 브릿지 영역11: Standard Cell 21: New Layout Outline
22: dense area 101: bridge area
Claims (4)
모든 하드 블록에 대해서 외곽선을 생성하는 하드블록 외곽 생성과정(S110)과;
하드블록 밀집도에 의거하여 설정한 상수인 병합 인자(Merge Factor, Δ)에 의거하여 상기 하드블록 외곽선을 확장하는 외곽선 확장과정(S120)과;
상기 외곽선 확장 과정(S120)에서 외곽선이 확장된 각 하드블록들의 외곽선이 서로 겹치는 이웃하는 하드블록들을 하나의 외곽선으로 병합하여 그룹화하는 그룹화과정(S130)과;
상기 그룹화과정(S130)를 거친 각 그룹에 대해서 표준 셀과 하드블록 간의 배선을 고려하여 그룹 내부의 하드블록들의 외곽선을 확장하여 겹치는 하드블록들을 소그룹으로 병합하고, 분리된 소그룹들의 사이에 브릿지영역을 삽입하는 그룹내 브릿지 삽입과정(S140)과;
상기 그룹내 브릿지 삽입과정(S140)를 거친 각 하드블록 그룹들을 그룹 단위로 패킹하는 패킹과정(S150)을 수행하는 것을 특징으로 하는 자동화된 칩 면적 최적화를 위한 하드블록 패킹 방법.
In the hard block packing method for finding and packing the optimal arrangement of hard blocks in the chip in order to optimize the chip area in the design process of a semiconductor chip,
A hard block outline generation process (S110) for generating an outline for all hard blocks;
An outline expansion step (S120) of extending the hard block outline based on a merge factor (Δ) which is a constant set based on a hard block density;
A grouping process (S130) of merging neighboring hard blocks in which the outlines of the hard blocks having the extended outlines overlap each other are merged into one outline in the outline extension process (S120);
For each group that has undergone the grouping process (S130), in consideration of the wiring between the standard cell and the hard blocks, the outlines of the hard blocks in the group are expanded to merge the overlapping hard blocks into small groups, and a bridge region is formed between the separated small groups. Intra-bridge insertion process (S140) for insertion;
Hard block packing method for the automated chip area optimization, characterized in that for performing a packing step (S150) for packing each hard block group through the intra-group bridge insertion step (S140) in groups.
모든 하드블록에 대한 외곽선중 한 개의 하드블록에 대한 외곽선을 선택하는 외곽선 선택단계(S131)와;
상기 외곽선 선택단계(S131)에서 선택된 외곽선과 겹치는 다른 하드블록의 외곽선이 있는 경우 겹치는 둘을 병합하는 병합단계(S132)와;
상기 병합단계(S132)에서 더 이상 겹치는 다른 외곽선이 없으면, 임의의 다른 외곽선을 선택하여 상기 외곽선 선택단계와 병합단계를 수행하고, 그룹화되지 않은 외곽선에 대해서 모두 상기 단계를 반복한 후, 그룹화를 종료하는 그룹화 종료단계(S133)를 수행하도록 이루어진 것을 특징으로 하는 자동화된 칩 면적 최적화를 위한 하드블록 패킹 방법.
The method of claim 1, wherein the grouping process (S130),
An outline selection step (S131) of selecting an outline of one hard block among outlines of all hard blocks;
Merging step (S132) of merging the overlapping two when there is an outline of another hard block overlapping the selected outline in the outline selection step (S131);
If there are no other overlapping lines in the merging step (S132) any more, select any other outline to perform the merging step with the outline selection step, repeat the above steps for all the ungrouped outlines, and then end the grouping. Hard block packing method for the automated chip area optimization, characterized in that for performing the grouping end step (S133).
각 하드블록 외곽선의 겹침 여부에 의해 그룹화가 완료되면, 각 그룹별로 내부 하드블록들에 대해서 각각 외곽선을 생성하는 그룹내 하드블록 외곽선 생성단계(S141)와;
표준셀과 하드블록간의 배선을 고려하여 설계자가 설정한 그룹 확장인자 β만큼 상기 그룹 내부의 하드블록 외곽선을 확장하는 그룹내 외곽선 확장 단계(S142)와;
상기 그룹내 외곽선 확장단계(S142)에 의해 확장된 그룹내 하드블록 외곽선들이 겹치는 하드블록들을 소그룹으로 병합하는 소그룹화 단계(S143)와;
상기 소그룹화 단계(S143)를 거친 후 해당 그룹 내에 존재하는 소그룹이 하나인 경우는 그대로 그룹영역을 확정하고, 소그룹이 하나 이상인 경우 서로 이웃하는 소그룹과의 사이에 브릿지영역(101)을 삽입하여 그룹을 확정하는 브릿지 삽입단계(S145)를 수행하도록 이루어진 것을 특징으로 하는 자동화된 칩 면적 최적화를 위한 하드블록 패킹 방법.
The method of claim 1, wherein the intra-group bridge insertion process (S140),
When the grouping is completed by whether each of the hard block outlines overlap, in-group hard block outline generation step (S141) for generating an outline for each of the internal hard blocks for each group;
An in-group outline expansion step (S142) of extending the hard block outline in the group by the group expansion factor β set by the designer in consideration of the wiring between the standard cell and the hard block;
A small grouping step (S143) of merging hard blocks in which the in-group hard block outlines expanded by the in-group outline expanding step (S142) overlap into small groups;
After the small grouping step (S143), if there is only one small group in the group, the group region is determined as it is, and if there is more than one small group, the bridge region 101 is inserted between neighboring small groups. Hard block packing method for the automated chip area optimization, characterized in that for performing the bridge insertion step (S145) to determine the.
표준셀들의 레이아웃 상에서의 원본 위치를 탐색하여 설정하는 원본 위치 설정단계(S201)와;
원본 레이아웃 대비 새로운 레이아웃의 면적에 관한 비율을 줄임인자(φ)로 설정하여 상기 줄임인자(φ) 만큼씩 각 표준셀들을 비율적으로 칩의 기준위치(좌표 0,0)방향으로 이동시키는 표준셀 영역 축소단계(S202)와;
표준셀 영역 축소후, 표준셀들을 배치할 열에 할당할 표준셀의 갯수에 대한 비율 r을 결정하는 배치비율 결정단계(S203)와;
상기 배치비율(r)이 결정되면, 칩의 종축 방향으로 상기 표준셀들을 각 열에 할당된 수에 대응하여 종축 정렬(y-sort)을 하는 종축 정렬단계(S204)와;
상기 종축 정렬이 완료되면, 각 열에 할당된 수의 표준셀들에 대해 횡축 정렬(x-sort)을 하는 횡축 정렬단계(S205)와;
상기 종축 정렬(S204) 및 상기 횡축 정렬(S205)에 의해 정렬된 표준 셀의 정렬 위치를 설정하여 패킹하는 표준셀 최적화 단계(S206)를 수행하는 것을 특징으로 하는 자동화된 칩 면적 최적화를 위한 하드블록 패킹 방법.In a standard cell packing method for automated chip area optimization,
An original position setting step (S201) of searching and setting an original position on a layout of standard cells;
Standard cell that proportionally moves each standard cell by the reduction factor (φ) by the reduction factor (φ) by setting the ratio of the area of the new layout to the original layout as the reduction factor (φ). An area reduction step (S202);
A batch ratio determining step (S203) of determining a ratio r with respect to the number of standard cells to be allocated to a column for arranging the standard cells after the standard cell area is reduced;
A vertical axis aligning step (S204) for vertically aligning the standard cells in the vertical axis direction of the chip corresponding to the number assigned to each column in the vertical axis direction of the chip;
A horizontal axis sorting step (S205) for performing horizontal axis sorting (x-sort) for the number of standard cells allocated to each column when the vertical axis sorting is completed;
Hard block for automated chip area optimization, characterized in that for performing the standard cell optimization step (S206) of setting and packing the alignment position of the standard cells aligned by the longitudinal axis alignment (S204) and the horizontal axis alignment (S205) Packing way.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100001153A KR101044295B1 (en) | 2010-01-07 | 2010-01-07 | A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction |
PCT/KR2010/008731 WO2011083919A2 (en) | 2010-01-07 | 2010-12-08 | Block and standard cell packing method for automated design area optimization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100001153A KR101044295B1 (en) | 2010-01-07 | 2010-01-07 | A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101044295B1 true KR101044295B1 (en) | 2011-06-28 |
Family
ID=44305908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100001153A KR101044295B1 (en) | 2010-01-07 | 2010-01-07 | A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101044295B1 (en) |
WO (1) | WO2011083919A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008297B1 (en) | 2023-01-25 | 2024-06-11 | MakinaRocks Co., Ltd. | Method for performing double clustering to evaluate placement of semiconductor devices |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818625B (en) * | 2021-02-05 | 2024-03-15 | 上海华虹宏力半导体制造有限公司 | Layout and layout modification method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000015456A (en) * | 1998-08-29 | 2000-03-15 | 김영환 | Internal unit block arrangement method of very large scale integration chip |
KR20020002323A (en) * | 2000-06-30 | 2002-01-09 | 니시무로 타이죠 | Design rule manufacturing method, design rule manufacturing system and recording media thereof |
KR20020084139A (en) * | 2000-12-15 | 2002-11-04 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Semiconductor device layout |
-
2010
- 2010-01-07 KR KR1020100001153A patent/KR101044295B1/en active IP Right Grant
- 2010-12-08 WO PCT/KR2010/008731 patent/WO2011083919A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000015456A (en) * | 1998-08-29 | 2000-03-15 | 김영환 | Internal unit block arrangement method of very large scale integration chip |
KR20020002323A (en) * | 2000-06-30 | 2002-01-09 | 니시무로 타이죠 | Design rule manufacturing method, design rule manufacturing system and recording media thereof |
KR20020084139A (en) * | 2000-12-15 | 2002-11-04 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Semiconductor device layout |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008297B1 (en) | 2023-01-25 | 2024-06-11 | MakinaRocks Co., Ltd. | Method for performing double clustering to evaluate placement of semiconductor devices |
Also Published As
Publication number | Publication date |
---|---|
WO2011083919A3 (en) | 2011-11-03 |
WO2011083919A2 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796053B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
US11288432B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
US10503859B2 (en) | Integrated circuit design and/or fabrication | |
US5984510A (en) | Automatic synthesis of standard cell layouts | |
US5784289A (en) | Method for estimating routability and congestion in a cell placement fo integrated circuit chip | |
US8037441B2 (en) | Gridded-router based wiring on a non-gridded library | |
US6006024A (en) | Method of routing an integrated circuit | |
US6209123B1 (en) | Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors | |
US5987086A (en) | Automatic layout standard cell routing | |
Sechen | VLSI placement and global routing using simulated annealing | |
JP4474404B2 (en) | Packing-based macro placement method and semiconductor chip using the same | |
US20090217228A1 (en) | Method of making an integrated circuit using pre-defined interconnect wiring | |
US6857107B2 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
JPH05109890A (en) | Circuit-arrangement incorporating method | |
CN116070575B (en) | Chip wiring optimization method and software system | |
US11334705B2 (en) | Electrical circuit design using cells with metal lines | |
US20180285508A1 (en) | Capacity model for global routing | |
JP4652242B2 (en) | Cell arrangement method for semiconductor integrated circuit | |
US5835378A (en) | Computer implemented method for leveling interconnect wiring density in a cell placement for an integrated circuit chip | |
CN105069228A (en) | Method for adding spare via into spare cell | |
KR101044295B1 (en) | A method and apparatus to pack neighbor blocks and cells during the automatic chip level layout compaction | |
US6625792B1 (en) | Semiconductor design system, semiconductor integrated circuit, semiconductor design method and storage medium storing semiconductor design program | |
CN114077274A (en) | System and method for guided grid augmentation | |
KR100521935B1 (en) | Layout data saving method, layout data converting device and graphic verifying device | |
JP2002217300A (en) | Cell arrangement method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140513 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160311 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180412 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190320 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20200309 Year of fee payment: 10 |