KR100367715B1 - Digital hopfield neural network chip for channel assignment in cellular mobile communication - Google Patents

Digital hopfield neural network chip for channel assignment in cellular mobile communication Download PDF

Info

Publication number
KR100367715B1
KR100367715B1 KR10-1999-0011765A KR19990011765A KR100367715B1 KR 100367715 B1 KR100367715 B1 KR 100367715B1 KR 19990011765 A KR19990011765 A KR 19990011765A KR 100367715 B1 KR100367715 B1 KR 100367715B1
Authority
KR
South Korea
Prior art keywords
neural network
digital
channel
chip
algorithm
Prior art date
Application number
KR10-1999-0011765A
Other languages
Korean (ko)
Other versions
KR20000065460A (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 KR10-1999-0011765A priority Critical patent/KR100367715B1/en
Publication of KR20000065460A publication Critical patent/KR20000065460A/en
Application granted granted Critical
Publication of KR100367715B1 publication Critical patent/KR100367715B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling

Abstract

본 발명에서는 셀룰라 이동통신에서 효과적으로 채널을 할당하기 위한 신경망 알고리즘을 하드웨어로 구현한다. 본 발명에 사용된 알고리즘은 셀룰라 이동통신의 단위 셀 에서 채널을 할당할 때에 근접하는 셀 들과 충돌하지 않도록 최적화하기 위해 홉필드 네트워크를 이용하여 구성하였으며, 하드웨어로 구현하기 위해 VHDL로 코딩하여 기능적으로 시뮬레이션하였다. 본 발명의 시뮬레이션된 알고리즘을 이용하여 채널할당문제를 해결하고, 순차처리방식의 소프트웨어 신경망 알고리즘을 하드웨어화하여 병렬처리가 가능토록 풀 커스텀 아식(Full Custom ASIC)공정을 이용한 채널할당을 위한 디지털 홉필드 신경망 칩과 이를 이용한 채널할당 하드웨어를 구현한다.In the present invention, a neural network algorithm for effectively allocating channels in cellular mobile communication is implemented in hardware. The algorithm used in the present invention is configured by using a hopfield network to optimize not to collide with neighboring cells when allocating channels in a unit cell of cellular mobile communication, and functionally by coding with VHDL to implement hardware. Simulated. Solving the channel assignment problem using the simulated algorithm of the present invention, and the digital hop field for channel assignment using a full custom ASIC process to enable parallel processing by hardwareizing the software neural network algorithm of the sequential processing method. Neural network chip and channel allocation hardware are implemented.

Description

이동통신의 채널할당을 위한 디지털 홉필드 신경망 칩{DIGITAL HOPFIELD NEURAL NETWORK CHIP FOR CHANNEL ASSIGNMENT IN CELLULAR MOBILE COMMUNICATION}DIGITAL HOPFIELD NEURAL NETWORK CHIP FOR CHANNEL ASSIGNMENT IN CELLULAR MOBILE COMMUNICATION}

본 발명은 이동통신에 있어서의 채널할당을 위한 디지털 홉필드 신경망 칩에 관한 것이다.The present invention relates to a digital hopfield neural network chip for channel assignment in mobile communication.

셀룰라 이동통신의 기본원리는 서비스지역을 여러 개의 육각형 셀로 나누고 서로 인접하지 않은 셀들 사이에 주파수를 재사용 함으로서 보다 많은 통화요구를 충족시키는 것이다. 따라서, 제한된 주파수채널을 가지고 보다 많은 사용자가 사용할 수 있도록 채널을 할당하는 문제가 매우 중요하며 이를 해결하기 위해 많은 알고리즘이 제안되어 왔다. 즉, 채널할당은 할당된 주파수의 개수와 주파수 사용요구량을 적절히 고려하여 제한된 주파수채널을 가지고 보다 많은 사용자가 사용할 수 있도록 채널을 할당하는 문제(Optimization Problem)이다. 그러나 가령 m개의 셀로 구성된 서비스 지역에 n개의 채널을 사용할 경우 채널할당의 총 수는 mn개로 셀의 수와 채널수가 늘어남에 따라 기하급수적인 양의 계산이 요구된다. 이를 위하여 프로세서의 부하량과 데이터 전송에 따른 오버헤드(Overhead)를 고려한 다수의 부하분산 알고리즘들이 제시되었지만 최적의 성능향상을 가져오지 못하였다. 이러한 부하분산문제는 NP-Complete 문제이기 때문에 계산해야 할 경우의 수가 기하급수적으로 늘어나 최선의 해를 찾는데 많은 시간이 걸린다.The basic principle of cellular mobile communication is to satisfy more call demands by dividing the service area into several hexagonal cells and reusing frequencies between non-adjacent cells. Therefore, the problem of allocating channels to be used by more users with limited frequency channels is very important and many algorithms have been proposed to solve this problem. That is, channel allocation is an optimization problem in which a channel is allocated to be used by more users with limited frequency channels in consideration of the number of allocated frequencies and the frequency usage requirements. However, for example, when using n channels in a service area consisting of m cells, the total number of channel assignments is m n. As the number of cells and channels increases, an exponential amount of calculation is required. To this end, a number of load balancing algorithms have been proposed considering the load of the processor and the overhead of data transmission, but did not bring the best performance. Since this load balancing problem is an NP-Complete problem, the number of cases to be calculated increases exponentially, and it takes a lot of time to find the best solution.

이러한 채널 할당문제를 해결하기 위한 방법으로 신경망에 대한 연구가 활발하게 진행중이다. 신경망을 이용하는 경우 전체적인 채널 요구량을 곱하여 효율적인 할당을 할 수 있고, 병렬처리가 가능하므로 증가하는 채널 요구량에 능동적으로 대응할 수 있는 장점을 가지고 있다. 신경망 모델 중 홉필드 네트워크는 '에너지'라는 물리적 양으로 시스템을 나타내어 이 에너지의 표면을 따라 감소하면서 최소점을 찾는 방법을 사용한다. 이 에너지 함수는 주어진 문제를 만족하기 위한 여러가지 제약조건들을 고려하여 결정되며, 최적화 문제의 해를 구하는 것은 그 문제를 나타내고 있는 에너지 함수의 최소 값을 구하는 것을 의미한다. 홉필드 네트워크는 항상 지역 최소점(Local Minimum)으로 수렴할 수 있다는 것이 증명되었으며, 전역 최소점(Global Minimum)은 아니더라도 빠른 수렴속도로 근사적인 해를 구할 수 있기 때문에 최적화 문제에 많이 응용되고 있다. 채널할당 문제와 같은 NP-Complete문제는 신경망의 병렬처리 알고리즘을 이용하여 빠른 시간내에 최적해(Resonable Solution)를 구할 수 있다.In order to solve this channel allocation problem, researches on neural networks are actively conducted. The neural network has the advantage of being able to allocate efficiently by multiplying the overall channel requirements and enabling parallel processing to actively respond to the increasing channel requirements. In neural network models, the hopfield network represents a system in a physical quantity called 'energy' and finds a minimum while decreasing along the surface of this energy. This energy function is determined by considering various constraints for satisfying a given problem, and solving an optimization problem means finding the minimum value of the energy function representing the problem. Hopfield networks have proven to be able to always converge to the local minimum, and they are often applied to optimization problems because they can obtain approximate solutions at fast convergence rates, even if they are not global minimums. NP-Complete problems, such as channel assignment problems, can be solved quickly by using the neural network's parallel processing algorithm.

그러나, 현재 제작된 칩에는 몇 가지 기능상의 문제점을 내포하고 있다.However, currently produced chips have some functional problems.

첫째, 각각의 뉴런간에 디지털로 데이터를 전송하므로 데이터 버스의 폭에 제한을 받게 되어 병렬로 연결이 가능한 전체 뉴런의 개수가 제한을 받게 된다.First, since data is transmitted digitally between each neuron, the width of the data bus is limited, which limits the total number of neurons that can be connected in parallel.

둘째, 초기화를 외부에서 해주어야 하는 단점이 있다. 신경망 자체가 초기화에 매우 민감하기 때문에 신중히 다루어져야 하며, 칩 내부에 완전한 랜덤 발생기를 내장하기가 힘들기 때문에 외부에서 직렬통신으로 초기화 해주었다.Second, there is a disadvantage that initialization must be done externally. Since the neural network itself is very sensitive to initialization, it must be handled with care, and since it is difficult to embed a complete random generator inside the chip, it was initialized by serial communication from the outside.

셋째, 칩의 집적도가 낮아 현재 하나의 칩에 하나의 뉴런만을 가지고 있다. 따라서, 시스템의 크기에 다라 칩의 개수가 비례하여 증가하기 때문에 시스템의 설계가 어렵게 된다.Third, the chip has a low density and currently has only one neuron per chip. Therefore, the design of the system becomes difficult because the number of chips increases in proportion to the size of the system.

이를 해결하기 위한 방법으로 아날로그와 디지털 데이터가 혼합된 하이브리드형 신경망 칩에 대한 연구가 요구된다.In order to solve this problem, research on a hybrid neural network chip in which analog and digital data are mixed is required.

본 발명에서 사용한 알고리즘의 경우 수식이 복잡하기 때문에 아날로그로 구현하기 힘든 점이 있다. 따라서, 수식의 전개는 현재 제작된 칩과 같은 방법을 사용하고, 신경망 칩 사이의 데이터 교환을 위해서 아날로그-디지털 변환기와 디지털-아날로그 변환기를 이용한 아날로그 전송방식을 사용할 경우 대량의 데이터 전송이 가능하게 된다.Algorithm used in the present invention is difficult to implement analog because of the complicated formula. Therefore, the development of equations uses the same method as the currently manufactured chips, and a large amount of data can be transmitted by using analog transmission method using analog-digital converter and digital-analog converter for data exchange between neural network chips. .

따라서, 본 발명은 이와 같은 점을 고려하여 창안된 것으로써, 제한된 채널수를 이용하여 요구되는 채널수를 충족시킬 수 있도록 신경망 알고리즘을 이용하여 채널 할당문제를 해결하고, 이를 순차처리방식의 소프트웨어 신경망 알고리즘을 하드웨어화하여 병렬처리가 가능하도록 풀 커스텀 아식(Full Custom ASIC)공정을 이용한 채널할당을 위한 디지털 홉필드 신경망 칩을 제공하는데 그 목적이 있다.Accordingly, the present invention has been devised in consideration of the above-mentioned problem, and solves the channel allocation problem using a neural network algorithm so as to satisfy the required number of channels using a limited number of channels. The purpose of the present invention is to provide a digital hopfield neural network chip for channel allocation using a full custom ASIC process to hardwareize an algorithm.

상기 목적을 달성하기 위한 본 발명에 따른 채널할당을 위한 홉필드 디지털 신경망 칩은, 셀룰라 이동통신에 있어서, 단위 셀에서 채널을 할당할 때 근접하는 셀들과 채널이 충돌하지 않도록 홉필드 네트워크를 이용하여 신경망 알고리즘을 구성하고, 이를 VHDL로 코딩하여 기능적으로 시뮬레이션하여 하드웨어로 구현하며, 시뮬레이션된 알고리즘은 CAD 툴을 이용하여 논리합성하여 풀 커스텀(Full custom)공정을 이용하여 칩으로 구현할 수 있도록 외부로부터 데이터를 받아들이는 입력부; 상기 입력된 값과 다른 신경망 칩의 출력을 이용하여 매 클록마다 제안된 신경망 알고리즘에 따라 새로운 상태값을 갱신하는 상태부; 및 상기 상태부의 상태값을 이용하여 옵셋에 따라 '0' 또는 '1'로 출력하는 출력부로 구성된 디지털 홉필드 신경망 칩을 다수개 병렬로 연결하고, 각 신경망 칩의 출력을 행/열마다 가산하여 그 결과를 다시 각각의 신경망 칩으로 입력시키는것을 특징으로 한다.The hopfield digital neural network chip for channel allocation according to the present invention for achieving the above object is, in a cellular mobile communication, by using a hopfield network so that a channel does not collide with adjacent cells when allocating a channel in a unit cell. A neural network algorithm is constructed, coded with VHDL, and functionally simulated to hardware.The simulated algorithm is logically synthesized using a CAD tool and data can be implemented on a chip using a full custom process. Input unit for receiving; A state unit for updating a new state value according to a proposed neural network algorithm every clock by using an output of a neural network chip different from the input value; And a plurality of digital hopfield neural network chips having an output unit configured to output '0' or '1' according to an offset using state values of the state unit in parallel, and add the output of each neural network chip for each row / column. The result is characterized by inputting back to each neural network chip.

상기 신경망 칩 사이의 데이터 교환을 위하여 아날로그/디지털 변환기 및 디지털/아날로그 변환기를 사용한다.An analog / digital converter and a digital / analog converter are used for data exchange between the neural network chips.

도 1은 주파수의 재사용을 예시한 도면이다.1 is a diagram illustrating reuse of frequencies.

도 2는 채널할당을 위한 2차원 신경망 배열을 도시한 도면이다.2 is a diagram illustrating a two-dimensional neural network arrangement for channel assignment.

도 3은 시뮬레이션된 알고리즘을 신경망 칩 하드웨어로 만들기 위한 설계과정을 도시한 도면이다.3 is a diagram illustrating a design process for making a simulated algorithm into neural network chip hardware.

도 4는 VHDL로 코딩된 알고리즘을 시놉시스사의 디자인 애널라이저를 이용하여 합성한 결과를 도시한 도면이다.FIG. 4 is a diagram illustrating a result of synthesizing a VHDL coded algorithm using Synopsys' design analyzer.

도 5는 카덴스로 읽어온 합성결과의 개략도이다.5 is a schematic diagram of the synthesis result read into the cadence.

도 6은 도 5를 바탕으로 카덴스 오프스에서 레이아웃한 결과를 도시한 도면이다.FIG. 6 is a diagram illustrating a layout result of Cadence Ops based on FIG. 5.

도 7은 하나의 칩을 테스트한 결과를 도시한 도면이다.도 8은 홉필드 신경망 칩의 구성도이다.도 9는 병렬처리 홉필드 신경망 칩 하드웨어의 구성도이다.FIG. 7 is a diagram illustrating a test result of one chip. FIG. 8 is a diagram illustrating a hopfield neural network chip. FIG. 9 is a diagram illustrating a parallel processing hopfield neural network chip hardware.

셀룰라 이동통신(cellular mobile communication)은 전체 서비스지역을 다수의 무선 기지국(base station)으로 분할하여 소규모의 서비스지역인 셀 들로 구성하고, 이러한 무선기지국들을 교환시스템으로 집중제어하여 가입자가 각 셀 사이를 이동하면서도 통화를 계속 할 수 있도록 하는 방식이다. 하나의 무선기지국에 의한 서비스지역을 셀 이라고 하며, 이들 셀이 여러개 뭉쳐서 하나의 시스템에 의한 서비스지역을 형성한다. 시스템의 설계 편의상 이론적인 셀로서 대상지역이 구성되어 있는 것으로 가정할 수 있다. 채널 할당문제에서 가장 중요한 내용은 주파수의 재사용이다. 동일한 주파수의 채널은 특정한 거리 이상 떨어져야만 재사용이 가능하다. 이 거리를 주파수 재사용 거리(frequency reuse distance)라고 하며 일반적으로 채널 할당 알고리즘에서는 2셀 혹은 3셀 단위의 간격으로 가정한다.Cellular mobile communication divides the entire service area into a plurality of base stations, consisting of cells, which are small service areas, and centralized control of these wireless base stations by switching system. This allows you to continue the call while moving. A service area by one radio base station is called a cell, and these cells combine to form a service area by one system. For the convenience of designing the system, it can be assumed that the target area is configured as a theoretical cell. The most important content in the channel assignment problem is the reuse of frequencies. Channels of the same frequency can be reused only over a certain distance. This distance is called a frequency reuse distance, and in general, the channel allocation algorithm assumes an interval of 2 cells or 3 cells.

도 1에서는 주파수 재사용 거리를 2셀 단위로 가정하였을 때 주파수가 재사용 되는 것을 예시한 것이다.1 illustrates that frequencies are reused when a frequency reuse distance is assumed as a unit of 2 cells.

도 1에서 숫자는 각 셀에 할당된 채널을 의미한다. 채널 할당 최적화문제는 셀 사이의 주파수간섭을 나타내는 양립성(Compatibility) 매트릭스 C 와 통화요구를 나타내는 요구벡터 M이 주어졌을 때, 전체 사용된 채널 수를 최소화하면서 충돌이 일어나지 않게 채널을 할당하는 것이다. 양립성 매트릭스 C는 다음과 같은 제약조건을 이용하여 만들어진다.In FIG. 1, a number means a channel allocated to each cell. The channel assignment optimization problem is to assign a channel so that collision does not occur while minimizing the total number of channels used, given a compatibility matrix C representing frequency interference between cells and a request vector M representing call demand. Compatibility matrix C is made using the following constraints.

1) 동일 채널 제약조건(Cochannel constraint)1) Cochannel constraint

어떤 두 개의 셀에 동시에 같은 주파수를 할당하여서는 안 된다.Do not assign the same frequency to any two cells at the same time.

2) 인접채널 제약조건(Adjacent Channel constraint)2) Adjacent Channel Constraints

주파수 스펙트럼에서 인접된 주파수들은 인접된 셀에 동시에 할당될 수 없다.Adjacent frequencies in the frequency spectrum cannot be assigned to adjacent cells simultaneously.

3) 동일지역 제약조건(Cosite constraint)3) Cosite constraint

한 셀에 할당될 어떤 주파수쌍은 주파수 스펙트럼 상에서 일정한 만큼의 거리가 떨어져 있어야 한다.Any frequency pair to be assigned to a cell must be some distance apart in the frequency spectrum.

본 발명에서는 홉필드 네트워크를 채널할당 문제에 적용한 알고리즘을 사용하였다. 홉필드 네트워크를 채널 할당문제에 적용하기 위해서는 문제에서 얻어진 코스트(cost)함수와 제한조건들(constraint)을 고려하여 에너지 함수를 만들어야 한다. 그러나, 에너지함수를 직접 만들기는 매우 까다로우며, 해당문제에 적용할 때는 상태방정식으로 전환해야 한다. 따라서, 뉴런의 상태방정식을 먼저 만들고 필요에 따라 이를 적분하여 에너지함수를 얻는다. 홉필드 네트워크를 이용하여 최적화 문제를 해결하기 위해서는 수학적 에너지 함수 E를 최소화해야 한다. 에너지함수를 최소화하기 위해 제1차 오일러방식을 이용하여 새로운 입력값 U(t+1)을 구하고, 이를 뉴런의 입출력함수에 의해 새로운 뉴런의 상태 v(T+1)를 구한다. 그리고 출력된 전체시스템의 안정상태를 조사하여 알고리즘을 종료하던가 혹은 다시 입력 변화값을 구하여 되풀이한다.In the present invention, an algorithm using a hopfield network for channel allocation problem is used. In order to apply a hopfield network to a channel allocation problem, an energy function must be made in consideration of the cost function and constraints obtained from the problem. However, creating an energy function yourself is very tricky, and when applied to the problem, it must be converted to a state equation. Therefore, the state equation of the neuron is first created and integrated as needed to obtain the energy function. To solve the optimization problem using a hopfield network, the mathematical energy function E must be minimized. In order to minimize the energy function, the new input value U (t + 1) is obtained by using the first Euler method, and the new state v (T + 1) of the new neuron is obtained by the input / output function of the neuron. Then, we check the stable state of the output system and terminate the algorithm or obtain the input change value and repeat.

총 m개의 셀과 n개의 채널에 대한 채널할당문제는 m×n개의 뉴런이 필요하게 되고, 이를 2차원 배열로 도 2에 도시한 바와 같이 신경망 네트워크를 구성할 수 있다. Vij는 채널 j가 셀 i에 할당되어 있는지를 나타낸다. 즉, Vij=1 이면 채널 j가 셀 i에 할당되어 있음을 나타내고, Vij=0 이면 할당되지 않았음을 나타낸다. 에너지함수를 만들기 위해서는 상술한 바와 같은 채널요구 제약조건(channel requirement constraint), 동일지역 제약조건(cosite constraint), 그리고 동일채널과 인접채널 제약조건(cochannel and adjacent channel constraint)을 고려하여야 한다.The channel assignment problem for m cells and n channels in total requires m × n neurons, which can form a neural network as shown in FIG. 2 in a two-dimensional array. Vij indicates whether channel j is assigned to cell i. That is, if Vij = 1, then channel j is assigned to cell i, and if Vij = 0, it is not assigned. In order to create an energy function, channel requirement constraints, cosite constraints, and cochannel and adjacent channel constraints as described above should be considered.

상태방정식은 채널요구와 여러 가지 제약조건을 처리하는 항을 포함해야 하고, 힐 클라이밍(hill climbing)과 같은 보조항이 추가되어야 하는데 대부분 모의실험과 직관적인 경험에 의해 만들어야 한다.State equations should include terms that deal with channel requirements and various constraints, and supplementary terms such as hill climbing should be added, mostly by simulation and intuitive experience.

채널할당문제를 해결하기 위해 본 발명에서 제안한 상태방정식은 다음 수학식 1과 같다.In order to solve the channel assignment problem, the state equation proposed by the present invention is shown in Equation 1 below.

여기서,here,

이다. to be.

여기서, A항은 채널요구 제약조건을 만족시키기 위한 항인데, 채널수의 요구를 만족시키기 위해서는 셀 i에 대한 m개의 뉴런 중 총 mi개의 뉴런이 1의 출력을가져야 한다. 즉 셀 i의 합이 필요한 채널 수보다 크면 뉴런이 초과 활성화되었다는 의미이므로 A항의 성분이 양의 값을 가져서 Vij의 값을 억제하도록 기여한다. 따라서, 셀 i의 합이 채널 수보다 작을 경우는 아직 필요한 만큼의 채널이 할당되지 않았다는 것을 의미하므로 A항의 성분이 양의 값을 가져서 Vij의 값이 활성화되도록 기여한다. B항은 동일지역 제약조건을 만족시키기 위한 항인데, 주파수 j로부터 Cii' 주파수 거리보다 작게 떨어진 주파수 j'가 셀 i에 이미 할당되어 있는 경우, 주파수 j는 셀 i에 할당되어서는 안 된다. 또, C항은 동일채널 제약조건과 인접채널 제약조건을 나타낸 것으로써 주파수 j로부터 주파수 거리 Cii' 만큼 떨어진 주파수 j'가 Cii'>0 이고, i≠1인 셀 i에 이미 할당되어 있다면, 주파수 j는 셀 i에 할당되어서는 안 된다. 만약 B 항과 C 항이 0이 아닌 값을 가지면 그것은 조건을 위반하게 되므로 Vij에 음의 값을 증가시켜 Vij가 억제되도록 하는 역할을 한다. 그리고, D 항은 Vij=0일 때 f함수안의 값이 0보다 작으면 아직 할당할 채널이 남아 있음을 뜻하므로 Uij의 값을 증가시켜 Vij=1이 되도록 뉴런을 활성화시키는 역할을 한다. E항은 Vij=1일 때 g함수안의 값이 0보다 크면 Uij값을 감소시켜 Vij=0이 되도록 기여하여 뉴런을 억제시키는 역할을 한다. 도 F항과 B항과 C항이 0일 때, 즉 동일채널 제약조건과 인접채널 제약조건을 만족시킬 때 Vij를 어느 정도 활성화시킬 수 있게 한다. 이 A, B, C, D항은 셀룰라 이동통신에서의 제약조건들로부터 만들어낼 수 있고, E항, D항, F항은 수렴속도를 향상시키고 지역 최소점에 빠졌을 때 그곳을 빠져나 올 수 있도록 추가한 항이다. 뉴런의 입력은 제1차 오일러(Euler)방법에 의해 새로운 값으로 갱신되며, 뉴런의 입출력함수에 따라 갱신된 입력값을 사용하여 뉴런의 출력상태를 결정한다.Here, the term A is a term for satisfying the channel requirement constraint. In order to satisfy the requirement of the number of channels, a total of mi neurons of m neurons for the cell i should have an output of 1. That is, if the sum of cells i is larger than the required number of channels, the neurons are over-activated, and thus the components of term A have positive values, contributing to suppressing the value of Vij. Therefore, if the sum of the cells i is smaller than the number of channels, it means that as many channels as necessary have not been allocated yet, so the components of the term A have positive values, contributing to the activation of the value of Vij. Item B is a term for satisfying the same area constraint. If frequency j ', which is smaller than the frequency distance Cii' from the j, is already assigned to cell i, frequency j should not be assigned to cell i. In addition, the term C shows the co-channel constraint and the adjacent channel constraint, and if the frequency j 'which is separated from the frequency j by the frequency distance Cii' is already assigned to the cell i with Ci '> 0 and i ≠ 1, the frequency j must not be assigned to cell i. If the B and C terms have non-zero values, they would violate the condition, increasing the negative value of Vij, which would cause Vij to be suppressed. And, if the value of f in the function f is less than 0 when the Vij = 0, it means that there is still a channel to be allocated, it increases the value of Uij to activate the neuron so that Vij = 1. In the case of Vij = 1, if the value in the g function is greater than 0, it reduces the Uij value and contributes to Vij = 0 to suppress neurons. When the terms F, B, and C are 0, that is, when the same channel constraint and the adjacent channel constraint are satisfied, Vij can be activated to some extent. These A, B, C, and D terms can be created from the constraints of cellular mobile communication, and E, D, and F terms can improve convergence speed and escape from the local minimum. This is the term you added. The input of the neuron is updated to a new value by the first Euler method, and the output state of the neuron is determined using the updated input value according to the input / output function of the neuron.

본 발명에서 제안된 알고리즘을 벤치마크문제에 대해 시뮬레이션 한 결과, 기존의 신경망을 이용한 채널 할당 알고리즘에 비해 27%에서 66%까지 수렴시간을 감소시키고, 수렴율을 향상시킬 수 있었다.도 8은 홉필드 신경망 칩의 구성도로서, 외부로부터 데이터를 받아들이는 입력부(10), 상기 입력된 값과 다른 신경망 칩의 출력을 이용하여 매 클록마다 제안된 신경망 알고리즘에 따라 새로운 상태값을 갱신하는 상태부(20) 및 상기 상태부(20)의 상태값을 이용하여 옵셋에 따라 '0' 또는 '1'로 출력하는 출력부(30)로 구성된다.이때, 출력부(30)로부터 '0'이 출력되면 아직 셀에 채널이 할당되지 않았음을 나타내고, 출력부(30)로부터 '1'이 출력되면 셀에 채널이 할당되었음을 나타낸다.도 9는 병렬처리 홉필드 신경망 칩 하드웨어의 구성도로서, 외부로부터 데이터를 받아들이는 입력부(100), m×n개의 홉필드 신경망 칩(200), 상기 홉필드 신경망 칩(200)의 출력을 열 마다 가산하는 m개의 열 가산기(300) 및 홉필드 신경망 칩(200)의 출력을 행 마다 가산하는 n개의 행 가산기(400)로 구성된다.상기의 각 홉필드 신경망 칩(200)은 병렬적으로 각각 구동되며 입력부(100)는 데이터 즉, 채널 할당 요구가 인가되면 초기화된다. 또한, 시스템을 구성한 모든 신경망 칩(200)은 각 열/행마다 공통적인 가산기(300)(400)를 가지며, 이 가산기(300)(400)의 각 열/행의 합의 결과는 각각의 신경망 칩으로 다시 입력되어 상태값 계산에 사용된다.이때, 신경망 칩(200) 사이의 데이터 교환은 아날로그/디지털 변환기 및 디지털/아날로그 변환기를 사용한다.As a result of simulating the algorithm proposed in the present invention for the benchmark problem, it was possible to reduce the convergence time and improve the convergence rate from 27% to 66% compared to the channel allocation algorithm using the conventional neural network. A configuration diagram of a field neural network chip, comprising: an input unit 10 which receives data from an external source, and a state unit which updates a new state value according to a proposed neural network algorithm every clock using an output of a neural network chip different from the input value ( 20) and an output unit 30 for outputting '0' or '1' according to the offset using the state value of the state unit 20. At this time, '0' is output from the output unit 30. If the channel is not yet assigned to the cell, '1' is output from the output unit 30. The channel is assigned to the cell. FIG. 9 is a block diagram of a parallel hopfield neural network chip hardware. data The input unit 100 that receives the input, m × n hop field neural network chip 200, m column adder 300 and hop field neural network chip 200 for adding the output of the hop field neural network chip 200 for each column Each hopfield neural network chip 200 is driven in parallel, and the input unit 100 initializes when data, that is, a channel allocation request, is applied. do. In addition, all neural network chips 200 constituting the system have a common adder 300 and 400 for each column / row, and the result of the sum of each column / row of the adder 300 and 400 is each neural network chip. The data input between the neural network chip 200 uses an analog / digital converter and a digital / analog converter.

도 3은 시뮬레이션된 알고리즘을 신경망 칩 하드웨어로 만들기 위한 과정을 나타내고 있다.3 shows a process for making a simulated algorithm into neural network chip hardware.

먼저, 제안된 알고리즘을 신경망 칩 하드웨어로 설계하기 위하여 VHDL로 코딩하고, 기능적으로 시뮬레이션(Functional Simulation)하였다. 이 과정에서 시뮬레이션된 다른 점이 몇 가지 존재하게 된다. 시뮬레이션상에서는 m×n 개의 임의의 주파수 개수와 임의의 셀을 가지고 시뮬레이션 하게 되나 하드웨어로 제작시에는 하나의 셀만을 제작하게 된다. 즉 m×n개의 시스템을 구성하기 위해서는 m×n개의 신경망 칩이 필요하며, 시스템을 구성한 모든 칩은 가산기를 공통적으로 가지고 있으며 이 가산기는 공통적인 계산을 하게 된다.또한, 뉴런의 크기를 줄이기 위해 이 가산기를 8비트 버스를 이용하여 칩의 외부로 뽑아내었다. 따라서, 전체시스템을 설계할 때 별도의 가산기를 외부에 두고 가산기부분만 FPGA를 이용하여 구성하는 방법을 취하였다. 데이터버스가 n비트일때 최대 2n개의 뉴런을 병렬화 할 수 있으며, 이번에 제작된 칩에서 데이터버스가 8비트로 고정되어 있으므로 최대 256개의 뉴런을 병렬화 할 수 있다.First, in order to design the proposed algorithm as the neural network chip hardware, VHDL coded and functional simulation (Functional Simulation). There are some differences that are simulated in this process. In simulation, we simulate with m × n arbitrary frequency number and arbitrary cell, but only one cell is produced in hardware. In other words, m × n neural network chips are required to configure m × n systems, and all the chips of the system have adders in common, and these adders perform common calculations. The adder was pulled out of the chip using an 8-bit bus. Therefore, when designing the whole system, a separate adder was placed outside and only the adder part was configured using the FPGA. When the data bus is n bits, up to 2 n neurons can be parallelized. In this chip, the data bus is fixed to 8 bits so that up to 256 neurons can be parallelized.

다음으로, VHDL로 코딩된 알고리즘을 시놉시스의 디자인 애널라이저(Design Analyzer)를 이용하여 합성하였다. 이를 도 4에 도시하고 있다. 합성된 결과를 검증하기 위해 먼저 게이트 레벨 시뮬레이션(Gate Level Simulation)하였다. 그리고 검증된 합성결과를 케이던스(Cadence)에서 읽기 위하여 Verilog로 변환하였다.Next, VHDL coded algorithms were synthesized using Synopsis's Design Analyzer. This is illustrated in FIG. 4. Gate level simulation was first performed to verify the synthesized results. The validated results were then converted to Verilog for reading in Cadence.

도 5는 케이던스로 읽어온 합성결과의 개략도를 나타내고 있다.5 shows a schematic diagram of the synthesis results read in cadence.

도 5의 개략도를 바탕으로 케이던스 오퍼스(Opus)에서 레이아웃하고 케이던스 디바(Diva)의 LVS에서 레이아웃 결과를 확인하였다.Based on the schematic diagram of FIG. 5, layout was performed in Cadence Opus and layout results were checked in LVS of Cadence Diva.

전체적인 레이아웃의 결과는 도 6에 도시되어 있다.The result of the overall layout is shown in FIG.

레이아웃이 끝난 후 결과의 최종확인을 위해 Hspice를 이용하여 써킷 레벨(Circuit Level) 시뮬레이션을 하였다. 여기서 CK는 입력의 기준클럭이며 RST는 리셋신호를 나타내며, 전체시스템에서 동일하게 작용한다. 로드(Load)는 칩의 초기 랜덤값을 받기 위한 컨트롤신호이며 V 신호가 상승할 때 채널할당이 완료되었음을 나타낸다.After the layout was finished, circuit level simulation was performed using Hspice for final confirmation of the results. Where CK is the reference clock of the input and RST represents the reset signal and works the same throughout the system. Load is a control signal for receiving an initial random value of the chip and indicates that channel allocation is completed when the V signal rises.

칩의 동작을 확인하기 위하여 80196을 이용하여 테스트보드를 제작하였다. 80196은 입력파형을 만들어 주고 제작된 칩에서 나온 결과를 다시 저장하여 퍼스널 컴퓨터로 시리얼통신하는 역할을 수행한다. 육안으로 결과를 확인하기 위해 칩의 출력결과를 로직 애널라이저를 이용하여 확인하였다.In order to confirm the operation of the chip, a test board was manufactured using 80196. The 80196 creates an input waveform and stores the results from the fabricated chip to serially communicate with a personal computer. To check the results with the naked eye, the output of the chip was checked using a logic analyzer.

도 7은 하나의 칩을 테스트한 결과이다.7 shows a test result of one chip.

하나의 칩을 테스트한 결과 양호한 상태의 동작을 보였으며 1MHz 이상의 입력클럭에서도 동작하였다. 현재 보다 정확한 측정과 10여 개 이상의 칩이 병렬로 동작하는 것을 확인하기 위해 퍼스널 컴퓨터와 직접 인터페이스 하는 테스트보드를 제작한다.One chip was tested and found to be in good condition and operated for input clocks above 1MHz. Today, test boards are built that interface directly with personal computers to make more accurate measurements and verify that more than a dozen chips work in parallel.

상술한 바와 같이, 본 발명에서는 셀룰라 이동통신에서의 채널 할당문제를 홉필드 신경망을 이용하여 해결하고 이를 신경망 칩으로 구현하였다. 신경망을 이용하는 경우 병렬처리가 가능하므로 빠른 처리속도를 얻을 수 있고, 채널 요구량이 증가할 경우 신경망 칩의 개수만 증가시키면 되기 때문에 순차적 할당방법에 비해 속도의 저하가 적고 구현이 용이한 이점이 있다.As described above, in the present invention, the channel allocation problem in cellular mobile communication is solved using a hopfield neural network, and the neural network chip is implemented. In the case of using neural networks, parallel processing is possible, so that a fast processing speed can be obtained, and when the channel demand increases, only the number of neural network chips needs to be increased, thereby reducing the speed and facilitating the implementation.

Claims (3)

셀룰라 이동통신에 있어서, 단위 셀에서 채널을 할당할 때 근접하는 셀 들과 채널이 충돌하지 않도록 홉필드 네트워크를 이용하여 신경망 알고리즘을 구성하고, 이를 VHDL로 코딩하여 기능적으로 시뮬레이션하여 하드웨어로 구현하며, 시뮬레이션된 알고리즘은 캐드 툴을 이용하여 논리합성한 후 풀 커스텀(Full custom)공정에 의해 칩으로 구현할 수 있도록 외부로부터 데이터를 받아들이는 입력부; 상기 입력된 값과 다른 신경망 칩의 출력을 이용하여 매 클록마다 제안된 신경망 알고리즘에 따라 새로운 상태값을 갱신하는 상태부; 및 상기 상태부의 상태값을 이용하여 옵셋에 따라 '0' 또는 '1'로 출력하는 출력부로 구성된 디지털 홉필드 신경망 칩을 다수개 병렬로 연결하고, 각 신경망 칩의 출력을 행/열마다 가산하여 그 결과를 다시 각각의 신경망 칩으로 입력시키는것을 특징으로 하는 이동통신의 채널할당을 위한 디지털 홉필드 신경망 칩.In cellular mobile communication, when a channel is allocated in a unit cell, a neural network algorithm is constructed using a hopfield network so that a channel does not collide with a neighboring cell, and it is functionally simulated by coding with VHDL and implemented as hardware. The simulated algorithm may include an input unit configured to logically synthesize using a CAD tool and receive data from the outside so as to be implemented as a chip by a full custom process; A state unit for updating a new state value according to a proposed neural network algorithm every clock by using an output of a neural network chip different from the input value; And a plurality of digital hopfield neural network chips having an output unit configured to output '0' or '1' according to an offset using state values of the state unit in parallel, and add the output of each neural network chip for each row / column. Digital hopfield neural network chip for channel assignment of mobile communication, characterized in that the result is inputted back to each neural network chip. 제1항에 있어서, 상기 신경망 칩 사이의 데이터 교환을 위하여 아날로그/디지털 변환기 및 디지털/아날로그 변환기를 사용하는 것을 특징으로 하는 이동통신의 채널할당을 위한 디지털 홉필드 신경망 칩.The digital hopfield neural network chip according to claim 1, wherein an analog / digital converter and a digital / analog converter are used for data exchange between the neural network chips. 삭제delete
KR10-1999-0011765A 1999-04-03 1999-04-03 Digital hopfield neural network chip for channel assignment in cellular mobile communication KR100367715B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0011765A KR100367715B1 (en) 1999-04-03 1999-04-03 Digital hopfield neural network chip for channel assignment in cellular mobile communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0011765A KR100367715B1 (en) 1999-04-03 1999-04-03 Digital hopfield neural network chip for channel assignment in cellular mobile communication

Publications (2)

Publication Number Publication Date
KR20000065460A KR20000065460A (en) 2000-11-15
KR100367715B1 true KR100367715B1 (en) 2003-01-10

Family

ID=19578742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0011765A KR100367715B1 (en) 1999-04-03 1999-04-03 Digital hopfield neural network chip for channel assignment in cellular mobile communication

Country Status (1)

Country Link
KR (1) KR100367715B1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769533B2 (en) * 2015-09-04 2020-09-08 Baidu Usa Llc Systems and methods for efficient neural network deployments

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor

Also Published As

Publication number Publication date
KR20000065460A (en) 2000-11-15

Similar Documents

Publication Publication Date Title
CN107145939B (en) Computer vision processing method and device of low-computing-capacity processing equipment
US10528321B2 (en) Block floating point for neural network implementations
KR100367715B1 (en) Digital hopfield neural network chip for channel assignment in cellular mobile communication
US7210112B2 (en) Element placement method and apparatus
JP3376013B2 (en) Apparatus and method for irregular channel assignment in wireless communication networks
CN109788489B (en) Base station planning method and device
US20210271795A1 (en) Implementing Fixed-Point Polynomials in Hardware Logic
US11176449B1 (en) Neural network accelerator hardware-specific division of inference into groups of layers
EP3839834A1 (en) Topological scheduling
CN110909872B (en) Integrated circuit chip device and related products
CN112149047A (en) Data processing method and device, storage medium and electronic device
CN109196498B (en) Incrementally allocating logical cabling to physical sockets by reducing critical path delays
Li et al. Full-duplex-based control channel establishment for cognitive Internet of Things
CN117014057A (en) Network slice resource allocation method, device and storage medium
CN113255265B (en) Segmentation and verification method, device, electronic equipment and storage medium
CN112994911B (en) Calculation unloading method and device and computer readable storage medium
CN110430591B (en) Intelligent deployment and reconstruction method for baseband resource pool
CN111930471B (en) Parallel simulation evaluation selection method based on GPU
CN114006813B (en) Dynamic generation method and system for virtual private line distribution route
Isshiki et al. Bit-serial pipeline synthesis and layout for large-scale configurable systems
Hartenstein et al. A Scalable, Parallel, and Reconfigurable Datapath Architecture
CN110401519B (en) Pilot frequency distribution method and device
da Silva et al. Optimal application mapping on NoC infrastructure using NSGA-II and MicroGA
Priya et al. VIP Development of SPI Controller for Open-Power Processor-Based Fabless SOC
Liu et al. Improving the computational efficiency and flexibility of FPGA-based CNN accelerator through loop optimization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20101228

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee