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

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

Info

Publication number
KR100617388B1
KR100617388B1 KR1019980058709A KR19980058709A KR100617388B1 KR 100617388 B1 KR100617388 B1 KR 100617388B1 KR 1019980058709 A KR1019980058709 A KR 1019980058709A KR 19980058709 A KR19980058709 A KR 19980058709A KR 100617388 B1 KR100617388 B1 KR 100617388B1
Authority
KR
South Korea
Prior art keywords
register file
latch
memory
output
coefficient
Prior art date
Application number
KR1019980058709A
Other languages
English (en)
Other versions
KR19990063481A (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

Abstract

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

Description

필터에서의 계수 사용을 위한 멀티포트 레지스터 파일{Multiported register file for coefficient use in filters}
기술 분야
본 발명은 유한 임펄스 응답 (FIR) 필터(Finite Impulse Response filter)에 관한 것이며, 보다 상세하게는 승산기마다 다수의 계수들을 갖는 시간 멀티플렉스된 승산기들을 사용하는 적응형(adaptive) FIR 필터에 관한 것이다.
종래 기술
종래 기술의 적응형 유한 임펄스 응답(FIR) 필터들은 계수들을 재순환시키기 위해 고정된 지연 라인들(delay lines)을 이용한다. 그러한 지연 라인들은 일련의 에지 트리거 플립 플롭(edge triggered flip-flop)을 사용하여 구현된다. 그 결과, 동작에 있어서, 종래 기술의 지연 라인들은 바람직한 것보다 더 많은 전력을 소비한다.
본원과 동일한 양수인에게 양도된 계류중인 미국 특허 출원 번호 제 08/937655 호에서, 계수 저장기를 구현하고 필터 동작에 필요한 계수들에 지연을 제공하기 위해 멀티포트 레지스터 파일들이 이용된다. 멀티포트 레지스터 파일은 적어도 하나의 판독 포트와 적어도 하나의 기록 포트를 갖고, 예를 들어, 4 워드의 용량을 갖는 일반적으로 작은 메모리이다. 멀티포트 레지스터 파일에 기록된 데이터는 임의의 소망된 순서로 상기 레지스터 파일로부터 판독될 수도 있다. 멀티포트 레지스터 파일은 부가적 출력 포트들을 가질 수 있으며, 멀티포트 레지스터 파일에 저장된 데이터는 상기 부가적 출력 포트로부터 임의의 소망된 순서로 및 임의의 다른 출력 포트의 순서에 관계없이 판독될 수 있다. 계수들에 관해서, 각 멀티포트 레지스터 파일은 하나의 출력 포트에서 FIR 필터와 연관된 단의 승산-가산 부분에 데이터를 공급한다. 적응형 필터에 관해서, 각 멀티포트 레지스터 파일은 또 다른 출력에서 상기 계수에 대한 갱신 유닛에 데이터를 공급한다. 상기 출력 포트들은 동일할 수 있고, 그렇지 않다면, 상기 출력 포트들에 공급된 데이터가 동일할 수도 있다는 것을 주목하라. 계수 사용에 대해서, 계류중인 출원에서 설명된 룩스루(lookthrough) 모드에서 멀티포트 레지스터 파일을 동작시킬 필요가 없다.
FIR 필터가 갱신 가능한 계수들을 가진 적응형 필터일 때, 새로운 계수값들을 계산하는 갱신 유닛을 가질 필요가 있다. 이러한 갱신 유닛은 오버플로우/언더플로우 검출 및/또는 포화 유닛(overflow/underflow detection and/or saturation unit)을 포함하거나 상기 유닛들과 연관되며, 상기 오버플로우/언더플로우 검출 및/또는 포화 유닛은, 오버플로우 또는 언더플로우가 발생할 때 일어날 수 있는 필터에서의 카타스트로피 에러들(catastrophic errors)의 방지하는데 사용된다. 이러한 에러들은, 이진수들을 사용하는 산술을 수행하는 종래 기술들의 특성 때문에 발생할 수 있다. 예를 들어, 2의 보수 표현을 사용하여 표현된 2개의 큰 양수들이 가산될 때, 그 결과는 음수로 나올 수 있고, 이것은 명백히 에러이다. 오버플로우/언더플로우 검출 및/또는 포화 유닛은 그의 구현에 따라, a) 오버플로우 또는 언더플로우가 발생했는지의 여부를 표시하는 플래그, b) 포화값으로서 표현될 수 있는 최대 양수 또는 음수를 표현하는 값, 또는 c) 계산의 실제 결과 중 하나를 출력으로서 공급함으로써 이러한 문제를 방지한다. 이러한 오버플로우/언더플로우 검출 및/또는 포화 유닛은 계수 갱신 회로의 임계 경로(critical path)에 존재하는데, 즉, 상기 유닛은 갱신이 수행될 수 있는 최대 속도를 결정하는 경로 내에 있다. 따라서, 오버플로우/언더플로우 검출 및/또는 포화 처리가 수행될 수 있는 속도는 갱신 처리의 속도를 제한한다.
개선된 멀티포트 레지스터 파일들이 적응형 FIR 필터들들의 계수들을 저장하는데 사용될 수도 있다는 것을 알아냈다. 본 발명의 원리들에 따라서, 이전의 계류중인 출원의 멀티포트 레지스터 파일들은 계산 능력, 예를 들어, 계수값들 또는 상기 계수값들로부터 유도된 값들에 계산을 수행하고, 상기 값들에 수행되는 연산들을 제어하는 능력을 포함함으로써 개선된다. 본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일은 오버플로우/언더플로우 검출 및/또는 포화 유닛을 포함한다. 본 발명의 또 다른 특징에 따라서, 멀티포트 레지스터 파일은 승산 처리의 속도를 증가시키기 위해 사용되는 특별한 인코더, 예를 들어, "부스(Booth)" 인코더를 포함한다. 본 발명의 또 다른 특징에 따라서, 멀티포트 레지스터 파일은 계수들의 표현을 변경하기 위한 변환기, 예를 들어, 2의 보수/부호-크기 변환기(2's complement to sign-magnitude converter)를 포함한다. 본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일에서 수행되는 모든 계산은 필터링 또는 계수 갱신의 임계 경로 외부에서 수행된다. 양호하게는, 이러한 개선된 멀티포트 레지스터 파일들을 사용하여, 적응형 FIR 필터는 계류중인 선행 출원에서 보다 더 낮은 전력 소비로 더 빠르게 동작하는 구성될 수 있다.
도 1은 본 발명의 원리들에 따라 유한 임펄스 응답 필터(FIR) 단에서의 계수들을 저장하는데 사용될 수 있는 예시적인 멀티포트 레지스터 파일을 도시한다. 멀티포트 레지스터 파일은 적어도 하나의 판독 포트와 하나의 기록 포트를 갖고, 예를 들어, 4 워드의 용량을 갖는 일반적으로 작은 메모리이다. 멀티포트 레지스터 파일에 기록된 데이터는 임의의 소망된 순서로 판독될 수 있다. 멀티포트 레지스터 파일은 부가적 출력 포트들을 가질 수 있으며, 레지스터 파일에 저장된 데이터는 이러한 출력 포트로부터 소망된 순서로, 또한 임의의 다른 출력 포트의 순서에 관계없이 판독될 수 있다.
보다 구체적으로, 도 1은 메모리 위치들(103-1 내지 103-H)을 갖는 메모리(103)와, 계산 유닛(105), 및 래치들(107-1 내지 107-K)을 포함하는 래치들(107)을 포함하는 멀티포트 레지스터 파일(101)을 도시한다.
비록, 필터 설계자의 판단에 따라 임의적으로 선택 가능하지만, 멀티포트 레지스터 파일의 메모리 위치들의 수(H)는 일반적으로 작은 수, 예를 들어 4이다. H를 작은 값으로 하는 것은, 광대역 액세스에서 사용하기 위한 모뎀들에서 발견되는 시스템에서 가장 빠른 클럭 주파수들의 크기 정도 내에 있는 샘플 레이트를 갖는 신호들을 처리하는데 있어서, FIR 필터들을 구현하기 위한 다른 대안들과 비교하여, 효율적인 FIR 필터 구현을 가능하게 한다.
데이터는 N개의 데이터 라인들을 포함하는 기록 포트(W)를 통해 멀티포트 레지스터 파일(101)에 기록된다. 기록 포트(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)에 기록되고, 동시에 상기 멀티포트 레지스터 파일(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)은 메모리 위치 및 래치 사이에 삽입된다.
도 2는 멀티포트 레지스터 파일(101)의 간략도를 도시하며, 여기서는 단일 판독 포트와 단일 기록 포트를 갖는 단지 2개의 메모리 위치들(103)이 도시된다. 또한, 메모리(103) 및 래치들(107) 및 계수 갱신 유닛(109) 사이의 동작과 데이터 전송을 제어하는데 사용되는 클럭 신호(CLK)가 도시된다. 도 2에서, 메모리(103)는 포지티브 레벨에 민감한(positive level sensitive) 반면, 래치(107)는 네거티브 레벨에 민감하다. 이들은 함께 네거티브 에지 트리거 플립-플롭을 형성한다.
본 발명의 원리에 따라서, 계산 유닛(105)은 적어도 하나의 계수값을 취하고, 그에 대해 어떠한 형태의 변환을 수행하거나 또는 변화되지 않은 계수값을 전달한다. 계산 유닛(105)은 메모리 위치들(103)과 래치들(107) 사이에 위치하여, 계산 유닛(105)이 a) 메모리 위치들(103)로부터 계수값들을 수신할 수도 있고, b) 그의 출력을 래치들(107) 중 하나 이상의 래치들에 의해 공급할 수도 있도록 한다.
본 발명의 한 특징에 따라서, 멀티포트 레지스터 파일에서 수행되는 모든 계산은 필터링 또는 계수 갱신의 임계 경로의 외부에서 수행된다. 계산 유닛(105)은 필터링 또는 계수 갱신의 임계 경로의 외부에 있는데, 이는 계산 유닛(105)이, 메모리(103) 내의 현재 어드레스된 위치인 마스터 래치가 저장된 정보를 포함하는 시간과 슬레이브 래치, 즉 래치(107)가 마스터 래치로 정보를 래치하는 시간 사이의 소위 "데드 타임(dead time)"에서 그의 기능을 수행하기 때문이다. 이것은 클럭 신호가 래치들(107)에 공급되는 것보다 일찍 판독 어드레스 신호가 판독 어드레스 포트들(RA1 내지 RAK)에 공급되기 때문에 가능하다.
도 3은 도 2에 도시된 멀티포트 레지스터 파일(101)의 간략도의 동작에 대한 타이밍도를 도시한다. 도 3은 래치(107)로부터의 신호들인 CLK, RA, WA, OUTPUT를 도시한다. 신호들(CLK, RA 및 WA)는 신호 OUTPUT을 발생하는 멀티포트 레지스터 파일(101)에 공급된다는 것을 주목하라. 판독 어드레스 신호(RA)는 기록 어드레스 신호(WA)보다 2분의 1 사이클 앞서 멀티포트 레지스터 파일(101)에 공급된다. CLK의 모든 포지티브 에지(positive edge) 바로 후에 변화하는 신호(RA)에 응답하여, 데이터는 메모리(103)로부터 나오고, CLK의 네거티브 에지(negative edge) 이전에 계산 유닛(105)에 의해 처리된다. 요약하면, 그것은 계산 유닛(105)이 그의 요구되는 계산을 수행하기에 충분한 시간이 존재한다는 것을 의미함을 주목하라.
CLK의 네거티브 에지에서, 래치(107)는 계산 유닛(105)의 출력으로써 공급된 처리된 데이터를 래치한다. 다음에 이 데이터는 멀티포트 레지스터 파일(101)의 출력인 OUTPUT으로서 이용할 수 있다. 이 데이터는 멀티포트 레지스터 파일(101)을 사용하여 구현되는 필터의 승산기(도시되지 않음)뿐만 아니라 갱신 유닛(109)에도 공급된다. 다음 포지티브 에지의 직후에, RA는 변화하고, 또 다른 계수가 메모리 위치들(103) 중 하나로부터 판독된다. 한편, 이전 네거티브 에지에서 래치되었던 출력 데이터는 래치(107)로부터 여전히 이용 가능하다. CLK의 다음 네거티브 에지에서, 갱신 유닛(109)의 출력으로서 공급된 갱신된 데이터가 WA에 의해 지정된 위치로 메모리(103)에 다시 기록되고, 이것은 CLK의 네거티브 에지의 직후에서만 변화한다.
본 발명의 일 실시예에서, 계산 유닛(105)은 오버플로우/언더플로우 검출 및/또는 포화 유닛이다. 도 4는, 계산 유닛(105)이 오버플로우/언더플로우 검출 및/또는 포화 유닛(211)으로서 구현되는 예시적 실시예를 도시한다. 오버플로우/언더플로우 포화 유닛(211)은, 포화 검출 유닛(601)에 접속된 오버플로우/언더플로우 검출 유닛(501)을 포함한다.
오버플로우/언더플로우 검출 유닛(501)은, 예를 들면, 수신된 입력인 G 비트의 정밀도(precision)를 갖는 수가 G보다 작은 Y 비트의 정밀도로 표현될 수 있는지의 여부를 결정하는 것과 같이, 종래의 공지된 방법으로 동작할 수 있다. 수신된 입력이 G 비트의 정밀도를 갖는 수이고, 그 입력이 Y 비트의 정밀도로 표현될 수 있다면, 어떠한 언더플로우나 오버플로우도 발생하지 않는 것으로 결정된다. 따라서, 입력 수의 값은 단지 Y 비트의 정밀도를 사용하여 오버플로우/언더플로우 검출 및/또는 포화 유닛(211)의 출력으로서 공급된다. 그렇지 않고, 수의 크기가 너무 커서 Y 비트의 정밀도만으로는 표현될 수 없다면, 언더플로우 또는 오버플로우가 발생하는 것으로 결정된다. 오버플로우 또는 언더플로우가 발생하면, 대응하는 플래그가 설정되고 출력으로서 공급된다. 오버플로우 또는 언더플로우 중 어느 것이 발생했는지는, 입력이 Y 비트의 정밀도로 표현될 수 있는 최대값 보다 큰지 또는 Y 비트의 정밀도로 표현될 수 있는 최소값 보다 작은지에 의해 결정된다.
포화 검출 유닛(601)은, 예를 들어, 종래의 공지된 방식으로 동작할 수도 있다. 예를 들어, 포화 검출 유닛(601)은 입력으로서 Y 비트의 정밀도를 가진 수와, 오버플로우 플래그 및 언더플로우 플래그의 값들을 수신한다. 오버플로우 플래그가 설정되면, 포화 검출 유닛(601)은 출력으로서 Y 비트의 정밀도를 사용하여 표현될 수 있는 최대값을 공급한다. 언더플로우 플래그가 설정되면, 포화 검출 유닛(601)은 Y 비트의 정밀도를 사용하여 표현될 수 있는 최소값을 출력으로서 공급한다. 오버플로우 플래그와 언더플로우 플래그의 어느 것도 설정되지 않으면, 포화 검출 유닛(601)은 Y 비트의 정밀도만을 사용하여 입력값을 출력으로서 공급한다.
오버플로우/언더플로우 검출 및/또는 포화 유닛(211)의 결과 동작은, G 비트의 정밀도를 가진 수를 입력으로서 수신하고, a) G가 Y 비트의 정밀도로 표현될 수 있을 때, G보다 작은 Y 비트의 정밀도를 사용하여 G의 실제값을 출력으로서 공급하거나 또는 b) 수의 크기가 너무 커서 Y 비트의 정밀도만으로 표현될 수 없을 때, Y 비트의 정밀도를 사용하여 표현될 수 있는 최대값 또는 최소값을 출력으로서 공급한다. 최대값 또는 최소값이 출력으로서 공급되는지의 여부는, 입력이 Y 비트의 정밀도로 표현될 수 있는 최대값 보다 더 큰지 또는 Y 비트의 정밀도로 표현될 수 있는 최소값 보다 더 작은지의 함수로서 결정된다.
본 발명의 한 특징에 따라서, 오버플로우 플래그 및/또는 언더플로우 플래그의 값들은 계산 유닛(105)으로부터의 출력들로서 공급될 수도 있고, 그 값들은 멀티포트 레지스터 파일(101)로부터의 출력으로서 외부에 공급될 수 있다. 오버플로우 플래그 및/또는 언더플로우 플래그의 값들이 멀티포트 레지스터 파일(101)로부터 외부로 공급되면, 래치들(107)은 이 정보를 또한 전송할 수 있도록 증가될 필요가 있다.
본 발명의 또 다른 실시예에서, 계산 유닛(105)은 데이터 변환기이다. 예를 들어, 계산 유닛(105)은 승산 처리의 속도를 증가시키는데 사용되는 특별한 인코더, 예를 들어, 소위 "부스" 인코더일 수 있다. 부스 인코더들은 본 명세서에서 완전히 설명되는 것처럼 참조로 포함되는 N. Weste 와 K. Eshraghian 저, Addison Wesley, 1992, CMOS VLSI 설계의 원리, 제 2 판, 547 내지 554쪽 의해 설명된다. 부스 인코더들은 부스 레코더들로 언급된다는 것을 유의하라.
본 발명의 또 다른 예시적 실시예에서, 멀티포트 레지스터 파일은 계수들의 표현을 변화시키는 위한 변환기, 예를 들어, 2의 보수/부호-크기 변환기를 포함한다.
계산 유닛(105)에 의해 수행되는 다수의 기능들이 있을 수 있고, 이러한 기능들은 실질적으로 동시에, 또는 계산이 데드 타임 동안에 완료되는 한 순차적으로, 계수들 중 상이한 계수들에 대해서 수행될 수 있다는 것을 주목하라. 수행되는 기능들은 또한 클럭 사이클로부터 클럭 사이클까지 변화할 수도 있다.
전술한 것은 단지 본 발명의 원리들을 예시한다. 따라서, 당업자들은, 비록 본 명세서에 명시적으로 설명되거나 예시되지 않더라도, 본 발명의 원리를 구현하고 본 발명의 정신과 범위 내에 포함되는 다양한 배열들을 고안할 수 있다는 것을 이해해야 할 것이다.
본 발명의 개선된 멀티포트 레지스터 파일을 사용해서, 공동 계류중인 선행 출원의 레지스터 파일보다 더 낮은 전력 소비로 더 빠르게 동작하는 적응형 FIR 필터가 구성될 수 있다.
도 1은 본 발명의 원리에 따라 유한 임펄스 응답 (FIR) 필터의 계수들을 저장하는데 사용될 수 있는 예시적인 멀티포트 레지스터 파일을 도시하는 도면.
도 2는 계수 갱신 유닛과 계수 클럭킹과 함께, 도 1의 멀티포트 레지스터 파일의 간략도.
도 3은 도 1에 도시된 멀티포트 레지스터 파일의 간략도의 동작에 대한 타이밍도.
도 4는 도 1의 멀티포트 레지스터 파일에서 사용되는 오버플로우/언더플로우 검출 및/또는 포화(saturation) 유닛의 실시예를 도시하는 도면.

Claims (10)

  1. 적응형 FIR 필터(adaptive FIR filter)에서 사용하기 위한 계수들을 저장하는 디바이스로서, 상기 디바이스는 멀티포트 레지스터 파일(multiported register file)을 포함하고, 상기 멀티포트 레지스터 파일은:
    계수값들을 저장하는 위한 메모리;
    출력 래치; 및
    상기 계수값들과 상기 계수값들에서 유도된 값들(derivatives)을 포함하는 하나 이상의 집합(set)에 연산들을 수행하기 위한 계산 수단으로서, 상기 계산 수단은 상기 계수값들을 갱신하기 위해 임의의 임계 경로(any critical path)의 외부에 있고, 이로써 상기 메모리 내의 마스터 래치가 저장된 정보를 포함하는 시간 및 상기 출력 래치가 상기 정보를 상기 마스터 래치로부터 래치하는 시간 사이의 기간에서 상기 계산 연산들이 수행되는, 상기 계산 수단을 포함되는, 디바이스.
  2. 제 1 항에 있어서, 상기 계산 수단은 적어도 부스 인코더(Booth encoder)를 포함하는, 디바이스.
  3. 제 1 항에 있어서, 상기 계산 수단은 상기 계수들을 제 1 표현으로부터 제 2 표현으로 변환하기 위한 적어도 변환기를 포함하는, 디바이스.
  4. 적응형 FIR 필터에서 사용하기 위한 계수들을 저장하는 디바이스로서, 상기 디바이스는 멀티포트 레지스터 파일을 포함하고, 상기 멀티포트 레지스터 파일은:
    상기 적응형 FIR 필터에서 사용되는 계수값들을 저장하기 위한 메모리;
    출력 래치; 및
    상기 계수값들에서 유도된 값들에 연산들을 수행하기 위한 계산 수단으로서, 상기 계산 수단은 상기 계수값들에 갱신 연산들을 수행하기 위해 임의의 임계 경로의 외부에 있고, 상기 계산 수단은 상기 메모리 및 상기 출력 래치 사이에 결합되고, 이로써 상기 메모리 내의 마스터 래치가 저장된 정보를 포함하는 시간 및 상기 출력 래치가 상기 정보를 상기 마스터 래치로부터 래치하는 시간 사이의 기간에서 상기 계산 연산들이 수행되는, 상기 계산 수단을 포함하는, 디바이스.
  5. 적응형 FIR 필터에서 사용하기 위한 계수들을 저장하는 디바이스로서, 상기 디바이스는 멀티포트 레지스터 파일을 포함하고, 상기 멀티포트 레지스터 파일은:
    적어도 2개의 메모리 위치들로서, 각 메모리 위치는 상기 적응형 FIR 필터에서 사용되는 계수값을 저장하는, 상기 적어도 2개의 메모리 위치들;
    적어도 하나의 출력 래치; 및
    상기 계수값들 또는 상기 계수값들로부터 유도된 값들에 계산 연산들을 수행하기 위한 계산 수단으로서, 상기 메모리 위치들 중 적어도 하나는 마스터 래치로서 기능하고, 상기 적어도 하나의 출력 래치는 슬레이브 래치로 기능하며, 상기 마스터 래치와 상기 슬레이브 래치는 에지 트리거 플립-플롭을 형성하고, 상기 계산 수단은 상기 마스터 래치와 상기 슬레이브 래치 사이에 삽입되고, 상기 계수값들은 갱신하기 위해 임의의 임계 경로의 외부에 있고, 이로써 상기 메모리 내의 마스터 래치가 저장된 정보를 포함하는 시간 및 상기 출력 래치가 상기 정보를 상기 마스터 래치로부터 래치하는 시간 사이의 기간에서 상기 계산 연산들이 수행되는, 상기 계산 수단을 포함하는, 디바이스.
  6. 적응형 FIR 필터에서 사용하기 위한 디바이스와 관련하여 사용하는 방법으로서:
    레지스터 파일을 포함하는 메모리로부터의 출력으로서 계수값을 공급하는 단계;
    상기 적응형 FIR 필터에서 사용하는 변환된 계수값을 생성하기 위해 상기 계수값에 계산을 수행하는 단계로서, 상기 계산은, 계수값들을 변환하는 임의의 임계 경로의 외부에 위치된 계산 수단에 의해 수행되고, 이로써 상기 메모리 내의 마스터 래치가 저장된 정보를 포함하는 시간 및 상기 출력 래치가 상기 정보를 상기 마스터 래치로부터 래치하는 시간 사이의 기간에서 상기 계산 연산들이 수행되는, 상기 계산 수행 단계;
    상기 변환된 계수값을 래치에 래치시키는 단계를 포함하고,
    상기 공급 단계 및 래치 단계는, 상기 메모리와 상기 래치로 레지스터를 형성하도록 수행되는, 사용 방법.
  7. 제 6 항에 있어서, 상기 공급 단계, 상기 수행 단계 및 상기 래치 단계는 상기 레지스터 파일의 임계 경로 외부에서 수행되는, 사용 방법.
  8. 제 6 항에 있어서, 상기 공급 단계에서 상기 계수값이 공급되는 상기 메모리와 동일한 위치에 상기 래치되어 변환된 계수값(latched transformed coefficient value)을 저장하는 단계를 더 포함하는, 사용 방법.
  9. 제 6 항에 있어서, 상기 공급 단계에서 상기 계수값이 공급되는 상기 메모리와 동일한 위치에 상기 래치되어 변환된 계수값을 저장하는 단계를 더 포함하고, 상기 공급 단계, 상기 수행 단계, 상기 래치 단계, 및 상기 저장 단계는 상기 레지스터 파일의 임계 경로 외부에서 수행되는, 사용 방법.
  10. 적응형 FIR 필터에서 사용하기 위한 계수들을 저장하는 디바이스로서, 상기 디바이스는 멀티포트 레지스터 파일을 포함하고, 상기 멀티포트 레지스터 파일은:
    상기 적응형 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 KR19990063481A (ko) 1999-07-26
KR100617388B1 true 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
US20110241744A1 (en) * 2008-08-28 2011-10-06 Aspen Acquisition Corporation 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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284512A (ja) * 1986-06-03 1987-12-10 Sony Corp デイジタルフイルタ

Family Cites Families (10)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62284512A (ja) * 1986-06-03 1987-12-10 Sony Corp デイジタルフイルタ

Also Published As

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

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US4193118A (en) Low pass digital averaging filter
EP0905890B1 (en) Filter structure
EP1176718B1 (en) Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
Janer et al. Fully parallel stochastic computation architecture
KR100302093B1 (ko) 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법
JPS62256034A (ja) パイプライン演算ユニツト
US4785411A (en) Cascade filter structure with time overlapped partial addition operations and programmable tap length
US4939684A (en) Simplified processor for digital filter applications
KR100617388B1 (ko) 필터에서의계수사용을위한멀티포트레지스터파일
JPH082014B2 (ja) 多段デジタル・フィルタ
US3980872A (en) Digital filter for electrical signals
JP4388141B2 (ja) ディジタルフィルタ用共有リソース
KR100712864B1 (ko) 디지털 필터 계수의 동적 범위를 변화시키는 시스템
US5214607A (en) Look-ahead FIFO byte count apparatus
EP0935371B1 (en) Multiported register file for storing coefficients for use in an adaptive FIR filter
US4569031A (en) Circuit arrangement for serial digital filters
JPH0519170B2 (ko)
Bartlett et al. A low-power asynchronous VLSI FIR filter
Yu et al. The use of reduced two's-complement representation in low-power dsp design
KR100337716B1 (ko) 곱의합을형성하는회로
RU2694743C1 (ru) Цифро-сигнальный процессор с системой команд vliw
US6941418B1 (en) Integrated circuit and method outputting data
US6470369B1 (en) Euclid mutual division arithmetic circuit and processing circuit
JPS5853218A (ja) デイジタル・フイルタ

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