KR20020058911A - Method for chip design using standard cell grouping - Google Patents

Method for chip design using standard cell grouping Download PDF

Info

Publication number
KR20020058911A
KR20020058911A KR1020000087044A KR20000087044A KR20020058911A KR 20020058911 A KR20020058911 A KR 20020058911A KR 1020000087044 A KR1020000087044 A KR 1020000087044A KR 20000087044 A KR20000087044 A KR 20000087044A KR 20020058911 A KR20020058911 A KR 20020058911A
Authority
KR
South Korea
Prior art keywords
data
chip
grouping
timing
standard cell
Prior art date
Application number
KR1020000087044A
Other languages
Korean (ko)
Inventor
차욱진
Original Assignee
박종섭
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박종섭, 주식회사 하이닉스반도체 filed Critical 박종섭
Priority to KR1020000087044A priority Critical patent/KR20020058911A/en
Publication of KR20020058911A publication Critical patent/KR20020058911A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

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)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE: A method for efficiently designing a chip through grouping by using a standard cell is provided to reduce the time for designing a chip, to efficiently use chip area, and to solve the timing problem during chip designing by an adopting grouping with a standard cell. CONSTITUTION: A circuit to design is divided into various function blocks. The function blocks are expressed by a program. The data in the register transfer level are converted into the data in the gate level through the synthesis of definite logic gates. The data expressed in the gate level are simulated logically. The data are grouped depending on the approximation of the functions or the necessity of timing margin. The grouped data are moduled. The grouped modules are automatically arrange-routed. Logic and timing simulation is performed with the data files. Automatic arrange-routing is performed with the rest of the data.

Description

표준셀을 이용한 그루핑을 통하여 효율적으로 칩을 설계하는 방법{Method for chip design using standard cell grouping}Method for chip design using standard cell grouping}

본 발명은 표준셀을 이용하여 집적회로를 설계하는 방법에 대한 것으로, 특히 표준셀들을 용도에 따라 집단화 시킴으로서 칩의 면적을 줄이고 칩 설계시간을 줄이면서 타이밍을 안정화 시키는 칩 설계방법에 관한 것이다.The present invention relates to a method for designing an integrated circuit using a standard cell, and more particularly, to a chip design method for stabilizing timing while reducing chip area and chip design time by grouping standard cells according to a use.

일반적으로 ASIC(Application specific integrated circuit) 디자인이라 하는것은, 설계자가 자신이 원하는 칩을 하드웨어 기술언어를 써서 디자인 하는 것을 말한다.Generally, application specific integrated circuit (ASIC) design refers to designing a chip that a designer wants using hardware description language.

종래에는, ASIC 칩 설계를 하는데 있어서 도 1에 도시된 방법으로 설계를 해 왔다.Conventionally, in the design of the ASIC chip has been designed by the method shown in FIG.

도 1은 종래의 ASIC 칩 설계를 하는 방법을 도시한 것으로 종래의 칩 설계방법은, 먼저, 설계하고자 하는 회로를 여러개의 기능 블럭으로 나누고, 이 기능블럭들을 프로그램으로 표현하는, 레지스터 전송 레벨의 설계를 수행하는 1단계와, 상기 프로그램으로 표현된 레지스터 전송 레벨의 데이타를 좀더 구체적인 논리게이트의 합성을 통해 게이트 레벨의 데이타로 변환하는 2단계와, 상기 게이트 레벨로 표현된 데이타를 논리 시뮬레이션을 수행하는 3단계와, 상기 검증된 데이타를 가지고, 하드웨어 프로그래밍을 수행하는 4단계와, 상기 완성된 하드웨어 프로그램과 이때 생긴 데이타 화일을 가지고 논리, 타이밍 시뮬레이션을 수행하는 5단계로 이루어 진다.1 illustrates a conventional method for designing an ASIC chip. In the conventional chip design method, a register transfer level design is performed by first dividing a circuit to be designed into several functional blocks and expressing these functional blocks by a program. Performing step 1; converting the register transfer level data represented by the program into gate level data through synthesis of more specific logic gates; and performing logic simulation on the data represented by the gate level. Three steps, four steps for performing hardware programming with the verified data, and five steps for performing logic and timing simulation with the completed hardware program and the resulting data file.

각 단계별로 설계과정을 상세히 살펴보면 다음과 같다.The detailed design process for each stage is as follows.

1단계에서는, 사용자가 자신이 원하는 하드웨어를 설계하기 위하여, 상기 하드웨어의 기능과 형태를 하드웨어 기술언어를 써서 기술하는 것으로, 이를 레지스터 전송 레벨의 설계(10)라 하며, 상기의 레지스터 전송 레벨로 기술된 하드웨어 데이타를 논리적인 타당성을 검증한다(11).In the first step, in order to design the hardware desired by the user, the function and form of the hardware are described using a hardware description language, which is called the design of the register transfer level (10). The logical validity of the hardware data is verified (11).

2단계에서는, 상기 레지스터 전송레벨 코드를, 합성하는 툴(예컨데 sysnopsys)로 보내어(20), 논리 게이트의 합성을 통하여 게이트 레벨의 논리회로 데이타로 변환한다(20).In step 2, the register transfer level code is sent to a synthesizing tool (e.g., sysnopsys) (20), and converted into logic-level logic circuit data (20) through synthesis of the logic gates.

게이트 레벨의 논리회로는 상기 레지스터 전송레벨에 비해서 더욱 구체적인표현이 된다.The gate level logic circuit is more specific than the register transfer level.

레지스터 전송레벨의 데이타를 상기 논리회로 데이터로 합성할때, 실제 칩으로 구현시, 칩 내부에서 게이트와 게이트 사이에 서로 연결될 배선(metal line-1/2/3)에 대한 모델은, 허용 면적에 대하여 게이트의 숫자로 계산한 배선 모델을 사용하게 된다(21).When synthesizing the data of the register transfer level into the logic circuit data, and in actual implementation of the chip, a model for the wiring (metal line-1 / 2/3) to be connected to each other between the gates inside the chip, is defined in the allowable area. The wiring model calculated by the number of gates is used (21).

상기한 바와 같은 방법으로 배선 모델(타겟 라이브러리 와이어 모델)을 써서 게이트 레벨로 변환하는 이유는 칩 디자인을 하는데 있어서, 상기 칩 디자인이 끝나기 전까지는 정확한 배선의 실제 길이와, 그에대한 저항값, 캐패시턴스 값을 구할수 없기 때문이다.The reason for converting to the gate level by using the wiring model (target library wire model) in the above-described method is to design a chip. Until the chip design is completed, the actual length of the wiring, its resistance value, and its capacitance value are completed. Because you can't get.

3단계에서는, 상기 게이트 레벨에서 합성된 데이타(30)(예컨데 gate-netlist)를 가지고, 기능 및 타이밍의 관점에서 시뮬레이션 하여 검증한다(31).In step 3, the data 30 synthesized at the gate level (eg, gate-netlist) is simulated and verified in terms of function and timing (31).

4단계에서는, 상기 검증된 데이타를 가지고 실제적인 칩으로 구현해 나가는 과정으로, 피지컬 라이브러리(Physical lib)로부터, 상기 게이트 레벨의 데이타에 해당하는 디바이스(예컨데 CMOS,TR)를 불러내어 원하는 칩을 생성하게 된다(40).In the fourth step, the actual data is implemented with the verified data, and the device corresponding to the gate level data (eg CMOS, TR) is called out from the physical library to generate a desired chip. (40).

상기 4단계의 과정을 배치-라우팅(placement and routing)과정이라고 하며, 컴퓨터에 의해 자동으로 배치되는 경우는 오토 배치-라우팅 이라고 한다.The four step process is called a placement-routing process, and in the case of automatic placement by a computer, it is called an auto batch-routing process.

상기 5단계에서는, 배치-라우팅과정을 통하여 사용자가 설계한 회로에 사용되는 구체적인 디바이스(예컨데 CMOS, TR)와 배선이 칩상에 배치되고, 따라서 배선의 길이, 저항값, 캐패시턴스값등 회로해석에 필요한 모든 자료가 산출된다.In the above step 5, a specific device (for example, CMOS and TR) and wiring used for a circuit designed by a user are arranged on a chip through a batch-routing process, and thus the circuit length, resistance value, capacitance value, and the like are required for circuit analysis. All data is calculated.

이 자료를 사용하여 사용자가 설계한 회로를 검증할 새로운 데이타가 생기게되는데 이를 SDF(Standard delay format)화일이라 한다.This data is then used to generate new data to verify the user-designed circuitry. This is called a standard delay format (SDF) file.

5단계에서는 상기 SDF화일을 사용하여, 사용자가 설계한 회로를 논리회로 검증단계(21)부터 다시 시뮬레이션 하게된다.In step 5, the user-designed circuit is simulated again from the logic circuit verification step 21 using the SDF file.

모든 검증이 끝나면 디자인된 칩을 최적화(50)시키게 되며, 일부 타이밍상 중요한 크리티컬 패스(critical path:배치-라우팅 이후 추출된 메탈(METAL)-1/2/3에대한 저항, 캐패시턴스 값등으로 인해 타이밍 마진이 부족하여 원하는 시간에 원하는 데이타를 전송해주지 못하면서 데이타가 깨지는 셀을 의미함)는 수작업에 의해서 처리한다(51).At the end of every verification, the designed chip is optimized (50), and the timing is due to some timing critical critical paths (resistance, capacitance values, etc.) for the metal (METAL) -1/2/3 extracted after batch-routing. The lack of margin does not transmit the desired data at the desired time, which means that the data is broken).

상기한 종래의 ASIC칩 디자인의 과정을 살펴보면 다음과 같은 문제점을 알수가 있다.Looking at the process of the conventional ASIC chip design can be seen the following problems.

첫째로, 칩을 디자인 하는데 있어서, 마지막 단계인 배치-라우팅단계를 끝내기 전까지는 칩을 이루는 셀과 셀 사이를 배선하는 metal-1/2/3에 대한 저항값이나 캐패시턴스 값등 전원이나 타이밍에 영향을 미치는 값들을 정확히 알수가 없다. 따라서, 레지스터 전송레벨이나 게이트 레벨에서 이루어지는 프로그래밍 작업은 칩 설계시 많은 마진(margine)을 두어 설계해야만 하였고, 이는 칩의 설계에 있어서, 치명적인 면적의 증가를 초래하였다.First, in the design of the chip, until the end of the final batch-routing step, the power or timing, such as the resistance or capacitance of the metal-1 / 2/3 that connects the cells that make up the chip, is affected. The exact values are not known. Therefore, programming work performed at the register transfer level or the gate level had to be designed with a large margin in chip design, which resulted in a fatal increase in chip design.

둘째로, 칩 설계의 마지막 단계인 배치-라우팅후에 발생되는 SDF 데이터를 써서 시뮬레이션 할때, 크리티컬 패스(critical path)로 인해 타이밍에 치명적인 오류가 발생되면, 이를 수정해야 하는데, 이때 수정해야 하는 부분이 레지스터 전송 레벨이나 게이트 레벨에서 발생한 경우, 기존의 데이타를 버리고 처음부터 다시작업해야만 하기 때문에 엄청난 시간의 낭비를 초래하였다.Second, when simulating with the SDF data generated after the final stage of chip design, batch-routing, if critical error occurs in timing due to critical path, it should be corrected. When it occurs at the register transfer level or the gate level, it wastes enormous time because it has to discard existing data and work from scratch.

셋째로, 상기 게이트 레벨의 데이타를 실제적인 디바이스로 구현하는 피지컬(physical)레벨에 있어서, 데이타를 가공하는 데이타 패스(data path)와 같이 한군데에 모여있어야 면적면에서 유리한 셀들에 대해서는 칩 상에 모여서 배치되도록 배려해 주어야 한다. 그런데 종래에는, 상기 데이타 패스(data path)를 설계하는데 있어서, 칩상에서의 면적을 줄이기 위하여, 마진(margine)폭이 크게 잡혀있는 표준셀을 쓰지않고, 사용자가 인위적으로 더 작은 셀을 만들어 사용하여 왔는바, 이와같이 사용자가 인위적으로 만들어 사용하는 경우에는 칩 디자인 툴에서 지원하는 오토 배치-라우팅을 할수가 없었다. 그리고, 사람이 직접 데이타 패스와 같은 셀들에 대해서 상기 셀들의 배치를 일일이 지정해 주는 방법은, 칩의 면적이 효율적이고, 칩 전체의 타이밍이나 스피드가 좋은점이 있으나 시간이 매우 많이 걸린다는 치명적인 단점이 있고, 프로그램 툴을 이용한, 즉 오토 배치-라우팅 툴(tool)을 사용하는 경우에는 시간은 적게 걸리지만 칩 면적을 많이 쓰게되고, 표준셀만을 지원하며, 칩의 스피드나 타이밍이 악화되는 문제점이 있었다.Third, at the physical level that implements the gate-level data into a real device, cells that are advantageous in area should be gathered on a chip, such as a data path for processing data. Consideration should be given to placement. However, conventionally, in designing the data path, in order to reduce the area on the chip, a user may artificially make a smaller cell without using a standard cell having a large margin. As such, if the user artificially created and used this, the auto batch-routing supported by the chip design tool could not be performed. In addition, a method in which a person directly assigns the arrangement of cells to cells such as a data path has a fatal disadvantage that the area of the chip is efficient, the timing and speed of the entire chip are good, but the time is very long. In the case of using a program tool, that is, an auto batch-routing tool, it takes less time but uses more chip area, supports only standard cells, and deteriorates the speed and timing of the chip.

본 발명은 상기한 바와 같은 종래 기술의 문제점들을 해결하기 위해 제안된 것으로서 표준셀을 이용한 그루핑 기법을 채용하여, 칩 디자인에 소요되는 시간은 줄이면서, 칩 면적을 효율적으로 사용하고, 칩 설계시 발생되는 타이밍 문제가 해소되도록 하는, 표준셀을 이용한 그루핑을 통하여 효율적인 칩 디자인 방법을 구현하고자 한다.The present invention is proposed to solve the problems of the prior art as described above, by adopting a grouping technique using a standard cell, while reducing the time required for chip design, efficiently use the chip area, and occurs during chip design An efficient chip design method is implemented through grouping using a standard cell to solve the timing problem.

도 1은 종래의 에이직 설계 절차를 도시한 플로우 챠트.1 is a flow chart illustrating a conventional AIZ design procedure.

도 2a는 종래의 셀 배치의 일 실시예를 나타낸 도면.2A illustrates one embodiment of a conventional cell arrangement.

도 2b는 본 발명에 따른 셀 배치의 일 실시예를 나타낸 도면.2B illustrates an embodiment of a cell arrangement in accordance with the present invention.

도 3은 본 발명에 따른 표준셀을 사용하는 일 실시예를 나타낸 도면.Figure 3 shows an embodiment using a standard cell according to the present invention.

상기의 목적을 달성하기 위해서 본 발명의 칩설계 방법은, 설계하고자 하는 회로를 여러개의 기능 블럭으로 나누고, 이 기능블럭들을 프로그램으로서 표현하는, 레지스터 전송 레벨의 설계를 하는 제1단계; 상기 프로그램으로서 표현된 레지스터 전송 레벨로 된 데이타를 좀더 구체적인 논리게이트의 합성을 통해 게이트 레벨의 데이타로 변환하는 제2단계; 상기 게이트 레벨로 표현된 데이타를 논리 시뮬레이션 하는 제3단계; 상기 검증된 데이타를 가지고, 하드웨어 프로그래밍을 하는 제4단계; 피지컬 라이브러리에 유사한 기능을 가지고 있거나, 타이밍 마진이 필요한 블럭을 중심으로 그루핑하여 모듈화 시키는 제5단계; 상기 그루핑된 모듈에 한해서 오토 배치-라우팅 하는 제6단계; 상기 그루핑된 모듈에 한해서, 이때 생긴 데이타 화일을 가지고 논리, 타이밍 시뮬레이션을 하는 제7단계; 및 상기 제6단계에서 오토 배치-라우팅을 하고 남은 데이터를 가지고, 오토 배치-라우팅을 하는 제8단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the chip design method of the present invention includes a first step of designing a register transfer level, dividing a circuit to be designed into a plurality of functional blocks and expressing these functional blocks as a program; A second step of converting data of a register transfer level represented as the program into gate level data through synthesis of more specific logic gates; Performing a logic simulation on the data represented by the gate level; A fourth step of hardware programming with the verified data; A fifth step of grouping and modularizing a block having a similar function to the physical library or requiring a timing margin; A sixth step of auto batch-routing only for the grouped module; A seventh step of performing logic and timing simulation with the generated data file only in the grouped module; And an eighth step of auto batch-routing with the remaining data after auto batch-routing in the sixth step.

이하 본 발명에 따른 표준셀을 이용한 그루핑을 통하여 효율적으로 칩을 설계하는 방법의 바람직한 일실시예에 대하여 각 단계별로 상세히 설명하도록 한다.Hereinafter, a preferred embodiment of a method for efficiently designing a chip through grouping using a standard cell according to the present invention will be described in detail for each step.

상기 제1단계는, 사용자가 설계하고자 하는 회로를 여러개의 기능 블럭으로 나누고, 각각의 기능 블럭들에 대해서 기술하는 단계이다. 상기 1단계는 통상 레지스터 전송 레벨이라고 불리는데, 상기 기능블럭들의 기능에 대해서 다소 추상적인 표현을 써서 나타낸다.The first step is to divide the circuit to be designed by the user into a plurality of functional blocks, and to describe each functional block. The first stage is commonly referred to as the register transfer level, which uses a rather abstract representation of the function of the functional blocks.

상기 제2단계에서는, 레지스터 전송 레벨에서 각각의 기능블럭들에 대하여 기술이 끝나면 통상적으로 볼수 있는 AND, NOT, OR, NAND, NOR게이트등을 써서 상기 1단계에서 기술된 내용을 표현하게 된다.In the second step, contents described in the first step are expressed by using AND, NOT, OR, NAND, NOR gate, etc., which can be commonly seen after description of each functional block at the register transfer level.

즉, 레지스터 전송레벨에서 추상적으로 기술되었던 기능블럭들이 통상적으로 볼수있는 로직회로로서 변환되어 나타나게 된다.In other words, functional blocks that have been abstractly described at the register transfer level appear to be transformed as commonly seen logic circuits.

제3단계에서는, 상기 게이트 레벨에서 구현된 로직(LOGIC)들이 설계자의 의도대로 설계되었는지를 논리 시뮬레이션을 하게된다.In the third step, logic simulation is performed to determine whether the logics implemented at the gate level are designed as the designer intended.

제4단계에서는, 상기의 논리검증된 게이트 레벨의 데이타를 가지고, 피지컬(physical)레벨의 칩을 구현하는 단계가 되는데, 피지컬 라이브러리에서 상기 게이트 레벨의 데이타(AND, NOT, OR, NAND, NOR등)와 매칭되는 디바이스(CMOS, TR)등을 가져와서 칩을 구성하게 된다.In the fourth step, the physical level chip is implemented with the logic-validated gate level data. In the physical library, the gate level data (AND, NOT, OR, NAND, NOR, etc.) is implemented. ) And the device (CMOS, TR) matching the chip is imported.

만약, 게이트 레벨에 인버터가 있다면, 피지컬 라이브러리에서는 하나의 PMOS와 NMOS를 가져와서 게이트 레벨의 인버터를 구성하게 되는 것이다.If there is an inverter at the gate level, the physical library takes one PMOS and NMOS and configures the inverter at the gate level.

제5단계에서는, 상기 게이트 레벨에서 동일한 기능을 가지고 있거나, 타이밍 마진이 필요한 타이머, 인터럽트, UART등의 기능블럭들을 피지컬 라이브러리에서 각각의 기능블럭을 하나로 묶는 그루핑(Grouping)작업을 통하여 하나의 모듈(module)로 만든다.In the fifth step, one module (Grouping) to group the functional blocks, such as timers, interrupts, UART, etc. that have the same function at the gate level, or need timing margins in the physical library as one group ( module)

상기 모듈만을 상기 제6단계의 오토 배치-라우팅을 한다음 타이밍 시뮬레이션과 논리 검증을 하고, 그루핑을 하고 남은 블럭들은 제8단계에서 다시 오토 배치-라우팅을 하게 된다.Only the module performs auto batch-routing in the sixth step, performs timing simulation and logic verification, and the remaining blocks are auto batch-routed again in the eighth step.

상기 제5단계에서 타이밍 마진이 중요한 기능들만 따로 피지컬 레벨로 배치한다음 시뮬레이션 함으로서, 타이밍에 예민하지 않은 기능블럭들이 불필요하게 모두 테스트 받을 필요가 없으며, 따라서 칩을 설계하는데 있어서 시뮬레이션에 소요되는 시간을 대폭 줄일수 있다.In the fifth step, since only timing functions that are important for timing margin are placed separately at the physical level, simulation does not need to test all of the functional blocks that are not sensitive to timing unnecessarily, thus reducing the time required for simulation in designing a chip. It can greatly reduce.

도 2b를 보면, 상기의 과정을 통하여 그루핑한 결과를 나타내고 있다.2B shows the result of grouping through the above process.

도 2a는 종래의 에이직 디자인 방법에 의한 설계를 나타낸 것으로, 반복적인 매크로(MACRO)셀인 롬(ROM)과 램(RAM)을 제외한 나머지 기능 블럭들은 칩 전체의 공간에 퍼져서 배치됨을 볼수있다.Figure 2a shows a design by the conventional AIZ design method, it can be seen that the remaining functional blocks, except for the repetitive MAC (ROM) cells (ROM) and RAM (RAM) are spread throughout the chip.

이럴경우, 타이밍에 민감한 셀과 타이밍에 민감하지 않은 셀이 하나의 칩상에 혼재되고, 오토 배치-라우팅을 할경우 칩 공간을 비 효율적으로 사용하게 된다.In this case, timing-sensitive cells and non-timing-sensitive cells are mixed on one chip, and the chip space is inefficiently used for auto batch-routing.

도 2a는 본 발명에 따른 그루핑(grouping)에 의해서 배치된 결과를 나타내고 있다.Figure 2a shows the arrangement arranged by grouping according to the present invention.

동일한 기능을 가진 셀이나 타이밍에 예민한 셀들을 한군데에 모아서 최적화 시키고 모듈(module)화 시킴으로서, 실제 칩으로 구현할때 오류가 적다.By optimizing and modularizing cells with the same function or cells that are sensitive to timing, there are fewer errors in real chip implementation.

또한 표준셀(STANDARD CELL)을 이용하여 그루핑 하므로, 오토 배치-라우팅을 사용할수 있으며, 따라서 칩 설계시 많은 시간을 단축할수 있다.In addition, by grouping using a standard cell, auto batch-routing can be used, thus saving a lot of time in chip design.

또한 배치-라우팅을 하는 단계에서, 칩상에 배치되는 셀들이 흩어지면서 생기는 타이밍 문제를 해결할수 있음을 알수있다.In addition, it can be seen that in the batch-routing step, timing problems caused by scattering of cells disposed on a chip can be solved.

도 3은 본 발명에 따른 일실시예로서, 반복적으로 사용되는 셀에 대하여, 표준셀을 사용하여 미리 특정한 기능을 가진 새로운 표준셀로 만들어 적용하는 방법을 도시한 것이다.3 is a diagram illustrating a method for creating and applying a new standard cell having a specific function in advance using a standard cell to a cell repeatedly used according to an embodiment of the present invention.

도 3은 가산기를 설계하는경우를 나타낸 것으로, 빈번하게 사용되는 carry를 미리 표준셀로 만들어 두었다가 씀으로서 가산기를 설계하는데 있어서 설계시간을 줄인것을 나타내었다.3 shows a case of designing an adder, which shows that the design time is reduced in designing the adder by making and carrying a frequently used carry into a standard cell in advance.

이상에서 설명한 바와 같이 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명이 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.As described above, the present invention is not limited to the above-described embodiments and the accompanying drawings, and the present invention may be variously substituted, modified, and changed without departing from the spirit of the present invention. It will be apparent to those of ordinary skill in the art.

본 발명은 종래에 에이직 칩 디자인을 할때 타이밍 마진이 필요한 부분에 대해서 표준셀을 사용하여 그루핑을 함으로서, 오토 배치-라우팅 작업을 할수 있으며또한 상기 그루핑을 통하여, 타이밍에 민감한 셀을 먼저 배치하고 테스트를 함으로서 칩설계에 소요되는 시간을 대폭 단축시킬수가 있으며, 데이타 패스와 같은 반복적인 형태를 가진 셀들을 그루핑하여 설계면적을 감소시켜 칩 설계시 가격을 낮출수가 있다.According to the present invention, in the conventional chip design, the timing margin is needed for grouping using standard cells, so that auto batch-routing can be performed. By testing, the time required for chip design can be greatly reduced, and the cost of chip design can be lowered by reducing the design area by grouping cells with repetitive shapes such as data paths.

Claims (2)

설계하고자 하는 회로를 여러개의 기능 블럭으로 나누고, 이 기능블럭들을 프로그램으로서 표현하는, 레지스터 전송 레벨의 설계를 하는 제1단계;A first step of designing a register transfer level, dividing a circuit to be designed into a plurality of functional blocks and expressing these functional blocks as a program; 상기 프로그램으로서 표현된 레지스터 전송 레벨로 된 데이타를 좀더 구체적인 논리게이트의 합성을 통해 게이트 레벨의 데이타로 변환하는 제2단계;A second step of converting data of a register transfer level represented as the program into gate level data through synthesis of more specific logic gates; 상기 게이트 레벨로 표현된 데이타를 논리 시뮬레이션 하는 제3단계;Performing a logic simulation on the data represented by the gate level; 상기 검증된 데이타를 가지고, 하드웨어 프로그래밍을 하는 제4단계;A fourth step of hardware programming with the verified data; 피지컬 라이브러리에 동일한 기능을 가지고 있거나, 반복적인 형태를 가지고 있거나, 타이밍 마진이 필요한 셀을 중심으로 그루핑하여 모듈화 시키는 제5단계;A fifth step of grouping and modularizing a cell having the same function in the physical library, having a repetitive shape, or requiring a timing margin; 상기 그루핑된 모듈에 한해서 오토 배치-라우팅 하는 제6단계;A sixth step of auto batch-routing only for the grouped module; 상기 그루핑된 모듈에 한해서, 이때 생긴 데이타 화일을 가지고 논리, 타이밍 시뮬레이션을 하는 제7단계Step 7 of performing logic and timing simulation with the data file generated at this time only for the grouped module. 상기 제6단계에서 오토 배치-라우팅을 하고 남은 데이터를 가지고, 오토 배치-라우팅을 하는 제8단계를 포함하여 이루어진 것을 특징으로 하는 표준셀을 이용한 그루핑을 통하여 효율적으로 칩을 설계하는 방법.And an eighth step of performing auto batch-routing with the remaining data after the auto batch-routing in the sixth step. 제 1 항에 있어서,The method of claim 1, 상기 제5단계는,The fifth step, 표준셀을 이용하여 그루핑을 하는 것을 특징으로 하는 표준셀을 이용한 그루핑을 통하여 효율적으로 칩을 설계하는 방법.A method of efficiently designing a chip through grouping using a standard cell, characterized in that grouping using a standard cell.
KR1020000087044A 2000-12-30 2000-12-30 Method for chip design using standard cell grouping KR20020058911A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000087044A KR20020058911A (en) 2000-12-30 2000-12-30 Method for chip design using standard cell grouping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000087044A KR20020058911A (en) 2000-12-30 2000-12-30 Method for chip design using standard cell grouping

Publications (1)

Publication Number Publication Date
KR20020058911A true KR20020058911A (en) 2002-07-12

Family

ID=27689974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000087044A KR20020058911A (en) 2000-12-30 2000-12-30 Method for chip design using standard cell grouping

Country Status (1)

Country Link
KR (1) KR20020058911A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674934B1 (en) * 2005-01-06 2007-01-26 삼성전자주식회사 Method of deciding tile-switch mapping architecture within on-chip-bus and computer-readable medium for recoding the method
KR100831271B1 (en) * 2006-08-16 2008-05-22 동부일렉트로닉스 주식회사 Method for Changing Physical Layout Data by Using Physical Layer Which is Created by Program
US9779198B2 (en) 2015-03-13 2017-10-03 Samsung Electronics Co., Ltd. Individually coloring separated cell blocks in layout of integrated circuits
CN112347722A (en) * 2020-11-12 2021-02-09 盛科网络(苏州)有限公司 Method and device for efficiently evaluating chip Feed-through flow stage number
KR20210145060A (en) * 2020-05-21 2021-12-01 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 Systems and methods for multi-bit memory with embedded logic

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674934B1 (en) * 2005-01-06 2007-01-26 삼성전자주식회사 Method of deciding tile-switch mapping architecture within on-chip-bus and computer-readable medium for recoding the method
KR100831271B1 (en) * 2006-08-16 2008-05-22 동부일렉트로닉스 주식회사 Method for Changing Physical Layout Data by Using Physical Layer Which is Created by Program
US9779198B2 (en) 2015-03-13 2017-10-03 Samsung Electronics Co., Ltd. Individually coloring separated cell blocks in layout of integrated circuits
KR20210145060A (en) * 2020-05-21 2021-12-01 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 Systems and methods for multi-bit memory with embedded logic
US11755805B2 (en) 2020-05-21 2023-09-12 Taiwan Semiconductor Manufacturing Company, Ltd. Systems and methods for multi-bit memory with embedded logic
CN112347722A (en) * 2020-11-12 2021-02-09 盛科网络(苏州)有限公司 Method and device for efficiently evaluating chip Feed-through flow stage number
CN112347722B (en) * 2020-11-12 2023-12-26 苏州盛科通信股份有限公司 Method and device for efficiently evaluating chip Feed-through flow number of stages

Similar Documents

Publication Publication Date Title
US5426591A (en) Apparatus and method for improving the timing performance of a circuit
US5719783A (en) Method and apparatus for performing timing analysis on a circuit design
US5802349A (en) Method for generating an optimized integrated circuit cell library
US8122404B2 (en) Performing a statistical timing abstraction for a hierarchical timing analysis of VLSI circuits
US6321363B1 (en) Incremental simulation using previous simulation results and knowledge of changes to simulation model to achieve fast simulation time
JPH1173302A (en) Circuit and method for optimizing power consumption of register transfer level placing great importance on analysis and reduction of glitch, and recording medium
US20100251196A1 (en) Method and System for Designing a Structural Level Description of an Electronic Circuit
CN101539958A (en) Method and device for designing standard cell library and integrated circuit
US6463567B1 (en) LSI design system through model creation for functional block and LSI design method therefor
US20100281450A1 (en) Method and system for mapping a boolean logic network to a limited set of application-domain specific logic cells
US20080295045A1 (en) Method for Creating Hdl Description Files of Digital Systems, and Systems Obtained
EP2541448B1 (en) Method and system for partial reconfiguration simulation
Turner et al. DILL: Specifying digital logic in LOTOS
KR20020058911A (en) Method for chip design using standard cell grouping
US7603646B1 (en) Method and apparatus for power optimization using don't care conditions of configuration bits in lookup tables
US20030079190A1 (en) Method for deriving a hierarchical functional description of a circuit
CN114186523B (en) Digital-analog hybrid design method and process migration method based on asynchronous circuit
US6516453B1 (en) Method for timing analysis during automatic scheduling of operations in the high-level synthesis of digital systems
Khvatov et al. Development of an IP-cores Libraries as Part of the Design Flow of Integrated Circuits on FPGA
US6711722B1 (en) Method for deriving a functional circuit description
JPH1131162A (en) Simulation device for logic circuit, and logic verification method
US20020188914A1 (en) Method for deriving a hierarchical functional description of a circuit
US6711534B1 (en) Method of analyzing a circuit having at least one structural loop between different channel connected components within the circuit
US6367057B1 (en) Method of analyzing a circuit having at least one structural loop within a channel connected component
US6988252B2 (en) Universal gates for ICs and transformation of netlists for their implementation

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination