KR20130023070A - 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체 - Google Patents

집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR20130023070A
KR20130023070A KR1020120082378A KR20120082378A KR20130023070A KR 20130023070 A KR20130023070 A KR 20130023070A KR 1020120082378 A KR1020120082378 A KR 1020120082378A KR 20120082378 A KR20120082378 A KR 20120082378A KR 20130023070 A KR20130023070 A KR 20130023070A
Authority
KR
South Korea
Prior art keywords
wiring
length
wirings
group
bypass
Prior art date
Application number
KR1020120082378A
Other languages
English (en)
Other versions
KR101382984B1 (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 가부시끼가이샤 도시바
Publication of KR20130023070A publication Critical patent/KR20130023070A/ko
Application granted granted Critical
Publication of KR101382984B1 publication Critical patent/KR101382984B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • 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/394Routing
    • 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
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Abstract

일 실시 형태에서, (a) 소정의 동작 주파수를 만족하도록 제1 배선을 구하는 단계, (b) 소정의 동작 주파수와 제1 배선의 크리티컬 패스에 기초하여 최대 바이패스 배선 길이를 산출하는 단계, (c) 제1 배선을 포함하는 제1 배선군 내에서 제1 배선의 배선들 이외의 배선들을 사용하여 제1 배선을 바이패스시킴으로써 제2 배선을 구하는 단계 -집적 회로의 배선은 복수의 배선군으로 분류되고, 제1 배선은 분류되어 있는 배선군 중 제1 배선군에 포함됨-, 및 (d) 제2 배선과 제1 배선 사이의 차분이 최대 바이패스 배선 길이보다 크지 않으면, 제1 배선을 제2 배선으로 대체하고, 차분이 최대 바이패스 배선 길이보다 크면, 제1 배선을 제2 배선으로 대체하지 않는 단계를 포함하는 집적 회로의 회로 설계 구현 방법이 제공된다.

Description

집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체{METHOD FOR IMPLEMENTING CIRCUIT DESIGN FOR INTEGRATED CIRCUIT AND COMPUTER READABLE MEDIUM}
본 발명은 2011년 8월 24일자 출원된 일본 특허 출원 제2011-182833호의 우선권을 주장하며, 그 전체 내용은 참조로서 본원에 원용된다.
본 발명의 실시 형태는 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체에 관한 것이다.
사용자가 독자적인 논리 회로를 기입하여 사용자가 원하는 동작을 실현할 수 있는 집적 회로의 한 종류로서 FPGA(Field Programmable Gate Array)가 있다. FPGA에서는 제품 출하 후에도 내부 회로를 재기입할 수 있다. 종래의 FPGA의 레이아웃에 배치된 논리 블록을 연결하는 배선을 구현하기 위해서는, 미리 선택된 복수의 배선을 사용하여, 논리 블록간의 배선 길이가 가장 짧아지도록, 즉 동작 주파수가 가장 높아지도록 배선한다. 사용자가 요구하는 성능(동작 주파수)을 만족하면 그 배치된 배선을 채용한다. 만족하지 않으면, 배선의 선택 단계부터 배선을 다시 시도한다.
이와 같이 배치 및 배선된 FPGA에는, ASIC(Application Specific Integrated Circuit)과 달리, 회로로서 사용되지 않는 배선이나 논리 블록이 다수 존재할 수 있다. 이러한 배선이나 논리 블록에는, 사용되고 있지 않음에도 불구하고 전류가 흐른다. 따라서, FPGA의 총 소비 전력(특히, 정적 소비 전력)이 증가하는 문제가 있다.
미국 특허 제7281233호
KARA K. W. POON, STEVEN J.E. Wilton, and Andy YAN, "A Detailed Power Model for Field-Programmable Gate Arrays", ACM Trans. on Design Automation of Electronic Systems, Vo1. 10, No2, April 2005.
일 실시 형태에 따르면, 집적 회로의 회로 설계 구현 방법이 제공된다. 상기 방법은, (a) 소정의 동작 주파수를 만족하도록 제1 배선을 구하는 단계, (b) 소정의 동작 주파수와 제1 배선의 크리티컬 패스에 기초하여 최대 바이패스 배선 길이를 산출하는 단계, (c) 제1 배선을 포함하는 제1 배선군 내에서 제1 배선의 배선들 이외의 배선들을 사용하여 제1 배선을 바이패스시킴으로써 제2 배선을 구하는 단계 -집적 회로의 배선은 복수의 배선군으로 분류되고, 제1 배선은 분류되어 있는 배선군 중 제1 배선군에 포함됨-, 및 (d) 제2 배선과 제1 배선 사이의 차분이 최대 바이패스 배선 길이보다 크지 않으면, 제1 배선을 제2 배선으로 대체하고, 차분이 최대 바이패스 배선 길이보다 크면, 제1 배선을 제2 배선으로 대체하지 않는 단계를 포함한다.
본 발명의 여러 기능을 구현하는 일반적인 구조에 대하여 도면을 참조하여 설명한다. 도면 및 관련 설명은 본 발명의 실시 형태를 예시하기 위해 제공되는 것이며, 본 발명의 범위를 한정하려는 것은 아니다.
도 1은 실시 형태에 따른 FPGA의 개념을 나타내는 도면이다.
도 2는 실시 형태에 따른 배선의 전원을 제어하기 위한 회로의 일례를 나타내는 도면이다.
도 3의 (a) 내지 (c)는 각각, 실시 형태에 따른 인버터와 트랜지스터 사이의 접속 부분을 상세하게 도시하는 도면이다.
도 4는 실시 형태에 따른 FPGA의 배치 및 배선을 행하는 PC의 블록도이다.
도 5는 실시 형태에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 6은 실시 형태에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 7은 실시 형태에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 8의 (a) 및 (b)는 각각, 배선을 바이패스하는데 필요한 배선을 나타내는 도면이다.
도 9는 실시 형태의 제1 변형예에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 10은 실시 형태의 제2 변형예에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 11은 실시 형태의 제2 변형예에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
도 12는 실시 형태의 제3 변형예에 따른 FPGA의 배치 및 배선을 나타내는 흐름도이다.
이하, 본 발명의 실시 형태에 대해 도면을 참조하여 설명한다. 도 1은 본 실시 형태에 따른 FPGA의 개념을 나타내는 도면이다. 본 실시 형태에 따른 FPGA에서는, FPGA에 포함되는 배선을 몇 개의 군(이후, 배선군이라 함)으로 나눈다. 1개의 배선군에 포함되는 복수(n개라고 함)의 배선의 전원의 ON/OFF를 1개의 메모리로부터 출력된 신호에 의해 제어한다. 도 1에서는, 각각의 배선군에 포함되는 배선의 개수가 동일하도록 도시되어 있다, 그러나, 실제로는, 배선의 개수가 배선군마다 상이해도 좋다. 도 1은 메모리 D1 내지 D18이 접속된 제어용 배선에, FPGA의 배선군이 접속되어 있는 상태를 나타낸다. 메모리 D1 내지 D18은, SRAM 등의 휘발성 메모리 또는 DRAM 등의 비휘발성 메모리를 사용해도 좋다. 비휘발성 메모리를 사용한 경우에는, FPGA 전체의 전원을 OFF로 하여도, 정보를 유지할 수 있다. 따라서, 정보의 재기입이 필요 없어, 휘발성 메모리보다 소비 전력을 낮게 억제할 수 있다.
이와 같이 구성함으로써, 배선군에 포함되는 복수의 배선이 FPGA의 동작 동안 사용되지 않으면, 이 배선군의 전원을 OFF로 할 수 있다. FPGA에서, 배선 부분의 소비 전력량은 높으므로, 사용되지 않는 배선군의 전원을 OFF로 함으로써 정적 소비 전력을 삭감할 수 있다. 또한, 본 실시 형태에 따른 FPGA에서는 복수의 배선의 전원을 1개의 메모리에 의해 관리한다. 이에 따라, 각 배선에 대하여 1개씩 메모리를 구비하는 경우에 비해, 메모리수를 감소할 수 있어, 메모리 배치를 위한 면적 증대를 억제할 수 있다.
도 2는 배선의 전원을 제어하기 위한 회로의 일례(메모리 D1에 접속된 회로의 예)를 나타내는 도면이다. 예를 들어, FPGA 상의 스위치 부분에는 도 2에 도시된 2-입력 멀티플렉서가 사용된다. 멀티플렉서에 의해, 예를 들어 메모리 D10에 의해 제어되는 배선을 메모리 D1에 의해 제어되는 배선에 접속할 수 있다. 이에 따라, 다른 배선으로의 경로 전환이 가능하다. 2-입력 멀티플렉서는, FPGA를 제어하기 위한 메모리(23)로부터의 출력에 따라 선택되는 N형 MOSFET(21) 또는 P형 MOSFET(22)에 입력된 배선으로부터의 신호를 출력한다. 도 2의 예에서는, 메모리 D10에 의해 제어되는 배선으로부터의 신호는 N형 MOSFET(21)에 입력하고, 메모리 D1에 의해 제어되는 배선으로부터의 신호는 P형 MOSFET(22)에 입력하는 것으로 하고 있다. 또한, 2-입력 멀티플렉서에는, 신호 증폭을 위한 인버터(24 내지 26)가 구비되어 있다. 각각의 인버터(24 내지 26)에 대하여 메모리 D1 또는 메모리 D10으로부터의 출력 신호에 의해 ON/OFF하는 트랜지스터(27 내지 29)가 각각 구비되어 있다. 도 2는 배선군에 포함되는 1개의 배선에 구비되는 멀티플렉서로서 회로를 도시하고 있지만, 하나의 동일한 메모리 D1에 접속되는 모든 배선에 구비되어 있는 인버터 전체에 대하여, 마찬가지의 트랜지스터 회로가 구비된다.
도 3은 도 2에서의 인버터(24)와 트랜지스터(27) 사이의 접속 부분(도 2에서 파선으로 둘러싼 부분)을 상세하게 도시하는 도면이다. 인버터(24)와 트랜지스터(27) 접속 부분은, 예를 들어 도 3의 (a) 내지 (c) 중 어느 하나에 도시된 바와 같이 형성된다. 도 3의 (a)와 (b)는 인버터(24)를 구성하는 N형 MOSFET 혹은 P형 MOSFET 중 어느 하나의 일단부에 1개의 트랜지스터(27)를 접속한 회로를 도시하고 있다. 도 3의 (c)는 인버터(24)를 구성하는 N형 MOSFET의 일단부에 1개의 트랜지스터(27)를 접속하고, 인버터(24)를 구성하는 P형 MOSFET의 일단부에 또 하나의 트랜지스터(27)를 접속한 회로를 도시하고 있다.
인버터(24)에 접속되는 트랜지스터(27)를 메모리 D1로부터의 출력 신호에 따라 OFF로 설정하면, 인버터에 흐르는 전류를 차단할 수 있다. 특히, 도 3의 (c)에 도시된 회로에서는, 도 3의 (a)나 (b)에 비해 필요한 트랜지스터(27)가 1개 더 많지만, 보다 안정적으로 인버터(24)가 접속된 배선의 전원 ON/OFF를 설정할 수 있다. 도 2의 인버터(25)와 트랜지스터(28) 사이의 접속 부분이나 인버터(26)와 트랜지스터(29) 사이의 접속 부분도 도 3의 (a) 내지 (c)를 참조하여 설명한 회로에 의해 구성할 수 있다.
다음으로, 도 1, 도 2 및 도 3의 (a) 내지 (c)를 참조하여 설명한 FPGA의 배치 및 배선에 대해 설명한다. 본 실시 형태에 따른 FPGA의 배치 및 배선은, 예를 들어 퍼스널 컴퓨터(PC)에 의해 실행된다. 도 4는 FPGA의 배치 및 배선을 행하는 PC(1)의 블록도이다. PC(1)에서, 프로세서(10), 메인 메모리(20), 하드 디스크(30) 및 입출력 장치(40)가 내부 인터페이스를 통하여 접속되어 있다. 또한, 메인 메모리(20)에는 비휘발성 메모리(50)가 접속되어 있다. 프로세서(10)는 연산 처리를 행하는 프로세서 엘리먼트(11)와 캐시(12)를 갖는다. 프로세서(10)는 PC(1) 전체를 제어한다. I/O 장치(40)는 여러 외부 기기와 접속되고, 예를 들어 배치 및 배선에 관한 정보를 FPGA에 기입할 때에 배치 및 배선에 관한 정보를 출력하기 위해 사용된다. FPGA의 배치 및 배선을 위한 프로그램은, 예를 들어 하드 디스크(30)에 기억되어 있고, 다음과 같이 실행된다. 즉, 메인 메모리(20)가 프로그램을 판독하고, 프로세서 엘리먼트(11)가 메인 메모리(20)에서 판독된 프로그램을 따라 동작을 실행된다. 하드 디스크(30)에 기억되는 FPGA의 배치 및 배선 프로그램은, 프로그램이 기억된 기억 매체(기록 가능한 CD/DVD나 USB 메모리 등)로부터 입출력 장치(40)를 통해 얻을 수 있거나, 또는 프로그램을 기억한 서버로부터 도시되지 않은 안테나를 통해 얻을 수 있다.
본 실시 형태에 따른 FPGA의 배치 및 배선은, 도 5 내지 도 7의 처리를 프로세서 엘리먼트(11)가 실행함으로써 행할 수 있다. 프로세서 엘리먼트(11)는 도 5에 나타낸 처리를 행하여 사용자가 요구하는 성능을 만족하도록 배치 및 임시 배선을 행한다. 프로세서 엘리먼트(11)는 도 6 및 도 7에 나타낸 처리를 행하여 사용자가 요구하는 성능을 만족하면서 임시 배선을 변경한다. 따라서, 프로세서 엘리먼트(11)는 보다 많은 배선의 전원을 OFF할 수 있는 배선을 행한다.
도 5에 나타내는 처리에 대해 설명한다. 도 5에 나타낸 임시 배선에 대한 처리 흐름의 각 스텝에서의 처리에 대해서는, 비특허 문헌 1에 기재되어 있으므로, 그 상세한 설명을 생략한다. 프로세서 엘리먼트(11)는 사용자가 원하는 회로를 얻도록 논리 블록을 배치한다(S10). 그리고, 프로세서 엘리먼트(11)는 복수의 배선을 선택하고(S11), 선택된 배선을 사용하여, 스텝 S10에 배치된 논리 블록을 접속하는 배선을 행한다(S12).
선택된 배선을 사용하여 배선이 완료되면(S13의 예), 프로세서 엘리먼트(11)는 생성된 배치 및 배선의 크리티컬 패스(critical path)를 산출한다(S14). 산출된 크리티컬 패스에 기초하여, 프로세서 엘리먼트(11)는 생성된 배치 및 배선의 최대 동작 주파수를 구하고, 사용자가 요구하는 소정의(given) 동작 주파수(이하, 요구 주파수라 함)를 만족하는지 여부를 판단한다(S15). 스텝 S15에서, 생성된 배치 및 배선이 요구 주파수를 만족하지 않는다고 판단되었을 때에는(S15의 아니오), 프로세서 엘리먼트(11)는 스텝 S11로 복귀되어 배선을 다시 행한다. 한편, 요구 주파수를 만족하는 배치 및 배선을 생성할 수 있는 경우에는(S15의 예), 프로세서 엘리먼트(11)는 도 5에 나타낸 임시 배선 처리를 종료한다. 이후, 생성된 배치 및 배선에 사용되는 배선을 레이아웃에 사용되는 배선으로서 참조한다.
다음으로, 도 6 및 도 7에 나타낸 처리에 대해 설명한다. 임시 배선 처리에서는 요구 주파수를 만족하는 배치 및 배선을 얻을 수 있지만, 배선의 소비 전력을 삭감하는 것은 고려되어 있지 않다. 따라서, 프로세서 엘리먼트(11)는, 도 5에 나타낸 임시 배선 처리가 종료되면, 도 6 및 도 7에 나타내는 재배선 처리를 개시한다.
프로세서 엘리먼트(11)는, 우선, 요구 주파수를 만족하는 범위 내에서, 현재의 배선의 크리티컬 패스를 최대한 바이패스 가능한 배선 길이를 산출한다(S20). 바이패스 배선 길이 BNUM의 산출은, 예를 들어 식 (1)에 의해 행한다.
Figure pat00001
여기에서, DPATH는 크리티컬 패스 CPATH에 의해 발생하는 지연 시간을 나타내고, DCLB는 논리 블록 1변의 길이에 대응하는 배선에 의해 발생하는 지연 시간을 나타낸다. 즉, 바이패스 배선 길이 BNUM은, 사용자가 요구하는 성능을 만족하는 범위 내에서, 현재의 배선의 크리티컬 패스 CPATH로부터 배선을 바이패스시킴으로써, 논리 블록 몇 변분만큼 배선을 바이패스시킬 수 있는지 여부를 나타낸다.
바이패스 배선 길이 BNUM의 산출 방법은 식 (1)에 한정되지 않고, 사용자가 요구하는 성능과 크리티컬 패스를 사용하는 다른 산출 방법일 수 있다. 예를 들어, 식 (2)에 나타낸 바와 같은 산출 방법을 고려할 수 있다.
Figure pat00002
LMAX는 요구 주파수 fR을 만족하는 최대의 배선의 길이를 나타내고, LC는 크리티컬 패스 CPATH의 길이를 나타내고, LCLB는 논리 블록 1변의 길이를 나타낸다.
프로세서 엘리먼트(11)는 이와 같이 하여 산출된 바이패스 배선 길이 BNUM가 2 이상인지 여부를 판단한다(S21). 도 8의 (a)에 나타낸 바와 같이, 수직 방향으로 배치된 논리 블록 1변에 대응하는 배선 T1을 바이패스시키기 위해서는, 수평 방향의 논리 블록의 2변에 대응하는 배선 T2, T3과, 수직 방향의 논리 블록 1변에 대응하는 배선 T4의 배선이 적어도 필요하다. 마찬가지로, 도 8의 (b)에 나타낸 바와 같이, 수평 방향으로 배치된 논리 블록 1변에 대응하는 배선 T5를 바이패스시키기 위해서는, 수직 방향의 논리 블록의 2변에 대응하는 배선 T6, T7과, 수평 방향의 논리 블록 1변에 대응하는 배선 T8이 적어도 필요하다. 즉, 크리티컬 패스 CPATH의 배선을 바이패스시키기 위해서는, 적어도 논리 블록의 2변분 배선 길이가 증가하는 것을 의미한다.
따라서, 바이패스 배선 길이 BNUM을 2와 비교하면, 사용자가 요구하는 성능을 만족하면서, 배선을 바이패스시키는 것이 가능한지 여부를 판단할 수 있다. 바이패스 배선 길이 BNUM가 2보다 작으면(S21의 아니오), 배선 처리가 종료된다. 이에 따라, 사전에 사용자가 요구하는 성능을 만족하면서 배선을 바이패스시키는 것이 가능한지 여부를 판단함으로써, 사용자가 요구하는 성능을 만족할 수 없음에도 불구하고 배선의 바이패스를 시도하는 불필요한 처리를 생략할 수 있다.
스텝 S21에서 바이패스 배선 길이 BNUM이 2보다 작지 않다고 판단되면, 프로세서 엘리먼트(11)는 배선군 내에서 레이아웃용으로 사용되는 배선의 개수에 의해 각 배선군을 분류한다(categorize)(S22). 즉, 각 배선군은 배선군에 포함되는 k개의 배선 중, i개의 배선(0≤i≤n)이 레이아웃용으로 사용되는(이후, 사용 배선(working wires)이라 함) 배선군으로서 분류된다. 그리고, 프로세서 엘리먼트(11)는 재배선이 행해졌는지 여부의 판단(S28에서 후술함)하는데 사용하기 위한 플래그를 리셋한다(S23).
프로세서 엘리먼트(11)는 사용 배선의 수가 1개인 카테고리 G1을 선택한다(S24). 카테고리 G1 내에 배선군이 존재하면(S25의 예), 프로세서 엘리먼트(11)는 도 7에 나타낸 흐름도로 이동한다. 배선군이 존재하지 않으면(S25의 아니오), 프로세서 엘리먼트(11)는 현재 선택되어 있는 카테고리보다 사용 배선의 수가 1개 많은 카테고리를 선택하여, 변수 I가 n이 될 때까지, 스텝 S25의 처리를 반복한다.
스텝 S25에서, 카테고리 GI에 배선군이 존재한다고 판단된 경우, 프로세서 엘리먼트(11)는 카테고리 GI로부터 임의의 배선군 WTARGET을 1개 선택한다(S40). 그리고, 프로세서 엘리먼트(11)는 배선군 WTARGET에 포함되며 레이아웃용으로 사용되는 I개의 배선 각각을 바이패스하기 위한, 사용 배선의 수가 1개 내지 n개인 배선군의 배선을 사용하는 바이패스 경로(bypass)를 산출한다(S41). 스텝 S41에서 산출되는 바이패스 경로가 복수 있는 경우에는, 최단의 바이패스 경로를 선택한다.
프로세서 엘리먼트(11)는, 배선군 WTARGET에 포함되는 모든 사용 배선이 배선군 WTARGET과는 다른 배선군에 의해 바이패스 가능하면(S42의 예), 원래의 배선과 비교한 바이패스 후의 배선의 증가 길이 BADD를 산출한다(S43). 증가된 배선 길이를 나타내는 BADD는, 증가된 배선 길이 BADD를 바이패스 배선 길이 BNUM과 비교할 수 있도록, 논리 블록 몇 변에 대응하는 길이인지를 나타내는 값으로서 산출한다. 본 발명은 이에 한정되지 않고, 배선 길이 BADD와 BNUM을 서로 비교할 수 있도록 배선 길이 BADD와 BNUM의 단위가 일치되어 있으면 된다.
증가된 배선 길이 BADD가 최대 바이패스 배선 길이 BNUM보다 짧으면(S44의 예), 바이패스 후의 배선이 요구 주파수를 만족하는 것이 보장된다. 이에 따라, 프로세서 엘리먼트(11)는 바이패스 후의 배선을 채용한다(S45). 바이패스 후의 배선이 채용되는 경우에는, 식 (3)에 나타낸 바와 같이, 배선군 WTARGET의 카테고리가 사용 배선 0개의 카테고리로 변경되고, 최대 바이패스 배선 길이 BNUM의 값이 갱신된다. 또한, 배선군 WTARGET의 배선의 바이패스에 사용된 배선을 포함하는 배선군의 카테고리가, 바이패스 배선 채용 후의 사용 배선수에 따라 변경된다.
Figure pat00003
스텝 S45에서, 바이패스 경로를 채용하는 처리가 종료되면, 프로세서 엘리먼트(11)는 재배선이 행해졌다는 것을 나타내는 플래그를 설정한다(S46). 최대 바이패스 배선 길이 BNUM이 2보다 작으면(S47의 아니오), 더 이상 배선을 바이패스시킬 수 없다. 따라서, 프로세서 엘리먼트(11)는 도 6의 스텝 S29에서 재배선 후의 크리티컬 패스를 산출하고, 스텝 S20부터의 처리를 반복한다. 그에 반해, 최대 바이패스 배선 길이 BNUM이 적어도 2이면(S47의 예), 프로세서 엘리먼트(11)는 스텝 S25로 복귀되고, 카테고리 GI에 포함되는 배선군의 재배선 처리를 행한다.
스텝 S44에서, 증가된 배선 길이 BADD가 최대 바이패스 배선 길이 BNUM보다 긴 경우(S44의 아니오)나, 배선군 WTARGET의 사용 배선 중 적어도 1개의 사용 배선이 바이패스할 수 없는 경우(S42의 아니오), 바이패스 후의 배선은 채용되지 않는다(rejected)(S48). 바이패스 후의 배선이 채용되지 않은 경우에는, 배선군 WTARGET이 처리 완료되었다는 것을 판별하기 위한 정보가 제공된다. 예를 들어, 처리 완료된 배선군을 나타내는 카테고리 GFINISH를 구비하고, 식 (4)에 나타낸 바와 같이, 배선군 WTARGET을 카테고리 GFINISH로 이동시킴으로써, 처리 완료로서 판정한다.
Figure pat00004
그리고 스텝 S48의 처리가 종료되면, 프로세서 엘리먼트(11)는 스텝 S25로 복귀되고, 카테고리 GI에 포함되는 배선군의 재배선 처리를 행한다. 최대 바이패스 배선 길이 BNUM이 적어도 2인 상태에서, 모든 카테고리 G1 내지 Gn -1에 포함되는 모든 배선군에 대한 재배선 처리가 종료되면(S27의 예), 스텝 S28에서, 바이패스 배선이 채용되었는지 여부가 판단된다. 바이패스 배선이 채용되지 않으면(S28의 아니오), 배선 처리를 종료한다. 바이패스 배선이 채용되었는지 여부는 재배선이 행해졌다는 것을 나타내는 플래그에 기초하여 판단할 수 있다.
이상 설명한 처리에 따르면, 요구 주파수를 만족하는 배선에 기초하여, 요구 주파수를 만족하면서, 레이아웃에 사용되는 배선이 없는 배선군의 수를 증가시킨 배선을 얻을 수 있다.
본 실시 형태에서는, 사용 배선의 개수가 적은 카테고리에 포함되는 배선군부터 순서대로 재배치 처리를 행하였다. 그러나, 재배선 처리를 행하는 순서는 이것에 한정되지 않는다. 예를 들어, 배선군을, 사용 배선이 없는 카테고리, 사용 배선이 n개인 카테고리 및 사용 배선이 1개 내지 (n-1)개인 카테고리의 3개로 나눈다고 상정하자. 사용 배선이 1개 내지 (n-1)개인 카테고리에 포함되는 어느 하나의 배선군부터 임의의 순서로 재배선 처리를 행해도 된다.
도 6 및 도 7을 참조하여 설명한 재배선 처리에서는, 처리의 종료 조건은 2가지가 있다. 즉, 최대 바이패스 배선 길이 BNUM이 2보다 작은 경우와 최대 바이패스 배선 길이 BNUM을 산출한 후에 어느 배선군에 대하여도 바이패스 배선이 채용되지 않은 경우이다. 그러나, 채용된 배치 배선에 따라서는, 최대 바이패스 배선 길이 BNUM이 2보다 작지 않더라도, 더 이상 재배치할 수 없는 경우가 있다. 따라서, 상술한 종료 조건에 이하의 제1 내지 제3 변형예에 나타내는 종료 조건이 추가될 수 있다. 이하의 변형예의 흐름도에서는, 도 6, 도 7을 참조하여 설명된 처리와 동일한 처리에는 대응되도록 동일한 번호를 부여하고, 상세한 설명을 생략한다.
(제1 변형예)
예를 들어, 최대 바이패스 배선 길이 BNUM이 2인 경우, 재배치 산출을 행하지 않은 임의의 배선군의 사용 배선의 수가 적어도 2라고 상정하자. 이 경우, 1개의 사용 배선을 바이패스할 수 있어도, 다른 사용 배선을 바이패스할 수 없다. 즉, 사용 배선의 개수가 적은 카테고리에 포함되는 배선군부터 순서대로 재배치 산출을 행하는 경우, 최대 바이패스 배선 길이 BNUM이 2×I(I는 사용 배선의 개수를 나타냄)보다 작게 되면, 사용 배선의 모두를 바이패스시킬 수는 없다.
따라서, 도 6에 나타낸 처리 대신에 도 9와 같이, 최대 바이패스 배선 길이 BNUM과 2×I를 비교한다(S101). 최대 바이패스 배선 길이 BNUM이 적어도 2×I이면(S101의 예), 처리의 흐름은 스텝 S40으로 진행하고, 카테고리 GI 내의 배선군의 재배선 처리를 행한다. 최대 바이패스 배선 길이 BNUM가 2×I보다 작으면(S101의 아니오), 처리의 흐름은 스텝 S28의 처리로 진행한다. 그에 따라, 재배치할 수 없음에도 재배치를 시도하는 처리를 행하는 것을 방지할 수 있다.
(제2 변형예)
바이패스 배선이 몇 번이나 연속해서 채용되지 않은 경우, 그 시점에서 배선 처리를 종료시켜도 된다. 도 10 및 도 11은 프로세서 엘리먼트(11)가 바이패스 경로의 채용되지 않은 수가 소정의 수(NF회)를 초과하자마자 배선 처리를 종료시키는 처리를 나타내는 흐름도이다.
도 10 및 도 11에 나타낸 처리에서, 바이패스 경로의 채용되지 않은 횟수를 카운트하는 변수 Ncount를 사용한다. 변수 Ncount는 바이패스 경로의 탐색이 행해지기 전에(예를 들어, 도 10의 스텝 S111), 0으로 리셋된다. 그리고, 도 11의 스텝 S48에서 바이패스 경로가 채용되지 않은 경우에는, 변수 Ncount가 1 증가한다(S112). 변수 Ncount가 임계값 NF을 초과한 경우(S113의 예)에는, 배선 처리를 종료한다. 한편, 도 11의 스텝 S45에서 바이패스 경로가 채용된 경우에는, 변수 Ncount가 0으로 리셋된다(S114).
(제3 변형예)
미리 재배치 산출 대상의 카테고리를 정할 수 있다. 재배치 산출 대상의 카테고리에 포함되는 배선군의 재배치 산출이 종료되면, 처리는 종료된다. 그 때문에, 도 6에 나타낸 처리 대신에 도 12에 기초하여 처리를 행한다. 도 12에 나타낸 처리에서는, 재배치 산출 전에(예를 들어 도 12의 S121) 재배치 산출 대상으로서의 카테고리를 설정한다. 여기에서, 재배선될 수 있는 배선군이 속하는 카테고리의 최대 사용 배선의 수를 식 (5) 및 식 (6)에 의해 산출한다.
Figure pat00005
Figure pat00006
Ri는, 각각이 수평 방향의 배선으로 이루어져 있으며, 사용 배선의 개수가 i개인 배선군의 수를 나타내고, Ci는 각각이 수직 방향으로 이루어져 있으며, 사용 배선의 개수가 i개인 배선군의 수를 나타낸다. 프로세서 엘리먼트(11)는 식 (5) 및 식 (6)을 만족하도록 재배선 대상으로서의 카테고리의 최대 사용 배선수 J를 구한다.
배선군 중에서, 레이아웃용으로 사용되는 배선이 i개의 수직 방향의 배선인 경우, 바이패스 배선으로서 수평 방향의 배선 2×i개와 수직 방향의 배선 i개가 필요하다. 한편, 레이아웃용으로 사용되는 배선이 i개의 수평 방향의 배선인 경우, 바이패스 배선으로서 수평 방향의 배선 i개와 수직 방향의 배선 2×i개가 필요하다.
식 (5)의 좌변은, 각 배선군 내에서 레이아웃용으로 1 내지 J개 배선이 사용되는 카테고리로 분류되어 있는 배선군에 포함되는 배선을 모두 바이패스시킬 때에 필요한 수평 방향의 배선의 개수를 나타낸다. 식 (5)의 우변은, 레이아웃에 사용되지 않지만, 각 배선군 내에서 레이아웃용으로 (J+1)개 내지 n개 배선이 사용되는 카테고리로 분류되어 있는 배선군에 포함되는 수평 방향의 배선의 총 개수를 나타낸다. 즉, 식 (5)에서는, 각 배선군 내에서 레이아웃용으로 1 내지 J개 배선이 사용되는 카테고리로 분류되어 있는 배선군에 포함되는 배선을 모두 바이패스시키는데, 바이패스 경로로 기능할 수 있는 수평 방향의 배선이 충분한지 여부를 검증하고 있다.
마찬가지로, 식 (6)에서는, 각 배선군 내에서 레이아웃용으로 1 내지 J개 배선이 사용되는 카테고리로 분류되어 있는 배선군에 포함되는 배선을 모두 바이패스시키는데, 바이패스 경로로 기능할 수 있는 수직 방향의 배선이 충분한지 여부를 검증하고 있다. 그리고, 식 (5) 및 식 (6)을 만족하는 J를 탐색하고, 각각이 레이아웃용으로 사용되는 1 내지 J개의 배선을 갖는 배선군을 배선 바이패스의 후보로 한다.
이러한 변형예를 이용함으로써, 재배선의 처리에 필요한 시간을 단축하고, 보다 단시간에 배선 바이패스 경로를 얻을 수 있다. 제1 내지 제3 변형예 중 여럿을 조합하여 사용해도 된다.
이상 설명한 바와 같이, 본 발명의 실시 형태나 그 변형예의 구성에 따르면, 요구 주파수를 만족하면서, 레이아웃에 사용되는 배선이 없는 배선군의 수가 가능한 한 많아지도록 배선을 행할 수 있다. 사용되지 않는 배선군의 전원은 OFF로 하여, 소비 전력을 삭감할 수 있다.
본 발명은 상기 실시 형태에 한정되지 않고, 본 발명의 범위를 벗어나지 않으면서 적절하게 변경해도 된다.
특정 실시 형태에 대하여 설명했지만, 이러한 실시 형태는 예로서 제시한 것이며, 본 발명의 범위를 한정하려는 의도는 아니다. 즉, 본 발명에서 설명된 신규한 실시 형태는 그 밖의 다양한 형태로 실시되는 것이 가능하다. 또한, 본원에서 설명된 방법 및 시스템의 형태에 대하여 본 발명의 요지를 일탈하지 않는 범위에서, 다양한 생략, 치환 및 변경을 행할 수 있다. 첨부된 특허청구와 그 균등물은, 본 발명의 범위 및 요지에 포함되는 형태 또는 변형을 커버하고자 한다.
1 : PC
10 : 프로세서
11 : 프로세서 엘리먼트
12 : 캐시
20 : 메인 메모리
30 : 하드 디스크
40 : 입출력 장치
21 : N형 MOSFET
22 : P형 MOSFET
23 : 메모리
24, 25, 26 : 인버터
27, 28, 29 : 트랜지스터

Claims (8)

  1. 집적 회로의 회로 설계 구현 방법으로서,
    (a) 소정의 동작 주파수를 만족하도록 제1 배선을 구하는 단계,
    (b) 상기 소정의 동작 주파수와 상기 제1 배선의 크리티컬 패스(critical path)에 기초하여 최대 바이패스(bypass) 배선 길이를 산출하는 단계,
    (c) 상기 제1 배선을 포함하는 제1 배선군 내에서 제1 배선의 배선들 이외의 배선들을 사용하여 상기 제1 배선을 바이패스시킴으로써 제2 배선을 구하는 단계 -상기 집적 회로의 배선은 복수의 배선군으로 분류되고, 상기 제1 배선은 분류되어 있는 배선군 중 상기 제1 배선군에 포함됨-, 및
    (d) 상기 제2 배선과 상기 제1 배선 사이의 차분이 상기 최대 바이패스 배선 길이보다 크지 않으면, 상기 제1 배선을 상기 제2 배선으로 대체하고, 상기 차분이 상기 최대 바이패스 배선 길이보다 크면, 상기 제1 배선을 상기 제2 배선으로 대체하지 않는 단계
    를 포함하는, 집적 회로의 회로 설계 구현 방법.
  2. 제1항에 있어서,
    상기 최대 바이패스 배선 길이가 상기 직접 회로의 논리 블록의 2변에 대응하는 길이보다 작은 경우에는, 단계 (c)를 행하지 않고, 상기 제1 배선을 상기 제2 배선으로 대체하지 않는, 집적 회로의 회로 설계 구현 방법.
  3. 제1항에 있어서,
    (e) 상기 제1 배선을 상기 제2 배선으로 대체하는 경우, 상기 제2 배선과 상기 제1 배선 사이의 상기 차분에 기초하여 상기 최대 바이패스 배선 길이를 갱신하는 단계, 및
    (f) 갱신된 상기 최대 바이패스 배선 길이가 상기 집적 회로의 논리 블록의 2변에 대응하는 길이보다 큰 경우에는, 제3 배선을 포함하는 제2 배선군 -상기 제3 배선은 상기 분류되어 있는 배선군 중 상기 제2 배선군에 포함됨- 내에서 상기 제3 배선의 배선들 이외의 배선들을 사용하여 상기 제3 배선을 바이패스시키는 단계
    를 더 포함하는, 집적 회로의 회로 설계 구현 방법.
  4. 제1항에 있어서,
    (e) 상기 제1 배선을 상기 제2 배선으로 대체하는 경우, 상기 제2 배선과 상기 제1 배선 사이의 상기 차분에 기초하여 상기 최대 바이패스 배선 길이를 갱신하는 단계,
    (f) 갱신된 상기 최대 바이패스 배선 길이가 상기 집적 회로의 논리 블록의 2변에 대응하는 길이보다 작은 경우에는, 상기 제2 배선의 크리티컬 패스를 산출하고, 상기 소정의 동작 주파수와 산출된 상기 제2 배선의 크리티컬 패스에 기초하여 상기 최대 바이패스 배선 길이를 갱신하는 단계, 및
    (g) 갱신된 상기 최대 바이패스 배선 길이가 상기 집적 회로의 논리 블록의 2변에 대응하는 길이보다 긴 경우에는, 제3 배선을 포함하는 제2 배선군 -상기 제3 배선은 상기 분류되어 있는 배선군 중 상기 제2 배선군에 포함됨- 내에서 상기 제3 배선의 배선들 이외의 배선들을 사용하여 상기 제3 배선을 바이패스시키는 단계
    를 더 포함하는, 집적 회로의 회로 설계 구현 방법.
  5. 제1항에 있어서,
    상기 제1 배선군에서 상기 제1 배선에 사용되지 않은 배선의 수(I)가 1 이상이며, 상기 제1 배선군의 배선수가 임의의 다른 배선군의 배선수보다 적고, 상기 최대 바이패스 배선 길이가 상기 집적 회로의 논리 블록의 2변의 I배인 경우에는, 단계 (c)를 행하지 않고, 상기 제1 배선을 상기 제2 배선으로 대체하지 않는, 집적 회로의 회로 설계 구현 방법.
  6. 제1항에 있어서,
    (e) 상기 제2 배선과 상기 제1 배선 사이의 상기 차분이 상기 최대 바이패스 배선 길이보다 크기 때문에 상기 제1 배선이 상기 제2 배선으로 대체되지 않는 횟수를 카운트하는 단계
    를 더 포함하고,
    카운트된 상기 횟수가 소정 값을 초과하면, 단계 (c)를 행하지 않고, 상기 제1 배선을 상기 제2 배선으로 대체하지 않는, 집적 회로의 회로 설계 구현 방법.
  7. 제1항에 있어서,
    단계 (c)를 행하는 배선군을 미리 설정하고, 상기 배선군 중 하나가 상기 제1 배선군인, 집적 회로의 회로 설계 구현 방법.
  8. 컴퓨터 판독 가능 매체로서,
    컴퓨터로 하여금,
    (a) 소정의 동작 주파수를 만족하도록 제1 배선을 구하는 동작,
    (b) 상기 소정의 동작 주파수와 상기 제1 배선의 크리티컬 패스에 기초하여 최대 바이패스 배선 길이를 산출하는 동작,
    (c) 상기 제1 배선을 포함하는 제1 배선군 내에서 상기 제1 배선의 배선들 이외의 배선들을 사용하여 상기 제1 배선을 바이패스시킴으로써 제2 배선을 구하는 동작 -상기 집적 회로의 배선은 복수의 배선군으로 분류되고, 상기 제1 배선은 분류되어 있는 배선군 중 상기 제1 배선군에 포함됨-, 및
    (d) 상기 제2 배선과 상기 제1 배선 사이의 차분이 상기 최대 바이패스 배선 길이보다 크지 않으면, 상기 제1 배선을 상기 제2 배선으로 대체하고, 상기 차분이 상기 최대 바이패스 배선 길이보다 크면, 상기 제1 배선을 상기 제2 배선으로 대체하지 않는 동작
    을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능 매체.
KR1020120082378A 2011-08-24 2012-07-27 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체 KR101382984B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011182833A JP5743808B2 (ja) 2011-08-24 2011-08-24 集積回路の配線方法、集積回路の配線プログラム及びそれを記憶した記憶媒体
JPJP-P-2011-182833 2011-08-24

Publications (2)

Publication Number Publication Date
KR20130023070A true KR20130023070A (ko) 2013-03-07
KR101382984B1 KR101382984B1 (ko) 2014-04-08

Family

ID=47745555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120082378A KR101382984B1 (ko) 2011-08-24 2012-07-27 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체

Country Status (4)

Country Link
US (1) US8578318B2 (ko)
JP (1) JP5743808B2 (ko)
KR (1) KR101382984B1 (ko)
TW (1) TWI446201B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9865355B2 (en) 2015-02-02 2018-01-09 Micron Technology, Inc. Apparatuses and methods for transistor protection by charge sharing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2930770B2 (ja) * 1991-06-07 1999-08-03 株式会社東芝 半導体集積回路の設計方法
EP0643855A1 (en) * 1992-06-04 1995-03-22 Xilinx, Inc. Timing driven method for laying out a user's circuit onto a programmable integrated circuit device
US5553000A (en) * 1992-11-05 1996-09-03 Nec Usa, Inc. Eliminating retiming bottlenecks to improve performance of synchronous sequential VLSI circuits
JP2601168B2 (ja) * 1993-03-30 1997-04-16 日本電気株式会社 順次回路をリタイミングする方法および再設計する方法
US5666290A (en) * 1995-12-27 1997-09-09 Vlsi Technology, Inc. Interactive time-driven method of component placement that more directly constrains critical paths using net-based constraints
JP2918101B2 (ja) * 1996-07-25 1999-07-12 日本電気株式会社 半導体集積回路のレイアウト方法
JP3496661B2 (ja) * 2000-06-15 2004-02-16 日本電気株式会社 データパスに適したプログラマブル相互接続網を有する再構成可能デバイス
US6637014B2 (en) * 2001-03-06 2003-10-21 Nec Corporation Crosstalk mitigation method and system
US6766499B1 (en) * 2001-04-05 2004-07-20 Lsi Logic Corporation Buffer cell insertion and electronic design automation
US7107477B1 (en) * 2003-01-31 2006-09-12 Altera Corporation Programmable logic devices with skewed clocking signals
US6930510B2 (en) 2003-03-03 2005-08-16 Xilinx, Inc. FPGA architecture with mixed interconnect resources optimized for fast and low-power routing and methods of utilizing the same
US7039891B2 (en) * 2003-08-27 2006-05-02 Lsi Logic Corporation Method of clock driven cell placement and clock tree synthesis for integrated circuit design
DE602005010638D1 (de) * 2004-02-20 2008-12-11 Matsushita Electric Ind Co Ltd Elementanordnungsprüfeinrichtung und leiterplattenentwurfseinrichtung
US7062737B2 (en) * 2004-07-28 2006-06-13 Lsi Logic Corporation Method of automated repair of crosstalk violations and timing violations in an integrated circuit design
US20060162960A1 (en) * 2004-12-16 2006-07-27 Litton Systems, Inc. System for determining printed circuit board passive channel losses
US7493578B1 (en) * 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
US7281233B1 (en) 2005-05-27 2007-10-09 Xilinx, Inc. Method and apparatus for implementing a circuit design for integrated circuitry on a circuit board
US7363599B1 (en) * 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7689962B2 (en) * 2006-02-08 2010-03-30 Roberto Suaya Extracting high frequency impedance in a circuit design using an electronic design automation tool
US7509609B2 (en) * 2006-03-15 2009-03-24 Agere Systems Inc. Methods and apparatus for reducing timing skew
JP4555891B2 (ja) * 2007-05-28 2010-10-06 富士通株式会社 自動配線装置,自動配線プログラム,及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP4530049B2 (ja) * 2008-01-10 2010-08-25 ソニー株式会社 半導体装置の設計プログラムおよび半導体装置の設計システム
JP2010226524A (ja) 2009-03-24 2010-10-07 Fuji Xerox Co Ltd プログラマブル論理回路、半導体集積回路装置、情報処理システムおよび制御プログラム
WO2012032937A1 (ja) * 2010-09-08 2012-03-15 日本電気株式会社 再構成可能回路

Also Published As

Publication number Publication date
TWI446201B (zh) 2014-07-21
US8578318B2 (en) 2013-11-05
JP2013045294A (ja) 2013-03-04
US20130055189A1 (en) 2013-02-28
KR101382984B1 (ko) 2014-04-08
JP5743808B2 (ja) 2015-07-01
TW201314483A (zh) 2013-04-01

Similar Documents

Publication Publication Date Title
US9430608B2 (en) Fixing of semiconductor hold time
JP2006004345A (ja) データフローグラフ処理方法、リコンフィギュラブル回路および処理装置
US10048739B2 (en) Managing power consumption of a gated clock mesh
CN109408846B (zh) 集成电路、非暂时性计算机可读介质以及计算系统
Lee et al. Contango: Integrated optimization of SoC clock networks
US10565347B2 (en) Global routing optimization
US9449134B1 (en) Dynamically reconfigurable logic circuits using native field-programmable gate array primitives
US20150213178A1 (en) Tier based layer promotion and demotion
US9940422B2 (en) Methods for reducing congestion region in layout area of IC
KR101382984B1 (ko) 집적 회로의 회로 설계 구현 방법 및 컴퓨터 판독 가능 매체
US9256705B2 (en) Reducing repeater power
CN111147068B (zh) 全加器集成电路、四输入复用器集成电路及其使用方法
US9742405B2 (en) Semiconductor integrated circuit
JPH11175590A (ja) コンパチブル記憶デバイスのグルーピングによる回路領域縮小方法
US7865860B2 (en) Layout design device and layout method
US10810341B1 (en) Method and system for making pin-to-pin signal connections
JPWO2017038095A1 (ja) プログラマブル論理集積回路と半導体装置およびキャラクタライズ方法
US9003351B1 (en) System and method for reducing power consumption of integrated circuit
JP2013143008A (ja) 設計装置
JP6326756B2 (ja) スキャンパスを構成するための情報処理装置、スキャンパス接続方法及びプログラム
JP5883633B2 (ja) レイアウト装置及びレイアウト方法
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
US8255855B2 (en) Routing nets over circuit blocks in a hierarchical circuit design
WO2018139408A1 (ja) 設計支援システムおよび設計支援方法
US20140317586A1 (en) Support device, design support method, and computer-readable recording medium

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
LAPS Lapse due to unpaid annual fee