KR0157415B1 - 배치 최적화 방법과 장치 및 반도체 장치 설계장치 - Google Patents
배치 최적화 방법과 장치 및 반도체 장치 설계장치Info
- Publication number
- KR0157415B1 KR0157415B1 KR1019900007744A KR900007744A KR0157415B1 KR 0157415 B1 KR0157415 B1 KR 0157415B1 KR 1019900007744 A KR1019900007744 A KR 1019900007744A KR 900007744 A KR900007744 A KR 900007744A KR 0157415 B1 KR0157415 B1 KR 0157415B1
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- value
- processor
- processors
- network
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/919—Designing, planning, programming, CAD, CASE
- Y10S706/921—Layout, e.g. circuit, construction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Architecture (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
내용 없음.
Description
제1도는 종래에 있어서의 반복개선법의 처리수순의 플로우챠트.
제2도는 본 발명의 일실시예에 관한 반도체 장치 설계장치에 구비되는 배치 최적화장치의 전체구성도.
제3도는 제2도에 나타낸 네트워크 초기화부의 구성도.
제4도는 제2도에 나타낸 상호결합 프로세스 네트워크의 구성도.
제5도는 제3도에 나타낸 네트워크의 가중치 및 역치 설정부의 구성도.
제6도는 제2도에 나타낸 배치 좌표 교환부의 구성도.
제7도는 제6도에 나타낸 CPU부의 구성도.
제8도는 제7도에 나타낸 판정처리부의 구성도.
제9도는 제7도에 나타낸 가산기의 구성도.
제10도는 제6도에 나타낸 판정부의 구성도.
제11도는 제6도에 나타낸 배치처리부의 구성도.
제12도는 본 발명의 다른 실시예에 관한 배치최적화 장치의 전체 구성도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 배치 최적화 장치 11 : 네트워크 초기화부
11a : 접속테이블 11b : 위치배치테이블
11c : 역치설정부 11d : 초기치설정부
12 : 상호결합 프로세서 네트워크 13 : 배치좌표 변환부
31 : 프로세서 네트워크부 31a - 31g : 프로세서
32 : 출력부 41a : 평가 함수 설정부
41b : 제약 조건 설정부 42 : 함수 설정부
43 : 계수비 결정부 44 : 결정부
상관 관계를 가지는 다수의 회로 모듈을 1매의 프린트 기판상에 배치하거나, 상관관계를 가지는 다수의 회로 소자를 동일한 반도체 기판상에 제작하여 LSI등의 반도체 장치를 제조하는 경우, 평가 함수치가 최적이 되도록, 예를 들면, 회로 모듈이나 회로소자간의 총배선 길이가 최단이 되도록, 또는 교차하는 배선의 혼잡도가 최소가 되도록 각 회로 모듈이나 회로소자의 배치위치를 구하여, 제조가격의 저감 및 회로동작 속도의 향상을 도모할 필요가 있다.
제1도는, 종래의 반복개선법이라 불리는 배치 최적화 방법의 수순을 나타내는 플로우챠트이다. 이 종래 법에서 예를 들면 LSI의 각 회로소자의 최적 배치를 구하는 경우, 먼저 반복연산회로(N)를 스텝 1에서 설정하고, 다음에 의사난수(擬似亂數)에 의하여 각 회로소자의 초기배치를 설정한다(스텝 2). 다음에 어떤 2개의 회로소자의 페어(쌍) 후보를 선택하고(스텝 3). 그 회로소자 페어 후보의 소자의 위치를 교환하므로서 개선되고 코스트가 얼마가 되는가를 구한다(스텝 4). 그리고 스텝5에서 코스트가 개선되는가의 여부를 판정하고, 그 페어 후보의 코스트가 개선되는 경우, 예를 들면 교환후의 코스트로부터 교환전의 코스트를 뺀 차가 마이너스가 되는 경우에는 스텝 6으로 진행하여 그 페어의 소자위치를 교환하고, 스텝 3으로 되돌아 간다. 스텝 5의 판정에서 코스트가 개선되지 않는다고 판정되었을 경우는 스텝 7에 진행하여, 카운터(C)의 내용을 +1하여, 다음의 스텝에서 카운터(C)의 내용이 스텝1에서 설정한 수치(N)보다 큰가의 여부를 판정한다. 이 판정에서 CN가 성립하지 않는 경우에는 스텝 3으로 되돌아가 스텝3 이후의 처리를 반복하고, 성립하는 경우에는 이상의 처리를 종료하고 스텝 9에서 그 개선된 배치를 출력한다.
상기한 반복 개선법을 병열 처리형 계산기에서 행하는 종래 기술에 관련되는 것으로서, 예를 들면 일본국 특개소 62-93760호, 특개소 62-243071호, 특개소 63-121979호등이 있다.
종래의 배치최적화법은, 소자 페어의 위치를 교환하여 코스트가 개선되는지 여부를 판정하여 최적배치를 구하고 있다. 그러나, 『최적배치』라고는 해도 그것이 최적 배치인지 여부는 알수 없고, 단지 극치(極値)인것임을 아는데 지나지 않는다. 즉 아직 개선할 수 있는 가능성이 큰 경우가 있다.
또, 종래법은 대상이 되는 LSI등의 규모가 커지면 커질수록, 연산회수가 지수적으로 증대하여, 고속 처리가 불가능하게 되어 버린다는 문제점도 있다.
또한 최근에는 조합최적해(最適解)를 구하기 위하여, 신경 회로망(Neural-Net)을 사용하는 것이 알려져 있으며, 홉프필드씨등의 모델이 제안되고 있다.(USP 4,719,591등 참조).
본 발명의 목적은, 신경회로망을 사용하고 또는 이 신경회로망의 생각을 적용하여 배치문제를 고속 또 고성능으로 해석할 수가 있는 배치 최적화 방법 및 장치 그리고 이 장치를 구비하는 반도체 장치 설계등을 제공하는데 있다.
상기 목적은, n2개의 각 프로세서가 각각 자기 및 다른 모든 프로세서의 출력치를 입력치로서 입력하여 문제를 푸는 프로세서 네트워크를 사용하여, i(i=1∼n)번째의 회로를 k (k=1∼n)번째의 장소에 배치했을때의 제약조건 변수치를 좌표(i, k)의 프로세서가 회로평가 함수치가 최적치가 되도록 또 제약 조건 변수치가 제약 조건에 수렴(convergence)할 때 까지 연산하고, 출력치가 제약조건에 수렴한 프로세서의 상기 좌표로부터 그 프로세서에 할당된 연산대상 회로의 배치위치를 결정함으로서 달성된다.
좌표(i, 1∼n)의 프로세서가 상기 연산을 행하므로서, 좌표 (i, k)의 프로세서가 출력이 1이 되면, 다른 프로세서(i, 1∼n(단, k제외))의 출력은 0이 된다. 여기서 i번째의 회로를 장소(k)에 배치하면 최적 배치가 된다.
이하, 본 발명의 일실시예를 도면을 참조하여 설명한다.
제2도는, 본 발명의 일실시예에 관한 반도체 장치 설계 장치에 구비되는 배치 최적화장치의 전체구성도이다. 배치 최적화장치(10)는, 네트워크 초기화부(11)와, 복수의 프로세서를 서로 결합한 상호 결합 프로세서 네트워크(12)와, 배치 좌표 변환부(13)를 구비한다. 네트워크 초기화부(11)는, 각종 데이터의 초기치를 설정하여 상호 결합 프로세서 네트워크(12)를 가동하고, 그 네트워크(12)에 의한 연산결과가 배치 좌표 변환부(13)에 출력되고, 그 배치좌표 교환부(13)는 네트워크(12)의 연산결과에 의거하여 각 회로소자의 배치 위치 좌표를 출력한다.
제3도는 네트워크 초기화부(11)의 상세 구성도이다. 네트워크 초기화부(11)는, 접속 테이블(11a)과, 배치위치 테이블(11b)과, 네트워크의 가중치 및 역치설정부(11c)와, 출력치의 초기치 설정부(11d)를 구비한다. 접속테이블(11a), 를 들면 LSI에 탑재하는 회로소자 사이를 어떻게 접속하는가의 정보, 즉 어떤 회로소자와 어떤 회로소자를 접속할 것인가의 정보가 격납되어 있다. 배치 위치 테이블(11b)에는, LSI상의 소자 배치위치의 각 좌표치가 격납되어 있다. 이들의 접속테이블(11a)과 배치위치 테이블(11b)의 내용(격납데이타)은, 입력치에 의하여 갱신되고 그 결과가 네트워크의 가중치 및 역치설정부(11c)에 출력된다. 이 네트워크의 가중치 및 역치 설정부(11c)는, 각 테이블로 부터의 정보에 의거하여, 상세는 후술하는 바와 같이, 가중치 및 역체를 설정하고, 상호 결합 프로세서 네트워크를 기동한다. 또, 출력치의 초기치 설정부(11d)는, 출력치(네트워크 12의 각 프로세서는, 최종적으로 0나 1을 출력한다)의 초기치를 예를 들면 0.5로 설정하고, 이것을 상호 결합 프로세서 네트워크(12)에 출력한다.
제4도는 상호 결합 프로세서 네트워크(12)의 설명도이다. 이 프로세서 네트워크(12)는, 프로세서 네트워크부(31)와, 출력부(32)로 이루어진다. 프로세서 네트워크부(31)는, 다수의 프로세서 (31a∼31g)로 구성되어 있고, 각 프로세서는 다른 모든 프로세서 및 자기의 출력치를 입력치로서 입력하도록 접속되어 있다(모든 결합 관계를 도시하면 복잡해지므로 제3도에는 그 일부만을 도시함). 출력부(32)에는, 각 프로세서 대응의 출력단자가 설치되어있다. 예를 들면 n개의 회로소자의 배치위치(배치 개소도 n개소가 된다)를 연산하는 경우, 본 실시예에서는 n2개의 프로세서로 연산한다. 이때 n2개의 프로세서를 n x n의 2차 매트릭스로서 정열했다고 가정하고, 1번째의 1열째의 프로세서(31a)에는 1번째의 회로소자를 1번째의 배치 개소에 할당했을 때의 연산을 후술하는 연산식에 의거하여 행하게 하고, 1행째의 2열째의 프로세서(31b)에는 1번째의 회로 소자를 2번째의 배치 개소에 할당했을때의 연산을 마찬가지로 행하고 하고, …2행째의 1열째의 프로세서(31d)에는 2번째의 회로소자를 1번째의 회로소자를, 1번째의 배치 개소에 할당했을때의 동일한 연산을 행하게 하고 …n행째의 n열째의 프로세서(31g)에는 n번째의 회로소자를 n번째의 배치개소에 할당했을 때의 연을 행하게 하는구성으로 한다. 즉, i(i=1∼n)를 회로소자 번호로하고, k(k=1∼n)를 배치개소로 한 경우, (i, k)로 표시되는 회로소자와 배치개소와의 조합에 대한 연산을, (i, k)가 나타내는 좌표의 프로세서에 할당한다.
또한, 상기 n2개의 프로세서 대신에, 1개 내지 n2-1개 중의 임의의 개수의 프로세서를 준비하고, 그 프로세서에 상기 연산을 순차 처리 시킴에 있어, 각 연산 결과를 메모리에 격납하고, 그 메모리에 격납한 연산 결과를 사용하여 다음의 연산을 행하게 함으로서, 상기 n2개의 프로세서의 연산과 동등한 연산을 행하게 하는 것도 가능하다.
제5도는 제3도에 나타낸 네트워크의 가중치 및 역치 설정부(11c)의 구성도이다. 설정부(11c)는 , 평가 함수 설정부(41a)와, 제약 조건 설정부(41b)와, 평가함수 및 제약조건을 기초로한 에너지 함수를 구하는 함수 설정부(42)와, 그 에너지 함수의 각 항의 계수비를 결정하는 계수비 결정부(43)와, 그 계수비로부터 가중치와 역치를 결정하는 가중치 등 결정부(44)를 구비한다. 가중치 및 역치의 결정 방법을 설명하기 전에, 상호 결합 프로세서 네트워크에 의한 최적화 수법의 원리에 대하여 설명한다.
이 최적화 수법에서는, 웨이팅(weighting)이 행해진 상호 결합 프로세서 네트워크가 갖는 에너지 함수(E)의 값이, 극소치를 취하는 조건을 구한다.
여기서, x, b 는 n차원의 백터이고, T는 n x n의 행열이다.
또 tx, tb는 전치(轉値)백터를 나타낸다. 이 에너지 함수(E)각 극소(極小)가 되는 조건 즉 배치위치를 구하는 것이다. 백터(x) 각성분(xi)은 0 또는 1의 값을 취한다고 하는 제약하에 구한다. 여기서 T가 이 네트워크의 가중 행열이고, b가 역치백터이다. 여기서 말하는 「가중」이라하는 것은, 연산대상의 소자 까지의 거리에 상당하고, 거리가 길수록 가중치가 커진다. 또, 「역치」는 그 배치 개소에 그 회로소자가 놓여지는 가능성을 나타내고, 그 배치개소에 그 회로소자가 놓여진 가능성이 높을수록 역치가 높아진다.
이때, 각 프로세서는 다음의 미분방정식에 따라 변수(x)의 각 성분(xi)의 값을 갱신해가며, 최종적으로 에너지 함수(E)의 극소치를 구한다.
상기한 에너지 함수(E)로부터 최적배치를 구하는 것이나 이것을 실제로 구하기 위해서 본 실시예에서는 이하와 같이 행한다.
먼저, 평가함수 설정부(41a)가, 예를 들면 연산대상의 회로소자간의 총배선 길이를 최단으로 한다는 최적화 문제의 평가함수를 다음과 같이 설정한다.
평가함수 :
여기서,
다음에, 제약 조건 설정부(41b)가, 본 최적화 문제의 제약 조건을 이하와 같이 설정한다.
이 제약 조건은, 복수의 회로소자는 1개소에 중복하여 배치되지 않는다는 것을 나타낸다.
이들의 평가함수(목적함수라고도 한다)와 제약 조건은, 프로세서 네트워크의 에너지 함수(E)로 변환하면 다음식과 같이 된다.
또한 상기한 평가함수 및 에너지 함수는, 배치대상으로 하는 회로소자중, 특정의 회로소자의 배치개소가 경험적 또는 다른 제약 조건등으로 미리 결정되어 있을 경우의 예이고, 이와 같이 배치개소가 고정되는 소자가 없는 경우에는, 평가함수의 제2항째 및 에너지 함수중의 E1의 제2항째는 없어진다.
다음에, 계수비 결정부(43)는, 에너지 함수(E)의 E1항의 계수 D와 E2항의 계수A의 비 A/D를 결정한다.
여기서 상호 결합형 신경회로망에서 구해진 해(解)에 대하여, 어느 하나의 뉴론(neuron)의 상태를 0으로부터 1또는 1로부터 0로 변화시켰을 때 에너지 함수(E)는 반드시 비감소(非減少)이라는 성질이 있다. 따라서 제약조건을 만족시키는 해가 구해지도록 하는데는, 제약 조건을 만족시키는 해에 대하여, 어느 하나의 뉴론의 상태를 0으로부터 1로 변화시켜도 제약 조건을 만족시키는 해의 쪽이 에너지가 낮아지도록 A/D를 결정하면 된다(상태를 1로부터 0으로 변화시키는 경우는, 에너지 함수(E)의 형태로부터 상기의 조건이 만족된다).
이 결정의 방법을 이하에 설명한다.
E2항이 최소의 상태 즉 제약조건을 만족시키고 있는 상태로부터, 본수(本數)가 0으로부터 1로 변화했을 경우의 각항(E1,E2)의 변화량(ΔE1, ΔE2)을 조사한다. 여기서 ΔE1의 상한치는, 회로소자의 네트중 제일 큰 네트에 포함되는 수(N)를 사용하여 다음과 같이 표시할 수가 있다.
그리고, ΔE1= ΔE2가 되도록, 계수의 비(A/D)를 결정하면, 제약 조건이 만족된다. 다시 이 계수의 비(A/D)의 값이 작을수록, 질이 좋은 보다 최적의 소자 배치구성이 얻어진다. 따라서, ΔE1= ΔE2로하여 계수의 비(A/D)에 관한 다음식을 얻는다.
이상과 같이하여 구한 에너지 함수와, 최적화 수법의 원리의 설명에서 나타낸 에너지 함수의 계수를 비교하므로서, 결정부(44)에서는, 다음과 같이 가중행열(T)과 역치 백터(b)를 각각 결정한다.
상호 결합 프로세서 네트워크는, 이 가중 행열(T)과 역치 백터(b)를 사용하고, 다음의 연산을 행하여, 회로 소자의 배치위치를 구한다.
좌표(i, k)에 있는 프로세서는, 시각(t)에 있어서의 연산결과 ujℓ(t)를 알고있을 때, 시각 t+1에 있어서의 연산에서 uik(t+1)을 연산한다.
여기서, dt는 적분의 시각폭이고, 이것은 실험적으로 결정하며, 에를 들면 dt=0.01 로한다. 이 연산에 있어서 초회의 uik의 값 즉 초기치로서 uik(0)=0.5를 부여하고, t+1회째의 연산에서 uik가 0또는 1에 수렵하지 않을 경우에는, 자기 및 다른 프로세서의 t+1회째의 연산 결과를 입력하여 dxik(t+1)를 구하고, t+2회째의 연산을 행한다. 이 연산을 반복하므로서 최종적으로 2차원 매트릭스상으로 할당된 프로세서 네트워크는, 각행 각열에 있어서 1개의 프로세서만 1을 출력하고, 다른 프로세서는 0을 출력하게 된다. 1을 출력한 프로세서의 좌표(i, k)에 의하여, i번째의 회로소자를 장소(k)에 배치하면 좋다는 것을 알수 있다.
다음에, 상호결합 프로세서 네트워크의 출력신호의 처리에 대하여 설명한다.
제6도는, 제2도에 나타낸 배치좌표 변환부(13)의 구성도이다. 배치좌표 변환부(13)는, 상호결합 프로세서(12)의 출력부(32)와 신호선(51)으로 접속된 CPU부(52)와, 판정부(53)와, 배치처리부(54)와 배치프로그램(55)에 의하여 이루어진다.
상호 결합 프로세서 네트워크(12)로 부터는, 연산실행마다 n2개의 신호가 CPU부(52)에 출력된다. 이 신호는 0, 1에 수렴되기 전은 0.3이나 0.9인 0으로부터 1 까지의 불확정치를 취하고, 수렴되었을 때 확정된 값이 된다. 먼저, CPU부(52)는, 네트워크(12)의 연산이 수렴되었는지의 여부를 판정한다. 이 판정은 n개의 1 신호가 네트워크(12)로부터 출력되므로서 행한다.
그리고, 네트워크(12)의 연산이 수렴되었을 때, 이하의 신호처리를 행한다.
네트워크(12)에 의한 연산은, 계수비 A/D의 값을 상기한 식에 따라 결정하면, 반드시 n개의 프로세서로부터 1에 수렴된 신호가 출력되고, 이 1을 출력한 프로세서의 좌표로부터 어느 회로소자를 어디에 배치하면 좋은가가 알 수 있다. 그러나, 계수비 A/D/를 상기한 식과는 별도로 설정했을 경우에는, 네트워크(12)의 출력은 수렴되지 않게된다. A/D를 부여하는 상기식의 값은, A/D의 하한치를 부여하는 것이나, 그보다 아래의 값이나 위 값을 실험적으로 설정하는 것은 배치문제의 종류에 따른다. 이 경우, 네트워크(12)는 프로세서중 출력신호가 수렴되지 않는 것이 나올 염려가 있다. 이러한 경우는, 네트워크(12)에 의한 연산을 도중에서 중단하고, 네트워크(12)의 출력신호로부터 회로소자의 배치를 판정할 필요가 생긴다.
CPU부(52)는, 네트워크(12)의 출력신호로부터, 판정부(53)에서 필요한 정보를 후술하는 바와 같이 연산하여 구한다. 그리고 판정부(53)는, 이 정보로부터 회로소자의 배치가 네트워크(12)의 출력대로 되는가 여부를 판정한다. 배치가능(그 소자의 배치연산을 맡은 프로세서의 출력이 수렴되었을 경우)하면, 배치처리부(54)에서 회로소자의 배치장소가 결정된다. 배치불가능(그 소자의 배치연산을 맡은 프로세서의 출력이 수렴되지 않했을 경우)으로 판정되는 회로 소자가 있는 경우에는, 배치가능한 회로소자만 배치하고, 나머지 배치 불가능한 회로소자는, 배치 프로그램에 의하여, 예를 들면 종래의 반복개선법이나 시뮬레이트드(Simulated)어닐링법으로 배치위치를 교환하므로서 배치 장소를 구한다.
제7도는, 상기 CPU부(52)의 구성도이다. 배치 대상의 회로 소자수(=배치장소수)가 n개인 경우, 네트워크(12)로 부터는 n2개의 신호가 출력된다. 본 실시예에서는, CPU부(52)는 n2개의 CPU 즉 판정처리부(61, 62, 63)을 구비하고, 네트워크(12)로 부터의 각 출력신호는 각각 대응하는 판정처리부에 입력된다. 각 판정 처리부는 입력된 신호가 수렴되었는지 여부를 판정하는 정보를 각각 독립적으로 계산한다. 그리고 각 계산결과를 판정부(53)와 가산기(64)에 출력한다. 가산기(64)는 후술하는 바와 같이 입력신호를 가산하고, 가산 결과를 판정부(52)에 출력한다. 또한, 판정처리부를 n2개 설치한 것은, 병열처리하므로서 처리시간의 단축화를 도모하기 위한 것이며, 물론, 고속처리 가능한 1개의 CPU를 사용하여 순차처리를 행하게 하는것도 가능하다.
제8도는, 제7도에 나타낸 각 판정처리부의 설명도이다. 먼저, 처리(71)에 의하여, 변수 Cm(j)와 변수 PLACE(j) (j=1∼n2)가 0으로 초기화 된다. 그리고 자신에 대하여 신호를 출력하고 있는 프로세서의 좌표가 (i, k)이고, 그 프로세서의 출력신호가 1인지 여부를 처리(72)에서 판정하고, 1인 경우에는 처리(73)으로 진행하여, 변수Cm(i), Cm(k)의 값을 1로 한다. 또 처리(75)에서 변수 PLACE(i)의 값을 k로 한다. 그리고 이들의 변수의 값을 판정부(53)에 출력한다. 처리(72)의 판정에서 프로세서의 출력신호가 1에 수렴하고 있지 않은 것으로 되었을 경우는, 처리(74)에서, 변수 Cm(i), Cm(k)의 값을 0상태 그대로 한다. 처리(73)와 처리(74)의 결과가 가산기(64)에 출력된다.
제9도는, 가산기(64)의 설명도이다. 가산기(64)는 판정 처리부(61∼63)로부터 출력되어 오는 변수 Cm(j)의 값을 가산하고, 가산한 값을 변수 COUNT(j)에 설정하고
이 변수 COUNT(j)의 값을 판정부(53)에 출력한다.
제10도는, 판정부(53)의 설명도이다. 먼저 가산기(64)로부터 입력되는 변수 COUNT(j) 의 값에 대하여 설명한다. 지금, 네트워크(12)에 있어서의 각 프로세서중, 1의 값을 출력하고 있는 프로세서의 좌표를 (i, k)라 한다. 이때, nxn의 영매트릭스의 대각성분 (i, i)와 (k, k)의 값을 +1로 한다. 이 작업을 1을 출력하고 있는 모든 프로세서에 대하여 행한다. 네트워크(12)의 전프로세서의 출력이 수렴되었을 경우, 이 매트릭스의 대각성분은 모두 2가 된다. 즉, 2가 된 대각성분에 대응하는 회로소자는 배치가능함을 나타낸다.
변수 COUNT(i)의 값은, 대각성분(i,i)의 값을 나타낸다.
따라서, 판정부(53)에서는 먼저 처리(91)에서 j의 값이 1이상 n2이하인 것을 판정하고, j의 값이 이 범위에 있는 경우에는 그 변수 COUNT(j)의 값이 2인가 여부를 처리(92)에서 판정한다. 변수 COUNT(j)가 2의 값을 나타내는 소자(j)는 배치가능하고, 2이외의 값을 나타내는 소자는 배치 불가능이다. 판정부(53)는 이 판정결과를 배치처리부(54)에 출력한다.
제11도는, 배치처리부(54)의 설명도이다. 판정부(53)로부터 I번째의 회로소자에 대한 배치가능인지 불가능인지의 판정 결과를 받아 넣었을때, 배치가능한 소자수를 나타내는 변수(C)와, 배치 불가능이였던 소자 번호를 나타내는 변수 FAIL(C)의 값을 초기화하여 0으로 한다. 다음에, 판정부(53)로 부터의 n2개의 판정 결과 모두에 대하여, 이하의 처리를 행한다. 먼저 회로소자(i)에 대한 판정결과가 배치가능을 나타내는지 여부를 판정하고, 배치가능을 나타내면, 그 회로소자(i)를 판정처리부(61∼63)로부터 입력한 변수 PLACE(i)가 나타내는 번호의 장소에 배치한다. 또, 배치불가능이면, 변수(C)의 값을 +1하여 변수 FAIL(C)의 값을 i로한다. 이 처리를 모든 회로소자에 대하여 행하고, 배치할수 없었던 소자수 즉 변수(C)의 값이 0이면, 배치처리를 완료하고, 배치 불가능한 소자가 남았을 경우에는, 그 배치불가능인 소자에 대하여 종래의 반복 개선법이나 스뮬레이트드 어닐링법을 적용하여 배치위치를 결정한다.
제12도는, 본 발명의 다른 실시예에 관한 배치 최적화 장치의 전체 구성도이다. 이 실시예에서는 제1도의 실시예에 비하여, 처리 스텝(112)를 부가하여, 배치좌표변환부(13)의 출력이 최적 배치가 아닌 경우에, 상기한 처리를 반복하므로서, 최적 배치를 구하는 것이다. 이하 이예에 대하여 설명한다.
상호결합 프로세서 네트워크의 출력신호가 모두 1이거나 0에 수렴되지 않았을 경우, 수렴하지 않는 출력신호에 대응하는 회로소자의 배치위치는 종래의 교환 방법이나 시뮬레이트드 어닐링법으로 그 배치위치를 결정하는 것은 앞에서 설명했다. 그러나, 이와 같이하여 모든 회로소자의 배치위치를 결정했을 경우, 그 배치 위치가 최적 배치위치 인가의 여부는 알수없고, 단지 그것이 극치를 갖는데 불과한 경우가 있다. 그러나, 그것이 극치인지, 때때로 최적배치를 부여하는가는 영확하게 알수없다. 그러나, 경험적으로 그 배치위치가 최적배치가 아님을 아는 경우가 있다. 이와 같은 경우, 상기한 가중행열(T)의 대각성분을 증가시켜, 상호결합 프로세서 네트워크의 연산을 반복하므로서, 최적배치를 구할 수가 있다.
상기한 가중행열(Ti, k, j, ℓ)은 i=j, k=ℓ의 성분, 즉 대각성분은 모두 0의 값을 갖도록 결정하고 있다. 대각성분이 모두 0인 경우에, 이 가중행열을 사용하므로서 얻어지는 회로소자의 배치가 극치를 취하는 것은 수학적으로 판단하고 있기 때문이다.
배치 불가능한 회로소자(i)가 나와서, 종래의 교환법등으로 그 회로소자(i)의 배치위치를 결정했을 경우, 해당배치 위치에 대응하는 프로세서의 출력신호를 1로 하고, 그 회로소자(i)의 다른 프로세서의 출력신호를 0으로 하여, 네트워크(12)의 1을 출력하고 있는 좌표에 대응하는 가중행열(T)의 대각성분의 값을, 각 성분별로 오패레이터가 지정하는 값 예를 들면 0.1이나 0.3으로 증가한다. 그리고, 이와 같이 대각성분이 증가한 가중행열(T)을 사용하여, 상기와 마찬가지로 Uik의 값을 0이나 1에 수렴할때까지 네트워크(12)에서 연산한다. 이 연산에 의하여 구한 배치위치가 대각성분 증가전에 구한 배치위치와 동일하면 최적 배치를 부여하는 것이고, 앞에서 구한 배치위치가 단순히 극치에 지나지 않는 경우에는, 다른 배치위치가 구해지게된다. 따라서, 제12도의 처리(11c, 12, 13, 112)를 반복하므로서, 더욱 최적인 배치위치를 구하는 것이 가능하다.
또한, 실시예는 LSI의 회로소자 배치에 본 발명을 적용한 예이나, 본 발명은 이것에 한정되는 것이 아니고, 예를 들면 1매의 프린트 기판에 상호관계를 가지는 다수의 회로 모듈을 배치하는 경우에도 적용할 수 있음은 말할것도 없다.
본 발명에 의하면, 질이 높은 회로배치의 레이아웃을 고속으로 구할 수가 있고, 이 회로 배치방법을 적용하여 레이아웃을 설계하여 제조한 반도체 장치는, 저렴, 고속동작이 가능하게 된다는 효과가 있다.
Claims (20)
- 상관 관계를 가지는 다수개의 회로모듈 또는 회로소자의 최적 배치를 구하는 배치 최적화 방법에 있어서, 자기의 출력 및 다른 모든 프로세서의 출력을 거두어들여 문제를 푸는 신경회로망을 구성하는 프로세서 네트워크의 연산 결과로부터 상기 회로모듈 또는 회로소자의 최적 배치 개소를 결정하는 것을 특징으로 하는 배치 최적화 방법.
- 상관 관계를 가지는 다수개의 회로모듈 또는 회로소자의 최적 배치를 구하는 배치 최적화 방법에 있어서, n2개의 각 프로세서가 각각 자기 및 다른 모든 프로세서의 출력치를 입력치로서 거두어들여 문제를 푸는 프로세서 네트워크를 사용하여, i(i=1∼n)번째의 회로를 k(k=1∼n)번째의 장소에 배치했을 때의 제약 조건 변수치를 좌표(i, j)의 프로세서가 회로 평가 함수치가 최적치가 되도록, 또 제약 조건 변수치가 제약조건에 수렴할때까지 연산하고, 출력치가 제약조건에 수렴한 프로세서의 상기 좌표로부터 그 프로세서에 할당된 연산 대상회로의 배치위치를 결정하는 것을 특징으로 하는 배치 최적화 방법.
- 상관 관계를 가지는 다수개의 회로 모듈 또는 회로 소자의 최적배치를 구하는 배치 최적화 방법에 있어서, 자기의 출력 및 다른 모든 프로세서의 출력을 거두어 넣어 문제를 푸는 신경회로망을 구성하는 프로세서 네트워크를 사용하여, n개의 회로의 배치를 회로배치 평가 함수치가 최적치가 되도록 또 계약조건이 계약조건에 수렴할때까지 연산하고, 수렴되었을때의 각 프로세서의 좌표치로부터 회로의 배치개소를 구함에 있어, 상기 연산은,여기서, x, b : n차원 백터tx,tb : 상기의 전치(轉値)백터d㎘ : 배치장소 k와 소자 ℓ의 고정배치장소와의 거리(고정배치장소가 없는 경우는dkp=0)cijm : 1(i,j가 네트를 구성할때) 또는 0(기타)xik,xjl : 제약조건변수A,D : 계수로부터 구한 가중 행열 T와 역치 백터 b를로 하고, t회째의 연산결과 ujℓ(t)를 알고 있을때에, t+1회째의 연산을 행하여 uik(t+1)을,를 연산하여 구하고, 그 uik의 값이,에 수렴할때까지 연산하는 것을 특징으로 하는 배치 최적화 방법.
- 제5항에 있어서, 연산결과가 수렴되지 않는 회로가 나왔을 경우에는, 그 회로의 배치위치를 교환법 또는 시뮬레이트드 어닐링법으로 결정하는 것을 특징으로 하는 배치 최적화 방법.
- 제6항에 있어서, 최종적으로 구한 회로 배치위치에 있어서 회로를 배치하는 개소에 상당하는 좌표의 상기 가중행열에 있어서의 대각성분의 값에 0보다 크고 1보다 작은 임의의 값을 가산하고, 제3항 기재의 연산을 다시 행하여 배치 개소를 구하는 것을 특징으로 하는 배치 최적화 방법.
- 제3항에 있어서, uik의 초기치로서 0 이상 1 이하의 임의의 값을 부여하는 것을 특징으로 하는 배치 최적화 방법.
- 제8항에 있어서, 초기치로서 0.5를 부여하는 것을 특징으로 하는 배치 최적화 방법.
- 제2항에 있어서, 상기 n2개의 프로세서 대신에 1개 내지 n2-1개 중의 임의의 개수의 프로세서를 준비하고, 그 프로세서에서 상기 연산을 순차 처리시킴에 있어, 각 연산결과를 메모리에 격납하고, 그 메모리에 격납한 연산 결과를 사용하여 다음의 연산을 행하게 하므로서, 상기 n2개의 프로세서의 연산과 동등한 연산을 행하게 하는 것을 특징으로 하는 배치 최적화 방법.
- 상관 관계를 가지는 다수개의 회로모듈 또는 회로소자의 최적 배치를 구하는 배치 최적화 방법에 있어서, 자기 및 다른 프로세서의 출력치를 입력치로서 거두어 넣는 n2개의 프로세서로 이루어지고, i번째의 회로를 k번째의 장소에 배치했을때의 제약 조건 변수치를 좌표(i, k)의 프로세서가 회로평가 함수가 최적치가 되도록, 또 제약조건 변수치가 제약조건에 수렴할때까지 연산하는 상호결합 프로세서 네트워크를 구비하는 것을 특징으로 하는 배치 최적화 장치.
- 상관 관계를 가지는 다수개의 회로모듈 또는 회로소자의 최적 배치를 구하는 배치 최적화 장치에 있어서, 자기 및 다른 프로세서의 출력치를 입력치로서 거두어 넣는 신경회로망을 구성하는 n2개의 프로세서로 이루어지는 네트워크와, 가중행열 T와 역치백터 b의 값을 에너지 함수 E여기서, x, b : n 차원 백터tx,tb : 상기의 전치백터dkℓ : 배치장소 k, ℓ간의 거리dkp : 배치장소 k와 소자 p의 배치장소와의 거리(고정배치장소가 없는 경우는dkp=0)cijm : 1(i, j가 네트를 구성할 때) 또는 0(기타)xik,xjℓ : 제약조건 변수A, D : 계수로부터 구한 가중행열 T와 역치백터 b로서 결정하는 수단과, 상기 네트워크의 좌표(i, k)의 프로세서에 i번째의 회로를 k번째의 장소에 배치 했을때의 문제를 할당하여을 행하게 하는 수단과, 각 프로세서의 출력치가 제약조건에 수렴했을 때 프로세서의 좌표치로부터 회로의 배치를 결정하는 수단을 구비하는 것을 특징으로 하는 배치 최적화 장치.
- 제14항에 있어서, 연산이 수렴되지 않은 회로의 배치위치를 교환법 또는 시뮬레이트드어닐링법으로 결정하는 수단을 구비한 것을 특징으로 하는 배치 최적화 장치.
- 제12항에 있어서,ujℓ값의 최초치로서 0이상 1이하의 임의의 값을 설정하는 초기치 설정수단을 구비한 것을 특징으로 하는 배치 최적화 장치.
- 제17항에 있어서, 초기치 설정수단은 초기치로서 0.5를 설정하는 것을 특징으로 하는 배치 최적화 장치.
- 제11항 또는 제12항에 있어서, n2개의 프로세서 대신에 1∼n2-1개중의 임의의 개수의 프로세서와, 그 프로세서의 연산결과를 격납하는 메모리를 구비하고, 상기 프로세서에서 상기 연산을 순차처리 시킴에 있어 각 연산결과를 상기 메모리에 격납하고 그 격납 데이터를 사용하여 다음의 연산을 행하게 하여, 상기 n2개의 프로세서의 연산과 동등한 연산을 행하게 하는 것을 특징으로 하는 배치 최적화 장치.
- 반도체 집적회로의 회로설계를 행하는 반도체 장치 설계장치에 있어서, 자기 및 다른 프로세서의 출력치를 입력치로서 거두어 넣는 n2개의 프로세서로 이루어지고, i번째의 회로를 k번째의 장소에 배치했을때의 제약조건 변수치를 좌표(i, k)의 프로세서가 회로 평가 함수치가 최적치가 되도록 또 제약조건 변수치가 제약 조건에 수렴할때까지 연산하는 상호 결합 프로세서 네트워크를 구비한 배치 최적화 장치를 구비한 것을 특징으로 하는 반도체 장치 설계장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14412389A JP2863550B2 (ja) | 1989-06-08 | 1989-06-08 | 配置最適化方法及び配置最適化装置と回路設計装置 |
JP1-144123 | 1989-06-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910001934A KR910001934A (ko) | 1991-01-31 |
KR0157415B1 true KR0157415B1 (ko) | 1998-11-16 |
Family
ID=15354731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900007744A KR0157415B1 (ko) | 1989-06-08 | 1990-05-29 | 배치 최적화 방법과 장치 및 반도체 장치 설계장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5200908A (ko) |
EP (1) | EP0401687B1 (ko) |
JP (1) | JP2863550B2 (ko) |
KR (1) | KR0157415B1 (ko) |
DE (1) | DE69031197D1 (ko) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0410000A4 (en) * | 1989-02-10 | 1993-09-01 | Hitachi, Ltd. | Data processing unit for obtaining solution for optimal combination solution and method thereof |
US5361214A (en) * | 1990-07-09 | 1994-11-01 | Kabushiki Kaisha Toshiba | Method for automatically determining wiring routes |
JPH04130968A (ja) * | 1990-09-21 | 1992-05-01 | Toshiba Corp | ニューラルネットワークを用いた配線方式 |
US5452400A (en) * | 1991-08-30 | 1995-09-19 | Mitsubishi Denki Kabushiki Kaisha | Method of optimizing a combination using a neural network |
JP2887969B2 (ja) * | 1991-08-30 | 1999-05-10 | 三菱電機株式会社 | ニューラルネットワークによる部品配置最適化方法 |
JPH05128085A (ja) * | 1991-11-08 | 1993-05-25 | Toshiba Corp | システム制御の学習方法 |
JP3479538B2 (ja) * | 1991-12-26 | 2003-12-15 | テキサス インスツルメンツ インコーポレイテツド | 半導体集積回路を製作する方法 |
JP3220250B2 (ja) * | 1992-01-09 | 2001-10-22 | 株式会社東芝 | セル自動配置方法 |
JP3201156B2 (ja) * | 1993-08-30 | 2001-08-20 | トヨタ自動車株式会社 | 設計を支援する方法と装置 |
JP3192057B2 (ja) * | 1994-03-18 | 2001-07-23 | 富士通株式会社 | 配線プログラム生成方法及びその装置 |
US5691913A (en) * | 1994-03-28 | 1997-11-25 | Matsushita Electric Ind. Co. | Layout designing apparatus for circuit boards |
US5914887A (en) * | 1994-04-19 | 1999-06-22 | Lsi Logic Corporation | Congestion based cost factor computing apparatus for integrated circuit physical design automation system |
US5557533A (en) * | 1994-04-19 | 1996-09-17 | Lsi Logic Corporation | Cell placement alteration apparatus for integrated circuit chip physical design automation system |
US6155725A (en) * | 1994-04-19 | 2000-12-05 | Lsi Logic Corporation | Cell placement representation and transposition for integrated circuit physical design automation system |
US5815403A (en) * | 1994-04-19 | 1998-09-29 | Lsi Logic Corporation | Fail-safe distributive processing method for producing a highest fitness cell placement for an integrated circuit chip |
US5963975A (en) * | 1994-04-19 | 1999-10-05 | Lsi Logic Corporation | Single chip integrated circuit distributed shared memory (DSM) and communications nodes |
US5495419A (en) * | 1994-04-19 | 1996-02-27 | Lsi Logic Corporation | Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing |
US5875117A (en) * | 1994-04-19 | 1999-02-23 | Lsi Logic Corporation | Simultaneous placement and routing (SPAR) method for integrated circuit physical design automation system |
US6493658B1 (en) | 1994-04-19 | 2002-12-10 | Lsi Logic Corporation | Optimization processing for integrated circuit physical design automation system using optimally switched fitness improvement algorithms |
US5535134A (en) * | 1994-06-03 | 1996-07-09 | International Business Machines Corporation | Object placement aid |
US5590063A (en) * | 1994-07-05 | 1996-12-31 | Motorola, Inc. | Optimization method using parallel processors |
US5740071A (en) * | 1995-06-07 | 1998-04-14 | International Business Machines Corporation | Method and apparatus for selective shape adjustment of hierarchical designs |
US5740067A (en) * | 1995-10-19 | 1998-04-14 | International Business Machines Corporation | Method for clock skew cost calculation |
US5745735A (en) * | 1995-10-26 | 1998-04-28 | International Business Machines Corporation | Localized simulated annealing |
US5831863A (en) * | 1996-06-28 | 1998-11-03 | Lsi Logic Corporation | Advanced modular cell placement system with wire length driven affinity system |
US5963455A (en) * | 1996-06-28 | 1999-10-05 | Lsi Logic Corporation | Advanced modular cell placement system with functional sieve optimization technique |
US5808899A (en) * | 1996-06-28 | 1998-09-15 | Lsi Logic Corporation | Advanced modular cell placement system with cell placement crystallization |
US5872718A (en) * | 1996-06-28 | 1999-02-16 | Lsi Logic Corporation | Advanced modular cell placement system |
US5835381A (en) * | 1996-06-28 | 1998-11-10 | Lsi Logic Corporation | Advanced modular cell placement system with minimizing maximal cut driven affinity system |
US5870311A (en) * | 1996-06-28 | 1999-02-09 | Lsi Logic Corporation | Advanced modular cell placement system with fast procedure for finding a levelizing cut point |
US5892688A (en) * | 1996-06-28 | 1999-04-06 | Lsi Logic Corporation | Advanced modular cell placement system with iterative one dimensional preplacement optimization |
US5812740A (en) * | 1996-06-28 | 1998-09-22 | Lsi Logic Corporation | Advanced modular cell placement system with neighborhood system driven optimization |
US5914888A (en) * | 1996-06-28 | 1999-06-22 | Lsi Logic Corporation | Advanced modular cell placement system with coarse overflow remover |
US5844811A (en) * | 1996-06-28 | 1998-12-01 | Lsi Logic Corporation | Advanced modular cell placement system with universal affinity driven discrete placement optimization |
US5971588A (en) * | 1996-06-28 | 1999-10-26 | Lsi Logic Corporation | Advanced modular cell placement system with optimization of cell neighborhood system |
US5870312A (en) * | 1996-06-28 | 1999-02-09 | Lsi Logic Corporation | Advanced modular cell placement system with dispersion-driven levelizing system |
US6067409A (en) * | 1996-06-28 | 2000-05-23 | Lsi Logic Corporation | Advanced modular cell placement system |
US5867398A (en) * | 1996-06-28 | 1999-02-02 | Lsi Logic Corporation | Advanced modular cell placement system with density driven capacity penalty system |
US6026223A (en) * | 1996-06-28 | 2000-02-15 | Scepanovic; Ranko | Advanced modular cell placement system with overlap remover with minimal noise |
US6085032A (en) * | 1996-06-28 | 2000-07-04 | Lsi Logic Corporation | Advanced modular cell placement system with sinusoidal optimization |
US6030110A (en) * | 1996-06-28 | 2000-02-29 | Lsi Logic Corporation | Advanced modular cell placement system with median control and increase in resolution |
US5980093A (en) * | 1996-12-04 | 1999-11-09 | Lsi Logic Corporation | Integrated circuit layout routing using multiprocessing |
US5953518A (en) * | 1997-03-14 | 1999-09-14 | Lsi Logic Corporation | Yield improvement techniques through layout optimization |
US6993186B1 (en) | 1997-12-29 | 2006-01-31 | Glickman Jeff B | Energy minimization for classification, pattern recognition, sensor fusion, data compression, network reconstruction and signal processing |
US6324436B1 (en) | 1998-09-14 | 2001-11-27 | Fujitsu Limited | Method for optimizing cost of manufacturing memory arrays |
KR100352603B1 (ko) * | 1998-12-21 | 2002-10-19 | 주식회사 포스코 | 내화조성물 및 이를 이용한 턴디쉬의 상부노즐 |
US7342414B2 (en) * | 2002-02-01 | 2008-03-11 | California Institute Of Technology | Fast router and hardware-assisted fast routing method |
JP2003249591A (ja) * | 2002-02-26 | 2003-09-05 | Nec Electronics Corp | エリアio型半導体装置の配線基板の設計方法 |
US7210112B2 (en) * | 2002-08-21 | 2007-04-24 | California Institute Of Technology | Element placement method and apparatus |
US7285487B2 (en) * | 2003-07-24 | 2007-10-23 | California Institute Of Technology | Method and apparatus for network with multilayer metalization |
US9061119B2 (en) | 2008-05-09 | 2015-06-23 | Edwards Lifesciences Corporation | Low profile delivery system for transcatheter heart valve |
US10192016B2 (en) * | 2017-01-17 | 2019-01-29 | Xilinx, Inc. | Neural network based physical synthesis for circuit designs |
CN113722853B (zh) * | 2021-08-30 | 2024-03-05 | 河南大学 | 一种面向智能计算的群智能进化式工程设计约束优化方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3629843A (en) * | 1970-05-11 | 1971-12-21 | Bell Telephone Labor Inc | Machine process for assigning interconnected components to locations in a planar matrix |
US3702003A (en) * | 1970-10-09 | 1972-10-31 | Marathon Oil Co | Algorithm to minimize iterative computation in a process for the analysis or design of a physical system |
US3681782A (en) * | 1970-12-02 | 1972-08-01 | Honeywell Inf Systems | Machine process for positioning interconnected components to minimize interconnecting line length |
US4580228A (en) * | 1983-06-06 | 1986-04-01 | The United States Of America As Represented By The Secretary Of The Army | Automated design program for LSI and VLSI circuits |
US4593363A (en) * | 1983-08-12 | 1986-06-03 | International Business Machines Corporation | Simultaneous placement and wiring for VLSI chips |
US4577276A (en) * | 1983-09-12 | 1986-03-18 | At&T Bell Laboratories | Placement of components on circuit substrates |
JPS6293760A (ja) * | 1985-10-18 | 1987-04-30 | Nec Corp | 配置改良装置 |
US4719591A (en) * | 1985-11-07 | 1988-01-12 | American Telephone And Telegraph Company, At&T Bell Labs. | Optimization network for the decomposition of signals |
US4754408A (en) * | 1985-11-21 | 1988-06-28 | International Business Machines Corporation | Progressive insertion placement of elements on an integrated circuit |
USH354H (en) * | 1986-04-04 | 1987-10-06 | The United States Of America As Represented By The Secretary Of The Army | Linear algorithm for non-linear interpolation for computer aided designs |
JPS62243071A (ja) * | 1986-04-16 | 1987-10-23 | Fujitsu Ltd | 並列配置改善方式 |
JPS63121978A (ja) * | 1986-11-11 | 1988-05-26 | Fujitsu Ltd | 大規模組合せ問題の最適化処理装置 |
-
1989
- 1989-06-08 JP JP14412389A patent/JP2863550B2/ja not_active Expired - Lifetime
-
1990
- 1990-05-29 KR KR1019900007744A patent/KR0157415B1/ko not_active IP Right Cessation
- 1990-05-31 DE DE69031197T patent/DE69031197D1/de not_active Expired - Lifetime
- 1990-05-31 EP EP90110373A patent/EP0401687B1/en not_active Expired - Lifetime
- 1990-06-05 US US07/533,540 patent/US5200908A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR910001934A (ko) | 1991-01-31 |
EP0401687A2 (en) | 1990-12-12 |
US5200908A (en) | 1993-04-06 |
EP0401687A3 (en) | 1993-01-27 |
JPH0310378A (ja) | 1991-01-17 |
EP0401687B1 (en) | 1997-08-06 |
JP2863550B2 (ja) | 1999-03-03 |
DE69031197D1 (de) | 1997-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0157415B1 (ko) | 배치 최적화 방법과 장치 및 반도체 장치 설계장치 | |
Nagy et al. | Configurable multilayer CNN-UM emulator on FPGA | |
US5519811A (en) | Neural network, processor, and pattern recognition apparatus | |
US5517667A (en) | Neural network that does not require repetitive training | |
US8316337B2 (en) | Method and system for optimally placing and assigning interfaces in a cross-fabric design environment | |
US20210357560A1 (en) | Method and System for Hierarchical Circuit Simulation Using Parallel Processing | |
US8527929B2 (en) | Method and system for optimally connecting interfaces across multiple fabrics | |
US6643832B1 (en) | Virtual tree-based netlist model and method of delay estimation for an integrated circuit design | |
JPWO2019053835A1 (ja) | 演算回路、演算方法、およびプログラム | |
US8479134B2 (en) | Method and system for specifying system level constraints in a cross-fabric design environment | |
US20220405455A1 (en) | Methods and systems for congestion prediction in logic synthesis using graph neural networks | |
US5627944A (en) | Parallel data processing system | |
WO2020093669A1 (en) | Convolution block array for implementing neural network application and method using the same, and convolution block circuit | |
Serrano-Gotarrdeona et al. | An ART1 microchip and its use in multi-ART1 systems | |
Fukunaga et al. | Placement of circuit modules using a graph space approach | |
Kundu | An incremental algorithm for identification of longest (shortest) paths | |
CN117561515A (zh) | 拥塞预测模型训练方法、图像处理方法及装置 | |
JP2825133B2 (ja) | 並列データ処理方式 | |
Kukutla et al. | TC-GVF: Tensor Core GPU based Vector Fitting via Accelerated Tall-Skinny QR Solvers | |
TWI659324B (zh) | 電路規劃結果產生方法與系統 | |
Hendrich | A scalable architecture for binary couplings attractor neural networks | |
CN117787196A (zh) | 基于深度强化学习的绕障X结构Steiner最小树方法 | |
Dawwd et al. | Time sharing based parallel implementation of CNN on low cost FPGA | |
Shishehbor et al. | Parametric Encoding with Attention and Convolution Mitigate Spectral Bias of Neural Partial Differential Equation Solvers | |
Aksoy et al. | Realization of Logic Functions Using Switching Lattices Under a Delay Constraint |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |