KR102391802B1 - 유전 알고리즘 기반의 토폴로지 합성 방법 - Google Patents

유전 알고리즘 기반의 토폴로지 합성 방법 Download PDF

Info

Publication number
KR102391802B1
KR102391802B1 KR1020200146320A KR20200146320A KR102391802B1 KR 102391802 B1 KR102391802 B1 KR 102391802B1 KR 1020200146320 A KR1020200146320 A KR 1020200146320A KR 20200146320 A KR20200146320 A KR 20200146320A KR 102391802 B1 KR102391802 B1 KR 102391802B1
Authority
KR
South Korea
Prior art keywords
cases
topology
genetic algorithm
router
chip
Prior art date
Application number
KR1020200146320A
Other languages
English (en)
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 KR1020200146320A priority Critical patent/KR102391802B1/ko
Application granted granted Critical
Publication of KR102391802B1 publication Critical patent/KR102391802B1/ko

Links

Images

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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법은 케이스들을 생성하는 단계, 생성된 케이스들에 대한 평균 지연 값을 산출하는 단계, 케이스들 중에서 평균 지연 값이 기설정된 범위 내에 포함되는 선택 케이스를 선택하는 단계, 선택 케이스에 내장되는 라우터의 정보를 다른 케이스에 제공하는 단계 및 선택 케이스 중 라우터 정보를 조정하는 단계를 포함한다.

Description

유전 알고리즘 기반의 토폴로지 합성 방법{Topology Synthesis Method of Using Genetic Algorithm}
본 발명은 유전 알고리즘 기반의 토폴로지 합성 방법에 관한 것으로, 더욱 자세하게는 이종 매니코어 네트워크-온-칩에서 링크 수명 향상을 위한 유전알고리즘 기반 토폴로지 합성 방법에 관한 것이다.
반도체 공정의 소형화로 인해 플립플롭 및 금속 와이어의 노화로 인한 통신 데이터의 지연 오류는 SoC 인터커넥트 설계에서 중요한 해결 과제가 되었다. 나노 스케일 공정에서 노화로 인한 데이터 오류는 주로 negative bias temperature instability (NBTI), hot carrier injection (HCI), electromigration으로 인해 발생한다. NBTI 및 HCI는 트랜지스터의 임계 전압을 증가시키고 electromigration은 금속 와이어의 저항을 증가시켜 데이터 전송 지연을 증가시킨다.
네트워크-온-칩의 링크 에이징 효과는 low-level 설계에서 해결 가능한 문제로 취급되었기 때문에 high-level 설계에서 에이징을 고려한 연구는 거의 없었다.
본 발명의 목적은 매니코어 시스템을 위한 NoC에서 인터커넥트 링크들의 에이징 효과를 시스템 수준에서 예측하고, 이에 기반하여 NoC 라우터들과 오류정정부호 (error correction code, ECC) 로직들을 배치하는 토폴로지를 합성할 수 있는 유전 알고리즘 기반의 토폴로지 합성 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 각 링크에 비트 단위 에이징을 고려한 ECC 로직을 추가하여 기존 linear block code 로직보다 적은 면적 및 지연시간으로 동일한 수준의 칩 수명을 보장할 수 있는 유전 알고리즘 기반의 토폴로지 합성 방법을 제공하는 것이다.
또한, 본 발명의 다른 목적은 에이징 분석 및 토폴로지 합성에 적합하게 simultaneous annealing 단계를 추가하고, 각 단계를 라우터 배치에 적합하게 수정한 유전 알고리즘 기반으로 라우터의 개수, 위치, 네트워크의 연결성을 변화시켜 칩 수명을 보장하면서 평균 지연시간을 최소화할 수 있는 유전 알고리즘 기반의 토폴로지 합성 방법을 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 발명의 실시예들로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
이하에서는 본 발명의 실시예들로서 유전 알고리즘 기반의 토폴로지 합성 방법에 대해서 설명한다.
본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법은, 케이스들을 생성하는 단계; 생성된 상기 케이스들에 대한 평균 지연 값을 산출하는 단계; 상기 케이스들 중에서 상기 평균 지연 값이 기설정된 범위 내에 포함되는 선택 케이스를 선택하는 단계; 상기 선택 케이스에 내장되는 라우터의 정보를 다른 케이스에 제공하는 단계; 및 상기 선택 케이스 중 상기 라우터 정보를 조정하는 단계;를 포함한다.
또한, 상기 생성 단계는, 상기 케이스들을 랜덤하게 생성하는 것을 포함할 수 있다.
또한, 상기 산출하는 단계는, 에이징-aware ECC logic을 이용하여 상기 케이스들에 대한 평균 지연 값을 산출하는 것을 포함할 수 있다.
또한, 상기 라우터 정보는, 라우터의 수, 각 라우터에 연결된 노드의 수, 링크의 길이 중 적어도 하나를 포함할 수 있다.
상술한 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명의 실시 예들에 따르면 다음과 같은 효과를 얻을 수 있다.
본 발명은 링크의 에이징 효과를 고려한 토폴로지 합성을 수행하여 low-level 설계 요소가 NoC 설계에 반영될 수 있고, 칩의 수명을 크게 향상시킬 수 있다.
본 발명은 비선형 ECC 로직의 링크에서 노화로 인한 지연 오류 가능성을 기반으로 생성되어 BCH 로직보다 적은 오버 헤드로 동일한 수준의 신뢰성을 달성할 수 있는 효과가 있다.
본 발여은 칩에 배치할 라우터 수를 유연하게 할당하여 합리적인 수를 결정하는 개선된 유전 알고리즘을 사용함으로써, 칩 수명을 보장하면서 평균 지연시간을 최소화할 수 있는 효과가 있다.
본 발명의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 발명의 실시예들에 대한 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 발명을 실시함에 따른 의도하지 않은 효과들 역시 본 발명의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되고, 첨부된 도면들은 본 발명에 대한 다양한 실시예들을 제공한다. 또한, 첨부된 도면들은 상세한 설명과 함께 본 발명의 실시 형태들을 설명하기 위해 사용된다.
도 1은 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 장치를 설명하는 도면이다.
도 2는 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법을 설명하기 위한 도이다.
도 3은 본 발명의 일실시 예에 따라 링크 에이징 방지를 위한 오류정정부호 생성하는 것을 설명하기 위한 도이다.
도 4는 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법의 구체적인 방법을 설명하기 위한 도이다.
도 5는 본 발명의 실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법에서 토폴로지 합성을 위한 데이터 형식의 예시를 설명하기 위한 도이다.
이하에서는 본 발명의 실시 예들로서 이종 매니코어 네트워크-온-칩에서 링크 수명 향상을 위한 유전알고리즘 기반 토폴로지 합성 방법에 대해서 설명한다.
이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 본 발명의 요지를 흐릴 수 있는 부분, 장치 및/또는 구성 등은 기술하지 않았으며, 당업자의 수준에서 이해할 수 있을 정도의 부분, 장치 및/또는 구성 또한 기술하지 아니하였다. 또한, 도면에서 동일한 도면 부호를 사용하여 지칭하는 부분은 장치 구성 또는 방법에서 동일한 구성 요소 또는 단계를 의미한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "~부" 또는 "~기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미한다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
또한, 본 발명의 실시예들에서 사용되는 특정(特定) 용어들 및/또는 기호들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 장치를 설명하는 도면이다.
도 1을 참조하면, 일반적으로 네트워크 온 칩(Network-on-Chip, NoC)은 적어도 하나 이상의 코어(110)들 간에 패킷을 전달하는 네트워크 인터페이스와 출발지에서 목적지까지 패킷을 전송하기 위한 경로를 제공하는 라우터 (120)를 포함한다.
이때, 라우터(120)는 일종의 네트워크 스위치(network switch) 또는 스위칭 허브(switching hub)일 수 있다. 또한, 라우터(120)는 복수의 포트를 포함할 수 있다. 또한, 라우터(120)는 복수의 포트를 통하여 설정된 하나의 코어(110) 또는 하나 이상의 타 라우터(120)와 연결될 수 있다.
네트워크 온 칩은 정형의 타일(tile)(200)들로 모델링되는 정형 메시 구조일 수 있으며, 각각의 타일은 마이크 로프로세서, DSP 또는 전용 하드웨어 블럭 등이 될 수 있다. 이러한 타일(200)은 코어(110)와 라우터(120)로 구성되어 있고, 타일들이 온-칩 네트워크 인터페이스에 의해 상호 연결되어 있다.
이와 같이, 광학 네트워크 온 칩은 하나의 코어(110)마다 하나의 라우터(120)가 연결된 구조로서, 코어(110)는 패킷을 라우터를 통해 전송하기 위한 방법을 기술하는 라우팅 알고리즘, 패킷을 정해진 시간 동안 전송하기 위한 플로우 컨트롤 제어 등을 수행한다. 이러한 코어(110)는 각각의 연산을 수행하는 프로세서 코어(Processor Core) 또는 IP블록(IP block)이라 지칭되기도 한다.
정형 메시 구조의 네트워크 온 칩에서 타일(200)은 코어간 발생하는 트래픽에 따라 서로 다른 라우팅 알고리즘을 이용하여 라우터의 라우팅 경로 설정 방법을 수행하기 위한 프로그램이 기록된 메모리(210) 및 메모리(210)에 기록된 프로그램을 실행하기 위한 프로세서(220)를 포함한다. 이때, 프로세서(220)는 상기에서 설명한 바와 같이 라우팅 알고리즘 등을 수행하는 코어 또는 프로세서 코어일 수 있다.
메모리(210)는 프로세서(220)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(210)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(220)는 매니코어 시스템을 위한 NoC에서 인터커넥트 링크들의 에이징 효과를 시스템 수준에서 예측하고, 이에 기반하여 NoC 라우터들과 오류정정부호 (error correction code, ECC) 로직들을 배치하는 토폴로지를 합성하는 전체 과정을 제어한다.
여기서, 프로세서(220)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치 (central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망 라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2는 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법을 설명하기 위한 도이다.
도 2를 참조하면, 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법은 적어도 하나 이상의 입력 데이터를 포함할 수 있다(S110).
적어도 하나 이상의 입력 데이터는 제1 입력 데이터 내지 제4 입력 데이터를 포함할 수 있다.
제1 입력 데이터는 시스템 레벨 NoC 규격(the system-level NoC specification)일 수 있다. 시스템 레벨 NoC 규격은 최대 링크 길이 제약, 대역폭, 라우터의 최대 포트 수, 가상 채널 수 및 사용 가능한 최대 라우터 수 등과 같이, NoC 설계에 필요한 매개 변수를 포함할 수 있다.
제2 입력 데이터는 칩내 PE의 플로어플랜 정보(virtual floorplan information of the PEs in the chip)일 수 있다. 칩내 PE의 플로어 플랜 정보는 칩에 배치된 PE에 대한 데이터를 제공할 수 있다.
제3 입력 데이터는 칩의 프로세스 매개 변수(process parameters of the chip)일 수 있다. 칩의 프로세스 매개 변수는 와이어의 단위 길이 당 저항, 유전율, 플립 플롭의 전파 지연 및 설정 시간을 포함할 수 있다. 상술한 칩의 프로세서 매개 변수는 NoC에서 각 링크의 초기 상태 및 에이징에 의한 확장된 지연을 분석하는데 사용될 수 있다.
제4 입력 데이터는 통신 작업 그래프 CTG (P, E)(the communication task graph CTG (P, E))을 포함할 수 있다. 통신 작업 그래프 CTG (P, E)는 가중 방향 그래프로, 각 정점
Figure 112020117905931-pat00001
는 그래프의 PE에 해당하고, 각 방향 에지
Figure 112020117905931-pat00002
는 PE pi에서 PE pj 로의 통신을 나타낼 수 있다. 여기서 에지는
Figure 112020117905931-pat00003
에서
Figure 112020117905931-pat00004
로의 통신 대역폭 요구 사항과 동일한 값
Figure 112020117905931-pat00005
로 레이블을 지정할 수 있다.
본 발명은 제1 입력 데이터 내지 제4 입력 데이터를 사용하여 제약 조건을 만족하면서 평균 대기 시간을 최소화하는 토폴로지 합성 솔루션을 도출할 수 있다.
먼저, 본 발명은 프로세서의 제어 하에 제1 입력 데이터 및 제2 입력 데이터를 사용하여 GA(Genetic Algorithm)를 적용하기 위한 초기 토폴로지 합성 케이스를 생성할 수 있다(S120). GA는 가능한 한 가장 넓은 검색 영역을 갖는 것이 바람직하기 때문에 각 케이스를 무작위로 생성할 수 있다.
GA는 biological evolution의 key component들인 natural selection과 genetic inheritance에서 영감을 받아 성능이 좋은 case들의 내부적인 특성들을 재조합하며 near-optimum 솔루션을 탐색하는 휴리스틱 알고리즘일 수 있다. GA는 genetic crossover 및 mutation 동작을 통해, local optimum solution에 빠르게 수렴하는 문제를 방지해왔을 뿐만 아니라, 부분적인 성능 개선이 전체 시스템의 성능에 영향을 주는 NoC 연결성 및 라우팅 경로 정의 분야에서 탁월한 성능을 가질 수 있다.
본 발명은 프로세서의 제어 하에 제3 입력 데이터 및 통신 부하에 기초하여, 생성된 초기 케이스의 각 링크 컨덕터에서 에이징 프로세서에 의한 지연 시프트 예측을 생성할 수 있다(S130).
본 발명은 프로세서의 제어 하에 각 링크의 에이징 기간 동안 장애 가능성이 결정되고 링크에 적합한 ECC 로직 생성을 진행할 수 있다(S140).
마지막으로, 본 발명은 프로세서의 제어 하에 GA를 반복적으로 구동하여 평균 지연이 최적화된 토폴로지 합성 케이스를 검색할 수 있다(S150).
상술한 바와 같이, 본 발명은 NoC 토폴로지 합성의 결과로 네 가지 유형의 출력을 사용할 수 있다(S160). 예를 들어, 네 가지 유형의 출력은 NoC 토폴로지 그래프, 각 링크에 추가된 ECC 로직, 시스템에서 예상되는 평균 대기 시간 및 칩 수명 등일 수 있다.
NoC 토폴로지 그래프는 방향성 그래프 TG(R, N, Lnr, Lrr)일 수 있다. 여기서 R은 토폴로지에 사용되는 라우터 세트이고, N은 노드 세트이고, Lnr은 노드와 라우터 간의 링크 세트이고, Lrr은 라우터 간의 링크 집합일 수 있다.
L = Lnr∪Lrr은 모든 링크의 집합을 나타낼 수 있다.
각 링크에 추가된 ECC 로직은 오류 수정 기능과 ECC 로직의 하드웨어 구조가 포함되어 보장된 수명 동안 에이징으로 인한 지연 오류를 방지할 수 있다.
라우터 및 링크의 온 칩 위치는 라우터 R의 위치와 NoC 내의 링크 Lnr 및 Lrr의 와이어링 정보를 포함할 수 있다.
각 통신의 라우팅 경로는 패킷이 CTG (P, E)의 모든 에지를 통과하는 R, Lnr 및 Lrr을 나타낼 수 있다.
도 3은 본 발명의 일실시 예에 따라 링크 에이징 방지를 위한 오류정정부호 생성하는 것을 설명하기 위한 도이다.
도 3을 참조하면, 본 발명은 프로세서의 제어 하에 링크 와이어들의 aging-induced delay fault 분석이 완료되면, 신뢰성을 보강하기 위한 ECC로직 생성을 진행할 수 있다. 각 와이어에서 예측되는 aging effect 기반의 링크 delay fault 발생 유무를 기반으로 비트 수준의 신뢰성 확보를 위한 aging-aware error correction logic을 생성할 수 있다.
먼저, 본 발명은 Aging-aware ECC가 커버할 오류 신드롬을 분석하기 위해 지연 오류(delay fault) 발생 가능성을 기준으로 각 링크의 내부 도선들을 제1 분류 그룹 내지 제3 분류류 그룹으로 분류할 수 있다.
제1 분류 그룹은 신뢰성의 보장이 필요한 기간 내에서 delay fault가 발생할 것으로 예측되고, 이에 따라 오류정정이 반드시 필요한 와이어들을 배치할 수 있다. 제1 분류 그룹에 포함되는 와이어의 개수는
Figure 112020117905931-pat00006
로 표현할 수 있다. 제1 분류 그룹은 faulty wire group일 수 있다.
제2 분류 그룹은 신뢰성 보장이 필요한 기간동안 delay fault가 발생하지 않을 것이라 예상되지만, 최종 시점에서 timing slack이 매우 작아 실사용에서 aging effect의 variation에 따라 delay fault가 발생 가능한 도선을 배치할 수 있다. 제2 분류 그룹은 clock period
Figure 112020117905931-pat00007
에 계자가 정한 0에서 1사이의 상수
Figure 112020117905931-pat00008
을 곱한 값으로 clock period보다 strict한 timing margin을 지정하고, 이 margin을 초과하는 delay를 가진 와이어를 배치할 수 있다. 제2 분류 그룹에 포함되는 와이어의 개수는
Figure 112020117905931-pat00009
로 표현할 수 있다. 제2 분류 그룹은 semi-faulty wire group일 수 있다.
제3 분류 그룹은 설계자가 정한 strict timing margin을 만족하는 와이어들을 배치할 수 있다. 제3 분류 그룹은 unfaulty wire group일 수 있다.
본 발명은 각 wire group에 부여할 오류정정 능력을 기반으로 부호의 신드롬들을 생성할 수 있다.
Faulty wire group의 wire들은 aging 시점에서 delay fault가 발생할 것이라 예상되기 때문에, 항상 오류 정정이 가능해야 하며, 이에 필요한 신드롬의 개수는
Figure 112020117905931-pat00010
개일 수 있다.
Semi-faulty wire group의 wire들은 낮은 확률의 delay fault 발생 가능성을 갖기 때문에, 높은 오류정정능력을 부여할 필요가 없다. 따라서, semi-faulty wire group 안에서 한 개 wire에 delay fault가 발생하더라도 복구가 가능하도록 부호를 생성할 수 있다. 이에 필요한 오류 신드롬의 개수는
Figure 112020117905931-pat00011
이다.
unfaulty wire group의 wire들은 delay fault가 발생하지 않을 것이라 예측되기 때문에 오류정정을 진행하지 않을 수 있다.
Aging-aware ECC는 error-free 상황뿐 아니라 faulty wire group과 semi-faulty wire group에 대한 오류 발생 상황을 모두 고려할 수 있다. 이에 필요한 전체 오류 신드롬의 개수는
Figure 112020117905931-pat00012
일 수 있다.
본 발명은 ECC의 패리티 비트가 모든 오류 신드롬 상황을 표현 가능하도록 하기 위해서 수학식 1의 조건을 만족하는 패리티 비트의 개
Figure 112020117905931-pat00013
의 최소값을 찾아야 한다.
[수학식 1]
Figure 112020117905931-pat00014
하지만, 패리티 비트를 전송할 wire가 링크에 추가될 경우, 각 wire들의 coupling capacitance가 변화하고 delay가 증가하여 faulty wire group과 semi-faulty wire group의 wire 개수가 증가할 수 있다. 이에 따라, 본 발명은 패리티 비트가 추가될 때 delay estimation 및 패리티 비트 계산을 반복적으로 진행할 수 있다. 재실행된 패리티 비트 계산 결과가 이전 결과와 동일할 때 이 과정이 완료된다.
또한, 본 발명은 오류 신드롬에 대한 ECC 로직의 generation matrix을 포함할 수 있다. Generation matrix는 정정이 필요한 모든 오류 패턴 및 패리티에 대하여 서로 다른 오류 신드롬을 가질 수 있다. 이에 Generation matrix는 다음과 같은 조건을 만족할 필요가 있다
조건 1) Matrix의 각 열은 unique해야 한다.
조건 2) Faulty wire group에 속한 열 간의 bitwise XOR operation 결과값은 unique해야 한다.
조건 3) 조건 2)에서 생성된 모든 결과값과 semi-faulty wire group에 속한 열 간의 bitwise XOR 결과값은 unique해야 한다.
본 발명은 이와 같은 조건을 갖는 generation matrix 중 적어도 하나의 솔루션을 검색할 수 있다. 예를 들어, 적어도 하나의 솔루션은 Boolean satisfiability problem(SAT)을 포함하며, SAT solver와 같은 프로그램을 이용하여 솔루션을 검색할 수 있다.
본 발명은 원하는 정정능력을 만족하는 generator matrix를 찾은 후 ECC 인코더 및 디코더 로직을 생성할 수 있다.
인코더는 XOR 게이트 기반으로 패리티 비트를 생성할 수 있다. Matrix 내 각 패리티 column은 데이터 column들의 XOR 연산으로 산출할 수 있다. 본 발명은 투입된 데이터 비트들에 대하여 XOR 연산을 진행하여 패리티 비트를 얻을 수 있다.
디코딩 로직은 syndrome generation logic과 error position 검출 로직으로 구성될 수 있다.
Syndrome generation logic은 encoder에서 각 패리티 비트를 생성할 때 사용된 데이터 비트들과 수신한 패리티 비트의 XOR 연산을 통해 오류 발생 여부를 검출할 수 있다. 만약 통신 오류가 발생하지 않았다면, syndrome generation logic의 모든 출력이 0의 값을 가질 수 있다. 하지만, 출력 중 일부가 1의 값을 가진다면, link traversal 도중에 데이터 오류가 발생한 것으로 판단되며, 오류가 발생한 위치를 검출하는 과정이 필요할 수 있다.
Error position 검출 로직은 sum of products의 논리식으로 다수 stage의 and/or 게이트로 구성될 있다.
도 4는 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법의 구체적인 방법을 설명하기 위한 도이다.
NoC 링크들의 aging-aware ECC 로직들을 생성하고 그들의 latency를 분석하는 것이 가능해지면, 토폴로지 합성 case들의 평균 latency를 예측하고 이를 최적화하는 것이 가능할 수 있다. 라우터들과 링크들의 연결성 및 위치를 적절하게 정의하여 평균 latency를 최적화하는 문제는 NP-hard로 귀결되기 때문에, 가능한 모든 경우들을 고려하여 최적의 solution을 얻는 데 시간적 어려움이 존재할 수 있다. 이를 해결하기 위해, 본 발명의 GA 기반의 NoC 토폴로지 합성 방법은 다음과 같다.
도 4를 참조하면, 본 발명의 일실시 예에 따른 유전 알고리즘에 기초한 토폴로지를 합성하는 방법은 제1 단계 내지 제6 단계를 포함할 수 있다.
먼저, 제1 단계는 알고리즘 구동을 위해 토폴로지 합성 및 라우팅 경우의 수의 초기 모집단을 생성할 수 있다(S210). 모집단인 케이스들은 서치 영역(search area)상에서 균일하게 배치되게 하기 위해 최대한 무작위성을 보장하는 방식으로 생성될 수 있다.
제2 단계는 생성된 케이스들의 성능평가지표인 평균 latency의 evaluation을 진행할 수 있다(S220). 제2 단계는 aging-aware ECC logic을 생성하고, 최단거리 라우팅 경로들을 할당할 수 있다. 이에 대한 설명은 도 2 내지 도 3에서 충분히 설명하였으므로 생략하기로 한다.
제3 단계는 케이스들 중 평균 latency가 낮은 것들을 다음 단계로 넘어갈 후보로 선정할 수 있다(S230). 제3 단계는 온전한 형태로 다음 단계의 구성요소로 참여할 뿐만 아니라 crossover와 mutation과 같은 genetic operation에도 사용될 수 있다.
제4 단계는 선택된 케이스들 중 일부에 대하여 내부 라우터의 위치 및 연결성 정보를 다른 케이스에 전달하는 crossover operation을 진행할 수 있다(S240). 이를 통해 각 케이스들의 좋은 특성들이 조합되어 전체 네트워크의 성능이 향상될 수 있다.
제5 단계는 선택된 케이스들 중 일부에서 라우터 위치 및 연결성을 임의로 수정할 수 있다(S250). 제5 단계는 서치 영역(search area) 내 jump를 통해 기존에 있던 케이스들과 상이한 특성을 가진 개체를 형성하고, local optimum solution에 빠르게 수렴하는 것을 방지할 수 있다.
제6 단계는 각 케이스들에서 라우터의 위치 및 연결성을 조정하여 네트워크의 평균 latency를 개선하는 local search를 진행할 수 있다(S260). 동일한 연결성을 유지한 네트워크에서 라우터의 위치가 변경되면, 그 라우터와 연결된 링크들의 wire delay를 변화할 수 있다.
이 변화는 각 링크들에 추가되는 ECC들에 필요한 syndrome 수를 줄이고, 로직들의 latency를 단축시킬 수 있다.
또한, PE들의 연결성이 조금 수정될 때에도 latency 개선이 일어날 수 있다. 이 점을 고려하여 토폴로지 합성 케이스의 특성을 약간 변화시켜 평균 latency를 개선 가능한 솔루션을 탐색할 수 있다.
상술한 단계를 통해 생성된 토폴로지 합성 케이스들은 진화된 새로운 모집단으로 볼 수 있다.
본 발명은 모집단에 대하여 evaluation, selection, crossover, mutation, 그리고 local search를 반복적으로 시행하면서 near-optimum solution을 탐색할 수 있다. GA의 stop condition은 일반적으로 computation 시간 또는 전체 case들의 수렴 정도에 따라 결정될 수 있다(S215).
상술한 바와 같이, 본 발명의 일실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법의 계산 속도 가속을 위해 데이터 유형은 GA에 적합하게 정의되어야 한다.
상술한 도 2에서 설명한 바와 같이, 본 발명에서 유전 알고리즘 기반의 토폴로지 합성 방법의 출력은 NoC 토폴로지 그래프, 각 링크에 설정된 ECC 로직, 네트워크 구성요소의 위치, 통신을 위한 라우팅 경로 등을 포함할 수 있다.
본 발명에서 라우터와 링크의 위치와 연결이 정의되면, 나머지 출력은 파생될 수 있으므로, 라우터와 링크의 위치에 대한 데이터를 먼저 설정해야 한다. 특히, 각각의 케이스는 라우터의 수, 각 라우터에 연결된 노드의 수, 링크의 길이를 빠르게 변경할 수 있다. 이에 대한 데이터 표현의 예는 도 5에서 설명하기로 한다.
도 5는 본 발명의 실시 예에 따른 유전 알고리즘 기반의 토폴로지 합성 방법에서 토폴로지 합성을 위한 데이터 형식의 예시를 설명하기 위한 도이다.
도 5a는 위상 합성 사례를 보여주고, 그림 5b는 해당 데이터의 구조를 설명하기 위한 것이다.
먼저 p0 ~ p9는 도면에서 PE의 위치와 크기를 나타내고, r0 ~ r4는 라우터의 위치를 나타낼 수 있다.
각 라우터는 그것의 위치, 연결된 노드, 링크의 배치에 대한 정보를 포함할 수 있다. 예를 들어, r0은 칩의 왼쪽 하단을 (0,0)으로 간주할 때, (5,10)에 위치하며, P0, P1 및 r3에 연결될 수 있다.
P0 포트에 대한 링크가 r0에서 1개 남은 공간과 1개 위쪽에 위치하기 때문에
Figure 112020117905931-pat00015
은 {L1,U1}일 수 있다. 마찬가지로 r3 포트에 대한 링크가 r0에서 한 칸 위로, 여섯 칸 오른쪽으로 배치되기 때문에
Figure 112020117905931-pat00016
은 {U1,R6}일 수 있다.
상술한 본 발명의 실시예들은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. 또한, 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함할 수 있다.
110: 코어
120 : 라우터
200 : 타일
210 : 메모리
220: 프로세서

Claims (4)

  1. 하이브리드 광학 네트워크 온 칩에 대한 유전 알고리즘 기반의 토폴로지 합성 방법에 있어서,
    프로세서가 입력된 시스템 레벨 NoC(Network on Chip) 규격 및 칩 내 PE(Processing Element)의 플로어플랜 정보에 기반하여 유전 알고리즘을 적용하기 위한 초기 토폴로지 합성 케이스들을 생성하여 메모리에 저장하는 단계;
    상기 프로세서가 입력된 상기 칩의 프로세스 매개 변수에 기반하여 상기 생성된 초기 케이스들의 각 라우터에서 에이징 과정에 의한 지연 시프트 예측을 생성하는 단계;
    상기 프로세서가 상기 각 라우터의 에이징 기간 동안의 장애 가능성을 결정하고 상기 각 라우터에 적합한 ECC(Error Correction Code) 로직을 생성하는 단계;
    상기 프로세서가 입력된 통신 작업 그래프에 기반하여 상기 유전 알고리즘을 반복 구동하여 평균 지연이 최적화된 토폴로지 합성 케이스들을 검색하는 단계; 및
    상기 프로세서가 상기 단계들을 통해 획득한 NoC 토폴로지 그래프, 상기 각 라우터에 추가된 ECC 로직, 시스템에서 예상되는 평균 대기 시간 및 상기 칩의 수명에 기반하여 라우팅 경로를 결정하는 단계;
    를 포함하는 것을 특징으로 하는 유전 알고리즘 기반의 토폴로지 합성 방법.
  2. 제1 항에 있어서,
    상기 시스템 레벨 NoC 규격은 최대 링크 길이 제약, 대역폭, 라우터의 최대 포트 수, 가상 채널 수 및 사용 가능한 최대 라우터 수를 포함하는 것을 특징으로 하는 유전 알고리즘 기반의 토폴로지 합성 방법.
  3. 제1 항에 있어서,
    상기 칩의 프로세스 매개 변수는 와이어의 단위 길이 당 저항, 유전율, 플립 플롭의 전파 지연 및 설정 시간을 포함하는 것을 특징으로 하는 유전 알고리즘 기반의 토폴로지 합성 방법.
  4. 제1 항에 있어서,
    상기 유전 알고리즘을 반복 구동하여 평균 지연이 최적화된 토폴로지 합성 케이스들을 검색하는 단계는,
    상기 생성된 각각의 케이스들의 평균 지연 시간을 평가하는 단계; 평균 지연 시간이 낮은 케이스들을 선택하는 단계; 상기 선택된 케이스들 중 일부에서 라우터들의 위치 및 연결을 다른 케이스들에 적용하는 단계; 상기 선택된 케이스들 중 일부에서 라우터들의 위치 및 연결을 무작위로 변화시키는 단계; 및 상기 생성된 각각의 케이스들에서 평균 지연 시간을 감소시키기 위해 라우터들의 위치 및 연결을 조정하는 단계를 추가적으로 포함하는 것을 특징으로 하는 유전 알고리즘 기반의 토폴로지 합성 방법.
KR1020200146320A 2020-11-04 2020-11-04 유전 알고리즘 기반의 토폴로지 합성 방법 KR102391802B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200146320A KR102391802B1 (ko) 2020-11-04 2020-11-04 유전 알고리즘 기반의 토폴로지 합성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146320A KR102391802B1 (ko) 2020-11-04 2020-11-04 유전 알고리즘 기반의 토폴로지 합성 방법

Publications (1)

Publication Number Publication Date
KR102391802B1 true KR102391802B1 (ko) 2022-04-29

Family

ID=81428880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146320A KR102391802B1 (ko) 2020-11-04 2020-11-04 유전 알고리즘 기반의 토폴로지 합성 방법

Country Status (1)

Country Link
KR (1) KR102391802B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061608A (ko) * 2006-05-12 2009-06-16 아노비트 테크놀로지스 리미티드 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
KR101508573B1 (ko) * 2013-11-04 2015-04-07 성균관대학교산학협력단 네트워크 온 칩 및 그 대역폭 할당 방법
KR101548695B1 (ko) * 2014-11-03 2015-09-01 성균관대학교산학협력단 하이브리드 광학 네트워크 온 칩의 토폴로지 설계 장치 및 방법
KR20150122150A (ko) * 2013-02-27 2015-10-30 넷스피드 시스템즈 전체적 대기 시간이 최소화되고 인터커넥트 비용이 감소하도록 노드들을 상호연결하는 soc ip 코어 자동 연결 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090061608A (ko) * 2006-05-12 2009-06-16 아노비트 테크놀로지스 리미티드 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
KR20150122150A (ko) * 2013-02-27 2015-10-30 넷스피드 시스템즈 전체적 대기 시간이 최소화되고 인터커넥트 비용이 감소하도록 노드들을 상호연결하는 soc ip 코어 자동 연결 방법
KR101508573B1 (ko) * 2013-11-04 2015-04-07 성균관대학교산학협력단 네트워크 온 칩 및 그 대역폭 할당 방법
KR101548695B1 (ko) * 2014-11-03 2015-09-01 성균관대학교산학협력단 하이브리드 광학 네트워크 온 칩의 토폴로지 설계 장치 및 방법

Similar Documents

Publication Publication Date Title
Kohler et al. Fault tolerant network on chip switching with graceful performance degradation
US20180203963A1 (en) THREE-DIMENSIONAL NoC RELIABILITY EVALUATION
Beechu et al. Hardware implementation of fault tolerance NoC core mapping
Palesi et al. Leveraging partially faulty links usage for enhancing yield and performance in networks-on-chip
DiTomaso et al. Dynamic error mitigation in NoCs using intelligent prediction techniques
Pasricha et al. OE+ IOE: A novel turn model based fault tolerant routing scheme for networks-on-chip
Pasricha et al. NS-FTR: A fault tolerant routing scheme for networks on chip with permanent and runtime intermittent faults
Grecu et al. Essential fault-tolerance metrics for NoC infrastructures
Patooghy et al. XYX: A power & performance efficient fault-tolerant routing algorithm for network on chip
Silveira et al. Preprocessing of Scenarios for Fast and Efficient Routing Reconfiguration in Fault-Tolerant NoCs
Moriam et al. Fault tolerant deadlock-free adaptive routing algorithms for hexagonal networks-on-chip
Kaleem et al. A survey on network on chip routing algorithms criteria
Yu et al. Transient and permanent error control for high-end multiprocessor systems-on-chip
Valinataj et al. Fault-aware and reconfigurable routing algorithms for Networks-on-Chip
Neishaburi et al. A fault tolerant hierarchical network on chip router architecture
Pratomo et al. Gradient—An adaptive fault-tolerant routing algorithm for 2D mesh network-on-chips
KR102391802B1 (ko) 유전 알고리즘 기반의 토폴로지 합성 방법
Wang et al. An efficient topology reconfiguration algorithm for noc based multiprocessor arrays
Coelho et al. A soft-error resilient route computation unit for 3D networks-on-chips
Charif et al. MUGEN: A high-performance fault-tolerant routing algorithm for unreliable Networks-on-Chip
Bahrebar et al. Adaptive and reconfigurable fault-tolerant routing method for 2D Networks-on-Chip
Elmiligi et al. Improving Networks‐on‐Chip performability: A topology‐based approach
Shen et al. Multithread reconfiguration algorithm for mesh-connected processor arrays
Frazzetta et al. Efficient application specific routing algorithms for NoC systems utilizing partially faulty links
Janidarmian et al. Special issue on a fault tolerant network on chip architecture

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant