KR19990063481A - 필터에서의 계수 사용을 위한 멀티포트 레지스터파일 - Google Patents

필터에서의 계수 사용을 위한 멀티포트 레지스터파일 Download PDF

Info

Publication number
KR19990063481A
KR19990063481A KR1019980058709A KR19980058709A KR19990063481A KR 19990063481 A KR19990063481 A KR 19990063481A KR 1019980058709 A KR1019980058709 A KR 1019980058709A KR 19980058709 A KR19980058709 A KR 19980058709A KR 19990063481 A KR19990063481 A KR 19990063481A
Authority
KR
South Korea
Prior art keywords
register file
multiport
memory
multiport register
means comprises
Prior art date
Application number
KR1019980058709A
Other languages
English (en)
Other versions
KR100617388B1 (ko
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 KR19990063481A publication Critical patent/KR19990063481A/ko
Application granted granted Critical
Publication of KR100617388B1 publication Critical patent/KR100617388B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0264Filter sets with mutual related characteristics
    • H03H17/0266Filter banks
    • H03H17/0269Filter banks comprising recursive filters

Landscapes

  • Complex Calculations (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Abstract

어댑티브 FIR 필터의 계수들을 저장하는데 사용하는 멀티포트 레지스터 파일은 계산 능력, 예컨대 계수값들 또는 계수값들로부터 유도된 값들에 대해 계산을 수행하는 능력 또는 그러한 값들에 수행되는 연산들을 제어하는 능력을 포함한다. 또한, 멀티포트 레지스터 파일은 곱셈 프로세스의 속도를 증가시키는 특별한 인코더, 예를 들어 소위 부스(Booth) 인코더를 포함할 수 있다. 유사하게, 멀티포트 레지스터 파일은 계수들의 표현을 변화시키는 컨버터, 예를 들어 2의 보수/부호화-크기 컨버터(2's complement to sign-magnitude converter)를 포함할 수 있다. 멀티포트 레지스터 파일에서 수행되는 모든 계산은 필터링 또는 계수 갱신의 임계 경로(critical path) 외부에서 수행된다. 그러한 개선된 멀티포트 레지스터 파일을 사용함으로써, 더 낮은 전력 소비로 더 빠르게 동작하는 어댑티브 FIR 필터가 구성될 수 있다.

Description

필터에서의 계수 사용을 위한 멀티포트 레지스터 파일
본 발명은 유한 임펄스 응답 (FIR) 필터(finite impulse response filter)에 관한 것이고, 좀 더 구체적으로는 승산기마다 다수의 계수들을 가진 타임 멀티플렉스된 승산기를 사용하는 어댑티브(adaptive) FIR 필터에 관한 것이다.
종래 어댑티브 유한 임펄스 응답(FIR) 필터는 계수들을 재순환시키기 위해 고정된 지연 라인(delay lines)들을 이용한다. 그러한 지연 라인들은 일련의 엣지 트리거드 플립 플롭을 사용하여 구현된다. 그 결과, 동작에서, 종래 지연 라인들은 요구되는 것보다 더 많은 전력을 소비한다.
임시 출원으로써 동일 출원인으로 지정된, 함께 계류중인 미국 특허 출원 시리얼 번호 08/937655에서, 멀티포트 레지스터 파일은 계수 저장기를 구현하고 필터 동작에 필요한 계수들에 지연을 제공하기 위하여 이용된다. 멀티포트 레지스터 파일은 적어도 하나의 판독 포트와 적어도 하나의 기록 포트를 가지고, 일반적으로 작은, 예를 들어 4 워드의 용량을 가진 메모리이다. 멀티포트 레지스터 파일에 기록된 데이터는 의도하는 순서로 상기 레지스터 파일로부터 판독될 수 있다. 멀티포트 레지스터 파일은 부가의 출력 포트들을 가질 수 있는데, 멀티포트 레지스터 파일에 저장된 데이터는 상기 부가의 출력 포트들로부터 나머지 출력 포트의 순서에 관계없이 의도하는 순서로 판독될 수 있다. 계수들에 관해서, 각 멀티포트 레지스터 파일은 하나의 출력 포트로부터 FIR 필터의 관련된 단의 승산-가산 부분으로 데이터를 입력한다. 어댑티브 필터에 관해서, 각 멀티포트 레지스터 파일은 또다른 출력으로부터 그 계수에 대한 갱신 유닛으로 데이터를 입력한다. 이러한 출력 포트들은 동일할 수 있고, 그렇지 않다면, 그 출력 포트들에 공급된 데이터는 동일할 수 있다는 것을 주목하라. 계수 사용을 위해서, 함께 계류중인 출원에서 설명된 룩스루(lookthrough) 모드에서 멀티포트 레지스터 파일을 동작시킬 필요가 없다.
FIR 필터가 갱신가능한 계수들을 가진 어댑티브 필터일 때, 새로운 계수값들을 계산하는 갱신 유닛을 가질 필요가 있다. 그러한 갱신 유닛은 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛(overflow/underflow detection and/or saturation unit)을 포함하거나 연관되는데, 상기 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛은 오버플로우 또는 언더플로우가 발생할 때 일어날 수 있는 필터에서의 카타스트로피 에러(catastrophic errors)의 방지에 사용된다. 그러한 에러들은 이진수를 사용하는 산술을 수행하는 종래 기술의 특성 때문에 발생할 수 있다. 예를 들어, 2의 보수 표현을 사용하여 표현된 두 개의 큰 양수가 더해질 때, 그 결과는 음수로 나올 수 있고, 이것은 명백히 에러이다. 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛은 그것의 구현에 따라 출력으로써 다음중의 하나를 공급하므로써 이러한 문제를 방지한다. 1) 오버플로우 또는 언더플로우가 발생했는지를 표시하는 플래그, 2) 새츄레이션 값으로 표현될 수 있는 최대 양수 또는 음수 값을 표현하는 값, 또는 3) 계산의 실제 결과. 이러한 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛은 계수 갱신 회로의 임계 경로(critical path)에 존재하는데, 즉, 그것은 갱신이 수행될 수 있는 최대 속도를 결정하는 경로내에 있다. 따라서, 오버플로우/언더플로우 검출 및/또는 새츄레이션 프로세스가 수행될 수 있는 속도는 갱신 프로세스의 속도를 제한한다.
종래의 레지스터 파일을 개선하여 보다 더 낮은 전력 소비로 더 빠르게 동작하는 어댑티브 FIR 필터를 구현하기 위한 것이다.
도 1은 본 발명의 원리에 따라 유한 임펄스 응답 (FIR) 필터의 계수들을 저장하기 위해 사용될 수 있는 예시적 멀티포트 레지스터 파일을 보여주는 도면.
도 2는 계수 갱신 유닛과 계수 클럭킹에 따라 도 1의 멀티포트 레지스터 파일의 단순화된 도면.
도 3은 도 1에 도시된 멀티포트 레지스터 파일의 단순화도의 동작에 대한 타이밍 다이어그램.
도 4는 도 1의 멀티포트 레지스터 파일에서 사용되는 오버플로우/언더플로우 검출 및/또는 새츄레이션(saturation) 유닛의 실시예를 보여주는 도면.
우리는 개선된 멀티포트 레지스터 파일이 어댑티브 FIR 필터에서 계수들을 저장하는데 사용될 수 있다는 것을 알아냈다. 본 발명의 원리에 따라서, 선행 함께 계류중인 출원의 멀티포트 레지스터 파일은 계산 능력 예컨대, 계수 값들 또는 그것으로부터 유도된 값들에 대해서 계산을 수행하고, 그 계수들에 수행되는 연산들을 제어하는 능력을 포함시키므로써 개선된다. 본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일은 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛을 포함한다. 본 발명의 또다른 특징에 따라서, 멀티포트 레지스터 파일은 곱셈 프로세스의 속도를 증가시키기 위해 사용되는 특별한 인코더, 예컨대 부스(Booth) 인코더를 포함한다. 본 발명의 또다른 특징에 따라서, 멀티포트 레지스터 파일은 계수들의 표현을 변경하기 위한 컨버터, 예컨대 2의 보수/부호화-크기 컨버터를 포함한다. 본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일에서 수행되는 모든 계산은 필터링 또는 계수 갱신의 임계 경로 외부에서 수행된다. 양호하게는, 그러한 개선된 멀티포트 레지스터 파일을 사용해서, 함께 계류중인 선행 출원의 레지스터 파일보다 더 낮은 전력 소비로 더 빠르게 동작하는 어댑티브 FIR 필터가 구성될 수 있다.
도 1은 본 발명의 원리에 따라 유한 임펄스 응답 필터(FIR)의 단의 계수들을 저장하는데 사용될 수 있는 예시적 멀티포트 레지스터 파일(multiported register file)을 도시한다. 멀티포트 레지스터 파일은 적어도 하나의 판독 포트(read port)와 하나의 기록 포트(write port)를 가지고, 일반적으로 작은, 예를 들어 4 워드의 용량을 가진 메모리이다. 멀티포트 레지스터 파일로 기록된 데이터는 의도한 순서로 상기 레지스터 파일로부터 판독될 수 있다. 멀티포트 레지스터 파일은 부가의 출력 포트를 가질 수 있는데, 이러한 출력 포트로부터 레지스터 파일에 저장된 데이터는 의도하는 순서로 또한 다른 출력 포트의 순서에 관계없이 판독될 수 있다.
좀더 상세하게, 도 1은 메모리 로케이션(103-1)부터 (103-H)까지 가지는 메모리(103)와, 계산 유닛(105)과, 래치(107-1)부터 래치(107-K)까지 포함하는 래치(107)를 포함하는 멀티포트 레지스터 파일(101)을 도시한다.
비록, 필터 설계자의 판단에 따라 임의적으로 선택가능하지만, 멀티포트 레지스터 파일의 메모리 로케이션의 수, H는 일반적으로 작은 수, 예컨대 4 이다. H를 작은 값으로 하는 것은, 광대역 엑세스에서 사용하는 모뎀에서 발견되는 것처럼, 시스템에서 가장 빠른 클럭 주파수의 한 자리수 내에 있는 샘플 속도를 가진 신호들을 처리하는데 FIR 필터를 구현하는 다른 대안들과 비교하여 효율적인 FIR 필터 구현을 가능하게 한다.
데이터는 기록 포트 W를 통해서 멀티포트 레지스터 파일(101)에 기록되고, 이것은 N 데이터 라인들을 포함한다. 기록 포트 W에 제공되는 데이터가 기록되는 메모리 로케이션(103)중의 특정한 한 로케이션은 기록 어드레스 포트 WA에 의해 특정된다.
데이터는 판독 포트 R1내지 RK를 포함하는 판독 포트들 R의 어느것을 통해서 멀티포트 레지스터 파일(101)로부터 판독된다. 판독 포트 R1내지 RK의 각각은 각각의 데이터 라인들의 수 M1내지 MK를 포함한다. 요구된다면, 멀티포트 레지스터 파일(101)에 저장된 값의 덜 정확한 표현이 멀티포트 레지스터 파일로부터 판독될 수 있다. 데이터가 판독 포트 R1내지 RK로의 제공을 위해서 레지스터 파일로부터 판독되는 메모리 로케이션(103)의 특정한 한 로케이션은, 대응하는, 예컨대 번호로 매겨진 판독 어드레스 포트 RA1내지 RAK중의 하나로 공급되는 어드레스에 의해 특정된다. 출력이 판독 포트 R1내지 RK의 어느 것에 나타나게 하기 위해 어떠한 판독 인에이블 신호도 필요하지 않다. 단순히 적절한 판독 어드레스를 공급하는 것만으로도 대응 출력을 발생시키기에 충분하다. 일반적으로, 기록 어드레스 WA와 판독 어드레스 RA1내지 RAK는 동일한 수의 어드레스 라인들 L을 가진다.
언제 데이터가 멀티포트 레지스터 파일(101)로 기록될 지, 그리고 데이터가 멀티포트 레지스터 파일(101)로 기록될 지는 기록 인에이블 신호 WE의 값의 기능이다. WE가 제 1 값일 때, 데이터는 멀티포트 레지스터 파일(101)로 기록된다. WE가 상기 제 1 값의 보수 값 일때는 데이터가 멀티포트 레지스터 파일(101)에 기록되지 않는다.
데이터는 멀티포트 레지스터 파일(101)로부터 동시에 기록, 판독될 수 있다. 좀더 구체적으로, 데이터는 동시에 메모리 로케이션(103)의 동일한 특정한 한 로케이션으로부터 기록되고 판독될 수 있다. 따라서, 제 1 값이 메모리 로케이션(103)의 특정한 한 로케이션에 기록될 수 있고, 동시에 다른 값이 바로 그 동일한 특정 로케이션으로부터 판독되어 판독 포트 R1내지 RK의 하나 이상으로 공급될 수 있다.
래치(107)는, 여기에서 완전히 설명되는 것처럼 참조로 넣어진 N. Weste 와 K. Eshraghian 저, Addison Wesley, 1992, CMOS VLSI 설계의 원리, 제 2판, 19 내지 21쪽 의해 설명되는 종래의 레벨 센시티브 래치들(level sensitive latches)이다. 따라서, 메모리 로케이션(103)중의 어느 하나는 마스터 래치로 기능할 수 있는 반면에, 래치(107)중의 어느 하나는 슬레이브 래치로 기능할 수 있어서, 그 둘 사이에 위치된 계산 유닛(105)과 함께 엣지 트리거드 플립-플롭(edge triggered flip-flop)을 형성한다.
도 2는 멀티포트 레지스터 파일(101)의 단순화된 도면을 보여주는데, 여기서는 단지 2개의 메모리 로케이션(103)이 단일 판독 포트와 단일 기록 포트와 함께 도시된다. 또한, 메모리(103)과 래치(107)사이의 동작과 데이터 전송을 제어하는데 사용되는 클럭 신호(CLK)와 계수 갱신 유닛(109)이 도시되어 있다. 도 2에서, 메모리(103)는 포지티브 레벨 센시티브한 반면, 래치(107)는 네거티브 레벨 센시티브하다. 그들은 함께 네거티브 엣지 트리거드 플립-플롭을 형성한다.
본 발명의 원리에 따라서, 계산 유닛(105)은 적어도 하나의 계수 값을 취해서 그것에 어떠한 형태의 변환을 수행하거나 또는 그 계수 값을 변화시키지 않고 전달한다. 계산 유닛(105)은 메모리 로케이션(103)과 래치(107)사이에 위치하여, 계산 유닛(105)은 메모리 로케이션(103)으로부터 계수 값들을 수신할 수 있고, 그것의 출력을 래치(107)의 하나 이상으로 공급할 수 있다.
본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일에서 수행되는 모든 계산은 필터링 또는 계수 갱신의 임계 경로(critical path)의 외부에서 수행된다. 계산 유닛(105)은 필터링 또는 계수 갱신의 임계 경로의 외부에 있는데, 이는 계산 유닛(105)이, 메모리(103)에서 현재 어드레스된 로케이션인 마스터 래치가 저장된 정보를 포함하는 시간과 슬레이브 래치, 즉 래치(107)가 마스터 래치로부터 정보를 래치하는 시간사이의 소위 대드 타임(dead time)에서 그것의 기능을 수행하기 때문이다. 이것은 클럭 신호가 래치(107)에 공급되는 것보다 더 일찍 판독 어드레스 신호가 판독 어드레스 포트 RA1내지 RAK로 공급되기 때문에 가능하다.
도 3은 도 2에 도시된 멀티포트 레지스터 파일(101)의 단순화된 도의 동작에 대한 타이밍 다이어그램을 도시한다. 도 3은 래치(107)로부터의 신호들인 CLK, RA, WA, OUTPUT를 도시한다. 신호들 CLK, RA, WA, OUTPUT은 멀티포트 레지스터 파일(101)로 공급되고, 이것은 신호 OUTPUT를 발생시킨다는 것을 주목하라. 판독 어드레스 신호 RA는 기록 어드레스 신호 WA보다 2분의 1 사이클 앞서 멀티포트 레지스터 파일(101)로 공급된다. CLK의 모든 포지티브 엣지(positive edge) 바로 후에 변화하는 신호 RA에 응답해서, 데이터는 메모리(103)로부터 나오고, CLK의 네거티브 엣지(negative edge)에 앞서 계산 유닛(105)에 의해 처리된다. 요약하면, 그것은 계산 유닛(105)이 그것의 요구되는 계산을 수행할 충분한 시간이 존재한다는 것을 주목하라.
CLK의 네거티브 엣지에서, 래치(107)는 계산 유닛(105)의 출력으로써 공급된 처리된 데이터를 래치한다. 상기 데이터는 그다음 멀티포트 레지스터 파일(101)을 사용하여 구현되고 있는 필터의 승산기(도시되지 않음)뿐만 아니라 갱신 유닛(109)에도 공급된다. 다음 포지티브 엣지의 바로 직후, RA는 변화하고, 또다른 계수는 메모리 로케이션(103)의 하나로부터 판독된다. 반면에, 이전 네거티브 엣지에서 래치되었던 출력 데이터는 래치(107)로부터 여전히 이용가능하다. CLK의 다음 네거티브 엣지에서, 갱신 유닛(109)의 출력으로써 공급된 갱신된 데이터는 WA에 의해 특정된 로케이션으로 메모리(103)에 다시 기록되고, 이것은 CLK의 네거티브 엣지의 바로 직후에 변화한다.
본 발명의 한 실시예에서, 계산 유닛(105)은 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛이다. 도 4는 계산 유닛(105)이 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛(211)으로 구현되는 예시적 실시예를 도시한다. 오버플로우/언더플로우 새츄레이션 유닛(211)은 새츄레이션 검출 유닛(601)에 연결된 오버플로우/언더플로우 검출 유닛(501)을 포함한다.
오버플로우/언더플로우 검출 유닛(501)은, 수신된 입력, G 비트의 정도(precision)를 가진 하나의 수가 G보다 작은 Y 비트의 정도(precision)로 표현될 수 있는지를 결정하는 것에 의해서와 같은, 예를 들어, 종래의 잘 알려진 방법으로 동작할 수 있다. 상기 수신된 입력이 G 비트의 정도를 가진 수이고, 입력이 Y 비트의 정도로 표현될 수 있다면, 어떠한 언더플로우나 오버플로우도 발생하지 않도록 결정된다. 따라서, 입력 수의 값은 단지 Y 비트의 정도를 사용하여 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛(211)의 출력으로써 공급된다. 그렇지 않고, 수의 크기가 너무 커서 Y 비트의 정도만으로는 표현될 수 없다면, 언더플로우 또는 오버플로우가 발생하도록 결정된다. 오버플로우 또는 언더플로우가 발생하면, 대응하는 플래그가 세트되고, 출력으로써 공급된다. 오버플로우 또는 언더플로우의 어느 것이 발생했는지는, 입력이 Y비트의 정도로 표현될 수 있는 최대값보다 큰지 또는 Y 비트의 정도로 표현될 수 있는 최소값보다 작은지에 의해 결정된다.
새츄레이션 검출 유닛(601)은 예를 들어, 종래의 잘 알려진 방법으로 동작한다. 예를 들어, 새츄레이션 검출 유닛(601)은 입력으로써 Y비트의 정도를 가진 수와, 오버플로우 플래그와 언더플로우 플래그의 값을 수신한다. 만약, 오버플로우 플래그가 세트되면, 새츄레이션 검출 유닛(601)은 출력으로써 Y 비트의 정도를 사용하여 표현될 수 있는 최대값을 공급한다. 만약, 언더플로우 플래그가 세트되면, 새츄레이션 검출 유닛(601)은 Y비트의 정도를 사용하여 표현될 수 있는 최소값을 출력으로 공급한다. 만약 오버플로우 플래그 또는 언더플로우 플래그의 어느 것도 세트되지 않는다면, 새츄레이션 검출 유닛(601)은 Y 비트의 정도를 사용하여 입력값을 출력으로 공급한다.
오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛(211)의 결과 동작은 그것이 G 비트의 정도를 가진 수를 입력으로 수신하고, G가 Y비트의 정도로 표현될 수 있을 때, G보다 작은 Y비트의 정도를 사용하여 G의 실제값을 출력으로써 공급하거나 또는 수의 크기가 너무 커서 Y비트의 정도로 표현될 수 없을 때 Y비트의 정도를 사용하여 표현될 수 있는 최대값 또는 최소값을 출력으로써 공급한다. 최대값 또는 최소값이 출력으로 공급될 지는, 입력이 Y비트의 정도로 표현될 수 있는 최대값보다 더 큰지 또는 Y비트의 정도로 표현될 수 있는 최소값보다 더 작은지의 기능으로써 결정된다.
본 발명의 한 특징에 따라서, 오버플로우 플래그 및/또는 언더플로우 플래그의 값은 계산 유닛(105)으로부터의 출력으로 공급될 수 있고, 그 값들은 멀티포트 레지스터 파일(101)로부터의 출력으로써 외부로 공급될 수도 있다. 오버플로우 플래그 및/또는 언더플로우 플래그의 값들이 멀티포트 레지스터 파일(101)로부터 외부로 공급된다면, 래치(107)는 이러한 정보를 또한 전송할 수 있도록 증가되어 질 필요가 있다.
본 발명의 또다른 실시예에서, 계산 유닛(105)은 데이터 컨버터이다. 예를 들어, 계산 유닛(105)은 곱셈 프로세스의 속도를 증가시키기 위해 사용되는 특별한 인코더, 예를 들어 소위 부스(Booth) 인코더가 될 수 있다. 부스 인코더는 여기에서 완전히 설명되는 것처럼 참조로 넣어진 N. Weste 와 K. Eshraghian 저, Addison Wesley, 1992, CMOS VLSI 설계의 원리, 제 2판, 547 내지 554쪽 의해 설명된다. 부스 인코더는 거기에서 부스 레코더로 언급되는 것을 유의하라.
본 발명의 또다른 예시적 실시예에서, 멀티포트 레지스터 파일은 계수들의 표현을 변화시키는 컨버터, 예를 들어 2의 보수/부호화-크기 컨버터를 포함한다.
계산 유닛(105)에 의해 수행되는 다수의 기능들이 있을 수 있고, 이러한 기능들은 실질적으로 동시에, 또는 계산이 대드 타임동안에 완료되는 한 순차적으로, 다른 계수들에 대해서 수행될 수 있다는 것을 주목하라. 수행되는 기능들은 클럭 사이클로부터 클럭 사이클까지 또한 변화할 수 있다.
전술한 것은 단지 본 발명의 원리들을 예시한다. 따라서, 당업자들은, 비록 여기에서 외재적으로 설명되거나 보여지지 않더라도, 본 발명의 원리를 구현하고, 본 발명의 정신과 범위내에 포함되는 다양한 배열들을 변경할 수 있다는 것을 이해해야 할 것이다.
본 발명의 개선된 멀티포트 레지스터 파일을 사용해서, 함께 계류중인 선행 출원의 레지스터 파일보다 더 낮은 전력 소비로 더 빠르게 동작하는 어댑티브 FIR 필터가 구성될 수 있다.

Claims (40)

  1. 어댑티브 FIR 필터(adaptive FIR filter)에 사용하는 계수들을 저장하는 멀티포트 레지스터 파일(multiported register file)에 있어서,
    계수 값들을 저장하는 메모리와,
    출력 래치와,
    상기 계수값들과 상기 계수값들에서 유도된 값들을 포함하는 집합의 하나 이상의 값들에 대해서 연산들을 수행하는 계산 수단을 포함하며, 상기 계산 수단은 상기 계수값들을 갱신하거나 또는 상기 필터에 의해 필터링하기 위해 임계 경로(critical path)의 외부에 있는, 멀티포트 레지스터 파일.
  2. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 오버플로우/언더플로우 검출 유닛(overflow/underflow detection unit)을 포함하는, 멀티포트 레지스터 파일.
  3. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 새츄레이션 유닛(saturation unit)을 포함하는, 멀티포트 레지스터 파일.
  4. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛(overflow/underflow detection and/or saturation unit)을 포함하는, 멀티포트 레지스터 파일.
  5. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 인코더를 포함하는, 멀티포트 레지스터 파일.
  6. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 부스 인코더(Booth encoder)를 포함하는, 멀티포트 레지스터 파일.
  7. 제 1 항에 있어서, 상기 계산 수단은 상기 계수들을 제 1 표현으로부터 제 2 표현으로 변환시키는 적어도 하나의 컨버터를 포함하는, 멀티포트 레지스터 파일.
  8. 제 1 항에 있어서, 상기 계산 수단은 적어도 하나의 2의 보수/부호화-크기 컨버터(2's complement to sign-magnitude converter)를 포함하는, 멀티포트 레지스터 파일.
  9. 제 1 항에 있어서, 상기 계산 수단은 상기 계수의 캐리-세이브 포맷 표현(carry-save format representation)을 2의 보수 표현(2's complement representation)으로 변환시키는 적어도 하나의 가산기를 포함하는, 멀티포트 레지스터 파일.
  10. 제 1 항에 있어서, 상기 계산 수단은 상기 메모리와 상기 출력 래치사이에서 결합되는, 멀티포트 레지스터 파일.
  11. 제 1 항에 있어서, 상기 메모리와 상기 래치는 레지스터를 형성하는, 멀티포트 레지스터 파일.
  12. 어댑티브 FIR 필터에서 사용하는 계수들을 저장하는 멀티포트 레지스터 파일에 있어서,
    계수값들을 저장하는 메모리와,
    출력 래치와,
    상기 계수값들로부터 유도된 값들에 대해서 연산을 수행하는 계산 수단을 포함하며, 상기 계산 수단은 상기 메모리와 상기 출력 래치사이에 결합되는, 멀티포트 레지스터 파일.
  13. 제 12 항에 있어서, 상기 계수 값들로부터 유도된 상기 값들은 상기 계수값들과 동일한, 멀티포트 레지스터 파일.
  14. 제 12 항에 있어서, 상기 계산 수단은 적어도 하나의 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛을 포함하는, 멀티포트 레지스터 파일.
  15. 제 12 항에 있어서, 상기 계산 수단은 적어도 하나의 인코더를 포함하는, 멀티포트 레지스터 파일.
  16. 제 12 항에 있어서, 상기 계산 수단은 적어도 하나의 부스 인코더를 포함하는, 멀티포트 레지스터 파일.
  17. 제 12 항에 있어서, 상기 계산 수단은 상기 계수들을 제 1 표현으로부터 제 2 표현으로 변환시키는 적어도 하나의 컨버터를 포함하는, 멀티포트 레지스터 파일.
  18. 제 12 항에 있어서, 상기 계산 수단은 적어도 하나의 2의 보수/부호화-크기 컨버터를 포함하는, 멀티포트 레지스터 파일.
  19. 제 12 항에 있어서, 상기 계산 수단은 상기 계수의 캐리-세이브 포맷 표현을 2의 보수 표현으로 변환시키는 적어도 하나의 가산기를 포함하는, 멀티포트 레지스터 파일.
  20. 제 12 항에 있어서, 상기 계산 수단은 상기 메모리와 상기 출력 래치사이에 결합되는, 멀티포트 레지스터 파일.
  21. 제 12 항에 있어서, 상기 메모리와 상기 래치는 레지스터를 형성하는, 멀티포트 레지스터 파일.
  22. 어댑티브 FIR 필터에 사용하는 계수들을 저장하는 멀티포트 레지스터 파일에 있어서,
    적어도 두 개의 메모리 로케이션으로서, 상기 각 메모리 로케이션은 계수를 저장하는, 적어도 두 개의 메모리 로케이션과,
    적어도 하나의 출력 래치와,
    상기 계수값들 또는 상기 계수값들로부터 유도된 값들에 대해서 연산들을 수행하는 계산 수단을 포함하며, 상기 메모리 로케이션들의 적어도 하나는 마스터 래치(master latch)로서 기능하고 상기 적어도 하나의 출력 래치는 슬레이브 래치(slave latch)로 기능하여, 상기 마스터 래치와 상기 슬레이브 래치는 상기 마스터 래치와 상기 슬레이브 래치사이에 위치된 상기 계산수단과 함께 엣지 트리거드 플립-플롭(edge triggered flip-flop)을 형성하는, 멀티포트 레지스터 파일.
  23. 제 22 항에 있어서, 상기 계산 수단은 적어도 하나의 오버플로우/언더플로우 검출 및/또는 새츄레이션 유닛을 포함하는, 멀티포트 레지스터 파일.
  24. 제 22 항에 있어서, 상기 계산 수단은 적어도 하나의 인코더를 포함하는, 멀티포트 레지스터 파일.
  25. 제 22 항에 있어서, 상기 계산 수단은 적어도 하나의 부스 인코더를 포함하는, 멀티포트 레지스터 파일.
  26. 제 22 항에 있어서, 상기 계산 수단은 상기 계수들을 제 1 표현으로부터 제 2 표현으로 변환시키는 적어도 하나의 컨버터를 포함하는, 멀티포트 레지스터 파일.
  27. 제 22 항에 있어서, 상기 계산 수단은 적어도 하나의 2의 보수/부호화-크기 컨버터를 포함하는, 멀티포트 레지스터 파일.
  28. 제 22 항에 있어서, 상기 계산 수단은 상기 계수의 캐리-세이브 포맷 표현을 2의 보수 표현으로 변환시키는 적어도 하나의 가산기를 포함하는, 멀티포트 레지스터 파일.
  29. 제 22 항에 있어서, 상기 계산 수단은 상기 메모리와 상기 출력 래치사이에 결합되는, 멀티포트 레지스터 파일.
  30. 제 22 항에 있어서, 상기 메모리와 상기 래치는 레지스터를 형성하는, 멀티포트 레지스터 파일.
  31. 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법에 있어서,
    메모리의 출력으로써 계수값을 공급하는 단계와,
    변환된 계수값을 생성하기 위해 상기 계수값에 대해 계산을 수행하는 단계와,
    상기 변환된 계수값을 래치에 래치시키는 단계를 포함하는 방법으로서,
    상기 공급하는 단계와 상기 래치시키는 단계는 상기 메모리와 상기 래치로부터 레지스터를 형성하도록 수행되는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  32. 제 31 항에 있어서, 상기 공급하는 단계와 상기 수행하는 단계와 상기 래치시키는 단계는 상기 레지스터 파일의 임계 경로(critical path) 외부에서 수행되는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  33. 제 31 항에 있어서, 상기 래치되어 변환된 계수값을, 상기 계수값이 상기 공급하는 단계에서 공급되어졌던 메모리 로케이션과 동일한 상기 메모리의 로케이션으로 저장하는 단계를 더 포함하는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  34. 제 31 항에 있어서, 상기 래치되어 변환된 계수값을, 상기 계수값이 상기 공급하는 단계에서 공급되어졌던 메모리 로케이션과 동일한 상기 메모리의 로케이션으로 저장하는 단계를 더 포함하고, 상기 공급하는 단계와 상기 수행하는 단계와 상기 래치시키는 단계와 상기 저장하는 단계는 상기 레지스터 파일의 임계 경로 외부에서 수행되는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  35. 제 31 항에 있어서, 상기 계산은 적어도 부스 인코딩을 포함하는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  36. 제 31 항에 있어서, 상기 계산은 적어도 오버플로우/언더플로우 검출을 포함하는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  37. 제 31 항에 있어서, 상기 계산은 적어도 새츄레이션 검출을 포함하는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  38. 제 31 항에 있어서, 클럭이 제 1 값을 가질 때 상기 공급하는 단계가 실질적으로 수행되고, 상기 클럭이 제 2 값을 가질 때 상기 래치시키는 단계가 수행되는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  39. 제 31 항에 있어서, 상기 계산은 상기 레지스터의 대드 타임(dead time)에서 수행되는, 어댑티브 FIR 필터에 사용하는 멀티포트 레지스터 파일과 관련하여 사용하는 방법.
  40. 어댑티브 FIR 필터에 사용하는 계수들을 저장하는 멀티포트 레지스터 파일에 있어서,
    계수값들을 저장하는 메모리와,
    출력 래치와,
    상기 계수값들의 하나 이상에 대해서 연산들을 수행하는 계산 수단을 포함하며, 상기 계산 수단은 상기 메모리와 상기 출력 래치사이에 결합되는, 멀티포트 레지스터 파일.
KR1019980058709A 1997-12-23 1998-12-22 필터에서의계수사용을위한멀티포트레지스터파일 KR100617388B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/996,868 US6542539B1 (en) 1997-12-23 1997-12-23 Multiported register file for coefficient use in filters
US?08/996,868? 1997-12-23
US08/996,868 1997-12-23

Publications (2)

Publication Number Publication Date
KR19990063481A true KR19990063481A (ko) 1999-07-26
KR100617388B1 KR100617388B1 (ko) 2007-04-25

Family

ID=25543385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980058709A KR100617388B1 (ko) 1997-12-23 1998-12-22 필터에서의계수사용을위한멀티포트레지스터파일

Country Status (8)

Country Link
US (1) US6542539B1 (ko)
EP (1) EP0928065B1 (ko)
JP (1) JP3540179B2 (ko)
KR (1) KR100617388B1 (ko)
CN (1) CN1235414A (ko)
BR (1) BR9804969A (ko)
CA (1) CA2254545A1 (ko)
DE (1) DE69800593T2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542539B1 (en) 1997-12-23 2003-04-01 Agere Systems Guardian Corp. Multiported register file for coefficient use in filters
WO2010025074A1 (en) * 2008-08-28 2010-03-04 Sandbridge Technologies, Inc. Latch-based implementation of a register file for a multi-threaded processor
GB2580160B (en) 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
US11301542B2 (en) * 2019-05-15 2022-04-12 Nxp B.V. Methods and apparatuses involving fast fourier transforms processing of data in a signed magnitude form

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3723911A (en) 1971-09-13 1973-03-27 Codex Corp Training adaptive linear filters
JPH0795671B2 (ja) 1986-06-03 1995-10-11 ソニー株式会社 デイジタルフイルタ
US5313551A (en) 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
JPH02222317A (ja) * 1989-02-23 1990-09-05 Lsi Rojitsuku Kk デジタルフィルタ
US4995031A (en) * 1989-06-19 1991-02-19 Northern Telecom Limited Equalizer for ISDN-U interface
US5477534A (en) * 1993-07-30 1995-12-19 Kyocera Corporation Acoustic echo canceller
US5930231A (en) * 1995-06-30 1999-07-27 Scientific-Atlanta, Inc. Block spectrum receiver for a broadband communications system
US5721696A (en) * 1995-08-28 1998-02-24 Motorola Inc. Method and system for performing an FIR filtering operation
US5657291A (en) 1996-04-30 1997-08-12 Sun Microsystems, Inc. Multiport register file memory cell configuration for read operation
US5777914A (en) * 1996-08-29 1998-07-07 Lucent Technologies Inc. Technique for reducing power consumption in digital filters
US6542539B1 (en) 1997-12-23 2003-04-01 Agere Systems Guardian Corp. Multiported register file for coefficient use in filters

Also Published As

Publication number Publication date
JPH11266142A (ja) 1999-09-28
EP0928065A3 (en) 1999-07-21
KR100617388B1 (ko) 2007-04-25
DE69800593D1 (de) 2001-04-19
CA2254545A1 (en) 1999-06-23
CN1235414A (zh) 1999-11-17
EP0928065A2 (en) 1999-07-07
US6542539B1 (en) 2003-04-01
BR9804969A (pt) 1999-11-23
DE69800593T2 (de) 2001-10-04
EP0928065B1 (en) 2001-03-14
JP3540179B2 (ja) 2004-07-07

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US6009451A (en) Method for generating barrel shifter result flags directly from input data
EP1176718B1 (en) Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
US20040117424A1 (en) High-speed/low power finite impulse response filter
Freeny Special-purpose hardware for digital filtering
EP0905890B1 (en) Filter structure
Janer et al. Fully parallel stochastic computation architecture
US5559837A (en) Efficient utilization of present state/next state registers
CA1270569A (en) Pipeline arithmetic unit
KR100302093B1 (ko) 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법
US4785411A (en) Cascade filter structure with time overlapped partial addition operations and programmable tap length
JPH082014B2 (ja) 多段デジタル・フィルタ
US5164724A (en) Data format converters for use with digit-serial signals
KR100617388B1 (ko) 필터에서의계수사용을위한멀티포트레지스터파일
US5214607A (en) Look-ahead FIFO byte count apparatus
EP0935371B1 (en) Multiported register file for storing coefficients for use in an adaptive FIR filter
KR20010014014A (ko) 디지털 필터 계수의 동적 범위를 변화시키는 시스템
JPH0519170B2 (ko)
Rissa et al. Adaptive FIR filter architectures for run-time reconfigurable FPGAs
RU2694743C1 (ru) Цифро-сигнальный процессор с системой команд vliw
Yu et al. The use of reduced two's-complement representation in low-power dsp design
Bartlett et al. A low-power asynchronous VLSI FIR filter
SU1104510A1 (ru) Цифровое устройство дл вычислени синусно-косинусных зависимостей
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
JPH0424730B2 (ko)

Legal Events

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

Payment date: 20120802

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130801

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee