본 논문에서는 모바일 벡터 그래픽 가속기용 역코사인 연산 회로를 설계하였다. 모바일 그래픽스 응용은 기존 데스크 톱 컴퓨터에 비해 면적, 연산 시간, 전력 소모와 정밀도 측면에서 제약이 크다. 설계한 역코사인 함수 회로는 연산시간과 정밀도 조건을 만족하기 위해 IEEE 표준 부동 소수점 데이터 형식을 사용하며, 계수 테이블을 사용하는 2차 다항식 근사 기법을 채택하였으며, 하드웨어 공유 기법을 통해 면적을 감소시켰다. 역코사인 회로는 약 15,280개의 게이트로 구성되며, $0.35{\mu}m$CMOS 공정 조건에서 약 125 Mhz의 동작 주파수를 가진다. 7개의 클록 사이클에 역코사인 함수를 구현하므로, 설계된 회로는 약 17.85 MOPS의 연산 성능을 갖고 있어서 OpenVG 프로세서에 적용이 가능하다. 또한 융통성 있는 구조 특성으로 설계된 회로는 ROM 내용의 교체와 속규모의 하드웨어 변경을 통해 지수함수, 삼각함수, 로그 함수와 같은 다른 초월함수에 적용이 가능하다.
본 논문에서는 모바일 벡터 그래픽 가속기용 역코사인 연산 회로를 설계하였다. 모바일 그래픽스 응용은 기존 데스크 톱 컴퓨터에 비해 면적, 연산 시간, 전력 소모와 정밀도 측면에서 제약이 크다. 설계한 역코사인 함수 회로는 연산시간과 정밀도 조건을 만족하기 위해 IEEE 표준 부동 소수점 데이터 형식을 사용하며, 계수 테이블을 사용하는 2차 다항식 근사 기법을 채택하였으며, 하드웨어 공유 기법을 통해 면적을 감소시켰다. 역코사인 회로는 약 15,280개의 게이트로 구성되며, $0.35{\mu}m$ CMOS 공정 조건에서 약 125 Mhz의 동작 주파수를 가진다. 7개의 클록 사이클에 역코사인 함수를 구현하므로, 설계된 회로는 약 17.85 MOPS의 연산 성능을 갖고 있어서 OpenVG 프로세서에 적용이 가능하다. 또한 융통성 있는 구조 특성으로 설계된 회로는 ROM 내용의 교체와 속규모의 하드웨어 변경을 통해 지수함수, 삼각함수, 로그 함수와 같은 다른 초월함수에 적용이 가능하다.
In this paper, the $arccos(cos^{-1})$ arithmetic unit for mobile graphics accelerator is designed. The mobile vector graphics applications need tight area, execution time, power dissipation, and accuracy constraints compared to desktop PC applications. The designed processor adopts 2nd-or...
In this paper, the $arccos(cos^{-1})$ arithmetic unit for mobile graphics accelerator is designed. The mobile vector graphics applications need tight area, execution time, power dissipation, and accuracy constraints compared to desktop PC applications. The designed processor adopts 2nd-order polynomial approximation scheme based on IEEE floating point data format to satisfy speed and accuracy conditions and reduces area via hardware sharing structure. The arccosine processor consists of 15,280 gates and its estimated operating frequency is about 125Mhz at operating condition of $0.35{\mu}m$ CMOS technology. Because the processor can execute arccosine function within 7 clock cycles, it has about 17 MOPS(million arccos operations per second) execution rate and can be applicable to mobile OpenVG processor. And because of its flexible architecture, it can be applicable to the various transcendental functions such as exponential, trigonometric and logarithmic functions via replacement of ROM and minor hardware modification.
In this paper, the $arccos(cos^{-1})$ arithmetic unit for mobile graphics accelerator is designed. The mobile vector graphics applications need tight area, execution time, power dissipation, and accuracy constraints compared to desktop PC applications. The designed processor adopts 2nd-order polynomial approximation scheme based on IEEE floating point data format to satisfy speed and accuracy conditions and reduces area via hardware sharing structure. The arccosine processor consists of 15,280 gates and its estimated operating frequency is about 125Mhz at operating condition of $0.35{\mu}m$ CMOS technology. Because the processor can execute arccosine function within 7 clock cycles, it has about 17 MOPS(million arccos operations per second) execution rate and can be applicable to mobile OpenVG processor. And because of its flexible architecture, it can be applicable to the various transcendental functions such as exponential, trigonometric and logarithmic functions via replacement of ROM and minor hardware modification.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서 역코사인 프로세서 설계를 위해 2가지 종류의 C 프로그램을 개발하였다. 하나는 전체 시스템을 검증하기 위한 C 프로그램으로 하드웨어 설계에 대한 테스트 벡터 생성과 하드웨어에 대한 검증 용도로 사용하였다.
본 논문에서는 모바일 벡터 그래픽 분야에서 핵심연산인 % 함수를 처리하기 위한 연산 프로세서를 룩 업 테이블 기반 2차 다항식 근사 기법을 사용하여 설계하고 검증하였다. 설계된 회로는 IEEE 표준 단정도 부동 소수점 형식의 데이터 표현을 가지며, 하드웨어를 공유하는 반복 연산 구조를 활용하며, 7 사이클에 연산을 수행한다.
제안 방법
그 결과 g:값과 甘 값을 저 장하는 공간으로 256개의 엔트리 를 갖는 ROM이 필요하다. 그런데 y1 + }, ?丿;값이 동시에 사용되어야 하므로, 짝수 인덱스와 홀수 인덱스를 갖는 부분을 분리해서 2개의 ROM으로 구현하였다. 주소 값으로 입력 데이터의 상위 7-비트가 사용된다.
식 (3)을 5개의 세부 단계로 나누어 구현하였다. 나누는 기준은 동작 주파수를 향상시키 기 위해서 곱셈 연산은 Wallace Tree를 통한 캐 리 보존 벡 터 (carry vector, sum vector) 생 성 단계 와 덧 셈 연산 단계 로 나누었으며 , ROM을 읽는 동작도 하나의 세부 단계로 할당하였다. 그리고 그림 9에서 Wallace Tree 단계와 덧셈 동작 단계가 레지스터로 분리되므로, MUX를 통한 입력 조정을 통해, 2개의 부분이 병 렬로 수행 가능하다는 점을 활용하였다.
하나는 전체 시스템을 검증하기 위한 C 프로그램으로 하드웨어 설계에 대한 테스트 벡터 생성과 하드웨어에 대한 검증 용도로 사용하였다. 단, 표준 C 라이브러리에는 역코사인 함수가없으므로七皿-农함수를구현하는atan라이브러리를 활용하여 등가적으로 구현하였다. 다른 C 프로그램은 cos-W 함수의 2차 다항식 근사에 사용되는 3개의 계수테 이블, B_ROM, Y_ROMo, Y_ROMe에 내장되는 계수 값을 생성하는 프로그램이다.
둘째, 정밀도를 향상시키기 위해 고정 소수점 형식이 아닌 단일 정밀도 부동 소수점 형식을 사용한다.
그리고 256개의 세부 구간의 양 끝점 의 함수 값(?;)이 저 장되어 야 하므로, 실제로는 총 257개의 함수 값이 저장되어야 한다. 마지 막 함수 값(『或)을 Y_ROMe에 저 장할 경우, ROM 구조가 바람직하지 않으므로, 마지막 경계치 값 (祐56= sL (1) = 0)을 ROM이 아닌 별도의 고정 상수로 배당하고, 인덱스(/)가 마지 막 세부 구간을 가리 킬 경우(그림 9에서 end_addr=l 조건), Y_ROMe값이 아닌 고정 상수 0을 선택하도록 하였다. 내부에 사용하는 ROM의 비트 수는 정밀도를 고려하여, Y_ROM의 경우 각 워 드가 27-비 트이 고, B_ROMe 각 워 드는 23-비트이 다.
본 연구에서 채택한 ROM 테이블을 사용하는 다항식 근사 방식 은 Taylor 급수 방식 에 비해 상대 적 으로 낮은 차수의 다항식으로 필요한 정밀도를 제공할 수 있다. 본 논문에서 는 참고문헌 [8]에서 제안한 2차 다항식 기법을 기반으로, 모바일 환경에 적합하도록 면적을 감소시키는 구조로, 부동 소수점 데이터를 입출력 데이트로 사용하는 역 코사인 연산 회 로를 설계하고 성능을 평가하였다.
본 논문에서는 역코사인 함수를 구현하는 방안으로 룩업 테 이블 ROM과 다항식 근사를 결합한 방식을 채택하였으며, 그림 3과 같이 크게 3 단계로 나누어진다.
본 연구에서는 [0, 1]의 구간을 256개의 세부 영 역으로 나누는 방식을 취 했다. 그 결과 g:값과 甘 값을 저 장하는 공간으로 256개의 엔트리 를 갖는 ROM이 필요하다.
검증하였다. 설계된 회로는 IEEE 표준 단정도 부동 소수점 형식의 데이터 표현을 가지며, 하드웨어를 공유하는 반복 연산 구조를 활용하며, 7 사이클에 연산을 수행한다. 그리고 모바일 그래픽 응용 분야에서 요구하는 정밀도를 고려하여 부동 소수점 데이터의 2 ulp(unit in the last position), 즉 厂 煦 의 정 밀 도를 갖는다.
B_ROM의 워 드의 비 트 수가 작은 이유는 모든 워드에 대해 공통적으로 상위 비트가 연속적인 1인 부분을 저 장하지 않고, B_ROM을 읽 는 과정 에 부호 확장해서 사용하기 때문이다. 연산 과정에 발생할 수 있는 음수 데이터와 중간 연산 결과 범위를 분석하여 내부 레지 스터 와 하드웨 어 의 비트 폭을 고정 소수점 (2.25) 형식(부호 비트 1 비트, 정수부 1자리, 소수부 25-비트) 을 유지하도록 하여, 연산 과정에 오버플로우에 따른 문제 발생을 배제하도록 하였다. 단, 최종 결과는 7f/2 보다 작은 양수 값이므로, 부호 비트를 제외한 (1.
다른 C 프로그램은 cos-W 함수의 2차 다항식 근사에 사용되는 3개의 계수테 이블, B_ROM, Y_ROMo, Y_ROMe에 내장되는 계수 값을 생성하는 프로그램이다. 회로설계 작업 후에 역코사인 프로세서를 Veiilog-H电L 언어로 작성 후Modelsim 시뮬레이터를사용하여 검증한 후, 그림 11과 같이 C 프로그램 모델에서 얻어진 결과와 비교하여 올바른 동작을 확인하였다.
이론/모형
비 효율적 이다. 본 연구에서는 하드웨 어 구현이 용이 한 Newton-Gregory Forward Difference 근사 다항식 방법을 사용하였다[9]. 입력 구간을n개의 균등한길이 h의 세부 구간으로 나눈 후, 그림 6과 같이 세부 구간의 1/2 지점 값(£話의 정보(办)를 사용하는 방식으로 2차 근사 다항식은 식 (2)와 같다.
일반적으로 역코사인 삼각함수를 계산하는 방법은 크게 3가지 방법으로 나뉜다. 첫 번째 방법은 CORDIC(COordinate Rotation Digital Computer) 방식이 다[4]. 이러한 방식 은 반복 연산을 이용하는 구조로 연산 정 확성 과 구현 용이성의 장점이 있지만 많은 연산시간이 필요한 결점 이 있다.
성능/효과
또한 C언어로 모델링한 결과와 설계된 회로의 출력 결과를 비교한 결과 2"2까지 정확한 결과를 얻을 수 있었다. 설계한 역코사인 프로세서의 전기적 특성은 표 2 와 같다.
넷째, 역코사인 함수의 연산 빈도수가 덧셈, 곱셈, 나눗셈 등의 연산에 비해 적으므로, 모바일 환경 의 면적 조건을 고려하여, 파이프라인 처리 구조가 아닌 반복 연산구조를 사용한다.
세 번째 방식은 계수 ROM 테이블을 활용하는 1차 혹은 2차 다항식 근사 방식이 다[5-8]. 본 연구에서 채택한 ROM 테이블을 사용하는 다항식 근사 방식 은 Taylor 급수 방식 에 비해 상대 적 으로 낮은 차수의 다항식으로 필요한 정밀도를 제공할 수 있다. 본 논문에서 는 참고문헌 [8]에서 제안한 2차 다항식 기법을 기반으로, 모바일 환경에 적합하도록 면적을 감소시키는 구조로, 부동 소수점 데이터를 입출력 데이트로 사용하는 역 코사인 연산 회 로를 설계하고 성능을 평가하였다.
설계된 회로는 Modelsim 소프트웨어로 검증하였으며 SYNOPSYS 소프트웨어로 합성한 결과 약 15, 280 개의게 이트 수로 구성 되며, 약 125 Mhz의 동작 주파수로 동작 가능하다. 설계된 프로세서는 약 17.85MOPS의 성능을 갖고 있으며, 적은 게이트 수와 높은 연산 정밀도를 갖고 있으므로 모바일 벡터 그래픽 분야에 적용이 가능할 것으로 판단된다. g厂、함수에 구현에 사용한 연산구조는 다른 초월 함수 구현에 적용 가능한 융통성 이 있는 구조이므로.
그리고 모바일 그래픽 응용 분야에서 요구하는 정밀도를 고려하여 부동 소수점 데이터의 2 ulp(unit in the last position), 즉 厂 煦 의 정 밀 도를 갖는다. 설계된 회로는 Modelsim 소프트웨어로 검증하였으며 SYNOPSYS 소프트웨어로 합성한 결과 약 15, 280 개의게 이트 수로 구성 되며, 약 125 Mhz의 동작 주파수로 동작 가능하다. 설계된 프로세서는 약 17.
설계된 회로는 RTL 수준의 검증을 마친 후, 0.35pm 삼성 CMOS 표준 셀 라이 브러 리 [10]과 SYNOPSYS 소프트웨 어 를 사용하여 합성 한 결과 약 15, 280개의 게 이 트로구성되며, 타이밍 분석 결과 최악 전달 지연 시간은 7.58ns로, 최대 동작 주파수는 약 125 Mhz를 가짐을 알 수 있었다. 그림 12는 SYNOPSYS 소프트웨 어로 합성 한역코사인 프로세서 회로를 나타낸다.
설계한 역코사인 프로세서의 전기적 특성은 표 2 와 같다. 설계한 역코사인 프로세서는 3개의 계수 테이블을 사용하며 2차 다항식 근사를 사용하여, 적절한 연산 성능과 높은 정밀도를 갖고 있어서 OpenVG를 비롯한 모바일 벡터 그래픽 응용에 효율적으로 적용 가능하다고 판단된다.
셋째, IEEE 부동 소수점 표준안에 정의한 반올림 방식과 NaN(Not-a-Number), 비 정 규화된 수는 지 원치 않는다.
참고문헌 (10)
Gaoqi He, Baogang Bai, Zhigeng Pan, and Xi Cheng, "Accelerated Rendering of Vector Graphics on Mobile Devices," Human-Computer Interaction, Part II, HCII 2007, LNCS 4551, pp.298-305, 2007
Sang-Yun Lee and Byung-Uk Choi, "Vector Graphic Reference Implementation for Embedded System," SEUS 2007, LNCS 4761, pp.243-252, 2007
Khronos Group Inc., OpenVG Specification Version 1.0.1, 2005
Ping Tak Peter Tang, 'Table-Driven Implementation of the Logarithm Function in IEEE Floating-Point Arithmetic,' ACM Transactions on Mathematical Software, vol.4, no.16, pp.378-400, Dec. 1990
Michael J. Schulte and Earl E. Swartzlander, "Hardware Design for Exactly Rounded Elementary Functions," IEEE Transactions on Computers, vol.43, no.8, pp.964-973, August 1994
Jun Cao, and Belle W.Y. Wei, "High Performance Architectures for Elementary function generation," The 15th Symposium on Computer Arithmetic, pp.136-144, 2001
John H. Mathews, Numerical Methods for Computer Science, Engineering, and Mathematics, PH, chap.4, 1987
Samsung Electronics, STD90 /MDL90 0.35um 3.3V CMOS standard cell library for pure logic/ MDL Products, 2000
※ AI-Helper는 부적절한 답변을 할 수 있습니다.