KR20130098367A - 커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘 - Google Patents

커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘 Download PDF

Info

Publication number
KR20130098367A
KR20130098367A KR1020137009795A KR20137009795A KR20130098367A KR 20130098367 A KR20130098367 A KR 20130098367A KR 1020137009795 A KR1020137009795 A KR 1020137009795A KR 20137009795 A KR20137009795 A KR 20137009795A KR 20130098367 A KR20130098367 A KR 20130098367A
Authority
KR
South Korea
Prior art keywords
code
cost
format
number representation
representation
Prior art date
Application number
KR1020137009795A
Other languages
English (en)
Inventor
아난드 판두란간
피우스 엔지
시바 셀바라즈
사티쉬 파드마나반
Original Assignee
알고토칩 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알고토칩 코포레이션 filed Critical 알고토칩 코포레이션
Publication of KR20130098367A publication Critical patent/KR20130098367A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/08HW-SW co-design, e.g. HW-SW partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

모델 또는 코드의 동적 범위 대 정적 범위의 비율을 결정하고, 비율에 기초하여 부동 소수점 또는 고정 소수점 수 표현을 선택하며; 미리결정된 비트 정밀도 연산과 연관된 하드웨어 면적 및 전력 비용을 포함하는 비용 함수에 기초하여 최적 수 표현 포맷을 결정하고; 최적 수 표현 포맷에 커스터마이즈된 프로세서 아키텍처를 자동으로 생성하며; 생성된 프로세서 아키텍처를 반도체 제조를 위한 커스텀 집적 회로의 컴퓨터 판독 가능 디스크립션 내에 합성함으로써, 커스텀 집적 회로(IC)에서 구현될 모델 또는 코드에 대한 최적 수 포맷 표현을 자동으로 결정하는 시스템들 및 방법들이 기술된다.

Description

커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘{ARCHITECTURE GUIDED OPTIMAL SYSTEM PRECISION DEFINITION ALGORITHM FOR CUSTOM INTEGRATED CIRCUIT}
본 발명은 커스텀 집적 회로(IC) 또는 주문형 집적 회로(ASIC)에서 고정 또는 부동 소수점 표현을 자동으로 선택하는 방법에 관한 것이다.
전자 장치들이 점점 더 사용자 친화적으로 되고 있기에, 전자 장치들에 부과된 피쳐들이 발전하고 있다. 예를 들어, 내장형 애플리케이션을 위한 전형적인 하드웨어 제품 개발 사이클에서, 알고리즘 개발이 먼저 알고리즘 전문가들에 의해 실행된다. 구현 중에, 기술자들은 ASIC 솔루션을 사용해서 또는 디지털 신호 프로세서(DSP) 코어 등의 프로그래밍 가능한 솔루션을 사용해서 설계를 하드웨어로 번역한다. 이것이 가능하면, 설계자들은 DSP 판매 회사가 제공하는 툴들을 사용해서 DSP를 코어를 목표로 어셈블리 코드를 개발한다. 성능/메모리 풋프린트가 매우 중요하기에, 알고리즘들 및 목표 DSP의 마이크로-아키텍처 및 툴들을 이해하는 기술자들이 펌웨어를 개발하기 위해 고용될 필요가 있다.
부동 소수점 알고리즘을 고정 소수점 수 시스템으로 이식하는 것이 제품 개발에서 - 특별히, 신호 프로세싱 알고리즘들의 구현을 수반하는 제품 개발에서 - 직면하는 흔한 문제점이다. 불행히도, 이러한 수고는 종종 수 포맷 표현의 기술적인 장점들에 의해서가 아니라, 프로세서들의 유효성(availability) 또는 구현의 감지된 비용에 의해 종종 정해진다. 시스템으로부터 예상되는 이득을 실현하도록 신호 프로세싱 단계 중에 사용되는 수 포맷이 잘 선택되는 것이 중요하다. 규격품 DSP에서 부동 소수점 시스템 모델을 고정 소수점 시스템 구현으로 변환하는데 많은 작업이 수행되어 왔다. 이는 통상 시스템 설계자가 DSP의 ALU 폭을 선택하는 유연성(flexibility)을 갖지 않는 경우이다. 시스템 설계자는 제공되는 것(또는 유효한 것)을 수용해야만 하며, 시스템을 부동 소수점 모델로부터 DSP에 의해 지원되는 수 표현으로 이식해야만 한다.
고정 및 부동 소수점 표현과 연관된 이점들 및 트레이드오프들은 다수의 논쟁들의 주제이다. 주어진 신호 범위에서 고정 소수점 수 시스템 및 부동 소수점 수 시스템의 차이들은 도 1a-1b에 도시되고 후술되는 일례들로 제공된다.
이제 도 1a를 참조하면, 수 포맷 표현이 N 비트들로 제한되는 경우, 시스템은 2N개의 가능한 표현들을 실행할 수 있다. 입력에서의 신호 파워의 범위(및 따라서 진폭)가 x dB를 넘어 확산되면, 그리고 단순성을 위해, 시스템에 걸쳐 균일한 이득이 있으면, 확산된 출력 신호(및 시스템의 임의의 시점에 확산된 신호)가 동일한 x dB 초과이다. 그러면, 2N개의 표현들은 이 범위, x dB를 넘어 균일하게 분산될 수 있다. N이 감소됨에 따라, 시스템의 하드웨어 비용이 감소된다. 그러나, 이는 더 적은 빈들 및 더 많은 양자화 오류들을 야기한다. 전형적인 통신 시스템들에서 이 문제점에 대응하는 한 고전적인 방법은 스케일링(scaling)을 사용하는 것이다. 입력 신호의 정적 범위가 꽤 클 수 있으며, 시스템의 시간 상수에 대한 신호의 동적 범위는 단지 그것의 일부분이다. 따라서, 적합한 스케일링을 사용해서, 수 시스템에 의해 표현되는 범위를 x dB의 작은 일부로 제한할 수 있다. 스케일링이 양자화 잡음 외에 라운딩 잡음(rounding noise)의 가능성을 야기하기에, 종래에 이 동작은 충분히 고려하여 시스템 설계자에 의해 실행된다.
도 1b는 동일한 N 비트들이 부동 소수점 방식에서 사용되는 일례의 경우를 도시한다. k 비트들이 지수를 위해 사용되고 n-k 비트들이 가수(mantissa)를 위해 사용되면, 표현은 (고정 소수점의 경우에 실행되는 바와 같이) 한 자리수로 렌더링하기에는 꽤 복잡하게 된다. 그러나, 표현이 잘 선택되면, 가수의
Figure pct00001
비트들이 신호의 임의의 주어진 동적 범위를 커버하고
Figure pct00002
의 그러한 범위 빈들이 확산된 신호에 존재하는 포맷을 가질 수 있다. 예를 들어, 확산된 신호가 80dB이고 이 범위가 안전하게 8개의 10dB 빈들로 분할될 수 있으면, 3 비트들이 지수에 필요하고 나머지 n-3 비트들이 가수에 사용될 수 있다. 이는 도 1b에 도시되어 있다.
개발 중에, 설계자는 특정 문제점을 해결하기 위해 시스템 모델 또는 알고리즘을 만든다. 통상, 제1 시스템 모델은 양자화 및 라운딩 잡음 문제들을 방지하도록 부동 소수점으로 표현된다. 시스템 모델이 개발된 후에, 시스템 설계자는 고정/부동 소수점 특성들이 미리 지정되는 특정 아키텍처를 위한 구현으로 모델, 코드 또는 알고리즘을 변환한다. 시스템 설계자가 고정 소수점 구현을 고려할 때, 스케일링 포인트들 및 스케일링 알고리즘들이 수동으로 정의되어야만 한다. 이는 종종 이러한 방법들의 계산적인 비용의 하드웨어의 정확한 아이디어 없이 실행된다. 모델과 상이한 부동 소수점 표현이 구현을 위해 선택될 때, 시스템 설계자는 지수 또는 가수에 사용되는 비트들을 제어하지 않아서, 차선의 표현 포맷을 다루어야만 한다.
일 양상에서, 컴퓨터 판독 가능 코드 또는 모델에 의해 기술된 커스텀 집적 회로(IC)를 자동으로 생성하는 시스템들 및 방법들이 기술되며, 상기 IC는 적어도 부동 소수점 파라미터, 성능 제약, 및 입력 신호의 정적 범위 및 동적 범위를 가진다. 이는 동적 범위 대 정적 범위의 비율을 결정하고, 비율이 미리결정된 값을 초과하면, 부동 소수점 수 표현을 선택하고, 그렇지 않으면, 고정 소수점 수 표현을 선택하며; 성능 제약에 기초하여 수 표현 포맷을 선택하고; 선택된 수 표현 포맷에 유일하게 커스터마이즈된 하드웨어를 포함하는 프로세서 아키텍처를 자동으로 생성하며; 생성된 프로세서 아키텍처를 반도체 제조를 위한 커스텀 집적 회로의 컴퓨터 판독 가능 디스크립션 내에 합성함으로써 실행된다.
상기 양상들의 구현들은 이하 중 하나 또는 그 이상을 포함할 수 있다. 본 방법은 생성된 프로세서 아키텍처를 가진 커스텀 IC에서 컴퓨터 판독 가능 코드를 실행하는 단계를 포함한다. 수 표현 포맷은, 수 표현, 하드웨어 면적 및 전력 비용, 실시간 성능, 또는 수 표현의 성능 저하의 메모리 스토리지 요구 사항을 결정하는 것을 포함해서, 하나의 또는 그 이상의 IC 성능 요구 사항들에 기초하여 더 선택될 수 있다. 수 표현 포맷에 필요한 비트들의 수가 결정되고, 비트들의 수는 8, 16, 24, 32, 64, 128, 또는 2N 비트들 등의 흔히 사용되는 비트들의 수가 아니라 홀수의 비트들의 수를 가질 수 있다. 프로세스는 또한 선택된 수 표현 포맷이 잡음 플로어(a noise floor) 보다 아래인 지를 검사하는 단계를 포함한다.
양호한 실시예들의 장점들은 이하 중 하나 또는 그 이상을 포함할 수 있다. 본 시스템은 모든 비용들이 고려되고 시스템 설계자가 평가할 최상의 가능한 수 표현 및 비트 폭 후보들을 획득하도록 평가 프로세스를 자동화한다. 본 방법은 신속하고 자동화된 방식으로 주어진 HW 구현의 면적, 타이밍 및 전력 비용을 평가할 수 있다. 이 방법은 비용 계산 엔진으로서 사용된다. 프로세스는 설계-검증-최적화(design-verify-optimize) 방법을 사용해서 주어진 애플리케이션에 대한 최상의 수 포맷 표현을 찾는다. 본 방법은 최적 방식으로 자동으로 알고리즘에 기초하여 DSP의 합성을 가능케 한다. 이는 시스템에게 새로운 유연도를 제공한다 - 수 포맷 및 ALU 폭은 비표준일 수 있다. 시스템 요구 사항들에 적합하도록 선택될 수 있다. 그러나, 시스템 설계자는 다른 것에 대한 특정 표현의 선택과 연관된 하드웨어 면적, 지연 및 전력 비용을 알 필요가 없다. 본 방법은 최적 시스템의 설계를 가능케 하기 위해 주어진 시스템을 위한 최적 수 포맷 표현에 도달하거나 또는 시스템 설계자를 위한 선택 사항들의 집합을 적어도 좁힐 수 있다. 프로세스는 알고리즘 평가 단계에서 하드웨어 면적, 지연 및 전력이 가능한 한 정확하게 모델링될 수 있게 한다. 고정 소수점 및 부동 소수점 표현들은 전체론적 관점에서 고려된다. 수 정밀도 변경 프로세스가 자동화된다. 시스템은 시스템의 성능을 평가하고 잡음 플로어의 증가를 측정할 수 있다. 시스템은, 단지 실행 유닛 단독이 아닌, 전체론적 관점에서 실시간 성능 제약을 고려하며, 따라서 완전한 커스텀 IC의 면적, 전력 및 성능 특징들이 상당히 강화된다.
본 시스템의 양호한 실시예들의 다른 장점들은 이하 중 하나 또는 그 이상을 포함할 수 있다. 본 시스템은 칩 설계의 문제점들을 경감하고 간단한 프로세스가 되게 한다. 실시예들은 제품 개발 프로세스의 포커스를 하드웨어 구현 프로세스로부터 다시 제품 사양 및 컴퓨터 판독 가능 코드 또는 알고리즘 설계로 옮긴다. 특정 하드웨어 선택 사항들에 매여 있는 대신, 해당 애플리케이션에 특별히 최적화된 프로세서에서 컴퓨터 판독 가능 코드 또는 알고리즘이 구현될 수 있다. 양호한 실시예는 모든 연관된 소프트웨어 툴들 및 펌웨어 애플리케이션들과 함께 최적화된 프로세서를 자동으로 생성한다. 이 프로세스는 종래대로 수년간이 아닌 수일에 실행될 수 있다. 기술된 자동 시스템은 리스크를 제거하고 칩 설계가 자동 프로세스가 되게 해서, 시스템으로의 주된 입력은 저레벨 프리미티브들이 아닌 컴퓨터 판독 가능 코드, 모델 또는 알고리즘 사양이기 때문에 알고리즘 설계자들 자체가 임의의 칩 설계 지식 없이 하드웨어 칩을 직접 만들 수 있도록 한다.
도 1a-1b는 일례의 수 표현들을 도시한다.
도 2a는 자동 수 표현 포맷 선택으로 커스텀 IC를 자동으로 생성하는 일례의 시스템 동작을 도시한다.
도 2b는 자동 수 표현 결정 프로세스를 더 상세히 도시한다.
도 2c는 자동 정밀도 결정 프로세스를 더 상세히 도시한다.
도 3은 도 2a의 프로세스의 무선 수신기로의 일례의 응용을 도시한다.
도 4는 커스텀 IC를 자동으로 생성하는 일례의 시스템을 도시한다.
도 2a는 자동 수 표현 포맷 선택으로 커스텀 IC를 자동으로 생성하는 일례의 시스템 동작을 도시한다. 본 시스템은 입력으로서의 알고리즘 프로세스 또는 코드에 기초하여 또한 사실상 사람의 개입을 필요로 하지 않는 매우 자동화된 툴들을 사용해서 커스텀 집적 회로를 자동으로 설계 및 생성한다.
이제 도 2a를 참조하면, 프로세스는 C 또는 Matlab 모델 등의 고수준 언어로 명시된 알고리즘을 수신 및 분석한다(10). 일 실시예에서, 제1 버전의 제품은 부동 소수점 수 표현을 사용해서 개발된다고 가정된다. 이는 임의의 타입의 부동 소수점 표현일 수 있지만, 일례의 실시예들은 32-비트 IEEE 부동 소수점 표현을 사용할 수 있다. 프로세스는 제품의 개발자 또는 시스템 설계자에 의해 식별될 이하의 사항들 중 하나 또는 그 이상을 필요로 한다:
최적화될 필요가 있는 부동 소수점 포맷으로 표현된 파라미터들.
시스템의 작업 C 코드 또는 모델.
시스템의 실시간 성능 제약들.
입력 신호들의 정적 범위.
시스템의 시간 상수를 통한 동일한 신호들의 동적 범위.
라운딩 및 양자화로 인한 수용할만한 잡음 플로어의 최대 증가.
프로세스는 동적 범위 대 정적 범위의 비율을 결정한다(12). 비율이 1에 가깝지 않으면, 부동 소수점 수 표현이 양호하다. 비율이 대략 1이면, 고정 소수점 표현이 양호하다(14). 다음으로, 프로세스는 실제 수 표현 포맷을 결정하기 위해 휴리스틱스(heuristics)를 적용한다(16). 선택된 수 표현 포맷의 정확한 비트들의 수가 결정된다(18). 프로세스는 선택된 수 표현 포맷(고정 또는 부동 소수점 포맷) 및 선택된 비트 폭을 변수들에 적용하고, 커스텀 산술 논리 연산 장치(ALU)로 최상의 프로세서 아키텍처를 반복해서 결정하여, 선택된 수 표현 포맷 및 비트들의 수를 처리한다(20). 프로세서 아키텍처의 하드웨어를 가진 커스텀 IC가 제조된다(22). 프로세스는 또한 커스텀 IC에서 알고리즘을 실행하기 위해 프로세서 아키텍처에 최적화된 펌웨어를 자동으로 생성한다(24). 수공예적 커스텀 칩 설계 프로세스와 대조적으로, 펌웨어는 그 후 커스텀 IC에서 실행되어, 최소의 인간 개입으로 또는 인간 개입이 전혀 없이 알고리즘으로부터 커스텀 하드웨어로의 변환을 완료한다.
결과는 새로운 유연도를 가진 커스텀 칩 솔루션이다 - 수 포맷 및 ALU 폭은 비표준일 수 있다. 수 포맷 및 ALU는 시스템 요구 사항들에 적합하도록 선택될 수 있다. 그러나, 시스템 설계자는 다른 것에 대한 특정 표현의 선택 사항과 연관된 하드웨어 면적, 지연 및 전력 비용을 알지 못한다.
도 2a의 시스템은 칩 설계의 문제점들을 경감하고 간단한 프로세스가 되게 한다. 본 시스템은 리스크를 제거하고 칩 설계가 자동 프로세스가 되게 해서, 알고리즘 설계자들 자신이 임의의 칩 설계 지식 없이 하드웨어 칩을 직접 만들 수 있다. 시스템으로의 주된 입력은 C 또는 Matlab과 같은 보다 더 높은 수준의 언어들로 된 컴퓨터 판독 가능 코드 또는 알고리즘 사양이다. 시스템은 수 점 선택(number point selection) 및 비트 정밀도로부터 발생하는 최소 잡음으로 실행 성능을 최적화하는 최상의 수 점 표현으로 설정된 최상의 하드웨어 명령을 최적으로 선택할 수 있다. 최상의 수 표현 포맷 및 비트 정밀도의 선택은 상세한 시뮬레이션을 통해 실행되어서, IC에 대한 성능 제약들의 집합 하에서 최상의 아키텍처를 보여주고 상당한 성능 이점들을 제공한다. 대조적으로, 전형적인 방식은 설계자가 임의의 고정 소수점 아키텍처를 사용하도록 강요한다. 수 표현 포맷 및 비트 정밀도가 애플리케이션 코드/알고리즘에 대해 선택되면, 커스텀 집적 회로는 인간의 개입 없이 시스템에 의해 자동으로 생성되어서, 제품 개발 시간 및 비용을 감소시킨다. 자동으로 생성된 소프트웨어 개발 키트(SDK) 및 자동 생성 펌웨어를 사용해서, 커스텀 IC는 코드/알고리즘을 효율적으로 실행할 수 있다.
본 실시예들은 제품 개발 프로세스의 포커스를 하드웨어 구현 프로세스로부터 다시 제품 사양 및 컴퓨터 판독 가능 코드 또는 알고리즘 설계로 옮긴다. 특정 하드웨어 선택 사항들에 매여 있는 대신, 해당 애플리케이션에 대해 특별히 최적화된 프로세서에서 컴퓨터 판독 가능 코드 또는 알고리즘이 구현될 수 있다. 양호한 실시예는 모든 연관된 소프트웨어 툴들 및 펌웨어 애플리케이션들과 함께 최적화된 프로세서를 자동으로 생성한다. 이 프로세스는 종래대로 수년간이 아닌 수일에 실행될 수 있다.
도 2a의 프로세스를 사용이 소프트웨어 프로그래밍 가능 DSP의 개발에 적용되어, 시스템의 모든 단계들에서 최상으로 작업하는 단일 수 포맷(a single number format)이 결정될 수 있다. 모델 또는 코드가 고정된 하드웨어를 목적으로 하면, 시스템의 각종 단계들에서 최상으로 작업하는 수 포맷에 독립적으로 도달된다.
다음으로, 커스텀 하드웨어를 생성하는 도 2a의 일례의 애플리케이션이 기술된다. 도 3은 안테나(도시되지 않음)로부터 아날로그 프론트 엔드(AFE)(92)에 제공되는 무선 신호들을 수신하는 통신 시스템 수신기를 도시한다. 무선 신호는 아날로그-디지털 변환기(ADC)(93)에 의해 포착되고, 메모리(94)로부터의 코드를 실행하는 디지털 신호 프로세서(DSP)(95)에 제공된다. DSP(95)는 도 2a의 프로세스에 따라 커스텀 설계 ALU(96)를 사용해서 수학 연산들을 실행한다. DSP(95)는 또한 사용자 인터페이스(UI)(98)로부터 커맨드들을 수신한다.
상기 시스템에서, AFE(92)로부터 수신된 가장 약한 신호조차도 샘플에서 몇몇 비트들의 정보를 갖도록 ADC(93)가 항상 선택된다. ADC(93) 샘플 사이즈는 시스템이 동작할 것으로 예상되는 입력 SNR 및 샘플들에서 실행되는 신호 프로세싱의 예상 이득에 의해 좌우된다. 상기의 사용 경우에, 모든 신호 프로세싱은 DSP(95)에 의해 실행된다. 시스템으로부터 예상된 이득을 실현하도록 신호 프로세싱 단계 중에 사용되는 수 포맷은 잘 선택되어야만 한다. 종래에, 시스템 설계자는 DSP의 ALU 폭을 선택하는 유연성을 갖지 않는다. 시스템 설계자는 제공되는 것(또는 유효한 것)을 수용해야만 하며, 시스템을 부동 소수점 모델로부터 DSP(95)에 의해 지원되는 수 표현으로 이식해야만 한다. 그러나, 도 2a의 프로세스를 사용해서, 시스템은 시스템 설계자의 특정 문제점을 해결하기 위해 ALU(96)의 최상의 수 표현 및 비트 폭을 자동으로 선택할 수 있다.
프로세스는 동적 범위 대 정적 범위의 비율을 계산한다. 비율이 크면, 적합한 표현은 부동 소수점일 개연성이 있다. 본 일례에서, 안테나로부터 수신된 정보는 몇몇 샘플들에 걸친 신호의 전체 정적 범위에서 변할 개연성이 낮다. 이러한 경우들에서, 고정 소수점 표현은 정보가 손실되지 않음을 보장하기 위해 의미 있는 스케일링 알고리즘들이 구현될 것을 요구한다. 그러나, 적합하게 선택된 부동 소수점 수 포맷(및 ADC의 샘플 사이즈에 기초하여 선택된 비트 폭들)으로, 스케일링이 제거되거나, 또는 스케일링의 복잡성이 상당히 감소된다. 더욱이, 대부분의 통신 수신기 애플리케이션들에서, 오직 몇몇 의미 있는 비트들만이 프로세싱에 필요하기에, 각종 단계들에 걸쳐 필요한 비트들의 수는 훨씬 적을 수 있다. 오버플로우를 방지하기 위해 고정 소수점 표현에 필요한 여분의 비트들은 부동 소수점 표현으로 인해 제한된다.
신호의 정적 범위 및 신호의 동적 범위가 (통상 이미지 프로세싱에서) 동일한 경우에, 고정 소수점 표현이 더 양호하게 작용할 개연성이 있다. 고정 소수점 하드웨어는 면적이 더 작고, 동일한 비트들의 수에 대해 더 적은 전력을 소모한다. 신호의 동적 범위가 크면, 부동 소수점 표현이 프로세싱 정밀도를 위해하지 않고 필요한 비트들의 수를 감소시킬 수 있을 개연성이 낮다.
도 2b는 자동 수 표현 결정 프로세스를 더 상세히 도시한다. 도 2b에서, 입력 파라미터들이 수신된다(60). 그 후, 결정 프로세스가 실행된다(62). 부동 소수점 또는 고정 소수점 포맷의 자동 선택 후에, 프로세스는 희망 비트 폭을 결정한다(64). 잡음 플로어가 평가되고(66), 잡음 제약들이 만족되지 않으면, 프로세스는 다시 64로 되돌아가서, 필요한 대로 비트 폭을 증가시킨다. 66으로부터, 프로세스는 시스템이 만족시켜야만 하는 제약들 또는 기준들에 대하여 최종 수 표현을 평가한다(68).
최적화 비용 함수가 주어딘 시스템에 대한 양호한 수 포맷에 관한 결정에 도달하는데 사용된다. 비용 함수는 이하를 포함한다.
부동 소수점 표현의 사용으로 인한 메모리 스토리지의 추정된 절약들.
두 잠정적인 구현 후보들에 대한 하드웨어 면적 및 전력 비용의 평가.
양쪽 경우의 실시간 성능 조건의 평가.
양쪽 포맷으로 인한 추정된 성능 저하.
비용 함수에 대한 입력으로서의 이러한 파라미터들을 가지고, 최적화 알고리즘은 부동 소수점 표현이 이 시스템을 위해 필요한 지에 대한 결정에 도달하도록 진행한다. 부동 소수점 표현이 필요하지 않으면, 알고리즘은 고정 소수점 표현을 추천한다.
선택된 포맷에 대한 결정이 이루어지면, 다음 단계는 해당 포맷에서 필요한 정확한 비트들의 수를 식별하는 것이다.
도 2c는 자동 정밀도 결정 프로세스를 더 상세히 도시한다. 먼저, 프로세스는 입력 변수들, 비트 폭들, 및 희망 신호-대-잡음비(SNR)를 식별한다(72). 다음으로, 프로세스는 실행될 산술 연산들을 결정한다(74). 프로세스는 요구된 정밀도를 결정한다(76). 다음으로, 프로세스는 요구된 정밀도와 연관된 비용 함수를 평가한다(78). 비용 함수가 미리결정된 임계값 미만이면, 프로세스는 종료한다. 대안으로, 비용이 높으면, 프로세스는 한 시스템 변수를 변경하고 정밀도 결정 프로세스를 계속하도록 되돌아간다(74).
일 실시예에서, 정밀도 추정 알고리즘은 이하의 코드를 포함한다:
1) 모든 시스템 임계 입력들 및 그 비트 폭들을 식별하는 코드. 이는 알고리즘으로의 입력들 중 하나이다;
2) 입력 SNR을 식별하는 코드. 이는 또한 시스템으로의 입력이어야만 한다;
3) 시스템 모델 디스크립션의 정적 파싱을 사용해서 이들 변수들에 대한 모든 산술 연산들의 집합을 식별하는 코드;
4) SNR의 최소 감소를 갖는 산술 연산들의 집합을 수용하는데 필요한 정밀도를 추정하는 코드;
5) 비용 함수를 평가하는 코드; 및
6) 비용이 임계값보다 더 높으면, 비용을 감소시키는 다양한 축 중 하나를 따라 진행하는 코드. 비용 함수의 결과는 진행할 축을 나타낸다. 일례에서, 이는, 무엇보다, 의미 있는 비트들의 수를 감소시키도록 스케일링 단계들을 삽입하는 단계, 더 작은 입력 및 출력 정밀도를 유지하면서, 더 넓은 내부 정밀도를 유지하기 위해 산술 연산들을 병합하는 단계, SNR의 감소를 수용하는 단계, 시스템이 더 높은 정밀도 결과를 달성하는 것과 동시에 더 작은 정밀도 연산들을 실행하는 빈도를 증가시키는 단계, 시스템의 일부 단계들의 정밀도를 감소시키는 단계 및 다른 것들을 증가시키지만 총 비용은 감소시키는 단계를 포함할 수 있다.
16, 24 또는 32 비트 표현으로 자신을 제한하는 표준 DSP들과 달리, 시스템은 모든 표현 포맷들을 평가한다. 이전 단계에서 이루어진 결정은 필요한 비트들의 수의 대략적인 추정을 수반한다. 이는 이 동작에서 더 미세하게 조정된다. 이 동작을 실행하기 위해, 이하와 같은 비용 함수가 다시 사용될 수 있다. 일 구현에서, 비용 함수는 이하의 방법들을 포함한다:
주어진 비트 정밀도 연산의 구현과 연관된 하드웨어 면적 및 전력 비용의 추정;
주어진 비트 정밀도 연산의 실시간 성능 제약들의 추정. 이는 알고리즘이 주어진 비트 정밀도 연산을 구현하는데 수반되는 하드웨어 지연을 추정할 수 있기에 계산을 할 수 있다;
이 수 포맷으로 인한 시스템의 SNR의 저하의 추정; 및
시스템의 성능을 결정하는 임계 시스템 변수들 및 배열들에 대해 실행되는 산술 연산들의 수.
정의된 비용 함수는 가능한 수 포맷 표현 후보들을 평가하고 최적 표현에 이르기 위해 최적화 알고리즘에 의해 사용된다. 알고리즘은 시스템 모델에서 정의된 정밀도로 시작하여, 임의의 주어진 변수에 대한 수 포맷의 후보에 이르도록 해당 변수에 대해 실행된 산술 연산들의 수에 관한 정보를 사용한다. 그 후, 비용이 평가되고, 비용이 수용할만하면, 선택된 포맷이 보존된다. 아니면, 최상의 가능한 축(추정된 비용으로부터 유추됨)을 따라 진행함으로써 새로운 포맷에 도달되고, 프로세스는 반복된다. 이 알고리즘은 이하의 섹션에서 상세히 설명된다.
최적화된 비트 정밀도 근사치가 코드의 변수들을 자동으로 표현하는데 사용되고, 각종 사용 경우의 시나리오들을 통해 시스템의 성능이 추정된다.
결과들은 표현을 더 최적화하기 위해 요구 사항들에 대해 비교된다. 선택된 최종 표현이 추정된 비트 정밀도로부터 급격히 변하는 경우에, 해당 동작은 유효한 추가 정보에 기초하여 재회되고, 최적화 프로세스가 다시 실행된다.
상술된 모든 단계들은 자동화되고, 활동적인 인간 개입을 요구하지 않는다. 그러나, 단계의 시작 및 끝의 입력들 및 제약들은 알고리즘의 기능에 정통한 훈련된 사용자에 의해 제공될 필요가 있다.
도 4는 커스텀 IC를 자동으로 생성하는 일례의 시스템을 도시한다. 도 4의 시스템은 선택된 목표 애플리케이션에 대한 프로그래밍 가능 하드웨어 솔루션을 위한 명령 집합 압축 및 변수 폭 인코딩을 사용해서 최적 명령 집합을 가진 아키텍처의 자동 생성을 지원한다. 목표 애플리케이션 상세는 C, Matlab, SystemC, Fortran, Ada, 또는 임의의 다른 언어와 같은 고수준 언어의 컴퓨터 판독 가능 코드로서 표현된 알고리즘을 통해 통상 실행된다. 사양은 목표 애플리케이션의 디스크립션을 포함하고, 하드웨어 솔루션의 희망 비용, 면적, 전력, 속도, 성능 및 다른 속성들 등의 하나의 또는 그 이상의 제약들도 포함한다.
도 4에서, IC 고객은 제품 사양(102)을 생성한다. 통상, 희망 제품의 모든 주기능을 포착하는 초기 제품 사양이 있다. 제품으로부터, 알고리즘 전문가들은 제품에 필요한 컴퓨터 판독 가능 코드 또는 알고리즘들을 식별한다. 이 알고리즘들 중 일부는 제3국들로부터의 또는 표준 개발 위원회들로부터의 IP로서 유효할 수 있다. 이들 중 일부는 제품 개발의 파트로서 개발되어야만 한다. 이러한 방식으로, 제품 사양(102)은, 무엇보다, C 프로그램 등의 프로그램 또는 Matlab 모델 등의 수학 모델(a math model)로서 표현될 수 있는 컴퓨터 판독 가능 코드 또는 알고리즘(104)으로 더 세부화된다. 제품 사양(102)은, 무엇보다, 비용, 면적, 전력, 프로세스 타입, 라이브러리, 및 메모리 타입 등의 요구 사항들(106)을 또한 포함한다.
컴퓨터 판독 가능 코드 또는 알고리즘(104) 및 요구 사항(106)은 자동화된 IC 생성기(110)에 제공된다. 오직 코드 또는 알고리즘(104) 및 칩 설계에 놓인 제약들에만 기초하여, IC 생성기(110)는 IC, 소프트웨어 개발 키트(SDK)(116), 및/또는 테스트 슈트(118)를 실행하기 위해 GDS 파일(112), 펌웨어(114)를 포함하는 출력을 약간의 인간 개입으로 또는 인간 개입 없이 자동으로 생성한다. GDS 파일(112) 및 펌웨어(114)는 커스텀 칩(120)을 제조하는데 사용된다.
본 시스템은 칩 설계의 문제들을 경감하고 간단한 프로세스가 되게 한다. 본 시스템은 제품 개발 프로세스의 포커스를 하드웨어 구현 프로세스로부터 다시 제품 사양 및 알고리즘 설계로 옮긴다. 특정 하드웨어 선택 사항들에 매여 있는 대신, 해당 애플리케이션에 특별히 최적화된 프로세서에서 알고리즘이 항상 구현될 수 있다. 본 시스템은 모든 연관된 소프트웨어 툴들 및 펌웨어 애플리케이션들과 함께 최적화된 프로세서를 자동으로 생성한다. 이 전체 프로세스는 이제 수년이 걸리는 대신 수일에 실행될 수 있다. 아주 간결히 말해서, 본 시스템은 제품 개발의 디지털 칩 설계 부분을 블랙 박스가 되게 한다.
일 실시예에서, 본 시스템 제품은 입력으로서 이하를 취할 수 있다:
C/Matlab으로 정의된 컴퓨터 판독 가능 코드 또는 알고리즘
필요한 주변 장치들
면적 목표
전력 목표
마진 목표(Margin Target)(차후 펌웨어 갱신 및 복잡성 증가에 얼마나 많이 오버헤드가 발생하는지)
프로세스 선택 사항
표준 셀 라이브러리 선택 사항
테스트 가능성
시스템의 출력은 모든 연관된 펌웨어와 함께 디지털 하드 매크로(a digital hard macro)일 수 있다. 디지털 하드 매크로에 최적화된 소프트웨어 개발 키트(SDK)는 또한 자동으로 생성되어서, 펌웨어의 차후 갱신들이 프로세서를 변경할 필요 없이 구현된다.
시스템은 임의의 선택된 목표 애플리케이션에 대한 완전한 최적의 하드웨어 솔루션의 자동 생성을 실행한다. 일반적인 목표 애플리케이션들이 내장형 애플리케이션들의 공간에 있지만, 반드시 그렇게 제한되지는 않는다.
예를 들어, 자동화된 칩 설계 시스템을 지원하는 컴퓨터가 후술된다. 컴퓨터는 프로세서, 랜덤 액세스 메모리(RAM), 프로그램 메모리(양호하게 플래시 ROM 등의 기록 가능한 판독 전용 메모리(ROM)) 및 CPU 버스에 의해 연결된 입력/출력(I/O) 컨트롤러를 양호하게 포함한다. 컴퓨터는 하드 디스크 및 CPU 버스에 연결된 하드 드라이브 컨트롤러를 선택적으로 포함할 수 있다. 하드 디스크는 본 발명 등의 응용 프로그램들 및 데이터를 저장하는데 사용될 수 있다. 대안으로, 응용 프로그램들은 RAM 또는 ROM에 저장될 수 있다. I/O 컨트롤러는 I/O 버스에 의해 I/O 인터페이스에 연결된다. I/O 인터페이스는 직렬 링크, 근거리 통신망, 무선 링크, 및 병렬 링크 등의 통신 링크들을 통해 아날로그 또는 디지털 형태로 데이터를 수신 및 송신한다. 선택적으로, 디스플레이, 키보드 및 포인팅 장치(마우스)가 또한 I/O 버스에 연결될 수 있다. 대안으로, 개별 커넥션들(개별 버스들)이 I/O 인터페이스, 디스플레이, 키보드 및 포인팅 장치에 사용될 수 있다. 프로그래밍 가능한 프로세싱 시스템은 미리 프로그래밍될 수 있으며, 또는 다른 소스(예를 들어, 플로피 디스크, CD-ROM, 또는 다른 컴퓨터)로부터 프로그램을 다운로드함으로써 프로그래밍(및 재프로그래밍)될 수 있다.
각각의 컴퓨터 프로그램은, 기억 매체 또는 장치가 본 명세서에 기술된 프로시져들을 실행하도록 컴퓨터에 의해 판독될 때 컴퓨터의 동작을 구성 및 제어하기 위해, 일반 또는 특별 목적 프로그래밍 가능한 컴퓨터에 의해 판독될 수 있는 기계 판독 가능 기억 매체 또는 장치(예를 들어, 프로그램 메모리 또는 자기 디스크)에 명백히 저장된다. 본 발명의 시스템은 또한 컴퓨터 프로그램으로 구성된, 컴퓨터 판독 가능 기억 매체로 구현되는 것으로 생각될 수 있으며, 이렇게 구성된 기억 매체는 본 명세서에 기술된 기능들을 실행하도록 특정 미리결정된 방식으로 컴퓨터가 동작하게 야기한다.
본 발명은 특허법에 순응하고 신규한 원리들을 적용하며 요구되는 대로 특수화된 컴포넌트들을 구성 및 사용하는데 필요한 정보를 당업자에게 제공하기 위해 생각될 수 있는 세부 사항으로 본 명세서에 기술되었다. 그러나, 본 발명은 특별히 상이한 장비 및 장치들에 의해 실행될 수 있으며, 장비 세부 사항들 및 동작 프로시져들에 대한 각종 변경들이 본 발명 자체의 범위로부터 벗어나지 않은 채로 달성될 수 있음을 알 것이다.

Claims (16)

  1. 커스텀 집적 회로(IC)에서 구현될 모델 또는 코드에 대한 최적 수 포맷 표현(optimal number format representation)을 자동으로 결정하는 방법으로서,
    a. 상기 모델 또는 코드에서의 정적 범위에 대한 동적 범위의 비율을 결정하고, 상기 비율에 기초하여 부동 소수점 또는 고정 소수점 수 표현을 선택하는 단계;
    b. 미리 결정된 비트 정밀도 연산(predetermined bit precision arithmetic)과 연관된 하드웨어 면적 비용 및 전력 비용을 포함하는 비용 함수(cost function)에 기초하여 최적 수 표현 포맷을 결정하는 단계;
    c. 상기 최적 수 표현 포맷에 커스터마이징된 프로세서 아키텍처를 자동으로 생성하는 단계; 및
    d. 반도체 제조를 위해 상기 생성된 프로세서 아키텍처를 상기 커스텀 집적 회로의 컴퓨터 판독 가능 디스크립션(description)으로 합성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    최적화 비용으로서 상기 수 표현에 대한 메모리 스토리지 요건을 이용하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    최적화 비용으로서 상기 수 표현에 대한 실시간 성능을 결정하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 수 표현 포맷에 필요한 비트들의 수를 결정하는 단계를 포함하는 방법.
  5. 제4항에 있어서,
    상기 비트들의 수는 임의의 수를 포함하는 방법.
  6. 제1항에 있어서,
    상기 선택된 수 표현 포맷이 입력 신호 값을 잡음 플로어(noise floor) 아래로 푸시하는지를 판정하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    비용 함수를 이용하여 상기 최적 수 표현 포맷을 평가하고, 상기 비용 함수의 평가가 희망 비용을 초과하면 시스템 비용 요건을 만족시키도록 변수 축(variable axis)을 따라 진행하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    희망 비용을 달성하기 위해 상기 모델 또는 코드에 스케일링 연산(scaling operation)을 삽입하는 단계를 포함하는 방법.
  9. 커스텀 집적 회로(IC)에서 구현될 모델 또는 코드에 대한 최적 수 포맷 표현을 자동으로 결정하는 시스템으로서,
    a. 상기 모델 또는 코드에서의 정적 범위에 대한 동적 범위의 비율을 결정하고, 상기 비율에 기초하여 부동 소수점 또는 고정 소수점 수 표현을 선택하며;
    b. 미리 결정된 비트 정밀도 연산과 연관된 하드웨어 면적 및 전력 비용을 포함하는 비용 함수에 기초하여 최적 수 표현 포맷을 결정하고;
    c. 상기 최적 수 표현 포맷에 커스터마이징된 프로세서 아키텍처를 자동으로 생성하며;
    d. 반도체 제조를 위해 상기 생성된 프로세서 아키텍처를 상기 커스텀 집적 회로의 컴퓨터 판독 가능 디스크립션으로 합성하는
    컴퓨터 판독 가능 코드를 포함하는 시스템.
  10. 제9항에 있어서,
    하나의 최적화 비용으로서 상기 수 표현에 대한 메모리 스토리지 요건을 이용하는 코드를 포함하는 시스템.
  11. 제9항에 있어서,
    하나의 최적화 비용으로서 상기 수 표현에 대한 실시간 성능을 결정하는 코드를 포함하는 시스템.
  12. 제9항에 있어서,
    상기 수 표현 포맷에 필요한 비트들의 수를 결정하는 코드를 포함하는 시스템.
  13. 제12항에 있어서,
    상기 비트들의 수는 임의의 수를 포함하는 시스템.
  14. 제9항에 있어서,
    상기 선택된 수 표현 포맷이 요구된 신호를 잡음 플로어 아래로 푸시하는지를 판정하는 코드를 포함하는 시스템.
  15. 제9항에 있어서,
    비용 함수를 이용하여 상기 최적 수 표현 포맷을 평가하고, 상기 비용 함수의 평가가 희망 비용을 초과하면 시스템 비용 요건을 만족시키도록 변수 축을 따라 진행하는 코드를 포함하는 시스템.
  16. 제9항에 있어서,
    희망 비용을 달성하기 위해 상기 모델 또는 코드에 스케일링 연산을 삽입하는 코드를 포함하는 시스템.
KR1020137009795A 2010-10-18 2011-09-15 커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘 KR20130098367A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/906,804 US8418118B2 (en) 2010-10-18 2010-10-18 Architecture guided optimal system precision definition algorithm for custom integrated circuit
US12/906,804 2010-10-18
PCT/US2011/051744 WO2012054154A2 (en) 2010-10-18 2011-09-15 Architecture guided optimal system precision definition algorithm for custom integrated circuit

Publications (1)

Publication Number Publication Date
KR20130098367A true KR20130098367A (ko) 2013-09-04

Family

ID=45934803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137009795A KR20130098367A (ko) 2010-10-18 2011-09-15 커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘

Country Status (7)

Country Link
US (2) US8418118B2 (ko)
EP (1) EP2630597A2 (ko)
JP (1) JP5682080B2 (ko)
KR (1) KR20130098367A (ko)
CN (1) CN103314379A (ko)
TW (1) TW201218007A (ko)
WO (1) WO2012054154A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461459B (zh) * 2013-09-23 2017-04-19 富士通株式会社 定点化处理方法及其装置
US20170337319A1 (en) * 2016-05-20 2017-11-23 Ecole polytechnique fédérale de Lausanne (EPFL) System and Method for Optimization of Digital Circuits with Timing and Behavior Co-Designed by Introduction and Exploitation of False Paths
CN109150281B (zh) * 2017-06-27 2021-12-28 航天恒星科技有限公司 卫星地面站自动化运行方法
JP7168382B2 (ja) 2018-08-30 2022-11-09 三菱商事ライフサイエンス株式会社 ヒラタケ菌糸体由来の食品素材

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5977983A (en) * 1997-02-20 1999-11-02 S3 Incorporated Method and apparatus for adjusting graphics processing procedures based on a selectable speed/quality gauge
CN100410871C (zh) * 2003-07-23 2008-08-13 联发科技股份有限公司 应用跳跃式浮点数运算法的数字讯号处理器
US7461116B2 (en) * 2003-09-17 2008-12-02 Agility Design Solutions Inc. Emulation of a fixed point operation using a corresponding floating point operation
US7389499B2 (en) * 2004-10-21 2008-06-17 International Business Machines Corporation Method and apparatus for automatically converting numeric data to a processor efficient format for performing arithmetic operations
US8423983B2 (en) * 2008-10-14 2013-04-16 International Business Machines Corporation Generating and executing programs for a floating point single instruction multiple data instruction set architecture
JP2010170196A (ja) * 2009-01-20 2010-08-05 Sony Corp 演算プログラム変換装置、演算プログラム変換方法およびプログラム

Also Published As

Publication number Publication date
WO2012054154A3 (en) 2013-10-24
EP2630597A2 (en) 2013-08-28
TW201218007A (en) 2012-05-01
WO2012054154A2 (en) 2012-04-26
US8418118B2 (en) 2013-04-09
JP5682080B2 (ja) 2015-03-11
CN103314379A (zh) 2013-09-18
US20140074900A1 (en) 2014-03-13
US20120095583A1 (en) 2012-04-19
JP2013546059A (ja) 2013-12-26

Similar Documents

Publication Publication Date Title
US6513146B1 (en) Method of designing semiconductor integrated circuit device, method of analyzing power consumption of circuit and apparatus for analyzing power consumption
US8336017B2 (en) Architecture optimizer
AU2014203218B2 (en) Memory configuration for inter-processor communication in an MPSoC
Park et al. A multi-granularity power modeling methodology for embedded processors
Osborne et al. Automatic accuracy-guaranteed bit-width optimization for fixed and floating-point systems
US8302041B1 (en) Implementation flow for electronic circuit designs using choice networks
KR20130107344A (ko) 툴 생성기
CN103262081A (zh) 用于驱动从架构优化到物理设计闭合的设计收敛的基于集成数据模型的框架
KR20130098367A (ko) 커스텀 집적 회로를 위한 아키텍처 가이드된 최적 시스템 정밀도 정의 알고리즘
US10585847B2 (en) System and method for scheduling instructions in a multithread SIMD architecture with a fixed number of registers
CN112148391A (zh) 生成基于芯片的计算功能的方法、装置、设备和存储介质
US20080115101A1 (en) Program conversion apparatus
JP2009048367A (ja) 回路設計方法、ならびにその方法により製造される集積回路
US8532974B2 (en) Developing system and method for optimizing the energy consumption of an application program for a digital signal processor
Chugh et al. Logarithmic arithmetic as an alternative to floating-point: A review
Conrady et al. LCS-based automatic configuration of approximate computing parameters for fpga system designs
US10599803B2 (en) High level synthesis apparatus, high level synthesis method, and computer readable medium
JP5146087B2 (ja) 消費電力見積方法、回路設計支援装置及びプログラム
US8843862B2 (en) Method and apparatus for creating and changing logic representations in a logic design using arithmetic flexibility of numeric formats for data
JP2980853B2 (ja) 集積回路の性能推定装置及びその性能推定方法
JPWO2018163291A1 (ja) アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム
US20200410149A1 (en) High-level synthesis apparatus, high-level synthesis method, and computer readable medium
US20130332142A1 (en) Methods and appartus for performing power estimation in circuits
JP6342065B2 (ja) 回路設計支援装置及び回路設計支援方法及び回路設計支援プログラム
JP7371499B2 (ja) 演算処理装置、演算処理装置の制御方法及び演算処理プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right