302
-1- 제장서 1

제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 1 -

제 장 서 론1

Page 2: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 2 -

제 장 서론1

다가오는 정보사회에서 기반구조로 인식되는 정보통신 시스템의 기술개발에 박차를 가하고

있습니다 차세대 정보통신 기술의 주역으로 부상하고 있는 디지털 휴대전화기 멀티미디어. ,

등의 시스템에서는 음성 데이터 영상 등의 신호를 고속으로 처리하PC, HDTV, B-ISDN , ,

는 고속디지털 신호처리 프로세서가 핵심 부품으로서 차세대 반도체 기술의 주역으로 부상

하고 있습니다.

본 과제에서는 년 까지 기술목표인 비트 급 디지털 신호처리 프로세서 설1996 32 , 200MIPS

계기술을 개발하여 이를 바탕으로 하여 디지털 휴대전화기 단말기 위성통신 수, , B-ISDN ,

신 시스템 등의 통신 서브시스템 단일 칩 화를 기여한다.

과제수행 차년도인 금년에는 구조 연구 모듈 설계 아날로그 신호변환기술 셀1 DSP , DSP , ,

라이브러리 기술 등 개 분야에 걸쳐서 연구가 수행되었다4 .

구조 연구 분야에서는 고속 구조 설계에 관한 연구와 이동통신용 단말기 구조에DSP DSP

관한 연구가 수행되었다 고속 의 구조연구와 함께 고속 승산기 모듈 설계에 관한 연구. DSP

가 수행되었다 이동통신용 단말기 구조에서는 이동통신 단말기를 구성하는 하드웨. CDMA

어와 소프트웨어의 기능을 분석하여 용 개발을 위한 사양을 마련하고 이들의CDMA ASIC ,

동작 및 성능을 평가하기 위한 시뮬레이션을 수행하였다.

모듈 설계 연구 분야에서는 디지털 휴대전화기의 핵심 기능 처리를 위한DSP vocoder

설계 설계 설계 및 설계에 관한 연구와 함께DSP , demodulator , modulator decoder

단말기 개발에 관한 연구가 수행되었다FDMA CPU .

Page 3: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 3 -

각 모듈 설계에서는 시스템 분석 및 사양 연구 알고리즘 연구 기능 및 구조 연구 논리회, , ,

로 설계 등의 연구가 수행 되었다 한편 개발에서는 단말기용 의 모델링. CPU CPU VHDL

및 시뮬레이션 주변소자 모델링 및 시뮬레이션 등의 연구가 수행되었다, .

아날로그 신호변환 기술 연구 분야에서는 비디오 신호변환 처리를 위한 및 의 규ADC DAC

격 연구 구조 연구 기능회로 설계에 관한 연구가 수행되었다 아울러 비트 급, , . 10 /20㎒

설계 및 비트 급 설계에 관한 연구도 수행되었다DACIC 10 /80 DACIC .㎒

셀 라이브러리 기술 연구 분야에서는 기초 셀 개발 및 설계환경 구축CMOS , 0.8 CMOS㎛

기초 셀 개발에 관한 연구가 수행되었다.

본 연구 보고서에서는 구조 연구 분야의 제 장 고속 구조 연구 제 장의 이동통DSP 2 DSP , 3

신용 단말기 구조 연구 내용이 수록되어 있다 이어서 제 장의 개발 제 장. 4 vocoder DSP , 5

의 단말기용 개발 제 장의 개발 제 장의 개FDMA CPU , 6 demodulator IC , 7 modulator IC

발 제 장의 개발은 기능 모듈 설계 차원에서 수행된 디지털 이, 8 decoder IC DSP CDMA

동통신 단말기의 핵심 기능의 개발에 관한 연구내용을 수록하였다 한편 제 장에서는 아날. 9

로그 신호변환 기술에 관한 연구내용을 기술하였으며 제 장에서는 셀 라이브러리 기술의, 10

연구 내용을 수록하였다.

Page 4: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 4 -

제 장 구조 연구2 DSP

Page 5: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 5 -

제 장 구조 연구2 DSP

제 절 서론1

고속 설계 기술의 개발 목표는 년도까지 휴대용 멀티미디어 단말기 등에 사용될DSP '96

급의 고속 를 개발하는 것이다 이 목표를 달성하기 위해서는 고속32bit /200MIPS DSP .

의 구조연구가 필요하며 주된 연구 내용은 급의 데이터 패스 및 컨트롤DSP , 32bit/200MIPS

패스의 구조 설계와 형태의 설계 등이다 아울러 고속 구조 설계의RISC instruction set .

결과를 검증할 수 있는 시뮬레이터 개발이 필요하다.

그림 고속 의 개발 대상 주요 및( 2-1) DSP H/W S/W

고속 구조의 특징은 고속 멀티미디어 신호를 실시간에 처리하기 위한 고속DSP

모듈과 구조이다 그림 참조 급의 고속multiprocessing ( 2-2 ). 32bit/200MIPS digital signal

를 중심으로 고속 내부 버스가 있고 이를 통하여 과 같은 메모processor core ROM, RAM

리 블록과 외부세계의 신호들을 빠른 속도로 처리해주는 응용 모듈들이 존재하게 된다I/O .

예를 들어 고속그래픽 데이터를 처리하기 위해서는 응용에 알맞은 그application specific

래픽 모듈이 있어 이들 데이터를 전 처리한 후 고속 내부 버스를 통해 에서 전달DSP core

되고 이를 에 코딩되어 있는 응용 알고리즘에 따라 에서 처리한 후 그래픽ROM DSP core

모듈을 통해 밖의 세계로 출력되게 된다DSP .

Page 6: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 6 -

마찬가지로 신호를 처리하기 위해서는 그래픽 모듈 대신 처리 모듈을 두어HDTV HDTV

동화상 압축과 같은 고유한 알고리즘을 고속으로 처리하게 한 후 다른 나머지 신호처리를,

에서 수행케 한다 이러한 주요 연구내용을 포함한 급의 고속DSP core . 32bit/200MIPS

개발 일정은 그림 에 표시된 바와 같다DSP ( 2-3) .

개발 첫해인 년에는 데이터 패스 구조설계 중 가장 중요한 기능 불록인 고속 승산기'93

와 가산기 모듈을 개발하였다(multiplier) .

개발한 승산기의 가장 큰 특징은 승산기의 값을 자유자재로 변화시킬 수 있는 승n × n n

산기 모듈 생성기를 개발했다는 데 있다.

승산기와 가산기는 집적회로 기술로 구현되는데 이러한 집적회로 설계시의 복잡성을 극복,

하기 위한 기술의 발전은 상위 단계 실리콘 컴파일러CAD(Computer Aided Design)

의 도입을 가져왔다 실리콘 컴파일러 로의 이용 시 모(si1icon compiler) . (silicon compiler)

듈 생성기를 사용하면 구조적 묘사 로부터 물리적 묘사(structural description) (geometric

의 이전이 자동으로 이루어진다 이러한 모듈 생성기는 시스템 설계에게 사용되description) .

는 라이브러리 로 제공되어 보다 큰 회로의 설계에 이용된다 그러나 기존의 설계방(library) .

식에 의해 설계된 셀 라이브러리 와 달리 모듈 생성기는 원하는 사양을 매개변(cell library)

수의 형태로 받아 요구 조건을 충족시키는 셀을 제공할 수 있는 이점을 가지고 있으며 기,

존의 방식에 의해 설계된 셀들의 경우 설계 기술 의 변동이 생기면 다시 설계(technology)

공정에 맞추어 설계해야만 했지만 모듈 생성기를 사용하는 경우는 변경된 설계 기술 파일

을 가지고 다시 컴파일 하는 것으로 설계 작업이 완료되어 많은(technology file) (compile)

이점을 가질 수 있다[8,9].

Page 7: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 7 -

그림 고속 구조( 2-2) Modular Multiple-Processing DSP

Page 8: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 8 -

그림 고속 개발 일정( 2-3) DSP

그러므로 본 연구에서는 승산기와 가산기를 모듈 생성기법을 이용하여 사용자에게 승산기와

가산기의 특성을 입력으로 받아 원하는 승산기와 가산기를 생성하는 승산기와 가산기 모듈

생성기를 제안한다.

본 연구의 가산기 모듈 생성기는 의 캐리 선택 가산기를 생성한다 그리고 본 연구의n-bit .

모듈 생성기로 생성된 승산기는 종래의 전가산기단을 콤프레서단으로 대치하여 덧셈단4-2

계를 줄이고 보다 병열성을 높였으며 전가산기 트리 구조 보다 규칙적인 구조를 갖는 구성

으로 설계할 수 있었다 생성된 승산기는 부분곱단의 수를 반으로 줄이는 수정형 알. Booth

고리즘을 사용하였고 수정형 알고리즘과 피승수를 사용하여 부분곱을 생성하고 그Booth ,

부분 곱들을 가지고 콤프레서를 사용하여 최종 합과 캐리를 내어 마지막 덧셈4-2 (final

단으로 보내 승산의 결과 값을 구한다 승산기에서 사용되는 마지막 덧셈기로는 캐리adder) .

선택 가산기를 사용하였다.

Page 9: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 9 -

본 연구에서 제시될 승산기와 가산기 모듈 생성기는 사의Mentor Graphics

의 회로 설계 언어인 을 사용하여 설계하였다 설계GDT(Generator Development Tool) L .

된 가산기는 정수 가산기이며 승산기 역시 일 때 의 결과를 산출하는n-bit × n-bit 2n-bit

정수 승산기이다 또한 설계된 승산기와 가산기는 의 시뮬레이션 툴. , GDT (simulation too1)

인 을 사용하여 논리와 회로 검증을 하였다 설계된 가산기는 공정에서Lsim . 1.5 32-bit㎛

승산을 에 수행한다× 32-bit 38 nsec .

본 연구의 구성은 개의 절로 구성되어 있다 절에서는 본 연구의 요지를 간략히 제시하5 . 1

고 절에서는 가산기 모듈 생성기 설계에 관하여 기술하며 절에서는 승산기 모듈 생성기, 2 , 3

설계에 관하여 설명한다 절에서는 본 연구에서 개발된 승산기와 타 승산기와의 성능 분석. 4

을 보이며 절에서는 본 연구의 전반적인 내용에 대한 결론을 기술하였다5 .

제 절 가산기 모듈 생성기 설계2

가산기에서 의 두 수n-bit

를 더할 때 합 들과 캐리 들은 다음과 같은 식으로 구할 수 있다(sum) (carry) .

본 연구의 가산기 모듈 생성기에서는 캐리 선택 가산기를 사용하여 면적 및 시간의 효율적

인 가산기 구현을 추구하였다.

캐리 선택 가산기1.

Page 10: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 10 -

캐리 선택 가산기는 두개의 가산이 동시에 이루어진다 하나는 그룹의 입력 캐리 값이 인. 0

경우의 가산이고 다른 하나는 그룹 입력 캐리의 값이 인 경우의 가산이다 캐리가 마침내, 1 .

알려졌을 때 맞는 합이 선택된다 아래의 그림 는 캐리 선택 가산기를 나타낸다. ( 2-4) .

그림 에서 왼쪽 은 바로 오른쪽의 보다 한 더 계산하는데 그것은 멀티( 2-4) block block bit

플렉서 를 가지는 한 단계가 필요하기 때문에 멀티플렉서를 거치는 오른쪽(multiplexer)

보다 바로 다음의 왼쪽 이 한 더 큰 것이다 본 연구에서는 이 캐리 선택 가block block bit .

산기를 사용하여 면적과 시간에서 효율적인 가산기 설계를 추구하였다.

그림 캐리 선택 가산기( 2-4)

가산기의 비교2.

캐리 선택 가산기와 다른 방법을 이용한 가산기들의 면적대 시간을 비교하면 표 과( 2-1)

같다 속도 면에서는 캐리 룩어헤드 가산기가 가장 빠르나 실제 구현의 어려움이 따른다. .

Page 11: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 11 -

그 외에 캐리 스킵 가산기와 캐리 선택 가산기가 좋은 성능을 보여준다 그러나 캐리 스킵.

가산기는 가장 심각한 지연인 캐리 전송이 빨리 된다고 가정했을 때 좋은 성능을 나타내기

때문에 구현의 규제를 갖는다.

표 가산기의 성능 비교( 2-1)

Time Space

캐리 전송 0(n) 0(n)

캐리 룩어해드 0(logn) 0(nlogn)

캐리 스킵 0(n) 0(n)

캐리 선택 0(n) 0(n)

가산기 모듈 생성기3.

가 회로 구조.

각 기본 셀들은 목적 셀에서 내려오는 여러 변수들을 받아 원하는 설계를 완성한다 예를, .

들어 트랜지스터 게이트의 넓이 입력 비트의 크기 셀 간의 간격 전력선 의 넓이, , , , (power)

등을 입력 받아 사용자가 원하는 설계를 추구한다(width) .

나 기본 셀 생성기.

가산기 모듈 생성기에서 사용되는 기본 셀들로서 전가산기 멀티플렉서 멀티플, (multiplexer)

렉서 컨트롤러 등이 있다(multiplexer controler) .

Page 12: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 12 -

기본 셀들은 회로 설계 도구인 을 사용하여 셀의 최적화를 한 후 언어로 프로그MAGIC L

램 하였다 또한 설계 시 메탈 를 전체적인 배선 을 위하여. -2 (METAL-2) (global routing)

사용하였기 때문에 기본 셀 안에는 메탈 만을 사용하여 셀 안의 배선을 완성-1(METAL-1)

시켰다.

다 목적 셀 생성기.

덧셈 수인 이 입력으로 들어올 때 개를 시작 의 크기로 해서 의 형태bit n 4 block 5,6,7,…

로 의 크기를 키워가면서 에 맞는 캐리선택 가산기를 생성한다block n-bit .

라 가산기의 분석과 검증.

본 연구에 제시된 가산기 모듈 생성기에 의해 생성된 가산기의 성능을 분석하고 검증하였

다 그림 는 가산기의 레이아웃이다.( 2-5) 32-bit × 32-bit .

제 절 승산기 모듈 생성기 설계3

두 피연산자를 피승수 와 승수 라 할 때 승산처리는 그림 과 같(multiplicand) (multiplier) ( 2-6)

은 과정이라 할 수 있다.[1]

즉 피승수와 승수로부터 만들어지는 부분곱을 더하여 결과 값을 구하는 과정이다 승산기, .

회로는 크게 어레이 방식과 트리 방식으로 나눌 수 있다(array) (Tree) .

Page 13: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 13 -

그림( 2-5) 32bit × 가산기의 레이아웃32bit

Page 14: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 14 -

그림 승산처리 과정( 2-6)

수정형 과1. Booth Algorithm Wallace Array

빠른 속도의 승산기를 위해서는 병열성을 높이고 계산 단계를 줄이는 것이 중요하다 특히.

수정형 알고리즘과 트리가 계산단을 줄이는데 효율적이라고 알려졌다Booth Wallace .[4,5]

는 다음 식 과 같이 연속하는 비트 스트링의 연속성을 이용하여 승수비트에 의한Booth (2-3)

부분곱의 수를 줄일 수 있는 방법을 제시하였다.[10]

이러한 알고리즘을 이용하여 두개의 비트쌍 으로부터 한 개의 부분곱을 얻Booth (bit-pair)

을 수 있도록 코딩하는 수정형 부호화 기법을 얻을 수 있다Booth .[4]

Page 15: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 15 -

전가산 트리 에 의한 승산기2. (tree)

그림 부분곱 수가 인 트리( 2-7) 9 Wallace

부분곱을 더해서 결과로 감축시키는 방법으로 는 트리 구조를 제안하였다 이Wallace .[2,5]

방법은 같은 가중치를 갖는 비트를 모아 부분곱들을 병렬적으로 더하도록 하는 것이다. Pij

를 번째 승수와 번째 피승수로 만들어진 부분곱 행의 원소라 할 때 한 열의 트i j Wallace

리는 그림 과 같은 구조로 만들어진다( 2-7) .

콤프레서 트리 에 의한 승산기3. 4-2 (tree)

부분곱을 더해서 감축시키는 트리를 구성하는 또 하나의 대안은 콤프레서를 이용하는4-2

방법이다 콤프레서는 입력단자로 개를 받아 개의 출력 캐리 와 합 을 낸. 4-2 4 2 (carry) (sum)

다 그러나 내부는 개의 입력을 받아 개의 출력을 내도록 되어 있다. 5 3 .

Page 16: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 16 -

그림 에서는 개의 부분곱을 더해내는 콤프레서 승산기의 블록도( 2-8) 16 4-2 (block

를 보여주고 있다diagram) .

그림 개의 부분 곱을 더하는 콤프레서의 블록도( 2-8) 16 4-2

콤프레서를 사용하면 전가산기를 사용할 때보다 빠른 속도로 부분곱들을 더할 수 있4-2

다 콤프레서를 사용하면 개의 입력이 개의 출력으로 줄어들음으로 개의 부분곱을. 4-2 4 2 n

개의 출력으로 줄이는 단계 수는2 log2 이므로 전가산기를 사용한 경우 보다 빠르게 된n-1

다 또 한 열이 트리를 구성하는데 사용되는 콤프레서의 개수도 가 되므로 전. 4-2 (n-2)/2

가산기의 트리를 사용한 승산기의 전가산기의 개수보다 적다 이러한 장점을 이용하여.

등의 승산기는 콤프레서를 이용하여 구현되었다[3,6,7] .

이러한 콤프레서를 이용하여 승산기를 설계한다고 하였을 때의 콤프레서단 계수와 개4-2

수는 식 와 식 와 같다(2-4) (2-5) .

Page 17: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 17 -

그러나 콤프레서는 전가산기에 비하여 논리가 복잡하여 트랜지스터 의 수도 배(transistor) 2

이상이 되고 처리 지연시간도 약 배가 된다는 단점이 있다 단 콤프레서의 개수와 단계가2 . ,

줄기 때문에 전가산기에 비하여 배선은 간단해지고 전송 지연이 줄어든다.

본 연구의 승산방법4.

본 연구에서 사용하고 있는 콤프레서를 사용한 승산기의 블록도가 그림 에 나타4-2 ( 2-9)

나 있다 사용한 승산기는 으로 나뉜다. Booth block, array block, final adder block .

은 수정형 알고리즘에 의하여 개의 부분곱들을 생성한다 그리고 생Booth block Booth n/2 .

성된 개의 부분곱 어레이를 더해 합단과 캐리단으로 출력하는 것이 이다n/2 array block .

은 에서 출력된 합단과 캐리단을 더하여 최종적인 곱을 출력Final array block array block

한다 이 승산기에서는 높은 속도를 내기 위하여 에서는 수정형 알고리. Booth block Booth

즘을 쓰고 에서는 트리 방법을 사용하였으며 의 구성 요소들로는array block array block

승산성 보다 병렬성을 높이기 위해 캐리 저장 덧셈기 대신에 콤프(carry save adder) 4-2

레서를 사용하였다 그리고 에서는 캐리 전송 지연을 줄이기 위해 캐리. final adder block

선택 덧셈기를 사용하였다.

승산기 모듈 생성기5.

가 회로구조.

각 기본 셀들과 중간 셀들은 제일 상위단계에서 내려오는 여러 변수들을 받아 원하는 설계

를 완성한다 예를 들어 트랜지스터의 게이트의 넓이 입력 승수와 피승수의 크기 셀 간의. , ,

간격 전력선의 넓이 등을 입력받아 사용자가 원하는 설계를 추구한다 그리고 승산기 안의, .

기본 셀들의 배선과 배치를 용이하게 하기 위해서 기본 셀들 간의 높이와 넓이를 같게 해

주었다.

Page 18: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 18 -

그림 승산기의 블록도( 2-9)

예를 들어 그림 에서 보게 되면 수정형 부호기와 버퍼와 부분곱 생성기는 높,( 2-10) Booth

이를 같게 설계하였고 부분곱 생성기와 콤프레서 셀의 넓이를 같게 해주었다 또한 캐, 4-2 .

리 선택 덧셈기 안의 전가산기 간의 넓이와 콤프레서들 간의 넓이도 같은 크기만큼 떨4-2

어지도록 배치해 배선이 용이하게 하였다.

그림 기본 셀들 간의 높이와 넓이 조절( 2-10)

Page 19: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 19 -

그림 에서는 과 을 배선이 용이하도록 맞추어 주는 것( 2-1l) final adder block array block

을 보이고 있다 이렇게 배치를 하게 되면 그림 의 에서 보여 주는. ( 2-11) (a) routing area

를 없앨 수 있다.

(a) Case of minimum distance in cell

(b) Cse of matching cell distance with Upper part

그림 과 의 간격 조절( 2-11) Final Adder Block Array Block

Page 20: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 20 -

나 기본 셀 생성기.

승산기에서 사용되는 기본 셀들로는 수정형 부호기 버퍼 부분곱 생성기 콤프Booth , , , 4-2

레서 전가산기 등이 있다 기본 셀들은 회로선계 도구인 을 사용하여 셀의 최적화를, . MAGIC

한 후 로 프로그램화하였다 또한 설계 시 메탈 를 전체적인 배선L . , -2(METAL-2) (global

을 위하여 사용하였기 때문에 기본 셀 안에서는 메탈 만을 사용하여routing) -1(METAL-1)

셀 안의 배선을 완성시켰다.

다 중간 셀 생성기.

중간 셀들은 기본 셀들을 서로 연결시켜 생성된다 은 수정형 부호기 버퍼. rowl.L Booth , ,

그리고 부분곱 생성기를 접목시킨 하나의 부분곱 행을 생성해 내는 중간 셀이다 그리고.

은 개의 과 하나의 콤프레서단을 첨부시켜 만든 개의 부분곱을 더해block.L 4 rowl.L 4-2 4

캐리단과 합단의 개의 출력을 내는 중간 셀이다 은 개의 을 더해서 캐리2 . buolk.L 2 block.L

단과 합단의 개의 출력을 내는 중간 셀이다 즉 은 개의 부분곱 행을 더해내는 셀2 . , bulk.L 8

이다 그리고 은 개의 을 더해서 캐리단과 합단의 개의출력을 내는 중간. whole.L 2 bulk.L 2

셀이다 즉 개의 부분곱 행을 더해내는 셀이다. , 16 .

라 목적 셀 생성기.

그림 는 의 콤프레서를 사용한 승산기의 레이아웃이다 목적셀 안( 2-12) 32bit × 32bit 4-2 .

에서 사용되고 있는 모든 중간 셀들은 왼쪽으로 정렬하여 배치하였다 이렇게 배치하면 전.

체적인 배선에 효율적이다.

Page 21: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 21 -

그림 의 콤프레서를 사용한 승산기의 레이아웃( 2-12) 32bit x 32bit 4-2

Page 22: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 22 -

마 승산기의 분석과 검증.

본 연구에 게시된 승산기 모듈 생성기에 의해 생성된 승산기의 성능을 분석하고 검증을 제

시한다 표 는 생성된 승산기의 성능을 나타내 주고 있다 승산기의 검증은 의. ( 2·2) . GDT

을 이용하였다 그리고 승산기의 크기는 의 를 사용하여 측정하였다 설계된Lsim . GDT Led .

승산기는 에서 승산을 약 에 수행하였다 그리고1.5 8bit × 8bit 22nsec . 32bit × 32bit㎛

승산은 시뮬레이션 시간이 너무 걸리는 이유로 각 단계별로 가장 많이 걸리는 지연을 구해,

그것들을 더하여 추산한 것이다 그림 에서는 승산 지연 시간을 위해. ( 2-13) 32bit × 32bit

계산한 블록 단위의 계산 지연들이다.

블록단의 지연은 으로 검증하였다Lsim .

개의 부분곱을 더하는 지연1=12nsec 4Δ

단의 콤프레서의 지연2=5.5nsec 1Δ

단의 콤프레서의 지연3=5.5nsec 1Δ

단의 콤프레서의 지연4=5.5nsec 1Δ

비트의 캐리 선택 덧셈기5=9.5nsec 64Δ

그러므로 승산은 이들 지연을 더한 값으로 약 가 걸릴 것으로 추산32bit × 32bit 38nsec

된다 표 은 생성된 승산기와 같은 콤프레서를 사용하는 사 와의 성능 비.( 2-3) 4-2 Toshiba

교를 보여주고 있다 본 연구의 승산기를 공정에서 구현되었다고 가정하였을 때의. 0.8um

비교를 보이고 있다 다소 속도 면에서 떨어지는 결과를 내고 있으나 의 승산기는. Toshiba

방식으로 설계되었고 본 승산기는 모듈생성기로 생성되었으므로 본 승산기는 많full custom

은 설계 유연성을 갖는다.

Page 23: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 23 -

그림 의 콤프레서를 사용한 승산기의 전송지연 측정방법( 2-13) 32bit × 32bit 4-2

Page 24: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 24 -

표 생성된 콤프레서를 사용한 승산기의 성능( 2-2) 4-2

Technology um 1.5 1.5

multiplier &multiplicand bits

n × n 8 × 8 32 × 32

product 2n 16 64

speed nsec 22nsec 38nsec

chip size mm × mm 2.245 × 1.000 5.675 × 3.853

표 사의 승산기와의 성능비교( 2·3) Toshiba

ours Toshiba

Technology 1.5 0.8 0.8 0.5

수METAL 2 2 2 3

multiplier &multiplicand

수bit32 × 32 32 × 32 32 × 32 54 × 54

product 64 64 64 18

speed 38nsec 약 20nsec 15nsec 10nsec

chip size5.675 ×3.853

3.00 × 2.40 3.30 × 3.02 3.62 × 3.45

Page 25: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 25 -

바. Pipelining

본 연구의 승산기에 을 삽입시킴으로써 보다 성능을 높일 수 있다 을 삽입pipeline . Pipeline

시키는 방법으로는 단계 단계 그리고 단계의 방법이 있다 그림 에서2 , 3 , 4 pipeline . ( 2-14)

는 공정에서 설계된 콤프레서를 사용한 승산기에 적용한 여러 방법과1.5um 4-2 pipeline

그것들의 지연을 보여주고 있다 은 단계의 구조를 갖는 구조를 보이. Method-1 4 pipeline

고 는 단계의 구조를 갖는 구조를 보이고 은 단계의, method-2 3 pipeline , method-3 2

구조를 갖는 구조를 보인다 에서는 단계 중 최대지연이 이므로pipeline . Method-1 4 11nsec

삽입 시 승산기의 지연은 가 된다 그리고 에서는 단계 중 최대pipeline 11nsec . method-2 3

지연이 이므로 삽입 시 승산기의 지연은 가 된다 마찬가지로15nsec pipeline 15nsec .

에서는 삽입 시 승산기의 지연이 이다method-1 pipeline 20.5nsec .

그림 삽입시의 비교( 2-14) Pipeline

Page 26: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 26 -

제 절 성능평가4

이 절에서는 본 연구에서 생성된 승산기의 성능에 관해 서술한다 성능평가를 하기 위해서.

우선적으로 여러 공정기술의 확보가 시급하다 그리고 설계 목표기술인 공정. 0.8um 0.6um

을 확보하는 것이 시급하다.

레이아웃 비교1.

본 연구의 승산기 모듈 생성기로 생성된 승산기와 사의 승산기와의 레이아웃을 비Toshiba

교한다 그림 에서는 사의 승산기 의 레이아웃을 나타낸다 그. ( 2-15) Toshiba (54bit × 54bit) .

리고 그림 에서는 본 연구에서 구현한 승산기 의 레이아웃을 보여준( 2-16) (32bit × 32bit)

다 레이아웃의 크기비교는 절에서 보여주고 있다 두 승산기의 구조를 보면 모두 왼쪽으. 3 .

로 정렬시킨 유사한 구조를 보면 모두 왼쪽으로 정렬시킨 유사한 구조를 가지며 배선에 용

이한 구조를 추구하였다.

속도 평가2.

본 연구의 목표인 공정에서 를 맞추기 위해서는 을 삽입하는 것이 불가0.6 200 pipeline㎛ ㎒

피하다 그림 은 절에서 보인 공정에서 삽입시의 지연들을. ( 2·-17) 3 1.5um pipeline 0.6㎛

공정으로 추측한 것이다.

그림 에서 보면 단계 을 썼을 경우 나타내는 것을 볼 수 있다( 2-17) 4 pipeline 182 . 200㎒

를 달성하기 위해서는 기본 셀들을 분석하여 지연을 낮추어야 할 것이다 예를 들어. , 4-2㎒

콤프레서의 속도를 공정에서 에서 까지 줄이면1.5 um 5.5nsec 4.5nsec - 5.0nsec 0.6㎛

공정에서 단계 을 썼을 경우 가 가능하다4 pipeline 200 .㎒

Page 27: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 27 -

그럼 사의 승산기의 레이아웃( 2-15) Toshiba

Page 28: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 28 -

그림 의 콤프레서를 사용한 승산기의 레이아웃( 2-16) 32bit × 32bit 4-2

Page 29: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 29 -

그림( 2-17) 0.6㎛에서의 지연 예측

Page 30: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 30 -

제 절 결론5

본 연구에서는 캐리 선택 가산기를 사용한 가산기 모듈 생성기와 보다 개선된 병렬 구조를

갖는 콤프레서를 사용한 승산기 모듈 생성기를 구현하였다 덧셈에서는 캐리 선택 가4-2 .

산기를 이용하여 시간과 면적 면에서 보다 효율적인 가산기 설계를 추구하였다 또한 승산. ,

은 부분곱들의 덧셈으로 실현되는데 그 부분곱들의 덧셈은 승산 수행 시간의 거의 대부분을

차지한다 그러므로 부분곱 덧셈의 수를 줄이는 것이 가장 중요한 설계조건 중의 하나이다. .

콤프레서를 사용한 승산기는 종래의 방법 보다 덧셈 단계를 줄이므로 전송지연을 줄이4-2

는데 효과적이다 그러므로 보다 빠른 수행을 요구하는 화상처리나 디지털 신호처리 또는. ,

부동 소수점 연산 등에 적합하다.

또한 이러한 병렬 승산기와 가산기를 모듈 생성기법을 이용하여 만들면 사용자에게서 승산,

기와 가산기의 특성을 입력받아 원하는 승산기와 가산기를 자동적으로 생성하므로 설계기술

에 독립적이고 쉽게 설계환경에 적응하는 장점을 갖는다.

승산기와 가산기 모듈 생성기의 설계는 의 회로설계 언어 로 기술하였고 생성된 승GDT L ,

산기와 가산기를 의 시뮬레이션 툴인 을 이용하여 논리 검증하였다 설계된 가산GDT Lsim .

기는 에서 덧셈을 에 수행하였다 그리고 설계된 승산기는1.5 32bit× 32bit 9.5nsec . 1.5㎛

에서 승산을 에 수행하고 승산을 에 수행한다8 × 8 22nsec , 32 × 32 38nsec .㎛

그리고 향후 연구 방향으로는 현재의 승산기 모듈 생성기가 32bit× 32bit, 16bit × 16bit,

승산기만을 생성하는데 승산기를 자동적으로 생성해 내는 알고8bit× 8bit , n bit × n bit

리즘을 개발하는 것과 현재의 정수 승산뿐만이 아니라 부동 소수점 승산도 가능한 승산기로

발전시키거나 파이프라인을 넣어 속도를 향상시키는 것들이 고려되어야 할 것이다.

Page 31: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 31 -

또한 가산기에서는 부동 소수점 덧셈을 해 낼 수 있는 부동 소수점 연산을 위한 가산기에

대한 연구도 추진되어야 할 것이다.

Page 32: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 32 -

참 고 문 헌

[1] Hwang K., Computer Arithmetic-Principles, Architecture, and Design, John Wiley

& Sons, 1979.

[2] Santoro M.R., and Horowitz M.A., “SPIM : A Pipelined 64 × 64-bit Iterative

Multiplier”, JEEE J. Solid-State Circuits, Vol.24, No.2, pp.487-493, Apr. 1989.

[3] Mori J., Nagamatsu M., Hirano K., Tanaka S., Noda M., Toyoshima Y.,

Hashimoto K,, Hayashida H., and Maeguchi K., “A l0-ns 54 × 54-bit Parallel

Structured Full Array Multiplier with 0.5-um CMOS Technology”, IEEE J.

Solid-State Circuits, Vo1.26, No.4, pp.600-606, Apr. 1991.

[4] Booth A.D., “A Signed Binary Multiplication Technique”, Q.J.Mech. App1. Math.,

4, pp.236-240, 1951.

[5] C. S. Wallace, “A suggestion for fast multipliers”, IEEE Trans. Electron.

Comput., Vol. EC-13, pp.14-17, Feb. 1964.

[6] M. Nagamatsu et al., “A 15-ns 32 × 32-b CMOS multiplier with an improved

parallel structure”, IEEE J. So1id-State Circuits, Vol,25, pp.494-497, Apr. 1991.

[7] Gajski D. D., “Parallel Compressors”, IEEE Trans. Computers, Vol. C-29, No.5,

pp.393-398, May 1980.

이동순 병렬 승산기 모듈 생성키의 설계 연세대학교 대학원 석사학위 논문[8] , “ ”, , l992.

[9] Daniel D.Gijski, Silicon Compilation, Addison Wesley, 1988.

이광찬 부동 소수점 곱셈 연산기의 설계 연세대학교 대학원 석사학위 논문[10] , “ ”, , 1993.

Page 33: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 33 -

제 장 이동통신용 단말기 구조 연구3

Page 34: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 34 -

제 장 이동통신용 단말기 구조 연구3

제 절 개요1

디지털 신호처리 기술은 영상 통신 디지털 이동통신 위성 통신 등 다양한 분야에 응용되, ,

고 있는데 그 중에서도 디지털 이동통신은 기존 아날로그 이동통신 시스템의 용량 한계를

극복할 수 있는 기술로 각광 받고 있다 본 연구는 디지털 이동통신 단말기용 신호처리 집.

적회로 개발과 관련하여 디지털 이동통신 단말기의 구조 설계 및 시뮬레이션을 최종목표로

하고 있다 당해년도에는 아날로그 겸용 이동통신 단말기의 기능 이를 구현하기 위. CDMA/ ,

한 하드웨어 및 소프트웨어 구조 기능 시뮬레이션 등의 분야로 나누어 연구를 수행하였다, .

아날로그 겸용 이동통신 단말기의 기능은 크게 기지국과의 통신기능 아날로CDMA/ CDMA ,

그 기지국과의 통신기능 사용자 인터페이스기능으로 구분된다 기지국과의 통신 기능은, .

잠정 표준안 에 규격이 정해져 있는데 단말기 내부의 구현 방식에 대해서TIA/EIA (IS-95)

는 언급이 없으므로 단말기 기능 연구 분야에서 를 만족시키기 위한 단말기의 세부적IS-95

인 기능을 도출하였다 하드웨어 구조 분야에서는 단말기의 기능 중 하드웨어로 구현되어야.

할 기능블록을 파악하고 하드웨어 구조를 설계하였으며 소프트웨어 구조 분야에서는 하드웨

어를 제어하여 단말기 기능을 구현하는데 필요한 소프트웨어 구조를 연구하였다 시뮬레이.

션에서는 단말기의 신호처리 알고리즘 및 동작을 확인하기 위한 시뮬레이션 모델을 설계하

고 일부 블록을 구현하였다.

Page 35: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 35 -

제 절 디지털 이동통신 단말기의 기능2

아날로그 겸용 휴대전화기의 기능은 아날로그 통신 기능 통신 기능 사용자CDMA , CDMA ,

기능으로 구분된다 아날로그 통신 기능은 아날로그 이동통신 기지국과의 통신 기능으로서.

forward control channel, forward voice channel, reverse control channel, reverse

을 통하여 통신이 이루어진다 통신 기능은 기지국과의 통신voice channel . CDMA CDMA

기능으로서 pilot channel, sync channel, paging channel, forward traffic channel,

을 통하여 통신이 이루어지며access channel, reverse traffic channel Forward link

기능 기능 기능channel receiver , Reverse link channel transmitter , Multiplex sublayer ,

기능 기능 기능으로 구분된다Layer-2 , Call processing , Vocoder .

기능은 를 위한Multiplex sublayer forward link Multiplexing of voice data and control

기능과 를 위한signals reverse link Demultiplexing of voice data and control signals

기능으로 구성된다 기능은 를 위한. Vocoder forward link QCELP voice coding reverse

를 위한 으로 구성된다 사용자 기능은 전화번호 기억 단축 다link QCELP voice decoding . ,

이얼 등 사용자의 편의를 위한 기능이다.

수신 기능1. CDMA

수신 기능은 기지국으로부터 송신되는CDMA CDMA pilot, sync, paging, forward traffic

신호를 수신하는 기능이다 은 한 과 다른 을 구별하고 다른channel . Pilot channel Cell Cell

의 을 위한 기준 신호로서 한 주기의 길이가 인channel Coherent Demodulation 32,768

신호이다 은 전화기의 시Unmodulated Direct Sequence Spread Spectrum . Sync channel

간 동기를 맞추기 위한 정보를 제공 한다 은 시스템. Paging channel parameter, Access

등의 제어 정보와 메시지 등을 위한 신호를 송신한다parameter Page .

Page 36: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 36 -

은 음성정보와 을 위한 신호를 전달한다Traffic channel Cal1 Processing .

전화기 수신 신호는 주변 기지국으로부터 송신되는Antenna Pilot channel, Sync channel,

의 복합 신호가 에 의한Paging channel, Traffic channel Multipath channel Distortion,

에 의한 타 가입자 신호에 의한 타Inter-symbol interference Distortion, interference,

로부터의 신호 에 의한 등에 의하여 왜곡된 형태이다Cell , Additive Noise Distortion .

신호 수신을 위한 기능들은 다음과 감은 과정으로 구성된다CDMA .

입력을 신호로 변환- Frequency down conversion: 869-894 RF Baseband㎒

- I,Q signal quadrature splitting

- Pilot Initial acquisition

- Pilot searching

- Time tracking

- PN despreading

- Frequency tracking

- Walsh decovering for Sync, Paging, Traffic channel

- Coherent combining for Sync. Paging, Traffic channel

- Long-code descrambling for Paging, Traffic channel

- Power control bit combining for Traffic channel

- Deinterleaving for Sync, Paging, Traffic channel

- Viterbi decoding of sync, paging channel frames

- Viterbi decoding and data rate detection of traffic channel frames

송신 기능2. CDMA

Page 37: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 37 -

송신 기능은 기지국으로 을 송신하는 것이CDMA CDMA access. reverse traffic channel

다 은 전화기가 기지국에 메시지를 보내기 위한 신호나. Access channel Paging channel

메시지에 응답하는 신호를 보내는데 사용된다 은. Reverse traffic channel forward traffic

과 마찬가지로 음성 통화와 통화중의 을 위한 신호를 전달한다channel Call processing .

기능은 다음과 같은 과정으로 구성된다Reverse link channel transmit .

- Convolutional encoding

- Interleaving

- Hadamard modulation

- Long code scrambling

- Data burst randomization

- PN spreading

- OQPSK quadrature spreading

로 변환- Frequency up conversion: 824 - 849 RF㎒

- Transmit Power Control: Open loop power control Closed loop power control

Transmit puncture

호 처리 기능3.

휴대전화기의 는 그림 에 나타낸 것과 같이Call Processing States ( 3-1) Mobile station

Initialization State, Mobile station Idle State, System Access State, Mobile Station

등으로 구분된다Control on the Traffic Channel State .

Page 38: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 38 -

에서는 사용할 시스템 선택Mobile Station Initialization State , Pilot channel acquisition

을 초 이내에 수행 을 수신하여 시스템 및 정보 획15 , Sync channel configuration timing

득 휴대전화기내의 등의 동작을 수행한다 에서는, timing update . Mobile Station Idle State

을 하고 를 위한 및Paging channel monitoring , Registration, Idle hand off pilot search

수행 에 대한 동작을 수행한다id1e hand off , page message response . System Access

에서는 을 통하여 기지국을 하며State Access channel access Mobile Station Control on

에서는 을 통하여 음성 통화와 제어신호를 주고the Traffic Channel State Traffic Channel

받는다.

사용자 기능4.

사용자 기능에는 자주 사용되는 전화번호를 기억하는 통화중의 전화번호 입력Speed dial,

을 위한 최종번호기억 전화카드번호기억 자동 신호 송신 전Scratch pad, , , redial, DTMF ,

자 잠금장치 타이머 기능 장거리전화 사용 불가기능 등의 발신 제한 음량 조정, , , , Call

표시기능 부재중 표시기능 표시기능 상태 표시Quality , Call , In service , Roamer ,

시스템 표시 선호 시스템 입력 기능 등이 있다FM/CDMA , Master clear/reset, .

Page 39: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 39 -

그림 휴대전화기의( 3-1) Call Processing States

Page 40: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 40 -

제 절 디지털 이동통신 단말기의 하드웨어 구조3

아날로그 이중모드 휴대전화기의 단말기 회로 부는 크게CDMA/ Portable Digital/Audio

와 의 개 로 구성되며 그림Card (PDAC) RF/Analog Subsystem (RAS) 2 Circuit Card ((

참조 부가 따로 하나의 로 이루어진다3-2) ), Keyboard assembly board .

는Portable Digital/Audio Card (PDAC)

와 관련- 80C 186EA Microprocessor Peripherals,

와- Vocoder DSP Codec chip,

과 개의- Baseband Analog ASIC 3 CDMA ASIC chipset(Demodulator, Modulator,

로 구성된Viterbi Decoder) CDMA ASICs Block(CDMA MODEM ASIC ),

그리고 들로 구성된다- FM Audio & Data Processor, Audio Compandor .

그리고 은RF/Analog Subsystem

- Transmitter Block,

- Receiver Block,

- Synthesizers,

등으로 구성된다- Timing & Gain Control Circuitry .

Page 41: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 41 -

그림( 3-2) CDMA/FM Dual-Mode Portable Phone Block Diagram

Page 42: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 42 -

여기서는 에 대한 설명을 생략하기로 하고RF/Analog Subsystem , Portable Digital/Audio

회로부에서 와 들에 관해서는 해당 에서 상세하게 다룰Card Vocoder CDMA ASIC chapter

예정이다.

이중모드 휴대전화기의 동작모드1.

이중모드 휴대전화기의 동작모드는 다음과 같은 가지의 모드를 갖는다5 .

- FM TX mode,

- FM RX mode,

- CDMA TX mode,

- CDMA RX mode,

- CDMA Sleep mode.

에서는 일부 컨트롤 기능만을 제외하고 들은 동작하지 않는다 음성FM mode CDMA ASIC .

신호는 을 거쳐 바로 로 전달된다Audio Processing RF board . FM Control & Access

에서는 디지털 데이터를 전송하기 위하여 을 한 후Channel Manchester Coding

을 사용한다FSK(Frequency Shift Keying) Modulation .

는 이외에 생성 그리FM chipset FM Audio & Data Processing volume control, DTMF ,

고 또는 으로 사용하기 위한 생성 기능을ring-back tone, key·press feedback 2 tone㎑

수행한다 이러한 기능은 와 에서 모두 사용될 수 있다 그리고 임의. FM mode CDMA mode .

의 을 발생시키기 위하여 를 프로그래밍 하여 사용할 수 있다audio tone Vocoder DSP .

에서 오디오 인터페이스는 을 통하여 이루어진다CDMA mode Vocoder Subsystem .

Page 43: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 43 -

에서 음성을 디지타이징 한 후 에서는 데이터를 이하로 한Codec , Vocoder 8Kbps encoding

다 는 로부터의 데이터를 내의 로 보내면 에서는. CPU Vocoder Modulator Encoder Encoder

Forward Error Control Coding (Convolutional Coding), Interleaving, Direct Sequence

등의 과정을 거친다Spreading, 4x over sampled Digital Transmit Filter . Digital

의 디지털 출력은 에서 의Transmit Filter I & Q Baseband Analog ASIC 8-bit resolution

아날로그 신호로 변환되어 으로 전달된다RF/Analog Subsystem .

신호 수신 시에는 의 아날로그 출력신호를CDMA RF/Analog Subsystem 4.95 IF㎒

에서 디지털 신호로 변환한다 에서Baseband Analog ASIC 4-bit I&Q . Demodulator ASIC

는 를 사용하여 이 신호를 시켜 로 복구한다 이PN Generator despreading raw data . raw

는 의 역 과정 을 거쳐 에서 에data deinterleaving(interleaving ) Viterbi Decoder raw data

섞인 에러를 수정하고 디코딩하여 로 보낸다 디코딩된 데이터가 음성데이터일 경우에CPU .

는 를 통과하여 스피커 출력으로 나간다Vocoder .

수신만을 하는 에서는 그리고 와 은CDMA RX mode FM chipset, Vocoder codec

시켜 사용하지 않으며 전력소모를 줄이기 위한 에서는powerdown , CDMA Sleep mode

와 를 제외하고는 모두 시킨다TCXO Sleep Time 1 powerdown .

2. CPU Subsystem

은 그림 과 같이CPU Subsystem ( 3-3) 80C186EA microprocessor, Program Memory,

그리고 외부 디바이Data Memory, Non-Volatile Memory (EEPROM), Watchdog Timer,

스와의 접속을 위한 로 구성된다Serial Communications Controller .

가. CPU

Page 44: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 44 -

로는 를 사용한다 의 상CPU Intel 80C186EA 16-bit microprocessor (80-pin PQFP) . CPU

세한 동작 기능과 그리고 동작 시뮬레이션에 대해서는 제 장에서 기술하VHDL modeling, 5

기로 한다.

나 할당. Interrupt & DMA

- NMI : SLEEP- 에서 가 한다INT, rising edge CPU wake-up .

에서 발생- INT0: CDMA Interrupt (CDMA Demodulator ASIC )

- INT1: 5msec Time Tick Interrupt

에서 발생- INT2: DP/WBD IRQ (Z85C30 SCC )

는 개의 독립적인 고속 을 제공한다 휴대전화단말80C186 DMA Controller 2 DMA channel .

기에서는 아래와 같이 채널을 할당하고 있다2 .

에서 생성- DRQ0 : CDMA Search Ready(CDMA Demodulator )

에서 생성- DRQ1 : UART DRQ(Z85C30 SCC )

Page 45: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 45 -

그림( 3-3) CPU Subsystem Block Diagram

Page 46: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 46 -

다. Program Memory

는 으로 은Memory Block Size 128K× 16 Chip Selection Upper memory chip select

을 사용하며 을 사용하여UCS ($FFFF - $C000 ) , Address A19, A18 Program Memory

영역을 로 확장가능하다256Kword .

라. Data Memory

로는 의 을 사용하며Data Memory zero wait-state 256KB SRAM , Lower memory chip

신호로 데이터 메모리 영역을 선택한다select LCS ($3FFFF - $0000 ) .

의 하위 는 로 용도가 한정되며(Memory Block 1K Interrupt Vector Table $3FFF -

의 영역을 으로 사용한다$0400 main RAM .

마. Non-volatile Memory

는 휴대전화기의 동작 시에 데이터 값을 변화시킬 수 있으나Non-Volatile Memory

시 그 값들이 유지되어야하는 데이터 값들을 저장하기 위한 것으로power-off 8K× 8

을 사용한다 의 은 약 로 이EEPROM . EEPROM access time 200nsec 2wait-state bus cycle

필요하며 쓰기도 마찬가지로 이 소요된다 하지만 실제로 메모리에2wait-state bus cycle .

쓰기가 완료되는데 걸리는 시간은 로 매우 긴 시간이 소요되므로 가5-10 msec power-off

언제 일어날지 알 수 없는 휴대전화기에서 쓰기를 신뢰성 있게 하기 위해서는 특수한 메커

니즘이 필요하다 이와 같이 예측할 수 없는 발생시에 에 데이터 값을. power-off EEPROM

신뢰성 있게 쓰기 위해서 의 도움이 필요하다Non-volatile Database Software Task .

Page 47: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 47 -

바 할당. Timer

는 개의 를 가지며 개의 는 각각80C186EA 3 16-bit Timer , 3 Timer

실시간 을 구동하기 위한 을 생성. operating system 5msec ‘Time Tick’ ,

에서 필요한 들을 생성. FM protocol programmable hold-off ,

의 구동. Ringer

을 위하여 사용된다.

내부회로들이 입력클록의 분주 클록 속도에서 동작하는CPU 1/4, 1/8, 1/16 CPU power

에서도 가 정확한 시간을 유지할 수 있도록 하기 위하여save mode Timer CDMA

에서 생성시키는 신호를 입력 핀에 연결하여 사용한Modulator ASIC BAUD CLK Timer 0

다.

사. Watchdog Timer

는 기능과 감시기능을 수행한다 기능은Watchdog Timer power-on reset . Watchdog CPU

가 주기적으로 하지 못할 경우 시스템의 동작 이상으로 간주하여 를 시키strobe CPU reset

는 기능이다 에는 이 기능을 돕기 위하여. CDMA Demodulator ASIC WDOG- 신호핀이STB

있으며 이 신호가 의 핀에 연결시켜 사용한다Watchdog Timer STROBE . WDOG- 신STB

호는 내부클록과 출력 중 하나를 선택하여 내보내게 되는데Demodulator watchdog CPU ,

정상 동작시에는 출력을 내보내고 에서는 내부클watchdog CPU sleep mode Demodulator

록을 사용하여 를 한다Watchdog Timer strobe .

아. Serial Communications Controller(SCC)

는 데이터의 교환 또는 을 위하여 외Serial Communications Controller , code downloading

부 컴퓨터와 연결하거나 시스템 진단을 위하여 와 연결하기 위한Diagnostic Monitor Data

와 와의 접속을 위한 를& Diagnostic Port FM Data Processor Wideband Data serial port

제공한다.

Page 48: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 48 -

3. Vocoder Subsystem

은 와 으로 구성된다 는Vocoder Subsystem Vocoder DSP Codec . Vocoder DSP QCELP

알고리즘을 수행한다 의 하드웨어의 알Voice Encoding/Decoding . Vocoder DSP QCELP

고리즘에 대해서는 제 장의 내용에서 다루었다4 .

은 입력된 오디오 신호에 대해서 초에 번 샘플링하여 샘플당 최소 의Codec 1 18,000 13bit

를 갖도록 을 한 후 로 보낸다dynamic range 14-bit uniform PCM Coding Vocoder DSP .

이를 에서는 알고리즘을 사용하여 이하의 데이터율을 찾는Vocoder QCELP 8kbps 8-bit

데이터로 변환시킨다.

수신 시에는 에서 디코딩하여 출력되는 데이터를 에서 변Vocoder u-law PCM Codec D/A

환하여 스피커로 내보낸다 에서 제공되는. CDMA Modulator ASIC 2.048 data㎒

은 시스템 클록으로부터 생성되므로 클록conversion clock (CODEC-CLK) 9.8304 jitter㎒

로 인하여 의 배수에서 가 발생할 수 있다 에서는 이25.6 spurious alias image . Codec㎑

를 제거하기 위하여 기능을 수행한다alias image antialiasing .

4. CDMA ASICs Block

은CDMA ASICs Block spread spectrum modulation/demodulation,

과 등의 기능을 수행interleaving/deinterleaving, convolutional encoding Viterbi decoding

하는 블록으로 에서 동작한다CDMA mode .

이 블록의 구성은 그림 와 같이 과 개의 들로( 3-4) Baseband Analog ASIC 3 CDMA ASIC

이루어진다 사의 경우 개의 들을. Qualcomm 3 CDMA ASIC MSM( Mobile Station MODBM

단일 칩으로 제작 휴대전화단말기에서 사용하고 있다ASIC ) , .

Page 49: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 49 -

사의 은 외부 디바이스와 와의 접속을 위한Qualcomm MSM chip FM Data Processor

를 포함하고 있는데 이를 제외하고는 개의 들과synchronous serial I/O port , 3 CDMA ASIC

동일한 기능을 수행하는 개의 으로 구성된다3 subcircuit .

여기서는 의 기능에 대해서만 다루고 들의 기능 및 규Baseband Analog ASIC CDMA ASIC

격은 제 장 제 장 제 장에서 각각 다루기로 한다6 , 7 , 8 .

가 의 기능. Baseband Analog ASIC

수신신호 처리기능 신호를 디지털 신호로 변환- : 4.95 I & Q㎒

으로부터 신호입력. RF/Analog Subsystem 4.95 CDMA IF㎒

. IF filtering

. Baseband signal quadrature splitting

. Baseband filtering(5-pole Elliptic 1ow pass filters )

. 4-bit Flash A/D conversion

신호의 보정. Baseband I&Q DC offset

Page 50: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 50 -

그림( 3-4) CDMA ASICs Block Diagram

Page 51: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 51 -

송신신호 처리기능 디지털 신호를 받아 신호로 변환- : I&Q 4.95 IF㎒

신호를 형태로 수신. I&Q 8-bit time multiplexing

. Baseband D/A conversion

. Anti·aliasing filtering

. Baseband signal quadrature combining

. IF Bandpass filtering

5. Analog FM Block(FM Baseband Processing)

은 와 그리고 로 구성된Analog FM Block Data Processor Audio Processor, Compandor

다 은 을 수행하므로 내의. Analog FM Block FM Baseband Processing Audio Processor

를 제외하고는 에서만 동작한다Audio Volume Controller FM Mode .

가. Data Processing

는Data Processor FSK Wideband Manchester encoding/decoding, SAT Transponding,

생성의 기능들을 수행한다Signaling Tone(ST) .

는 으로 동일한 채널을 사용하는 들을 구분하기SAT 6 (5970, 6000, 6030 Hz) tone cell㎑

위하여 사용된다 는 으로 음성신호 대신 통화종료 확인. ST 10 tone , Order , special㎑

를 위한 등 목적으로 사용되는 이다order Flush signaling tone .

를 통해 송신되는 의 는 이며Reverse Control Channel(RECC) signaling data 1ate 10Kbps ,

에서 을 거쳐 로 변환Data Processor Manchester encoding, BCH encoding analog signal

된다.

Page 52: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 52 -

출력은 에서 와 합쳐진analog signal Audio Processor audio signal (DTMF, audio) path

다.

는 수신된 로부터 를 하여Data Processor Wideband data clock recovery Manchester

을 수행하고 를 통해 데이터를 로 보낸다decoding synchronous serial port CPU . Forward

를 통해 수신되는 은Control Channel(FOCC) data stream preamble (dotting), Word

그리고 번 반복되는Synchronization bits, 5 40-bit(28-bit data words,12 parity bits)

들로 구성된다 는 가 도착했었음을Word Block . Dotting sequence(1010101010 ) message…

알리는 신호이며 는preamble , Word Synchronization sequence(111OOO1OO1O) frame

동기를 맞추기 위한 신호이다 는 에 의하여 번 반복되는. Data Processor majority voting 5

으로부터 를 뽑아낸다 선택된 는 과Word Block 1 word . word error detection correction(1

중 교정가능 을 거쳐 로 보내어진다word 1-bit error ) CPU .

또한 는 에 의해 되는Data Processor 5-bit command control PDM(Pulse Density

도 포함하고 있다Modulation) DTMF Generator .

나. Audio Processing

는FM Audio Processor audio band filtering. Pre/De-Emphasis, audio volume control,

그리고 에 대한 기능을 수행한다 는wideband data low pass filtering . Compandor audio

신호의 를 하는 기능을 수행한다dynamic range compressing/expanding .

Pre-emphasis/De-emphasis 와 높은 에 대한: FM Receiver sensitivity audio tone S/N

비 향상을 위하여 신호의 높은 주파수 성분을 미리 증폭시켜 보내고baseband audio

수신 시에 다시 시킨다(pre-emphasis), attenuation (de-emphasis).

Page 53: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 53 -

Deviation limiter 이 최대 를 넘지 않도록 제한: audio signal(voice) deviation + - 12㎑

한다.

의 를 송신 전에 압축하여 보내고 수신 시에 다Companding : audio signal dynamic range ,

시 확대하여 비의 향상을 꾀한다S/N .

휴대전화기의6. Power Mode

휴대전화기 에서는 전력소모를 최대한 줄이기 위하여 여러 가지 방법을(Portable Station)

사용한다 는 휴대전화단말기 시스템의 특정영역을 선별적으로 시킬 수. CPU power-down

있다.

은 다음과 같은 가지 를 갖는다RF/Analog Subsystem 3 power mode .

들을 포함한 모든 부분이1) Sleep Mode : Serial bus, mode control, signals, enable line

됨power down .

수신만 할 경우 의 를 시킴2) Idle Mode : Transmit Path power down .

송신 중에도 전력소모를 최대한 줄이기 위하여 데이터 전송이 일3) Power-Amp down :

어나지 않는 에서는time slot PA- 을 사용하여 를 시킨다ON signal power amplifier off .

에서도 등을 선별적Portable Digital/Audio Card(PDAC) CDMA ASIC chipset, FM chipset

으로 공급을 차단할 수 있다 는 에서 생성하power . FM chipset CDMA Demodulator ASIC

는 FM- 신호를 시킴으로써 시킨다 의 경우에는CLK disabling power down . Vocoder DSP

GPIO VC- 신호를 사용하여 공급을 차단한다PWR power .

마찬가지로 도 전력 소모를 줄이기 위한 가지 수단을 가지고 있다 전력소모를 줄이CPU 3 .

기 위한 는 이며 모두mode Idle Mode, Powersave Mode, Powerdown Mode software

에 의해 된다command invoking .

Page 54: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 54 -

에서는 들을 제외한 동작을 중단한다 어떠한Idle Mode chip peripheral CPU . Interrupt

라도 발생하면 로부터 빠져 나간다Request Idle Mode .

에서는 을 분주하여 클록 속도를 낮춤으로써 전력소모를 줄인다Powersave Mode clock .

는 와 결합하여 사용할 수 있다 는 다른Powersave Mode Idle Mode . Powersave Mode

들과는 달리 들은 모두 수행되며 가 발생하면Mode execution , Interrupt full speed

으로 복귀한다operation .

는 를 완전히 정지시켜 전류를 이하로 떨어뜨린다 이 경Powerdown Mode oscillator 1 .㎃

우에는 또는 발생시에만 다시 이 수행된Reset NMI(Non-Maskable Interrupt) operation

다 이러한 이유 때문에 에서 생성하는 가 로. CDMA Demodulator ASIC Wake-Up IRQ NMI

사용된다.

Page 55: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 55 -

제 절 디지털 이동통신 단말기의 소프트웨어 구조4

디지털 이동통신 단말기의 소프트웨어는 단말기에서 수행되는 모든 기능들을 총체적으로 관

리 조절하는 기능을 담당하며 내의 인, , Digital Common Card non-volatile memory

내에 탑재된다EPROM(256 K× 16 ) .

휴대전화기 소프트웨어의 기능들을 간략히 언급하면 다음과 같다.

시 및 주요 부품에 대한 자기 진단 을 수행- power-on , RAM (self-test)

또는 가운데 어느 모드를 사용할 것인가를 결정- FM CDMA (System Determination)

과의 정보교환을 위하여 데이터 송수신에 관련된 수행- Base Station low level operation

송신정보의 수신정보의 해석 등 에 관련된 을 수행- formatting, protocol operation

명령 등 으로부터 오는 정보에 대한 응답- Handoff , paging Base Station .

전화발신 전화번호 기억 및 검색 등의 사용자 요구 처리- , .

소프트웨어의 구성은 계층적으로 되어 있는데 송 수신 사용자, Call processing, / , interface

를 위한 들이 상위계층에 해당하며 이를 지원하기 위한Software Task , Database, REX

를 포함한(Real-Time Executive Services ) Software Services, Interrupt Handler,

등이 하위계층에 해당한다Device Drivers .

이동통신 휴대전화단말기 소프트웨어의 가장 큰 특징은 실시간 기능을 수행multi tasking

하여야 한다는 점이다 이 때문에 휴대전화 전화단말기의 소프트웨어는 라고 하는 일. REX

종의 을 사용하며 그림 에서 볼 수 있듯이 개의 독Real-Time Operating System , ( 3-5) 11

립적이면서도 한 들을 갖는다concurrent Software Task .

Page 56: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 56 -

들은 기능을 지원하기 위하여 각기 고유의 와Software Task multi tasking data structure

을 가지며 의 도움을 받아 생성된다 의 실행순서 는 미리 지정stack , REX . Task (Scheduling)

된 에 의해 결정되며 간의 이동은 언제나 의 제어에 의해 행해진다Task priority Task REX .

다음의 표는 들의 실행 를 나타낸 것이다Software Task priority .

표 휴대전화단말기 소프트웨어의 들과 실행( 3-1) Software Task Priorities

Priority Task Name

1000(highest) Watchdog Task

900 Sound Task

800 Non-Volatile Database Task

700 Transmit Task

600 Receive Task

500 Searcher Task(CDMA Mode Only)

450 RXTX(Layer 2) Task

400 Main Control Task

300 Handset Task

200 Diagnostic Task

100 User Interface Task

Page 57: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 57 -

그림( 3-5) Dual-Mode Mobile Station Software Structure

Page 58: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 58 -

이동통신 단말기 소프트웨어의 주요기능을 담당하는 들의 기능을 살펴보면Software Task

다음과 같다.

는 의 도움을 받아 다른 들을 생성시키고 그들의 동Main Control Task REX Software Task

작을 제어하며 에 대한 을 지원한다FM/CDMA mode Call Processing Protocol .

는 다른 들이 제대로 동작하는지를 계속 감시하며 정상 동Watchdog Task Software Task ,

작 시에 가 를 하는 것을 방지한다Watchdog Timer microprocessor reset .

는 단말기의 들이 에 데이터를 쓰거나 읽어NV Database Task application Task EEPROM

가는 것을 도와준다 특히 새로운 가 추가될 때 제대로 쓰여 지는 것을 보장. NV parameter

하기 위하여 에 대한 내부 동작을 수행한다NV EEPROM hardware .

는 과 전송에 관련된 모든 기능들을 수행한다Transmit Task data formatting . Receive

는 기지국으로부터 수신된 데이터에 대한 을 수행한다Task 1ow level processing .

는 을 수행하고 수신된Searcher Task Pilot Channel Acquisition Sync Channel Message

로부터의 정보를 사용하여 에 동기를 맞추는 기능 그리고 신호의 크기System Time , pilot

를 측정하고 기지국에 보고함으로써 기능을 지원하는 역할을 수행한다Handoff .

는 에 관계하는 로서 확인요구 비 확인Layer 2 Task Layer 2 protocol processing Task , /

요구 메시지를 전달하고 신초 메시지의 중복감지 및 송수신 메시지의 순서를 제어하여 신호

치리의 신뢰성을 제공하는 기능을 수행한다.

는 음성 및 여러 가지 생성을 포함한 사용자에게 들려지는 생성을Sound Task tone sound

제어하는 기능을 담당하는 이다Task .

Page 59: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 59 -

는 과 다른 간의 를 제공하기 위하여Handset Task handset Software Task interface

로부터의 입력을 처리하고 상에 정보를 표시한다handset keypad , handset display .

는 과 등을 위하여Diagnostic Task software debugging data logging Diagnostic Monitor

에서 보내진 들에 대한 응답을 수행한다packet .

는 사용자로부터의 명령을 해석하고 이 명령에 따라 사용자User Interface Task keypad

기능을 지원하는 역할을 수행한다 주된 기능으로는 사용자 요구에 따른 전화발신 기능 기. ,

지국으로부터의 메시지 출력 재발신등의 기능을 들 수 있다, .

제 절 결론5

아날로그 이중모드 휴대전화기의 기능을 정의하고 주요 기능의 동작 원리를 기술하CDMA/

였으며 정의된 기능을 구현하기 위한 아날로그 이중모드 전화기의 하드웨어 소프트CDMA/ ,

웨어의 구조를 기술하였다 여기서는 각 블록의 상세한 기능 및 사양 그리고. , subsystem

및 블록간의 연결신호에 대한 상세한 정보는 기술하지 않고 장에서 장까지의 내용에서4 8

다룰 예정이다 아울러 들이 수행하는 기능에 대한 알고리즘 시뮬레이션에 대. CDMA ASIC

한 내용도 각 해당 을 다루는 장에서 언급하였으며 특히ASIC , 80C186EA microprocessor

의 과 이를 포함한 동작 시뮬레이션에 대해서는 제 장에서 기술VHDL software modeling 5

하였다.

Page 60: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 60 -

참 고 문 헌

[Pick82] Raymond L. Pickholtz, Donanld L. Schilling and Laulence B. Milstein,

"Theory of Spread-Spectrum Communications - A Tutorial," IEEE Trans.Commun.,

vol. COM-30, no.5, pp.855-884, May 1982.

[EIA93a] EIA/TIA IS-95 : Mobile station·Base station compatibility standard for

dual-mode wideband spread spectrum cellular system.

[EIA93b] BIA/TIA IS-98 : Recommended minimum performance standards for

dual-mode wideband spread spectrum cellular mobile stations.

[Qual90] Qualcomm, Dual-mode mobile terminal high-level overview, Oct. 1990.

Page 61: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 61 -

제 장 개발4 Vocoder DSP

Page 62: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 62 -

제 장 개발4 Vocoder DSP

제 절 서 론1

보코더는 음성을 디지털 신호로 변환하여 전송할 때 소요되는 데이터양을 줄이기 위하여 음

성신호의 정보를 압축시키는 이다 보코더는 무선으로 정보가 전송되어 전송에 필요ASIC .

한 밴드 폭을 최소화할 필요가 있는 이동통신에 대단히 중요한 소자로 등장하고 있다 현재.

국내 디지털 이동통신은 방식을 채택하였는데 이 방식에서는 라는 보코더CDMA , QCELP

알고리즘을 표준으로 선택하고 있다.

를 으로 구현하는 방법으로 프로그램이 가능한 고속QCELP ASIC DSP(Digital Signal

를 개발하고 이 의 언어로 를 구현하는 방법을 선택하였Processor) , DSP Assembly QCELP

다 즉 본 과제는 를 구현하기에 적합한 설계하고 를 구현. , QCELP DSP Hardware , QCELP

하는 를 의 언어로 개발하는 것이다 이 보고서의 절에서는Software DSP Assembly . 2 Digital

의 설계에 대해서 기술하였고 절에서는 의 구현에 대해서 간략Signal Processor , 3 QCELP

하게 설명하였다 마지막으로 절에서는 연구 결과를 요약 하였으며 앞으로 수행되어야할. 4

일을 기술하였다.

제 절 하드웨어 설계2 DSP

개요1.

보코더 는 아래 그림 과 같이DSP ( 4-1) Program Control Unit, Arithmetic Control Unit,

등 크게 가지로 분류된다Addressing Control Unit, I/O Control Unit 4 .

Page 63: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 63 -

은 보코더의 프로그램이 있고Program Control Unit Program Counter PC, Stack pointer

인 의 시작번지를 가리키는 끝 번지를 가리키는SP, Circular Addressing RS, RE, Repeat

횟수를 저장하는 등으로 이루어져 있다COUNT .

는 로 데이터를 하기 위하여 메모리뱅크가 로Addressing Control Unit Parallel Fetch X, Y

나누어져 있어서 하기 위해 뱅크와 뱅크로 나누어Addressing X addressing Y addressing

져 있다 각 은 과 두개씩의 어드레스 레지스터를 가지고 있고. Addressing Unit 0 1,

어드레싱 어드레싱 어드레싱 인지에 따라 어드레스를 계산하Immediate , Direct , Indirect

는 와 사용자 메모리 등으로 구성되어 있다AU(Adressing Unit) .

는 외부와의 인터페이스를 담당하는 블록으로 과의 를 수I/O Control Unit codec Serial I/O

행하는 와 와 데이터를 주고받는 외부인터럽트 신호를 가리키는SIO CPU Parallel PIO,

의 를 위한 이들을 제어하기 위한Interrupt, Emulator Interrupt Emu-int, I/O Control Logic

등으로 구성되어 있다.

는 연산처리를 담당하는 블록으로 두개의 와Arithmetic Control Unit R0, R1, Accumulator

인 등의 레지스터와 등으로General register Rx2, Ry2, Rx3, Ry3 ALU, Multiplier, Shifter

구성되어 있다 와 의 는 연산 시 처리를 위해 앞에. R0 R1 Accumulator Mac Overflow 4bit

가 추가되어 있다.

Page 64: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 64 -

그림 블록도( 4-1) Vocoder DSP

가.Instruction Set

의 는 다음과 같은 명령어 그룹별로 분류할 수 있다Vocoder DSP Assembler .

- LD, ST, RMOV Type Instruction

- Logic Type Instruction

Page 65: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 65 -

- Arithmetic Type Instruction

- Branch/Call Type Instruction

- Special Type Instruction

- Parallel Type Instruction

- LD, ST, RMOV Type Instruction

명령은 에 데이터를 직접 넣을 수 있는 와 메모리번지를 지정하여LD Register immediate

데이터를 가지고 올 수 있는 가 가리키는 번지에서Direct, Address Register Index

의 값을 이용하여 데이터를 가지고 오는 을 제공한다 명Register Indirect Addressing . ST

령은 와 명령만이 제공된다 명령은 만을 제공한다Direct Indirect . RMOV Register Type .

연산을 제외하고는 뱅크에서 로 뱅크에서 로 데이터의Double X Y Y X Load, Store, Rmov

가 가능하다.

- Logic Type Instruction

명령에서 는 을 제공하고 와Logic Type AND, OR, XOR Register type, Immediate type , X

모두를 연산하기 위한 연산도 제공한다 이 명령어들은Y Register Double . Arithmetic

명령어들과 비슷하나 다른 점은 연산 후에 의 만 세Type Program Status Word Zero flag

트되고 다른 비트들은 영향을 받지 않는 것이 연산과 다른 점이다Arithmetic . SHIFTL,

는 그리고 는 만을 제공한다SHIFTR Immediate type, COMPL Register type .

- Arithmetic Type Instruction

명령은 와 이 제공되고 과 연- Arithmetic Type Register Immediate Type , Single Double

산을 할 수 있다 이 의 명령어들은. Type ADD, SUB, MULTIPLY, Unsigned MULTIPLY,

곱셈을 한 후 그 결과를 와 더하는 연산 덧셈 시 를 함께 더하는Accumulator MAC , carry

뺄셈 시 를 함께 빼는 등이 있다ADDC, Borrow SUBB .

Page 66: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 66 -

- Special Type Instruction

명령은 아무 것도 수행하지 않는 가 발생하기 전까지 블Special Type NOP, Interrupt I/O

록을 제외한 모든 블록의 동작을 멈추는 의 를 위한IDLE, Emulator Interrupt Emul-ret.

등과 같은 과 및 등의 제어를 위한lack Zero Operand Type Stack Subroutine Push, Pop,

등과 같은 의 명령들과 반복 수행을 위한Round, Retsub, Retint 1 Opernad Type Repeat

명령이 있는데 명령은 과 을 제공한다Repeat Register Type Immediate Type .

- Parallel type Instruction

명령은 연산을 수행함과 동시에 혹은 연산Parallel Type Arithmetic Load, Store, Rmov

을 수행한다 연산 중 나 명령들은 밖에 제. Parallel Load Store Indirect Addressing mode

공하지 않으며 뱅크의 스위칭이 허용되지 않는다 즉 뱅크의X, Y . X Addressing register

를 사용하여 하거나 하는 경우 를 통해서만 가능하다 이 명령어들은Load Store X Register

연산뿐만 아니라 연산도 가능하다Single Double

나 구조. Pipe Line

는 효율적인 연산을 위해서 기본적으로는 단 구조를 그리고 특수Vocoder DSP 3 Pipe Line

명령어인 경우 단 구조를 선택하였다 대부분의 명령어는 수행시간이 한 사이4 Pipe Line .

클 이므로 단 구조를 그대로 유지한다 그러나 등의 특수한 명령어인 경우 수3 . MPY, MAC

행시간이 두 사이클이므로 단 구조로 전환된다4 .

Page 67: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 67 -

단 구조에서 단구조로 변화되는 시점에서는 하드웨어의 구조를 간단히 하고 수행시간을3 4

절약하기 위해 어셈블러가 명령어를 채움으로서 구조를 유지한다NOP Pipe Line .

그림 는 의 구조를 나타낸 것이다( 4-2) Vocoder DSP Pipe Line .

그림 의 구조( 4-2) Vocoder DSP Pipe Line

블록 설계2. ROM

이 블록은 으로부터 명령어를 가져다가 다른 기능블록에 제공하는 역할을 한다 다음ROM .

명령어의 주소를 가지고 있는 와 에서 읽어 들인 명령어ROM Program Counter(PC) ROM

를 저장하는 의 내용을 조정하는 것이 이 블록의 주된 기능이다Instruction Register(IR) .

Page 68: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 68 -

이외에도 의 내용을 임의로 조정할 수 있는 명령어인Program Counter Branch, Call,

그리고 반복명령어인RTS(Return From Subroutine), RTI(Return From Interrupt),

와 발생에 따른 처리도 이 블록에서 처리된다 블록의 기능을 개략Repeat Interrupt . ROM

적으로 표현하면 아래 그림과 같이 표현할 수 있는데 이 그림에서 은 에 다음, PC Unit ROM

에 필요한 명령어의 주소를 공급하는 역할을 하며 은 이 주소에 저장된 명령어를, IR-Unit

으로부터 받아서 저장하는 역할을 한다 에 저장된 내용은 다음 주기에 수행할 명령ROM . IR

어인데 이중 의 내용을 바꾸는 등의 명령은 에서 처리가, PC Branch, Call Branch, Call Unit

되고 명령은 에서 처리되며 다른 명령어들의 처리를 위하여Repeat Repeat Control Unit

의 내용은 다른 기능 블록들로 전파된다IR .

이 블록은 을 판단하기 위해 와 명령어를Branch/Call Program Status Word(PSW) Repeat

위해 내용을 다른 블록 블록 으로부터 받아들이며 의 내용을 다른 블록들Register (ALU ) IR

에게 출력한다.

Page 69: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 69 -

그림 블록의 기능도( 4-3) ROM

가. PC Unit

이 은 에 주소를 제공하는 의 기능을 구현하도록 설계Unit Program ROM Program Counter

되어 있는데 는 와 의 기능을 가진 레지스터이다 의 내용은 다PC Up counter Flip Flop . PC

음과 같은 가지의 다른 방식으로 결정된다6 .

현재 내용에 을 더하여 결정되는 경우 아래 경우들을 제외한 모든 경우- 1 ( )

이나 의 경우 에 내장된- Return from Subroutine Return from Interrupt PC Unit

에서 다음 내용을 받는 경우Hardware Stack PC

나 의 경우와 같이 의 내용에서 직접 오는 경우- Branch Call IR

명령어 수행에 따라 첫 명령어 주소 로 되는 경우- Repeat Repeat Block (RS)

Page 70: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 70 -

한 명령어를 명령어로 수행할 때와 같이 내용을 고정시키는 경우- Repeat PC

와 같이 미리 결정된 주소로 되는 경우- Interrupt

위의 경우들을 구현하기 위해 와 제어신호 그리고 이나 의 경Mux Subroutine Call Interrupt

우 돌아올 주소를 저장하기 위한 단의 과 제어신호들로 구성되어 있다 즉 이 블록8 Stack . ,

으로 다음 내용이 될 수 있는 와 제어 신호가 입력으로 들어오며 의 내용이 출PC data , PC

력으로 에 가해지게 된다ROM .

나 및. ROM IR-Unit

이 블록은 내용을 주소로 하여 으로부터 다음에 수행할 명령어를 가져다가PC ROM ROM

에 저장하는 기능을 한다 현재 사용하는 에서는 을Instruction Register . Cell Library ROM

하는데 필요한 시간이 한 을 초과하여 전체 수행 시간에 나쁜 영향을 주기 때Access Cycle

문에 의 홀수 번지와 짝수 번지를 분리하여 한 쪽이 되고 있을 때 다른 쪽을, ROM Access

하도록 설계하여 하는 시간을 줄였다 이 경우 와 개Precharge Access . Delayed Branch 3

이상의 홀수 명령어를 수행하는 경우에만 의 지연이 발생한다 이 블록에 들어오는1 Cycle .

입력은 의 주소인 내용과 등의 제어신호이고 출력은 내용과 을ROM PC Reset IR IR Decode

하여 생성한 신호들이 있는데 이들 신호는, Call, Branch, Return From Subroutine,

등의 명령어인지를 판별하는 신호들과 이러한 명령어를 수행하는데 필요한Repeat

들이다Immediate Data .

다. Branch Unit

이 은 명령어들을 처리하는데 사용되는데Unit Branch, Call, Repeat, Return ,Instruction

중에서 에 해당되는 기능으로 분류Fetch. Decode, Execute1, Execute2 Pipeline , Decode

할 수 있다.

Page 71: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 71 -

즉 이러한 의 들은Control Type Instruction Instruction

로 연결되도록 설계되어야 하므로 서로 다른Fetch-Decode-Execute1-Instruction Fetch

을 연결시켜주는 들이 많이 필요하다 이 의 앞단은 로부터의pipeline Latch(Pipe) . Unit IR

신호를 저장하는 들로 구성되어 있는데 이 들은 의 출력을 하여 다음Latch , Latch IR Latch

인 로 연결시켜 주는 역할을 한다 명령어의 구현은Pipeline Decode Stage . Branch

을 이용하여 시간을 지연하여 을 맞추는 데 이 에서 사용한 지연방식은Pipeline Timing , Unit

앞단의 를 이용하여 을 연기하고 된 결과를 의 마지막 부latch Decoding , Decoding Execute

분과 연결하기 위하여 또 한 의 를 사용하였다 여기에서 뒷단의 는Set Latch . Latch

된 신호를 의 결과로 사용할 수 있는 시간을 연장하는 역할을 한다Decoding Execute .

즉 이 은 앞단의 지연용 뒷단은 그리고 마지막 단의, Unit Decode Latch, Decoding Unit, ,

지연용 들로 구성되어 있다 이것을 그림으로 표현하면 아래와 같다Execute Latch . .

그림( 4-4) Branch Unit

Page 72: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 72 -

이 의 입력은 이 된 제어신호와 가 들어오며 출Unit IR Decode Program Status Word(PSW) ,

력으로는 의 다음 번지를 결정하는데 필요한 제어신호와 의 다음 번지수로 사용될 수PC PC

있는 가 출력된다Data .

라 Repeat Control Unit

이 블록은 명령어를 구현하기 위해서 설계되었다 이 블록은 제어를 담당하는 부분Repeat .

과 와 의 제어를 담당하는 부분 그리고 명령어의 시작번지를 저장Counter Counter Repeat

하고 제어하는 부분 명령어의 마지막 번지를 저장하고 제어하는 부분으로RS , Repeat RE

구성되어 있다 이 블록은 명령어에 의해 동작이 시작되면 레지스터의 내. Repeat Counter

용이 이 될 때까지 계속 의 다음 번지 수 결정에 관여를 한다 즉 의 내용이1 PC . Counter 1

보다 큰 경우 의 값이 명령어의 마지막 번지인 와 같으면 명령어의, PC Repeat RE , Repeat

첫 번째 번지인 가 의 다음 번지로 되고 는 만큼 감소된다 이와 같은 동작RS PC , Counter 1 .

은 의 내용이 이 될 때까지 계속되므로 와 레지스터로 지정된 명령어들은Counter 1 RS RE

에 지정된 횟수만큼 반복 수행된다 이 블록의 입력으로 를 결정Counter . Counter, RE, RS

하는데 필요한 신호와 의 내용이 들어오고 출력으로는 의 다음 번지수를 결정하는PC , PC

제어신호와 가 나간다Data .

블록 설계3. RAM

블록은 부분 부분 부분으로 구성되어 있으며RAM address decoder , register , RAM/ROM ,

전체 면적의 을 차지하고 있다 부분은DSP chip 5/16 . address decoder

INST- 로부터 블록에 필요한 신호들을 만들어 내고BUS(instruction bus) RAM control ,

부분은 두 부분으로 이루어져 있으며 각 부분은RAM/ROM X, Y , X, Y 1K× l6 bit RAM

과 의 으로 구성되어있다 이러한 메모리 구조는 한번에 두개의 데1.5K× 16 bit ROM . X, Y

이터를 할 수 있으므로 에 유용하며 데이터를 동시에Access MAC operation , 32bit Access

하는 이 하나의 명령어로 가능하다Double operation .

Page 73: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 73 -

부분은 개의 레지스터 로 구성되어 있으며 이register 7 (AX0, AX1, SP,IX, AY0, AY1,IY) .

레지스터들은 데이터 레지스터로도 사용된다 데이터 레지스터들은 메모리 블록. X, Y X, Y

어느 쪽이라도 할 수 있으므로 를 통하여 를 공유할Access , Memory Access X, Y data bus

수 있다 명령어들은 과 메모리 이 동시에 수행. Parallel ALU operation Access operation

된다.

는 크게 가지 을 제공한다 전체적인DSP 3 (Immediate, Direct, Indirect) addressing mode .

메모리 블록의 구성을 그림 에 나타내었다( 4-5) .

가.Immediate Addressing Mode

에서 는 에서 제공받는다 이 는Immediate Addressing Mode operand Instruction . Mode

를 으로부터 바로 받을 수 있으므로 들의 초기화에 유용16bit operand Instruction register

하다.

나. Direct Addressing Mode

는 에서 직접 메모리 번지를 제공받는다 이 모드는 변Direct Addressing Mode Instruction .

수의 초기화 및 인덱스 변수 사용에 유용하며 의, Memory Maped Register read and

에 사용한다write .

다.Indirect Addressing Mode

는 을 메모리 번지의 로 사용한다 사용Indirect Addressing Mode address register pointer .

예는 다음과 같다.

Page 74: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 74 -

는 혹은 가 지적하는 번지의 데이터 를 의미한다* “register( Direct) ” .

의 는Address register update no update[*(abn)], post increment[*(abn+)], post

decrement[*(abn - )], post index increment[*(abn + ib)], post index decrement[

등 가지 방법을 제공한다*(abn - ib)] 5 .

은 을 로 사용하여 이루어지며PUSH, POP SP register stack point register 32bit double

이다 의 같은 번지를 로Access (X. Y Memory 32bit double Access).

그림 에서 는 는 를 나타내고 는( 4-5) DBX DBY data bus, ABX ABY address bus , IBX IBY

블록의 내부 이다 들이 와 할 경우 이 내부 를 경RAM bus . Register data bus interface bus

유하도록 되어있다 블록에 필요한 신호들은 에서 만들어진Buffering . RAM ROM Block

24bit INST- 로부터 블록 자체에서 만들어 사용함으로써BUS(instruction bus) BAM ,

에 대한 블록의 독립성을 갖고 있다 이러한 독립성은 과Control signal RAM . layout post

을 용이하게 하며 의 면적과 동작 속 도면에서도 강점이 있다simulation , Chip . IDR

는 에서 을 하여 입력으register instruction bus instruction latch Control signal decoding

로 사용하고 의 번지와 의, direct addressing mode memory immediate addressing mode

을 하는 기능을 수행한다 는 개이며data load . Address register ax0, ax1, ay0, ay1 4 , ax0

은 를 은 를 한다 는 의ax1 X memory ay0 ay1 Y memory addressing . Ix, Iy X, Y index

이며 는 이다 는 의 시작register , sp stack point register . CBC, CEC Circular addressing

과 끝 번지를 갖고 있는 로 쪽과 쪽에 각각 한 쌍으로 구성된다register X Y .

라. Circular Addressing Mode

는 연속적인 메모리 에서 의 값과Circular Addressing Mode Access address register

의 시작번지 와 의 끝 번지 를 각각 비Circular Addressing (CBC) Circular Addressing (CEC)

교하여 의 값이 영역 내에서 동작을 하도록, address register Circular Address Circular

한다.

Page 75: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 75 -

즉 의 값이 의 시작번지와 같은 값에서, address register Circular Addressing post

가 올 경우 의 값을 끝 번지로 채우며 의 값decrement address register , address register

이 끝 번지와 같은 값에서 가 올 경우 의 값을 시작 번지post increment address register

로 채 운다 는 메모리에 모두 사용할 수 있으며. Circular Addressing Mode X, Y , Circular

의 선언과 해제는 의 번 비트를Addressing Mode PSW(process status word) 7, 8 set,

함으로 이루어진다reset (“psw=4”: x Circular set, “psw=8”: y Circula set, “psw=hC”:

x, y Circular set, “psw=O” Circular addressing mode reset).

의 시작과 끝번지의 지정은 방법을 사용하Circular Addressing Mode Direct Addressing

며 그 번지는 아래 표와 같다, .

시작 번지 끝 번지 psw[6,7]

X memory mx[3080] mx[3081] [1,x]

Y memory mx[3082] mx[3083 [x,1]

Page 76: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 76 -

그림( 4-5) RAM block Diagram

Page 77: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 77 -

블록 설계4. ALU

그림 블록도( 4-6) ALU

은 중 데이터 레지스터와 그 값을 이용하여 수 연산이나 논리연산을 하는ALU Block DSP

블록이며 그림 에 구조를 나타내었다 구성을 살펴보면 순수 피 연산 데이터를 보관하( 4-6) .

는 레지스터가 와 에 각각 두 쌍씩 비트로 구성되어 있으며 피 연산 데이터 레지스터X Y 16 ,

의 기능과 연산결과를 저장하는 어큐뮬레이터 기능을 함께 수행하는 데이터 레지스터가 각

각 두 쌍씩 구성되어 있고 이 어큐뮬레이터는 연산결과의 범위를 확장하기 위해 상위 측X

은 비트로 하위 측은 비트로 구성되어 있다20 Y 16 .

Page 78: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 78 -

그리고 곱셈연산을 하기 위한 와 쉬프트 기능을 수행하는 산술연산이나Multiplier Shiner,

논리연산을 수행하는 가 있다 각 부분별 기능은 다음과 같다ALU . .

가 블록 버스. ALU

비트 데이터 버스이며 명령어를 수행할 경우에만1) RBH, RBL : 16 Load, Store, Rmov

이용된다.

산술연산이나 논리연산을 수행할 때 연산자를 나2) AB1H, AB1L, AB2H, AB2L : ALU

또는 로 이동시키기 위한 버스이다 나 등과 같은 비트 데이Multiplier Shifter . ADD SUB 16

터의 연산일 경우에는 레지스터측 데이터는 에 레지스터측 데이터는ALU X AB1H Y

가 이용된다 나 등과 같은 비트 데이터의 연산일 경우에는 한AB2L . DADD DSUB 32 ALU

쌍의 레지스터 데이터는 에 나머지 한 쌍의 레지스터 데이터는XY AB1H, AB1L XY AB2H,

가 이용된다AB2L .

나 데이터 레지스터

비트 레지스터이며 연산 결과가 직접 입력될 수 없고 그 외1) RX2, RX3, RY2, RY3 : 16

의 모든 데이터 레지스터의 기능을 수행한다 어큐뮬레이터 블록의 레지스터와는. , RAM

명령어를 통해서 서로 이동할 수 있으며 이 때에는 비트와 비트가 모두 지원된RMOV 16 32

다 데이터메모리와는 와 명령어로서 데이터를 주고받는다. LOAD STORE .

Page 79: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 79 -

측은 비트 측은 비트 레지스터이며 주로 연산결과를 저2) RX0, RX1, RY0, RY1 : X 20 Y 16

장하는 어큐뮬레이터로 쓰이며 다른 기능은 순수 데이터 레지스터와 동일하게 수행될 수 있

다.

다. Multiplier

보코더용 에서는 비트 를 사용하였으며 이를 이용하여 와DSP 18 Signed Multiplier Signed

곱셈을 수행할 수 있다 비트 데이터를 곱셈할 경우 좌로 비트 쉬프Unsigned . 16 Signed 2

트하여 곱셈한 다음 결과의 상위 비트만을 취하고 곱셈할 경우 쉬프트하지 않32 Unsigned

고 곱셈한 다음 결과의 하위 비트만을 곱셈결과로 취한다32 .

라. Multiply Shifter

명령어를 수행할 때 좌 또는 우로 비트 쉬프트 하는 기능을 한다MAC 2 .

마.ALU

산술연산이나 논리연산을 수행하는 기능을 하며 비트 입 출력을 갖는다36 , .

바.Shifter

어큐뮬레이터 값을 좌 또는 우로 쉬프트하며 비트 이내의 모든 비트만큼 쉬프트 할 수35

있다.

사. Sign Extension

Page 80: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 80 -

연산 명령어의 경우 비트 데이터 비트 데이터 혹은 비트 이미디어트 데이터를16 , 32 11 36

비트의 입력으로 확장시키며 데이터 이동 명령어의 경우ALU , (LOAD, STORE, RMOV)

그 목적지가 어큐뮬레이터인 경우 이를 확장한다 이 경우 어큐뮬레이터에 비트가 들. Y 16

어오면 전체 비트로 확장되어 저장되며 어큐뮬레이터에 비트가 들어오면 비트로36 , X 16 20

확장되어 어큐뮬레이터만 저장되고 비트 데이터가 들어오면 비트로 확장되어 저X 32 XY 36

장되며 비트 어큐뮬레이터 데이터가 들어오면 그대로 저장된다36 .

아 상태 레지스터.

연산결과를 나타내는 레지스터로서 그 구성은 그림 과 같다( 4-7) .

1) C : ALU Carry Output

2) Z : ALU Zero Output

3) S : ALU Sign Output

모든 연산4) V·: ALU Overflow Output, ALU

수행 시 곱셈결과 우로 비트 쉬프트5) Shfr : MAC 2

수행 시 곱셈결과 좌로 비트 쉬프트6) Shfl : MAC 2

측 어드레싱7) Cir X : X Circular

측 어드레싱8) Cir Y : Y Circular

그림 상태 레지스터의 구성( 4-7)

Page 81: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 81 -

블록 설계5. I/O

블록은 시리얼 포트 페러렐 포트 인터럽트 외부 어드레싱 등 에 관한 동작을I/O , , , IN, OUT

제어하는 블록으로서 그 구조를 그림 에 나타내었다 각 세부블록의 기능과 타이밍을( 4-8) .

나타내면 다음과 같다.

그림 블록도( 4-8) I/O

Page 82: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 82 -

가 시리얼 포트.

시리얼 포트는 외부에 있는 다른 디바이스와 한 개의 라인을 통하여 순차적으로IN, OUT

데이터를 교환하는 기능을 수행한다 각각은 카운터 쉬프트 레지스터와 비트 레지스터로. , 16

구성되며 비트와 비트 두 개의 전송 모드를 지원한다 시리얼 입력 시 외부 싱크가 발8 16 .

생하면 전송 모드에 따라 시리얼 입력 클릭에 맞추어 데이터를 쉬프트 레지스터가 받아들이

고 카운터가 영이 되어 모두 받아들였을 경우에는 데이터를 로 이동시킨 후 내부에 시SIR

리얼 입력 인터럽트를 발생시킨다 시리얼 출력 시 외부 싱크가 발생하면 데이터를 에. SOR

서 쉬프트 레지스터로 이동시켜 이를 시리얼 출력 클릭에 맞추어 내보내고 카운터가 영이

되어 데이터를 모두 내보냈을 경우에는 내부에 시리얼 출력 인터럽트를 발생시킨다 상세한.

시간도를 그림 에 나타내었다( 4-9 ) .

그림 시리얼 입력 시간도( 4-9)

Page 83: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 83 -

그림 시리얼 출력 시간도( 4-10)

나 페러렐 포트.

페러렐 포트는 외부에 있는 다른 디바이스와 열여섯 개의 라인을 통하여 일시에IN, OUT

데이터를 교환하는 기능을 수행한다 페러렐 입력 시 외부 디바이스에서 싱크가 발생되면.

페러렐 버스에 실려 있는 데이터를 페러렐 입력 레지스터 로 입력시킨 후 내부에 페러(PIR)

렐 입력 인터럽트를 발생시킨다 페러렐 출력 시 외부 디바이스에서 싱크가 발생되면 페러.

렐 출력 레지스터 에 있는 데이터를 페러렐 버스에 내보내고 내부에 페러렐 입력 인터(POR)

럽트를 발생시킨다 상세한 시간도를 그림 에 나타내었다. ( 4-11) .

그림 페러렐 입력 시간도( 4-11)

Page 84: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 84 -

그림 페러렐 출력 시간도( 4-12)

다 인터럽트.

는 시리얼 입력 인터럽트 시리얼 출력 인터럽트 페러렐 입력 인터럽트 페VOCODER DSP , , ,

러렐 출력 인터럽트 외부 인터럽트 그리고 에뮬레이터 인터럽트를 제공한다 인터럽트 블, .

록은 인터럽트 마스크 레지스터 인터럽트 스테이터스 레지스터 와 그 외의 제(IMR ), (ISR )

어블록으로 구성되어 있다 에뮬레이터 인터럽트외의 모든 인터럽트는 발생 시 프로그램 메.

모리 일번지로 할당되어 인터럽트 프로그램을 수행한다 에뮬레이터 인터럽트는 하드웨어.

에뮬레이션을 위해 제공하며 발생시 프로그램 메모리 이 번지로 할당되어 인터럽트 프로그

램을 수행한다 인터럽트 마스크 레지스터 는 주 프로그램에서 인터럽트 발생을 억제. (IMR )

시킬 필요성이 있을 때 사용하며 해당 비트를 일로하면 그에 해당되는 인터럽트 발생이 억

제되고 그 비트가 영이 되었을 때 수행된다 각 비트들의 구성은 그림 과 같다. ( 4-13) .

그림 구성도( 4-l3) IMR

Page 85: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 85 -

인터럽트 스테이터스 레지스터 는 현재 발생되고 사용되지 않은 인터럽트의 상태를 나(ISR)

타내고 인터럽트 프로그램에서 읽거나 쓰면 영으로 된다 각 비트들의 구성은 그림 과. ( 4-14)

같다.

그림 구성도( 4-14) ISR

에뮬레이터 인터럽트는 우선순위가 최상이므로 주 프로그램이나 인터럽트 프로그램 수행 시

에도 이를 발생시킬 수 있으나 일반 인터럽트는 에뮬레이터 인터럽트 수행 시 발생이 억제

된다.

제 절 구현3 QCELP

개요1.

보코더의 은 음성이 로 되어 보코더의 입력으CELP Encoding 8000 samples/sec sampling

로 들어가면 에 해당하는 을 하나의 으로 하여 단위로 음20 msec 160 sample frame frame

성을 을 하게 된다 즉 보코더에서는 한 의 음성신호를 받아 들여 음encoding . CELP frame

성의 포만트 성분을 나타내는 개의 계수를 구한 후 양자화 오차에 강한 주파10 LPC LSP

수로 변환한다 다음으로 최적의 피치 파라미터와 코드북 파라미터를 구하기 위하여 피치.

검색과 코드북 검색 과정을 거치케 된다 피치 검색 과정은 음질의 저하를 막기 위하여.

의 음성신호에 대하여 한번씩 수행한다5msec .

Page 86: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 86 -

그러므로 한 에 번의 피치 검색과정을 거치게 된다 일 때 마지막으로 음성의frame 4 .(rate 1 )

포만트 성분과 피치 성분을 걸러내고 남은 나머지 잔류 신호에 대한 정보를 코드북에서 찾

게 되는데 이때도 코드북으로부터 합성된 합성 음성과 입력 음성을 비교하는 방법으로 비교

오차가 최소가 되는 코드북 인덱스와 이득을 찾게 된다 이렇게 하여 의. 160 sample(20ms)

음성 신호에서 구한 주파수 피치 지연 피치 이득 코드북 인덱스 코드북 이LSP , (L), (b), (I),

득 을 하여 의 데이터로 만들면 전송할 음성의 이 전부 끝나게(G) packing 160bit Encoding

된다 되는 출력은 에 따라 다른데 일 때는 일 때. Encoding rate , rate 1 9600bps, rate 1/2

는 일 때는 일 때는 의 속도로 전송하게 된4800bps, rate 1/4 2400bps, late 1/8 1200bps

다 그리고 된 출력은 하나의 으로 되어 전송되게 되는데. encoding Packet packing packing

되는 는 아래의 표 와 같다 일 때는 의 에 의data ( 4-1) . Rate 1 160 bit data 11 bit parity bit

가 추가되어 의 데이터가 만들어진다171bit .

블록에서는 전송되어온 을 하여 주파수 및Decoder packet unpacking LSP , Pitch lag, gain

을 추출한 후 양자화 되어 있는 를 하여 주파수를codebook index, gain LSP decoding LSP

얻는다 그런 후 와 을 이용하여 피치 잔류 신호를 만든 후 피치 지연. codebook index gain

과 이득을 이용하여 포만트 잔류 신호를 구한다 마지막으로 주파수를 에 맞. LSP subframe

게 한 후 계수로 바꾸어 포만트 성분을 합성하게 된다 최종적인 음성 출interpolation LPC .

력은 합성된 합성 음성을 과 필터를 거쳐 합성음이 인gain control perceptual weighting

간의 귀에 좀더 자연음에 가깝게 들리도록 처리된다.

Page 87: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 87 -

표( 4-1) Encoding format

rate Isp pitch(gain/lag) codebook(index/gain) total

1 10bit 개7bit/3bit(subframe 4 ) 개7bit/3bit(subframe 8 ) 17bit

1/2 10bit 개7bit/3bit(subframe 2 ) 개7bit/3bit(subframe 4 ) 80bit

1/4 10bit 개7bit/3bit(subframe 1 ) 개7bit/3bit(subframe 2 ) 40bit

1/8 10bit x 4bit/2bit(seed/gain) 16bit

2. Encode

에서의 은 다음과 같은 기능을 가지고 있다QCELP encoding

개의 계수를 구한다- LPC analysis·: 10 LPC .

계수를 주파수로 변환한다- LPC to LSP LPC LSP .

에너지를 계산하여 를 결정한다- Rate decision Frame rate .

주파수를 전송하기 위해 로 양자화 한다- LSP quantization, LSP 4bit .

과정 중에서 합성음성을 만들기 위해 양자화 된- LSP unquantization : Encoding LSP

주파수를 다시 주파수로 바꾼다LSP .

및 검색시각 에 적당하게 주파수를- LSP interpolation : Pitch Codebook subframe ·LSP

한다interpolation .

된 주파수를 합성음성을 만드는데 사용하기 위해- LSP to LPC : Interpolation LSP LPC

계수로 변환한다.

및 을 구한다- Pitch Search : Pitch lag Pitch gain .

및 을 구한다- Codebook Search : Codebook index gain .

위에서 구한 과 와 을 전송하- Data packing : LSP, Pitch gain Lag, codebook index gain

기위해 일정한 형태로 한다packing .

Page 88: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 88 -

가. LPC analysis

합성필터의 개의 계수를 구하는 과정으로서 입력 신호의 을 제거한Formant 10 DC offset

후 아래의 식에 의하여 값 을 구한다 값 을 사correlation R(k) . Correlation R(0), , R(9)…

용하여 방법에 의하여 계수Levinson-Durbin recursion LPC(Linear Predictive Coding)

를 구하게 된다.

나. LPC to LSP

에서 얻어진 값은 그대로 사용되지 않고 과 전송 에러에 강LPC analysis LPC interpolation

한 특성을 갖는 주파수로 변환하게 된다 입력은 개의 값LSP(Line Spectral Pair) . 10 LPC

이고 출력은 개의 값이다 개의 값은 다음과 같은 개의 차 방정식으로부터, 10 LSP 10 LSP 2 5

얻어진다.

여기서 는 주파수이다w LSP .

다. Rate decision

Page 89: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 89 -

방식에서는 가지의 를 사용하고 있으며 이러한 를 갖기QCELP 4 variable rate variable rate

위해서는 입력되는 음성신호의 크기에 따라 를 변화 시켜주어야 한다 이를 위하여Rate .

값으로 개를 정하고 입력되는 신호의 값threshold T1(Bi), T2(Bi), T3(Bi) 3 , correlation

와 비교하여 를 정하게 된다Ri(0) Rate .

라. LSP Quantization

여기서는 계수로부터 얻어진 주파수 값을 부호화하는 것으로서 방식을 사LPC LSP DPCM

용하여 이전 의 주파수와 현재 의 주파수와의 차이만을 로frame LSP frame LSP 16 level

양자화 함으로서 의 데이터를 출력한다4bit .

마. LSP Unquantization

양자화된 주파수들은 전송되어 에서 되어 음성을 출력하는데도 사용LSP decoder decoding

되지만 내에서도 와 를 위한 합성음성을 만드는데도, encoder pitch search codebook search

사용된다 그러므로 에서도 주파수들을 하는 과정이 필요하게 된다. encoder LSP decoding .

바. LSP lowpass filtering

주파수는 와 를 위한 별로 을 하LSP Pitch search Codebook search subframe interpolation

기 전에 주파수의 급격한 변화를 막아주기 위하여 을 거치게 된다LSP low pass filtering .

은 의 경우를 제외한 모든 경우에 다음의 식에 의해 적용되어진Low pass filtering rate 1

다.

Page 90: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 90 -

여기서 는 현재 의 한 주파수 이고 는 이전Wlpf(c) frame low pass filtering LSP , Wlpf(p)

의 한 주파수이며 는 현재 의frame low pass filtering LSP Wi(c) frame low pass filtering

하지 않은 주파수이다 또한 값은 아래와 같다LSP . SM .

위에서 는 또는 이 연속해서 들어오는 횟수를 나타내며 중간에counter rate 1/4 1/8 , rate 1

이나 이 들어오는 경우는 으로 된다rate 1/8 0 reset .

사. LSP interpolation

주파수는 한 중에서 번째 을 중심으로 구한 값LSP frame(160 sample) 140 sample LPC

을 변환한 것이므로 와 에서 별로 합성음성을 합성pitch search codebook search subframe

할 때는 각 의 중심에 맞는 주파수 값이 필요하게 되므로 그에 따른subframe LSP

을 수행하게 된다interpolation .

Page 91: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 91 -

표( 4-2) Interpolation rate

여기서 는 된 주파수이고 는 이전 의 주파수 이며Wi interpolate LSP , wi(p) frame LSP

는 현재 의 주파수이다wi(c) frame LSP .

아. LSP to LPC

와 검색 시 해당되는 에 맞도록 주파수를 한 후Pitch codebook subframe LSP interpolation

에 주파수는 합성음성을 합성할 때 아래의 식에 의해 필요로 하는 계수로 재 변LSP LPC

환 되게 된다.

Page 92: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 92 -

자. Pitch Search

에서는 입력음성과 합성음성의 차이가 최소가 되는 과 를Pitch search pitch gain pitch lag

구하는 과정이다 일반적으로 은 사이에 분포하며 은. pitch gain 17~143 , pitch gain 0~2.0

사이의 값을 갖게 된다 여기서 구해진 은 로 은 로 양자화되. pitch gain 7bit , pitch gain 3bit

게 된다 과정은 아래의 그림 의 블록도와 같다 블록도에서 보면 입력. Pitch search ( 4-1) .

음성신호에서 포만트 합성 필터의 를 뺀 신호를 이라 하고ZIR(Zero input response) e(n) ,

이 필터를 거친 신호를 이라하자 여기서 는e(n) perceptual weighting x(n) . e(n), W(z), A(z)

다음의 식과 같다.

한편 합성음성 은 현재 의 입력 음성의 포만트 잔여 신호 및 이전 의 피YL(n) frame frame

치 필터 출력을 가중 필터 을 통과 시켜 얻게 된다H(z) .

여기서 은H(z)

H ( z ) = (1A ( z )

)W ( z ) =1

A ( z/a ) 여기서 a= 0.8

위에서 은 의 이다h(n) H(z) impulse response .

위와 같이 음성신호 과 합성음성 을 구한 후 두 신호의 차에 대한 제곱오차를 다x(n) YL(n)

음과 같은 식에 의해 구하게 된다 그런 후 이 제곱오차가 최소가 되는 피치 지연과 피치.

이득을 구하면 피치 검색과정을 마치게 된다.

Page 93: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 93 -

그림 블록도( 4-15) Pitch Search

차. Codebook search

에서는 와 를 구하는 과정으로서Codebook search codebook index I codebook gain G

과정과 비슷하게 최적의 와 를 구하기 위하여 으로부터 합성된pitch search I G codebook

합성음성과 입력음성과의 오차가 최소가 되는 와 값을 구하게 된다 여기서 사용되는I G .

은 개의 로 구성되어 있다codebook 128 code vector .

카. Data packing

Page 94: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 94 -

과정을 전부 끝낸 후 한 데이터를 전송하기 위하여 하나의 으로Encoding Encoding Packet

만드는 과정으로서 에 따라 표 과 같이 구성된다rate ( 4-1) .

단 의 경우에는 중요한 정보를 지니고 있는 데이터의 에러를 막기 위하여 의rate 1 11 bit

를 첨가하게 된다 를 발생하는 은 다음의 식과 같다parity bit . Parity polynomial .

3. Decode

의 처리 단계는 아래 그림 와 같이 페러렐 포트 를 통해Decoding ( 4-16) (Parallel) I/O (Port)

된 데이터를 받으면 각 에 따라 을 하여 복호기 의 계수들Packing Rate Unpacking (Vocoder)

을 수출한다 이때 추출되는 계수들은 코드북 인덱스 코드북 이득. (Codebook Index),

피치 레그 피치 이득 계수 값들이다 이들(Codebook gain), (Pitch Lag), (Pitch Gain), LSP .

중 코드북 인덱스와 코드북 이득은 코드북의 계수를 계산하여 이미 추출된 계수인 피치 레

그와 피치 이득과 함께 피치 필터 를 거치고 이를 계수 값들과 함께 포만트(Pitch filter) LSP

필터 와 적응 를 거쳐 이득 제어 를 하면 음성(Formant(LPC) Filter) Postfilter (Gain Control)

데이터가 출력된다.

Page 95: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 95 -

그림 수신 쪽 의 단계( 4-16) Vocoder Decoding

가 패킷. (Packet) Decoding

각 패킷의 과정은 에 따라 다르다Unpacking rate .

인 경우는 비트와 코드북 인덱스 이득 개 개의 피치 서브프레임- Rate 1 CRC , 8 , 4 (pitch

에 대한 피치 레그와 이득 그리고 계수 값subframe) , LSP

인 경우는 코드북 인덱스 이득 개 개의 피치 서브프레임에 대한 피치 레그- Rate 1/2 , 4 , 2

와 이득 그리고 계수 값 인 경우 코드북 인덱스 이득 개 개의 피치 서, LSP Rate 1/4 , 2 , 1

브프레임에 대한 피치 레그와 이득 그리고 계수 값, LSP

인 경우 그리고 계수 값- Rate 1/8 codebook seed, gain, LSP

이외의 불충분한 패킷을 전송받는 경우는 임의 의 코드북 인덱스를 구해서 코드북- (random)

벡터 를 구하고 오류가 발생된 패킷을 받는 경우에는 코드북 벡터를 으(codebook vector) 0

로 만들고 이전의 피치 값을 가지고 피치 필터의 출력을 만들어낸다.

Page 96: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 96 -

나 피치 필터.

코드북 데이터와 된 피치 레그와 이득을 이용하여 피치필터를 거친다 인Unpack . Rate 1/8

경우는 피치 이득이 인 경우로 이므로 은0 I/P(Z)=1 Pd(n) Codebook word sequence

가 된다 피치필터의 수식은Cd(n) .1P(z)

=1

(1-b*A -1) 이다.

은 피치 레그 는 피치 이득L , b

다 포만트 필터. (LPC)

된 계수 값을 하여 계수 값으로 만들어 이를 필터로Unpacking LSP Interpolate LPC LPC

이용한다 에서 피치와 코드북 검색를 위해 를 로 변환하는. (ENCODE Interpolated LSP LPC

과정과 동일 피치필터를 거친 출력을 입력으로 하여 출력 신호를 만들어 낸다) .

라 포스트 필터. (Post Filter)

의 출력은 음질의 개선을 위해서 인간 귀의 인지특성을 이용한Formant (LPC) Filter

를 거친다 즉 합성 음성의 주파수 특성을 변곡 시킴으로써 인Adaptive Perceptual Filter .

지도를 높이도록 하는 것이다 이것은 높은 쪽의 신호는 감쇄시키고 낮은 쪽의 신호는 증폭.

시켜주는 특성을 갖는다 이 필터는 가지 형태의 필터가 사용되는데 주파수 특성상의 기울. 3

기를 조정해 주는 Anti-tilt Filter B(z), Modified LPC analysis Filter A(z/p), Modified

로 이루어지고 수식은 다음과 같다LPC sysnthesis filter 1/A(z/s) .

Page 97: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 97 -

마 이득 조정. (Gain Control)

포스트 필터는 필터의 특성에 따라 이득이 다를 수가 있는데 이를 조정하는 역할을 한다.

이득의 조정은 와 관계없이 매 샘플 마다 이루어진다rate 40 (sample) .

SCALEtnit =E ∈E out

합성필터 출력yd(n) = LPC

Ein = ∑39

n= 0yd 2(n)

포스트 필터의 출력pf(n) =

Eout = ∑39

n = 0pf

2(n )

SCALEinit 현재( ) = 0.9375SCALEfin 과거( ) + 0.0625 SCALEinif 현재( )

Sd(n) = SCALEfin*pf(n) Sd 는 최종 음성 출력(n)

제 절 결론4

는 방식으로 설계 완료 되어 약 정도의 성능을 가지고 있는DSP Cell Based IC , 35 MIPS

것이 확인되었으며 이 에서 는 약 이내의 연산으로 실시간 구현이 가, DSP QCELP 25 MIPS

능하다는 것이 확인되었다이 는 현재 개발 중인 전화기와 기. Vocoder DSP CDMA CDMA

지국에 사용될 수 있도록 설계되어 있으며 를 내장한 는 년 상반QCELP Vocoder DSP 1994

기에 나올 예정이다 를 개발하면서 생성된 부수적인 결과물로는 의. Vocoder DSP , DSP

언어를 기계어로 변환시켜 주는 과 의 기능을 모사하여Assembly Assembler Program DSP

를 이용한 프로그램 개발을 도와주는 이 있다 이러한 프로그램들을DSP Emulator Program .

이용하여 에 내장될 프로그램을 개발할 수 있으므로 를 보코더 이외의 다른 용도DSP DSP

에 사용할 수 있다.

Page 98: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 98 -

이동 통신용 단말기는 배터리로 동작하기 때문에 적은 전력소비를 하는 부품이 바람직하다.

따라서 보코더 를 전원에서 동작하는 저 전력용 으로 개선하는 것이 많은DSP 3.3V ASIC

수요가 예상되는 단말기를 위해 바람직하다 또한 를 범용 으로 활용하기 위하여. , DSP ASIC

를 통합한 환경을 가진 와 개발 장비의 개발이Assembler, Emulator Software Hardware

필요하다.

Page 99: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 99 -

참 고 문 헌

[EIA 93a] EIA/TIA IS-95 : Mobile station·Base station compatibility standard for

dual-mode wideband spread spectrum cellular system.

[EIA 93b] EIA/TIA IS-98 : Recommended minimum performance standards for

dual-mode wideband spread spectrum cellular mobile stations.

[Qual 90] Qualcomm, Dual-mode mobile terminal high-level overview, Oct. 1990.

[Qual 92] Qualcomm, Vocoder Interface Document-DSP 1616, Dec. 1992

[At&t 91] We DSP 16A Digital Signal Processor Information Manual, Dec. 1991.Ⓡ배명진외 인 보코더에서 피치 검색법의 개선 대한 전자공학회 하계논문[Bae 93] 6 , CELP ,

발표대회, Aug. 1993.

배명진외 인 보코더용 피치 검색시간 단축법의 비교에 관한 연구 한국[Bae 93] 6 , CELP ,

음향학회 추계 논문 발표대회, Oct. 1993.

Page 100: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 100 -

제 장 단말기용 개발5 FDMA CPU

Page 101: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 101 -

제 장 단말기용 개발5 FDMA CPU

제 절 서론1

현재의 이동통신 환경은 아날로그 기술을 배경으로 하는 FDMA(Frequency Division

방식 디지털 기술을 배경으로 하는Multiple Access) , TDMA(Time Division Multiple

방식을 채용하고 있다 한편 최근에는 이들 방식에 있어서 단점으로 거론되고 있Access) . ,

는 통화 회선수의 제한 완화는 물론 보다 다양하고 고품질의 통신서비스 및 비밀보장 등을

제공할 수 있는 통신 방식이 대두되고 있다CDMA(Code Division Multiple Access) .

통신 방식은 년경 미국의 퀄컴 사에 의하여 차세대 이동통신 방식CDMA 1990 (Qua1comm)

으로 제안되어 오면서 현재는 기지국 과 이동국, (BS : Base Station) (MS : Mobile

을 통신시스템으로 하는 시제품까지 공개하고 있는 단계에 있다 예를 들어 퀄컴 사Station) .

가 개발하여 발표하고 있는 이동국 은 송수신 처리를 위한 아날로그 반도체소자“CD-7000”

와 통신에 필요한 논리적 데이터 처리를 위한 디지털 반도체 소자들로 구성되어

이중 모드를 지원하고 있다FDMA/CDMA .

본 장에서는 국내 이동통신의 양 방식을 지원하기 위한 이동국의 자체 개발FDMA/CDMA

을 배경으로 하며 그 중 시스템 전체의 제어를 담당하고 있는, CPU(Central Processing

의 구현을 위하여 에 의한 모델Unit) , VHDL(VHSIC Hardware Description Language)[1]

링 및 시뮬레이션 수행 결과에 대하여 기술하고 있다 전화기 동작 기능이 비교적 단순한.

기존의 방식에서는 비트 계열의 로 충분하였지만 언급한 배경의FDMA 8 CPU ,

방식을 동시에 지원하기 위해서는 비트 제일의 를 필요로 한다FDMA/CDMA 16 CPU .

Page 102: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 102 -

그리고 모델링을 위하여 이용하고 있는 은 년 미 국방성으로부터 공표된 이래VHDL 1983

국제 반도체 설계 분야의 표준화를 위하여 홍보가 계속되고 있으며 국내외의 여러 설계 현,

장에서 장래의 설계지향 언어로 관심을 모으면서 정착되어 가고 있다.

독자적인 퀄컴사의 이동국은 특히 방식을 위한 디지털 회로 부분에 대, “CD-7000” , CDMA

하여 비트 계열의 인텔사의 변조기 복조기, 16 CPU( 80C 186EA), (Modulator),

비터비 디코더 그리고 음성 디지털 신호 처리를 위한 보(Demodulator), (Viterbi Decoder),

코더 등을 탑재하고 있고 이들은 통합된 하나의 이동시스템으로 동작되고 있(VOCODER)

다 그리고 이들 기능회로 중에서 개별 칩이었던 변조기 복조기 비터비 디코더의. ASIC , , 3

개 부분을 하나의 칩으로 구현하였으며 가까운 장래에 디지털 부분의 모든 기능회로ASIC ,

의 원칩 화도 가능할 것이다(One Chip) .

본 장에서는 이러한 배경에서 기술적 난점이 산재한 고도의 아날로그 디지털 이동통신 이동/

국 구현을 위한 차적 목표로 을 이용한 비트 의 동작 레벨 모델링과 시뮬레1 , VHDL 16 CPU

이션 수행 결과에 대하여 기술하고 있다 모델링한 코드는 현재 개발 중에 있는. VHDL

칩의 코드들과 통합하여 이동국 전체 디지털 시스템의 시뮬레이션 환ASIC VHDL , VHDL

경구현을 목표로 사용되어 왔다 이것의 의의는 를 개발할 때 통상적으로 이용되고 있. CPU

는 고가의 혹은 하드웨어 모델러MDS (Microprocessor Development System),

를 도입하는 대신 범용의 워크스테이션을 적극 활용하여 제한적이지(Hardware Modeler) ,

만 소정의 시뮬레이션 결과를 얻어 내고 원칩화를 위한 를 자체 개발하는데 있다CPU .

Page 103: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 103 -

제 절 본론2

단말기용 구조1. CPU

본 장에서 기술하고 있는 는 서론에서 언급한 바와 같이 겸용 단말기를CPU FDMA/CDMA

위한 것으로 인텔사의 비트 계열인 를 대상으로 하고 있다 는, 16 80C 186EA . 80C 186EA

년 말에 시판을 시작한 인텔사의 비트 을 코어로 하며 본 항에서 설명하고 있1980 16 8086 ,

는 주변기능소자를 포함하고 있다 내장 주변소자로는 클록발생기 전원제어기기 칩 선[2]. / ,

택 유닛 컨트롤러 인터럽트 컨트롤러 타이머이며 그리, DMA (Direct Memory Access) , , ,

고 외부 주변소자로는 본 보고서에서 설명을 생략하고 있는 메모리 (EPROM, SRAM,

가 있다 동작에서의 가장 기본이 되는 명령어는 의 것과 거의 동일하EEPROM) . CPU 8086

며 그림 과 같이 최대 바이트까지의 명령 형식으로 구성되어 있다 의, ( 5-1) 6 . 80C 186EA

구조는 그림 와 같다( 5-2) .

가 코어 구조. CPU

는 크게 과 으로 나눌 수 있고 그 외에도CPU Core Execution Unit Bus Interface Unit

을 위한 제어 유닛과 외부 와의 공유를 위한DRAM Refresh Coprocessor Bus Ready

등이 있다Logic .

주요 기능으로는 우선 에서의 명령어 를 들 수 있는데 의Memory Prefetch Prefetch Queue

크기는 로 제일 긴 명령어 한 개를 미리 가져와 저장할 수 있다 명령어는6Byte . Decoding

이후 개의 범용 와 을 사용하여 수행하게 된다16 Register ALU Unit .

로는 와 가 있는데Control Register Relocation Register Step ID Register Relocation

의 내용에 따라 이 시작되는 주소와 이들Register Peripheral Control Block (PCB) , Block

이 나 중 어디에 되어있는지의 여부가 결정되고 아울러Memory I/O Mapping , Interrupt

가 인지 인지가 결정되며 을 가능 또는 불가능토록 한다 이외Controller Master Slave , trap .

에도 분리를 위한 개의 가 있어서 까지 할 수Memory 4 Segment Register 1M Byte Access

있다.

Page 104: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 104 -

그림 명령어 형식( 5-1)

Page 105: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 105 -

그림 구조( 5-2) CPU

Page 106: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 106 -

이외에도 분리를 위한 개의 가 있어서 까지Memory 4 Segment Register 1M Byte Access

할 수 있다.

나 클록 발생기 및 전원 제어기 구조.

발생기(1) Clock

외부의 입력을 받거나 의 발전신호를 받아 그 주기를 배로 확장Clock Crystal Oscillator 2

하여 내의 및 각 에 전달한다 입력 의 주기로는80C 186EA Core Peripheral . Clock 80C

의 종류에 따라 및 등이 사용될 수 있다186EA 40 ,32 25 .㎒ ㎒ ㎒

또한 에 따라 및 들의 동작 여부가 달라질 수 있기 때문에Power Mode Core Peripheral

를 동작시키는 과 들을 동작시키는 을 독립시켜 발생한다 아울Core Clock Peripheral Clock .

러 입력 주기의 배가 되는 주기의 을 생성하여 외부로 전달함으Clock 2 Clock 80C 186EA

로써 등과의 를 용이하게 한다Coprocessor Interface .

(2) Power Management Unit

의 전원 모드로는 정상 모드 모드 모드 및 모80C 186EA , Idle , Power down Power Save

드가 있는데 이들 모드 가운데 모드 및 모드는, Idle Powerdown Power Control Register

의 내용에 따라 결정되며 모드는 의 내용에 따라 결정Power Save Power Save Register

된다.

정상 모드의 경우 입력 주기의 배가 되는 이 및 외부에 전Clock 2 Clock Core, Peripheral

달된다 반면에 모드인 경우에는 의. Power Save Power Save Register Least Significant

의 값에 따라서 입력 주기의 배 배 배 되는 주기의 을 공급하도록2Bits Clock 4 , 8 , 16 Clock

되어있다.

Page 107: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 107 -

발생시나 시에는 이 모드에서 정상 모드로 빠져나오게 된다Interrupt Reset .

또한 모드인 경우에는 를 동작시키는 은 로 하여 의 동작을Idle , Core Clock Logic 0 Core

불능토록하고 은 정상적으로 동작시킨다 반면에 모드인 경우Peripheral . Power down

와 모두를 동작 중지시키도록 되어있다 이 때 외부로 공급되는 은Core Peripheral . Clock

계속하여 생성하게 된다 이 모드에서는 또는 시에만. Nonmaskable Interrupt(NMI) Reset

정상 모드로 돌아올 수 있다.

다 칩 선택 유닛구조.

는 각각 한 개를 생성하80C 186EA Upper Chip Select(UCS), Lower Chip Select(LCS)

고 개의 와 개의 를 생성한4 Mid-range Chip Select(MCS) 7 Peripheral Chip Select(PCS)

다 여기서 등의 신호가 되는 영역은. UCS, LCS, MCS Enable 2K, 4K, 8K, 16K, 32K, 64K,

등이 있어서 에 의하여 그 영역이 결정된다 아울러 와128K Byte Control Register . UCS

의 경우 각각 와 로 그 영역을 지정할 수도 있다 반면 의 경우에는 그 영LCS 256K 1K . PCS

역이 로 지정되어있다 또한 를 제외한 각 신호는 그들을 제어하는128Byte . UCS Control

가 되어야만 생성이 가능토록 되어 있으나 는 시 이 신Register Program UCS System Reset

호를 제어하는 가 갖는 값에 의하여 전에도 생성이 가Control Register Default Program

능하다 다음은 각 들의 기능에 대한 약술이다. Control Register .

(1) UMCS Register

의 영역 및 대기 시간을 지정하는 레지스터로 가 와의UCS Least Significant 3Bits Memory

적절한 을 위한 대기 시간을 지정하고 상위 에 의하여 가 생성Communication , 12 Bits UCS

되는 영역의 시작 주소가 결정된다 영역이 끝나는 주소는 로 된다. FFFFFH .

Page 108: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 108 -

(2) LMCS Register

의 영역 및 대기 시간을 지정하는 레지스터로 가 와의LCS Least Significant 3Bits Memory

적절한 을 위한 대기 시간을 지정하고 상위 에 의하여 가 생성Communication , 12Bits LCS

되는 영역이 끝나는 주소로 결정된다 시작 주소는 로 된다. 00000H .

(3) WCS Register

의 영역 및 대기 시간을 지정하는 레지스터로 가 와의MCS Least Significant 3Bits Memory

적절한 을 위한 대기 시간을 지정하고 번째 내용에 의하여 생성Communication 15-9 Bits

영역의 시작 주소가 결정된다.

(4) MPCS Register

생성 영역의 크기를 결정하여 개의 각 는 이 영역의 만큼의 영역에서 생성MCS 4 MCS 1/4

된다 아울러 이 의 에 의하여 의 대기시간 및. Register Least Significant 3 Bits PCS(4-6)

외부 신호 간주 여부가 지정된다Ready .

(5) PACS Register

의 영역 및 대기 시간을 지정하는 레지스터로 가 와의PCS Least Significant 3Bits Memory

적절한 을 위한 의 대기시간 및 외부 신호 간주여부를 지Communication PCS(0-3) Ready

정하고 번째 에 의하여 가 생성되는 영역의 시작 주소가 결정된다15-6 Bits PCS(0-6) .

Page 109: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 109 -

라 제어기 구조. DMA

의 는 와 간에 개의 독립적인 고속 데이80C 186EA DMA Controller memory I/O Space 2

터 전송 채널을 제공한다 데이터는 나 단위로 또는 번지 간 전DMA . byte word even odd

송되며 각 채널은 매 데이터 전송 후 증가나 감소하는 인 경우 인 경우, DMA (byte 1, word

와 를 유지한다 데이터 전송을 위해서는 데이터 와2) 20bit source destination point . fetch

의 최소 이 소요된다store 2 bus cycles( 8clocks) .

각 채널은 에 그 동작을 정의하는Peripheral Control Block (PCB) 20-bit Source Pointer

그리고(2 words), 20-bit Destination Pointer (2 words), 16·bit Transfer Counter,

의 개 를 갖는다 는 수행할 전16-bit Controller 6 register . Transfer Count Register DMA

송의 수를 명기하며 나 까지의 전송이 가능하다 에 의해, 64 Kbyte word . Control Register

동작 사양이 결정되며 동작중 이들 값의 변화는 즉시 현 수행중인 에, DMA register DMA

영향을 미친다 의 동작 모드는 다음과 같다. 80C 186EA DMA Controller .

* Internally Synchronized DMA Transfers : No Priority/Block Move

1. DMA Channel Request

Unsynchronized Transfer

2. Timer 2 Request

가 최대치에 도달할 때 발생하는 를 의Timer 2 DMA request , DMA Control Register

에 따라 여부가 결정되어 처리된다TDRQ bit DMA service .

나 에 의해* Externally Synchronized DMA Transfers : With Priority-DRQ0 DRQ1

request

l. Source Synchronized Transfer Block Move

예 로부터 로의 데이터 전송) Floppy disk main memory

Page 110: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 110 -

2. Destination Synchronized Transfer

매 전송 후 적어도 동Cycle Stael- destination synchronized DMA 2 CPU clock cycle

안 의 사용권을 포기한다bus .

예 로부터 로의 데이터 전송) main memory floppy disk

마 제어기 구조. Interrupt

에 내장되어 있는 는 개의 외부 및80C 186EA Controller 4 Pin 2-Channel DMA

의 각 채널에서 오는 신호와 에서 발생한 신호를 받는Controller Interrupt , Timer Interrupt

개의 내부 이 있다 이들 들 가운데 내부 핀의 기능은 항상 일정하여 입력신호를 받3 Pin . Pin

아들이는 인 반면 외부 핀의 기능은 의 동작 모드에 따라Input Port , Interrupt Controller

결정 된다 동작 모드로는 크게 와 로 나눌 수 있고. Master Mode Slave Mode Master

는 다시 그리고Mode Fully Nested Mode, Cascade Mode, Special Fully Nested Mode

로 구분된다.

로는Control Register Interrupt Control Register, Interrupt Request Register, Mask

Register, Priority Mask Register, In-Service Register, Poll Register, Poll Status

및Register, End-of-Interrupt Register, Interrupt Status Register, Interrupt Vector

등이 있다 이들 들의 개수 및 또는 에의 관계 역시Register . Register I/O Memory Mapping

의 동작모드에 따라 달라진다Controller .

다음에는 의 동작모드에 관하여 설명하고 각 들의 기능에 대Interrupt Controller Register

하여 약술한다.

의 동작모드(1) Interrupt Controller

Page 111: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 111 -

가( ) Master Mode

1) Fully Nested Mode

이 모드는 모드로써 같은 로부터의 반복적 발생 및 우선순위가 낮Default Source Interrupt

은 로부터의 발생은 무시하도록 되어있다 따라서Source Interrupt . Interrupt Service

이 진행 중인 경우 그 보다 높은 우선순위를 갖는 로부터의 발생Routine Source Interrupt

시에만 진행 중인 가 중단되어 이 가능토록 한다Service Nesting .

2) Cascade Mode

이 모드는 중 및 을 제어하는 의 특정한Interrupt Source INT0 INT1 Control Register Bit

를 하여 동작시킬 수 있다 이 모드의 특징으로는 개의 외부 을Setting . 4 Interrupt Pin

내용에 따라 과 으로Control Register Interrupt Request Pin Interrupt Acknowledge Pin

각 의 기능을 바꾼다 이렇게 함으로써 외부에 를 사용하여 감지할Pin . Interrupt Controller

수 있는 의 수를 증가시킬 수 있도록 한다Interrupt Source .

3) Special Fully Nested Mode

이 모드 역시 중 및 을 제어하는 의 특정한Interrupt Source INT0 INT1 Control Register

를 하여 동작시킬 수 있다 이 모드의 특징으로는 같은 로부터 한 번 이상Bit Setting . Source

의 발생을 가능토록 하는 것이다 즉 여러 개의 가 한 핀 예를 들어Interrupt . , Device (

에 연결되어 있을 경우 한 개의 에 의하여 발생한 가INT0) Device Interrupt Acknowledge

된 상태에서 다른 가 를 발생시키면 같은 로 간주되어 다른 모드에Device Interrupt Source

서는 무시되지만 이 모드에서는 무시하지 않고 현재 진행 중인 가 끝나는 대로, Service

를 받을 수 있도록 한다Service .

Page 112: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 112 -

나( ) Slave Mode

외부에 가 있어서 외부로부터의 발생은 감지하지 않Master Interrupt Controller , Interrupt

고 내부 만 감지한다 즉 내부 발생시 그 사실을 외부에 있는Interrupt . , Interrupt Master

에 알리고 가 그 사실을 인지한 다음 에 를 신청Controller Master Controller CPU Interrupt

할 때 그 신호를 에 전달한다 가 를 하면 그 사실을 다시CPU . CPU Acknowledge Master

에 전달하고 의 이 완료되었음을 알리는 신호를Controller Slave Vector Address Decoding

로부터 받아 에 전달하고 를 공급한다Master Controller CPU Interrupt Vector .

들의 기능(2) Control Register

가( ) Interrupt Control Register

인 경우 개 인 경우 개의 가 존재할 수 있기Master Mode 7 , Slave Mode 5 Interrupt Source

때문에 또한 각각의 를 제어할 수 있도록 개수만큼 존재Control Register Source Source

하게 된다 이들의 기능으로는 를 가능 또는 불가능토록하고 아울러 각Configure . Interrupt

의 우선권을 지정한다 인 경우에는 이 밖에도Source . Master Mode Cascade Mode,

등을 선택하는 기능도 보유하고 있다special Fully Nested Mode .

나( ) Interrupt Request Register

모든 들의 발생 여부를 기록하는 로써 발생시 그Source Interrupt Register Interrupt

에 해당하는 를 하여 조건에 따라 발생 즉시 가 안되어도Source Bit Setting , Acknowledge

차후에 를 받을 수 있도록 한다 이러한 은 주어진 가 되어 있Service . Latching Source Mask

는 경우에도 이루어지며 가 발생 사실을 한 다음에야 소, Cpu Core Interrupt Acknowledge

거된다.

Page 113: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 113 -

다( ) Mask Register

모든 들의 여부를 기록한다 즉 주어진 에 해당하는 가 이Source Mask . , Source Bit Logic 1

면 그 에 의한 는 불가능하게 되고 가 이면 가능하게 된다Source Interrupt , Bit Logic 0 .

라( ) Priority Mask Register

현재 를 받고 있는 의 우선순위를 기록하고 있어서 이것보다 낮은Service Interrupt , Source

로부터의 발생시 진행 중인 의 중단을 방지한다 기록되어 있는 우선순위Interrupt Service .

는 종료 시 자동적으로 한 단계 낮추어지며 되어 있는 가 없을Service , Pending Interrupt

경우에는 가장 낮은 순위가 기록되어 어떠한 라도 를 받을 수 있도록 된다Source Service .

마( ) In-Service Register

모든 들의 여부를 기록한다 즉 가 발생을 하Source Service . , CPU Interrupt Acknowledge

면 그 에 해당하는 를 하여 적절한 이 진행되고 있음을Source Bit Setting Service Routine

기록한다 또한 가 된 경우 이보다 낮은 우선순위를 갖는 로부터의. Bit Set , Source Interrupt

발생시 그 사실을 에 전달하지 않는다 이러한 는 이CPU . In-Service Bit Service Routine

완료되면서 된다Clear .

바 및( ) Poll Register Poll Status Register

우선순위가 높은 로부터의 가 되어 있음을 기록하고 있으며 아울러Source Interrupt Pending

되어 있는 중 우선순위가 가장 높은 의 을 기록한Pending Interrupt Interrupt Vector Type

다.

Page 114: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 114 -

이들 의 차이점으로는 의 경우 가 값을 읽는 행위 자체Register Poll Register CPU Register

가 를 하는 것으로 간주되는 반면 의 경우에는Interrupt Acknowledge Poll Status Register

를 하지 않으며 단지 여부만을 알 수 있도록 되Interrupt Acknowledge Interrupt Pending

어 있다 기록되어 있는 상태는 에 의하여 되는 시점. Interrupt Pending CPU Acknowledge

에서 소거된다.

사( ) End-of-Interrupt Register

에 의한 명령어가 수행되면 우선순위가 가장 높은Software EOI (End of Interrupt)

의 를 종료하게 된다 단 가 로 동작하는Interrupt Service . Interrupt controller Master Mode

경우 를 종료하고 싶은 를 지정할 수 있어서 특정한 의, Service Interrupt Interrupt Service

를 종료할 수도 있다 따라서 모든 은 종료 시 명령을 수행. Interrupt Service Routine EOI

하여야한다.

아( ) Interrupt Status Register

인 경우 에 의한 발생시 개의 타이머 중 어떤 타이머가Master Mode Timer Interrupt 3

를 발생시켰는지를 기록한다 아울러 가Interrupt . DHLT (Direct Memory Access Halt) Bit

있어서 에 의하여 지시되거나 발생시 를 억Software NMI (Nonmaskable Interrupt) DMA

제시킨다 이 는 에 의하여 지시되거나 명령어가 수행. Bit Software IRET(Interrupt Return)

되면 되도록 되어있다Clear .

자( ) Interrupt Vector Register

가 로 동작하는 경우에만 사용되는 것으로Interrupt Controller S1ave Mode , Interrupt

의 를 저장하고 있다Vector Type Most Significant 5bit .

Page 115: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 115 -

나머지 로는 주어진 의 우선순위를 나타내는 가 사용된다3Bit Interrupt 3Bit .

바 구조. Timer

는 채널의 내부 를 제공하며 이 중 과80C 186EA 3 16-bit programmable Timer , Timer 0

은 채널당 개 모두 개의 외부 에 연결된다 이 두개의 는 를1 2 , 4 pin . Timer external event

하고 시간을 기록하는 역할을 하는 반면 외부 에 연결되어 있지 않은 는count , pin Timer 2

과 그리고 과 에 대한 와real-time coding time delay applications, Timer 0 1 prescaler

로서의 역할을 수행한다DMA request source .

는 에 위치한 개의 에 의해 제어되며 이 중 는Timer PCB 11 16·bit register , Count Register

의 현재 값을 지니고 있어서 의 동작 여부에 관계없이 나 가 가능하Timer Timer read write

고 매 마다 그 값을 증가시킨다 가 할 수 있는 최대치를 정의Timer event . Timer count

하는 는 가 최대치에 도달한 경우 그 동일 내MAX COUNT Register Timer Count , Clock

에서 으로 된다 과 의 경우엔 번째의 를 가지고0 reset . Timer 0 1 2 MAX COUNT Register

있어 두 값 사이의 을 가능하게 한다 이 경우엔, MAX COUNT alternate counting . Control

의 에 의해 어느 를 사용할지가 결정된다Register RIU bit MAX COUNT .

각 는 매 번째 에서 되며 따라서 내부 주파수의Timer 4 CPU clock cycle service , clock

의 로 동작한다 의 은 다음과 같다1/4 speed . Timer programmable option .

개의 모든 가 에서 정지하거나 계속 동작할 수 있다* 3 Timer terminal count .

과 은 과 중 어느 것을 사용할지 선택할 수 있으며* Timer 0 1 internal external clock ,

를 로 사용할 수 있고 에MAX COUNT register alternate mode , external event retrigger

하기 위해 설정될 수도 있다.

Page 116: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 116 -

에 를 발생하도록 될 수 있다* terminal count interrupt program .

2. CPU VHDL Modeling

의 방법에는 그리고VHDL Mode1 Description Behavioral, Dataflow-Oriented(RTL).

이 있는데 본 과제에서는 의 에 대한 자료가Structural Description 80C 186EA Hardware

미흡하고 또한 이 주목적이기 때문에 상에서 에 해당되Simulation Hierarchy Bottom Level

는 은 을 상위 에서는 을 채택Module Behavioral Description , Level Structural Description

하였다 의 기능 분류는 에 있는 기능 에 따라 각 을. CPU Data Book Block Diagram Block

독립된 로 작성하였다 또한 각 에 대한 는 몇 개의 구문Entity . Entity Architecture Process

으로 구성되어 있는데 만을 고려할 경우 구문의 수와, Simulation Process Simulation Time

간의 상호 관계는 자세히 알려져 있지 않은 반면 를 염두에 둔 경우 이들, Hardware

구성의 주관점은 에 따른 확보에 있Process Concurrent Execution Maximum Parallelism

다고 하겠다 본 연구팀에서 개발한 은 그림 에서와 같이. 80C 186EA VHDL Mode1 ( 5-2)

개의 로 구성되어 있다 다음은 각 에 대한 서술이다6 Entity . Entity .

가 코어 모델. Cpu VHDL

는 그림 과 같이 개의 로 구성되어 있으며 주요 기능으로Cpu-Core ( 5-3) 6 Process

그리고 등이 있다Prefetch, Bus Control, Decode, Execute .

1) Reset/Powerdown Process

Page 117: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 117 -

그림 코어 모델( 5-3) CPU

Page 118: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 118 -

형태로 구성되어 있으며 가 된 상태이거나Combinational Logic CPU Reset Power

의 동작 중 가 가동된 경우 외부 및 내부Management Unit Mode Power Down Mode Pin

들이 된 값을 갖도록 한다Signal Predefined .

(2) Fetch

형태로 구성되어 있으며 가 상태일 때Sequential Logic Internal Bus Unoccupied

를 에서 가져와 에 저장한다 의 경우 가장 긴Instruction Code Memory Queue . 80C 186

이 로 이루어져 있으므로 최소한 개의 까지 미리 할Instruction 6Byte 3 Instruction Fetch

수 있도록 는 로 구성하였다 또한 나 등과 같이 새Queue 18Byte . Interrupt Jump Instruction

로운 번지에서 이 수행되어야 할 경우 기존의 내용을 무시하고 새로운(Sub)Program Queue

번지에서 를 시작한다 이 경우 가 비어있다는 상태를 알리는 신호를 생성하여Fetch . Queue

에서 를 수행하는 일이 없도록 한다Decode & Execute Unit Invalid Instruction Code .

(3) Interrupt Handler

으로 구성되어 있으며 나 발생시Sequential Logic Hardware Software Interrupt Flag, IP

및 를 에 저장하고 와 를 시킨 다음 새로운 와 값을CS Stack Trace Interrupt Disable IP CS

에 보낸다 이때 가 나Fetch Unit . Interrupt Controller Cascade Special Fully Nested

로 동작하도록 되어 있는 경우 을 두 번 반복하도록Mode , Interrupt Acknowledge Cycle

하고 를 두 번째 에서 외부로부터 읽어드려 및 값을 결정한Interrupt Vector Cycle IP CS

다 다음으로는 의 수행이 끝나기를 기다리고 및 값. Interrupt Service Routine Flag, IP CS

을 으로부터 복구하여 복구된 와 값을 다시 에 보내 때문Stack IP CS Fetch Unit Interrupt

에 중단된 이 중단된 지점으로부터 다시 수행될 수 있도록 한다Program .

Page 119: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 119 -

(4) Bus Cycle Control

으로 구성되어 있으며Sequential Logic DMA Controller, Interrupt Handler Unit, Fetch

및 이 외부 를 사용하려 할 때 그들 간의 를 조Unit Decode & Execute Unit Bus Conflict

정한다 이 때 는. Priority DMA Controller, Fetch Unit, Interrupt Handler Unit, Decode

순이다 또한 등 을 결정하는데 상태의 경& Execute Unit . T1, T2, T3, T4 Bus Cycle T3

우 에서 주어진 을 삽입한다Second Phase Wait Cycle .

(5) Bus Interface

형태로 구성되어 있으며 등 외부 가 를 사용Sequential Logic Coprocessor Processor Bus

하고자 할 경우 필요한 외부 에 값을 부여한다 그 외의 경우에Pin High Impedance State .

는 및 등 각 에서 필요한 신호를 생성하여 에 주어진 값을T1, T2, T3, Tw T4 Cycle Bus

실음으로써 외부 과 간의 적절한 가 이루어지도록 한다, Chip CPU Interface .

(6) Decode/Execute

형태로 의 에서 를 가져와 한Sequential Logic Fetch Unit Queue Instruction Code Decode

다음 한다Execute .

나 클록 발생기 및 전원 제어기 모델. VDHL

그림 에 나타난 바와 같이 개의 로 구성되어 있으며 주요 기능으로 외부( 5-4) 3 Process

주기의 배가 되는 내부 을 생성한다Clock Input 2 Clock .

Page 120: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 120 -

그림 클록 발생기 전원 제어기 모델( 5-4) /

Page 121: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 121 -

또한 동작 에 따라 이들 내부 들의 주기를 변경하거나 시CPU Mode Clock Enable/Disable

킨다.

(1) Reset/Bus_Hold

형태로 구성되어 있으며 가 되거나 가 외부Combinational Logic , CPU Reset Bus

를 위하여 된 경우 필요한 신호들에 적절한 값을 부여한다 아울러 가Processor Hold . CPU

된 경우 각 값들을 초기화한다Reset Control Register .

(2) Control Register Update

형태로 신호가 발생하면 내부 의 값에 따라 지Combinational Logic Update Address Bus

정된 의 내용을 내부 값으로 변경한다 이때 신호는Register Data Bus . Update Cpu-Core

내의 의 값이 에 해당될 경우Bus Interface Unit Address PCB(Peripheral Control Block)

생성하도록 되어 있다.

(3) Clock/Power Manage

형태로 구성되어 있으며 우선 외부 주기의 두 배가 되는Combinational Logic Clock Input

내부 을 생성하고 동작 에 따른 적절한 조치를 취한다 즉Clock CPU Mode . , Power Down

인 경우 및 들을 시키는 들을 모두 시킨다 반Mode Core Peripheral Activate Clock Disable .

면에 인 경우에는 를 동작시키는 만을 로 하여Idle Mode Core Clock Low State (0) Disable

시키고 을 동작시키는 은 정상적으로 생성한다 또한 동시에Peripheral Clock . Power Save

가 되었는지의 여부를 조사하여 된 경우 지정된 값에 따라 내부Mode Activate Activate

의 주기를 늘림으로써 가 가능하도록 한다 이때 는Clock Power Save . Power Down Mode

이나 발생시에만 그 를 빠져나올 수 있고 의 경우에는 일반적Reset NMI Mode , Idle Mode

인 발생시에도 빠져나올 수 있다Interrupt .

Page 122: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 122 -

다 칩 선택 유닛 모델. VHDL

그림 에 나타난 바와 같이 개의 로 구성되어 있으며 주요 기능으로는( 5-5) 3 Process 20Bit

의 를 로부터 내부 를 통하여 전달받아 그 값에 따라 적절한Address Core Bus Chip Select

을 시켜 준다Pin Activate .

(1) Reset / Power Down / Bus_Hold

형태로 구성되어 있으며 이 역시 혹은 상Combinational Logic Process Reset Bus Hold

태이거나 에서 동작되는 경우 적절한 값을 필요한 에 부여한다Power Down Mode Signals .

(2) Control Register Update

형태로 들의 내용을 주어진 값으로 변경한다 아울Combinational Logic Control Register .

러 를 제외한 모든 신호는 각 신호 발생을 조UMCS (Upper Memory Chip Select) CS CS

정하는 값이 사용자 에 의하여 최소한 한번 이상 지정된 후에나 발생시킬Register Software

수 있도록 되어 있어 들이 에 의하여 그 값이 지정된 사실, Control Register User Program

이 있는지의 여부를 기억하는 기능도 수행한다.

(3) Select

형태로 를 받아 그 값에 따라 그리고 개의Sequential Logic 20 Bit Address UCS, LCS 4

및 개의 를 생성한다MCS 7 PCS .

Page 123: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 123 -

그림 선택 유닛 모델( 5-5) Chip

Page 124: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 124 -

아울러 각 를 조정하는 에서 몇 개의 를 에 삽입하여야 할CS Register Wait State Bus Cycle

지를 결정하여 에 그 정보를 전달한다Core .

라 제어기 모델. DMA VHDL

의 은 를 가진 개의80C186EA DMA Controller VHDL coding sensitivity lists 3 Process

와 를 갖지 않은 개의(Combinational Logic) sensitivity lists 1 Process (Sequential Logic)

로 이루어지며 그 각각의 구성은 다음과 같다 용으로 각, . Bus Resolution Function

에서 공유하는 에 대하여 별로 다른 을 준 후Process Signal , Process Signal Name ,

가 종료되기 전 이들을 결합한다BEHAVIOR of DMA architecture .

(1) CHK_CLK_PROC

으로서 의 주파수와 를 탐지하여 에 해당하는Combinational Logic , clkperi spike warning

를 한다severity report .

(2) DMA_RST_PROC

으로서 인가시의 값을 정의하며 수행중인 어떠Combinational Logic , resint PCB register ,

한 동작도 중지된다DMA .

(3) DMA_INIT_PROC

으로서 를 로 가지며 정상 동작 중Combinational Logic , peri_enb sensitivity list , DMA wt

와 의 과 의 에 의해rd control signal Control Register CHG/NOCHGBAR bit PCB

의 와 를 행한다register read write .

(4) DMA_CNTRL_PROC

Page 125: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 125 -

으로서 위에서 언급한 개의 모드는 각기 와Sequential Logic , 4 int_ch, int_tmr2, ext_src

에 의해 선택되며 에 따라 채널 이 수행될 때는ext_dst , priority 0 ch0_Opr, ch0_1pr,

로 채널 이 수행될 때는 의 모드ch0_spr, ch0_sng , 1 ch1_1pr, ch1_Opr, ch1_spr, ch1_sng

로 나뉘어져 동작한다 은 채널 수행 시 채널이 를 가진 경우이며 여기. chp_qpr p q priority ,

서 가 인 경우는 두 개의 채널이 동일한 를 지닌 경우를 나타낸다 동일한q s priority .

를 가진 경우엔 에 가강 최근 수행된 채널을 기록하여 다시priority dmap_record , DMA

가 있을 때엔 채널 를 수행한다 는 개의 채널 중 한 개의request q DMA . chp_sng 2 DMA p

채널만이 받은 경우를 나타낸다 를 수행하기에 앞서 를 신청하request . DMA bus_rqst_dma

여 를 인지한 후 데이터 전송을 시작하며 가 종료, bus_ack_dma , Transfer Count Register

되었을 경우엔 에 의해 와 의 모드를 결정하고 에 의TC bit terminate continuous , INT bit

해 발생 여부를 결정한다 또한 로부터의 도 처리한다interrupt . Timer 2 DMA request .

내부의 각 와 그들 간의 이 그림 에 나타나 있다DMA Process Internal Signal ( 5-6) .

마 제어기 모델.Interrupt VHDL

그림 의 에서 볼 수 있듯이 는 개의 로( 5-7) Block Diagram Interrupt Controller 5 Process

구성되어 있으며 주요 기능으로서 발생시 에 따라 여, Hardware Interrupt Priority Service

부를 결정하여 에 전달하고 수행 종료 시 적절한 조치를Core Interrupt Service Routine

취 한다.

(1) Reset / Power_Down / Bus_Hold / NMI

Page 126: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 126 -

그림 제어기 모델( 5-6) DMA

Page 127: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 127 -

그림 제어기 모델( 5-7) Interrupt

Page 128: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 128 -

으로 구성되어 있으며 필요한 신호 값 부여 및 초Combinational Logic , Control Register

기화 등을 각 경우에 따라 수행한다 특히 발생시. NMI INTSTS (Interrupt Status)

값을 변경하여 의 동작을 불가능하도록 한다Register DMA .

(2) Control Register Update

으로 구성되어 있으며 다른 경우와 마찬가지로 각 의 내용Combinational Logic , Register

을 주어진 값으로 변경하거나 가 원할 경우 내용을 내부 에 싣는Core Register Data Bus

다 아울러 가 의 내용을 읽을 경우 그 자체가 를. Core Poll Register Interrupt Request

하는 것으로 되어 있어 가 를 읽었는지의 여부를 기록하는Acknowledge , Core Poll Register

기능도 수행한다.

(3) Request Encode

으로 구성되어 있으며 우선 인지 인지에 따라Sequential Logic Master Mode Slave Mode

적절한 값을 변경하여 발생시 마다 그 사실을 기록한다 이때 특REQST Register Interrupt .

정한 가 되어있는지의 여부와는 무관하다 다음으로 와 현재Interrupt Mask . Priority Service

중인 를 기억시킨 값을 조사하여 발생에 대한Interrupt Source INSERV Register Interrupt

여부를 기록한다 이러한 기능은 인 경우 가지 동작 모드에 따라 약Service . Master Mode 3

간의 차이가 있어 각 경우에 따라 적절한 임무를 수행한다 다음으로 에. Core Interrupt

신호를 보내게 되는데 이때 인 경우에는 외부의 에Request Slave Mode Master Controller

를 보내고 로부터 신호가 올 때까지 기다린 후Interrupt Request Master Acknowledge

에 를 한다Core Request .

Page 129: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 129 -

(4) Acknowledge

으로 구성되어 있으며 가 신호를 보내주면Sequential Logic Core Acknowledge , Master

중 나 경우 또는 인 경우 외부Mode Cascade Special Fully Nested Mode Slave Mode Pin

을 통하여 신호를 전달하게 된다 특히 인 경우에는Acknowledge . Slave Mode

신호전달 이후 에서 신호가 올 때까지 기다리게 된다 다음으Acknowledge Master Select .

로 와 의 중 에 해당하는 를 각각REQST INSERV Register 16 Bit Interrupt source Bit

한다 현재 중인 의 값을 기록하고 있는Clear, Set . Service Interrupt Priority PRMSK

내용도 이때 수정된다 아울러 필요한 경우 을 결정하여Register . Interrupt Type Interrupt

을 통한 새로운 와 값 결정을 가능하게 한다Vector Table Look Up IP CS .

(5) End_of_Interrupt

으로 구성되어 있으며 내용이 수정될 때마다 그 값에Combinational Logic EOI Register

따라 의 특정한 를 시킨다 의 내용 변경은INSERV Register Bit Clear . EOI Register

에 의하여 실행되는데 모든 은 본래의 으로 돌Software Interrupt Service Routine Program

아오기 전 를 수행하도록 되어있다 아울러 내용에 따라 특정EOI Command . EOI Register

한 또는 제일 최근에 를 받은 에 해당하는Interrupt Service Interrupt INSERV Register

를 할 수 있는데 후자의 은 경우 허용이 안 된다Bit Clear Option Slave Mode .

바 모델. Timer VHDL

의 은 과 으로 이80C186EA Timer VHDL coding Combinational Logic Sequential Logic

루어 진 개의 로 구성되며 그 각각의 구성은 다음과 같다9 Process , .

Page 130: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 130 -

에서는 모든 을 에서 수행하게 하였으DMA coding control function DMA_CNTRL_PROC

나 의 경우엔 이를 보다 세부 로 나누어 수행하게 하였다, Time process . Bus Resolution

용으로 각 에서 공유하는 에 대하여 별로 다른Function Process Signal , Process Signal

을 준 후 가 종료되기 전 이들을 결합한다Name , BEHAVIOR of Timer architecture .

(1) CHK_CLK_PROC

의 주파수와 를 탐지하여 에 해당하는 를 한다clkperi spike , warning severity report .

(2) TMR_RST_PROC

인가시의 값을 정의하며 모든 이 된다resint PCB register , Timer counting reset .

(3) TMR_INIT_PROC

를 로 가지며 정상 동작 중 와 의peri_enb, data_bus sensitivity list , Timer wt rd control

과 의 에 의해 의 와 를 행한다signal Control Register INHBAR bit PCB register read write .

(4) TMR_CLK_PROC

과 을 위한 과 주파수의 에 해당하는 주파수를 갖는Timer 0 1 clock CPU clock 1/4

을 생성한다clk_div_four clock .

(5) TMR_CNT_PROC

Page 131: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 131 -

내의 모든 을 관장하며 로부터의Timer Counting , TMR_CNTRL_PROC process

와 에 의해 들을 하게하고 최대치에tme0/1/2_clear load0/1/2 Counter Register counting

이르 을 때는 로 시킨다0000H reset .

(6) TMR_CNTRL_PROC

이 설정되기를 기다려 과 에서EN bit Timer 0 1 Alternate Counting Mode Timer A

로 나뉘어 진 후 그 각각은 와 로 다시Counting Mode , one shot mode continuous mode

분류되어 동작한다 는 로서만 동작하며 역시. Timer 2 Single Counting Mode , one shot

와 로 나뉘어 동작한다 에 도달한 경우엔 에mode counting mode . MAX COUNT INT bit

의해 여부를 결정하고 과 은 와 으로 출력하며Interrupt , Timer 0 1 TOUT0 TOUT1 ,

에서는 인 를 발생한다Timer 2 DMA request signal dma_rqst_tmr2 .

(7) TMR_ODD_PROC

의 값이 의 값보다 작게 설정되었을 경우의 동작을 정의하며MAX COUNT Count Register ,

까지 한 후 으로 되고나서 다시 값까지 한다$0FFFFH count 0 reset , MAX COUNT count .

(8) TMR_CLR_INTRQST_PROC

를 한다int_rqst clear .

내부의 각 와 그들 간의 이 그림 에 나타나 있다Timer Process Internal Signal ( 5-8) .

Page 132: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 132 -

그림 모델( 5-8) Timer

Page 133: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 133 -

시뮬레이션 방법 및 결과3.

가 을 위한 작성. VHDL Simulation Test bench program

메모리 그리고 들의 을 검증하기 위한Intel 80C186EA, , CDMA ASIC VHDL Modeling

은 와 어셈블리 언어로 작성된 이동통신 단말기용 프로그Test bench program C language

램을 사용하였다.

이동통신 단말기 프로그램은 어셈블리 언어로 작성된 과bootstrap program real-time

기능을 갖는 그리고 이동통신 단말multi·tasking REX (Real-time Executives) program,

기의 을 담당하는 언어로 작성된 들로 구성되어 있다Call processing C Software Task .

우선 의 기능을 살며보면 와 그리고bootstrap program program memory data memory,

를 구분하기 위한 신호를 생성하기 위하여non-volatile memory Chip Select control

를 하고 를 실시한다 가 완료되면 의 전register setting RAM test . RAM test data memory

영역에 을 써 넣음으로써 을 초기화시킨다 이후0 RAM . user defined Interrupt Vector

을 초기화하고 데이터와 를 에서 으로 복사한다 이러한 과정이 완Table constant ROM RAM .

료되면 과 들을 하고 으로 를 하게stack data segment register setting main program jump

된다.

에서는 등의 들의main program DMA, interrupt controller, Timer CPU peripheral VHDL

을 검증하기 위하여 기능을 갖는 프로그림을 사용하였다modeling real·time multi tasking .

실시간 실행 프로그램은 어셈블리 언어로 되어 있으며 기능을 수, real-time multi tasking

행하기 위하여 각 들마다 고유의 와 를 가지software Task data structure software timer

며 기능을 보유하고 있으므로 들을 검증하는데 적합한 프로그, Interrupt handler peripheral

램이다.

Page 134: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 134 -

이와 같이 언어로 작성된 은C/Assembly Test bench program Microsoft C Compiler 6.0

과 을 사용하여 시켜 을 생성MASM( Macro Assembler ) 5.0 Compile object file (*.OBJ )

한다 생성된 들을 시키고 단말기 상에서 실행 가능하도록. object file link memory mapping

을 시켜야한다 여기서는 사의 실행 표 참조 을 수행시켜. Genesis GLINK file (( 5-1) )

들을 시키고 가 위치할 실제 메모리상의 정보object file link object code physical address

를 포함한 표 참조 으로 변환시킨다Intel HEX format (( 5-2) ) .

이렇게 생성된 으로부터 가 상에 위치하Intel HEX format machine code program memory

는 를 계산하여 된 메모리상에 다운로드 시킴physical address VHDL Software modeling

으로써 을 워한 로 작용할 수 있게 하였VHDL software model simulation stimulus vector

다.

나 결과. Simulation

우선 의 기능을 살펴보면 부록에 나타낸 에서 볼 수 있Bootstrap Program Assembly List

듯이 각 생성을 위하여 의 값을 부여하고 를Chip Select Pin Control Register RAM Test

실시한다 즉 단위로 를 써넣고 이것을 반복하여 에 써넣기를. , 1K Byte AAAAH 64K Byte

완료한다 그다음 역시 단위로 읽기를 수행하여 내용이 인가를 조사하고. 1K Byte AAAAH

이상이 없을 경우 하위 에 를 써넣는다 이것을 다시 읽어 와 비교하고 이Byte 55H . AA55H

상이 없을 경우 상위 에도 를 써넣은 다음 다시 읽어드려 와 비교한다 이Byte 55H 5555H .

과정을 번 반복함으로써 를 완료한다 다음으로는 각 번지에 를 써넣음64 RAM Test . 0000H

으로써 의 초기화를 실시한다RAM .

Page 135: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 135 -

표 를 위한 의 예제( 5-1) LINK & LOCATE link file

Page 136: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 136 -

표 인텔 포맷의 예제( 5-2) HEX

Page 137: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 137 -

이후 을 초기화하고 및 를 에서User Defined Interrupt Vector Table Data Constant ROM

으로 복사한다 이러한 과정이 완료되면 으로 를 하게 된다RAM . Main Program Jump .

에서는 중 몇 가지 을 사용하여 를 생성하고 또한Main Program REX Routine Main Task

내의 과 내의 및 를 사용하여DMA Controller Channel 0 Timer Unit Timer 0 Timer 2

동작 및 동작을 확인하였다 즉 매 마다 가 신청을 하DMA Timer . , 0.25ms Timer 2 DMA

여 를 에서 로 를 하고 은 로 동작16Word Memory I/O Transfer Timer 0 Alternating Mode

하도록 되어 매 및 마다 를 걸도록 되어있다Program 1ms 0.5ms Interrupt . Interrupt

에서는 의 를 감소시키도록 되어있는데 이번Service Routine Software Timer Counter ,

의 경우 는 생성을 안 하였기 때문에 이 사실만을 확인하고Simulation Software Timer

으로 복귀한다Main Program .

그림 은 본 에서 얻은 결과의 일부를 보이고 있다 그림( 5-9), (5-10), (5-11) Simulation . (

는 수행을 종료하고 으로 하는 과정인데5-9) Bootstrap Main Program Jump Instruction

내용을 보면 새로운 값과 값을 갖고Que Code Segment Instruction Pointer Direct Inter

함을 알 수 있다 또한 그림 은 가 최대치에 도달한 후segment Call . ( 5-10) Timer 2 DMA

신청을 하여 가 를 하고 의 를 수CPU Acknowledge (bus_ack_dma = 1) 16Word Transfer

행하는 과정을 나타낸다 아울러 그림 은 위에서 보인 동작 및 이후. ( 5-11) DMA Timer 0

이 신청한 가 되어 으Interrupt Acknowledge (bus_int_ack = 1) Interrupt Service Routine

로 하는 과정을 나타내고 있다Jump .

위에서 기술하고 있는 그림의 에서의 각 및 들에 기술하면 다음과Waveform Signal Bus

같다.

Que : Instruction queue

중 하위Addr : Address Bus 16 Bit

Page 138: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 138 -

그림 부트스트랩 프로그램 시뮬레이션 결과( 5-9) (1)

Page 139: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 139 -

그림 부트스트랩 프로그램 시뮬레이션 결과( 5-9) (2)

Page 140: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 140 -

그림 시뮬레이션 결과 동작( 5-10) REX : DMA

Page 141: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 141 -

그림 시뮬레이션 결과 동작( 5-11) REX : Interrupt

Page 142: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 142 -

중 상위Addrh : Address Bus 4Bit

즉 및Cycle_Status : Bus Cycle , T1, T2, T3 T4 Cycle

에서 을 하기 위한 사용Bus_Fetch_Ack : Memory Instruction Fetch Bus Acknowledge

수행 중 필요한 사용Bus_Exe_Ack : Instruction Bus Acknowledge

신청에 대한Bus_Ack_Dma : DMA Acknowledge

발생시 으로의 전후에 필요한Bus_Int_Ack : Interrupt Interrupt Service Routine Jump

사용Bus Acknowledge

읽기 써넣기Rdbar/Wrbar : / Enable Signal

이 최대치에 도달한 후 생성하는 신청 신호Int_Rqst_Tmr0 : Timer 0 Interrupt

가 최대치에 도달한 후 생성하는 신청 신호Dma_Rqst_Tmr2 : Timer 2 DMA

가 를 사용하기 위하여 에 보내는 신청 신호Bus_Rqst_Dma0 : Dma Controller Bus CPU

가 수용 가능한 발생 시 에 그 사실을 알려Int_Rqst : Interrupt Controller Interrupt CPU

주는 신청 신호Interrupt

가 로 발생 인식을 알려주는Int_Ack :·CPU Interrupt Controller Interrupt Interrupt

Acknowledge Signal

제 절 결론3

본 장에서는 겸용 단말기 시스템내의 비트 개발을 목표로 하였다FDMA/CDMA l6 CPU .

기존의 상용 아날로그 단말기에서는 비트급의 예를 들어 등 를 사용하고 있으8 CPU( Z80 )

나 비트 를 이중 모드 단말기에 탑재하기에는 동작속도 및 데이터 처, 8 CPU FDMA/CDMA

리 등의 기술적 기능이 결여되어 있다고 하겠다.

Page 143: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 143 -

따라서 현재 독자 유일한 존재로 알려진 퀄컴사의 이중모드 이동국 개발과정을 철저하게 분

석하고 본 과제에서도 동일한 기능을 수행할 수 있는 비트 구현을 목표로 하여, 16 CPU

연구개발을 진행하여 왔다 연구개발 과정에서는 국내의의 설계현장에서도 장래의 설계기법.

으로 관심이 집중되고 있는 을 이용하여 모델링하였다 모뎀에 대하여는 이동국VHDL . CPU

운용 프로그램 중에서 부트스트랩 및 프로그램을 다운로딩하여 시뮬레이션을 수행하REX

고 의 정상적인 동작을 확인 완료하였다, CPU .

모델링 결과의 는 본 과제에서 별도로 병행 개발한 복조기 제 장 참조 변조VHDL CPU ( 6 ),

기 제 장 참조 디코더 제 장 참조 에 대응한 코드를 생성 통합하고 이동국의 디( 7 ), ( 8 ) VHDL ,

지털 회로부분에 대하여 소프트웨어에 의한 시뮬레이션을 수행하고자 할 때 하나의 마이크,

로 컨트롤러 역할을 하게 될 것이다 그리고 의 코드는 별도로 모델링한 메모리. CPU VHDL

를 포함하여 개의 독립적인 엔터티로 정의하여 구성하고 있으므로 각각은 개별적인 기능9 ,

소자 모델로도 활용 가능하다.

Page 144: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 144 -

참 고 문 헌

[1] S. Mazor and P. Langstraat, A Guide To VHDL Kluwer Academic publishers,

Norwell, MA, 1992.

[2] Intel, Embedded Microcontrollers and Processors. Vol. II, 1993.

[3] B. B. Brey, The Intel Microprocessors Macmillan Publishing Company, New

York, NY, 1991.

Page 145: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 145 -

제 장 개발6 Demodulator IC

Page 146: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 146 -

제 장 개발6 Demodulator IC

제 절 서론1

개요1.

시스템은 직접 확산 기술을 이용하여 송신 측에서 정보를CDMA (direct spread sequence)

대역폭보다 훨씬 넓은 대역으로 확산시키고 수신 측에서는 역 확산시킴으로써 송신정보를,

추출하고 잡음이나 간섭 등은 재 확산되어 정보신호의 대역폭에 맞는 필터에 의하여 제거된

다 또한 시간 다이버시티 주파수 다이버시티 공간. (time diversity), (frequency diversity),

다이버시티 등을 이용하고 이동국과 기지국간의 데이터 송수신시 항상 전(space diversity) ,

력제어 기능을 수행하여 과다한 신호 레벨을 갖는 송수신 정보를 배제하여 전송전력을 줄

일 수 있다 그리고 보코드를 이용하여 여러 가지의 데이터 율을 처리할 수 있기 때문에 백.

그라운드잡음 을 줄일 수 있으며 음성신호의 전송품질을 향상시킬 수(back ground noise)

있다 데시메이션 기술을 이용하는 비화 기능을 강화하여 가입자. (decimation) (encryption)

통화 시 비밀을 보장할 수 있다 또한 소프트 핸드오프 비 기술을 추가함으로. (soft hand off)

써 기존의 핸드오프에서 통화 중 기지국의 변경에 따른 문제점을 해소하였다 또한. , CDMA

기술의 이용으로 인하여 수용 가입자 수의 향상을 꾀할 수 있으며 주파수 재사용이 가능하

였다.

이와 같은 장점을 가질 수 있도록 시스템은 복잡하게 구성되어있으며 이동국의 수CDMA

신부분도 상당한 성능을 필요로 하기 때문에 기존 기술과는 다르게 구현되어야 한다 본 연.

구에서는 이러한 측면을 고려한 이동국의 디모듈레이터 을 설계하였다(demodulator) ASIC .

Page 147: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 147 -

연구 목표 및 내용2.

가 연구 목표.

디모듈레이터 알고리즘 연구(1)

디모듈레이터 사양 연구(2)

논리회로 설계(3)

나 연구 내용.

디모듈레이터 알고리즘 연구(1)

가 기존특허 분석( )

나 기술현황 분석( )

다 알고리즘 흐름도 작성( )

라 알고리즘 시뮬레이션( )

디모듈레이터 사양 연구(2)

가 시장분석( )

나 시스템 분석( ) CDMA

다 기존 사양 연구( )

라 디모듈레이터 사양 연구( ) ETRI

디모듈레이터 논리설계(3)

가 기존 논리 회로 분석( ) ASIC

나 디모듈레이터 기능설계( ) ETRI

다 논리설계 및 시뮬레이션( )

Page 148: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 148 -

제 절 본론2

기능 구성 및 알고리즘1.

이동국 디모듈레이터는 그림 과 같이 크게 파일럿 인식 및 서치1 (Pilot Acquisition) (Search)

부와 다중경로제어 부 심벌 컴바이너 부 수신 신호(Multi-path Control) , (Symbol Combiner) ,

크기 측정 부 그의 부가적인 기능 등으로 구성된다(Received Signal Strength Indication) , .

파일럿 인식 및 서치부는 초기 동기를 잡기 위한 기능을 수행하고 수신되는 파일럿채널로부

터 기준값보다 큰 경로를 선택하여 다중경로제어부에 할당하는 기능을 수행한다 다중경로.

제어 부는 그림 과 같이 채널 및 채널의 짧은 의사난수 계일 를1 I Q (Short PN Sequence)

이용하여 타이밍 트래킹 기능을 수행하고 주파수 전이제어 용 에(Frequency Shift Control)

러 주파수 값을 측정하는 기능과 월시 디커버링 기(Error Frequency) (Walsh Decovering)

능 심벌 컴바이너에서 다중경로에 대한 시간지연의 차이를 조절할 수 있도록 를 이용, FIFO

한 타이 및 버퍼링 기능을 수행한다 심벌 컴바이너부는 각 다중경로 제(Timing Buffering) .

어부로부터 오는 심벌을 합하는 기능과 디스크램블링 기능 전력제어 비트(Discrambling) ,

를 추출하는 기능 각 다중 경로제어기에서 측정된 에러 주파수를 합하(Power Control Bit) ,

는 기능 시스템 기준 시간을 설정하는 기능 등을 수행한다 수신 신호 크기 측정부는 디모, .

듈레이터 앞단에 있는 의 이득 조절 및 채널 및 채널용 의 오프셋 을 조AGC I Q ADC (offset)

절한다 그 외에 이동국용 마이크로프로세스 가 각 부의 동작을 제어하거. (Microprocessor)

나 감시하기 위한 이동국용 마이크로프로세스 인터페이스 기능(Microprocessor Interface) ,

실질적인 동작을 하지 않고 대기해 있을 시의 전력 소모를 줄이기 위한 저 전력 조절기능

등으로 구성된다 그림 참조.( 6-1 )

Page 149: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 149 -

그림 하드웨어( 6-1) Demodulator

Page 150: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 150 -

가 파일럿 채널 인식 및 서치.

수신 신호 에 이동국에서 발생시키는 자체 의사난수계열 를 상관(S(t)=Pi+jPq) (Pi-jPq)

을 시켜 실수 값을 구한 후 에너지 값으로 변환하여 그 평균값을 구하는 하드(Correlation)

웨어로 구성되어 있다 이 부는 칩만큼의 동기 해상도를 갖기 위하여 정시간. 1/2 (On-time)

하드웨어와 지연시간 하드웨어를 각각 갖고 있다(Late-time) .

파일럿 채널인식을 하기 위해서 디모듈레이터는 어리 기준시간 만(Early Threshold Time)

큼 상관시킨 수신신호의 에너지 값을 재어 기준값과 비교하여 기준값보다 작으면 다음 의사

난수 계열로 이동하여 상관 값을 재고 다시 기준값과 비교한다 이런 방법을 이용하여 기준.

값보다 크게 되면 서치시간을 늘려서 에너지를 잰 후 서치윈도우 만큼(Searcher window)

에너지를 잰다 잰 값 중 가장 큰 값을 선택하여 차 듀웰 에너지와 비교한 후. 1 (1st Dwell)

작으면 다음 윈도우로 옮겨서 이전의 과정을 다시 수행한다 만일 크면 차 듀웰 에너지와. 2

비교하고 여기서도 작으면 다음 윈도우로 옮겨서 이전의 과정을 수행한다 여기서 만일 크.

면 보다 더 확실한 초기 동기를 맞추기 위하여 세틀 시간 동안 이전의 과정을(Settle Time)

반복한다 그래서 최종적으로 모든 과정을 만족하면 초기동기를 선언한다. .

초기 동기가 선언되면 파일럿 채널 서치를 검색하여 다중경로제어기에 할당한다 서치윈도.

우 만큼 잰 에너지 중 임계 에너지보다 큰 에너지에 대하여 에너지 크기 순으로 정리한 후

경로 번호를 할당한다 할당된 경로 중 다중경로제어기 개수만큼 선택한 후 각 경로의 섹터.

를 비교한다 섹터가 같은 경우 기존의 다중경로제어기가 할당되어 있지 않으면 현(Sector) . ,

재의 경로들을 다중경로제어기에 모두 할당한다 만일 다중경로제어기가 미리 할당되어 있.

으면 경로 위치와 다중경로제어기 위치를 비교하여 기준값보다 작으면 찾은 경로와 다중경

로 제어기의 경로가 동일하다고 단정한 후 더 이상의 다중경로 제어기에 대하여 할당하지

않는다 그러나 경로 위치와 다중경로 제어기 위지를 비교하여 기준 값보다 크면 다중경로.

제어기에 있는 번호를 경로 리스트 에 등록시켜서 에너지 크기 순으로 배열한 후(Path List)

크기 순으로 다중경로 제어기에 할당한다 섹터가 다르면 에너지 크기 순으로 경로를 나열.

한 후 작은 에너지를 갖는 다중경로 제어기에 할당한다.

Page 151: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 151 -

나 다중경로 제어기.

파일럿 채널 인식 및 서치부에 의해서 할당된 다중경로 제어기는 칩 빠른 타이밍1/4 (Early

과 칩 지연된 타이밍 용 의사난수 계열 과 수신 신호timing) 1/4 (Late timing) (PN Sequence)

와의 상관 값에 대한 에너지 값을 비교하여 크기에 따라 의사난수 계열을 칩 지연시키1/8

거나 또는 빨리 생성시킨다 이런 과정 중에 정시간 의사난수 계열과 상관된 값. (On-Time)

에 대한 에너지를 상한 기준값과 비교하여 그 값보다 크면 동기가 맞는 것으로 단정하고 하

한 기준값보다 작으면 동기를 잃은 것으로 판정하여 서치가 다시 파일럿 채널을 찾는다 하.

한 기준값보다 크고 상한 기준값 보다 작으면 계속해서 타임 트래킹 기능을 수행한다 동기.

가 맞는다고 판정이 되면 정시간 의사난수 계열과 상관된 수신 신호는 월시 디커버 기능을

수행한다 싱크 채널 에 대한 윌시 디커버는 파일럿 채널에 대한 검색이 끝. (Sync Channel)

나자마자 싱크 채널에 해당하는 번째 월시 코드를 생성시켜 상관을 수행한다 페이징 채32 .

널 에 대한 윌시 디커버는 첫 번 페이징 채널용 월시 코드를 생성시켜 수(Paging Channel)

신 신호와 상관시키며 나머지 페이징 채널에 대한 월시 코드는 페이징 채널의 메세지에 들

어 있는 월시 코드 번호를 이용하여 수행한다.

Page 152: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 152 -

트래픽 채널 의 월시 디커버는 페이징 채널 메세지에 들어있는 트래픽 채(Traffic Channel)

널을 위한 월시 번호를 이용하여 해당 월시 코드만 생성시켜서 수신신호와 상관시킨다.

다 심벌 컴바이너. (Symbol Combiner)

심벌 컴바이너는 개의 다중경로 제어기의 에 들어있는 심벌을 동시에 읽어서 합하는3 FIFO

기능을 수행한다 합쳐진 심벌은 싱크 채널인 경우에는 그대로 디인터리브. (Deinterleaver)

로 보내어진다 그러나 페이징 채널이나 트래픽 채널인 경우에는 디스크탬블링이 되어서 디.

인터리브로 보내어진다 디스크램블링은 긴 주기 의사난수 발생기로부터 나오는 의사난수의.

개 칩마다 하나씩 추출된 결과 값과 합쳐진 심벌과 모듈라 덧셈을 수행하는 것을 의미64 2

한다.

또한 트래픽 채널인 경우에는 다중경로 제어기로부터 들어오는 수신신호에서 전력제어 정보

를 추출하는 기능을 수행하는데 먼저 필요한 다중경로 제어기를 선택하고 셀을 선택한 후

로 데시메이션 된 코드를 다시 코드 중에 주기 중 마지막 비64:1 (Decimation) 24 800Hz 4

트를 디코딩 하여 전력제어 비트 위치를 찾아내어 수신 심벌로부터 전력제어 비(Decoding)

트를 추출하여 이를 적절한 포맷으로 바꾸어 이동국의 송신부로 보내어 이동국의 송신 신호

의 전력 세기를 조절한다 이때 추출된 값이 하나라도 이면 송신 신호의 틀 줄이. , “1” Power

고 추출된 개의 값이 모두 이면 송신 신호의 전력을 증가 시키도록 한다 또한 추출, 3 “0” . ,

된 심벌 위치에는 값이 을 삽입하여 디인터리브로 보낸다“0” .

각 다중경로 제어기에서 측정한 에러 주파수 값을 합하여 평균을 취한 후 값으로 만들어DC

클록의 주파수 전이를 조절한다VCTCXO .

Page 153: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 153 -

페이징 채널을 수신하는 동안 핸드오프 가 발생할 수 있는데 현재의 액티브 세트(Handoff)

를 검색하여 다중경로 제어기 개수만큼 선택하여 총에너지를 계산한 후 필터링(Active Set)

된 에너지 평균 에너지 를 구하여 저장해둔다 남은 액티브 세트가 없으면 페이징 채널 메( ) .

세지에 등록되어있는 네이브 세트 를 검색하여 다중경로 제어기 개수만큼 선(Neighbor Set)

택하여 총에너지를 계산한 후 이전 액티브 세트의 필터링 에너지와 평균을 취하여 네이브

용 필터링 에너지를 구하여 액티브 세트의 필터링 에너지와 비교한다 비교(Neighbor Set) .

한 값이 기준치보다 크게 되면 이동국은 네이브 세트를 액티브 세트로 등록하고 기존의 모

든 다중경로 제어기의 할당을 취소하고 새로 등록된 액티브 세트에 대하여 경로를 검출하여

다중경로 제어기에 할당한다 이와 같은 핸드오프를 하드핸드오프 라고 한. (Hard Hand off)

다 트래픽 채널을 수신하는 동안에 발생하는 핸드오프를 소프트 핸드오프. (Soft Hand off)

라고 하는데 이것은 액티브 세트의 필터링 에너지가 특정 기간동안 하한 기준값보다 작은

경우와 캔디데이트 세트 의 필터링 에너지와 액티브 세트의 필터링 에너지(Candidate Set)

와 비교한 값이 기준값보다 큰 경우 네이브 세트의 필터링 에너지와 액티브 세트의 필터링,

에너지와 비교한 값이 기준값보다 큰 경우에 발생하는데 이런 경우가 발생하면 이동국은 기

지국으로 이런 사실을 통보한 후 기지국으로부터 핸드오프 수행 메세지를 받아야 핸드오프

를 수행한다.

논리설계2.

논리 설계는 퀄콤의 기존 와 호환성을 가지게 하였다 이에 따라서 와 정보를 주고IC . CPU

는 레지스터는 같은 포맷을 사용하였다.

Page 154: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 154 -

그리고 입출력 핀의 정의도 갈이 하였다 따라서 논리 설계는 퀄콤의 제안 기능을 모두 구.

현하는 것으로 되었다 이러한 기능 중에 기지국에서 보내져오는 파일럿 채널을 검출하는.

서치가 있고 서치의 결과로부터 칩 동기를 맞춘 후 이동하는 전화기의 신호전달 지연을l/2

보상하는 파일럿 채널 추적기능과 각 채널 특성을 부여하는 월시함수를 제거하는 핑거가 있

다 그리고 핑거에서는 를 두어 핑거에서 추출한 심벌을 저장하여 시간 차이를 두고. FIFO

이들 신호들을 처리할 수 있게 하였다 이 기능은 기능설계에서 다중경로 제어부와 일치한.

다.

그리고 중간주파수 영역에서 기저대역으로 떨어뜨리는 이동 전화기에서 생성하는 중간 주파

수와 실제 신호가 실려 있는 중간 주파수가 일치하지 않음으로써 생기는 위상 차이에 의한

신호변화를 보상하기 위한 주파수 추적기능이 있다.

채널의 특성상 여러 개의 시간지연을 달리하면서 들어오는 신호가 있다 이러한 신호들을.

분리 저리하여 최종적으로 합하여 주기 위하여 세 개의 핑거가 있다 이들 세 개의 핑거에.

서 추출한 심벌을 합하여 주는 컴바이너가 있다 여기서는 합쳐진 신호에 대하여 디스크램.

블링을 위한 긴 주기를 가지는 의사난수 신호를 곱하여 준다 아울러 기준 클록들을 만들어.

외부 칩에 공급하는 기능을 가지고 있다.

한편 기지국에서는 모든 이동 전화기에서 보내져오는 신호의 레벨을 일정하게 유지하기 위

한 정보를 항상 보내준다 따라서 수신신호에서 전력제어 신호를 추출하여 이동 전화기의.

전송전력을 조절한다 그리고 수신기가 핸드오프를 할 때 각 셀에서 전력제어비트가 다를.

수 있다 이 경우 이들 신호들을 분리 처리하여 전력제어를 결정한다. .

디모듈레이터의 앞단에 아날로그 신호에서 디지털 신호로 바꾸어 주는 기능이 있다 이 때.

신호의 중간 전위를 설정하여 값으로 변환을 시킨다+/- .

Page 155: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 155 -

이 중간 전위가 틀려지면 입력신호의 값이 한쪽으로 치우치는 문제가 생긴다 이러한+/- .

편이는 다음에 있는 신호처리 부에서 문제가 됨으로 이를 제거하기 위한 의 중간 전위ADC

를 제어하는 기능이 필요하다.

입력 신호 자체의 크기가 너무 작거나 클 경우 원래의 신호를 제대로 전달 못하기 때문에

이를 적절한 값으로 조절하는 기능이 필요하다.

가 서치 기능.

입력 신호에 대하여 자체 생성한 의사난수 발생기 신호를 곱하여 이들의 상관 값을 비I/Q

교한다 최초의 동기를 맞추는 과정에서는 에서 보내져오는 술루 값만큼 이동을. CPU (slew)

하여 의사난수를 만든다 슬루잉을 시킬 때 현재보다 의사난수를 빨리 생성하거나 늦게 생.

성하는 두 가지의 경우가 있다 빨리 생성할 때는 실제 의사난수 계열 운영 클록보다 빠른.

추파수의 클록을 사용한다 늦게 생성할 때는 실제 운영 클록보다 늦게 운영하거나 클록을.

사용하지 않으면 된다.

이 때 상관 값을 어리 적분시간 의 적분결과에 대하여 주어진 비교(early integration time)

치를 가지고 비교한 후에 비교치보다 작으면 새로운 의사난수 발생을 시킨 후 다시 상관 값

을 만들어 비교치와 비교한다 이 과정을 거친 후 서치 적분시간만큼 적분을 한 후 에. CPU

서 주어진 서치 적분회수만큼 적분을 반복한다.

그러나 입력신호가 중간주파수의 불일치로 생기는 위상차 성분이 포함되어 있다 따라서 이.

런 성분을 제거할 수 있는 상관관계를 만들어야한다 그리고 의사난수 발생을 시킬 때 주어.

진 조건에 따라 빨리 생성하거나 느리게 생성하여 원하는 의사난수 발생 회로를 만들어야

한다 아울러 퀄콤 방식의 특성상 의 상태를 가지는 것이 아니고 이 번 반복될. 2**15-1 0 14

때 을 한번 더 삽입하는 것이 필요하다0 .

Page 156: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 156 -

그리고 실제 의사난수 발생기는 기존 확산신호에서 각 기지국 별로 옵세트을 더하여 운영되

기 때문에 이러한 기능을 하는 확산 의사난수 발생기가 필요하다.

초기 동기 시에는 최대 에너지와 그 때의 지수 값을 에 알려주고 각 의사난수 상태별CPU

로 에너지를 재어 를 통하여 메모리에 저장된다 초기동기 후 핑거를 할당할 때도 각DMA .

의사난수 상태별로 에너지를 재어 를 통하여 메모리를 저장한다DMA .

신호는 에서 로 샘플링하여 입력 시킨다 그러나 실제 필요한 데이터는 한 칩ADC CHIPX8 .

에 하나의 데이터가 있으면 되기 때문에 이를 데시메이션하는 기능이 상관기에 포함되어야

할 것이다 여기서 필요한 적분기는 모두 어큐뮬레이터를 사용하였으며 기준값과 적분 값을.

비교하는 부분은 비교기를 사용하였다.

나 핑거 기능.

서치의 기능과 중복되는 부분이 많이 있다 즉 입력신호의 상관기와 의사난수 발생기 및 발.

생기 제어기는 같은 기능을 하고 있다 그러나 여기에서 처리해야하는 것은 파일럿 신호의.

에너지를 계속 측정하는 것이 필요하다 에너지 값을 만들기 위하여 상관기의 출력신호. I/Q

를 제곱하여 극성을 제거하여 이들을 더하여 최종 에너지를 만든다 이 에너지를 이용하여.

정해준 범위에 들면 현재 신호에 대하여 동기가 맞는 것으로 단정하여 이 신호를 다음의 컴

바이너에 전달하여 현재의 핑거가 유효한 데이터를 가지고 있음을 알려준다 이 범위는 히.

스테리시스 특성을 가지고 있어 두개의 문턱 값을 가지고 있다 즉 비 동기 상태에서 동기.

상태에 들어갈 때 판정하는 값이 동기 상태에서 비동기 상태로 들어갈 때 판정하는 값보다

크다.

Page 157: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 157 -

아울러 주파수보정을 위한 추적기능이 포함되어야 한다 주파수 에러항이 포함된 신호를 만.

들어 이를 보상할 수 있는 제어신호를 만들어야한다 제어신호는 신호 포맷으로 구현. PWM

을 하고 있다 그리고 각각 다른 핑거의 서로 다른 주파수 에러신호를 합하여 처리하는 것.

이 필요하다.

신호의 처리를 위하여 상관기에서 월시 함수를 곱하여 원하는 채널만 선택하여 이를 출력으

로 내보낸다 월시 신호 생성기는 표준안의 월시 테이블로부터 이를 만족하는 생성기를 만.

들면 된다 이 신호를 로 넣어 컴바이너에서 읽어가기를 기다린다. FIFO .

트래킹을 위하여 먼저 두개의 신호를 만들어야 한다 즉 하나의 신호는 원 신호의 시간과.

같은 시간의 의사난수 발생을 시킨 신호와 상관을 시키고 나머지 신호는 이보다 지연시킨

의사난수를 발생시켜 상관을 시킨다 이 두 값의 차이를 이용하여 새로운 의사난수 발생 시.

간으로 옮긴다 이렇게 해줌으로써 계속해 의사난수와의 동기를 맞춘다. .

다 컴바이너 기능.

세 개의 입력신호를 받아 이를 더한다 그러나 신호를 더하기 위한 조건으로 핑거의 신호가.

사용될 수 있는 신호인지를 핑거의 록 신호를 받아 결정하여 이들 신호들을 더한다(lock) .

더하여진 신호는 긴 주기의 의사난수 발생기를 데시메이션하여 스크램블링 데이터를 원 신

호로 복구한다 이들 신호비트를 최종적인 출력으로 보내기 위하여 병렬신호에서 직렬신호.

로 바꾼다 그리고 타임 트래킹된 결과 값을 이용하여 이 값을 컴바이너에서 처리하여 에러.

가 생길 것 같은 심벌 위치를 알아내어 심벌 구간을 변경시킨다 따라서 이 심벌 구간에 대.

한 자료를 디인터리브로 함께 전송을 해야 한다.

Page 158: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 158 -

그리고 또 하나의 중요한 기능은 전력제어 비트 처리를 들 수 있다 하나의 셀에서 신호를.

받고 있을 경우 신호처럼 그냥 더할 수 있다 그러나 하나의 셀이 아니고 여래개의 셀에서.

동시에 신호를 받을 경우 각 셀이 원하는 전력제어 내용이 다를 수 있다 이 경우 각각의.

신호를 더하여 만약 셋 중에서 전력을 줄이라는 신호가 하나라도 있으면 전력을 줄이는 쪽

으로 간다 이렇게 함으로써 새로운 셀에 더욱 큰 신호를 주고 나머지 셀에게는 적은 신호.

를 보냄으로써 원하는 핸드오프가 이루어진다.

한편 이 칩이 제공하는 기준 시간은 심벌 경계신호 신호가 있다 전자의 경우, SYNC80M .

한 심벌의 경계를 나타내는 신호로써 채널에 따라 주어진 심벌 구간에 변한다 그리고 이.

심벌 구간은 타임 트래킹 결과에 의하여 약간씩 수정되어 최종 심벌 경계신호가 된다.

신호는 세 개의 의사난수 발생 신호주기에 의하여 생성되는 신호로써 에서SYNC80M CPU

어떤 의사난수 발생 신호부터 생성할 것인지를 받는다.

라 전력 측정 기능.

신호로부터 각각의 신호를 받아 신호의 크기를 결정하기 위하여 모든 신호를 절ADC I/Q

대화 하여 그것의 크기를 잰다 이들 신호로부터 원하는 제어를 위한 신호를 생성시. PWM

켜 내보낸다 입력 신호에 대하여 주어진 시간동안 더하여 신호의 크기를 추출한다. .

그리고 신호의 옵세트를 조절하기 위한 제어신호를 만들기 위하여각 신호를 더하여 그I/Q

것의 극성을 알아내어 그 결과 신호가 줄어지는 쪽으로 제어신호를 생성한다.

Page 159: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 159 -

제 절 결론3

본 연구에서는 년 초에 세웠던 계획에 따라 먼저 시장조사를 통하여 기존에 사용 사용되고

있는 디모듈레이터 들에 관하여 조사를 하였다IC .(TM-2110-93-45)

또한 디모듈레이터와 관련된 국내외 특허현황을 조사하고 그 내용을 분석하였

다 이와 동시에 디모듈레이터 기술현황을 분석하여 코드 특성 및.(TM-2110-93-45) PN

채널특성 월시코드 등 디모듈레이터 이론적인 배경을 정리하여 알고리즘 연CDMA , CDMA

구에 참조하였다 알고리즘 연구에서는 기존의 디모.(TM-2110-93·63, TM-2110·93-135)

듈레이터 알고리즘을 분석하여 초기동기 알고리즘과 부호추적 알고리즘 심벌 컴바이닝 알,

고리즘 등 이동국 디모듈레이터의 핵심 알고리즘의 흐름도를 확립한 후CDMA

사의 을 이용하여 알고리즘 시뮬레이션을COMDISCO SPW(signal processing worksystem)

수행하였다 또한 기존의 이동국의 초기동.(TM-2110-93-127, TM-2110-93-153) CDMA

기 기능 부호추적기능 심벌 컴바이닝 기능 파워 측정기능을 위한 세부 기능을 정립하고, , ,

동작 지침을 확립하였다 시스템의 모든. (TM-2110-93-130, TD-2110-93-170) CDMA

은 의 동작과 밀접하게 연관되어 있음으로 디모듈레이터 의 완전한 동작을ASIC CPU ASIC

이해하기 위하여 소스프로그램을 분석하여야 한다 본 연구에서는 이동국 의 소CPU . CPU

스프로그램을 분석하여 에서 디모듈레이터 내에 레지스터에 쓰여 질 데이터와CPU ASIC

읽혀질 데이터가 어떻게 연산되는지를 분석하였다.(TD2110-93-134, TM-2110-93-290)

분석된 기능으로부터 논리회로를 설계하여 용을 이용하여 논리 시뮬레션을 수행COMPASS

하였다.

Page 160: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 160 -

또한 의사난수 마스크 생성기를 이용한 의사난수 발생 장치 에 대한 국내특허를 출원하였“ ”

고 비선형 결합함수를 이용한 난수계열의 특성분석 이라는 제목으로 통신학회에 논문을 발“ ”

표하였다 아울러 방식 휴대전화 수신기.(TD-2110-93-175, TD-21l0-93-168) “CDMA

시뮬레이터 프로그램을 개발하여 등록하였다” .

본 연구의 결과는 향후의 이동국용 설계나 기지국용 디모듈레이터 설계CDMA MSM ASIC

를 위한 자료로써 많이 활용될 것으로 기대된다.

Page 161: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 161 -

참 고 문 헌

1. TR45, “Mobile Station-Base Station Compatibility Standard for Dual-Mode

Wideband Spread Spectrum Cellular System”, Feb. 1993.

2. Quallcom, “CDMA Mobile Station AS1C Specification Sheet”, Nov. l991.

염흥렬 위탁과제 최종보고서 이동국 통신에 적합한 개선된 복조 알고리즘에 관한 연3. , “

구”, 1993. 11.

Page 162: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 162 -

제 장 개발7 Modulator IC

Page 163: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 163 -

제 장 개발7 Modulator IC

제 절 서 론1

연구의 목적1.

본 연구에서는 이동국 단말기의 핵심 요소기술 중의 하나인 이동국용CDMA CDMA

의 기능 및 알고리즘을 분석 평가 설계하여 칩으로 구현하는 기반기술을Modulator , , , ASIC

구축하고자 한다.

연구의 필요성2.

최근 정보통신 사업에서 크게 부상하고 있는 이동통신 분야는 국내는 물론 선진국마다 향후

의 세계통신 시장을 주도하게 될 것이라는 판단 아래 관련 기술의 개발 및 디지털 서비스의

상용화를 서두르고 있다 전 세계적인 가입자 수의 폭증에 따라 발생하는 시스템 용량의 포.

화를 해결하기 위해서 디지털 방식의 이동 통신 시스템이 개발되고 있으며 국내에서는,

방식을 우리나라 디지털 이동통신의 표준으로 잠CDMA(Code Division Multiple Access)

정 결정하였다 방식의 개발 회사인 은 관련 기술을 선점하고 주. CDMA Qualcomm CDMA

요 핵심기술의 화를 진행하면서 독점화를 추구하고 있다ASIC , .

따라서 우리는 이동통신의 핵심 기반 및 요소 기술을 확보하여 기술적 자립을 통해CDMA

국내 실정에 맞는 이동 통신 시스템을 만들어야한다.

연구의 범위3.

이동국용 개발 과제의 연구범위는 다음과 같다CDMA Modulator IC .

가 방식 및 기술현황 분석. CDMA

Page 164: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 164 -

나 관련 특허조사. CDMA

다 이동국 의 사양 분석. Modulator

라 알고리즘의 분석 및 성능 평가.

마 기능 및 구조의 분석.

바 논리설계 및 시뮬레이션.

사 모델링 및. VHDL Synthesis

제 절 본론2

의 개요1.Modulator IC

이동통신 시스템은 기지국에서 이동국 방향 와 이동CDMA Forward Link ( ) Reverse Link (

국에서 기지국 방향 의 두 가지 경로를 갖는다 이 경우 전력 문제에 따른 신호의 전) . Pilot

송여부에 따라서 순방향 링크 에서는 동기방식 역방향 링크(Forward Link) , (Reverse Link)

에서는 비동기 방식을 사용하게 된다 특히 역방향 링크에서는 비동기 방식이 갖는 성능 저.

하를 보완하기 위해 간섭에 강한 성질을 갖는 수신기의 설계가 요구된다.

이동국용 의 기능 블록도를 그림 에 도시하였다 그림 과 같이CDMA Modulator ( 7-1) . ( 7-1)

이동국용 는 길쌈부호기 인터리버CDMA Modulator (Convolutional Encoder), (Inter

변조기 발생기leaver), Walsh (Walsh Modulator), PN Sequence , FIR(Finite Impulse

필터 그리고 디인터리버 등을 결합한 형태로 구성된다Response) , (Deinter leaver) .

로부터 그리고 의 가변 데이터 로 전Vocoder 9600bps, 4800bps, 2400 bps, 1200bps Rate

송된 이진 정보는 길쌈부호기에 의해 부호화되고 다시 반복 되어 인터(Binary) (Repitition)

리버를 통과한 후 직교변조기에 입력된다 직교변조기에서는 입력신호를 대응되는 직교부호.

로 매핑 한 후 와 두 종류의 로(Mapping) , Long Code PN Sequence Short PN Sequence

확산시키고 변조하여 전송한다OQPSK(Offset Quadrature Phase Shift Keying) .

Page 165: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 165 -

그림 이동국용 의 기능 블록도( 7-1) CDMA Modulator

Page 166: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 166 -

길쌈부호기의 출력을 코드심벌 이라 하는데 이 코드심벌은 의 전송(Code Symbol) , 28.8Ksps

률을 갖는다 인터리버를 통과한 코드심벌 개를 하나의 심벌이라 하며 심벌. 6 Walsh , Walsh

은 의 전송률을 찾는다 하나의 심벌은 개의 칩으로 매핑되고4.8Ksps . Walsh 64 Walsh ,

칩은 의 전송률을 갖는다 하나의 칩은 개의 칩에 의해 확산Walsh 307.2Kcps . Walsh 4 PN

되어 의 전송률을 갖게 된다 그리고 이는 및1.2288Mcps . I(In-Phase)

채널로 나뉘어져 과 배 기능을 찾는Q(Quadrature-Phase) Pulse Shaping 4 Interpolation

필터를 각각 통과한 후 의 전송률을 갖게 된다FIR 4.9152Mcps .

한편 여기서는 부호를 사용하므로 개의 비트를 입력으로하는 개의 길, 64 × 64 Walsh , 2 6

쌈부호기 출력을 변조기 입력으로 사용한다.

와 는 주기가 각각Long PN Sequence Short PN Sequence 242 과-1 215이며, Long PN

는 사용자별로 서로 다른 를 부여하기 위해 발생기Sequence PN Sequence PN Sequence

의 레지스터 출력을 사용자 고유 부호와 마스킹 한다 두 종류의(Masking) . Short PN

는 모든 사용자에게 동일하게 사용되며 채널과 채널을 분리 시켜 입력 신호Sequence , I Q

의 직 병렬 전이 없이 변조를 가능하게 한다/ OQPSK .

순방향 링크에서는 네 종류의 채널을 채택하고 역방향 링크에서는 두 종류의 채널 즉 트, ,

래픽 채널과 액세스 채널을 사용한다 트래픽 채널은 통화 중 일 때 쓰이(Traffic) (Access) .

고 데이터 속도는 프레임 길이 당 중에서 가변이(20 msec) 9600, 4800, 2400, 1200bps

다 액세스 채널은 통화중이 아닐 때 이동국이 기지국을 호출하거나 기지국이 페이징. ,

채널로 이동국을 호출할 때 그에 대한 응답 등에 쓰이고 의 고정 데이터(Paging) 4800bps

전송속도를 갖는다.

Page 167: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 167 -

의 논리 설계2. Modulator IC

가 길쌈부호기.

로부터 그리고 의 가변 데이터 로 전Vocoder 9600bps, 4800bps, 2400bps, 1200bps Rate

송된 이진 정보는 길쌈부호기 에 의해 부호화된다(Binary) (Rate=1/3, Constraint length=9) .

및 각 프레임에는 프레임 상태 지시기로서9600bps 4800bps CRC(Cyclic Redundancy

가포함되며 전송속도 및 에는 프레임 상태 지시기가 사용되지 않Code) , 2400bps 1200bps

는다 각 역방향 채널 프레임의 마지막 비트는 으로 세트된 인코더 테일 비트가 부가되. 8 0

며 이는 프레임 상태 지시기 계산 시 포함되지 않는다 길쌈부호화기는 입력 데이터 비트, .

각각에 대해 개의 코드심벌을 발생시키며 각 심벌은 의 데이3 , 9600, 4800, 2400, 1200bps

터에 대해 각각 번씩 반복하여 출력된다 부호화된 각 코드 심벌은 의 전1, 2, 4, 8 . 28.8Kcps

송률로 인터리버로 출력된다.

그림 에 길쌈부호기의 기능 블록도를 도시하였다 은 비트로 구성되( 7-2) . ENC_RAM 32×8

며 의 출력을 가 제어하여 을 통해 로 입력되는 한 프, Vocoder uP uP_BUS[7:0] ENC_REG

레임의 정보를 저장하는 버퍼 역할을 한다.

ENC- 의 동작은 에 의해RAM Write uP ENC- 이 어드레싱 되면 어드레스 카운터REG , Write

가 동작하기 시작하고, ENC- 의 신호가 발생되어RAM Write Enable ENC- 의 비트 데REG 8

이터를 ENC- 에 한다RAM Write . ENC- 의 동작은 블록의RAM Read Main Control

신호가 입력되면 어드레스 카운터가 되어ENC20M , Read Reset ENC- 에 저장된 입력RAM

데이터를 한다Read .

신호는 과 레지스터 값에 의해 생성된 내부 과ENC20M SYNC80M Offset REV80M

보다 앞서서 발생한다REV20M .

Page 168: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 168 -

이 시간동안 처음 심벌 인터리버 의 열의 앞 코드심벌 을 형성하기 위한 길Walsh ( RAM 1 6 )

쌈부호기에 의한 부호화와 인터리버 동작이 수행된다Write .

그림 길쌈부호기의 기능블록도( 7-2)

나 인터리버.

인터리버는 길쌈부호기로부터 출력된 코드심벌을 받아 블록 형태로 인터리빙 한다 심. 576

벌을 인터리빙하는 시간은 프레임 이다 인터리버 메모리는 열 행으Vocoder 20ms . 32 ×18

로 구성된다 코드심벌은 메모리의 행 방향으로 순차적으로 쓰여지고 개의 코드심벌이 하. , 6

나의 심벌을 이루어 의 전송률로 열 방향으로 읽혀진다Walsh 4.8Ksps .

그림 에 인터리버의 기능 블록도를 도시하였다 인터리버( 7-3) . RAM(INT- 은RAM) 576×1

비트가 필요하나 의 에 의해 비트로 구현하였다Compass Library Cell Compiler 56×4 .

Page 169: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 169 -

INT- 의 동작은 신호에 의해 길쌈부호기 블록으로부터 출력되는 코드RAM Write ENC20M

심벌을 행단위로 번지부터 번지까지 순차적으로 한다0 575 Write . INT- 의 동작RAM Read

은 신호에 정확히 동기 되어 심벌REV20M Walsh (INT- 의 열의 앞 코드심벌 을 형RAM 1 6 )

성하기 위해 변조기 블록에서 생성된 신호를 받아 코드심벌씩 주어진 열 순Walsh 6 Read

서에 따라 한다Read . INT- 의 어드레스는 어드레스 카운터 어드레스 카RAM Write , Read

운터 어드레스 카운터 그리고 테스트 모드를 위한, Bypass , RAM-ADDR- 레지스터의 값0

에 의해 생성된다.

그림 인터리버의 기능 블록도( 7-3)

다 변조기. Walsh

변조기는 인터리버로부터 출력된 의 전송률을 갖는 하나의 심벌을Walsh 4.8Ksps Walsh

심벌을 이용해서 생성되는 개의 상호 직교인 파형중의 하나인 개의 칩Walsh 64 64 Walsh

으로 매핑하여 의 전송률로 출력시키는 기능을 수행한다307.2Kcps .

Page 170: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 170 -

그림 에 변조기의 기능 블록도를 도시하였다 변조기는 진 카운터로( 7-4) Walsh . Walsh 64

간단히 구현할 수 있는 함수를 사용하여 쉽게 설계되어진다 인터리버의Rademacher .

출력인 개의 코드심벌을 직 병렬 변환기를 통하여 비트의 심벌을 생성한Serial 6 / 6 Walsh

뒤 함수를 구현한 진 카운터의 출력 비트와 논리곱 하고 의 출, Rademacher 64 6 AND( ) , AND

력 비트를 이진덧셈 하여 변조를 완성시킨다6 (XOR) Walsh .

그림 변조기의 기능블록도( 7-4) Walsh

라 발생기. Long Code PN Sequence

역방향 트래픽 채널과 액세스 채널은 에 의해 직접 확산된다 이Long Code PN Sequence .

확산은 변조기의 출력과 와 이진덧셈을 함으로써 수행된다Walsh Long Code . Long Code

는 사용자별로 서로 다른 를 부여하기 위해 발PN Sequence PN Sequence PN Sequence

생기의 레지스터 출력을 사용자 고유 부호와 마스킹 한다(Masking) .

Page 171: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 171 -

사용자 부호에 의한 마스킹은 레지스터 출력부호를 시간적으로 천이시키는 역할을 하며PN

같은 구조의 발생기에서 많은 가지 수의 를 발생 시킬 수 있PN Sequence PN Sequence

다 이 는 아래의 특성 다항식을 만족하는. Long Code LSSR(Linear Sequence Shift

에 의해 발생되며 주기는Register) , 242 이다-1 .

P42(x) = x42 + x35 + x31 + x27 + x26 + x25 + x22 + x21 + x19 + x18 + x17 + x16+

x10 + x7 + x6 + x5 + x3 + x2 + x1 특성다항식+ 1 ( )

그림 에 와 발생기의 기능 블록도를 도시하였( 7-5) Long Code Shod Code PN Sequence

다 발생기는. Long Code PN Sequence PN42- 레지스터 값에 의해 초기화STATE[41:0]

되는데 마다, REV80M(80msec) PN42- 가 된다 또한 사용자별로 서로STATE[41:0] Load .

다른 를 부여하기 위한PN Sequence PN42- 는 마다MASK[41:0] REV20M(20msec) Load

된다.

그림 발생기의 기능 블록도( 7-5) Long Code/Short Code PN Sequence

Page 172: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 172 -

마 발생기. Short PN Sequence

에 의해 직접 확산을 수행한 후에는 확산을 수행한Long Code PN Sequence Quadrature

다 이 확산을 위해 사용되는 는 순방향 채널에서 사용되는. Sequence CDMA Zero-Offset

이다 이 는I, Q Pilot PN Sequence . Sequence 215 칩의 주기를 가지며 각각 다음의 특성,

다항식에 의해 생성된다.

PI(x) = x15 + x13 + x9 + x8 + x7 + x5 + 1 (I-Phase Sequence)

PQ(x) = x15 + x12 + x11 + x10 + x6 + x5 + x4 + x3

+ 1(Q-Phase Sequence)

비트 발생기는 마다15 I, Q PN Sequence REV80M I- 와PN15_STATE[14:0]

Q-PN15- 로 되고 주기를STATE[14:0] Load , 215로 하기 위해 연속되는 개의 출력이14 0

발생 시 이를 검출해 비트 의 출력에 하나의 삽입하는15 I, Q PN Sequence 0 zero

을 가지고 있다 이 확산변조는Insertion Logic . OQPSK (Offset Quadrature Phase Shift

으로 에 의해 확산된 데이터는 에 의해Keying) Q Pilot PN Sequence l Pilot PN Sequence

확산된 데이터 보다 반칩 시간만큼 지연되어 있다(406.90lnsec) .

바. Data Burst Randomizer

방식을 이용한 시스템에서는 다른 사용자의 신호가 자신에게는 잡음이 되기 때문에CDMA ,

모든 사용자의 송신 전력이 낮을수록 채널의 용량은 증가되고 고품질의 통화를 할 수 있다.

그러므로 신호를 전송하기 전에 길쌈부호기에서 보다 낮은 전송률을 갖는 데이터9600bps

의 경우 반복되어 인 경우와 같이 의 전송률을 갖게 된 데이, 9600bps 28.8ksps Redundant

터를 전송하기 전에 제거해야 한다.

Page 173: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 173 -

이 데이터를 제거하기 위해 전송 데이터를 마스크하는 역할은Redundant Data Burst

에 의해 수행된다 액세스 채널인 경우 마스크 동작은 일어나지 않는다Randomizer . .

사. FIR Filter

서로 다른 비트 에 의해 확산된 채널의 신호는 각각 를 제거15 PN Sequence I, Q Sidelobe

하기 위해 필터를 통과한다 이 필터는 채널에 똑같은 필Pulse Shaping . I, Q 48 Tap FIR

터 구조를 갖는다 특히 필터의 임펄스 응답 을 이라 하면 우선. , (Impulse Response) h(n) ,

은 특성을 만족하기 위해 일 때 을 만족하여야 한다h(n) Casual n<0 h(n)=0 . h(n)=h(47-n)

의 관계식을 만족하는 대칭형이며 따라서 선형위상 특성을 보인다, (Linear Phase) .

이 필터는 기본적으로 구간이 대략 이며FIR Transient Response 590 - 740 ,㎑ ㎑

에서의 은 이내이고 에서의 감쇄는 대략 를 만Passband Ripple ± 1.5dB , Stopband -40dB

족시킨다 또한 이 필터는 배의 을 통하여 기능을 수행한다. 4 Oversampling Interpolation .

본 연구에서는 종래의 변조방식이나 변조방식의 인터플레이션 필터QPSK OQPSK 1:4 FIR

가 채널용과 채널용 두개의 독립된 필터를 필요로 하고 하나의 필터 또한 복I- Q- FIR , FIR

잡한 회로구성으로 구현되어 있는 점을 개선하여 다중화된 필터 입력을 사용하는 새로, FIR

운 필터 입력방식으로 채널용과 채널용 두개의 필터를 하나로 줄였고 복잡한FIR I- Q- FIR ,

회로구성 또한 선택된 계수그룹과 발생 가능한 모든 필터 입력 데이터를 미리 승산하고 적

산하여 저장시킨 새로운 구성의 적산계수 어드레싱 방식을 고안하여 극소화된 회로구ROM

성으로 개선함으로써 전력소모 및 회로의 크기를 최소화하였다, .

Page 174: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 174 -

아 디인터리버.

순방향 링크에서는 네 종류의 채널 즉 파일럿 동기 페이징 그리고, (Pilot), (Sync), (Paging),

트래픽 채널이 존재한다 파일럿 채널은 비 변조된 확산대역 통신신호를 전송하며 섹터. DS ,

및 셀을 구분하기 위해 사용된다 또한 매우 정밀한 위상 시간 신호강도의 표준을 제공하. , ,

여 섹터 또는 셀의 모든 사용자가 상기 표준으로 사용한다 동기 채널은 고정된 데이터전송.

속도 를 가지고 저 전력 확산대역 통신신호를 전송한다 그리고 이것은 이동국1200bps DS .

에 시스템 타임 동기 제공과 발생기의 상태를 표시하고 페이징 채널의 데이터Long Code ,

속도를 표시한다 페이징 채널은 통화중이 아닐 때에 기지국이 이동국을 호출하는데 쓰이.

며 데이터 전송속도는 를 갖는다 또한 호출 채널 전송을 위한 승인, 2400, 4800, 9600bps .

에 쓰인다.

동기 페이징 그리고 트래픽 채널에만 인터리버가 있으며 페이징과 트래픽 채널의 인터리, , ,

버는 똑같은 구성을 갖는다 이에 대한 디인터리버는 인터리버의 역으로 동작한다. .

디인터리버 블록은 로부터 심벌을 받는다 이 심벌은 순방향 링크Demodulator Serialized .

에 전송된 데이터로부터의 비트 을 포함한다 또한 비트 이외에도 역방향4 Soft Decision . 4

링크의 타이밍이 빠른지 늦은지 정상적인가를 명시하는 비트를 받는다 심벌 열은, , 2 .

되고 그 다음 비트 심벌은 비트 에서 디인터리빙 된다 디인터리Deserialize , 4 384×4 RAM .

빙된 심벌은 다시 되어 로 출력된다 디인터리버는Serialize Viterbi Decoder . SYNC80M

신호에 의해 동기되고, RXSYM- 신호에 의해 동작된다CLK .

그림 에 디인터리버 블록의 기능 블록도를 도시하였다 디인터리버 블록은 크게 디인( 7-6) .

터리버 RAM(DINT-RAM, DINT- 제어 블록과 입력제어 블록 출력제어 블록의 개 블RAM , 4

록으로 나눌 수 있다.

Page 175: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 175 -

제어 블록은 채널 제어 채널 제어 및 채널 어드DINT-RAM Traffic , Sync Traffic Write

레스카운터 디인터리버 어드레스 카운터 채널 어드레스 카운, Bypass Write , Sync Write

터 채널 어드레스 카운터 그리고 채널과 타이밍에 따라, Traffic/Sync Read , Write, Read

생성된 어드레스 및 제어 신호RAM (DRAM-CS/DRAM- 을 선택해주는WE, DRAM_OE/)

블록으로 구성된다MUX .

순방향 타이밍은 순방향 링크 트래픽 프레임에 대해 시스템 프레임으로부터Offset Delay

된 을 단위로 표시하는Offset Power Control Group (1.25ms) FWD- 에 의해 결OFF[3:0]

정된다 순방향 제어 회로는. Offset RXSYM- 에 의해 되는 진 카운터로 구CLK Clocked 384

성된다.

DINT- 은 비트이지만 에 의해 비트로 구현되었고 어RAM 384×4 Compass Library 512×4 ,

드레스 생성은 몇 개의 어드레스 카운터로써 구현 된다.

그림 디인터리버 블록의 기능 블록도( 7-6)

Page 176: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 176 -

자 의 논리설계 요약. Modulator IC

본 연구에서 설계되어진 이동국용 의 제원에 대하여 표 에 나타CDMA Modulator IC ( 7-1)

내었다·

표 의 제원( 7-1) Modulator IC

설계 방법 Standard Cell

Design Rule Compass 0.8 Double Metal㎛

사용 CAD Tool Compass(Logic Assistant, Qsim, )…

소자 수 제외12,000Gate(Memory )

사용 Memory

- ENC- 용 개RAM : 32×8bit RAM(1 )- INT- 용 개RAM : 256×4bit RAM(1 )- DINT- 용RAM : 512×4bit RAM(1개)

용- FIR Filter : 256×10bit ROM(1개)

동작 주파수 9.8304㎒

Control Logic PLA & Synthesis

Function Block Structure

FIR Filter Design ROM & Random Logic

소비전력 예상( ) 이하100㎽

칩 크기 예상( ) 이하5×5㎟

패키지 예상( ) 68Pin PLCC

의 설계3. Modulator IC VHDL

가 설계 환경. VHDL

Page 177: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 177 -

최근 대부분 설계용 판매 회사에서는 을 이용한 설계 환경을 제공VLSI CAD Tool VHDL

하고 다 독자적인 시뮬레이터와 를 모두 제공하기도 하지만 회사의 성. VHDL Synthesizer ,

격상 위주의 회사는 시뮬레이터를 칩 제작 위주의 회사는CAD Tool VHDL , ASIC VHDL

를 주로 제공하고 있는 실정이다 이에 사용자는 다른 회사의 나Synthesizer . Synthesizer

시뮬레이터를 연결하여 사용할 수 있으므로 저마다의 장점을 살려 주어진 설계환경 내에서,

사용을 극대화하여야할 것이다.

현재 당실에서 사용가능한 관련 로는 의 시뮬레이터 및VHDL CAD Tool Synopsis

의 시뮬레이터 의 시뮬레이터 의Synthesizer, Vantage , Mentor Quick VHDL , Compass

등이 있다 이들 중에서 시뮬레이션 속도는 의 이 가장 빠Synthesizer . Mentor Quick VHDL

르며 의 는 의 설계 와 직접 매핑 된다는 장점, Compass Synthesizer Compass ASIC Library

이 있다.

따라서 규모가 큰 시스템의 시뮬레이션은 을 사용하는 것이Behavior Level Quick VHDL

유리하고 규모가 작지만 시뮬레이션 및 를 병행하여 수행하고자 하는 경우에는, Synthesizer

의 이 유리하였다Synopsis Tool .

을 사용할 경우에는 등을 이용하여 시뮬레이션 하Compass Tool Vantage Behavior Level

거나 상에서 하여 를 검사한 다음에 로 논리회로를, Compass compile syntax , Synthesizer

생성시켜 의 시뮬레이션을 실행시켜야한다 물론 시뮬레이션 측면에서는 앞의Logic Level .

방법에 비해 불편하지만 설계 결과의 매핑이 요구되지 않는다는 큰 장점이, ASIC Library

있다.

나 설계 방법. VHDL

이동국용 전화기 시스템의 시뮬레이션을 수행하기 위하여 이동국용CDMA Behavior Level

의 모델이 요구되었고 를 이용한 제작의Modulator VHDL , VHDL Synthesizer ASIC

로서 본 연구를 수행하였다case-study .

Page 178: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 178 -

앞 절의 설계환경 아래에서 상기의 가지 요구를 만족시킬 수 있는 모델의VHDL 2 VHDL

기술을 위하여 이동국용 의 기능 및 알고리즘의 분석 상황 칩의 외부 인, CDMA Modulator ,

터페이스의 분석결과 설계자의 인지도 등을 고려하였다, CAD Tool .

가 의 것이므로 의 매핑에 따른 번거로움을 피하기 위해ASIC Library Compass , Library ,

에서의 를 사용 하였다 의 용 은Compass Synthesizer . Compass Synthesizer VHDL VHDL

의 제공하면서 약간의 제약이 있는 반면에 다른 에서는 의 를Sub-set , Tool VHDL Full set

제공하기 때문에 의 를 사용한 용 기술 후 다른, Compass compiler Synthesizer VHDL ,

에서 을 시뮬레이션을 수행하였다Tool Behavior Level .

를 이용한 이동국용 의 설계방법은 다음과 같다 먼저VHDL Synthesizer CDMA Modulator .

의 를 이용하여 기술된 모델의 를 검사하고 를Compass compiler VHDL syntax Synthesis

수행하여 논리회로를 생성시킨다 이후 의 논리 시뮬레이터인 을 사용하여 검. Compass Qsim

증함으로써 을 이용한 회로설계를 완성시킨다 이동국용 전화기의VHDL . CDMA Behavior

시뮬레이션을 위해서는 의 을 이용하는데 에서 완성된Level Mentor Quick VHDL , Compass

코드를 약간 수정하여야한다VHDL .

다 의 를 위한 기술 방법. Compass Synthesizer VHDL

의 로는Compass Synthesis Tool Logic Synthesizer, Datapath Synthesizer, State

등이 있으며 모듈생성기인 및Machine Synthesizer, Memory Synthesizer , Datapath

가 에 이용된다 본 연구에서는 및ROM/RAM Compiler Synthesis . Logic State Machine

와 를 사용하였다Synthesizer ROM/RAM Compiler .

설계 개념을 쉽게 로 변환시키기 위하여 를 사용한VHDL Synthesizer RTL(Register

로 기술하였다Transfer Level) .

Page 179: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 179 -

따라서 등은 의Latch, Flip·Flop, Register, Adder, MUX, ROM, RAM Compass Library

및 에서 모델을 불러와 사용하였으며 이들 상호간의 연결 및Cell Compiler VHDL , Control

신호의 생성은 및 를 사용하였다Logic State Machine Synthesizer .

의 가 논리를 최적화 하면서 스키매틱 회로를 자동 생성시킴Compass Synthesizer Control ,

으로써 설계자는 논리만을 설계하고 논리회로를 그리지 않음으로써 설계 시간을, Control ,

줄일 수 있었다 특히 의 기술만으로는 기술하기 어려운 매핑 예. Behavior Level Library ,

를 들어 등을 쉽게 사용할 수 있었다Tri-state Logic, Repeater .

이동국 의 기술은 크게 단계로 나눌 수 있다 먼저 입력데이터의 흐름CDMA Modulator 3 .

에 따라 기능 블록별 의 로서 블록 내에 있는 기능모듈의 상호 연결이Datapath VHDL

로 기술된다 두 번째는 블록별 논리회로의 생성으로써 주로 블록Structure Level . Control ,

별 및 동작 를 결정하는 회로 설계에 이용되었다 마지막으로 모든 기Timing Clock Phase .

능블록과 블록별 회로를 묶어 전체 칩 회로를 구성시키는 것으로서 에Control , Synthesizer

서 생성시킨 회로를 이용하여 의 스키매틱 편집기인 를 이용하였Compass Logic Assistant

다.

라 이동국용 의 설계 결과. CDMA Modulator VHDL

의 설계 결과(1) Modulator VHDL

표 에 의 블록과 그와 관련된 블록의 모델 및 기( 7-2) Modulator Datapath Control VHDL

능을 표로 나타내었다.

이동국 의 블록은 비트의CDMA Modulator Main Control 20 BTF(Back To the Future)

카운터와 으로 구성된다 카운터는 의 동작 주파수로 구동되며 최Control Logic . BTF 9.8㎒

상위 비트의 주기는 이다80ms .

Page 180: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 180 -

은 비트의 카운터 출력을 이용하여 주기의 프레임 관련 신호Control Logic 20 BTF 20ms ,

의 관련 신호 의 클록 의1.25ms Power Control Group , 307.2 Walsh , 1.2288 PN㎑ ㎒

클록 의 필터 클록 등을 생성시킨다sequence Generator , 4.9152 FIR .㎒

표 블록의 모델( 7_2) Datapath VHDL

Datapath Block관련 ControlBlock

기 능

address.vhd No 8 bit address input from data bus

reg_file.vhd No 8 bit data input from data bus

data_enc.vhd data_ctrl.vhd 8 bit data input from Ox2C register

crc48.vhd crc_ctrl.vhd 4800bps CRC

crc96.vhd " 9600bps CRC

conv_enc.vhd conv_ctrl.vhd Convolutional Encoder

inter.vhd inter_ctrl.vhd Interleaver

walsh.vhd No Walsh Modulator

long42.vhd No 42 bit long code PN seq.generator

iseq15.vhd No 15 bit In_Phase PN seq.generator

qseq15.vhd No 15 bit Q_Phase PN seq.generator

burstmask.vhd No Mask of Burst Randomizer

burstran.vhd No Burst Randomizer

fir.vhd No FIR filter for I/Q Phase

deinter.vhd deinter_ctrl.vhd DeInterleaver

그 외의 외부 인터페이스 관련 신호로는 클록 클록 클록Baud , CODEC , Walsh Symbol ,

관련 신호 및 관련 신호 신호등이 있다Vocoder , Mask Puncture , GPIO Control .

Page 181: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 181 -

표 은 및 외부 인터페이스 블록에 대한 모델을 표로 나타낸 것( 7-3) Main Control VHDL

이다.

표 및 외부 인터페이스 블록의 모델( 7-3) Main Control VDHL

모델명VDHL 기능

btfcount.vhd 20 bit BTF Counter

btf_ctrl.vhd Main Control signal generator

baudclk.vhd 명B Clock generator

codecclk.vhd CODEC Clock generator

wsymclk.vhd Walsh Symbol Clock generator

maskpunct.vhd MASK & Puncture Control generator

vocoder.vhd Vocoder Control generator

gpioctrl.vhd GPIO Control generator

표 의 모델의 기능 모듈로 사용되는 하위의 모델로는 여러 종류의( 7-2, 3) VHDL VHDL

카운터 및 레지스터 클록 동기회로 등이 있다, .

이동국용 의 모델은 개 파일의 총 으로 기술되었CDMA Modulator VHDL 100 10,000 line

다.

마 이동국용 의 성능 분석. CDMA Modulator

시스템의 역방향 링크에서 데이터 전송속도가 인 경우에 대해 필터와CDMA , 9600bps FIR

인터리버를 제외한 시스템 즉 길쌈부호기와 가 결합된, Walsh Modulator Direct Sequence

시스템을 채널과 다중사용자 환경에서 컴퓨터 모의실험을 통해 분석하였다CDMA AWGN .

Page 182: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 182 -

모의실험에 쓰이는 시스템 변수는 표 와 같다( 7-4) .

표 모의실험에 쓰이는 시스템 변수( 7-4)

변조방식 QPSK

길쌈부호기 Constraint Length=9, Rate=1/3

직교변조기 64×64 Walsh Modulation

PN SequenceLong Code PN SequenceI,Q Short Code PN Sequence

Decoder Viterbi Decoder(Hard Decision)

Processing Gain PG=128(L=256)

Channel Environment 다중사용자AWGN+

직교변조기에 대해 길쌈부호기를 사용한 경우와 사용하지 않은 경우를 비트 오류확64-ary

률과 심벌 대 잡음비라는 관점에서 비교하여 모의실험 결과 길쌈부호기와 직교변조Walsh ,

기가 결합된 시스템에서 직교변조만이 사용된 경우에 비해 10-3의 비트 오류확률에서 약

의 을 얻을 수 있었다 그러므로 길쌈부호기는 다중사용자 환경에서 나타3dB Coding Gain .

나는 비동기 시스템의 성능저하를 충분히 보상할 수 있음을 알 수 있다.

그림 의 개 곡선을 비교하면 심벌 대 잡음비가 증가할수록 비트 오류확률은( 7-7) 4 , Walsh

당연히 줄어드나 사용자 수가 증가할수록 비트 오류확률은 완만하게 줄어든다 즉 직교변, . ,

조기와 길쌈부호기를 결합하여 사용하더라도 사용자의 수가 증가할 경우 그 개선 폭은 점검

감소하는 것을 알 수 있는데 이는 수신구조를 사용하기 때문이다, Noncoherent .

Page 183: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 183 -

그림 사용자수가 명 일 때 직교변조를 이용한 길쌈( 7-7) 1, 5, 1O, 15

부호화된 시스템과 길쌈부호화 되지 않은 시스템의 성능비교

AWGN, N=15, L=256m R=l/3, K=9, M=64

Page 184: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 184 -

제 절 결론3

본 연구에서는 이동국의 를 제작하기 위하여 의 기능 및CDMA Modulator IC Modulator IC

구조 알고리즘과 성능을 분석한 후에 논리설계 및 시뮬레이션을 수행하였다 기능 및 알고, , .

리즘 분석을 위해 기존 칩의 분석과 언어를 이용한 기능 레벨의 시뮬레이션을 수행하였C

으며 그 결과는 논리회로 설계 시 테스트용으로 사용되었다 논리회로의 설계는, . Compass

를 이용하여 수행하였는데 을 제외한 게이트 수는 약 개이고 핀 수는, ROM/RAM l2,000 , 68

개이며 예상 칩 면적은 이다 이동국 의 기능 모듈중의 하나인 필, 5× 5 . Modulator FIR㎟

터에 관한 논리회로 설계방법은 현재 특허출원 중이다.

또한 이동국 전화기의 시스템 레벨 시뮬레이션과 를 이용한 제작을 위하여Synthesizer IC

이동국 의 모델링 설계를 수행하였다 모델링은 의Modulator VHDL . VDHL Compass

를 위하여 로 기술되었으며 코드의 길Synthesizer RTL (Register Transfer Level) , VHDL

이는 주요 블록 종에 약 이다20 10,000line .

본 연구의 결과는 이동국 전화기내의 개3 ASIC (Modulator, DeModulator, Viterbi

을 칩으로 통합하는 차기년도의 칩 제작 시에Decoder) 1 MSM (Mobile Station MODEM)

사용될 계획이다.

Page 185: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 185 -

참 고 문 헌

[1] P. L. PickHoltz, “Spread Spectrum for Mobile Communication,” IEEE Trans.

Vehicular Technology, pp.313-322, May. 1991.

[2] S.Haykin, Digital Communications, New York, NY : John Wiley & SOns, 1988.

[3] S. Lin, and D. Castello, Jr., Error Contro1 Coding : Fundamentals and

Applications, Englwood Cliffs, NJ : Prentice-Hall, 1983.

[4] G. G. Clark, Jr., and J.B. cain, Error·Correction Coding for Digital

Communications, New York and London : Plenum Press, 1981.

[5] N. Ahmed, “Bifore or Hadamard Trandform,” IEEE Trans. Audio Electroacoust,

pp.225-234, August. 1971.

[6] B. Sklar, Digital Communications : Fundamentals and Applications, Eng1wood

Cliffs, NJ : Prentice-Hall. 1988.

[7] M.K. Simon, et al., Spread Spectrum Communication : Volumn 1, Rockville,

Mary1and : Computer Science Press, 1985.

[8] M.K. Simon, et al., Spread Spectrum Communications : Volumn 2, Rockville,

Mary1and : Computer Science Press, 1985.

[9] W.C.Y. Lee, Mobile Cellular Telecommunications Systems, McGraw-Hill Book

Company, 1989.

[10] W.C.Y. Lee, Mobile Communications Design Fundamentals, Howard W. Sams &

Company, 1986.

Page 186: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 186 -

제 장 개발8 Decoder IC

Page 187: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 187 -

제 장 개발8 Decoder IC

제 절 서론1

연구의 목적1.

이동통신 시스템의 순방향 링크와 역방향 링크에서 사용하는 채널 인CDMA decoder

를 설계하는데 그 목적이 있다Viterbi decoder .

디지털 통신에서는 채널 상에서 발생하는 오류를 정정하기 위하여 채널 코덱을 사용하는데

이동통신 시스템에서는 일반적으로 길쌈부호기 와 비터비CDMA (convolutional encoder)

복호기 를 사용한다 길쌈부호기는 일반적으로 가장 최적화된 생성다항식(Viterbi decoder) .

이 구해져 있고 그 설계도 간단하다 반면 복호기는(generator polynomial) . Viterbi 1967

년 가 처음으로 알고리즘을 제시한 후 여러 가지 향상된 알고리즘이 발표되고 있으Viterbi

며 근래에는 반도체 기술의 발전에 따라 구현에 용이한 구조가 발표되고 있다ASIC .

본 연구에서는 이동통신 시스템의 기지국 과 이동국CDMA (Base Station) (Mobile Station)

에서 모두 사용될 수 있는 비터비 복호기를 설계하였다 이동통신 시스템의 이동국. CDMA

에서는 변조기 복조기 및 비터비 복호기가(modulator), (demodulator) MSM(Mobile

로 구성되어 있으며 기지국에서는 비터비 복호기만을 단일 로 사용하Station Modem) IC IC

고 있다 그리하여 본 연구에서 수행한 비터비 복호기의 설계는 기지국에서 직접 사용할 수.

있게 하였으며 일부 수정을 하면 이동국에서도 사용할 수 있도록 하였다.

Page 188: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 188 -

연구의 필요성2.

오늘날 통신은 통신하고자 하는 사람의 위치와 시간에 무관하게 언제 어디에서나 가능할 수

있는 방향으로 진행하고 있다 이러한 상황에서 이동통신은 필수적으로 요구되며 그 중.

이동통신 시스템은 향후 이동통신 시스템에서 중요한 위치를 차지할 것으로 예측된CDMA

다.

이러한 이동통신 시스템을 구성하는 주요 를 개발하는 것은 앞으로의 이동통신CDMA IC

시장의 확대에 따라서 필수 불가결한 일로 판단된다 따라서 이동통신 시스템을 구. CDMA

성하는 주요 중의 하나인 를 개발하여 앞으로 통신시장에서 경쟁력을IC Viterbi decoder

확보할 수 있을 것이다.

연구의 범위3.

연구의 목적을 달성하기 위하여 길쌈 부호기와 비터비 복호기의 알고리즘을 연구하여 언C

어로 프로그램 하여 기본 알고리즘을 검증하였으며 개발을 위하여 회로를 설계하decoder

였다 그리고 개발한 의 성능 검증을 위해 길쌈 부호기 및 채널. decoder , Viterbi decoder

을 언어로 모델링하여 각 채널에 대한 부호 이득을 구하였다C .

제 절의 본론에서는 먼저 길쌈 부호기와 비터비 복호기의 동작 알고리즘과 비터비 복호기2

를 구성하는 각 모듈들을 설명하였다 그리고 순방향과 역방향에서 비터비 복호기의 동작.

차이와 그에 따른 부호 이득을 설명하였다 마지막으로 비터비 복호기의 규격과 제작 후. IC

실험 방법에 대하여 살펴보았다.

마지막으로 제 절에서는 본 연구의 결론 및 향후 해야 할 일에 대하여 언급하였다3 .

Page 189: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 189 -

제 절 본론2

길쌈부호와 비터비 복호1.

가 길쌈 부호.

이동통신에서 채널 오류정정을 위해 채택하고 있는 부호는 길쌈 부호(convolutional code)

이며 그 부호를 사용하여 길쌈 부호기 를 설계한다 길쌈 부호기의(convolutional encoder) .

설계에 사용되는 최적화된 생성다항식은 표 과 같다( 8-1) .

표 생성 다항식( 8-1)

예로써 순방향 링크에서 사용하고 있는 길쌈 부호기는 구속장 가 이(constraint length) K 9

고 부호율 이 로서 그림 에 나타난 것과 같다 또한 역방향 링크에서(code rate) R 1/2 ( 8-1) .

는 구속장 가 이고 부호율 이 이다K 9 R 1/3 .

Page 190: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 190 -

그림 길쌈부호( 8-1) (R=1/2, K=9)

그림 에 나타난 부호화 과정을 살펴보면 으로 초기화 된 의 내용을 모( 8-1) “0” D flip-flop

두 한 비트 오른쪽으로 옮기고 입력정보를 입력단의 에 넣는다 그런 후 첫 번째D flip-flop .

생성다항식 에 의하여 연결된 게이트를 통하여 코드워드 를 만들고 을 통하G0 XOR C0 G1

여 코드워드 을 만들어 한 쌍의 코드워드를 생성한다 이러한 과정을 모든 입력 정보에C1 .

대하여 수행한다.

이렇게 하여 더 이상 부호화 할 입력정보가 없더라도 길쌈 부호기의 특성상 마지막 입력정

보를 입력 한 후에도 상에 유효한 자료가 남아 있다 이것 때문에 마지막 입력D flip-flop .

정보가 모든 을 거칠 때까지 입력정보를 으로 하여 계속 부호화를 진행해야D flip-f1op “0”

하는데 이것을 이라 한다 이것은 실제 유효한 입력정보가 완전히 부호화될“zero padding” .

수 있게 구속장의 길이보다 하나 적은 개수만큼 을 추가하면 된다“0” .

Page 191: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 191 -

나 복호. Viterbi

복호기의 기본적인 동작 알고리즘은 격자도 에서 설명할 수 있다 그림(Trellis diagram) . (

에서 알 수 있듯이 비터비 복호기는 크게 모듈8-2) BM(Branch Metric) ,

모듈 그리고 모듈로 구성되어 있으며 부수적ACS(Add·Compare Select) , TB(Trace Back) ,

인 모듈로 정규화 모듈 입출력 모듈을 포함하는 마이크로프로세서 접속 모(normalization) ,

듈이 있다.

그림 비터비 복호기( 8-2)

비터비 복호기의 각 모듈에 대하여 살펴보면 모듈의 기능은 격자도, BM (Trellis diagram)

에서 각 에 연결된 의 코드워드 값과 수신워드 값과 차이 인state branch (received word)

값을 구하고 그것을 모듈에 제공하는 것이다 정규화 모듈은BM(Branch Metric) ACS .

메모리의 값 중 가장 작은 값으로 모든 메모리 값을 빼서 작은 용량SM(State Metric) SM

의 메모리로 정보를 유지하게 한다 모듈의 기능은 적자도 의 현SM . ACS (Trellis diagram)

에서 각 에 연결된 의 값과 그 에 연결된 의stage state branch BM branch State SM(State

을 더하여 그것을 비교한 후 작은 값을 선택하여 새로운 을 결정하여 대치하는Metric) SM

것이다.

Page 192: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 192 -

또한 그때의 정보를 메모리에 저장한다 모듈은 격자도 의 현TB . TB (Trellis diagram) stage

에서 가장 작욘 값을 갖는 를 찾고 그것을 초기값으로 사용하여 해당SM state traceback

알고리즘을 적용해서 오류가 없는 원래의 입력정보를 찾아낸다 한편 복호기의 출력은 복호.

할 수신워드를 받은 후 에 해당하는 만큼 뒤에 처음으로 나오며 마찬가지traceback depth ,

로 마지막 수신워드를 받은 후 같은 시간만큼 뒤에 최종 출력이 나가게 되는데 이 기간 동

안 수신워드를 으로 가정하여 복호를 수행하는 것이 필요한데 이것을 뒷부분 처리라 한“0”

다 마지막으로 마이크로프로세서 접속 모듈에서는 외부 프로세서와 접속을 위해서 필요한.

것이다.

비터비 복호기의 동작을 보면 먼저 코드 매개변수에 따라서 각종 변수를 초기화한다 첫.

에서 복호할 수신워드 를 읽은 후 모든 에 대하여 과 를stage (received word) state BM ACS

수행한 후 정규화를 한다 이때 실제 과 를 수행하는 횟수는 격자도의 기본 구조인. BM ACS

나비구조 때문에 최대 수의 만 하면 된다 그런 후 을 수행하는데 은state 1/2 . TB TB stage

가 만큼 경과 한 후부터 수행한다 이렇게 한 후 다시 수신워드를 읽어traceback depth .

수신워드가 더 이상 없을 때까지 반복한다 수신워드가 더 이상 없으면 그때부터 수신워드.

를 로 하고 만큼 복호 과정을 더 수행하고 복호를 끝낸다 이상에서“O” traceback depth .

생성된 출력인 추정한 입력정보를 출력 버퍼 메모리에 저장하고 복호 과정을 끝낸다.

다 모듈. BM(Branch Metric)

모듈의 기능은 격자도 에서 각 에 연결된 의 코드워드 값BM (Trellis diagram) state branch

과 수신워드 값과 차이인 값을 구하고 그것을 메모리에 저장하는(received word) BM BM

것이다.

Page 193: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 193 -

격자도의 기본격인 구조는 그림 과 같이 나비 모양으로 이루어져 있다( 8-3) .

그림 격자도의 기본적인 구조인 나비구조( 8-3)

나비모양의 구조의 특징을 살펴보면 에 있는 를 와 라 할 경우 의 값은 의, stage L state i j j i

값 보다 만큼 큰 값을 갖는다 즉1 .

j=i+1

이다 그런데 격자도 특성상 는 항상 짝수 값을 갖기 때문에 는 의. state i state j state i

를 로 하면 된다 한편 의 에 이 입력되면 의 는LSB 1 . stage L state i “0” stage L+1 state ii

가 되며 이 입력되면 는 가 된다 또한 의 에 이 입력되면, “1” state jj . stage L state j “0”

의 는 가 되며 이 입력되면 는 가 된다 이때 과stage L+1 state ii , “1” state jj . stage L stage

에 있는 사이의 관계를 살펴보면 의 값은 의 값을 한 값이L+1 state , state ii state i shuffle

다 즉.

ii = Shuffle ( i )

Page 194: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 194 -

이다 여기서 말하는 이란 값을 이진수로 표현한 후 모든 를 하위 방향으로. shuffle state i bit

이동하면서 최 상위 는 입력된 값으로 한 것이다 또한 에 있는 를1-bit bit . stage L+1 state

와 라 하면 의 값은 보다 만큼 큰 값이다 즉ii jj jj ii StateNum/2 .

jj = ii+ StateNum/2

이다 여기서 은 복호기가 가질 수 있는 최대 수로 인 경우 이다. StateNum state K =9 256 .

그러므로 의 값은 값보다 만큼 크므로 의 를 로 하면 된다 위와 같은j i 128 state i MSB 1 .

나비구조의 성질 때문에 에 대한 값만 알면 나비구조의 모든 를 모두state i state j, ii, jj

알 수 있다 즉 가 이면 는 이고 도 이며 는 이다. i “O” j “1” ii “0” jj 128 .

한편 에 입력이 이 들어왔다고 했을 때 생성된 코드워드와 수신워드의 차인State i “O”

값을 라 하고 이 들어왔을 때 생성된 코드워드와 수신워드의BM(Branch Metric) BMi0 , “1”

차인 값을 이라 하면 와 의 합은 이 가질 수 있는 최대 값인 이BMi1 BMi0 BMi1 BM MaxBM

다 마찬가지로 와 의 합도 과 같다 즉. BMj0 BNj1 MaxBM .

MaxBM = BMi0 + BMi1

MaxBM = BMj0 + BMj1

만약 가 이고 가 인 경우 은 이고 코드워드soft decision bit S 4 encoded bit V 2 MaxBM 30

는 각각 를 갖는 개의 로 구성된다 여기서 패리티란 코드워드를 구성하는 코드4bit 2 parity .

를 말하며 표현을 갖는 경우 코드워드의 종류는signed 2's complement “0111

그리고 을 갖는다0111”“0111 1000”, “1000 0111”, “0111 O111” .

또한 나비구조의 내부 의 값인 과 는 같은 값이며 외부 값인branch BM BMi1 BMj0 branch

와 도 같은 값이다 또한 에 연결된 값인 와 의 합은BMi0 BMj1 . state I BM BMi0 BMi1

이며 에 연결된 값인 와 의 합도 이다MaxBM state j BM BMj0 BMj1 MaxBM .

Page 195: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 195 -

마찬가지로 와 에 연결된 값의 합도 이다 즉state ii state jj BM MaxBM .

MaxBM = BMi0 + BMj0

MaxBM = BMaxi1 + BMj1

이다 위와 같이하여 를 구하고 나비구조의 특성을 이용하여. BMi0 BMil(=MaxBM - BMi0),

및 를 구한다BMj0(=BMil0) BMj1(=BMi0) .

라 모듈. ACS(Add-Compare-Select)

모듈의 기능은 격자도 의 현 에서 각 에 연결된 의ACS (Trellis diagram) stage state branch

값과 그 에 연결된 의 을 더하여 그것을 비교한 후 작은BM branch state SM(State Metric)

값을 선택하여 새로운 을 결정하여 대치하는 것이다 또한 그때의 정보를 메모리에SM . TB

저장한다 모듈의 특성도 모듈과 마찬가지로 격자도의 기본적인 구조인 나비구조. ACS BM

에서 설명된다 그림 에서 보는바와 같이 와 의 값을.( 8_3) state i state j SM(State Metric)

각각 와 라하고 와 의 을 각각 와 라 하면 는SMi SMj , state ii statejj SM SMii SMjj , SMii SMi

와 를 더한 값과 와 를 더한 값중 작은 것으로 결정된다 마찬가지로 는BMi0 SMj BMj0 . SMjj

와 를 더한 값과 와 를 더한 값 중 작은 것으로 결정된다 즉SMi BMi1 SMj BMj1 .

이다.

한편 에 있는 와 의 하기 위한 정보를 각각stage L+1 state ii state jj traceback

와 라 하자 만약 의 결정에 있어서 가 결정 되었TB[L+1][ii] TB[L+1][jj] . SMii (SMi+BMi0)

다면 앞에서 언급했듯이 의 에 입력이 이 들어온 경우이고 에stageL statei “0” TB[L+1][ii]

는 을 넣는다“0” .

Page 196: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 196 -

또한 의 결정에 있어서 이 결정 되었다면 의 에 입력이SMii (SMj +BMjO) stage L state j

이 들어온 경우이고 에는 을 넣는다 즉 를 결정 하는데 있어서“0” TB[L+1][ii] “1” . SMii

에 연결된 중 상위의 가 선택되면 에는 를 넣고 하위state ii branch branch TB[L+1][ii] “0”

의 가 선택되면 을 넣는다 도 같은 방법으로 그 값을 결정한다 이branch “1” . TB[L+1][jj] .

렇게 값을 결정한 후 다음 모듈에서 언급 할 알고리즘을 사용TB[L+1][ii] TB traceback

하여 복호화된 정보를 추출한다.

마 모듈. TB(TraceBack)

모듈은 격자도 의 현 에서 가장 작은 값을 갖는 를 찾고TB (Trellis diagram) stage SM state

그것을 초기값으로 하여 해당 알고리즘을 사용 원래 입력정보와 같을 확률이 가traceback

장 높은 값을 구한다.

알고리즘은 여러 가지가 있는데 여기에서는 에 의한TB(TraceBack) 1_pointer traceback

방법을 사용하였다 는 메모리의 주소지정을 위해 사용하기 때문에. Pointer traceback

와 그 의 로 구성된 차원 구조를 갖는다 즉 는stage stage state 2 . pointer

이다 여기서 처음 는 가장 최근에 수행된 복호과정의 이Pointer[Stage][State] . stage stage

며 처음 는 현 에 있는 중 가장 작은 값을 갖는 이다, state stage state SM state . Traceback

을 수행하기 위한 다음 의 는 현재 보다 하나 작은 값이며 새로운pointer stage stage , State

는 현재 툴 이진수로 표현한 값을 방향으로 이동하고 현재 의state MSB 1-bit , state

메모리 값 를 읽어 이동한 의 를 대치한 값이traceback TB[Stage][State] 1-bit state LSB

다 이렇게 하여 새로운 를 찾는 방법을 알고리즘이라 한다. pointer 1-pointer TB .

Page 197: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 197 -

이러한 과정을 만큼 반복하여 최종 를 구한다 최종 에 있는traceback depth stage . state

값을 사용하여 알고리즘을 이용하여 얻은 값이 구하고자하는 복호TB[Stage][State] TB

화 된 값이다.

이렇게 판단하는 이유는 나비구조가 갖는 특성이다 만약 그림 와 같이 메모리가. ( 8-4) TB

구성되어 있고 에 있는 의 값이 가장 작은 값이라, stage L+7 state “011” SM(State Metric)

고 가정하면 하기 위한 초기 의 는 이고 는 인traceback pointer stage “L+7” state “011”

이다Pointer[L+7][011] .

그림 알고리즘( 8-4) 1-Pointer TraceBack

의 의 정보인 의 값이 이므로 다음Stage L+7 state “011” traceback TB[L+7][011] , “0” ,

는 이며 새로운 는 을 방향으로 이동하여 을 얻고 이것stage “L+6” state “011” MSB “110”

의 를 값인 로 대치하여 최종 새로운 을 얻는다 그러LSB TB[L+7][011] “0” state “l1O” .

므로 새로운 을 얻는다 이 새로운 를 갖고 앞서 설명한 방법으Pointer[L+6][OO1] . pointer

로 새로운 를 찾아가며 을 수행한다pointer traceback .

Page 198: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 198 -

만큼 한 최종 값이 그림 에서 보는바와 같이 가Traceback depth traceback ( 8_4) Stage L

이고 가 이고 그때의 값이 일 때 이 값들을 알고리즘에 적용하였을State “000” TB “1” , TB

때 발생하는 캐리 비트가 복호된 값이다 즉 의 인 이 복호된(carry) . state “000” MSB “0”

값이다 왜냐하면 수행 시 의 에서 의 으로. ACS stage L-1 state “001” stage L state “000”

전이하려면 입력 값이 이어야 하며 그 값을 의 의 값으로 하“0” stage L state “000” MSB

였기 때문이다 그러므로 복호된 값은 의 을 로 이동하였을 때 발. stage L state “000” MSB

생하는 캐리가 된다.

이상과 같이하여 길쌈부호기와 복호기의 동작을 살펴보았으며 그에 대한 알고리즘Viterbi

수준의 기능 모델을 언어로 프로그램하여 동작을 확인하였다 실제 복호기의 설계는 다음C .

절에 나타나 있다.

개발2. CDMA Viterbi Decoder

가 전체구조 및 데이터 흐름도.

는 동기화 및 양자화된 코드 심벌 의 복호를 위해CDMA Viterbi decoder IC (code symbol)

비터비 알고리즘을 사용하였으며 이의 실현을 그림 와 같은 기능 블록들로 구현하였, ( 8-5)

다 기능블록들의 데이터 흐름은 입력데이터 를 받아서 입력 램 에. , (DEC_SYM) (Input RAM)

저장한 후 적산을 거쳐서 블록에서 데이터 변환을 거친다 변, SMT(Symbol Metric Table) .

환된 데이터를 자동 생성된 코드 워드 와 연산해서 을 구(Code Word) BM(Branch Metric)

한 후 블록에서 값을 구한다 여기서 생, ACS(Add-Compare-Selection) SM(State Metric) .

성된 각단의 을 이용해서 즉 생존경로를 수행하여 복호를 완료한다SM traceback .

Page 199: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 199 -

이렇게 구해진 값을 출력버퍼 에 보낸다 또한(Output Buffer) . SER(Symbol Error Rate

과 를 수행해서 그 결과를 마이크로프로세서와 인터페이스하여 적정한 데이터율count) CRC ,

을 판정해서 출력버퍼의 해당하는 번지에서 복호된 데이터를 선택한다, .

의 기본 사양은 구속장이 이고 코드율이 과 이다 즉 본 과제에서Viterbi decoder 9 , 1/2 1/3 . ,

설계한 복호기는 순방향 및 역방향 링크 모두에서 사용할 수 있도록 입력단 코드워드 생성,

기 연산기 등의 하드웨어구조를 설계하였다, BM .

는 마이크로프로세서 인터페이스를 통해서 초기화 및 조정이 수행된다 또Viterbi decoder .

한 외부 하드웨어를 를 통해서 마이크로프로세서로 데이터 입 출력 가능, Viterbi decoder ,

하도록 가 제공되며 상태 및 조정 신호도 제공된다GPIO(General Purpose Input/Output) , .

주 조정 블록은 시스템 클록DEC_SYM, DEC_STB(decoder synchronization strobes),

들로 조정된 타이밍으로 내부 조정 신호들을 발생한다(system clock) .

나 입력단 설계.

순방향 트래픽 채널모드의 한 프레임은 일 때 개의 정보비트를 가진다 또한full-rate 192 . ,

는 는 는 개의 정보비트를 가지면서 한 프레임의1/2-rate 96, 1/4·rate 48, 1/8_rate 24 , 192

개의 비트를 만들기 위해 각각 번씩 코드 심벌이 반복된다 따라서2,4, 8 . Viterbi decoder

가 로 동작되면 입력 심벌은 하나의 심벌을 만들기 위해 그룹 되고repeat mode , , (grouped)

적산된다 이와 같은 과정을 수행하는 블록이 그림 과 같다 개의 입력 신. ( 8-6) . 192× 2× 4

호가 직병렬 레지스터로 통해서 입력램 에 저장된다 데이터율이 인 경우 입, (Input RAM) . 1 ,

력램의 데이터를 출력하면서 적산하여 버퍼램 에 저장한다(Buffer RAM) .

Page 200: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 200 -

그림 전체 블록도( 8-5) Viterbi Decoder ASIC

Page 201: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 201 -

데이터율이 인 경우 버퍼 램에서 데이터를 읽어서 출력함과 동시에 적산하여1/2, 1/4, 1/8 , ,

다시 버퍼 램에 저장한다 이런 방법으로 순방향 트래픽 채널의 가지 데이터율에 대한 입. 4

력처리를 수행한다.

역방향 트래픽 채널인 경우 프레임보다 적은 프레임 데이터율의 전송되는 심벌, full-rate

비트와 전력소비를 줄이기 위해 에서 반복되는 코드 중 하나만 전송 가능하도, repeat mode

록 이라고 부르는 방법을 사용한, DBR(Data Burst Randomization) pseudorandom gating

다 에서는 이런 형태를 라 하고 이때는 입력신호를 입력램에. Viterbi decoder DBR mode ,

저장한 후 데이터로 선택된 파워 그룹 에 해당하는 램의 번지에서 데이, DBR (power group)

터를 읽어서 적산을 수행하지 않고 출력하면서 역방향 트래픽 채널의 가지 데이터율에, , 4

대한 입력처리를 수행한다.

그림 입력단 회로 구조도( 8-6)

Page 202: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 202 -

따라서 상기 기능을 수행하기 위해 그림 은 입력램 버퍼램 적산기 데이터 감, ( 8-6) , , , DBR

식기 등으로 구현 설계하였고 비트 소프트 디시젼 값이 비트로, 4- (4-bit soft decision) 7-

변환되어 블록으로 전송된다symbol metric table .

다 구조. Symbol Metric Table

입력단에서 비트 심벌이 비트로 변환되어 사용자가 제공하는4- 7- ASIC symbol metric

에 따라서 을 한 후 연산을 수행한다 방식은table rescale , BM . rescale symbol metric

을 이용한 방법을 이용하며 의 내용은 마이크로프table look·up table , symbol metric table

로세서를 통해 입력한다.

그림 구조와 회로 구조도( 8-7) Symbol Metric Table BM

Page 203: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 203 -

그림 은 및 의 회로 구조이다( 8-7) symbol metric table BM(Branch Metric) .

를 버퍼를 통해서 순차적 번지순에 따라서 내부 램SMTDATA(Symbol Metric Data) SMT

에 입력한다 이 경우 번지 카운터에 의해서 가 입력될 때마다 번지(SMT RAN) . SMTDATA

는 자동으로 증가하고 바이트의 를 모두 입력하면 다시 번지 카운터는 초기, 240 SMTDATA

값으로 변환된다.

표 는 순방향 트래픽 채널의 각 데이터율에 해당하는 입력 심벌과 적산된 데이터( 8-2)

번지 와 출력과의 관계이다 입력 신호 와 적산된 데이터(SMT ) SMTDATA . (Input) (address)

는 데이터 형태가 의 보수이고 변환 된 데이터 형태는 이다2 , (rescale) sign-magnitude .

은 의 각각 개의 데이터율과 에 필요한 데이symbol metric table repeat mode 4 DBR mode

터를 분리해서 저장한다.

그림 에서 구조 설계를 위해서 각 다중 정보율의 비트의 입력( 8-7) symbol metric table , 7-

을 받아들이는 먹스와 를 입력하기 위한 버퍼 를 위한 램 및SMTDATA SMT , SMTDATA

번지 조정기 등을 사용하였다 이 블록에서 변환 된 비트(Add. CTRL) . (resacle) 4-

데이터는 출력버퍼를 통해 연산에 사용한다sign-magnitude BM(Branch Metric) .

라 설계. Branch Metric

그림 과 같이 의 연산을 위해 코드워드 발생기와 개의 덧셈기 등으로( 8-7) branch metric 2

설계하였다 연산의 주 기능은 변환된 입력신호와 코드워드의. Branch metric Hamming

틀 구하는 것이다 를 구하는 기본원리는 다음과 같다distance . Hamming distance .

순방향 링크인 경우 에서 변환된 개의 비트 데이터는 과, SMT 2 4_ sign_magnitude S1 S2

로 표시할 수 있다.

Page 204: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 204 -

과 는 연산에서 가지 값 을 계산하며 이S1 S2 branch metric 4 metric (Hamming distance) ,

때의 각 비트의 쌍에 대한 는 다음과 같이 계산된다Hamming distance .

표 의 다중정보율의 각 입력신호에 해당하는 및 번지( 8-2) Repeat mode SMTDATA

Page 205: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 205 -

여기서 연산자 는 을 기준으로 두개의 변환 신호와 코드워드 각각의, ‘o’ 0 Hamming

를 나타낸다distance .

역방향 링크인 경우 에서 변환된 개의 비트 데이터는, SMT 3 4- sign_magnitude S1 과 S2,

S3로 표시할 수 있다. Sl과 S2, S3는 연산에서 가지 값branch metric 8 metric (Hamming

을 계산하며 이때의 각 비트의 쌍에 대한 는 다음과 같이 계distance) , Hamming distance

산된다.

여기서 연산자 는 을 기준으로 두개의 변환신호와 코드워드 각각의, ‘o’ 0 Hamming distance

를 나타낸다.

Page 206: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 206 -

위 식의 연산방법을 그림 의 블록에서 해당하는 코드워드와Hamming distance ( 8-7) BM

입력신호를 더하는 과정으로 응용하여 회로를 구현하였으며 출력되는 신호를 비트로 유, 4-

지하기 위하여 내부의 덧셈기의 출력단에 회로를 사용하였다 블록에BM rounding off . BM

서 개의 출력을 갖는 이유는 상기 식과는 별개로 블록에서 쌍의 연산 장치에서 효2 , ACS 2

율적으로 사용하기 위한 목적이다 또한 블록에서 변환된 데이터의 를. SMT MSB

계산을 위해 블록으로 출력하며 순역방향 트래픽 채널의 각SER(Symbol Error Rate) SER , ,

데이터 정보율에 따라서 해당되는 코드워드를 발생하기 위하여 코드워드 발생기를 마이크,

로프로세서로 입력되는 조정신호로 동기 조정하여 동작하도록 설계하였다 또한 그림. ,( 8-7)

의 각각의 블록에서 회로 연산이나 기능 등이 적절히 구동되는지를 확인하기 위하여 SCAN

테스트 회로를 첨가하였다.

마 설계. ACS

의 연산기의 주요기능은 값과 각 단CDMA Viterbi decoder ACS SM(State Metric) (stage)

의 최소 의 번지 값을 구해서 블록으로 출력하는 것이다 한 다중 정보데이터SM traceback .

율의 판정에 필요한 를 생성하여 마이크로프로세서로 보낸다 그림 은QB(Quality Bit) .( 8-8)

연산구조도와 이다 의 구조를 살ACS(Add-Compare-Select) butterfly cell . Butterfly cell

펴보면 두개의 전단 값에 두개의 혹은 값을, SM BM(Branch Metric Hamming distance)

더하여 작은 값을 선택하는 연산과정이 두 번 있음을 알 수 있다 따라서 하드웨어로 설계.

할 경우 이런 연산의 효율성을 고려하여 개의 덧셈기와 개의 비교기를 사용한다4 2 .

Page 207: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 207 -

버퍼를 통해서 입력된 두 개의 값과 램에 저장된 데이터를 표준화한 값을 개의BM SM 4

덧셈기로 동시에 더한다 이때 표준화 회로 는 램에서 읽은 값. (Circuit for NORM) SM SM

을 전단에서 가장 작은 값으로 빼는 연산을 수행하며 필요한 회로로는 뺄셈기 등이 있SM ,

다 개의 덧셈기는 출력단에 회로를 달아서 비트 데이터를 유지할 수 있. 4 rounding off 5-

게 하였다 의 구조와 같이 쌍의 개 덧셈기의 최소 출력 값을 구하기. Butterfly cell 2 2 SM

위해 비교 선택기를 설계 사용한다 또한 다중정보율의 판정에 필요한 의 발생을 위해. QB ,

각 의 연산 후에 발생한 현재단 의 값의 차이와butterfly cell (stage) SM QT(Quality

를 비교하는 회로를 비교 선택기에 첨부한다 비교 선택기로 결정된 개의Threshold) . 2

를 블록으로 출력한다 비교 선택기에서 선택된 값은TB(Surviver Pointer) traceback . SM

출력 버퍼를 통해 램에 입력된다 또한 두개의 값을 비교하여 최소 값을 결정ACS SM . SM

하는 과정을 한 단이 끝나는 시점까지 반복 수행해서 각단의 최소 값과 그에 해당하는 번지

값을 저장해서 다음단의 연산의 표준화와 의 초기 생존경로의 번지를ACS SM traceback

지정하는데 사용한다.

램은 개를 사용하여 한단에서 의 입력단과 출력단의 데이터 입출력과 번지조정을SM 2 ACS

간소화하였다 의 번지발생 방법은 도의 상태번지 진행방법을 고려한. SM Trellis

알고리즘을 이용하여 도의 의 배치를 하드웨어로 구shuffle-exchange Trellis butterfly cell

현하기에 용이한 규칙 구조로 수정한 후 변환된 번지의 순차적 흐름에 따른다.

본 과제의 칩 설계는 을 사용하였으며 그림 는 이 을 이용해서 설Compass tool ,( 8-9) too1

계한 의 회로도이다 블록에서 마이크로프로세서와 인터페이스하는 정보는 개의ACS . ACS 2

입력레지스터를 통해서 제공되는 값과 등이 있고QT(Quality Threshold) QB(Quality Bit) ,

블록 기능 회로가 있다scan .

Page 208: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 208 -

그림 연산 블록도와( 8-8) ACS Butterfly Cell

Page 209: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 209 -

그림 로 설계한 연산 회로도( 8-9) Compass tool ACS

Page 210: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 210 -

바 모듈. Trace Back

모듈은 결과 얻어진 값들을 메모리에 저장한 후Traceback ACS TB Traceback

알고리즘을 이용하여 복호된 정보를 찾아내는 기능을 갖고 있다1-pointer traceback .

그림 역 추적 회로 구조( 8-10)

모듈은 입력단에서 신호를 받아 값들을 저장하기 위한 를Traceback timing TB address

만들어 내고 그에 따라서 에서 온 값을 에 기록한다 이러한ACS TB traceback RAM . TB

에 기록 과정을 인 만큼 수행한다 그런 후 의 각RAM traceback depth 63-stage . 64-stage

에 대한 값을 차례로 기록하면서 을 위하여 의state TB , traceback 63-stage SM(State Met

걏 값 중에서 가장 작은 를 모듈에서 받는다 그 를 의 시작) state ACS . state traceback

로 하여 만큼 을 수행하여 첫 번째 복호된 값을 얻는address traceback depth traceback

다 그 후 의 각 에 대한 값을 차례로 기록하면서 에 대하여. 65-stage state TB , 64-stage

을 수행하여 두 번째 복호화 된 값을 얻는다traceback .

Page 211: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 211 -

이러한 과정을 마지막 값이 복호 될 때까지 수행한다 그렇게 하기 위해traceback stage .

서는 에 마지막 값들이 기록된 후에 만큼 더traceback RAM stage traceback depth

과정을 수행하여야 한다 이 여분의 과정을 위하여 마지막 기traceback . traceback stage

록 후에 의 값들은 모두 으로 기록하여 잘못된 과정을 방지할8-stage TB “0” traceback

수 있다.

이상의 과정에서 은 비트로 운용되기 때문에 그에 합당하게traceback RAM 8 RAM

제어회로가 있다 또한 에 값을 쓰기 위해 생성기와address . TB RAM TB stage address

생성기가 있으며 의 값을 읽기 위한 생성기와state address TB RAM TB stage address

생성기가 있고 읽은 값과 시작 를 가지고 앞 의state address TB state address stage

의 값을 찾아 최종적으로 복호된 값을 찾는 회로와 이들의 타이밍을 제stage state shuffle

어하기 위한 회로로 구성되어 있다.

사 출력단.

출력단은 복호된 결과를 저장하고 복호된 값을 가지고 SER(Symbol Error Rate),

등을 수행하고 의 상태 를 저장하CRC(Cycle Redundancy Check) Viterbi decoder (status)

고 마이크로프로세서와 통신 기능을 수행한다.

모듈에서 복호된 결과를 받아 출력 버퍼 에 저장하고 마이크로프로세서에 그 결과TB RAM

를 제공한다.

Page 212: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 212 -

그림 출력단 회로구조( 8-11)

또한 모듈에서 복호된 결과를 받아 가 인 경우와 인 경우에 대하여TB data rate “1” “1/2”

각각 를 수행하여 그 결과를 레지스터에 저장한다 그리고 모든 에 대CRC status . data rate

하여 복호된 결과를 다시 부호화하여 수신된 입력심벌과 비교하여 오류의 개수틀 구하고 그

것을 레지스터에 저장한다 이렇게 모든 값들이 결정되면 마이크로프로세서 접속을status .

통하여 레지스터와 출력 버퍼 에 있는 정보를 마이크로프로세서에 제공하여 데status RAM

이터율과 최종 복호된 값을 결정한다.

아 스캔과 양방향 입출력 회로.

비터비 복호기는 자체의 스캔 테스트 와 외부 회로와 마이크로프로세서를 연결(Scan Test)

하기 위한 양방향 입출력 회로 를 가지고 있다(GPIO) .

Page 213: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 213 -

그림 스캔 및 양방향 입출력 회로구조( 8-l2)

스캔 테스트 회로의 동작을 살펴보면 먼저 스캔 입력 레지스터에 임의의 비트 데이터를, 8

넣는다 그 후 비트의 스캔 레지스터의 하위 비트에 스캔 입력 레지스터의 값을. 16 shift 8

이동하고 스캔 레지스터의 클록을 번 동작하여 스캔 레지스터의 하위 비트에, shift 8 shift 8

있던 입력 데이터를 상위 비트로 이동시킨다 그런 후 스캔 레지스터의 상위 비트8 . shift 8

에 있는 데이터를 스캔 출력 레지스터로 이동 시키고 그것을 읽어 입력했던 데이터와 같으

면 스캔 테스트를 마친다.

회로의 입력 동작을 살펴보면 먼저 제어 레지GPIO(General Purpose Input Output) GPIO

스터에 를 입력으로 쓰기 위한 값을 적어 가 데이터를 받아들일 수 있도록 한다GPIO GPIO .

그 후 데이터를 읽어 입력 레지스터에 저장하고 비터비 복호기의 데이터 버스를 통하GPIO

여 마이크로프로세서로 읽어 들인다 출력 동작을 살펴보면 먼저 제어레지스터에. GPIO

를 출력으로 쓰기 위한 값을 적어 가 데이터를 출력할 수 있도록 한다GPIO GPIO .

Page 214: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 214 -

그 후 데이터를 출력 레지스터에 저장하면 의 출력단을 통하여 데이터가 출력된GPIO GPIO

다.

표 순방향과 역 방향 차이( 8-3) Viterbi Decoder

사 양 순방향 Viterbi Decoder 방향 Viterbi Decoder

코드비 R=1/2 R=1/3

구속장 K=9 K=9

프레임당 입력심벌 심벌384 심벌576

입력데이터 모드 모드Repeat 모드Repeat & DBR

동작 모드모드Continuous ,

모드Frame모드Frame

채널 모드채널Sync ,채널Paging ,

순방향 트랙픽 채널

채널Access ,역방향 트래픽 채널

입력 심벌의 처리 방법적산,Rescale & Translation

Translation

마이크로프로세서인터페이스

MultiplexedAddress/Data Bus

Non-MultiplexedAddress/Data Bus

복호 이득 4.5dB 4.7dB

Page 215: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 215 -

순방향과 역방향 차이3. Viterbi Decoder

는 시스템의 순방향과 역방향에서 사용 가능하도록 설계하였다 그Viterbi decoder CDMA .

러므로 하나의 칩이 양방향의 기능을 동시에 만족하기 위해선 마이크로프로세서로 모드를,

선택 사용하도록 하였다 기지국과 이동국에서 사용하는 의 사양 및 차이는. Viterbi decoder

표 과 같다( 8-3) .

모의실험을 통한 성능 평가4.

비터비 복호기의 성능을 평가하기 위하여 길쌈부호기와 비터비 복호기를 구형하는 프로그

램을 작성하였고 채널을 으로 모형화하여 모의실AWGN(Additive White Gaussian Noise)

험을 수행하였다.

먼저 생성하는 프로그램을 만들어서 길쌈 부호기의 입력으로 사용한다 길쌈random data .

부호기는 그것을 받아서 부호화를 수행하고 부호화 된 심벌에 모델링한 채널에서AWGN

발생한 잡음을 첨가하여 오류가 있는 심벌을 비터비 복호기에 넣고 복호과정을 진행하여 복

호화 된 결과를 얻는다 이렇게 복호된 결과를 얻으면 그것과 길쌈부호기에 입력과 비교하.

여 비트 오류율 율 계산한다(BER : Bit Error Rate) .

위와 같은 과정을 를 변경 시켜가며 순방향 링크와 역방향 링크의 각각의 채널 모드Eb/No

에 대하여 모의실험을 수행하여 를 얻었다 예로써 이BER . BER 10-4 일 때 순방향 링크와

역방향 링크의 각 채널에 대한 부호이득을 표 에 나타내었다( 8-4) .

Page 216: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 216 -

표 비터비 복호기의 부호이득( 8-4)

사양5. Decoder IC

이동국과 기지국의 의 전기적 사양은 표 표 과 같다Viterbi decoder DC ( 8-5),( 8-6) .

시험 방법6. Decoder IC

의 설계 시 설계자의 의도로 칩의 기능이 정확히 구현되었는지 판단하Viterbi decoder IC

기 위해서 칩 내부에 여러 형태의 실험 회로를 삽입하였다 그러나 이런 형태의 실험회로, .

가 전체회로의 크기나 기능에 미치는 영향을 최소화하기 위하여 테스트를 위주로 테scan

스트기능을 간소화 하면서 사용자 입장에서 시스템의 디버깅에 효율적 운영이 가능하도록

각 기능블록의 데이터 흐름을 점검하도록 설계하였다 이러한 테스트는 마이크로프로. scan

세서의 지정된 입 출력번지의 해당 레지스터로 가능하다, .

Page 217: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 217 -

표 이동국용 전기적 특성( 8-5) DC

Parameter Sym Min Max Unit Notes

Supply Voltage VDD 4.5 5.5 V

High-Level Input Voltage VIH 2.0VDD+.3

V

Low-Level Input Voltage VIL -0.3 0.8 V

Input Leakage Current IL 10 uA

High-Level output Voltage VOH VDD-1 V IOH=-0.2㎃

Low-Level Output Voltage VOL 0.4 V IOL=0.2㎃

Output Short Circuit Current IOS 10 300 nA

Input Capacitance CIN 5 15 pF

표 기지국용 전기적 특성( 8-6) DC

Parameter Sym Min Max Unit Notes

High-Level Input Voltage VIH 2.0VDD+.3

V 1

Low-Level Input Voltage VIL -0.3 0.8 V 1

High-Level Output Voltage VOH VDD-1 V 2

Low-Level Output Voltage VOL 0.4 V 2

Input High Leak. Current IIH 1.0 uA 3

Input Low Leak. Current IIL -1.0 uA 3

Input High Leak. Current PD IILPU 30 105 uA 3,4

Input High Leak. Current PU IILPU -105 -30 uA 3,4

Output Short Cir. Current IOS 10 300 mA 5

Input Capacitance CIN 5 15 pF

Page 218: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 218 -

상기 언급한 테스트 외에 외부에서 설계 입력을 받지 않고 마이크로프로세서로 테스scan ,

트용 입력신호를 받아서 복호가 실현되는지 여부를 로 독립 수행하도록Viterbi decoder IC

설계하였고 입력 신호 외에 동기신호나 구동 클릭도 자체 발생토록 함으로써 칩 내부에 자,

체 진단회로를 최소한의 크기로 구현 설계하였다.

이러한 방법으로 설계된 회로의 사용은 반드시 마이크로프로세서로 가능하며 각 블록들의,

연산상태나 데이터 흐름을 필요시 마다 관찰함으로써 회로설계 및 시스템의 디버깅 작업을,

용이하게 할 수 있다 또한 각 모드와 채널의 동기 및 동작 상태를 면밀히 관찰 가능하다. , .

당해연도에 개발한 의 실험은 상기 테스트 기능을 활용하여 기존에 제작된Viterbi decoder

기지국용 시스템에 실장 하여 성능 평가할 예정이며 발생 가능한 시스템이나 회로 오류 등,

은 실장 실험과 당 연구소의 시험 검사실의 테스트장비 이용과 설계 사양 검토 등의 방법으

로 정정 후 개선할 예정이다.

제 절 결 론3

본 과제의 연구 결과는 의 사양을 분석 후 결정하여 순방향과 역방CDMA Viterbi decoder ,

향에서 사용 가능한 칩을 설계하였다 칩을 설계하는 과징에서 효율적인 입력단의 다중데이.

터율 처리방법을 고안하였고 의 변환 방법을 롬 으로 하드와이어 코딩하, SMTDATA (ROM)

는 방법 의 메모리 크기를 줄이는 방법 다중데이터 처리의, SM(State Metric) , traceback

처리 방법 등을 연구 고안하여 칩에 적용하였다 또한 향후 설계 시 다중. Viterbi decoder

정보율의 감지 방법을 독창적으로 실현 가능하도록 연구 준비하였다 이러한 설계 및 시스.

템 기술은 뿐만 아니라 다른 시스템에서도 사용 가능한 기술이며CDMA Viterbi decoder ,

입력단의 처리방법 등은 독창적 기술로 기지국 등에서 사용 시 전력소비의 효율성을 기대할

수 있다.

Page 219: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 219 -

본 과제를 수행하면서 개발한 기술은 차년도 상반기내에 칩 개발 완료를Viterbi decoder

목표로 하고 있으며 기지국에 실장 실험 후 사의 칩을 대체하여 사용, CDMA , Qualecomm

할 예정이다 본 과제의 칩의 데이터 복호기능과 데이터 오류 정정율이 실. Viterbi decoder

험결과 사의 칩에 비해 성능 면에서 거의 동등하므로 몇 가지 회로의 설계보Qualecomm

완과 새로운 알고리즘 적용으로 칩 면적과 전력소비를 향상시키면 적용 시스템의 성능도 개

선할 수 있는 독장적인 의 개발을 기대할 수 있다 또한 이러한 기술을 이Viterbi decoder . ,

동국의 모듈레이터 디모듈레이터와 합하여 하나의 칩으로 구성할 때 적용함으로써 본 과제,

의 연구결과 활용의 극대화가 기대된다.

Page 220: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 220 -

참 고 문 헌

[1] Shu Lin, Daniel J. Costello, “Error control coding : Fundamental and

Application”, Prentice Hall Inc,, 1983.

[2] Arnold M. Michelson, Allen H. Levesque,“Error control techniques for digital

communication”, John Wiley & Sons, 1985·

[3] A. J. Viterbi, “Error bounds for convolutional codes and an asymptotically

optimum decoding algorithm” IEEE Trans. Inform. Theory, VOL. IT-13, pp.260-269,

Apr. 1967.

[4] Charles M. Rader, “Memory Management in Viterbi Decoder”, IEEE Trans.

Comm., VOL. COM-29, NO.9, pp.1399-1401, Sep. 1981.

[5] Jens Sparso, Henrik N.Jorgensen, “An Area-Efficient Topology for VLSI

Inplementation of Viterbi Decoders and Other Shuffle-Exchange Type Structures,”

IEEE J. Solid-State Circuit, VOL. SC-26 NO.2, pp.90-96, Feb. 1991.

[6] Chi-Yung Chang, Kung Yao, “Systolic Array, Processing of the Viterbi

Algorithm,”IEEE Trans. Inform., VOL.IT-35, NO.1, Jan. 1989.

Page 221: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 221 -

제 장 아날로그 신호변환 기술 연구9

Page 222: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 222 -

제 장 아날로그 신호변환 기술 연구9

제 절 서론1

다가오는 정보통신 시대를 맞이하여 영상신호 서비스의 중요성이 더욱 높아져 가고 있다.

영상전화기 화상회의 시스템 고선명 등이 그것인데 이러한 다양하고 생동감, , TV(HDTV ,

넘치는 서비스를 가능하게 하는 주요 반도체 중의 하나가 영상신호용 및 즉 아ADC DAC

날로그 신호를 디지털 신호로 디지털 신호를 아날로그 신호로 변환해 주는 이다, IC . ADC

의 규격은 최근에 제공하려는 과 고선명 에서의 주파수 대역폭 를 샘플링B-ISDN TV 6 8∼ ㎒

할 수 있는 능력을 가지고 있어야 하며 해상도는 이상이 되어야 한다 한편 도8bit . DAC

와 함께 상기 분야에 사용되기 위해서는 의 해상도를 가지며 이상의 동ADC 8 10bit 70∼ ㎒

작 속도를 지녀야한다.

본 연구에서는 이러한 요구에 부응하는 급의 와 급의10bit, 20Msps ADC 10bit, 80 DAC㎒

를 설계하였으며 앞으로 널리 보급될 가전제품에 탑재 가능하도록 소비전력이 적고 향후, 1

화가 가능해야 한다는 점 등을 고려해서 저 소비전력형의 공정기술을 이용하였chip CMOS

다 의 전체적인 구조는 의 형태로 구성하였고 당 의 출. ADC 9-stage pipeline l Stage 1.5bit

력을 내어 총 의 해상도를 갖게 하였다 또한 소비전력을 낮추기 위해 새로운 구조의1Obit .

비교기를 고안하였으며 입력에 수 의 을 주어 만을, bit negative offset positive correction

수행하도록 하여 디지털 을 간단화 하였다 의 구조는 이진가중Correction logic . DAC

전류 셀 방식을 사용하여 구성하였고 특히 새로운 전류셀 구동회로를(binary weighted) ,

고안하여 각 전류셀이 될 때 발생하는 를 최소로 하여 의 해상도를 갖게on, off glitch 10bit

하였다.

Page 223: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 223 -

본 연구에서는 이러한 성능을 가지는 와 의 설계를 완료하였는데 는 전체ADC DAC ADC

레이아웃을 완성하여 시제품까지 제작하였으며 는 전체 에 대한 회로설계를chip , DAC chip

완료하고 주요 기능블록에 대한 레이아웃까지 완성하였다.

제 절 본론2

분야1. ADC

가 구조.

본 연구에서 설계한 고속 는 고선명 영상신호를 고속으로 처리하면서도 극히 적은 전ADC

력만을 소비하도록 고안되었다 첫째 모든 소자는 정도를 매칭 할 수 있는 아래와 같. , 10bit

은 최소 크기의 소자를 사용하여 이에 따른 모든 를 최소화함으로써 구동부, Loading effect

위의 소비전력을 줄일 수 있었다.

최소 커패시턴스- : 0.01㎊

트랜지스터의 최소 게이트 길이- : 1.2㎛

둘째 비교기의 기준전위 입력 방법을 기존의 저항렬 방식 비교기의 동작시간 외에도 계속, (

전류가 흐름 에서 커패시터 방식으로 바꾸어 비교기의 동작 시에만 전류가 흐르게 함으로써)

소비 전력을 줄일 수 있었다 또한 전체 구조에 있어서는 한 당 씩을 출력하는. stage 1.5bit

총 구조를 채택하였는데 이것은 비교기 에 대한 여유가 크고 한9 stage pipeline offset ,

당 구조가 간단하며 이득이 적어 세틀링 시간이 짧아져서 속도가 빨라지기 때문이다stage , .

본 고속 영상신호용 의 전체 구조는 그림 과 같다ADC ( 9-1) .

Page 224: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 224 -

그림 의 전체 구조( 9-1) 9-stage pipelined ADC

나 규격.

본 연구에서 개발한 의 규격을 본 장의 뒷부분에 첨부한 규격서에 나10bit, 20Msps ADC

타내었다.

다 및. Clocking scheme clock generator

(1) Clocking scheme

본 의 동작은 형태로서 을 사용하며ADC pipeline non·overlapping 2-phase clock , stage

간에는 반주기 정도 가 생기게 되어 있다 을 사용하는 이유는 간단한delay . 2-phase clock

구조이면서도 아날로그 의 동작 시 각 동작이 겹치지 않아 간선 없이 안정된 동작을 보part

장 받을 수 있기 때문이다 그림 는 에 따른 각 기능의 타이밍 동작을.( 9-2) clock sequence

나타낸다.

Page 225: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 225 -

그림 에 따른 각 의 동작( 9-2) Clock stage

그림 에서 보면 입력 앰프는 가 액티브 되는 순간부터 입력( 9-2) sample-and-hold PHI2

전압을 트래킹 하다가 이 상태로 되는 순간 샘플링해서 저장하고 다시 이PHI2' low , PHI1

액티브 되는 순간부터 앰프에 홀드하는 동작을 하고 있다 홀드 하는데 가 필요한 것은. T/2

앰프가 세틀링하는 최대한의 시간을 확보해야 하기 때문이다 한편 첫 번째 에서는, stage

앰프에 홀드 된 신호를 때 트래킹 하다가 이 상태로 될sample-and·hold PHI1 PHI1' low

때 샘플링하여 내부 커패시터에 저장하고 이 상태로 되는 순간부터 가 액티, PHI1' low PHI2

브 되는 순간까지 비교기 즉 에서 이 전압을 비교하여 의 디지털 데이터를( 2-bit ADC) 2bit

출력한다 가 액티브인 구간에서는 이 의 결과를 반영하여 에 가한 뒤 이 값. PHI2 2bit DAC

을 입력전압에서 빼주는 동작을 하게 된다 마찬가지의 순서로 두 번째residue amp . stage

이하에서는 반주기 늦게 똑같은 동작을 하게 된다 따라서 마지막 인 번째 에. stage 9 stage

서는 첫 번째 보다 즉 만큼 늦어지므로 이 모든 출력의stage T/2× 8 = 4T, 4 clock time

동기를 맞추어야 할 필요가 있다 이것은 회로를 사용함으로써 해결하게 된다. 0.5T delay .

Page 226: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 226 -

(2) Clock generator

본 에 적합한 은 회로를 이용해서ADC non-overlapping 2-phase clock feedback overlap

이 생기지 않도록 하였으며 그 회로와 각 파형을 그림 과 그림 에 나타내었clock ( 9-3) ( 9-4)

다.

그림 회로( 9-3) Clock generator

그림 파형( 9-4) Clock

Page 227: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 227 -

라 전체 회로.

본 의 전체 회로를 그림 에 나타내었고 시뮬레이션 결과를 그림 에 나타내었ADC ( 9-5) ( 9-6)

다.

그림 전체 회로( 9-5) ADC

Page 228: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 228 -

그림 전체 회로 시뮬레이션 결과( 9-6) ADC

Page 229: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 229 -

마 전체 도면.

본 의 도면을 설계함에 있어서 첫째 아날로그 입력 신호라인 각 연산 중폭기의 입력ADC , ,

라인 및 라인들은 를 최소한으로 줄이기 위해 를clock bus coupling noise N-well layer

이용하여 하였으며 둘째 모든 신호 라인을 가능한 한 최소로 하였고 셋째 커패시shilding , ,

터의 상대 정확도를 얻기 위해 단위 커패시터 개념을 도입하였으며 넷째 아날로그와 디지,

털 의 전원을 분리하는 등의 여러 가지 사항을 고려하였다 그림 에 전체 의 블part .( 9-7) chip

록 배치도를 나타내고 그림 에 전체 도면을 보인다( 9-8) .

그림 전체 의 기능 블록 배치도( 9-7) ADC chip

Page 230: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 230 -

그림 전체 도면( 9-8) ADC

Page 231: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 231 -

분야2. DAC

가 구조 및 동작원리. DAC

설계 완료된 의 구조는 그림 와 같이 영상신호 처리기로부터 에 입력되는DAC ( 9-9) DAC 10

의 및 등 디지털 형태의 입력신호를 아날로그 신호로 변환하bit R(Red), G(Green) B(Blue)

는 형태이다 의 디지털 입력 신호 중 하위tripple DAC . 10 bit LSB(Least Significant Bit)

은 전류셀 구동기의 을 통해 그 에 맞게 바로 해당 이2 bits (D0~D1) buffer chain timing

진가중 전류 셀 에 인가되어 출력 전류를 생성 시킨다 그(binary weighted current cell) .

나머지 상위 의 디지털 입력은 씩MSB(Most Significant Bit) 8bits(D2 D5, D6 D9) 4 bit∼ ∼

먼저 반전 및 비 반전의 신호로 바뀌어 두 개의 이진 디코더 에8_to_15 (binary decoder)

의해 각각 개의 전류셀 구동신호로 만들어져 래치 되어 전류셀의 스15 (current cell) (latch)

위칭 특성을 최적화하여 인가되도록 구성되어 있다 또한 출력되는 색신호의 레벨을 맞추기.

위한 제어신호인 제어신호 및 제어 신호에 의해 해당되는 전류셀을 선택하여BLANK Sync

색신호의 레벨 및 레벨을 맞추어 주는 기능을 하도록 구성되어 있다 각 전류Blank Sync .

셀은 세 개의 로 이루어져 기준전압 발생회로NMOS transistor (voltage reference circuit)

의 일정 전압과 비교 스위칭 동작에 의해 의 크기에 따라 출력전류의 크기가 결transistor

정되도록 하였다 이들 출력 전류는 출력단의 출력저항 에 의해 그 크. DAC , Ro(=37.5ohm)

기에 따라 그림 에서와 같이 및 로 구성된( 9-10) white level, black level sync. level

색신호로 각각 나타나게 된다 각 신호는 그림 의 에서와 같이RGB . ( 9-11) timing diagram

로 동작 하는 클록을 기존으로 디지털 입력형태에 따라 상응하는 아날로그 출력을100 ㎒

발생하도록 되어 있다.

Page 232: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 232 -

그림 의 구조( 9-9) DAC

그림 색신호의 출력파형( 9-10) RGB

Page 233: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 233 -

그림 의( 9-11) DAC timing diagram

나 의 설계. DAC

설계 개요(1)

고속 를 설계함에 있어 먼저 구조와 변환방식을 연구하였고 선진 외국의 제품10 bit DAC

기술 동향에 대한 조사 연구를 선행하였다 또한 이를 토대로 유사회로를 선정하여 이에 대.

한 회로분석 및 중요회로 기술을 연구하였다 그 결과 영상신호 처리 분야에 응용될 고해상.

도 가고속의 동작법위에서 동작할 때에 성능을 극대화하기 위해서는DAC DAC

및 특성 특성differential linearity error integral linearity error , signal-to-noise ratio ,

변이 특성 및 특성 등 성능 변수의 개선이 가장 중요하다는 것을 알게 되full scale glitch

었다 따라서 본 연구에서는 방식 중 가장 빠른 속도 특성을 지닌 전류셀 방식을 채택. DAC

하여 위에서 언급한 특성을 고려하여 정확도 및 속도 등 성능 항목DAC (accuracy) (speed)

을 개선한 를 설계하였다 선형성 오차를 최소화하기 위해 로 전1O bit CMOS DAC . NMOS

류셀을 구성하였고 전류셀의 스위칭 시간을 일치시켜 발생 문제를 해결하도록 전류, glitch

셀 구동회로 및 클릭 발생 회로를 최적화하여 설계를 하였다.

Page 234: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 234 -

회로설계는 변수를 적용하여 시뮬레이션을 행하였다1.2 N-well CMOS .㎛

(2) Voltage reference amplifier

전류셀에 인가되는 기준전압을 공급하는 회로는 외부에voltage reference amplifier chip

연결되는 에 의해 로 되어 약 및 약zener diode 1.235V biasing 3.765V(=Vb1)

크기의 일정전압을 발생시키는 역할을 한다 이 는 외부에2.65V(=Vb2) . amplifier 560∼

범위의 가변저항을 연결하여 정확한 기준전압을 공급할 수 있도록 할580 ohm trimming

수 있게 하였다 설계된 의 회로도는 그림 와 같이. voltage reference amplifier ( 9-12) OP

형태이며 이 의 및 을 회로 시뮬레이션amplifier amplifier open-loop gain phase margin

한 결과는 그림 에 나타냈는데 은 정도이며 특성으로( 9-13) open-loop gain 65dB AC

은 정도를 나타내어 양호한 의 특성을 보이고 있다phase margin 80 90 degree amplifier .∼

그림 회로도( 9-12) Voltage reference amplifier

Page 235: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 235 -

그림 의 특성( 9-13) Voltage reference amplifier AC

Page 236: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 236 -

전류셀(3)

의 를 이루고 있는 전류셀은 그림 와 로 구성되어 있고DAC core ( 9-14) NMOS voltage

회로로부터의 일정전압을 공급받아 디지털 입력신호와 스위칭에 의해reference amplifier

출력전류를 발생하고 전류원을 구성하고 있는 크기에 따라 출력전류의 크기가transistor

결정된다 제품사양에서 결정된 의 아날로그 색신호 출력파형 에 해당되는 여섯. DAC level

종류의 가중 전류셀이 선택되어 의 해상도를 갖도록 하였으며 각 전류셀 간의 구동1Obit

시간 에 의한 를 최소화하도록 설계하였다 또한 보상 커패시턴스 삽입mis-matching glitch .

에 의한 전류셀의 스위칭 시간 및 구동회로의 동작 시간을 일치시켜 저 특성을 갖도glitch

록 전류셀 구조를 개선 설계하였다.

그림 는 및 의 전류셀로 된 의 전류셀 시험회로의 회로 시뮬( 9-15) 1LSB, 2LSB 4LSB 3bit

레이션 결과를 보이고 있다.

그림 전류셀 회로( 9-4)

Page 237: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 237 -

그림 전류셀 시험회로의 시뮬레이션 결과( 9-15)

Page 238: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 238 -

디코더 회로 및 클록 발생회로(4)

의 입력 증감에 따라 전류셀을 선택하기 위한 입력신호 인 디코더DAC code register block

는 최대한의 속도 개선을 위해 입력 신호를 이진 디코더 회로에 의해 디코딩 해(decoding)

서 그 출력을 래치 단으로 바로 전류셀을 구동하도록 함으로써 입력 에(latch) buffer chain

서의 지연시간을 최소화 하였다 또한 입력신호가 래치 된 후 전류셀을 구동할 때에. DAC

상승 및 하강시간 특성을 일치시켜 를 없애도록 하였다 또한 클록 발생 회로에서도glitch .

클록의 상승 및 하강지연 시간을 커패시턴스 삽입에 의해 조정함으로써 클록신호 변boost

환에 의한 발생문제를 해결하였다glitch .

전체회로 시뮬레이션(5) DAC

회로 입력 디코더 회로 클록 발생 회로 및 전류셀 등을 개Voltage reference amplifier , ,

선하여 그림 과 같이 전체 회로를 완성하고 회로 시뮬레이션을 행하였다 그 결과 제( 9-16) .

품사양에서 정해진 이내의 미분선형성오차 범위+/- O.5LSB (differential linearity error)

내에서 가 감소된 특성을 보였다 그림 은 전체회로의 시뮬레이션 결과 일glitch DAC . ( 9-17)

부를 보이고 있다.

Page 239: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 239 -

그림 전체 회로도( 9-16) DAC

Page 240: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 240 -

그림 전체 회로 시뮬레이션 결과( 9-17) DAC

Page 241: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 241 -

주요기능회로 도면설계(6)

회로 시뮬레이션이 완료된 의 주요 회로를 설계 규칙에 의거하DAC 1.2um N-well CMOS

여 도면설계 하였다 그림 은 의 도면이며 그림 와.( 9-18) voltage reference amplifier ( 9-19)

그림 은 기본 전류셀 및 회로의 도면 설계 결과이다( 9-20) Green block .

그림( 9-18) Voltage reference amplifier

Page 242: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 242 -

그림 기본 전류셀의 도면( 9-19)

그림 회로의 도면( 9-20) Green block

Page 243: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 243 -

제 절 결론3

본 연구에서는 공정기술을 사용하여 급의 를 설계하고 시1.2um CMOS 10bit, 20Msps ADC

제품 제작을 완료하였으며 급의 를 설계하고 주요 기능블록의 도면까지 완, 10bit, 80 DAC㎒

성하였다 본 의 특징은 회로이며 특히 지금까지 발표된 동급 소비전. ADC full CMOS , ADC

력이 정도임에 비해 약 인 밖에 되지 않는다는 것이다 이것은 저 소비전력150 1/3 50 .㎽ ㎽

의 비교기 회로의 고안과 가능한 한 적은 크기의 부하 커패시터를 사용함으로써 연산 증폭

기의 크기를 최소화할 수 있게 되어 가능하였다 또한 도 회로로서 새로운. DAC full CMOS

전류셀 구동회로를 고안함으로써 전류셀의 시 발생하는 를 최소화하여 의on, off glitch 1Obit

해상도를 얻게 되었다 앞으로 의 시제품에 대한 성능을 평가하여 회로개선을 하고. ADC

버전을 설계할 예정이며 는 도면 설계를 완료하여 시제품 제작을 진행할 예정0.8um , DAC

이다.

Page 244: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 244 -

참 고 문 헌

[1] Y.M.Lin, Beomsup Kim, and P.R.Gray, "A 13_bit 2.5 Self-Calibrated Pipelined㎒

A/D Converter", JSSC, Vol.26, No.4, Apr. 1991, pp.628-636.

[2] S.H.Lewiset.al., "A Pipelined 9-stage Video-Rate Analog·to·Digital Con-verter",

1991 CICC, pp.26.4.1-26.4.4.

[3] B.S.Song, S.H.Lee, and M.F.Tompsett, "A l0-bit 15- CMOS Recycling㎒

Two-Step A/D Converter", JSSC. Vol.25, No.6, Dec. 1990, pp.1328-1338.

[4] S.H.Lewis, et.al., "A l0-bit 20-Msps Analog-to-Digital Converter", JSSC, Vol.27,

No.3, Mar. 1992, pp.351-358.

[5] Dieter Draxermayer, "A CMOS Triple 9-bit 180 DAC for HDTV Applications",㎒

IEEE 1993 CICC, p.28.3.1

[6] Yasuyuki Nakamura, etcs, "A l0-bit 70-Ms/S CMOS D/A Converter", IEEE JSSC,

April 1991, p.637

[7] Analog Device, ADV7122 Data Sheet

Page 245: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 245 -

규격서ADC(EC9301)

Page 246: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 246 -

High Speed 10-bit A/D Converter

Pin Arrangement

EC9301 is a monolithic CMOS LSI for

serial-parallel 10-bit analog to digital

conversion which incluses sample and

hold circuit for analog input. Clock input

level is compatible with LS-TTL and

HS-CMOS.

It is designed for video signal processing

and for data conversion of video signal

to computer input.

Features

10-bit resolution(Overflow included)ㆍ

Maximum conversation rate: 20Mspsㆍ

Power dissipation:50mWㆍ

Sample and hold circuit includedㆍ

Operation Power supply : +5Vㆍ

Clock input level : compatible withㆍ

LS-TTL and HS-CMOS

A4-Pin PLCC packageㆍ

Applications

Digital video processing, includingㆍ

digital TV, digital VCR and digital

Computer

Page 247: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 247 -

Page 248: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 248 -

Page 249: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 249 -

Page 250: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 250 -

Page 251: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 251 -

Page 252: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 252 -

제 장 셀 라이브러리 기술 연구10

Page 253: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 253 -

제 장 셀 라이브러리 기술 연구10

제 절 서론1

의 구축은 셀들의 개발과 함께 을 개발하는 환경과 을 관리하는 환경이Cell library cell cell

중요한 문제점이다 개발환경은 을 해당 공정에 맞게 설계하는 환경이고 관리환경. cell CAD ,

은 개발된 들의 설계정보를 유지보수 하는 환경이다cell CAD .

을 개발하는 과정은 인간이 언어를 익혀 책을 저술하여 출판하는 과정에 비유할 수 있Cell ,

다 언어는 나 와 같은 기술에 저술은 설계에 책은 에 출판은. technology process , , cell , cell

등록에 대응된다 이 비유에서 개발에 관련된 몇 가지 중요한 사항을 발견할library . cell

수 있다 첫째로 의 설계는 공정에 종속적인 관계를 가짐으로 공정이 설계에 선행되어. cell

존재해야 한다 둘째로 의 설계는 인간의 창조적인 지식을 필요로 하므로 완전히 자동화. cell

시킬 수 없다 세 째로 설계된 이 설계자의 의도대로 오류 없이 완성되어야만. cell cell

에 등록할 수 있다 즉 개발환경이란 설계자가 주어진 공정에 맞도록 을 개library . cell cell

발하는 최적화된 작업환경을 의미한다.

기초 의 은 공정기술에 종속적이기 때문에 공정기술이 바뀔 때마다 새로 개발해cell layout

야 되는 불편함이 있다 이를 극복하고자 제안된 방법으로 표 과 같이 네 가지를 생각. ( 10-1)

할 수 있다.

언어를 이용하는 방법은 도형들의 크기나 간격을 절대적 좌표가 아닌 상대Layout layout

적 좌표로 표현함으로써 에 의한 기술변화에 유연하게 대처할 수 있다scale down . Mentor

의 환경이 상용화된 대표적 예로서 언어라Graphics GDT(Generator Development Tool) L

는 언어를 이용해 을 프로그램으로 서술한다 기술이 바뀌면 설계규칙procedural layout .

에 관련된 매개변수 값을 바꾸고 프로그램을 다시 하여 을 만(design rule) compile layout

들어 내면 되므로 기술 독립성을 제공한다.

Page 254: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 254 -

그러나 예상하지 못한 기술 변화에는 프로그램을 다시 바꾸어 주어야 함으로 기술100%

독립성을 갖지는 못한다.

이란 과 의 중간 형태로서 구성요소들의 상대위치가 의미Symbolic layout layout schematic

를 갖는 이라고 말할 수 있다 로 표현된 의 구성요소schematic . Symbol layout (transistor,

등 들을 자유로이 상대적 위치로 표현한 후 이 요구하는 간격을wire, contact ) , design rule

만족하도록 요소들의 위치를 수평 수직방향으로 압축 하여 최종의 을(compaction) layout

얻는 방법이다 이 방법도 기술 독립성이 있으나 압축기 의 효율성이 떨어져. (compactor)

의 면적이 커지는 단점이 있다 이 방법은 기초 의 설계를 위한 참고자료layout . cell layout

용이나 단계에서 수작업에 의한 배선 연결만 활용하는 것이 대체적인 추세이다floorplan .

란 단위의 을 자동으로 발생하는 툴로서 전용Module generator block cell (special purpose)

툴과 일반용 툴로 구분 지을 수 있다 전용 란 한 가(general purpose) . module generator

지 목적을 갖는 을 자동으로 만들어주는 툴로서 특정 에 관련된 정보를 매개변수 값cell cell

으로 받아 을 자동으로 발생시킨다 예를 들면cell . ROM generator PLA generator, cell

등이다 범용 란 들의 연결정보 를 입력으로compiler . module generator transistor (netlist)

받아 배치 배선하고 압축하여 의 을 자동 발생하는 방식의 툴이다 기초 은cell layout . Cell

범용 를 이용해 개발할 수 있다 이 방법은 기술 독립적이고 개발이 용module generator . ,

이하고 비교적 복잡한 의 개발이 가능한 장점들을 제공하나 의 면적이 배치 배선기, cell , cell

와 압축기의 성능에 의해 결정되므로 비효율적이다.

Page 255: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 255 -

마지막으로 제안할 수 있는 환경은 설계자가 수작업에 의해 을 설계할 수 있assistant cell

는 툴들을 제공하는데 툴 간의 정보접속을 최대한 자동화시켜 설계자가 최소의 정보만을,

제공하는 개발 환경이다 이 방법은 기술이 변할 때마다 설계를 다시 해야 하는cell . cell

반면 의 효율성이 설계자의 능숙도에 의해 결정되며 설계자의 개발 작업이 단순하다, cell .

가 제공하는 환경이 대표적인 예이다Compass LDT (Library Development Tool) .

표 개발환경의 종류( 1O-1) Cell

관점 방법\언어Layout환경(GDT )

SymbolicLayout

ModuleGenerator

Assitant환경 환경(LDT )

수작업 작성ProgramSymbolicLayout

Schematic Layout

독립성 있음 있음 있음 없음

면적 보통 최대 최대 최소

셀 개발 용이성 어려움 용이 아주 용이 보통

효율 의존성 Programmer Compactor배치 배선기와compactor

설계자

개발 가능한셀의 복잡도

간단 보통 복잡 간단

올해 개발한 기초 셀들은 공정을 목표로 하나 종합공정이 완전히 구CMOS 08um CMOS

축되어 있지 않아 앞으로 공정변수가 가변될 가능성이 높음을 예측할 수 있다 그러므로.

공정에 독립적으로 을 개발할 수 있는 환경인 의 환경의 선택이cell Mentor Graphics GDT

불가피 했다.

관리란 출판물을 관리하는 도서관에 비유된다 도서관의 업무는 책들의 분류Cell library . ,

검색 복사 대출 번역 등으로 요약될 수 있다 관리기도 마찬가지로 정보, , , . Cell library cell

들을 분류하고 요구 형식에 맞게 변환하고 시스템에 제공하는 기능을 담당하는 환경, , CAD

이다 이 비유에서 과 관련된 몇 가지 중요한 사실을 발견할 수 있다 첫 째로 은 관. cell . cell

점 에 따라 여러 형태로 표현될 수 있다 즉 하나의 이 기하학적 관점에서는(view) . cell

으로 구조적 관점에서는 로 그리고 행위적 관점에서는 프로그램으로layout , netlist , VHDL

표현되는 이치이다 둘째로 똑같은 관점에서도 정보는 시스템에 종속적인 관계를. cell CAD

갖는다 이는 정보를 표현하는 표현형식 이 시스템마다 서로 다르기 때문이. (syntax) CAD

다 즉 관리 환경이란 정보를 저장 관리하고 다른 툴과의 정보접속을 해결함에 목. cell cell ,

적이 있다.

Page 256: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 256 -

절에서는 기초 셀 개발에 필요한 절차 및 업무 분담에 대해 논하고 절에서는 를 이2 , 3 GDT

용한 기초 셀 설계 절에서는 기초 셀을 이용한 의 설계를 설명한 뒤 절의 결4 test vehicle 5

론으로 본 장을 끝마친다.

제 절 기초 셀 개발 절차2

기초 셀의 개발은 집적회로 생산을 위해 설계팀과 소자팀과 공정팀의 기술을 통합시키는 연

결고리이다 공정팀은 안정되게 확보된 공정을 로 표현하여야 한다 소자팀은. design rule .

개발된 소자의 전기적 특성을 로 제공함으로써 소자가 안정되게 확보된 기술SPICE model

임을 표현해야한다 이 두 정보를 바탕으로 설계부는 기초 셀을 개발한다. .

기초 셀 개발은 세 가지 문제에 대해 원칙을 세워야 한다 첫 째는 기초 셀의 개발에 대한.

절차 및 환경 구축이고 둘째는 기초 셀의 전기적 동작을 확인하는, cell characterization

절차이고 세 째는 기초 셀이 목표로 하는 공정의 수율확인 절차이다 각 문제는 아래에서, .

설명한다.

Page 257: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 257 -

기초 셀 개발1.

기초 셀 개발 작업은 셀의 및 특성을 개발하는 작업이layout, schematic, symbol timing

다 개발 작업에는 기본적으로 개의 툴. Cell 5 CAD (layout editor, schematic editor,

이 제공되어야 한다 기초 셀의 설계 정circuit simulator, logic simulator, timing verifier) .

보가 모두 개발되면 설계자가 해당 의 특성을 파악할 수 있도록 을 만들고cell manual cell

관리기에 등록시켜 보존하게 된다.

그림 에 기초 셀 개발과정이 나타나 있다 우상단의 으로부터( 1O-1) . process fab. design

과 를 받아 을 설계하여 하고 을 관리기에 등rule model parameter cell characterization , cell

록하고 상용 툴에 접속시킴으로 개발 작업은 마무리 짓는다, .

그림 기초 셀 개발 과정( 10-1)

기초 셀 동작확인2.

개발된 기초 셀의 전기적 논리적 특성은 에 의해 차적으로 확인이 되었다 이, simulator 1 .

결과는 적인 분석이면서 개별 의 특성만이 분석된 것이다 보다 현실적인 데이software , cell .

터로 집적회로의 구현에 대해 확신을 갖기 위해서는 을 설계하고 공정하여 제작한test chip

후 적으로 측정된 전기적 특성과 적으로 된 전기적 특성을, hardware software simulation

비교하여야 한다 그림 비교하는 두 결과가 일치할 경우 기초 셀이 잘 개발되었다고. ( 10-2)

판단할 수 있고 그렇지 않은 경우는 원인 분석에 착수해야 한다, .

Page 258: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 258 -

전기적 특성의 비교는 제작 전에 여러 관점의 비교항목을 선정하고 각 항목별로test chip ,

측정된 값이 된 결과와 이내의 오차를 갖아야 일치하는 특성을 갖는다고simulation 1O%

판단한다.

그림 기초 셀의 동작 특성 확인 절차( 10-2)

기초 셀 수율 확인3.

개발에서 또 한 가지의 확인 작업은 공정의 수율 이다 신소자 개발자는Cell library (yield) .

하나의 에 하나의 소자가 동작해도 의미가 있으나 설계를 지향하는 개발wafer , cell library

은 집적회로 전체의 동작 가능성을 확신시켜 주어야 한다 이를 위해 을 공정 제. test chip

작해 정상적으로 동작하는 의 수를 계산하는 공정수율 확인작업을 행한다 그림chip ( 10-3).

사업의 경우 하나의 에 하나의 이라도 정상동작 되면 실험시제DRAM memory wafer chip

품이 개발되었다고 간주한다 가 정상동작 되면 실용시제품이 가 정상동작 되면 상. 7% , 20%

용시제품이 개발된 것으로 간주한다.

Page 259: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 259 -

하나의 로서 경제성을 유지하려면 이상의 수율을 기록해야 한다product 30% .

신소자 개발에 의한 구축의 경우 수율이 실용시제품 수준인 이상이 되어cell library , 7%

야만 궁극적으로 가 완성되었고 단단하여 설계에 실제적으로 응용하는 단계로cell library ,

넘어간다.

그림 공정의 수율확인 작업( 10-3)

제 절 기초 셀 설계3

개요1.

셀의 도면 은 공정 기술 이 바뀔 때마다 새로 개발되어야 되는 단점이(layout) (technology)

있다 이를 극복하기 위한 방법 중의 하나는 설계 언어를 이용하여 셀 도면을 프로그램으로.

기술하는 방법이다 이 방법은 도면 내 도형들의 크기나 간격을 파라미터화. (parameterize)

함으로써 기술변화에 쉽게 대처할 수 있고 프로그램의 변경이 용이하기 때문에 셀의 변경이

쉬운 장점이 있다 그러나 설계된 셀의 도면은 프로그래머나 설계자의 기술 능력에 의존하.

기 때문에 예상하지 못한 기술 변화에는 프로그램의 수정이 어렵고 완전한 기술 독립성은

갖지 못하는 단점이 있다.

Page 260: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 260 -

또한 전기적 파라미터의 변화를 받아들여 시뮬레이터의 입력 데이터로 사용하기 위하여 셀

에 대한 전기적 특성을 갖는 기능 모델 을 만들어 전기적 파라미터의 변(functional model)

경에 따른 반복적인 작업을 자동화시켜 셀의 개발 기간을 줄여야 할 필요가 있다 환. GDT

경은 설계 언어인 언어 및 기능 모델을 설정하여 사용할 수 있는 환경을 지원한다 특히L .

개발 과정을 언어를 이용하여 자동화 시킬 수 있기 때문에 기초 셀 개발에 이용하였다.

셀 설계 환경2.

셀 설계 환경 은 그림 과 같다 그림에서 설계 규칙은 도면을 제작하기 위하여 필[1] ( 10-4) .

요한 공정에 따른 규칙이며 모델 파라미터 는 타이밍 특성을 추출하기 위(model parameter)

하여 시뮬레이션에 사용되는 소자의 전기적 특성이다 는 설계규칙 및 모델 파라미터. L tech

를 이용하여 설계에 필요한 테크놀로지 파일의 하나인 설계규칙 파일 과(tech, layout aux)

전기적 파라미터 파일 로 변환시키는 테크놀로지 관리기이다(process, electrical.aux) . Led

는 도면 및 스키매틱 편집기로 변환된 테크놀로지 파일 언어 그리고 이미 구축된 셀 라, L ,

이브러리를 입력으로 하여 설계하고자 하는 도면 및 회로를 생성시킨다 은 에서. Lsim Led

생성되는 용 파일을 입력으로 하여 셀의 기능 및 타이밍 시뮬레이션을 하simulator netlist

는 시뮬레이터이다 기능 시뮬레이션에서는 모델링 언어인 언어 를 이용하여 기능 모. M [2]

델을 만들어서 이용한다 는 자동 배치 배선기로 설계된 회로의 레이아웃 생성에. AutoCells

사용된다 칩의 레이아웃은 기능 블록의 배치 배선의 기능이 있는 나 를. AutoRoute AutoPar

사용하여 생성시키며 생성된 레이아웃을 마스크 데이터로 변환하여 공정에 필요한 데이터,

를 얻는다 셀 라이브러리는 구조적 정보를 가진 셀과 기하학적 정보를 가진 셀로 구성된.

다 구조적 정보를 가진 셀은 게이트 수준의 심벌 셀 과 트랜지스터의 연결로 표현된. (ICON)

회로 셀 이다(SCHEMATIC) .

Page 261: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 261 -

기하학적 정보를 가진 셀은 다각형 또는 사각형들의 집합으로 표현되는 도면 셀(LAYOUT)

이다 이외에도 셀 라이브러리는 셀의 기능을 정의한 기능모델과 구조적 정보와 기하학적.

정보의 셀을 연결시켜 주는 제너레이터 셀을 필요로 한다(Generator) .

그림 셀의 설계 환경( 10-4)

셀의 설계3.

셀은 칩의 레이아웃에 이용되기 때문에 작은 면적으로 설계되어 칩의 집적도를 높이도록 해

야 하며 동작 속도가 빠르게 설계하여 칩의 성능을 향상시켜야 한다 칩의 설계에는 회로.

설계에 필요한 게이트 수준의 심벌 셀과 설계된 회로의 기능 및 타이밍 시뮬레이션에 필요

한 기능 셀 및 트랜지스터로 된 회로 셀 그리고 칩의 레이아웃에 필요한 도면 셀이 필요하,

다.

Page 262: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 262 -

심벌 셀은 사각형 형태나 기본 게이트들의 집합인 모양으로 만들었으며 셀의 이름이나 입출

력 단자의 이름 입력 출력 등의 정보를 가진다 회로 셀은 트랜지스터 수준의 셀로, type ( , ) .

서 심벌 셀에 정의된 입출력 단자뿐만 아니라 각각의 단자에 연결된 트랜지스터 트랜지스,

터의 종류 크기 연결 정보 등을 포함한다 도면 셀은 회로에 사용된 심벌 셀에 대한 레이, , .

아웃으로 입출력 단자 트랜지스터의 종류 배치 크기 그리고 연결 정보 등 공정에 필요한, , , ,

정보들이 정의된다 기능 셀 은 입출력 단자 기능 정의 및 타이밍layer . (functional model) ,

특성 등에 대한 정보가 기술된 셀이다 이 셀을 이용하여 칩 수준에서의 기능 시뮬레이션을.

빠르게 할 수 있으며 기생 커패시턴스가 고려된 타이밍 시뮬레이션에 사용된다 제너레이터.

셀은 심벌 셀 회로 셀 그리고 도면 셀을 생성시켜 주는 셀로 각각의 셀 표현에 따른 셀, ,

크기 등 셀을 설계할 때 변수로 지정한 값들을 변경하여 줌으로써 다른 크기의 셀을 생성시

킨다 또한 셀에 대한 기본 규격을 셀 내에 정의하여 셀을 생성하는 과정에서 기본 규격 이.

외의 셀 생성에 대한 오류를 알려 주는 역할도 한다.

가 셀의 종류.

설계된 셀들의 종류는 기능에 따라서 다음과 같이 분류했다.

- Primitive gate

- Complex gate

- Flip_flop & latch

는 논리 구현의 기초가 되는 단위로서 그리고 게이트Primitive gate inverter, NAND, NOR

등이 있으며 입력 단자 수 및 구동 능력에 따라서 분류했다 는 여러 종류의. Complex gate

가 모여서 구현된 게이트로서 그리고 등이 있primitive gate decoder, adder, multiplexer

다 그리고 및 는 데이터를 일시 저장하는 기능을 갖는 회로로 나. flip-flop latch clear set

단자의 유무에 따라 분류했다.

Page 263: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 263 -

설계한 기초 셀의 종류는 모두 종으로 의 설계 규칙으로 된5O O.8 two metal, twin-tub㎛

의 셀이다 기초 셀들에 대한 종류 및 기능은 표 에 나타내었다CM0S . ( 10-2) .

표 기초 셀의 종류 및 기능( 10-2)

셀이름 기능요약 셀 이름 기능요약

aof2201 2,2 AND/OR Mux larf310 Clocked latch

aof2301 2,3 AND/OR Mux lrbf202 Logic reference cell

aof3201 3,2 AND/OR Mux ldf001 RC load cell

aof4201 4,2 AND/OR Mux muxf201 Data select

aoif2201 2,2 AND/NOR Mux nanf201 2-input NAND

blf001 2,1 AND/NOR Mux nanf211 2-input NAND/AND

blf101 2,1 AND/NOR Mux nanf251 A OR b-NOT decoder

buff100 High impedance buffer nanf301 3-input NAND

buff101 Non-inverting buffer nanf311 3-input NAND/AND

buff121 Tri-state buffer nanf401 4-input NAND

delf011 Delay cell nanf411 4-input NAND/AND

dfbf311D flip-flop with S, R, Q &QB

norf201 2-input NOR

dfnf311 D flip-flop with Q & QB norf211 2-input OR/NOR

dfrf301D flip-flop with asynchronousR & Q

norf251 A-NOT AND b decoder

dfrf311D flip-flop with asynchronousR, Q & QB

norf301 3-input NOR

faf001 Full adder norf311 3-input OR/NOR

feed Feedthrough cell norf401 4-input NOR

invf100 High impedance inverter oaif2201 2,2 OR/NAND Mux

invf101 Inverter orf401 4-input OR

invf103 3X inverting buffer pudf000 Pull-down

invf104 4X inverting buffer puuf000 Pull-up

invf121 Tri_state inverter swcf020 Transmission gate

invf201 Dual inverter swcf120 Transmission gate

labf111 NAND latch xnof201 Exclusive NOR

labf211 NOR latch xorf201 Exclusive OR

Page 264: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 264 -

나 셀 설계 과정.

셀의 설계 과정은 기능 정의 회로 설계 도면 설계 그리고 기능모델 설계의 네 단계로 구, ,

분된다 설계 과정을 살펴보면 설계하고자 하는 셀의 기능 정의 부분에서는 입출력 수 및.

위치 드라이브 능력 셀의 높이 심벌 그리고 이름 등을 정한다, , , , .

회로 설계는 정의된 기능에 따라서 트랜지스터 수준의 회로 셀을 설계한다 이 회로 설계는.

기본 트랜지스터를 이용하여 설계하며 트랜지스터의 크기를 조정하여 좋은 셀 동작특성을

갖도록 했다 동작특성은 시뮬레이터인 을 이용했으며 셀의 기능 확인에도 사용하였다. Lsim .

또한 회로 셀에서 회로에 대한 게이트 레벨의 심벌 셀을 생성시켰다.

도면 설계는 회로 설계에서 설계한 회로 셀에 따라 집적도를 고려하여 도면을 제작하는 단

계이다 그 결과로 생성된 셀을 도면 셀이라 부르며 도면 셀에서의 트랜지스터의 배치는 배.

선에 영향을 주어 면적의 낭비를 초래할 수 있기 때문에 도면 셀의 설계는 중요하다 설계.

된 도면 셀이 회로 셀에 따라서 설계되었는가를 확인했으며 또한 설계규칙 및 기능을 확인

했다.

기능 모델은 입출력 단자 기능 및 부하 커패시턴스가 고려된 타이밍 특성 등의 정보들로,

기술되어 있는 기능 셀로서 모델링 언어인 언어를 사용하여 만든다 셀의 기능을 확인하M .

기 위해서 기능 수준의 시뮬레이션을 수행해야 하는데 이 때 필요한 셀의 회로 정보는 도,

면 및 스키매틱 편집기인 를 이용하여 추출하였다 또한 기능 모델을 이용하여 칩수준Led .

의 시뮬레이션을 빠르게 할 수 있고 설계된 회로의 시뮬레이션뿐만 아니라 도면 설계 후 기

생 커패시턴스 등을 고려한 시뮬레이션이 가능하다.

Page 265: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 265 -

다 도면 셀 설계.

도면 셀의 예는 그림 와 같다 이 셀은 인버터 이며 셀의 구조를 살펴보면( 10-5) . (invf101)

다음과 같다 셀의 기준점은 선의 왼쪽아래 모서리이다 이 기준점의 좌표는. ground(GND) .

이며 셀의 높이 는 이점에서 선의 위쪽 가장자리 까지의(O,O) (height) power (VDD) (edge)

거리이다 그리고 셀의 넓이 는 기준점에서 선의 오른쪽 가장자리까지. (cell_w) ground(GND)

의 거리이다 설계할 셀의 높이는 이며 셀의 넓이는 최대 의 넓이를. 66 lambda , 260lambda

갖도록 했다 및 선은 모두 의 폭을 갖으며. power ground 8 lambda(1 lambda= 0.4 um)

각각 의 높이에 위치한다 또한 각각은 두개의 단자를 갖는데62 lambda, 4 lambda . power

선은 와 단자 그리고 선은 와 단자이다 와vdd_l vdd_r ground gnd_l gnd_r . vdd_l vdd_r

단자의 축 좌표는 이며 각각의 좌표는 과 셀의 넓이인 위치에 있다 그리고Y 62 lambda X 0 .

와 단자의 축 좌표는 이며 각각의 좌표는 과 셀의 넓이로gnd_l gnd_r Y 4 lambda X 0

와 단자의 좌표와 동일하다 트랜지스터 배치는 트랜지스터는 위쪽에vdd_l vdd_r X . P_ , N_

트랜지스터는 아래쪽에 위치하며 중앙에는 입력 및 출력 단자가 최소 간격 이상으로 배치되

었다 입출력 단자는 자동 배치 배선할 경우 위 또는 아래로 연결된다 이 밖에도. . diffusion

의 크기는 트랜지스터의 넓이 내에서 가능한 크게 하였으며 은contact (width) well contact

가능한 넣도록 하였다.

도면 셀의 생성에는 설계 언어인 언어를 사용한 프로그램 이 이용된다 이 프로그램은L [3] .

설계규칙이 규정하는 도형간의 거리나 도형폭등을 변수로 정의하여 사용하며 이 변수들을

이용해 다른 변수를 정의해서도 사용한다 그러므로 설계규칙이 변하더라도 변수에 정의된.

값만이 변하므로 프로그램의 수정 없이 새로운 규칙을 만족하는 도면을 자동으로 생성할 수

있다.

Page 266: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 266 -

도면 셀 생성 과정은 셀 높이 결정 부분과 셀의 도면 생성 부분으로 나누어진다 셀 높이.

결정 부분을 보면 셀 이름 정의 변수 정의 셀 높이 계산 및 높이 비교 부분으로 구성된다, , .

먼저 설계하고자 하는 셀의 이름을 정의하고 셀의 도면을 생성시키는데 공통적으로 사용되

는 변수를 정의한다 셀의 높이는 도면을 구성하는 도형의 폭과 간격에 의해 결정되므로 프.

로그램이 자동으로 높이를 계산할 수도 있고 설계자가 임의의 높이로 고정시킬 수도 있다.

전자의 경우 는 새로 생성된 셀의 높이를 계산하여 기존의 만들어진 셀들의 높이와 비GDT

교하여 제일 큰 높이를 결정한 후 모든 셀들의 높이가 일치되도록 새로 도면을 생성하는 과

정을 밟는다 프로그램의 변수가 높이를 계산하는 두 과정을 구분하는 기호로. sc_measure

사용되는데 의 값을 가지면 셀들의 높이를 비교하고 이익 값을 가지면 결정된 높이의 셀1

을 생성시킨다.

셀의 도면 생성 부분은 및 선 배치 트랜지스터 배치 배치power ground , , contact , notch

및 제거 연결 그리고 입출력 단자의 배치 부분으로 구성된다 및gap , wire , . Power

선 배치에서는 결정된 높이에 따라 선을 상단에 선을ground power(VDD) , ground(GND)

하단에 배치한다 트랜지스터의 배치는 트랜지스터의 경우 결정된 높이나 선을. P- power

기준으로 트랜지스터 넓이 의 위치를 고려하고 트랜지스터의 경우 선을, contact N- ground

기준으로 트랜지스터와 동일한 방법으로 배치한다 의 배치는 의 종류에P- . Contact contact

따라 배치시키는 상대적 위치의 기준점을 달리한다 의 종류는 용 용. Contact diffusion , gate

및 용이며 의 경우 트랜지스터의 게이트 소스 및 드레인 등이meta1 2 , diffusion contact ,

기준이 된다 의 경우 게이트의 양쪽 끝 부분을 기준으로 하고. Gate (poly) contact metal 2

의 경우 특별한 기준점이 없으며 다른 의 기준점을 이용하여 배치시킨다contact contact .

및 제거는 의 배치에서 발생되는 틈새나 연결되어야 할 부분이 떨어져 있Notch gap layer

는 곳을 없애는 것으로 발생된 부분에 를 겹치게 하여 없앤다layer .

Page 267: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 267 -

연결은 이미 배치된 트랜지스터와 들을 서로 연결시키는 것으로 연결시키는Wire contact

의 선택은 시작되는 위치의 와 연결되는 위치의 가 서로 공통인 를wire object object layer

이용하여 연결한다 입출력 단자는 자동 배치 배선기. (automatic placement & routing

가 요구하는 간격과 위치를 고려하여 배치한다 간격은 단자로 사용되는 의 최소tool) . layer

간격 이상으로 상단 및 하단이나 셀의 중앙에 위치시킨다.

그림 도면 셀의 예( 10-5) (invf101)

라 도면 생성 프로그램.

프로그램에 사용된 언어는 객체지향의 언어로 트랜지스터 및L , contact, rectangle wire

등을 로 인식한다 설계자는 에 대한 크기 위치 및 등을 지정할 수 있object . object , layer

다 프로그램에 사용된 들의 이름과 에 지정된 크기 위치 등을 언어로의 표. object object , L

현 그리고 사용된 변수들의 의미를 간략하게 표 에 나타내었다 또한 도면에서 변수, ( 10-3) .

들이 사용된 예는 그림 과 같다( 10-6) .

Page 268: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 268 -

표 및( 10-3) Object variable names

a) Object name

Object 의Program object name 의 언어 표현Object L

Transistor pmos/nmos TP/TN

Contact

Diffusion pcon/ncon MPDIFF/MNDIFF

Poly conp/conn MPOLY

Via via M1M2

Substrate psub/nsub MPSUB/MNSUB

Wire

Diffusion _ WIRE PDIFF/NDIFF

Poly _ WIRE POLY

Metal 1 _ WIRE MET 1

Metal 2 _ WIRE MET 2

b) Variable name

Name Descriptions

pmos*_w/nmos*_w P-& N-MOS width

pmos*_l/nmos*_l P-& N-MOS length

min_sep/normal_sep P-& N-MOS separation

vdd_w/gnd_w power & ground bus width

height_local/height cell height/global cell height

cell_w cell width

name_x/name_y 의 나 좌표object name x y

con_off 와 사이의 거리gate diffusion contact

gg_x 인접 사이에 이 없는 경우 간의 거리TR contact gate

gg_x1 인접 사이에 이 없는 경우 간의 거리TR contact gate

gg_x2 전기적으로 떨어져 있는 간의 거리TR

met1_met l/met2_met2 간의 거리metall(2)wire edge-to-edge

inp x 최초 의 좌표 위치TR x

Page 269: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 269 -

(그림 도면에서의 변수 사용 예10-6) (aof2201)

프로그램의 구조는 셀 이름 정의 부분 변수 정의 부분 셀 높이 계산 부분 셀 높이 비교, , ,

부분 및 선 배치 트랜지스터 배치 부분 배치 부분 연결 및, power ground , , contact , wire

입출력 단자의 배치 부분으로 구분된다 기능의 셀 생성 프로. 2,2 AND/OR Mux aof2201

그램을 예로 하여 각각의 단계를 설명한다 먼저 셀의 정의 부분을 보면 다음과 같이 표현. ,

된다.

Page 270: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 270 -

위에서 L::은 언어로 된 파일의 선언이고 셀의 이름은 이며 트랜지스터 및L , aof2201 , P-

트랜지스터의 크기를 나타내는 변수로 나 를 사용한다 또한 나N- width length . power

선의 넓이는 의 변수를 이용하여 정의한다 끝줄의 은 레이아웃 셀ground pwidth . LAYOUT

임을 나타낸다.

다음은 사용할 변수를 정의하는 부분으로 공통적으로 사용하는 변수들은

파일에 정의하며 기본적인 설계규칙을 나타내는 변수들은 테크놀로GLOBAL_VARIABLES

지 파일 중의 하나인 파일에 정의된다 이에 대한 표현은 아래와 같다layout.aux . .

이 외에도 트랜지스터 크기 정의 트랜지스터와 트랜지스터의 간격 정의 그리고, P- N- ,

와 선의 넓이를 정의하는 부분의 표현은 아래와 같다power ground .

Page 271: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 271 -

이렇게 계산된 트랜지스터의 크기 트랜지스터의 간격 및 선의 넓이를 이용하여 셀, power

의 높이 를 계산한다 또한 다른 셀과의 높이를 일치시키기 위하여 높이를 비(height-local) .

교하고 제일 큰 값 으로 재 정의한다 이 셀 높이 비교 부분은 라는 변(height) . sc_measure

수를 사용하여 높이만 비교할 것인가 아니면 실제의 셀을 생성시킬 것인가를 구분시켜준다.

사용된 표현은 아래와 같다.

셀 높이의 계산은 자동 배치 배선기를 이용할 때 필요하며 셀을 생성시키기 위해서는 셀,

생성 프로그램을 두 번 반복해 읽게 된다 첫 번째는 높이만 계산하고 두 번째는 실제의 셀.

을 높이에 따라서 생성시키게 된다.

다음으로 실제 셀들이 표현된 부분을 살펴보면 셀의 넓이 를 정의한 변수를 이용, (cell_w)

하여 계산하고 셀 높이에 따라 및 선을 먼저 배치한다 이에power(VDD) ground(GND) .

대한표현은 아래와 같다.

Page 272: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 272 -

및 단자의 이름은 각각 와 이다 여기서 과Power ground gnd_1, gnd_r vdd_l. vdd_r . _l _r

은 왼쪽과 오른쪽을 나타내며 좌표는 괄호안과 같다 또한 로 연결되어 있다. metal layer .

이와 같은 표현은 단자를 아래에 단자를 위에 배치한다ground , power .

다음으로 트랜지스터의 배치를 보면 아래와 같이 표현된다.

첫 번째 트랜지스터 의 이름은 도 회전 된 상태이며 넓이 와 길이P- (TP) pmos1, 90 (R90) W

을 가지며 위치는 이다 또한 두 번째 트랜지스터의 이름은 같L (inp_x, pmos1_y) , pmos2,

은 넓이와 길이를 가지며 배치되는 위치는 좌표는 과 같으나 좌표는 좌Y pmos1 X pmos1 X

표 에서 만큼 떨어진 지점이다(pmos1. X) gg_x1 .

Page 273: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 273 -

여기서 기준이 되는 좌표는 트랜지스터의 중앙점이다 트랜지스터의 게이트 소스 및 드레. ,

인 영역을 언어로 표현하면 그리고 이다 특히 게L pmos1.g1(pmos1.gr), pmos1.s pmos1.d .

이트는 왼쪽 오른쪽의 두 개가 있다 이 기준점을 이용한 들의 배치는 아래와 같이, . contact

표현된다.

의 배치는 그리고Contact diffusion(MPDIFF, MNDIFF), poly(MPOLY), via(M1M2)

순서로 이루어지며 각 에 대한 이름과 배치되substrate contact(MPSUB, MNSUB) contact

는 위치를 기술한다.

다음은 및 을 없애기 위하여 를 겹치도록 하는데 이때에 쓰는 언어로의notch gap layer L

표현은 이다 이 는 필요한 을 선택하고 기준점 을 중심RECT . RECT layer(PDIFF) pmos1.d

으로 하여 두 지점 와 인 점을 하는 것으(0,pmos1_w/2) (-rect_diff_x,-pmos1_w) rectangle

로 아래와 같이 표현된다.

Page 274: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 274 -

위와 같은 순서로 하여 모든 들이 배치되면 상호간의 연결이 필요하다 의object wire . Wire

연결은 사이의 전기적인 연결을 나타내는 것으로 이에 대한 표현은 아래와 같다object .

첫 번째 줄의 표현은 로 쓰는 를 지정하고 시작하는 와 목표로 하는wire layer object object

의 이름의 순서로 기술하면 된다 및 는 수평 수직을 뜻하는 것으로 어느 쪽으로. HOR VER ,

먼저 연결하는가를 정해 준다 또한 위 와 아래 로도 시작하는 를 기준하. (UP) (DOWN) object

여 정한 길이만큼 가서 가 꺾이도록 할 수 있다 이 때 에 대한 넒이 도 줄 수wire . wire (W)

있다 끝으로 입출력 단자를 배치시키고 자동 배치 배선기를 이용하기 위한 나. EQUIV

를 선언해 주면 셀을 생성하는 프로그램의 기술은 완료된다 이에 대한 표현TERMPLACE .

은 다음과 같다.

Page 275: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 275 -

입출력 단자의 배치는 입력 및 출력 단자 선언과 사용하는 및 이T (IN) (OUT) layer(MET2)

름 정의 그리고 위치의 순서로 기술된다 선언은 레이아웃 셀의 단자가 의, . EQUIV symbol

단자와 같은 단자임을 나타내며 는 입출력 단자가 어느 방향에서 연결될 수TERMPLACE

있는가를 나타내는 것으로 앞에서의 표현은 위 와 아래 로 연결될 수 있음을(TOP) (DOWN)

정의해 주는 부분이다.

제 절 기초 셀을 이용한 설계4 Test Vehicle

설계는 개발한 여종의 기초 셀들의 효용성을 검증하기 위한 테스트 회로설Test vehicle 50

계에 관한 것이다 테스트 회로로 선정된 회로는 방식으로. 48 tap interpolation FIR filter

음성 또는 영상처리에 사용되어 신호의 질을 높이는 기능을 가지고 있다, .

Page 276: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 276 -

테스트 회로의 설계에는 을 이용하였으며 검증에는 를 이용하였다VHDL , VHDL simulator .

일반적인 을 이용한 하향식 설계흐름은 그림 과 같다 로 기술된 회로는VHDL ( 10-7) . VHDL

를 이용하여 회로의 동작 검증이 이루어지며 검증된 회로는 논리합성 과VHDL simulator ,

정을 거치며 으로 합성된 회로를 검증한다 검증된 합성회로는 레이아웃의, logic simulation .

입력으로 주어진다 이 레이아웃에서는 설계한 셀 라이브러리를 이용하여 배치. ETRI 0.8㎛

및 배선하여 레이아웃 도면을 생성한다 앞으로 테스트 회로의 기능 설명 및 설계에 대하여.

기술한다.

Page 277: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 277 -

그림 하향식 설계 흐름도( 10-7)

Page 278: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 278 -

테스트 회로의 기능1.

테스트 회로는 형태의 으로 입력 는 이고 출력 는pipeline 48 tap interpolation X 1-bit , Y

으로 구성된다 본 회로에는 두개의 이 있으며 하나의 은 입8-bit . clock , clock(clock1) 1-bit

력 에 대하여 동작하는 으로 의 주파수를 갖는다 다른 하나의X clock 1.2288 .㎒

은 계수와의 곱셈과 가산 및 병렬 시프트 레지스터 출력에 적용된다clock(clock2) , 8-bit ,

이 은 의 배인 로 에 동기된 입력신호 하나에 대하여 주clock 1.2288 4 4.9196 clock1 4㎒ ㎒

기 진행 하면서 배의 데이터를 출력 한다4 .

그림 회로( 10-8) Interpolation filter

각 계수는 입력 가 일 때 계수의 값이 레지스터로 입력되고 일 때 계수의 음수 의X ‘1’ , ‘0’ (2

보수 가 레지스터로 입력된다 계산된 이러한 계수는 의 각 주기마다 각 레지스터에) . clock2

병렬로 이전 된다 그림 에서 보여주는 것과 같이 첫 번째 주기에서는 첫 번째(shift) . ( 10-8)

계수의 결과가 첫 번째 레지스터에 입력된다.

Page 279: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 279 -

그리고 두 번째 주기에서는 첫 번째 레지스터의 값이 두 번째 레지스터로 두 번째 계수의,

결과가 첫 번째 레지스터에 병렬로 입력된다 이러한 동작을 반복하여 계속한다 따라서 출. .

력 의 결과로 나오는 값은 다음과 같다 아래 식에서 는 에 해당하는 출력을Y[7:0] . Yi i-bit

표시한다 는 입력 의 번째 순서의 입력에 해당하는 값을 표시한다. Xi X i .

여기에서 는 입력 에 따라서 또는 의 값을 갖는다 즉 의 값이 이면 는Xi X 1 -1 . , X ‘1’ , Xi -1

의 값을 이면 는 의 값을 갖는다 본 회로에서 사용하는 계수들, ‘0’ Xi +1 . interpolation filter

의 값은 그림 과 같다( 10-9) .

Page 280: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 280 -

그림 회로의 계수( 10-9) Interpolation filter

Page 281: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 281 -

테스트 회로의 설계2.

회로는 그림 과 같이 계수발생기와 데이터패스의 두 부분으로Interpolation filter ( 1O-1O)

나누어 설계하였다 이 가운데 데이터패스 부분은 가산기라는 블록으로 구성된다 이 계층. .

구조를 이루는 모듈들은 회로 계수발생기 가산기 데이터패스 가산기interpolation filter , , , ,

로 이루어지며 각각은 언어로 기술이 되었다 앞으로 각 블록의 기능, VHDL . , VHDL code

및 시뮬레이션 결과에 대하여 기술하겠다.

그림 회로의 분할( 1O-1O) Interpolation filter

가 계수발생 회로.

계수발생 회로의 설계는 계수 개가 하나의 그룹으로 반복되면서 입력되는 것을 이용한다4 .

예로 계수 이 있는 첫째 단은 다음과 같이 반복된다C0, C1, C2, C3 .

Page 282: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 282 -

위치에서는 패턴이 반복되며 에서는 패턴l-bit, 2-bit, 3-bit, 4-bit, 5-bit 1110 , 6-it 1010

이 에서는 패턴이 에서는 패턴이 에서는 패턴이 반복, 7-bit 0100 , 9-bit 0110 , 10-bit 1101

한다 모든 반복 패턴의 경우의 수는. 24 가지이므로 이러한 모든 패턴이 발생되는 회로=16

의 설계가 계수발생 회로의 설계가 된다 이 계수발생 회로는 입력 가 로 작용하. X sign bit

여 의 값이 인 경우에는 계수의 값이 의 값이 인 경우에는 계수의 음의 값이 출, X “0” , X “1”

력된다 이때 음의 값은 의 보수 회로로 구현되며 이 의 보수는 의보수와 의 값을 가. 2 , 2 1 ‘l’

산하는 것과 같으므로 구현하는 것이 간단한 의 보수회로와 캐리 로 구현한다 이, 1 (carry) .

캐리는 가산기의 의 입력으로 사용하게 된다 본 절에서 구현하는 계수 발생회로carry in .

의 동작은 표 와 같다 여기서 의 입력 그룹 은 계수들을 선택하는 입력으( 10-4) . 2-bit (group)

로 이면 첫째 계수 를 이면 둘째 계수 를, “00” (C0, C4, C8, ) , “01” (C1, C5, C9, ) , “10”… …

이면 셋째 계수 를 그리고 이면 넷째계수 를 선(C2, C6, C10, ) , , “11” (C3, C7, C11, )… …

택하게 된다 이 그룹의 값이 등으로 반복되면서 계수를. “00”, “01”, “10”, “11”, “00”, .…

반복적으로 발생시킨다 이 계수발생기에 대한 언어로의 기술은 그림 과 같. VHDL ( 10-11)

다.

Page 283: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 283 -

표 계수발생 회로의 기능( 10-4)

input output

data group control[1:0] coefficient[15:0] carry-in

0 00 "0000000011111111" 0

0 10 "0000111100001111" 0

0 10 "0011001100110011" 0

0 11 "0101010101010101" 0

1 00 "1111111100000000" 1

1 01 "1111000011110000" 1

1 10 "1100110011001100" 1

1 11 "1010101010101010" 1

Page 284: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 284 -

그림 계수발생 회로의 표현( 10-11) VHDL

나 가산기 회로.

가산기 회로는 그림 과 그림 에서 보이는 것과 같이 계수와 전단에서 이전( 10-10) ( 10-12)

한 입력과의 가산부분과 이 결과를 레지스터에 이전하는 병렬 시프트 레지스터 부분으로 이

루어진다 입력 계수가 이므로 가산에 의하여 생성된 의 수는 이 될 수 있. 10-bit bit 11-bit

다 따라서 입력의 수는 가산기와 시프트 레지스터로 설계한다 이 때 가. bit 11-bit 11-bit .

산기는 이전의 계수 발생회로에서 생성된 캐리를 입력으로 받을 수 있도록 입력carry-in

이 반드시 존재하도록 설계한다 가산기는 부분부터 계산하여 차례로 을 계. 1sb carry out

산하고 이것을 다음 의 으로 사용한다 이에 대한 와 의 가산기 기능은 다음, bit carry in . a b

과 같다.

Page 285: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 285 -

시프트 레지스터 부분은 의 레지스터가 개가 존재한다 이 시프트 레지스터는11-bit 4 .

에 의하여 다음의 레지스터로 씩 병렬로 이전된다 가산기와 시프트 레지스터clock2 11-bit .

에 대한 언어로의 기술이 그림 에 보여진다VHDL ( 10-13) .

Page 286: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 286 -

그림 가산기 회로의 표현( 10-13) VHDL

그림 가산기 회로의 블록도( 10-l2)

Page 287: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 287 -

다 데이터 패스 회로.

데이터 패스 회로는 그림 에서 보이는 것과 같이 가산기회로의 구조적인 연결 관계( 10-10)

로 나타내어 설계한다 데이터 패스 회로에서 사용하는 계수들은 계수발생 회로의 출력인.

신호선에 대하여 계수의 한 위치의 신호선을 연결하는 것으로 얻는다 예16-bit encoding .

로 첫째단의 계수에 대한 연결 신호선의 위치가 다음과 같다고 가정하자 계수의 각 에. bit

해당하는 값을 계산하고 이에 따라서 연결 신호선을 찾아 연결하게 된다 여기encoding , .

서 에 해당하는 신호선은 이며 는 는, 0-, 1-, 2-, 3-, 4-bit S14 , 5-bit S10, 6-, 7-bit S4,

는 는 과 연결이 된다8-bit S6, 9-bit S13 .

데이터 패스 회로에 대한 언어 기술은 그림 에 나타낸다VHDL ( 10-14) .

Page 288: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 288 -

그림 데이터 패스 회로의 표현( 10-14) VHDL

라 의 전체 회로 구성. Interpolation Filter

회로는 그림 에서 나타나는 것과 같이 계수발생 회로와 데이터Interpolation nlter ( 1O-15)

패스 회로 두 부분으로 나누어진다 이 두 부분은 서로의 연결 관계를 의. VHDL structural

표현형식으로 기술하며 이는 그림 에 나타내었다( 10-16) .

Page 289: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 289 -

그림 회로의 블록도( 1O-15) Interpolation filter

마 의 레이아웃. Interpolation Filter

의 배치 및 배선은 사의 를 이용하여 행하Interpolation filter Mentor Graphics Auto Cells

였다 를 이용하여 생성한 레이아웃 도면은 그림 과 같으며 의 배치. Auto Cells ( 10-17) pad

및 배선은 수작업으로 행하였다 전체회로의 레이아웃 크기는. 1928 × l093 um2이다.

Page 290: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 290 -

그림 회로의 표현( 10-16) Interpolation filter VHDL

Page 291: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 291 -

그림 회로의 레이아웃( 10-17) Interpolation filter

Page 292: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 292 -

제 절 결론5

연구과제에서는 기술 독립적인 종의 기초 셀을 설계했으며 이 셀들을 이용Cell library 50 ,

해 을 설계하였다 기초 셀들은 사의 환경이 제공하는 언test chip . Mentor Graphics GDT L

어로 프로그래밍하여 공정기술의 변화에 즉각적으로 대치할 수 있도록 구현하였다. Test

은 로 회로의 동작을 서술하고 검증한 후 사의 를 이chip VHDL Synopsys Design Compiler

용해 논리합성 하였고 사의 를 이용해 자동배치 배선하여, Mentor Graphics Auto Cells

을 얻는 하향식 설계방식에 의해 설계하였다layout .

차 년도에는 공정을 목표로 기초 셀들을 개발하고2 5V, 0.6um standard CMOS ROM,

를 목표로 한 를 개발할 예정이다RAM, multiplier module generator .

Page 293: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 293 -

참 고 문 헌

한국전자통신연구소 자동설계 환경구축에 관한 연구 최종연구보고서 과학기술처[1] , “ ”, , ,

1992

[2] Mentor Graphics, “M Language Users Guide”, Ver.5_3.1, Sep., 1992

한국전자통신연구소 생성 프로그램 기술문서[3] , “ETRI 0.8 Cell Library ”, , 1993㎛

Page 294: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 294 -

제 장 결 론11

Page 295: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 295 -

제 장 결론11

제 절 연구 성과1

과제수행 차년도인 금년에는 개 분야에 걸쳐서 연구가 수행되었다 즉 구조 연구1 4 . , DSP

분야 모듈 설계 분야 아날로그 신호변환 기술 분야 셀 라이브러리 기술 연구 분야, DSP , ,

등의 연구가 수행되었다.

구조 연구에서는 과제에서 기술적인 지표로 하는 고속 개발을 위한 구조연구와DSP DSP

함께 고속승산기 모듈개발이 수행되었으며 이동통신용 단말기의 하드웨어 및 소프, CDMA

트웨어 구조에 관한 연구가 수행되었다.

모듈 설계 분야에서는 이동통신 단말기의 핵심 기능을 수행하는 보코드DSP CDMA DSP,

복조기 변조기 복호기의 개발이 수행되었다 또한 단말기용 개발에서는, , IC . CPU

의 모델링 및 시뮬레이션 등의 연구가 수행되었다80C186EA CPU VHDL .

아날로그 신호변환 기술에서는 비디오 신호를 처리할 수 있는 비트 급 및10 /20 DAC 10㎒

비트 급 기술에 관한 연구가 수행되었다/80 DAC .㎒

끝으로 셀 라이브러리 기술에서는 설계를 위한 환경구축 차원에서 기VLSI 0.8um CMOS

초 셀 개발과 함께 을 이용한 하향식 설계환경 구축에 관한 연구가 수행되었다VHDL .

각 연구 분야에서 수행된 주요 연구결과는 다음과 같다.

구조 연구o DSP

고속 승산기 모듈 설계- DSP

이동통신용 단말기 구조 연구o

이동통신 단말기의 하드웨어 및 소프트웨어 기능 분석- CDMA

Page 296: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 296 -

이동통신 단말기의 주요 기능 알고리즘 시뮬레이션- CDMA

인텔 의 모델링 및 단말기 동작 시뮬레이션- 80C186EA VHDL

개발o Vocoder DSP

를 내장한 보코더용 급 설계- QCELP 35 MIPS DSP

용 어셈블러 프로그램 개발- DSP

용 에뮬레이터 프로그램 개발- DSP

단말기용 개발o FDMA CPU

인텔 마이크로컨트롤러의 모델링- 80C186EA VHDL

등 주변소자 모델링 및 시뮬레이션- EPROM, EEPROM, RAM

개발o Demodulator IC

이동국용 사양- CDMA demodulator

이동국용 알고리즘 분석 및 시뮬레이션- CDMA demodulator

이동국용 논리설계 및 시뮬레이션- CDMA demodulator

개발o Modulator IC

이동국용 사양 연구- CDMA modulator

이동국용 알고리즘 분석 및 시뮬레이션- CDMA modulator

이동국용 논리 설계 및 시뮬레이션- CDMA modulator

이동국용 모델링 및 논리합성- CDMA modulator VHDL

개발o Decoder IC

용 사양- CDMA decoder

용 알고리즘 분석 및 시뮬레이션·CDMA decoder

용 논리설계 및 시뮬레이션- CDMA decoder

아날로그 신호변환 기술 연구o

비트 규격- 10 /20 ADC㎒

비트 회로도 및 도면-10 /20 ADC㎒

Page 297: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 297 -

비트 시제품- 10 /20 ADC IC㎒

비트 규격- 10 /80 DAC㎒

비트 회로도 및 기능블록 도면- 10 /80 DAC㎒

셀 라이브러리 기술 연구o

기초 셀 종의 및-0.8um CMOS 50 icon, shematic layout

을 이용한 하향식 설계환경 구축-VHDL

제 절 향후 계획2

차 년도에서 수행된 연구 내용을 이어서 차 년도에는 겸용의 이중모드 단1 2 CDMA/FDMA

말기 시제품 개발을 위한 시스템 연구 차 년도에 설계된 보코더 의 시제품 개발DSP , 1 DSP

과 함께 볼트 동작의 세대 보코더 개발 비디오 디코드 설계 등을 수3.3 2 DSP , MPEG-II

행할 프로세서 개발을 수행 할 예정이다DSP .

또한 차 년도에 별도 모듈로 설계된 이동국용1 DSP CDMA demodulator, modulator,

를 하나의 칩으로 집적화 하는 개발과 함께decoder MSM( Mobile Station Modem ) , 3.3

볼트 동작의 데이터 프로세서 기능을 집적화 한 세대 개발을 추진할 예정이다2 MSM .

아울러 아날로그 신호변환 기술 분야에서는 차 년도에 설계된 비디오 의 시제품1 DAC IC

개발 볼트 동작의 비디오 시제품 개발 이동통신 단말기용, 3.3 ADC IC , CDMA

개발 등의 연구를 수행할 예정이다IMA(Integrated Mobilephone Analog) IC .

한편 정보통신용 반도체 부품으로 시스템 설계자가 주목하는, FPGA(Field Programmable

기술 개발을 추진하여 게이트 급 개발 및 배치 배선기 등Gate Array ) 3,000 FPGA

툴 개발을 추진할 예정이다FPGA CAD .

Page 298: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 298 -

부 록

Page 299: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 299 -

약 어 표

ACS : Add-Compare-Select

ADC : Analog-to-Digital Converter

AGC : Automatic Gain Controller

ALU : Arithmetic Logic Unit

ASIC : Application Specific Integrated Circuit

AWGN : Additive White Gaussian Noise

BER : Bit Error Rate

B-ISDN : Broadband Integrated Services Digital Network

BM : Branch Metric

bps : bit per second

BTE : Back To the Future

CAD : Computer Aided Design

CDMA : Code Division Multiple Access

CMOS : Complementary Metal Oxide Semiconductor

cps : chip per second

CPU : Central Processor Unit

CRC : Cyclic Redundancy Code

DAC : Digital-to-Analog Converter

DBR : Data Burst Randomization

DC : Direct Current

DMA : Direct Memory Access

DRQ : DMA Request

DS : Direct Spread

Page 300: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 300 -

DSP : Digital Signal Processor

DTMF : Dual Tone Multi-Frequency

EEPROM : Electrically Erasable Programmable Read Only Memory

EPROM : Electrically Programmable Read Only Memory

FDMA : Frequency Division Multiple Access

FIFO : First-In First-Out

FIR : Finite Impulse Response

FM : Frequency Modulation

나F : Frequency Shift Keying

GDT : Generator Development Tool

GPIO : General Purpose Input Output

HDTV : High Definition Television

H/W : Hardware

IC : Integrated Circuit

IF :Intermediate Frequency

I-Phase : In-Phase

IRQ : Interrupt Request

IS : Interim Standard

LDT : Library Development Tool

LPC : Linear Prediction Coefficient

LSB : Least Significant Bit

LSP : Linear Spectrum Pair

LSSR : Linear Sequence Shift Register

MIPS : Million Instructions Per Second

MSB : Most Significant Bit

Page 301: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 301 -

MSM : Mobile Station Modem

MSPA : Mega Samples Per Second

MUX : Multiplexer

NMI : Non-Maskable Interrupt

OP Amp : Operational Amplifier

OQPSK : Offset Quadrature Phase Shift Keying

PDM : Pulse Density Modulation

PIO : Parallel Input Output

PN : Pseudo Noise

PQFP : Plastic Quard-Flat Package

PSW : Program Status Word

PWM : Pulse Width Modulation

QCELP : Qualcomm Code Excited Linear Prediction

Q-Phase : Quadrature Phase

QPSK : Quadrature Phase Shift Keying

RAM : Random Access Memory

REX : Real-Time Executives

RF : Radio Frequency

RISC : Reduced Instruction Set Computer

ROM : Read Only Memory

RTI : Return From Interrupt

RTL : Register Transfer Level

RTS : Return From Subroutine

SAT : Supervisory Audio Tone

SCC : Serial Communications Controller

Page 302: 제장서론1 - ITFIND · 되고이를 에코딩되어있는응용알고리즘에따라 에서처리한후그래픽ROM DSPcore 모듈을통해 밖의세계로출력되게된다DSP

- 302 -

SIO : Serial Input Output

SM : State Metric

SMT : Symbol Metric Table

sps : symbol per second

SPW : Signal Processing Worksystem

ST : Signaling Tone

S/W : Software

TB : Trace Back

UART : Universal Asynchronous Receiver Transmitter

uP : Microprocessor

VCTCXO : Voltage Controlled Temperature Compensated Crystal Oscillator

VHDL : VHSIC Hardware Description Language

VHSIC : Very High Speed Integrated Circuit

VLSI : Very Large Scale Integrated circuit