KR20000016431A - 필드 프로그래머블 프로세서 - Google Patents

필드 프로그래머블 프로세서 Download PDF

Info

Publication number
KR20000016431A
KR20000016431A KR1019980710015A KR19980710015A KR20000016431A KR 20000016431 A KR20000016431 A KR 20000016431A KR 1019980710015 A KR1019980710015 A KR 1019980710015A KR 19980710015 A KR19980710015 A KR 19980710015A KR 20000016431 A KR20000016431 A KR 20000016431A
Authority
KR
South Korea
Prior art keywords
data
processing element
field programmable
programmable processor
processing
Prior art date
Application number
KR1019980710015A
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 KR20000016431A publication Critical patent/KR20000016431A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)

Abstract

필드 프로그래머블 프로세서는 데이터 패킷상의 고정 산술기능을 수행하도록 제공된 처리소자의 어레이를 포함한다. 이 처리소자는 처리소자에 까지 확장된 신호 컨덱터의 어레이에 중간연결된다. 스위칭 수단은 처리소자를 중간연결하도록 인접신호 컨덱터에 처리소자를 선택적으로 연결시키도록 제공되어 있다.
소정의 처리소자 중간연결을 나타내는 프로그램 데이터가 저장되고, 스위칭 수단이 저장된 프로그램에 따라 제어되어, 소정의 처리소자 중간연결을 달성시킨다. 데이터 패킷은 중간연결 처리소자사이로 전송된다.

Description

필드 프로그래머블 프로세서
최근, 마이크로 일렉트로닉스 산업에서 "커스텀(Custom)"또는 "세미-커스텀"집적회로로 광범위한 이동이 있으며, 이러한 커스텀 집적회로의 기능은 집적회로가 제조될 때가 아니라 사용되기에 앞서 최종사용자에거서나, 필드에서 그 기능이 결정되는 필드 프로그래머블 컴포넌트(Field Programmable Components)와 같이 제조과정에서 결정되는 것이다.
필드 프로그래머블 게이트 어레이(FPGAS)는 많은 디지털 기능들을 수행하는데 널리 쓰이고 있고, 제품 디자인 설계과정에서 디자인이 쉽게 수정될 수 있기 때문에 위험부담이 적고, 처리시간(디자인이 FPGA상에서 몇분동안내에 수행됨)이 빠르며, 엔지니어링비용이 적게든다는 이점을 제공한다. 전통적인 접근 방식에 있어서는 생산가 절감의 이익이 있다는 것은 대량생산에 한정되는 것이었다.
그러나, 아날로그 회로를 공급하기 위한 적절한 FPGAS는 없다.
필드 프로그래머블 아날로그 어레이의 개념은 잘 알려져 있다. "EPAC 아키텍쳐의 한스 클레인"; "필드 프로그래머블 아날로그 어레이에 대한 엑스퍼트 셀 어프로치"(96판, ACM FAGA의 진행)는 한정된 셋(set)의 프로그래머블 필터기능과 게인 스테이지를 공급하는 장치가 개시되어 있다. 그러나, 모든 필터가 미리 디자인되고 사용자가 그의 요구에 맞는 필터를 선택할 수 있다는 점에서, 사용자에게 어느 정도의 디자인의 자유를 제공할 수 없다는 문제점이 있다.
"A. Bratt and I. Macbeth"는 "필드 프로그래머블 아날로그 어레이의 설계와 수행"에서 프로그래머블 셀의 어레이를 설명하고 있다. 각 셀은 연산증폭기(OP AMP), 다중 프로그래머블 캐피시터 및 같은 방법으로 소정 기능을 수행하는 캐피시터를 접속시키는 스위칭 장치를 포함한다. 전통적인 실리콘 칩 제조에서는 정확하고 신뢰성있는 캐피시터와 저항을 생산하기가 어렵기 때문에, 스위치된 캐피시터 필터 디자인으로 알려진 기술이 개발되었고, 이것은 "Joh wiley & Sons, Inc.,"에 의해 출판된 "아날로그 모스(MOS)집적회로"에 설명되어 있다. 이러한 기술에서, 신뢰할 수 있는 필터스펙은 샘플링 클럭주파수의 정확한 제어에 의해 달성된다. 이러한 기술은 프로그래밍 유연성을 제공하지만, 이러한 방법으로 제조된 장치를 사용하는 데에는 실제적으로 불편한 점이 있다.
첫째로, 제조공정에서의 불안정성 및 기생효과 때문에 신뢰할 수 있게 만들 수 있는 최저사이즈의 캐피시터이어야 한다. 합리적인 주파수 응답과 프로그래밍 범위를 제공하기 위해서는, 최저 사이즈(256배 큰)보다 수배 큰 캐피시터가 만들어져야 하고, 따라서 많은 실리콘이 필요하고, 그에 따라 비용이 증가된다. 또한, 연산증폭기는 로직 회로와 비교할 때 상대적으로 큰 면적의 실리콘이 요구된다.
둘째로, 상기의 내용은 기생효과를 어느 정도 줄이기 위한 것일 뿐, 문제점을 제거할 수 없다. 예를 들면, 실제 OP앰프는 트랜지스터 특성변화 때문에 연속적으로 생산되는 실리콘사이에는 +/- 20mV의 입력차 오프셋이 있다는 것을 알 수 있다. 아날로그 회로 디자인은 이정도 크기의 OP AMP전압 오프셋에 민감하고, 여러경우에 있어서 사용자가 이러한 알려지지 않은 양을 고려해서 디자인(Design around)하기란 불가능하다. 종래의 아날로그 전자 디자인에서는 OP AMP상에 여분의 핀이 제공되어 있었는데, 이것은 사용자가 이러한 타입의 오프셋에 민감한 회로부품에서 포텐시오 파라미터를 이용하여 손으로 오프셋을 제조로 조정하기 위한 것이었다. 이것은 10 혹은 20개의 OP AMP를 갖는 필드 프로그래머블 아날로그 어레이상에서는 실제적으로 불가능하다.
셋째로, 최종 사용자는 프로그램된 회로의 존재를 정확하게 검출하기 위한 정확한 시뮬레이션 모델을 요구한다. 이러한 시뮬레이션 모델들은 전압오프셋 기생 폴(parasitc poles), 무한대 게인-대역폭 발생과 같이 알려진 요소 때문에 일어나는 연산증폭기의 비이상적 수행측면에서 일반적으로 복잡하다. 상세한 시뮬레이션 기구없이도 동일 디자인이 서로 다른 조건하에서 미세한 차이가 있을 수 있다는 것이 가능하다.
끝으로, 최종 사용자는 이러한 타입의 필드 프로그래머블 아날로그 어레이를 사용하기 위해서는 아날로그 디자인 기술에 대한 높은 이해력을 요구한다.
디지털 신호처리장치가 처리소자 어레이를 갖는다는 것은 잘 알려져 있다. 각각의 처리소자는 하나의 데이터에 대해 동작을 수행하고, 결과를 다른 소자로 부터 출력된 데이터와 결합하여 수행되는 다음 동작을 위해 다른 소자로 내보낸다. 이러한 프로세서 어레이의 설명은 "Mead, Co, Conway, I., "가 쓴 "Introduction to VLSI system(1980년 Addison-Wesley, Reading, MassachuSetts에 의해 발간됨)"에 잘 나타나 있다. 어레이의 처리소자사이의 연결은 고정되어 있다. 이러한 어레이는 항상 동기적인데, 즉 입력데이터가 하나의 시스템 클럭 펄스상에서 클럭이 발생되고, 결과는 다음 클럭 펄스로 나간다.
본 발명은 필드 프로그래머블 프로세서에 관한 것으로서, 보다 상세하게는 아날로그 기능을 에뮬레이팅(Emulating)할 수 있는 프로세서에 관한 것이다.
도 1은 본 발명의 필드 프로그래머블 프로세서를 포함하는 아날로그 프로그램유닛의 아키덱쳐의 개략적 블록도,
도 2는 도 1의 필드 프로그래머블 프로세서의 개략적 블록도,
도 3 내지 도 6은 처리소자에 대한 프로그래머블 중간접속 네트워크를 개략적으로 나타낸 도면,
도 7 내지 도 9는 인접 처리소자 사이에서 직접 국부연결을 개략적으로 나타낸 도면,
도 10은 본 발명의 처리소자의 개략적 상세도,
도 11은 곱셈기처리소자의 개략적 블록도,
도 12는 도 11의 곱셈기 처리소자의 상세 블록도,
도 13은 곱셈기처리소자의 구성인 곱셈기 유닛의 상세 블록도,
도 14는 도 12의 곱셈기처리소자의 부분을 형성하는 에러플래그 저항의 논리도,
도 15는 도 12의 곱셈기 처리소자의 부분을 형성하는 에러처리기의 블록도,
도 16은 적분처리소자의 개략적 블록도,
도 17은 도 16의 적분처리소자의 상세도,
도 18은 도 16 및 도 17의 적분처리소자의 부분을 형성하는 가산기의 논리도,
도 19는 도 18의 가산기의 부분을 이루는 시리얼 가산기를 나타내는 도면,
도 20은 도 16 및 도 17의 적분처리소자의 일부분을 이루는 비교기의 논리도,
도 21은 도 16 및 도 17의 적분기의 일부분을 이루는 정류기의 개략도,
도 22는 본 발명의 패킷데이터의 내용도,
도 23은 도 11 및 도 12의 곱셈기 처리소자의 타이밍도,
도 24는 도 16 및 도 17의 적분처리소자용 타이밍도,
도 25내지 도 27은 에러처리기술의 일예도이다.
본 발명의 목적은 상기 문제점을 제거하기 위한 것으로서, 신호처리 및 선형과 비선형 아날로그기능을 에뮬레이트하는데 요구되는 산술적 기능을 수행할 수 있는 프로그래머블 프로세서를 제공함에 있다.
본 발명에 따르면, 데이터 패킷상의 고정기능을 수행하도록 제공된 처리소자의 어레이; 상기처리소자에 인접하여 확장된 신호컨덕터어레이; 상기 처리소자를 중간연결하도록 인접신호컨덕터에 대해 처리소자를 선택적으로 접속시키는 스위칭수단; 소정처리소자 중간연결을 나타내는 프로그램 데이터를 저장하는 수단; 상기 소정처리소자 중간연결 성취하도록 저장된 프로그램 데이터에 다라 스위칭 수단을 제어하는 수단; 각 처리소자내에서 숫자 데이터값을 저장하는 수단; 상기 중간연결처리소자들 사이에서 시리얼 데이터 패킷을 동기적으로 전송하는 수단;으로 구성된 필드 프로그래머블 처리기를 제공한다.
여기서, 고정기능(fixed function)은 적어도 스태틱 산술기능(a static arithmetic function)을 포함하는 의미로서, 일단 프로세서가 정하여지고 프로그램된 다음 적절한 산술기능을 수행하는 것을 말한다.
바람직하게는, 처리소자로 인접하여 확장된 다른 신호 컨덱터 어레이가 제공될 수 있고, 이 다른 신호 컨덱터 어레이는 처리소자들 사이에서 기능 제어 데이터를 이송하도록 배열된다.
기능 제어데이터는 처리소자나 처리소자의 조합에 의해 생성된다. 바람직하게는 기능 제어데이터에 의해 제어되는 기능은 신호 데이터의 변경이나 어느 하나의 리셋, 셋, 인에이블이다.
데이터 패킷은 시리얼 형태로 처리소자사이에서 동기적으로 전송된다.
각 처리소자의 고정기능은 바람직하게는 가산기 또는 합산기 중 하나이다.
곱셈기능을 갖는 적어도 하나의 처리소자는 쉬프트 또는 합산 동작을 이용한다.
이것은 패킷의 모든 비트(bit)가 도착되기전에 수신패킷의 처리가 개시되도록 한다.
처리소자는 동일그룹의 소자 어레이내에 배열되고, 각 그룹은 다른 기능의 처리소자를 통합한다. 각 동일그룹은 가산기능을 갖는 하나의 처리소자를 포함하고, 세 개의 처리소자는 곱셈기능을 갖는다.
바람직하게는 처리소자는 지연수단을 갖고, 그 결과 처리소자의 출력 데이터는 완전한 패킷 데이터를 전송하도록 하는 시간만큼 지연된 입력데이터와 같다.
바람직하게는 신호컨덱터의 다른 어레이, 외부 제어데이터 소스 또는 도달지 사이의 제어 데이터를 전송하는 수단이 제공될 수 있다.
이 수단은 저장된 숫자 데이터 값을 시리얼 형태로 변환함으로써, 처리 소자에 이용되도록 제공될 수 있다.
바람직하게는 상기 데이터 패킷은 제어 프래그들을 포함한다.
바람직하게는 데이터 패킷은 제어 데이터 비트를 포함하고, 처리소자들 사이로 통과된 데이터 패킷들은 데이터가 전송된 처리소자내에서 산술적 동작으로 부터 기인한 에러를 나타내는 제어플래그를 포함할 수 있으며, 이 수단은 적어도 약간의 처리소자들에 의해 수신된 데이터내에 에러를 교정하도록 제공될 수 있다.
처리소자들은 고정포인트 처리를 이용하여 산술적 동작들을 수행할 수 있으며 제어데이터에 의해 지시되는 에러들을 포지티브 및/또는 네거티브 오버플로어(overflow)일 수 있다. 곱셈기 처리소자들은 국부적으로 발생된 에러들을 처리하기 위한 수단을 통합하도록 제공된다.
본 발명의 바람직한 실시예에서는, 처리소자 어레이; 상기 처리소자에 인접하여 확장된 신호 컨덱터 어레이; 상기 처리소자를 중간접속하도록 인접신호컨덱터에 상기 처리소자를 선택적으로 접속시키는 스위칭수단; 소정처리소자 중간접속을 나타내는 프로그램 데이터를 저장하는 수단; 상기 소정처리수단 중간접속을 달성하도록 저장된 프로그램데이터에 따라 스위칭수단을 제어하는 수단;
상기 중간접속 처리소자들 사이에서 패킷 데이터를 전송하는 수단; 종속소자에 있는 소자의 출력에서 나타나는 에러를 처리하는 수단;으로 구성된 필드 프로그래머블 프로세서가 제공된다.
본 발명에 따른 다른 실시예는 첨부된 도면을 참조하여 설명하겠지만 이것은 단지 일예에 지나지 않는다.
다시 도면을 참조하면, 도 1은 본 발명의 필드 프로그래머블 프로세서(2) 포함시키는 아날로그 프로그래머블 어레이(1)을 나타낸다. 프로세서(2)는 이후 설명될 100개 프로그래머블 셀의 핵심 어레이(3)를 포함한다. 프로그래머블 어레이(1)는 직접 각각 프로그램할 수 있는 8개의 데이터 포트(4, 이중 4개는 아날로그용, 4개는 디지털용)를 갖는다. 아날로그에서 디지털로 변환기 및 디지털에서 아날로그 변환기는 입력아날로그 신호가 디지털적으로 처리될 수 있고, 아울러 아날로그 형태로 결과를 출력하도록 제공된다. 각 컨버터(5)는 보통 10비트 정밀성과 60MS/s의 변환비를 갖는다.
핵심 어레이(3)는 핵심어레이(3)와 포트(4)사이에 있는 양방향 비트 시리얼 데이터와 제어신호연결을 제공하는 어레이 인터페이스(6)을 통하여 포트(4)와 접속된다. 어레이 인터페이스(6) 비트-시리얼 포맷내의 데이터를 처리한다. 그리고, 필요시 직렬-병렬 컨버터가 병렬 데이터 통신용으로 제공될 수 있다.
핵심 어레이(3)는 외부 프로그래머블 시스템과 클럭(8)과 인터페이스하는 제어로직과 프로그램로직을 포함하는 제어유닛(7)을 갖는다. 핵심 어레이(3)내에 있는 데이터 트랜스퍼를 제어하는 타이밍 신호는 클럭(8)과 결합로직회로에 의해 발생된다.
도 2는 핵심 어레이(3)의 구조를 보여주고 있다. 그것은 고정 컴비네이션과 프로그래머블 비트-시리얼 연결(도 2에는 도시되지 않음)을 통하여 중간연결된 처리셀(9)의 어레이를 포함한다.
각각의 처리셀(9)은 고정 산술기능과 곱셈기능 또는 가산기능을 수행하도록 설정된다. 어레이 처리셀(9)는 도면부호(10)에 표시된 바와 같이 4개로된 그룹으로 배열되어 있다. 이 4개로 된 그룹들은 도 2에 도시된 바와 같은 각각의 그룹에서 3개의 곱셈기 셀(M1, M2 & M3)와 하나의 어큐뮬레이터 셀(A1)로 되어 있다. 각 그룹내의 처리셀(A)에 대한 곱셈기(M)의 비율은 보통 디자인 요구를 충족시키도록 선택되고, 응용목적에 따라 달라질 수 있다. 그룹(10)은 핵심 어레이내의 가장 적은 블록이고, 그룹내에 있는 셀(9)사이에 있는 특정 직접 연결선을 포함하고 있다.
핵심 어레이(3)내의 각 셀(9)은 곱셈기에 의해 선택적으로 인에이블되고, 프로그래머블 중간연결 네트워크를 통하여 다른 셀들(9) 출력에 대해서 혹은 인접하는 처리셀들(9)의 출력에 대해 직접적으로 연결된 입력을 갖는다.
각각의 처리셀(9)는 또한 인접 처리셀(9)의 입력 곱셈기에 접속된 출력을 갖고, 출력곱셈기를 통하여 프로그래머블 중간연결 네트워크에 접속되어 있다. 프로그래머블 연결의 두가지 방법 즉, 직접 국부 연결 및 장거리 프로그래머블 중간연결 네트워크는 처리셀(9)로 하여금 요구한 대로 중간연결되도록 함으로써 소정의 복합기능이 수행될 수 있다.
하나는 데이터 신호용이고 다른 하나는 제어신호용인 두 개의 프로그래머블 중간연결 네트워크가 있다. 이 두 개의 네트워크는 완전히 독립적이고, 처리 셀(9)내에서 간접적으로 작용하는 것을 제외하고는 서로 상호작용을 하지 않는다. 이러한 프로그래머블 중간연결은 어레이 인터페이스(6)가 핵심 어레이(3)속으로 및 바깥으로의 연결점을 제공하는 핵심어레이(3)의 경계선까지 확장된다.
각각의 프로그래머블 연결 네트워크는 양방향이다. 데이터 신호 중간연결 네트워크에서, 신호들은 3가지 상태출력을 갖는 곱셈기를 통하여 프로그래머블 버스(VB1-VB4, HP1-HP4)에 인가되거나 인가받는다. 네 개의 연결선은 도 3에서와 같이 수직적으로 각각의 셀(9)에 대해 구성되어 있고, 도 4와 같이 수평적으로 되어 있다. 셀(9)에 대한 연결선의 패턴은 다른 셀에 대해서도 반복된다.
셀(9) 사이 또는 어레이 인터페이스(6)과 셀(9)사이의 대각선 또는 개다리 형상 연결선을 용이하게 하기 위해서, 수평 및 수직 경로의 접합을 가능하게 하는 중간연결 네트워크가 구성되어 있다. 도 5에 도시된 바와같이, 단일선은 수직적 및 수평적으로 각각의 셀(9)에 대해 달리도록 구성된다. 이러한 선을 접합시킬 수 있는 프로그래머블 스위치(11)는 어레이(3)내의 특정셀(9)에 존재한다. 수평선은 인터페이스 어레이(6)로 부터 연결된다. 모든 셀(9)은 수평선(HX)로 부터의 입력을 받고, 수직선(VX)상에 출력을 내보낸다. 도 5에 있는 수평선(HX)상에 도시된 작은 화살표시(12)는 선으로 부터 셀(9)까지의 입력을 나타낸다.
곱셈기 셀(M)은 어규뮬레이터 셀(A)로부터 또는 소스 외부로 부터 핵심어레이(3) 또는 그들의 조합에 까지 입력되는 제어신호를 수신한다.
두 제어신호는 새로운 제어신호를 발생하도록 적분기 셀(A)내에서 로직함수를 통하여 조합된다. 이러한 제어신호는 도 6에 도시된 프로그래머블 디지털 제어 중간 연결 네트워크를 통하여 전달된다. 이 네트워크는 각 셀(9)을 통과하는 다수의 수평제어버스(HD2, HD1 또는 HD3, HD4)를 포함하고, 이 수평제어버스는 또다른 셀(9)를 통과하는 수직제어버스(VD1, VD2)에 연결된다.
셀(9) 사이의 양방향 연결선(13)은 수평제어버스(HD)로 부터 만들어지고, 반면 수직 버스(HD)와 수평버스(VD)사이의 프로그래머블 스위치(14)와 수직버스(VD)는 대각선과 개다리형상을 이루도록 되어 있다. 검은색의 다이어몬드형상(15)는 도 6에 도시된 바와 같이 셀(9)의 입력연결선을 나타낸다.
직접 국부 연결 네트워크는 도 7내지 도 9에서 도시된 바와 같다. 도 7에 도시된 적분기 셀(M, A)과 국부 곱셈기 배열에서, 각 적분기 셀(A)은 연결선(Z1-7)을 이용하여 다른 셀(9)로 부터 직접 연결선을 수신한다. 이러한 연결선 배열은 모든 적분기에 대해 적용되며, 신호가 곱셈기(M)으로부터 적분기(A)까지 공급되도록 하며, 동시에 적분기 셀(A)이 캐스캐이드(cascade)되도록 한다. 적분기 셀(A)의 출력은 "#AOUT"로 표시되고 곱셈기 셀 M 출력은 "#MOUT"로 표시된다.
곱셈기 셀(M)사이의 직접 국부 연결선(D1-7)은 각셀의 상대위치에 의존한다. 직접 국부 연결선배열의 다른 예는 도 8 및 도 9에 도시되어 있다.
핵심 어레이(3)내의 모든 셀(9)는 도 10에 도시된 바와 같은 기본구조로 되어 있다.
셀(9)는 함수 블록(f)내의 고정 기능을 수행하고, 그 기능은 곱셈 또는 적분중 한 기능을 수행한다. 구성(환경설정) 스토어(CS)는 신호가 입력 곱셈기 (IMUX[1:N])를 통하여 셀에 도달하는지 및 출력 곱셈기(OMUX[1:N])를 통하여 셀로부터 도달하는지를 검출하는 프로그래밍 데이터를 유지시킨다. 형상스토어(CS)는 또한 계수(COEF[O:W])와 셀내에 있는 비선형 함수를 셋시킨다. 제어버스(#CB)상의 신호는 곱셈기(CMUX)를 통하여 셀 속으로 이동되어, 원래의 프로그래밍을 무효화시키고 시스템의 상태에 따라 셀의 동작을 제어한다. 이것은 더욱 복잡하고 부가적인 기능의 수행을 가능하게 한다.
신호데이터가 어레이 데이터 중간접속 네트워크로부터 셀내로 입력되고, 셀을 통과하는 프로그래머블 중간접속 네트워크 #PB로 부터의 버스와 직접 국부 연결 네트워크로 부터의 버스(DI#, DO#)를 포함한다. 입력 멀티플렉서(IMUX)는 함수 블록(f)로 통과되는 입력신호를 선택한다. 함수 블록(f)은 출력멀티플렉서(OMUX[1:N])를 통하거나 및/또는 직접 국부 연결선(#DD)을 이용한 다른 셀을 통하여 프로그래머블 중간접속 네트워크(#PD)상으로 선택적으로 이동시키게 되는 데이터신호(#OUT[1:N])을 출력시킨다.
도 11은 곱셈기 셀용 함수블럭(f)의 내용을 보여주고 있다. 셀은 원칙적으로 몇 개의 소스로 부터의 데이터 상에 있는 병렬함수를 제공하는 지연블럭 Z-1 및 곱셈기(X)를 포함하고 있다. 지연 블록(Z-1)은 하나의 샘플주기동안 그롯으로 통과되는 어떤 데이터를 지연시킨다. 이러한 함수에 제공되는 데이터는 동일 소스일 수도 있고 다른 소스일 수도 있다. 입력 멀티플렉서(IMUX)에 대한 입력 데이터는 데이터 프로그래머블 중간접속의 수평 또는 수직버스(#HP, #VP)로 부터 선택적으로 얻는다. 처리결과를 나타내는 데이터는 에러검출유닛(EDU)의 출력(#MOUT)과 함께 곱셈의 결과를 포함한다.
도 12를 참조하면, 입력 비트-시리얼 데이터(COEFA)는 곱셈기(M1)의 입력중 하나에 대해 존재하며, 16비트 계수 레지스터(COEFREG)로부터 통과된 다른 입력에 존재하는 데이터(COEFB)와 곱셈된다. 포지티브 또는 네거티브 오버플로우 검출기(ER2)에 의해 검출된 에러를 포함하는 결과는 에러 처리기 블록(ERH)로 통과된다. 이것은 네거티브 또는 포지티브가 크기에 있어 데이터 포켓 사이즈 에러 플래그에 의해 표시될 수 없을 정도로 큰 경우인가에 대한 결과가 셋(set)되는 시간을 의미한다. 에러 처리기 블록(ERH)의 출력은 병렬 트랜지스터에 의해 결과레지스터(RESULTREG)로 변경된다. 이러한 결과는 이때 시리얼 출력(#MOUT)를 통하여 쉬프트된다. 에러처리블럭(ERH)은 신호데이터가 곱셈기 셀(M)에 의해 로드됨과 동시에 처리적분기 셀(A)로 부터 에러 플레그(네거티브 오버플로어 AU 및 포지티브 오버플로어 AO)를 수신한다. 이러한 에러플래그는 2비트 플레그 레지스터(ER1)를 통하여 그것을 통과한다.
지연블럭(Z-1)은 데이터 패킷내에서 비트로서 동일 수의 스테이지를 갖는 16비트 지연 쉬프트 레지스터(ZIREG)를 포함한다. 이것은 그것을 통하여 통과하는 신호데이터에 대해 하나의 데이터 샘플 주기의 지연을 제공한다. 지연블럭(Z-1)은 또한 다른 목적을 갖는다. 즉, 하나의 데이터 스트림이 직렬 입력비트이고, 다른 하나는 싱글워드(single word)로 필요하는 두 개의 데이터 스트림상에서 A x B의 기능을 수행하고 있다면, 지연 블록(Z-1)은 싱글워드를 병렬워드로 변환시킨다. 이것은 대해 시리얼 데이터 워드 고정 포인트 형태를 계수 고정 포인트 형태로 정렬시키는 것을 말한다. 이러한 싱글워드는 곱셈기 셀(M)의 부분으로서 프로그램되는 계수레지스터(COEFREG)에 의해 달리 제공된다.
곱셈기 셀의 두가지 기능을 이용하여 아래의 동작이 수행된다.
Ⅰ. 상수에 의해 입력데이터를 곱셈함
Ⅱ. 두 개의 데이터 스트림을 함께 곱셈함
Ⅲ. 상수(set)를 출력시킴
Ⅳ. 하나의 샘플링 주기동안 입력데이터를 지연시킴
이러한 모든 기능들은 리셋될 수 있고, 지연기능(IV)은 다른 연결기능과 병렬로 수행될 수 있다.
곱셈기(M1)은 도 13에 상세히 도시되어 있다. 이 구조는 표준형태이며, 종래의 쉬프트 및 가산장치를 포함하고 있다. 입력 비트-시리얼 데이터(#COEFA)는 하나의 시리얼 입력워드내에 있는 각 비트에 대해 더하기/빼기/비 작동/쉬프트/기능을 입력계수(#COEFB)로 제공하는 가산기(ADD1)를 제어한다. 이때 이 결과가 어레이내의 셀 사이의 모든 시리얼 데이터 트랜지스퍼용으로 이용되는 고정포인트 숫자표시에 재배치된다.
곱셈기, 리셋, 인에이블, 상수출력의 두 번째 기능은 디지털 제어버스(#HD) 및/또는 프로그래밍 데이터로부터 선택된 입력에 의해 제어된다. 상수를 출력하는 것은 멀티플렉서(MX1, MX2)를 이용하여 가능하고 계수(#COEFB)을 출력으로 내보낸다.
곱셈기 자체에 의해 발생된 에러는 도 14에 도시된 바와 같이 포지티브/네거티브 오버플로우 검출기(ER2)내에서 검출된다. 입력되는 계수와 시리얼 데이터의 숫자표시와 함께 곱셈과정에서 수행된 마지막 가산의 결과는 도시된 단순로직회로를 통하여 조합된다. 계수의 부호는 신호(#COEFB)로서 나타낸 바와 같이 계수의 MSB이다. 입력 데이터의 부호는 MSB이거나, 신호(#SD)로 나타낸 바와 같이 데이터 워드에 도달하는 마지막 비트이다. 곱셈기 출력(#MR)의 MSB 및 #MC를 수행함과 동시에, 이러한 신호들은 네거티브 오버플로우(#MU) 또는 포지티브오버플로우(#MO) 조건을 나타내는 출력을 발생시키도록 조합된다. 숫자에러가 검출될 때마다, 교정응답이 발생된다. 이것은 도15에 자세히 도시된 바와 같은 에러처리기 블록(ERH)의 기능이다. 만약, 곱셈 포지티브 또는 네거티브 오버플로어(#MO, #MU)가 검출되면, 최대값 포지티브 각각은 에러처리기(ERH)의 출력에 인간된다. 만약, 적분기 에러(#AO, #AU)가 이전 스테이지로부터 검출되면, 그때 이것은 곱셈기에 인가된 값이 명백히 오류가 있는 것으로서, 곱셈에러를 무효화시킨다. 만약, 어큐뮬레이터 포지티브 오버플러어(#AO)가 검출되면, 출력은 이것을 반영하도록 고정되어야 한다. 즉, #COEFA에서의 최대값을 가정한 결과치가 계산되어야 한다. 이것은 적분기용 데이터워드내의 데이터 비트의 수만큼 쉬프트된 입력계수(#COEFB)로 근접할 것이다.
이러한 근사값으로부터의 에러는 작으며, 특히 큰 데이터 워드에 대해서는 더욱 그렇다.
그리고, 클립핑이 일어나므로 시스템 수행에는 아무 영향을 미치지 않는다. 만약 어큐뮬레이터 네거티브 오버플로우(#AU)에러가 일어나면, 출력은 포지티브값의 두 개의 값으로 셋(set)된다.
에러처리기의 출력이 결과에 대해 첨부되고 리셋되는 2개의 에러플래그를 갖는 병렬 트랜스퍼와 같은 결과 레지스터(RESULTREG, 도 12참조)로 변경된다.
이것은 고정포인트 숫자 아키텍쳐에서의 숫자 오버플로어를 제어하는 것은 신호 클립핑이 잘 이해되는 아날로그 회로의 구성을 정밀히 에뮬레이터(emulate)함으로써 가능하다는 것을 알려준다. 곱셈기 셀은 곱셈기 셀 자체내의 계산으로부터 에러 및/ 또는 신호경로내의 적분기에서 수행된 계산결과에 대하여 이러한 애러교정용이성을 제공한다. 적분기 셀내에서 일어나는 에러는 교정되지 않지만, 데이터 프레임의 끝부분에 있는 두 개의 플래그를 셋팅함으로써 존재한다는 것을 지시해 준다. 이러한 두 개의 플래그는 네거티브 오버플로우 플래그 및 포지티브 오버플로우 플래그이다. 신호 데이터가 곱셈기 처리소자에 의해 로드(load)되기 때문에, 이러한 두 개의 플래그는 에러 플래그 레지스터(ER1)로 통과된다.
적분기 셀의 개략적 도면은 도 16에 도시되어 있다. 데이터는 형상스토어(CS2)의 제어하에서 프로그래머블 중간연결과 직접 국부연결 네트워크로 부터 입력 멀티플렉서(IA1- IA8)에 의해 셀로 선택적으로 공급된다. 처리된 데이터는 데이터 버스와 제어버스를 각각 공급하는 출력 멀티플렉서(OA1, OA2)를 통하여 셀로 부터 출력된다. 적분기 셀(A)은 선택된 데이터 신호가 적분되는 가산기( ACC1)와 핵심어레이내의 다른곳에 사용하는 상태제어신호를 제공하도록 다른 값에 대해 적분한 결과를 테스트 하기 위하여 이용되는 비교기(CMP)를 갖는다. 셀은 또한 정류와 같은 비선형 기능을 제공한다. 도 16에 도시된 실시예에서는, 정류기(RECT)는 가산기(ACC1)의 출력에 연결된다. 가산기(ACC1)와 정류기(RECT)의 출력은 어떠한 포지티브 또는 네거티브 오버플로우 에러를 플래그하는 에러검출기(EDU2)에 공급된다. 입력이 가산기(ACC1)로 부터 선택적으로 제외될 수 있도록 각 멀티플렉서는 숫자제도를 선택할 수 있는 입력을 가진다.
도 17은 적분기 셀의 상세 블록도이다. 멀티플렉서(IA7, IA8)을 통하여 공급된 #AIN7, #AIN8 상의 입력 데이터는 셀의 비교제어기능에 사용되는 신호를 제공한다. #AIN1-#AIN8상의 다른 입력은 가산기 ACC1로 공급되고 적분결과는 포지티브/네거티브 오버플로어 검출 블록으로 통과된다.
입력의 시리얼 적분 동안에, 오브플로어 검출은 가산기(시리얼 가산기)내에서 수행되고, 계산말기에 포지티브와 네거티브 오버플로어 플래그(#AO, #AU)는 #AOUT상의 셀로부터 데이터가 지나가지 전에 데이터 패킷에 부가된다.
적분의 합계는 적분의 결과가 출력전에 정류되는 정류기 블록(RECT)을 통하여 에러 검출블럭으로 통과된다.
가산기(ACC1)의 출력은 비교블럭(CMP)로 통과되고, 그곳에서 또다른 신호 소스 #AIN7과 또는 레지스터(COMPREG)내에 저장된 상수(#COEFFA)와 비교된다.
비교결과(적은지, 큰지, 같은지에 대해 프로그램할 수 있는) 제어로직을 갖는 외부신호(#CMIN)과 조합되어, 어레이내의 다른 처리셀에 제어신호를 발생시킨다. 조합신호결과치는 출력 멀티플렉서(OA2)를 통하여 제어버스상에 공급된다.
여섯 개 입력신호(#AIN1-#AIN6)로 된 도 18에 도시된 가산기는 두 개의 입력 시리얼 가산기들로 부터 구성되고, 그중 하나는 도 19에 도시된 바와 같다. 비트 시리얼 입력(도 19의 A,B)은 비트시리얼 합계(#S)를 얻도록 합산된다. 이러한 가산기 구조는 알트(alt) 입력신호 #A1을 선택하도록 알트 선택 제어신호(#AS)를 이용하여 동시에 셋되거나 리셋된다. 알트입력신호의 값은 가산기가 셋 또는 리셋되는지를 검출한다.
가산기 시리얼 출력의 MSB는 적분기 과정(#A & #B)에서의 최종 적분의 MSB와, 에러 플래그를 발생시키는 캐리플래그(#CF)와 조합된다. 네거티브 및 포지티브 오버플로어 플래그(AU, AO)는 멀티플렉서(OA1)을 통하여 출력 데이터 워드상에서 부가되고, 그 결과 데이터 패킷을 형성시킨다. 회로의 타이밍과 데이터 패킷의 형태는 도 24에 잘 도시되어 있다.
비교블럭(CMP)로직회로는 도 20에 자세히 도시되었는데, 이것은 잘 알려진 디자인이다. 입력(#CA, #B)은 가산기의 출력데이터와 연결되고 동시에 멀티플렉서(MA)의 출력에 연결되며, 감산을 수행하도록 하나에 대해 플립-플롭 프리셋과 인버터 입력을 갖는 비트 시리얼 가산기로 통과된다. 멀트플렉서(MA)는 비교기 레지스터(COMPREG)또는 다른 입력 신호(#AIN7)에 의해 제공된 상수(COEFFA)중 하나로 부터의 입력(#CB)의 선택을 가능케한다. 상수(COEFFA)는 프로그래밍 동안 셋되지만 시리얼 값을 연속으로 출력하는 동작동안에 레지스터(COMPREG) 주위에서 계속 머문다. 구성(환경설정) 스토어에 의해 정의된 신호(#M37 및 #M38)의 제어동안, 비교기는 크기 또는 작기 또는 동등 비교를 수행한다. 비교기의 타이밍 시퀀스 발생은 도 24에 잘 나타나 있다.
정류 블록(RECT)은 도 21에 상세히 나타나 있다. 가산기의 출력은 한 샘플 주기동안 데이터 패킷을 지연시키도록 쉬프트 레지스터(RECTREG)로 공급된다. 플립플롭(F1)은 입력워드의 부호비트를 취한다. 지연된 워드, 및 제어신호(#M39)인 부호비트는 시리얼 반가산기를 포함하는 기존의 로직회로를 통하여 공급되어, 시리얼(#ROUT)이 입력시리얼 워드와 크기가 동일하지만 부호가 항상 포지티브를 가능케하는 데이터워드를 무효화시킨다.
적분기 처리 셀은 여러 가지 기능을 제공하여, 프로세서 아키텍쳐가 다양한 범위의 동작을 하게한다. 이 적분기의 기능은 아래와 같다.
Ⅰ. 여섯 개의 신호에 이르는 적분
Ⅱ. 크기, 작기, 동등에 대해 신호와 상수를 비교
Ⅲ. 적분기의 출력을 정류
Ⅳ. 외부제어신호, 다른 적분기처리셀 발생제어신호를 비교에 근거하여 곱셈기 처리셀용 제어신호발생
프로세서어레이는 셀사이에서 동시에 전달된 비트-시리얼 데이터상에서 작동한다.
데이터워드길이는 수학적인 동작의 정밀성을 정의한다. 실예에서, 30비트 데이터가 사용되었다. 어레이 셀사이로 통과된 정보는 신호데이터 패킷으로 호칭된다. 이것은 연관된 제어비트를 갖는 데이터워드이다. 제어비트들은 데이터워드의 말기에 전송되고, 수학적 작동으로부터 얻어지는 포지티브 또는 네거티브 오버플로어 조건을 전송하는 플래그로서 이용된다. 이러한 데이터는 데이터가 제어되거나 정정되도록 연속셀로 이용될 수 있다. 데이터 패킷의 구조는 도 22에 도시되어 있다. 데이터워드의 LSB는 MSB를 뒤따르게하는 에러 플래그와 함께 먼저 전송된다. 핵심어레이는 고정포인트처리 어레이이다. 그러한 구조에서의 데이멀 포인트의 위치는 모든 셀을 가로질러 존재한다면 별로 중요하지 않다. 다른 실시예에서는, 프로세서가 30비트의 숫자 정밀도를 갖는 32비트 데이터 프레임을 이용한다. 곱셈기 셀에 의해 사용된 계수는 16비트의 워드폭을 갖는다. 셀사이의 모든 데이터 변경은 데이터 패킷으로 불리는 하나의 샘플 주기를 통해 발생된다. 만약, 변경이 비트-시리얼로 수행된다면, N클럭을 통하여 수행된다. 여기서 N은 시스템 데이터 워드 내에서의 비트수이다.
이러한 수행을 위해, 데이터 워드는 32비트이고, 이것은 30비트의 데이터와 2비트의 제어비트로 구성된다. 데이터가 포지티브 및 네거티브 오버플로어로 된 프레임의 마지막 그 비트를 갖는 LSB(least signifioant bit)가 먼저 전송된다. 이러한 전송방법은 저급 비트(lower bit)가 다음 셀로 변경되고, 반면 중요비트(higher order bit)는 계산된다. 이러한 방법과 관련한 문제점은 포지티브 및 네거티브 오버플로어가 다음 셀에 의해 이미 처리된 때 계산의 말기에 이르기까지 검출되지 않는다는 것을 의미한다. 그러나, 본 발명의 장치는 이러한 문제점을 극복할 수 있다.
어레이내의 모든 데이터 변경은 데이터 프레임에 동기되고, 곱셈기와 적분기 셀의 데이터 변경의 예는 도 23과 도 24에 각각 도시되어 있다. 모든 제어 신호들은 최초 클럭으로부터 유도된다.
도 23으로부터, 신호(#LDRES)는 에러처리블럭(ERH)과 곱셈기 결과 레지스터사이의 데이터 동기변경을 개시한다. 이 신호의 중요도는 그것이 모든 에러 정정방법이 완료되고, 데이터 샘플 주기에 대해 곱셈기 처리소자의 출력을 동기화된다는 것이다. 일련의 산술적 동작에 대한 에러 처리기술의 일예는 도 25내지 도 27에 도시되어 있다.
도 25에 도시된 일예에서, 두 개의 데이터 패킷이 먼저 적분기셀에 의해 처리되고, 그 결과는 곱셈기 셀내에서 상수로 곱하여 진다. 곱셈기의 출력데이터는 그때 지연되고, 어레이 인터페이스를 통하여 핵심어레이로부터 출력된다. 만약, 에러 발생이 적분기 셀이면, 데이터 패킷내의 에러 플래그는 셋되고, 곱셈기 셀이 데이터 패킷을 수신하면 에러 플래그는 에러플래그 레지스터(ER)속으로 로드되며 적정 방법으로 처리된다. 지연유닛과 어레이 인터페이스는 데이터 패킷의 내용에는 영향을 끼치지 않는다.
도 26에서, 데이터가 지연되기 전에 두 개의 적분기 셀에 의해 계속적으로 처리되고 그때 곱셈기 셀에 의해 처리된다. 만약, 에러가 제 1 적분기내에서 검출되면, 소정 플래그는 셋되고 데이터 패킷출력내의 제 2 적분기 셀로 전송된다. 만약, 제 2 적분기 셀 처리결과가 에러이면, 소정 플래그는 셋되고, 반대로 에러 플래그가 형성하면, 이전동작이 출력데이터 패킷을 통하여 전달된다. 데이터가 곱셈기에 도달하면, 에러는 적정 방법으로 처리되고 플래그는 리셋된다.
도 27에 도시된 장치에서는 두 개의 데이터 패킷이 서로 곱해지고, 그때 결과치가 적분기 셀내의 분리데이터 스트림으로 가산된다. 결과 출력 데이터 패킷이 어레이 인터페이스를 통하여 핵심어레이로부터 전달되기 전에 지연된다. 만약, 데이터 플래그가 양 입력 데이터 패킷내에서 셋되면, 곱셈기는 에러를 처리하고, 어큐뮬레이터로 통과된 출력데이터 패킷내의 플래그를 리셋시킨다. 만약, 어큐뮬레이터의 동작이 에러이면, 소정 에러 플래그가 셋되과, 이것은 에러조건이 처리되고 에러플래그가 리셋되는 어레이 인터페이스로 출력데이터 패킷의 일부분으로 전달된다.

Claims (19)

  1. 데이터 패킷상의 고정기능을 수행하도록 제공된 처리소자의 어레이; 상기처리소자에 인접하여 확장된 신호컨덕터어레이;
    상기 처리소자를 중간연결하도록 인접신호컨덕터에 대해 처리소자를 선택적으로 접속시키는 스위칭수단;
    소정처리소자 중간연결을 나타내는 프로그램 데이터를 저장하는 수단;
    상기 소정처리소자 중간연결 성취하도록 저장된 프로그램 데이터에 다라 스위칭 수단을 제어하는 수단;
    각 처리소자내에서 숫자 데이터값을 저장하는 수단;
    상기 중간연결처리소자들 사이에서 시리얼 데이터 패킷을 동기적으로 전송하는 수단;으로 구성된 필드 프로그래머블 프로세서.
  2. 제 1 항에 있어서, 신호 컨덱터 어레이는 처리소자까지 인접하여 확장되고, 처리소자사이에 있는 기능제어데이터를 송부하도록 구성된 것을 특징으로 하는 필드 프로그래머블 프로세서.
  3. 제 3 항에 있어서, 기능제어데이터는 처리소자 또는 처리소자의 조합에 의해 발생되는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 기능 제어데이터에 의해 제어되는 기능은 리셋, 셋, 인에이블, 신호데이터 변경 중 하나인 것을 특징으로 하는 필드 프로그래머블 프로세서.
  5. 상기 항들 중 어느 한 항에 있어서, 상기 데이터 패킷은 시리얼 형태로 처리소자사이에서 동시에 전달되는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  6. 상기 항들 중 어느 한 항에 있어서, 상기 처리소자의 기능은 곱셈이거나 덧셈인 것을 특징으로 하는 필드 프로그래머블 프로세서.
  7. 제 6 항에 있어서, 곱셈 기능을 갖는 적어도 하나의 처리소자는 동기식 쉬트와 덧셈 작용을 이용하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  8. 상기 항들 중 어느 한 항에 있어서, 상기 처리소자는 동일그룹의 소자어레이에 구성되고, 각 그룹은 다른기능들의 처리소자들을 통합하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  9. 제 8 항에 있어서, 각 동일 그룹은 덧셈기능을 갖는 하나의 처리소자와 곱셈기능을 갖는 세 개의 처리소차로 구성된 것을 특징으로 하는 필드 프로그래머블 프로세서.
  10. 상기 항들 중 어느 한 항에 있어서, 상기 처리소자는 처리소자의 출력상의 데이터가 데이터 패킷을 완전히 전송하는데 걸리는 시간만큼 지연된 입력데이터와 내용이 동일하도록 지연시간을 갖는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  11. 상기 항들 중 어느 한 항에 있어서, 신호 컨덱터 어레이와 외부 제어 데이터소스 또는 도착지 사이에 제어데이터를 송신하는 수단을 더 포함하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  12. 상기 항들 중 어느 한 항에 있어서, 상기 수단은 처리소자내에서 이용될 수 있도록 저장 데이터값을 시리얼 포맷으로 변환하여 제공되는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  13. 상기 항들 중 어느 한 항에 있어서, 상기 데이터 패킷은 제어플래그를 포함하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  14. 제 13 항에 있어서, 처리소자사이로 통과된 데이터 패킷은 데이터가 전송되고, 적어도 몇 개의 처리소자에 의해 수신된 데이터내의 에러를 정정하도록 수단이 제공되는 처리소자내에서 상술적 동작으로 부터의 에러를 표시하는 제어플래그를 포함하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  15. 제 14 항에 있어서, 상기 처리소자는 고정 포인트 처리를 이용하여 산술동작을 수행하고, 제어데이터에 의해 표시된 에러는 포지티브 및/또는 네거티브 오브플로우인 것을 특징으로 하는 필드 프로그래머블 프로세서.
  16. 제 14 항 또는 제 15 항에 있어서, 상기 프로세서 국부적으로 발생된 에러를 처리하는 수단을 포함하는 곱셈 처리소자를 포함하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  17. 상기 항들 중 어느 한항에 있어서, 상기 프로세서 처리소자에 전달되는 입력 아날로그 신호의 디지털 변환을 가능하게 하고, 상기 처리소자에 의해 발생된 디지털 신호의 아날로그 변환 출력을 가능하게 하는 신호 컨덱터에 연\결된 아날로그-디지털 및 디지털-아날로그 변환기를 포함하는 것을 특징으로 하는 필드 프로그래머블 프로세서.
  18. 처리소자 어레이;
    상기 처리소자에 인접하여 확장된 신호 컨덱터 어레이; 상기 처리소자를 중간접속하도록 인접신호컨덱터에 상기 처리소자를 선택적으로 접속시키는 스위칭수단; 소정처리소자 중간접속을 나타내는 프로그램 데이터를 저장하는 수단;
    상기 소정처리수단 중간접속을 달성하도록 저장된 프로그램데이터에 따라 스위칭수단을 제어하는 수단;
    상기 중간접속 처리소자들 사이에서 패킷 데이터를 전송하는 수단;
    종속소자에 있는 소자의 출력에서 나타나는 에러를 처리하는 수단;으로 구성된 필드 프로그래머블 프로세서.
  19. 첨부된 도면을 참조하여 대체로 기재된 바와 같은 것을 특징으로 하는 필드 프로그래머블 프로세서.
KR1019980710015A 1996-06-07 1997-06-06 필드 프로그래머블 프로세서 KR20000016431A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9611994.6A GB9611994D0 (en) 1996-06-07 1996-06-07 A field programmable processor
GB9611994.6 1996-06-07

Publications (1)

Publication Number Publication Date
KR20000016431A true KR20000016431A (ko) 2000-03-25

Family

ID=10794960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980710015A KR20000016431A (ko) 1996-06-07 1997-06-06 필드 프로그래머블 프로세서

Country Status (8)

Country Link
US (1) US6449708B2 (ko)
EP (2) EP0976059B1 (ko)
JP (1) JP2000512097A (ko)
KR (1) KR20000016431A (ko)
AU (1) AU3038897A (ko)
DE (1) DE69711457T2 (ko)
GB (1) GB9611994D0 (ko)
WO (1) WO1997046948A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8487653B2 (en) * 2006-08-05 2013-07-16 Tang System SDOC with FPHA and FPXC: system design on chip with field programmable hybrid array of FPAA, FPGA, FPLA, FPMA, FPRA, FPTA and frequency programmable xtaless clockchip with trimless/trimfree self-adaptive bandgap reference xtaless clockchip
EP0858168A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor array
EP0858167A1 (en) 1997-01-29 1998-08-12 Hewlett-Packard Company Field programmable processor device
DE69834942T2 (de) 1997-12-17 2007-06-06 Panasonic Europe Ltd., Uxbridge Vorrichtung zum Multiplizieren
EP0924602B1 (en) * 1997-12-17 2009-10-28 Panasonic Corporation Instruction masking in providing instruction streams to a processor
DE69827589T2 (de) 1997-12-17 2005-11-03 Elixent Ltd. Konfigurierbare Verarbeitungsanordnung und Verfahren zur Benutzung dieser Anordnung, um eine Zentraleinheit aufzubauen
DE69841256D1 (de) 1997-12-17 2009-12-10 Panasonic Corp Befehlsmaskierung um Befehlsströme einem Prozessor zuzuleiten
US7315764B1 (en) * 2000-06-14 2008-01-01 Marvell International Ltd Integrated circuit, method, and computer program product for recording and reproducing digital data
US7778736B2 (en) 2000-06-14 2010-08-17 Marvell International Ltd. Apparatus, method, and computer program for sprinkler control
US7457676B1 (en) * 2000-06-14 2008-11-25 Marvell International Ltd. Vehicle for recording and reproducing digital data
US7577247B1 (en) 2000-06-14 2009-08-18 Marvell International Ltd. Apparatus and method for telephone, intercom, and clock
US7298252B1 (en) * 2000-06-14 2007-11-20 Marvell International Ltd. Apparatus, method, and computer program for an alarm system
US7546172B1 (en) * 2000-06-14 2009-06-09 Marvell International Ltd. Apparatus, method, and computer program product for recording and reproducing digital data
AU2001289737A1 (en) * 2000-07-24 2002-02-05 Pact Informationstechnolgie Gmbh Integrated circuit
EP1417590A2 (en) * 2000-10-02 2004-05-12 Altera Corporation (a Delaware Corporation) Programmable logic integrated circuit devices including dedicated processor components
JP4750313B2 (ja) * 2001-05-31 2011-08-17 キヤノン株式会社 信号処理回路
TWI234737B (en) * 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
US7212528B2 (en) * 2001-12-21 2007-05-01 Alcatel Canada Inc. System and method for reassembling packets in a network element
US20040225483A1 (en) * 2003-02-24 2004-11-11 Michal Okoniewski Fdtd hardware acceleration system
US7853632B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Architectural floorplan for a digital signal processing circuit
US7472155B2 (en) * 2003-12-29 2008-12-30 Xilinx, Inc. Programmable logic device with cascading DSP slices
US7853634B2 (en) 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a SIMD circuit
US7480690B2 (en) 2003-12-29 2009-01-20 Xilinx, Inc. Arithmetic circuit with multiplexed addend inputs
US8495122B2 (en) * 2003-12-29 2013-07-23 Xilinx, Inc. Programmable device with dynamic DSP architecture
US7840630B2 (en) 2003-12-29 2010-11-23 Xilinx, Inc. Arithmetic logic unit circuit
US7853636B2 (en) * 2003-12-29 2010-12-14 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit for convergent rounding
US7567997B2 (en) * 2003-12-29 2009-07-28 Xilinx, Inc. Applications of cascading DSP slices
US7865542B2 (en) * 2003-12-29 2011-01-04 Xilinx, Inc. Digital signal processing block having a wide multiplexer
JP4664311B2 (ja) * 2003-12-29 2011-04-06 ザイリンクス インコーポレイテッド カスケード接続するdspスライスを備えた集積回路
US7860915B2 (en) 2003-12-29 2010-12-28 Xilinx, Inc. Digital signal processing circuit having a pattern circuit for determining termination conditions
US7849119B2 (en) 2003-12-29 2010-12-07 Xilinx, Inc. Digital signal processing circuit having a pattern detector circuit
US7870182B2 (en) 2003-12-29 2011-01-11 Xilinx Inc. Digital signal processing circuit having an adder circuit with carry-outs
US7840627B2 (en) * 2003-12-29 2010-11-23 Xilinx, Inc. Digital signal processing circuit having input register blocks
US7467175B2 (en) * 2003-12-29 2008-12-16 Xilinx, Inc. Programmable logic device with pipelined DSP slices
US7882165B2 (en) * 2003-12-29 2011-02-01 Xilinx, Inc. Digital signal processing element having an arithmetic logic unit
US7467177B2 (en) * 2003-12-29 2008-12-16 Xilinx, Inc. Mathematical circuit with dynamic rounding
US7844653B2 (en) 2003-12-29 2010-11-30 Xilinx, Inc. Digital signal processing circuit having a pre-adder circuit
JP2006172219A (ja) * 2004-12-16 2006-06-29 Toshiba Corp 半導体集積回路の自動設計装置、半導体集積回路の自動設計方法、及び半導体集積回路の自動設計プログラム
FR2935059B1 (fr) * 2008-08-12 2012-05-11 Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
US8479133B2 (en) 2009-01-27 2013-07-02 Xilinx, Inc. Method of and circuit for implementing a filter in an integrated circuit
US8543635B2 (en) 2009-01-27 2013-09-24 Xilinx, Inc. Digital signal processing block with preadder stage
US9519486B1 (en) * 2012-11-21 2016-12-13 Xilinx, Inc. Method of and device for processing data using a pipeline of processing blocks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857109A (en) * 1992-11-05 1999-01-05 Giga Operations Corporation Programmable logic device for real time video processing
JP3308770B2 (ja) * 1994-07-22 2002-07-29 三菱電機株式会社 情報処理装置および情報処理装置における計算方法
US5600845A (en) * 1994-07-27 1997-02-04 Metalithic Systems Incorporated Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor

Also Published As

Publication number Publication date
EP1229453A2 (en) 2002-08-07
GB9611994D0 (en) 1996-08-07
DE69711457T2 (de) 2002-11-14
EP0976059A1 (en) 2000-02-02
US20020019925A1 (en) 2002-02-14
JP2000512097A (ja) 2000-09-12
DE69711457D1 (de) 2002-05-02
EP0976059B1 (en) 2002-03-27
US6449708B2 (en) 2002-09-10
WO1997046948A1 (en) 1997-12-11
AU3038897A (en) 1998-01-05

Similar Documents

Publication Publication Date Title
KR20000016431A (ko) 필드 프로그래머블 프로세서
US5479123A (en) Externally programmable integrated bus terminator for optimizing system bus performance
JPS60222949A (ja) モジユ−ルの存在センサ
US6732130B2 (en) Fast hadamard transform device
US6009259A (en) Emulation System
EP0213844B1 (en) Bit-sliced, dual-bus design of integrated circuits
US20060064449A1 (en) Operation apparatus and operation system
JP3095756B2 (ja) 自己較正a―dおよびd―a変換器
US7006527B1 (en) Multistage pipeline bit conversion
US6415429B1 (en) Field programmable analogue processor
JP2517657B2 (ja) 電子機器の制御方法及びその装置
JPS6029029A (ja) Ad変換器
JP3413739B2 (ja) 中継装置
EP0680240A2 (en) Switching device and switching system using plurality of such switching devices
CN106505539A (zh) 一种电流采样电路和过流保护电路及其控制方法
EP0089827A1 (en) Apparatus for processing signals and for selectively transmitting input signals
JPH06112769A (ja) ディジタルフィルタ
JPH0454532A (ja) パリティ計算回路
JPS6327891B2 (ko)
Carlac'h et al. A Systolic Processor for a Digital Video Matrix Operator
JPH06268479A (ja) デジタルフィルタ
Woods et al. Systolic array architectures for parameterised multiplexed IIR filters
CA2253028C (en) Method and apparatus for the reliable transition of status signals from an interface device when using a localized sampling architecture
JPH0454556A (ja) 並列計算機
JPS6339045A (ja) 誤り検出装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application