JP4664311B2 - カスケード接続するdspスライスを備えた集積回路 - Google Patents
カスケード接続するdspスライスを備えた集積回路 Download PDFInfo
- Publication number
- JP4664311B2 JP4664311B2 JP2006547306A JP2006547306A JP4664311B2 JP 4664311 B2 JP4664311 B2 JP 4664311B2 JP 2006547306 A JP2006547306 A JP 2006547306A JP 2006547306 A JP2006547306 A JP 2006547306A JP 4664311 B2 JP4664311 B2 JP 4664311B2
- Authority
- JP
- Japan
- Prior art keywords
- dsp
- register
- input
- slice
- output
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims description 17
- 241000282842 Lama glama Species 0.000 claims 2
- 244000309464 bull Species 0.000 claims 2
- 235000002198 Annona diversifolia Nutrition 0.000 claims 1
- 235000017274 Diospyros sandwicensis Nutrition 0.000 claims 1
- 241001442055 Vipera berus Species 0.000 description 100
- 230000006870 function Effects 0.000 description 72
- 238000011144 upstream manufacturing Methods 0.000 description 46
- 238000010586 diagram Methods 0.000 description 39
- 230000006835 compression Effects 0.000 description 31
- 238000012937 correction Methods 0.000 description 29
- 238000000034 method Methods 0.000 description 22
- 230000008859 change Effects 0.000 description 17
- 230000009467 reduction Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000007620 mathematical function Methods 0.000 description 5
- 101000625226 Homo sapiens Melanoregulin Proteins 0.000 description 4
- 102100024976 Melanoregulin Human genes 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000004549 pulsed laser deposition Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- QXOQNNAWFUXKMH-UHFFFAOYSA-N 1-(Malonylamino)cyclopropanecarboxylic acid Chemical compound OC(=O)CC(=O)NC1(C(O)=O)CC1 QXOQNNAWFUXKMH-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 2
- 240000002795 Guizotia abyssinica Species 0.000 description 2
- 235000003239 Guizotia abyssinica Nutrition 0.000 description 2
- 241000030538 Thecla Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 240000005020 Acaciella glauca Species 0.000 description 1
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 229930091051 Arenine Natural products 0.000 description 1
- 101150115013 DSP1 gene Proteins 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 210000001520 comb Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 235000003499 redwood Nutrition 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
プログラマブル論理装置すなわちPLDは、1つ以上の選択された機能を果たすようエンドユーザによってプログラム可能な汎用回路である。複雑なPLDは、典型的にはいくつものプログラマブル論理素子およびいくつかのプログラマブルルーティングリソースを含む。プログラマブル論理素子は、CLB、論理ブロック、論理アレイブロック、論理セルアレイ、マクロセル、論理セル、および機能ブロックのような、多くの形態および多くの名称を有する。プログラマブルルーティングリソースもまた、多くの形態および多くの名称を有する。
この発明は、高速で柔軟性のある低電力のDSP回路に対する必要性に対処するシステムおよび方法に向けられる。以下の議論は5つのセクションに分けられ、各々が向上したDSP性能を提供するための特定の方法およびシステムを詳細に説明する。
ク制御が好ましい。いくつかのDSP用途はダイナミック制御を必要としないが、その場合、DSP機能は構成メモリのローディング(またはリローディング)の間に定義可能である。
たはこれに加えて、モード制御信号を発生可能である。
以下の議論は5つのセクションに分割され、各々が向上したDSP性能および低減した電力散逸を提供するための方法およびシステムを詳細に説明する。これらの実施例はフィールドプログラマブルゲートアレイ(FPGA)アーキテクチャに関連して説明されるが、ここで説明される方法および回路はFPGAに限定されない。一般的に、特定用途向け集積回路(ASIC)を含む何らかの集積回路(IC)および/または、複数のプログラ
マブル機能素子および/または複数のプログラマブルルーティングリソースを含むICおよび/または、マイクロプロセッサまたはマイクロコントローラを有するICもまたこの発明の範囲に含まれる。プログラマブル機能素子の例はCLB、論理ブロック、論理アレイブロック、マクロセル、論理セル、論理セルアレイ、マルチギガビットトランシーバ(MGT)、特定用途向け回路、および機能ブロックである。プログラマブルルーティングリソースの例は、プログラマブル配線ポイントを含む。さらに、この発明の実施例は典型的にはプログラマブル論理とは称しない、いわゆる「システムオンチップ」のような信号処理に用いるための専用のものなどの、集積回路に組入れられてもよい。
図1Cは、この発明の実施例のFPGAの簡略化された模式図である。図1Cは、多数の異なったプログラマブルタイルを含むFPGAアーキテクチャ180を示し、このプログラマブルタイルは、マルチギガビットトランシーバ(MGT181)、プログラマブル論理ブロック(LB182)、ランダムアクセスメモリブロック(BRAM183)、入力/出力ブロック(IOB184)、構成およびクロック論理(構成/クロック185)、デジタル信号処理ブロック(DSP205)、特化入力/出力ブロック(I/O187)(たとえば、構成ポートおよびクロックポート)、ならびに、デジタルクロックマネージャ、アナログ−デジタルコンバータ、システム監視論理などの他のプログラマブル機能188を含む。いくつかのFPGAは、専用プロセッサブロック(PROC190)をも含む。
示されるプロセッサブロックPROC190は、CLBおよびBRAMのいくつかの列にまたがる。
図2Aの例においては、出力ポートOUTは、選択されたDSPスライス(たとえばスライス212−2)から下流DSPスライス(たとえばスライス212−1)のポートUOCに直接接続する。さらに、上流DSPスライス(たとえばスライス212−3)からの出力ポートOUTは、選択されたDSPスライス、たとえば212−2のポートUOCに直接接続する。例示を容易にするために、特記しない限り、「上流」および「下流」という用語は、カスケード接続されたDSPスライスにおけるデータフローの方向を指す、すなわちデータフローは上流から下流に向かう。しかしながら、代替的な実施例は、データフローが下流から上流に向かう場合、または上流から下流へのまたは下流から上流へのいずれの組合せをも含む。各DSPスライス212の出力ポートOUTもまた、同じDS
Pスライス(図示せず)の入力ポート、たとえば累算フィードバック(ACC)に内部で接続される。いくつかの実施例においては、隣接するDSPスライス間の接続は、接続が汎用配線を横断しなければ直接接続であり、汎用配線は、たとえばCLBを接続するために典型的に用いられるプログラマブルルーティングリソースを含む。直接接続は、隣接するスライスからのデータストリームのバージョンを維持する、遅延回路、インバータ、またはシンクロナス素子のような、介在する素子を含み得る。代替的な実施例においては、隣接するDSPスライス間の接続は間接的であるかおよび/または汎用配線を横断し得る。
出力ポートOUT、たとえばスライス212−2のOUT2は、入力累算フィードバックポートACCと、下流スライスたとえば212−1の上流−出力カスケードポート(UOC)とに直接的に接続する。
3Cと同様である。よって、図3Dは、乗算器のないスライスの実施例を示す。
表550は、11のクロックサイクル0−10に亘る、図5Aの対応のDSPスライスの出力信号OUT0、OUT1、OUT2、およびOUT3を示す。転置FIRフィルタアルゴリズムは、信号処理分野における当業者には周知である。転置FIRフィルタの詳細な議論については、「対称的転置FIRフィルタ」と題されるサイド(Said)他の米国特許第5,339,264号を参照されたい。
実現する場合に、速度性能および電力散逸の観点で、大きな犠牲を払う。対照的に、たとえば図5Aのカスケード構造は、構成可能論理を含まずに、複雑なDSP回路に対処するようにより簡単に拡張可能であり、したがって小さな電力散逸で多くの種類のDSP回路に対し顕著に向上した性能を提供する。
図5Aの例において、モードレジスタ310はFIRフィルタ500を定義するための必須のモード制御信号の組を含む。モードレジスタ310は、汎用配線405を介して装置動作の間にロード可能である。構成メモリへの書込なしに異なったDSP動作を行なうようDSPリソースを修正することを、ここで「ダイナミック」制御と称して、構成メモリの内容を変更することにより異なったDSP動作を行なうようDSPリソースを修正することから区別する。ダイナミック制御は典型的には、比較的より遅い再構成速度ではなく、DSPリソースの動作速度で行なわれる。こうして、構成メモリの内容の変更は過度に時間を消費する虞があるので、ダイナミック制御が好ましい。この発明の例示的な実施例において、再構成に対するダイナミック制御の実質的な性能向上を示すために、FPGAのVirtex(登録商標)ファミリは、多くの構成メモリセルに書込むためにたとえば数十メガヘルツ範囲(たとえば50MHz)で動作する構成クロックを用いて再構成される。これに対し、Virtex(登録商標)論理は、構成クロックの少なくとも1オーダの大きさ速い動作クロック周波数(たとえば数百メガヘルツ、たとえば600MHzまたはそれ以上の範囲)で動作し、スイッチングモードは、比較的少ない宛先(たとえば、図17におけるマルチプレクサ回路1721)にモード制御信号が与えられることを要求する。よって、この発明の実施例は1構成クロック期間よりも短い時間スパンでモードを切換可能である。
同様に、第2の対の複素数e+jfおよびg+jhを乗算すると以下が得られる。
方程式(2)および(3)の積を合計すると以下が得られる。
項を、実数/実数、虚数/虚数、虚数/実数、および実数/虚数の積タイプに再編成すると、以下が得られる。
または
(R1+jl1)+(R2+jl2)=R[(ac+eg)+(-bd-fh)]+l[(bc+fg)+(ad+eh)] (6)
上記は、4つの積タイプの各々を累算し、次いで結果として生じる実数の対と結果として生じる虚数の対とを合計することにより、一連の複素数積の合計が得られることを示す。これらの動作は、任意の数の対に拡張可能であるが、ここでは例示を容易にするために2つの複素数に限定される。
程式6の第1の虚数和bc+fgに類似する。
図7は、別の実施例に従ったFPGA700を示す。FPGA700は図4のFPGA400に類似し、同様に名付けられた要素は同一または同様である。しかしながら、FPGA700における各DSPスライスが、異なった量の遅延を導入するよう構成可能である入力レジスタ705を含む点で、FPGA700はFPGA400とは異なる。この例において、レジスタ705は2対のレジスタ710および715を用いてオペランド入力AおよびBのいずれかまたはその両方に、2クロックサイクルまでの遅延を導入可能である。図示されない構成メモリセルは、所与のオペランド入力上の所与のレジスタ705によって課される遅延の量を決定する。他の実施例においては、レジスタ705は、モードレジスタ310によりダイナミックにも制御される。
Aは2つの符号付き数A0およびA1に分割され、この場合ゼロが2つの最下位ビットの前に付与されて正の符号付き数A0を生成する。(このLSBの0の付与は、Aの正の値および負の値の両方に用いられる)。こうして、A1=001およびA=010である。
表1250は、8のクロックサイクル0−7ごとに図12AのDSPスライスごとにレジスタ710、715、418および1205の出力を与えることによるFIRフィルタ1200の動作を示す。レジスタ710および715の出力は、それぞれの積生成器416に最も近いレジスタ710および715の出力を指す。
表1350は、9のクロックサイクル0−8ごとに図13AのDSPスライスごとにレジスタ710、715、418および1205の出力を与えることによる、FIRフィルタ1300の動作を示す。レジスタ710および715の出力は、それぞれの積生成器416に最も近いレジスタ710および715の出力を指す。
ここに記載される多くのDSP回路および構成は、大きな数を乗算してやはり大きな積を生成する。大きく不必要に厳密な積の処理は手間がかかりリソース集約的なので、そのような積はしばしば何らかの所望の数のビットに丸められる。いくつかの実施例は、ほとんど付加的なリソースを必要とせず丸め処理に関わるビットの数をダイナミックに変化させるよう調整可能である、高速で柔軟な丸め方策を採用する。
Kを格納する。図示される実施例において、丸め定数KはN−1の最下位ディジットが2進1であり、残りのビットが論理0である(すなわち、K=2(N-1)−1)である、2進数である。たとえば、3つの最下位ビット(N=3)を丸めるには、2(3-1)−1、または000011を用いる。
らに、丸め定数は2(N-1)−1である必要はない。別の実施例においては、たとえば、丸め定数は2(N-1)であって、符号ビットは丸め定数と積との和から減算される。
図17は、上述の例のさまざまな特徴を組合せる一実施例に従った複雑なDSPスライス1700を示す。これまでの図面に関して上に記載したものと同様の特徴には、同様の名称が付与され、可能な場合は、無駄のない表現のために、冗長な説明は省略する。
i.2ビットキャリーイン選択ポートCISは、汎用配線にプログラマブルに接続する。
、同様のマルチプレクサ905を含む図9に関連して上で詳細に説明した。
に詳細に説明する。
a.Z、Y、およびX(集合的にOpMode)は、マルチプレクサ回路1720のZ、Y、およびXマルチプレクサへのそれぞれの制御信号を表わす。
延を提供するものと想定される。
2上でそれぞれイネーブル信号を受取る。これらの丸めのリソースは、以下の関数をサポートする。
レジスタ2000は、隣接するレジスタ2005にデータを転送可能にされる。他の実施例において、レジスタ2000のQ出力は、隣接するスライス内のレジスタ2000のD入力にカスケード接続され得、それにより、新規のフィルタ係数がレジスタ2000内にシフトされ得、一方でレジスタ2005は、以前のフィルタ係数を保持する。そして、新規に更新された係数は、次のクロック端上で対応するレジスタ2000からレジスタ2005が新規の係数を捕捉し得るようにすることにより、適用され得る。
図25は、一実施例に従った演算回路2600を示す。やはり、演算回路2600は、図17のスライス1700内の積生成器1727、レジスタバンク1730、多重化回路1721、および加算器1719を含む演算回路1717と同様であるが、例示を簡単にするために単純化されている。また、適用可能な場合、例示を簡単にするため、図17と同じ標識番号が図25で使用される。
び2615の各々は、積生成器1727以外のソースから加数を受取って集合的に「PGバイパスポート」と称される入力ポートを含む。この例において、PGバイパスポートは、OUTポート、したがってOUT[0:48]に接続され、このOUT[0:48]は、オペランドAおよびB A:B[0:35]、Cオペランドの上流出力カスケードバスUOC、および論理ゼロを表わす電圧レベルに保持された端子のさまざまな集合の連結である。他の実施例は、図25のポートと同じ機能性または異なる機能性を提供する、より多くのまたはより少ないPGバイパスポートを使用してよい。
以下の図36に関してさらに説明するように、加算器1719内の全加算器は、公知の恒等式を用いて以下の減算を実行する。
out)を有する。出力ビットS、C、およびCoutは、4個の入力ビット、すなわち、3個の外部ビット+Cinの和を表わす。
4を基数とするXの等価表現は、以下により求められる。
QA[0:17]およびY=QB[0:17])である図26の場合、9個の部分積、たとえば、P0からP8が存在し、各部分積はn+1または19個のビットを有する。
は、Pikを表わし、ここでi=0およびk=0,1,…,18である。p0に対する減算ビットは、s0により求められる。図29に示すアレイは、当業者にとって周知である。部分積が2の補数形式であるため、部分積の和についての正しい値を得るために、各部分積は、符号拡張を必要とする。しかしながら、符号拡張は、2つの数を乗算するのに必要とされる回路を増加させる。最上位ビットを反転させること、たとえばビット18におけるp0がp0_bになること、および、18番目のビットにおいて開始する定数10101010…101011を加算すること、すなわち、ビット18に1を加算して各部分積の右に1を加算することによる、各部分積への変更は、必要とされる回路を減らす(さらなる説明は、1997年9月8〜10日付、ベルギー(Belgium)におけるPATMOST’97第7回国際ワークショッププログラム(Seventh International Workshop Program)で提示された、ラファエル・フライド(Rafael Fried)による「高性能並列乗算器における消費電力削減および高速化のためのアルゴリズム(Algorithms for Power Consumption Reduction and Speed Enhancement in High-Performance Parallel Multipliers)」という掲載論文に提示されている。図30は、サブアレイ3012において、変形された部分積のアレイを示す。
択する、相違する全態様を含む。OR対称関数[n,k]は、積のORを取ることであり、ここで各積は、ともにANDにされたn個の変数のうちのk個からなり、これらの積は、n個からk個の変数を選択する、相違する全態様を含む。カウンタの結果ビットに対するXOR対称関数およびOR対称関数の例、すなわち(3,2)カウンタのS1およびS2は以下の通りである。
のサブアレイ3012およびビット列16〜19(3030により表示)からの入力を有する4個の[11,4]カウンタ3520、3522、3524、および3526が存在する。図35Aはまた、図30のサブアレイ3014およびビット列16〜19からの入力を有する4個の圧縮プログラム3540、3542、3544、および3546を示す。ビット19および[4,2]圧縮プログラム3544に注目すると、圧縮プログラム3544は入力として、[11,4]カウンタ3520からS4と、[11,4]カウンタ3522からS3と、[11,4]カウンタ3524からS2と、[11,4]カウンタ3526からS1とを受取る。
3564、およびS1 3566が圧縮プログラム3544内に入力として選択される理由は、カウンタの入力重みをアライメントするためであり、それにより、これらの重みは正しく共に加算され得る。たとえば、ビット18からのS2は、ビット19からのS1と同じ重みを有する。これらの4個のビット3560、3562、3564、および3566は、圧縮プログラム3542からのキャリービットCIN3570と共に圧縮プログラム3544内でともに加算され、その総和が合計ビットS3580、キャリービットC3582、および別のキャリービットCOUT3584として出力され、この別のキャリービットCOUT3584は、圧縮プログラム3546に送られる。4個の点線のボックス3012、3014、3016、および3018は、図30内の4個のサブアレイを表わす。段1内の入力は、点線の円3558内に示され、図30のサブアレイ3012内のビット列18内にある要素に対応する。入力3560、3562、3564、および3566は、サブアレイ3014内のビット例19内にある要素s13、s12、s11、およびs10に対応する。入力CIN3570、3572、および3574は、サブアレイ3016内のビット列19内にある要素s20、s30、およびs31に対応する。出力S3580およびC3582は、サブアレイ3018内のそれぞれビット列19および20内にある要素s31およびs30に対応する。
B、およびZ_bを反転する。インバータ3742の後にキャリービット(C)を生じる差動マルチプレクサ3740とともに、差動XORゲート3726および3728が存在する。ブロック3720内の2つの差動XORゲート3722および3724は、減算が行なわれる場合に、Zを反転する。XOR3744は、XOR3726および3728の出力と、インバータ3732および3734を介してブロック3720の出力とを受取り、インバータ3746の後に1ビットの合計Sを生じる。
一般に、従来の高速キャリールックアヘッド加算器に関し、生成関数が以下により提示される。
加算器の設計と、図31〜図35Bに示すものを含むカウンタおよび圧縮プログラムの設計とは、カリフォルニア州(California)、レッドウッド市(Redwood City)のアリスマティカ社(Arithmatica Inc.)から入手可能である。以下の文書、すなわち、UK特許公開GB2,373,883、UK特許公開GB2383435、UK特許公開GB2365636、US特許出願公開番号第2002/0138538号、およびUS特許出願公開番号第2003/0140077号は、アリスマティカ社から入手可能な加算器/減算器、カウンタ、圧縮プログラム、および乗算器回路のいくつかの局面を詳細に説明する。
Claims (15)
- 集積回路であって、
第1のデジタル信号処理(DSP)素子と第2のDSP素子とを含む複数のDSP素子を含み、各DSP素子は実質的に同一の構造を有し、各DSP素子は、スイッチに接続されるハードワイヤード乗算器を含み、前記スイッチはハードワイヤード加算器に接続され、前記スイッチはレジスタを用いるよう構成され、前記集積回路はさらに、
前記第1のDSP素子を前記第2のDSP素子に接続する専用信号線を含む、集積回路。 - 前記スイッチは、前記ハードワイヤード加算器への入力を選択する1つ以上のマルチプレクサを含む、請求項1に記載の集積回路。
- 前記レジスタはopmodeを格納する、請求項2に記載の集積回路。
- 前記第1のDSP素子の第1のスイッチは第1のopmodeによって構成され、前記第1のDSP素子の第2のスイッチは第2のopmodeによって構成される、請求項3に記載の集積回路。
- 複数の構成可能機能ブロックと、
前記複数の構成可能機能ブロックのいくつかを接続するプログラマブル配線リソースとをさらに含む、請求項1に記載の集積回路。 - 前記第1のDSP素子はさらに、前記プログラマブル配線リソースと前記専用信号線とに接続される出力ポートを含む、請求項5に記載の集積回路。
- 前記第1のDSP素子はフィードバックポートをさらに含み、前記フィードバックポートは前記第1のDSP素子の前記出力ポートに接続される、請求項6に記載の集積回路。
- 前記第1のDSP素子は、入力データレートでデータを受けるための入力データポートを含み、
前記第1のDSP素子の前記ハードワイヤード乗算器は入力ポートに結合され、
前記第1のDSP素子のレジスタは前記入力データレートの大きさのオーダ内で異なった経路を構成可能であり、
前記第2のDSP素子の前記ハードワイヤード加算器は、前記第1のDSP素子の前記ハードワイヤード加算器に結合される、請求項1に記載の集積回路。 - 前記第1のDSP素子は、前記第1のDSP素子の前記ハードワイヤード加算器と前記第1のDSP素子の前記スイッチとに結合される出力ポートをさらに含む、請求項8に記載の集積回路。
- 前記第1のDSP素子は、前記第1のDSP素子の前記入力データポートと前記第1のDSP素子の前記ハードワイヤード乗算器との間に結合されるプログラマブルルーティング論理をさらに含む、請求項8に記載の集積回路。
- 前記プログラマブルルーティング論理は、前記第1のDSP素子の前記入力データポートを前記第1のDSP素子の前記スイッチに直接接続する、請求項10に記載の集積回路。
- 前記集積回路はプログラマブル論理装置(PLD)である、請求項8に記載の集積回路。
- 前記複数のDSP素子の各DSP素子は、多重化回路を含み、前記多重化回路は、
第1のマルチプレクサ入力と、
第2のマルチプレクサ入力と、
マルチプレクサ出力と、
選択入力とを有し、
前記ハードワイヤード加算器は、前記マルチプレクサ出力に接続される第1の加数入力と第2の加数入力とを有し、
前記レジスタは、複数のコマンドを有し、前記選択入力に接続され、前記コマンドは、前記第1のマルチプレクサ入力または前記第2のマルチプレクサ入力のいずれかを前記マルチプレクサ出力に接続するためのものであり、
前記複数の接続されたDSP素子の前記第1のDSP素子は、前記複数の接続されたDSP素子の前記第2のDSP素子に接続される、請求項1に記載の集積回路。 - 各DSP素子の前記ハードワイヤード乗算器は、前記第1のマルチプレクサ入力に接続される、請求項13に記載の集積回路。
- 各DSP素子は、前記ハードワイヤード乗算器および前記第2のマルチプレクサ入力に接続される前記DSP素子への入力をさらに含む、請求項14に記載の集積回路。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53315303P | 2003-12-29 | 2003-12-29 | |
US53318103P | 2003-12-29 | 2003-12-29 | |
US53328003P | 2003-12-29 | 2003-12-29 | |
PCT/US2004/043113 WO2005066832A2 (en) | 2003-12-29 | 2004-12-21 | Integrated circuit with cascading dsp slices |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007522699A JP2007522699A (ja) | 2007-08-09 |
JP2007522699A5 JP2007522699A5 (ja) | 2008-02-14 |
JP4664311B2 true JP4664311B2 (ja) | 2011-04-06 |
Family
ID=34753688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006547306A Active JP4664311B2 (ja) | 2003-12-29 | 2004-12-21 | カスケード接続するdspスライスを備えた集積回路 |
Country Status (4)
Country | Link |
---|---|
EP (2) | EP1700231B1 (ja) |
JP (1) | JP4664311B2 (ja) |
CA (1) | CA2548327C (ja) |
WO (1) | WO2005066832A2 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7853636B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
US7870182B2 (en) | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
US8495122B2 (en) | 2003-12-29 | 2013-07-23 | Xilinx, Inc. | Programmable device with dynamic DSP architecture |
US7860915B2 (en) | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
US7844653B2 (en) | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
US7853632B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
US7853634B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
US7865542B2 (en) | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
US7840630B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
US7882165B2 (en) | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
US7840627B2 (en) | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
US7849119B2 (en) | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
US7467177B2 (en) | 2003-12-29 | 2008-12-16 | Xilinx, Inc. | Mathematical circuit with dynamic rounding |
US8266198B2 (en) * | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US8266199B2 (en) * | 2006-02-09 | 2012-09-11 | Altera Corporation | Specialized processing block for programmable logic device |
US7930336B2 (en) | 2006-12-05 | 2011-04-19 | Altera Corporation | Large multiplier for programmable logic device |
US8386553B1 (en) | 2006-12-05 | 2013-02-26 | Altera Corporation | Large multiplier for programmable logic device |
US7394287B1 (en) * | 2007-05-21 | 2008-07-01 | Altera Corporation | Programmable logic device having complex logic blocks with improved logic cell functionality |
US8539011B1 (en) | 2007-07-19 | 2013-09-17 | Xilinx, Inc. | Device having programmable logic for implementing arithmetic functions |
US8117247B1 (en) | 2007-07-19 | 2012-02-14 | Xilinx, Inc. | Configurable arithmetic block and method of implementing arithmetic functions in a device having programmable logic |
US8010590B1 (en) * | 2007-07-19 | 2011-08-30 | Xilinx, Inc. | Configurable arithmetic block and a method of implementing a configurable arithmetic block in a device having programmable logic |
KR101265120B1 (ko) * | 2008-01-31 | 2013-05-16 | 후지제롯쿠스 가부시끼가이샤 | 재구성 가능한 디바이스 |
US8959137B1 (en) | 2008-02-20 | 2015-02-17 | Altera Corporation | Implementing large multipliers in a programmable integrated circuit device |
US8543635B2 (en) | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
US8479133B2 (en) | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
US8805916B2 (en) * | 2009-03-03 | 2014-08-12 | Altera Corporation | Digital signal processing circuitry with redundancy and bidirectional data paths |
KR101462157B1 (ko) | 2009-12-18 | 2014-11-20 | 한국전자통신연구원 | Mac 연산을 포함하는 연산 장치, 이를 이용한 dsp 구조 및 필터링 방법 |
US8120382B2 (en) * | 2010-03-05 | 2012-02-21 | Xilinx, Inc. | Programmable integrated circuit with mirrored interconnect structure |
US8862650B2 (en) | 2010-06-25 | 2014-10-14 | Altera Corporation | Calculation of trigonometric functions in an integrated circuit device |
US20120290819A1 (en) * | 2011-05-09 | 2012-11-15 | Altera Corporation | Dsp block with embedded floating point structures |
US9600278B1 (en) | 2011-05-09 | 2017-03-21 | Altera Corporation | Programmable device using fixed and configurable logic to implement recursive trees |
US9053045B1 (en) | 2011-09-16 | 2015-06-09 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US8949298B1 (en) | 2011-09-16 | 2015-02-03 | Altera Corporation | Computing floating-point polynomials in an integrated circuit device |
US9098332B1 (en) | 2012-06-01 | 2015-08-04 | Altera Corporation | Specialized processing block with fixed- and floating-point structures |
US8996600B1 (en) | 2012-08-03 | 2015-03-31 | Altera Corporation | Specialized processing block for implementing floating-point multiplier with subnormal operation support |
US9207909B1 (en) | 2012-11-26 | 2015-12-08 | Altera Corporation | Polynomial calculations optimized for programmable integrated circuit device structures |
US9189200B1 (en) | 2013-03-14 | 2015-11-17 | Altera Corporation | Multiple-precision processing block in a programmable integrated circuit device |
US9348795B1 (en) | 2013-07-03 | 2016-05-24 | Altera Corporation | Programmable device using fixed and configurable logic to implement floating-point rounding |
US9684488B2 (en) | 2015-03-26 | 2017-06-20 | Altera Corporation | Combined adder and pre-adder for high-radix multiplier circuit |
US10942706B2 (en) | 2017-05-05 | 2021-03-09 | Intel Corporation | Implementation of floating-point trigonometric functions in an integrated circuit device |
JP6553694B2 (ja) | 2017-09-25 | 2019-07-31 | Necスペーステクノロジー株式会社 | プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法 |
JP6820875B2 (ja) | 2018-03-09 | 2021-01-27 | 株式会社東芝 | 計算装置 |
US11288220B2 (en) * | 2019-10-18 | 2022-03-29 | Achronix Semiconductor Corporation | Cascade communications between FPGA tiles |
JP7254993B2 (ja) | 2020-12-11 | 2023-04-10 | 株式会社東芝 | 計算装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000512097A (ja) * | 1996-06-07 | 2000-09-12 | シストリックス リミテッド | 現場においてプログラム可能なプロセッサ |
US20030055861A1 (en) * | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
JP2003209467A (ja) * | 2001-09-18 | 2003-07-25 | Altera Corp | マルチプライヤを含んだプログラマブルロジックデバイスならびにそのリソース使用を低減するための構成 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04266151A (ja) * | 1991-02-21 | 1992-09-22 | Nec Corp | 信号処理用集積回路 |
JPH05324694A (ja) * | 1992-05-19 | 1993-12-07 | Tomochika Fujioka | 再構成可能並列プロセッサ |
US5339264A (en) | 1992-07-27 | 1994-08-16 | Tektronix, Inc. | Symmetric transposed FIR digital filter |
US5682107A (en) | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
JPH08287037A (ja) * | 1995-04-12 | 1996-11-01 | Matsushita Electric Ind Co Ltd | デジタル信号処理プロセッサ |
US5754459A (en) | 1996-02-08 | 1998-05-19 | Xilinx, Inc. | Multiplier circuit design for a programmable logic device |
US5963050A (en) | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US5914616A (en) | 1997-02-26 | 1999-06-22 | Xilinx, Inc. | FPGA repeatable interconnect structure with hierarchical interconnect lines |
US6362650B1 (en) | 2000-05-18 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for incorporating a multiplier into an FPGA |
GB2365636B (en) | 2000-08-04 | 2005-01-05 | Automatic Parallel Designs Ltd | A parallel counter and a multiplication logic circuit |
GB2373602B (en) | 2001-03-22 | 2004-11-17 | Automatic Parallel Designs Ltd | A multiplication logic circuit |
GB2373883A (en) | 2001-03-27 | 2002-10-02 | Automatic Parallel Designs Ltd | Logic circuit for performing binary addition or subtraction |
GB2383435A (en) | 2001-12-18 | 2003-06-25 | Automatic Parallel Designs Ltd | Logic circuit for performing modular multiplication and exponentiation |
US6920627B2 (en) | 2002-12-13 | 2005-07-19 | Xilinx, Inc. | Reconfiguration of a programmable logic device using internal control |
-
2004
- 2004-12-21 EP EP04815225A patent/EP1700231B1/en active Active
- 2004-12-21 WO PCT/US2004/043113 patent/WO2005066832A2/en not_active Application Discontinuation
- 2004-12-21 CA CA2548327A patent/CA2548327C/en active Active
- 2004-12-21 JP JP2006547306A patent/JP4664311B2/ja active Active
- 2004-12-21 EP EP10012360.3A patent/EP2306331B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000512097A (ja) * | 1996-06-07 | 2000-09-12 | シストリックス リミテッド | 現場においてプログラム可能なプロセッサ |
US6449708B2 (en) * | 1996-06-07 | 2002-09-10 | Systolix Limited | Field programmable processor using dedicated arithmetic fixed function processing elements |
US20030055861A1 (en) * | 2001-09-18 | 2003-03-20 | Lai Gary N. | Multipler unit in reconfigurable chip |
JP2003209467A (ja) * | 2001-09-18 | 2003-07-25 | Altera Corp | マルチプライヤを含んだプログラマブルロジックデバイスならびにそのリソース使用を低減するための構成 |
Also Published As
Publication number | Publication date |
---|---|
EP1700231B1 (en) | 2012-10-17 |
WO2005066832A3 (en) | 2006-01-19 |
CA2548327C (en) | 2015-10-20 |
CA2548327A1 (en) | 2005-07-21 |
JP2007522699A (ja) | 2007-08-09 |
EP2306331B1 (en) | 2018-05-02 |
EP1700231A2 (en) | 2006-09-13 |
EP2306331A1 (en) | 2011-04-06 |
WO2005066832A2 (en) | 2005-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4664311B2 (ja) | カスケード接続するdspスライスを備えた集積回路 | |
US7472155B2 (en) | Programmable logic device with cascading DSP slices | |
US8495122B2 (en) | Programmable device with dynamic DSP architecture | |
US7467175B2 (en) | Programmable logic device with pipelined DSP slices | |
US7467177B2 (en) | Mathematical circuit with dynamic rounding | |
US7480690B2 (en) | Arithmetic circuit with multiplexed addend inputs | |
US7567997B2 (en) | Applications of cascading DSP slices | |
US6066960A (en) | Programmable logic device having combinational logic at inputs to logic elements within logic array blocks | |
JP3613396B2 (ja) | 機能ブロック | |
US7372297B1 (en) | Hybrid interconnect/logic circuits enabling efficient replication of a function in several sub-cycles to save logic and routing resources | |
US6154049A (en) | Multiplier fabric for use in field programmable gate arrays | |
EP1397863B1 (en) | Reconfigurable logic device | |
JP5956820B2 (ja) | 埋込み浮動小数点構造を有するdspブロック | |
CN110716707A (zh) | 前缀网络定向的加法 | |
US20210173617A1 (en) | Logarithmic Addition-Accumulator Circuitry, Processing Pipeline including Same, and Methods of Operation | |
US8463836B1 (en) | Performing mathematical and logical operations in multiple sub-cycles | |
GB2555459A (en) | Division synthesis | |
US8533250B1 (en) | Multiplier with built-in accumulator | |
Vazquez et al. | Efficient implementation of parallel BCD multiplication in LUT-6 FPGAs | |
US7818361B1 (en) | Method and apparatus for performing two's complement multiplication | |
EP1927046A2 (en) | Full-adder modules and multiplier devices using the same | |
US7765249B1 (en) | Use of hybrid interconnect/logic circuits for multiplication | |
US9606608B1 (en) | Low power optimizations for a floating point multiplier | |
Tatas et al. | Architecture design of a coarse-grain reconfigurable multiply-accumulate unit for data-intensive applications | |
Abbasi et al. | FPGA design, simulation and prototyping of a high speed 32-bit pipeline multiplier based on Vedic mathematics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101125 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110106 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4664311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |