JP2002073531A - フィールドプログラマブルゲートアレイ(fpga)におけるマルチマスタ・マルチスレーブシステムバス - Google Patents

フィールドプログラマブルゲートアレイ(fpga)におけるマルチマスタ・マルチスレーブシステムバス

Info

Publication number
JP2002073531A
JP2002073531A JP2001159002A JP2001159002A JP2002073531A JP 2002073531 A JP2002073531 A JP 2002073531A JP 2001159002 A JP2001159002 A JP 2001159002A JP 2001159002 A JP2001159002 A JP 2001159002A JP 2002073531 A JP2002073531 A JP 2002073531A
Authority
JP
Japan
Prior art keywords
master
system bus
gate array
programmable gate
field programmable
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.)
Pending
Application number
JP2001159002A
Other languages
English (en)
Inventor
Barry K Britton
ケヴィン ブリットン バリー
Zheng Chen
チェン ゼン
James F Hoff
フレデリック ホフ ジェームス
Ravikumar K Charath
ケー.チャラス ラヴィクマー
Cort D Lansenderfer
デー.ランセンダーファー コート
Don Mccarley
マッカーレイ ドン
George Staby Richard
ジョージ スタビー リチャード
David Yan Yu-Yuan
ディヴィッド ヤン ユー−ユアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agere Systems LLC
Original Assignee
Agere Systems Guardian Corp
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 Agere Systems Guardian Corp filed Critical Agere Systems Guardian Corp
Publication of JP2002073531A publication Critical patent/JP2002073531A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/017581Coupling arrangements; Interface arrangements programmable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17724Structural details of logic blocks
    • H03K19/17732Macroblocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/1778Structural details for adapting physical parameters
    • H03K19/17788Structural details for adapting physical parameters for input/output [I/O] voltages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/1778Structural details for adapting physical parameters
    • H03K19/17792Structural details for adapting physical parameters for operating speed
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/099Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
    • H03L7/0995Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator comprising a ring oscillator
    • H03L7/0996Selecting a signal among the plurality of phase-shifted signals produced by the ring oscillator
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 より能率的で速いインプリメンテーションお
よびより優れたアクセス手段を可能にするよりフレキシ
ブルなFPGA装置を提供する。 【解決手段】 FPGA内の複数の埋込マスタ素子およ
び少なくとも一つのスレーブ素子間に埋込システムバス
を組み込むと共に、複数の埋込スレーブ素子のいずれに
もダイレクトアクセスを可能にする外部プロセッサイン
タフェースを供給する。この埋込システムバスを用いる
と、複数のマスタのいずれもが埋込FPGA論理等の埋
込素子をプログラムできるようになる。この埋込システ
ムバスは、通常データ、アドレスおよび制御からなる信
号群であり、システム素子を互いに接続してデータフロ
ーの基本プロトコルを供給する。すなわち、該埋込シス
テムバスは、FPGA装置の制御、コンフィギュレーシ
ョンおよびステータス確定を考慮したものである。該埋
込システムバスは、各種埋込システムコンポーネント間
の通信を可能すべく、何時でも調停アクセスに有効な専
用機能とするのが好ましい。

Description

【発明の詳細な説明】
【0001】
【関連出願の相互参照】本願は、「新規フィールドプロ
グラマブルゲートアレイ」と題する2000年5月26
日出願の米国出願番号60/207,371の優先権を
主張するものである。
【0002】
【発明の属する技術分野】本発明は、一般的にフィール
ドプログラマブルゲートアレイ(FPGA)に関し、特
に、FPGA内への改良アーキテクチャーおよび機能の
インプリメンテーションに関するものである。
【0003】
【従来の技術】フィールドプログラマブルゲートアレイ
(FPGA)はプログラマブル集積回路であり、カスタ
マイズされた論理アレイおよび特定顧客に対する機能を
提供する。図4は従来のフィールドプログラマブルゲー
トアレイ(FPGA)を表したものである。
【0004】特に、図4に示すように、FPGA400
は通常四つの異なる機構を備える。すなわち、コンフィ
ギュレーションメモリ406、入出力ブロック408−
414、コンフィギャラブル論理ブロック404、およ
び内部コンポーネント間のルーチングネットワーク40
2からなる。
【0005】コンフィギュレーションメモリ406は、
FPGA400の素子および一外部制御装置(プログラ
マ等)間にアクセス手段を提供する。そして、このコン
フィギュレーションメモリ406の内容に基づき、コン
フィギャラブル論理ブロック404の各種論理機能がイ
ネーブルされ、ルーチングネットワーク402の構成を
介して相互に配線される。同様に、ある特定の論理ブロ
ックには各種タイプの入出力装置408−414を介し
て入出力アクセス出段が提供される。これら入出力アク
セスは、コンフィギュレーションメモリ406およびル
ーチングネットワーク402の提供するルーチング双方
によって決定される。
【0006】コンフィギュレーションメモリ406は、
例えば、スタティックRAM(SRAM)等である。コ
ンフィギュレーションメモリビットは、各素子またはコ
ンフィギャラブル論理ブロック404の埋込素子内のス
イッチをオンまたはオフし、FPGA400の素子間の
ルーチングを設定し、FPGA400の機能を指定す
る。
【0007】一般的に、コンフィギュレーションメモリ
406の個々のメモリビットはFPGA装置400の所
望の機能を指定する。従来、これらコンフィギュレーシ
ョンメモリビットは、コンフィギュレーションメモリ
(SRAM等)406に直づけされたデータラインおよ
びアドレスラインを用い、外部ソースから外部バス42
0を通じて一時に一つローディングされる。全ての埋込
素子は、コンフィギュレーションメモリ406に対する
同一フォーマットを用いて同様にプログラミングされ
る。
【0008】コンフィギュレーションメモリ406の他
のタイプとしては、EPROMまたはEEPROM、反
溶融、溶融またはその他タイプの記憶デバイス等が通常
含まれ、単発プログラム性能または多重再プログラム性
能を提供する。また、コンフィギュレーションメモリ4
06は一つ以上のタイプのメモリ(SRAMおよびEE
PROM等)から形成されていてもよい。
【0009】また、従来、入出力ブロック408−41
4は、FPGA400の内部埋込コンポーネントおよび
外部装置間を直接接続するものである。これら入出力ブ
ロック408−414はハード配線されたもの、および
/またはコンフィギュレーションメモリ406に格納さ
れたユーザ指示によるコンフィギュレーションに基づい
て構成され、ルーチングされるものでもよい。
【0010】コンフィギュレーションメモリ406は、
FPGA400の利用に先立ちローディングまたはプロ
グラミングされる。すなわち、FPGA400が構成さ
れるまで、単一プログラミング装置以外の外部装置はF
PGA400の埋込素子(例えばコンフィギャラブル論
理ブロック404)と通信を行うことはできない。
【0011】ルーチングネットワーク402は、コンフ
ィギュレーションメモリ406によってプログラム可能
に定義付けされ、FPGAの内部論理ブロック間の信号
手順を決める。すなわち、ルーチングネットワーク40
2は、FPGA400の各種内部埋込コンポーネント間
の信号トラヒックを導くものである。このルーチングネ
ットワーク402は、箇所によっては直接接続、すなわ
ちハード配線されたものでも、および/またはユーザに
よって全てプログラム可能なものであってもよい。
【0012】FPGA装置は、多くの場合、コンフィギ
ュレーションメモリ406に加えて埋込式ランタイムメ
モリ450を備える。この埋込式ランタイムメモリ45
0はFPGA400のコンフィギュレーションが完了す
るまでアクセス可能となる。さらに、コンフィギュレー
ションメモリ406は、FPGA装置400の動作中通
常再プログラミングされることはない。
【0013】FPGA装置400は通常以下のようにプ
ログラムされる。すなわち、適当なコンフィギュレーシ
ョンおよびルーチングソフトウェアアプリケーションを
用いてユーザの個別要求を入力し、通常「分割」、「配
置」および「ルート割当」と称される手順によってルー
チングの最良コンフィギュレーションを決定し、最終的
に該ユーザの個別要求を満たすようにFPGA400の
各素子を構成する。
【0014】FPGAの最近年の展開としてあるのがF
PSCであり、これはフィールドプログラマブル論理を
ASICと組み合わせたもの、あるいはマスクプログラ
ム論理を単一装置に組み込んだものである。FPSC
は、特定用途向け集積回路(ASIC)に本来備わって
いるスピード、設計密度および経済性を提供すると共
に、市場への速歩性、FPGAに固有のフレキシビリテ
ィ、およびソフトウェア駆動コア使用に伴う設計労力の
節約を実現する。
【0015】FPSC内の埋込コアとしては多くの形態
が考えられる。一般的にFPSC内で利用可能な埋込コ
アはASICライブラリから選択されるが、オーダーメ
イドされた一つ以上の独占使用向けコア、あるいはユー
ザが供給する特殊な埋込コアを含むような特定顧客向け
のFPSCも開発可能である。
【0016】
【発明が解決しようとする課題】従来装置においては、
特定用途向けブロック(ASBブロック)およびコンフ
ィギュレーションメモリの事前プログラミングがコンフ
ィギュレーション論理を通して実行されていた。しかし
ながら、従来のFPGAコンフィギュレーション論理
は、コンフィギュレーション後のFPGAコンポーネン
トによるアクセスまたは動作には利用できず、非能率的
で遅いインプリメンテーションとなってしまう。さら
に、図4に示すように、従来のFPGA400あるいは
FPSCの機能は、該装置のコンフィギュレーションメ
モリ406にダイレクトアクセス手段を有するただ一つ
のマスタ装置(例えば、マイクロプロセッサ等)のみに
よってプログラムされるもので、動作中の再コンフィギ
ュレーションは不可能であった。
【0017】このため、より能率的で速いインプリメン
テーションおよびより優れたアクセス手段を可能にする
よりフレキシブルなFPGA装置への要求があった。
【0018】
【課題を解決するための手段】本発明によれば、複数の
マスタおよび/またはスレーブ素子と、該複数のマスタ
およびスレーブ素子間の埋込式システムバスとを備える
フィールドプログラマブルゲートアレイが提供される。
該フィールドプログラマブルゲートアレイに対して外部
にある装置から該埋込式システムバスへのアクセス手段
は外部インタフェースによって提供される。
【0019】また、本発明の他の様態によれば、フィー
ルドプログラマブルゲートアレイ内の複数のマスタおよ
び/またはスレーブ素子のいずれか一つに外部アクセス
する方法が提供される。該方法は、複数のマスタおよび
/またはスレーブ素子間に埋込式システムバスを供給す
る工程を含む。外部インタフェースは該システムバス上
に設けられる。外部インタフェースは、埋込式システム
バスと、フィールドプログラマブルゲートアレイに対し
て外部にある装置との間にアクセス手段を提供する。こ
の外部インタフェースは別のマスタ素子である。これに
より、FPGAコンフィギュレーションの状態に左右さ
れることなく全てのアクセスが可能となる。
【0020】
【発明の実施の形態】従来のフィールドプログラマブル
ゲートアレイ(FPGA)装置は、単一の内部(埋込)
素子、すなわちコンフィギュレーションメモリに対して
外部からのアクセス手段を提供するものである。すなわ
ち、従来のFPGA装置は、外部装置およびコンフィギ
ュレーションメモリ以外の埋込素子間のデータ、アドレ
スおよび制御手段を提供する埋込式システムバスを備え
ていない。
【0021】本開示の実施形態において、SRAM搭載
のFPGAは、論理、クロック、ルーチング、RAMお
よびシステムレベルブロックの階層アーキテクチャを備
えており、FPGAおよびASIC設計におけるシーム
レスな併合を実現する。
【0022】該FPGAアーキテクチャは以下の四つの
基本要素からなる。すなわち、プログラマブル論理セル
(PLC),プログラマブル入出力セル(PIO)、埋
込ブロックRAM(EBR)、そしてグローバルおよび
ローカル配線と相互接続されたシステムレベル機構から
なる。
【0023】PLCアレイは共通インタフェースブロッ
クに取り囲まれ、該共通インタフェースブロックによっ
て近接PCLまたはシステムブロックへのおびただしい
インタフェース接続手段が提供される。各PCLは、例
えばPFU、SLIC、自ルーチングリソースおよびコ
ンフィギュレーションRAM等を備える。
【0024】この場合、FPGA論理の大部分はPFU
内で実行されることになるが、デコーダ、PAL様機
能、およびトライステートバッファリングをSLICに
て行うこともできる。また、PIOは装置入出力を提供
するもので、信号登録、入力多重分離、アップリンク・
ダウンリンク機能、および二出力信号による他の機能を
実行するのにも利用できる。
【0025】本発明は、複数の埋込マスタおよび/また
はスレーブ素子間の埋込式システムバスをFPGA装置
内に組み込むと共に、外部プロセッサインタフェースを
提供して複数の埋込素子のいずれへのアクセスも可能に
するものである。すなわち、コンフィギュレーションメ
モリの状態に関わらず、これら素子へのアクセスが可能
となる。マスタ素子は埋込システムバスを制御するもの
であり、スレーブ素子は該バスを制御することができな
い。
【0026】該埋込式マルチマスタ・マルチスレーブシ
ステムバスは、FPGA内の各種オンチップシステム素
子を互いに接続し、それらの効率、有用性およびスピー
ドを増す。該埋込式マルチマスタ・マルチスレーブシス
テムバスを用いると、従来のFPGAでは一つのマスタ
(例えばプロセッサ)だけがコンフィギュレーション中
コンフィギュレーションメモリをプログラムできたのに
対して、複数のマスタのいずれもが、コンフィギュレー
ション中あるいは通常動作中の如何を問わず、埋込スレ
ーブ素子、例えば埋込ブロックRAM(EBR)をプロ
グラムすることができる。
【0027】埋込式マルチマスタ・マルチスレーブシス
テムバスは、通常データ、アドレスおよび制御の信号群
であり、システム素子を互いに接続し、データフローの
基本プロトコルを供給する。すなわち、該埋込式マルチ
マスタ・マルチスレーブシステムバスは、FPGA装置
の制御、コンフィギュレーションおよびステータス確定
を考慮したものである。該埋込式マルチマスタ・マルチ
スレーブシステムバスは、各種埋込システムコンポーネ
ント間の通信を可能すべく、何時でも調停アクセスに有
効な専用機能とするのが好ましい。
【0028】図1は本発明に係わるマルチマスタ・マル
チスレーブフィールドプログラマブルゲートアレイ(F
PGA)を示し、図2は該マルチマスタ・マルチスレー
ブFPGAの詳細図である。
【0029】特に、図1および図2は、埋込素子(例え
ば、FPGAコンフィギュレーションコントローラ12
0、ユーザマスタ・スレーブ論理インタフェース130
および/またはFPSCマスタ/スレーブインタフェース
140等)に対して外部ダイレクトアクセスを可能にす
る埋込式マルチマスタ・マルチスレーブシステムバス1
70を示す。さらに、重要なことは、外部マイクロプロ
セッサインタフェース(MPI)150が、該埋込式マ
ルチマスタ・マルチスレーブシステムバス170と一つ
以上の外部プロセッサとの間に供給されていることであ
る。
【0030】該オンチップ埋込式マルチマスタ・マルチ
スレーブシステムバス170は、例えば、1ビットパリ
ティ付き8ビットシステムバスであり、MPI150、
コンフィギュレーション論理120、FPGA制御20
2、ステータスレジスタ204、埋込ブロックRAM1
72および/またはユーザ定義論理128間の通信を促
進する。もちろん、該マルチマスタ・マルチスレーブシ
ステムバス170が異なる幅のもの、例えば16ビット
や32ビット幅のものでもよい。ここに開示された埋込
式マルチマスタ・マルチスレーブシステムバスは、AM
BA規格、Rev. 2.0AHBプロトコルを採用する
が、もちろん他のバスプロトコルでも可能であり、それ
らは本発明の範囲内で想到されるものである。
【0031】バスクロックは、MPIクロック、(スレ
ーブコンフィギュレーションモード用の)コンフィギュ
レーションクロック、内部発振器、ルーチングからのユ
ーザクロック、FPSC ASBクロック、または(例
えば、JTAGコンフィギュレーションモード用の)ポ
ートクロックのいずれをソースとして発生されるもので
もよい。
【0032】埋込システムバス制御レジスタ204およ
びバスコントローラ202はFPGA装置100に対す
る制御を行う。例えば、再プログラミング、リセット機
能およびPLLプログラミングを制御する。ステータス
レジスタは、例えばINIT、DONE、およびシステ
ムバスエラーを監視する。
【0033】また、割込コントローラをバスコントロー
ラ202に組み込んで、例えば八つまで実行可能な割込
リソースを供給するようにしてもよい。
【0034】MPI150は、例えば、一外部マイクロ
プロセッサインタフェース160と、複数の埋込マスタ
素子のいずれかとの間でダイレクトアクセスを可能にす
る。MPI150は、埋込システムバス170および埋
込スレーブ素子、例えば、EBR172、バスレジスタ
204およびユーザスレーブ論理130等と共に、シス
テムレベルの機能を提供する。また、MPI150は、
FPGA装置100および外部プロセッサ(例えば、マ
イクロプロセッサ、マイクロコントローラ、ディジタル
信号プロセッサ(DSP)等)間に接着のないインタフ
ェースを提供する。該MPI150は、FPGA制御や
FPGAステータスの監視のためだけでなく、コンフィ
ギュレーション、プログラミングおよび読取にも使用可
能である。MPI処理には、例えば、66MHz実行レ
ベルで動作するような埋込システムバス170を利用す
る。
【0035】MPI150は、該埋込システムバス17
0によるコンフィギュレーションに続くFPGAのユー
ザ定義論理128に対してシステムレベルのマイクロプ
ロセッサインタフェースを提供する。該システムレベル
のマイクロプロセッサインタフェースは、埋込ブロック
RAM172および汎用ユーザ論理128へのアクセス
を含む。MPI150は、データFIFOを備えること
により、該インタフェースを介した短く不規則なデータ
の伝送を可能にするよう、バーストデータ読み書き転送
手段をサポートしているのが好ましい。
【0036】埋込システムバス170上の埋込素子はマ
スタまたはスレーブ装置として考えることができ、マス
タは該埋込システムバス上のトラヒックの制御に従事
し、スレーブはマスタからの要求に応じる。所定の実施
形態では、コンフィギュレーションコントローラ120
が、埋込システムバス170へのアクセス調停において
他のマスタ素子に対して最優先されるマスタ装置として
指定される。
【0037】埋込システムバス上の(MPI150を除
く)埋込マスタ素子の例として、例えば、ユーザ定義の
埋込FPGAマスタ論理128に対するユーザ論理イン
タフェース、FPGAコンフィギュレーション論理12
4に対するコンフィギュレーションインタフェース12
6、および/またはFPSC埋込式ASICコア(AS
B)140へのアクセス手段をオプションとして提供す
るFPSCインタフェース142等が備えられる。
【0038】また、スレーブ素子の例として、FPSC
埋込式ASICコア(ASB)140、EBRブロック
172、システムステータスおよび制御レジスタ20
4、および/またはユーザ定義のFPGAスレーブ論理
128等が備えられる。また、埋込システムバス170
は、マスタおよびプロセス割込間の調停を行うバスコン
トローラ202も備える。
【0039】実際のインプリメンテーションにおいて
は、埋込システムバス170が真正な双方向性バスであ
っても、あるいは、類似方法にて機能し、一外部プロセ
ッサからFPGAの一埋込素子へのダイレクトアクセス
を可能にするような単なる一組みのポイントツーポイン
ト相互接続であってもよい。
【0040】全ての要求元埋込マスタ素子の内でコンフ
ィギュレーションコントローラ120に最高位の優先順
位が与えられるとするならば、調停ユニット183が埋
込システムバス170の使用に適した調停を実行する。
【0041】該調停ユニット183は複数のマスタ15
0、120、130および140の各々から適宜メモリ
要求信号を受信し、埋込システムバス170の制御を勝
ち取ったマスタのアドレス、データおよび制御信号を選
択する。この勝利マスタは、埋込システムバス170の
制御を要求して該要求が認められたマスタである。マス
タ150、120、130および140の内二つ以上が
同時に埋込システムバス170にアクセス要求をする場
合には、調停ユニット183が適切な規定規則(例え
ば、ラウンドロビン(順繰り)方式)に基づいて勝利マ
スタを決定する。そして、調停ユニット183による調
停処理の終了時、肯定応答信号を通して勝利マスタにそ
のバス所有権を通知する。
【0042】埋込システムバス170上の(コンフィギ
ュレーションコントローラ120以外の)各マスタは、
ユーザ定義の順位を優先するように構成できるものが好
ましい。これらユーザ定義の優先順位は(デフォルトに
よって)同等のものであっても、優先度が異なるもので
あってもよい。優先順位が等しいマスタ素子間では、調
停ユニット183がこれら優先順位の等しいマスタ素子
の中でマスタラウンドロビン調停を実行する。優先順位
の異なるマスタ素子間では、調停ユニット183がこれ
ら要求元のマスタの内から優先順位の高いマスタ装置に
対して第1位を与える。そして、調停ユニット183が
次のバスアクセスを受信するまで、マスタ要求をした最
後のマスタ素子がデフォルトマスタとなる(すなわち、
埋込システムバスの所有権を保持する)。
【0043】マスタ素子間で構成可能な優先順位は、例
えば、FPGA100のコンフィギュレーション後に設
定される。FPGAのコンフィギュレーション前、ある
いはそのコンフィギュレーション中は、コンフィギュレ
ーションコントローラ120が埋込システムバス170
を捕らえ、残りのマスタ装置の優先順位はそれより低く
なる。この時点で、残りのマスタ装置にも同等の優先順
位を与えてもよいが、コンフィギュレーション前または
コンフィギュレーション中はコンフィギュレーションコ
ントローラ120だけに埋込システムバス170の制御
権が与えられて残りのマスタ装置には埋込システムバス
170へのアクセスが許可されないものなので、同等の
優先順位を与えるてもさほど意味はない。
【0044】フィールドプログラマブルシステムチップ
(FPSC)に対して、該埋込システムバス170を一
つ以上の特定用途向けブロック(ASB)コア140に
も接続するよう拡張してもよい。そうすることで、該A
SBブロック140が該プログラマブルアレイの他のシ
ステム素子にアクセスできると共に、その逆も可能とな
る。
【0045】外部的にアクセス可能な埋込式システムバ
ス170は、コンフィギュレーションデータ、ASBオ
プションおよびEBRコンテンツをローディングする能
力と共に、FPGA装置100のコンフィギュレーショ
ン、制御およびステータスを外部プロセッサからMPI
150経由で、あるいはFPGAコンフィギュレーショ
ン前後にASB140によって獲得可能にする。さら
に、その埋込システムバス170を用い、コンフィギュ
レーション後の(外部装置またはMPI150経由の装
置を含む)マスタ素子が埋込スレーブ素子にアクセスで
きるようにしてもよい。
【0046】EBRは、例えば、FPGAコアに埋め込
まれた4ポートRAMブロック等のマルチポートRAM
で、メモリ量を増大させて分布PFUメモリを補充する
ようにしてもよい。本開示の実施形態では、512x1
8の4ポートRAMブロックが実装されている。
【0047】4ポート埋込式ブロックRAM(EBR)
172は、例えば、2ワイヤポート、2リードポート、
および2バイトレーンイネーブル信号を備え4つのポー
ト動作を提供するものでもよい。
【0048】この場合、既存の分布PFUメモリを補充
すべく、4ポートRAMの多数ブロック、例えば512
x18のRAMブロックがFPGAに実装される。RA
M172は少なくとも4つのポートを備え、RAM、R
OM、FIFO、乗算器および/またはCAMとして構
成可能にするのが好ましい。
【0049】また、高速埋込システムバスへの直接接続
と共に、2ワイヤポート間にもオプションで調停を設け
るようにしてもよい。
【0050】また、EBR172に伴い追加論理を備え
させ、例えば、FIFO、定数MPY、あるいは2変数
乗算器の機能を形成するフレキシビリティを与えるよう
にしてもよい。さらに、EBR172はユーザ構成可能
であって、例えば、512k、256k、1k等の奥行
きを備えると共に、非同期または同期モードに対してプ
ログラム可能であって、プログラマブルステータスおよ
びエラーフラッグを備えるのが好ましい。さらにまた、
装置コンフィギュレーション時にEBR172をプリロ
ーディングするようにしてもよい。
【0051】コンフィギュレーション論理120は、バ
スオプションおよびビットストリームチェックと共に、
コンフィギュレーションメモリ120、埋込ブロックR
AM172およびFPSCメモリ144の初期化を考慮
したものである。
【0052】FPGA100の機能は内部(すなわち埋
込)コンフィギュレーションメモリ120によって決定
される。コンフィギュレーションメモリ120は、複数
のコンフィギュレーションモードの一つを用いてローデ
ィングできる。例えば、FPGA100が内部初期化お
よびコンフィギュレーション回路を備え、電源投入時、
またはシステム制御下でコンフィギュレーションデータ
をローディングする。FPGAコンフィギュレーション
データは、電源切断時に例えばEEPROM、あるいは
他のタイプの記憶媒体に外在させることができる。
【0053】本開示の実施形態では、FPGA論理12
8の埋込FPSCブロック140および埋込マルチマス
タ32ビットシステムバス170間にリンクが設けられ
る。埋込システムバス170は、埋込ブロックRAM1
72およびマイクロプロセッサインタフェース150を
含む多数のFPGA論理機能に対するコアのアクセスを
可能にする。
【0054】クロック信号の突起部はFPGA-埋込コ
ア間の境界を横断するもので、FPGAおよび埋込コア
間での高速、低スキューのクロッキングを考慮してい
る。ここで、埋込コアに対して特定信号(例えばDONEお
よびグローバルSET/RESET)を利用可能にし、
該埋込コアとFPGAとを一システムとして完全に一体
化できるようにしてもよい。
【0055】多数の埋込コアコンフィギュレーション
は、装置を再構成するだけでコア機能を変更する機能だ
けでなく、ユーザプログラム可能な制御機能も備えた単
一装置の状態に設計して該単一装置上に該コンフィギュ
レーションを実装してもよい。
【0056】FPGA装置100はプログラマブル入出
力パッド(PIO)を備える。これらプログラマブル入
出力パッドは、例えば、共通インタフェースブロックを
介してFPGA論理アレイ128にインタフェース接続
される。各共通インタフェースブロックは、一PIOブ
ロック、例えば四つのプログラマブル入出力パッドにイ
ンタフェース接続する。
【0057】また、PIOを二組の入出力パッドに分離
させ、各組が独立クロックイネーブル、ローカルセット
・リセット、およびグローバルセット・リセット機能を
備えるようにしてもよい。
【0058】また、入力側で各PIOにプログラマブル
ラッチ/フリップフロップを持たせ、いずれのパッドか
らのデータも敏速にラッチアップできるようにしてもよ
い。各PIOの出力側では、PLCアレイからの出力を
各出力フリップフロップにルーチングし、各入出力を論
理に関連づけることもできる。
【0059】このように、マルチマスタ埋込システムバ
スを用いることにより、来るべきアーキテクチャの拡張
を考慮した専用機構を提供する。さらに、RAMセルに
代えてセットアップレジスタを実装し、各種マスタブロ
ック(すなわち、知的財産(IP)ブロック)へのシス
テムバスアクセスを制御する。さらにまた、通常動作
中、セットアップレジスタに対して、セットアップレジ
スタのレジスタ値を変更してもよい。さらにまた、内部
マルチマスタシステムバスを用いることにより、多量の
データが埋込マスタおよびスレーブ素子間、例えば、A
SBブロックと他の埋込システム素子または外部(すな
わちオフチップ)システム素子との間で転送可能とな
る。マルチマスタ・マルチスレーブ埋込式システムバス
経由のコンフィギュレーションは、バス上で実行される
他の動作、例えばホストプロセッサや埋込コア等の動作
に類似させることによりコンフィギュレーションを簡単
にする。そして、このように構成されたマルチマスタ・
マルチスレーブシステムバスは、外部マイクロプロセッ
サ(MPI)インタフェース150からFPGAコアへ
のFPGAコンフィギュレーションパスを提供する。外
部装置およびFPGA装置100の埋込マスタ・スレー
ブ素子間のこのダイレクトアドレッシング性能はコンフ
ィギュレーションに最大限のフレキシビリティを提供す
る。
【0060】従来の埋込FPSC装置は、FPGAと同
様のフォーマットを用い、FPGAコンフィギュレーシ
ョンメモリビットを通して構成(あるいはプログラム)
されていた。しかしながら、従来のビットストリームフ
ォーマットはEBR初期化をサポートしておらず、FP
SCのメモリ初期化に対してフレキシビリティがなかっ
た。また、旧来技術では、FPGAコンフィギュレーシ
ョンおよび部分コンフィギュレーションに対してもフレ
キシビリティがあまりない。
【0061】しかしながら、本発明に係わる外部アクセ
ス可能な埋込システムバス170を用いることにより、
いずれのコンフィギャラブルメモリ、例えばコンフィギ
ュレーションRAM、EBRおよびFPSCメモリ等
が、所望の順序かつ所望のフォーマットあるいは各メモ
リ素子が前提とするフォーマットで個々プログラム可能
となる。ここで、各メモリ素子は、他のメモリ素子と異
なるプロトコルを用いてプログラムされるのが好まし
い。
【0062】個別プログラミング性を実現するため、本
開示のFPGA装置100は、FPGA論理128、埋
込RAMブロック172および/またはフィールドプロ
グラマブルシステムチップ(FPSC)140に対する
フレキシブルなコンフィギュレーションをサポートでき
る新規のビットストリームフォーマットを提供する。本
発明によれば、これらフォーマットタイプを任意の順序
で混ぜ合わせることができる。ビットストリームフォー
マットの秩序化はユーザによって選択可能である。
【0063】本発明に係わるコンフィギュレーションあ
るいはプログラミングビットストリームフォーマット
は、ユーザがFPGA論理の構成、埋込RAMブロック
の初期化および/または埋込FPSCメモリの構成を行
う際にフレキシビリティを与える。
【0064】従来のFPGA装置では、自動インクリメ
ントモードと明示モード二種類の内の一モードで、FP
GA装置へのコンフィギュレーションビットストリーム
のローディングが可能であった。自動インクリメントモ
ードでは、アドレスフレームがないので、ビットストリ
ームは順次異なるアドレスにデータフレームを送出す
る。明示メードでは、アドレスフレームまたは一群のア
ドレスフレームがビットストリームの各データフレーム
に追従する。このアドレスフレームまたはアドレスフレ
ーム群はそのデータのアドレスを指定するものである。
そして、これらモードの混合は不可能であった。
【0065】いずれにせよ、従来のビットストリーム
は、外部装置からアクセス可能なコンフィギュレーショ
ンメモリにのみ送られるものであった。すなわち、多数
の埋込スレーブ素子に対しての直接的な備えはなく、ま
してや、同一FPGA装置に埋め込まれた個々の素子に
対する異なるプログラミングプロトコルに備えたもので
あるはずもない。
【0066】本発明によれば、複数の埋込スレーブ素子
の各素子は、一ビットストリームフォーマットを用い、
外部装置からコンフィギュレーションコントローラ12
0を介して直接プログラム可能となる。
【0067】特に、本発明の他の様態によれば、コンフ
ィギュレーションビットストリームに多数(例えば三つ
の)異なるタイプのビットストリームフォーマットを含
めることができる。ここでは、フォーマットそれぞれが
各埋込スレーブ素子あるいはコンフィギュレーションメ
モリに個別対応するものとなっている。これは、顧客に
よって供給され、装置の他の埋込素子が従う特定コンフ
ィギュレーションプロトコルに従うかどうかわからない
埋込素子を利用する装置に都合がよい。
【0068】ここで、例えば、あるタイプのビットスト
リームが汎用FPGAコンフィギュレーションメモリの
構成に適し、他のタイプが埋込ブロックRAMの初期化
に適し、さらに他のタイプのビットストリームが埋込F
PSCコアメモリ素子の初期化に適したものとされる。
【0069】本発明によれば、任意の順序、あるいは該
FPGA装置のユーザ所望の順序で個々のメモリ素子を
プログラムできる。このように、コンフィギュレーショ
ンビットストリームは、FPGA部、RAM部および/
またはFPSC部を任意の順序で保持することができ
る。さらに、メモリ素子によっては複数のビットストリ
ームで構成、またはプログラミングし、他を単一ビット
ストリームで構成してもよい。
【0070】個別タイプのビットストリームは該ビット
ストリームにおいて特定される(すなわち、ある個別ビ
ットストリームがどの埋込素子に向けられたものなのか
を特定する)のが好ましい。所定実施形態においては、
各タイプのメモリ素子用ポストアンブルとして必須ヘッ
ダを利用する。
【0071】図3は本発明に係わるビットストリーム例
を示す。特に、図3に示すように、コンフィギュレーシ
ョンコントローラ120を介して埋込システムバス17
0に入力され、任意の、あるいは全てのスレーブ素子お
よびコンフィギュレーションメモリを構成させる例示ビ
ットストリーム300は、プリアンブル302、IDフ
レーム304、ヘッダ306、アドレスフレーム30
8、データフレーム310およびポストアンブル312
を有する。
【0072】プリアンブル302は32ビットまたは2
4ビットカウントを確認する。IDフレームは、埋込シ
ステムバス170に入力される個別ビットストリームが
FPGA装置100の素子タイプとして正しいかを判断
する。
【0073】ヘッダ306はビットストリームフォーマ
ットタイプ(すなわち、FPGA、FPSCあるいはR
AMか)を特定する。
【0074】アドレスフレーム308は含まれるデータ
の開始アドレスおよびデータフレームの長さを特定す
る。本実施形態の例では、アドレスフレーム308は
「00」から始まる。
【0075】データフレーム310は、FPGA装置1
00の個別埋込マスタ素子に関連するコンフィギュレー
ションデータを含む。本実施形態の例では、データフレ
ーム310は「01」から始まる。
【0076】ポストアンブル312は、どんなコンフィ
ギュレーションデータが次のビットストリームに来るか
を特定する。例えば、追加のコンフィギュレーションデ
ータを含む他のビットストリームがあるか、あるいはコ
ンフィギュレーションデータの入力が完了したかどうか
を特定する。本実施形態の例では、「0」から始まるポ
ストアンブル312は追加のデータが後続のビットスト
リームで送られてくることを示し、「00」から始まる
ポストアンブルはコンフィギュレーションデータの入力
が完了したことを示す。
【0077】本開示の実施形態では、三つの典型的なメ
モリタイプが本発明に係わるマルチスレーブビットスト
リームフォーマットを用いて構成される。具体的に、こ
れら三つのタイプのメモリとは、「汎用」FPGAコン
フィギュレーションメモリ、埋込ブロックRAMおよび
FPSCメモリのことである。
【0078】埋込FPGA論理を埋込マルチマスタ・マ
ルチスレーブFPGAにおいて構成またはプログラムす
る際、ビットストリーム300のヘッダ306は、該ビ
ットストリームを汎用FPGA論理に向けられたものと
して特定する独自ヘッダを含めてローディングされる。
所定実施形態では、FPGA論理に対するアドレスフレ
ームをデータフレームに先立ち送出し、自動インクリメ
ントモードおよび明示モードの実行および混合を可能に
するのが好ましい。
【0079】二つ以上のデータフレームが一つのアドレ
スフレームに続く場合には、それらデータフレームは一
アドレスフレーム内の後続アドレスにそれぞれ送出され
る。該アドレスフレームをFPGA論理を構成する際の
オプションとすることができる。例えば、自動インクリ
メントモードを利用してFPGA論理にコンフィギュレ
ーションデータをローディングできる。
【0080】埋込マルチマスタFPGAのRAMを初期
化する場合、ビットストリーム300のヘッダ306
は、該ビットストリームを埋込ブロックRAMに向けら
れたものとして特定する独自ヘッダを含めてローディン
グされる。
【0081】所定実施形態においては、多数の固定サイ
ズの埋込RAMブロックが備えられる。FPGA100
の各RAMブロックにはメモリマップ内で所定の記憶場
所が与えられる。
【0082】マルチマスタビットストリームのコンフィ
ギュレーションアドレスフレームにデータフレーム長を
示すデータを含めてもよい。このように、RAMブロッ
クのサイズは固定でも可変でもよい。
【0083】各データフレームは、個別ブロックまたは
RAM用の全てのビットを含んでいるのが好ましい。ま
た、アドレスフレームが必要でなく、そのためビットス
トリームのデータフレームが順次自動的に同一サイズの
RAMブロックに書き込まれるような場合には、自動イ
ンクリメントモードが実行可能となる。
【0084】さらに、アドレスフレームを各データフレ
ームまたは一群のデータフレームに先だって使用するこ
とにより、多数の埋込RAMブロックの初期化を無作為
に秩序化できるようにする。
【0085】FPSCメモリを初期するために、マルチ
マスタビットストリームは独自ヘッダ、アドレスフレー
ム、データフレームおよびポストアンブルを有する。
【0086】FPSCを初期する際、アドレスフレーム
は、例えば、後続のデータ長と共に該データ用の先頭ア
ドレスも含む。これにより、FPGA装置100に埋め
込まれた各種記憶場所間でデータフレームの長さに変化
を付け、異なるFPSCあるいは異なるアドレスの偏差
を考慮に入れることができる。
【0087】FPSCメモリを初期化する際、先頭アド
レスフレームは最初のデータフレームより前に送出され
なければならない。一アドレスフレームは同一長さのデ
ータフレーム群に用いることができる。データフレーム
が異なる長さのものに使用される場合、新しい長さを特
定すべく新しいアドレスフレームが送出される。このよ
うに、マルチスレーブビットストリームは様々な長さの
データを使用するコンフィギュレーションを考慮したも
のである。
【0088】
【発明の効果】本発明に係わるマルチスレーブビットス
トリームフォーマットは、埋込メモリ素子のコンフィギ
ュレーションおよび/または部分再コンフィギュレーシ
ョンにおけるフレキシビリティを拡充し、処理速度を増
し、集積回路サイズを削減し、FPGA設計のフレキシ
ビリティを増し、デザイナーによる集積化を容易にする
市場速歩性のあるエンドユーザプロダクトを提供する。
【0089】また、本発明に係わるマルチスレーブビッ
トストリームフォーマットの使用は、FPGA内には閉
鎖システム素子群が埋め込まれるだろうとの観測にもか
かわらず、オープンシステムを考慮したものである。
【0090】以上、本発明を好適実施形態に関して説明
したが、本発明の範囲を逸脱することなく、ここに開示
した本発明の実施形態に対して当業者による各種変更が
可能なことは言うまでもない。
【図面の簡単な説明】
【図1】本発明に係わるフィールドプログラマブルゲー
トアレイ(FPGA)を示す。
【図2】本発明に係わるマルチマスタFPGAの詳細図
である。
【図3】本発明に係わるビットストリームの例を示す。
【図4】従来のフィールドプログラマブルゲートアレイ
(FPGA)を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バリー ケヴィン ブリットン アメリカ合衆国 18069 ペンシルヴァニ ア,オレフィールド,ヴィスタ テラス 6219 (72)発明者 ゼン チェン アメリカ合衆国 18062 ペンシルヴァニ ア,マッカンジー,タボネット ドライヴ 2248 (72)発明者 ジェームス フレデリック ホフ アメリカ合衆国 18018 ペンシルヴァニ ア,ベスレヘム,ペンシルヴァニア アヴ ェニュー 902 (72)発明者 ラヴィクマー ケー.チャラス アメリカ合衆国 18103 ペンシルヴァニ ア,アレンタウン,サウス ジェファーソ ン ストリート 704,アパートメント ナンバー4 (72)発明者 コート デー.ランセンダーファー アメリカ合衆国 18032 ペンシルヴァニ ア,ノース カタソークア,セヴンス ス トリート 1064 (72)発明者 ドン マッカーレイ アメリカ合衆国 18103 ペンシルヴァニ ア,アレンタウン,パインハースト コー ト 1931−イー (72)発明者 リチャード ジョージ スタビー アメリカ合衆国 18066 ペンシルヴァニ ア,ニュー トリポリ,ワーデン ロード 6476 (72)発明者 ユー−ユアン ディヴィッド ヤン アメリカ合衆国 ペンシルヴァニア,マッ カンジー,ダンフィールド ウエイ 2342 Fターム(参考) 5B061 BB01 BC02 FF01 5F038 DF17 EZ20 5F064 AA08 FF04 FF36 FF52 5J042 AA10 BA01 BA04 CA20 DA01 DA03 DA04

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 複数のマスタ・スレーブ素子と、 前記複数のマスタ・スレーブ素子間の埋込システムバス
    トと、 フィールドプログラマブルゲートアレイに対して外部に
    ある装置から前記埋込システムバスに外部アクセスを提
    供する外部コンフィギュレーションインタフェースとを
    備えることを特徴とするフィールドプログラマブルゲー
    トアレイ。
  2. 【請求項2】 前記複数のマスタ・スレーブ素子が少な
    くとも一つのマスタ素子と少なくとも一つのスレーブ素
    子を有することを特徴とする請求項1記載のフィールド
    プログラマブルゲートアレイ。
  3. 【請求項3】 前記外部コンフィギュレーションインタ
    フェースは、前記複数のマスタ・スレーブ素子のいずれ
    にアクセスするよりも前記埋込システムバスにアクセス
    する方に高い優先順位を有することを特徴とする請求項
    1記載のフィールドプログラマブルゲートアレイ。
  4. 【請求項4】 前記複数のマスタ・スレーブ素子各々の
    優先順位は前記フィールドプログラマブルゲートアレイ
    のユーザによってプログラミング可能であることを特徴
    とする請求項1記載のフィールドプログラマブルゲート
    アレイ。
  5. 【請求項5】 前記複数のマスタ・スレーブ素子および
    前記外部インタフェース間で前記埋込システムバスへの
    アクセスについて調停を行う調停ユニットをさらに備え
    ることを特徴とする請求項1記載のフィールドプログラ
    マブルゲートアレイ。
  6. 【請求項6】 前記複数のマスタ・スレーブ素子の内少
    なくとも一つがFPSC−ASBインタフェースである
    ことを特徴とする請求項1記載のフィールドプログラマ
    ブルゲートアレイ。
  7. 【請求項7】 前記複数のマスタ・スレーブ素子の内少
    なくとも一つがFPGAコンフィギュレーションコント
    ローラであることを特徴とする請求項1記載のフィール
    ドプログラマブルゲートアレイ。
  8. 【請求項8】 前記複数のマスタ・スレーブ素子の内少
    なくとも一つがRAMであることを特徴とする請求項1
    記載のフィールドプログラマブルゲートアレイ。
  9. 【請求項9】 前記RAMが少なくとも四つのポートを
    有し、その内読取ポートおよび書込ポートを用いて前記
    埋込システムバスへの接続を行うと共に、前記少なくと
    も四つのポートの残りでプログラマブルルーチングへの
    接続を行うことを特徴とする請求項8記載のフィールド
    プログラマブルゲートアレイ。
  10. 【請求項10】 前記RAMは、 ROM、 FIFO、 乗算器、およびCAMの内、少なくとも一つとして構成
    可能であることを特徴とする請求項8記載のフィールド
    プログラマブルゲートアレイ。
  11. 【請求項11】 複数のマスタおよびスレーブ素子間に
    埋込システムバスを供給するステップと、 前記システムバス上に他のマスタ素子として外部コンフ
    ィギュレーションインタフェースを供給し、前記埋込シ
    ステムバスと、フィールドプログラマブルゲートアレイ
    に対して外部にある装置との間のアクセスを提供するス
    テップとからなることを特徴とするフィールドプログラ
    マブルゲートアレイの複数のスレーブ素子のいずれか一
    つに対して外部アクセスを提供する方法。
  12. 【請求項12】 前記複数のマスタ・スレーブ素子およ
    び前記他のマスタ素子間で前記埋込システムバスに対す
    るアクセスを調停するステップをさらに備えることを特
    徴とする請求項11記載の方法。
  13. 【請求項13】 複数のマスタ・スレーブ素子間に埋込
    システムバスを供給する手段と、 前記システムバス上に他のマスタ素子として外部コンフ
    ィギュレーションインタフェースを供給し、前記埋込シ
    ステムバスと、フィールドプログラマブルゲートアレイ
    に対して外部にある装置との間のアクセスを提供する手
    段とからなることを特徴とするフィールドプログラマブ
    ルゲートアレイの複数のマスタ・スレーブ素子のいずれ
    か一つに対して外部アクセスを提供する装置。
  14. 【請求項14】 前記複数のマスタ・スレーブ素子およ
    び前記他のマスタ素子間で前記埋込システムバスに対す
    るアクセスを調停する手段をさらに備えることを特徴と
    する請求項13記載の装置。
  15. 【請求項15】 コンフィギャラブルブロック・ランダ
    ムアクセスメモリを備えるフィールプログラマブルドゲ
    ートアレイであって、該コンフィギャラブルブロック・
    ランダムアクセスメモリが、 4ポートランダムアクセスメモリ、 システムバスランダムアクセスメモリ、 先入先出(FIFO)バッファ、 定数乗算器、 8ビットx8ビット乗算器、および一定アドレス指定可
    能メモリの内一つのコンフィギュレーションにユーザに
    よって構成されることを特徴とするフィールプログラマ
    ブルドゲートアレイ。
  16. 【請求項16】 複数のマスタ素子と、 一つ以上のスレーブ素子と、 前記複数のマスタ素子および前記一つ以上のスレーブ素
    子間の埋込システムバスとを備え、 フィールドプログラマブルゲートアレイのプログラミン
    グに用いられるコンフィギュレーションメモリの状態に
    かかわらず、前記複数のマスタ素子のいずれもが前記一
    つ以上のスレーブ素子にアクセスできることを特徴とす
    るフィールドプログラマブルゲートアレイ。
  17. 【請求項17】 前記フィールドプログラマブルゲート
    アレイに対して外部にある装置から前記埋込システムバ
    スに外部アクセスを提供する外部コンフィギュレーショ
    ンインタフェースをさらに備えることを特徴とする請求
    項16記載のフィールドプログラマブルゲートアレイ。
  18. 【請求項18】 前記外部コンフィギュレーションイン
    タフェースは、前記複数のマスタ素子のいずれかにアク
    セスするよりも前記埋込システムバスにアクセスする方
    に高い優先順位を有することを特徴とする請求項17記
    載のフィールドプログラマブルゲートアレイ。
  19. 【請求項19】 前記複数のマスタ素子各々の優先順位
    は前記フィールドプログラマブルゲートアレイのユーザ
    によってプログラミング可能であることを特徴とする請
    求項16記載のフィールドプログラマブルゲートアレ
    イ。
JP2001159002A 2000-05-26 2001-05-28 フィールドプログラマブルゲートアレイ(fpga)におけるマルチマスタ・マルチスレーブシステムバス Pending JP2002073531A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20737100P 2000-05-26 2000-05-26
US60/207371 2000-05-26

Publications (1)

Publication Number Publication Date
JP2002073531A true JP2002073531A (ja) 2002-03-12

Family

ID=22770267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001159002A Pending JP2002073531A (ja) 2000-05-26 2001-05-28 フィールドプログラマブルゲートアレイ(fpga)におけるマルチマスタ・マルチスレーブシステムバス

Country Status (3)

Country Link
US (6) US6535043B2 (ja)
JP (1) JP2002073531A (ja)
TW (1) TW505861B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002118459A (ja) * 2000-06-12 2002-04-19 Altera Corp シリアル・デバイスからメモリおよびレジスタをセット・アップする方法
JP2002246544A (ja) * 2001-02-16 2002-08-30 Sharp Corp 半導体装置
KR101298459B1 (ko) * 2011-12-15 2013-08-23 두산중공업 주식회사 Fpga 기반 제어기의 버스 구조
KR101868012B1 (ko) * 2014-04-03 2018-06-15 후아웨이 테크놀러지 컴퍼니 리미티드 필드 프로그래머블 게이트 어레이 및 통신 방법

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6825698B2 (en) * 2001-08-29 2004-11-30 Altera Corporation Programmable high speed I/O interface
US6525565B2 (en) * 2001-01-12 2003-02-25 Xilinx, Inc. Double data rate flip-flop
US6914892B1 (en) * 2001-01-29 2005-07-05 Advanced Micro Devices, Inc. Arrangement for testing network switch expansion port data by converting to media independent interface format
US7299203B1 (en) * 2001-04-19 2007-11-20 Xilinx, Inc. Method for storing and shipping programmable ASSP devices
US7076595B1 (en) * 2001-05-18 2006-07-11 Xilinx, Inc. Programmable logic device including programmable interface core and central processing unit
US7039144B2 (en) * 2001-05-21 2006-05-02 Silicon Integrated Systems Corporation Large-input-delay variation tolerant (LIDVT) receiver adopting FIFO mechanism
US6876239B2 (en) * 2001-07-11 2005-04-05 Micron Technology, Inc. Delay locked loop “ACTIVE command” reactor
WO2003012612A1 (en) * 2001-07-27 2003-02-13 Takashi Suzuki Electric/electronic device
US6687184B2 (en) * 2001-08-28 2004-02-03 Micron Technology, Inc. Memory device having selectable clock input and method for operating same
US7200769B1 (en) 2001-08-29 2007-04-03 Altera Corporation Self-compensating delay chain for multiple-date-rate interfaces
US7167023B1 (en) 2001-08-29 2007-01-23 Altera Corporation Multiple data rate interface architecture
US6806733B1 (en) * 2001-08-29 2004-10-19 Altera Corporation Multiple data rate interface architecture
US6946872B1 (en) 2003-07-18 2005-09-20 Altera Corporation Multiple data rate interface architecture
US7420392B2 (en) * 2001-09-28 2008-09-02 Xilinx, Inc. Programmable gate array and embedded circuitry initialization and processing
US6781407B2 (en) 2002-01-09 2004-08-24 Xilinx, Inc. FPGA and embedded circuitry initialization and processing
US7702293B2 (en) * 2001-11-02 2010-04-20 Nokia Corporation Multi-mode I/O circuitry supporting low interference signaling schemes for high speed digital interfaces
US7109744B1 (en) 2001-12-11 2006-09-19 Altera Corporation Programmable termination with DC voltage level control
US6647081B2 (en) * 2001-12-12 2003-11-11 Emulex Corporation Phase-locked loop (PLL) circuit for selectively correcting clock skew in different modes
US6686769B1 (en) * 2001-12-14 2004-02-03 Altera Corporation Programmable I/O element circuit for high speed logic devices
US7123046B2 (en) * 2002-02-13 2006-10-17 Micron Technology, Inc Apparatus for adaptively adjusting a data receiver
US6820248B1 (en) 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
US6754882B1 (en) * 2002-02-22 2004-06-22 Xilinx, Inc. Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
US6976160B1 (en) 2002-02-22 2005-12-13 Xilinx, Inc. Method and system for controlling default values of flip-flops in PGA/ASIC-based designs
US6941538B2 (en) * 2002-02-22 2005-09-06 Xilinx, Inc. Method and system for integrating cores in FPGA-based system-on-chip (SoC)
US6934922B1 (en) 2002-02-27 2005-08-23 Xilinx, Inc. Timing performance analysis
US7111217B1 (en) 2002-02-28 2006-09-19 Xilinx, Inc. Method and system for flexibly nesting JTAG TAP controllers for FPGA-based system-on-chip (SoC)
US6839874B1 (en) 2002-02-28 2005-01-04 Xilinx, Inc. Method and apparatus for testing an embedded device
US7088767B1 (en) 2002-03-01 2006-08-08 Xilinx, Inc. Method and apparatus for operating a transceiver in different data rates
US7111220B1 (en) 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
US7187709B1 (en) 2002-03-01 2007-03-06 Xilinx, Inc. High speed configurable transceiver architecture
US6961919B1 (en) 2002-03-04 2005-11-01 Xilinx, Inc. Method of designing integrated circuit having both configurable and fixed logic circuitry
US7254157B1 (en) * 2002-03-27 2007-08-07 Xilinx, Inc. Method and apparatus for generating a phase locked spread spectrum clock signal
JP2003297932A (ja) * 2002-03-29 2003-10-17 Toshiba Corp 半導体装置
US6876227B2 (en) * 2002-03-29 2005-04-05 Parama Networks, Inc. Simplifying the layout of printed circuit boards
US20030210758A1 (en) * 2002-04-30 2003-11-13 Realtek Semiconductor Corp. Recovered clock generator with high phase resolution and recovered clock generating method
DE10221772A1 (de) * 2002-05-15 2003-11-27 Flowtec Ag Variables Feldgerät für die Prozeßautomation
US6973405B1 (en) 2002-05-22 2005-12-06 Xilinx, Inc. Programmable interactive verification agent
US6891394B1 (en) * 2002-06-04 2005-05-10 Actel Corporation Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US7378867B1 (en) * 2002-06-04 2008-05-27 Actel Corporation Field-programmable gate array low voltage differential signaling driver utilizing two complimentary output buffers
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US6772405B1 (en) 2002-06-13 2004-08-03 Xilinx, Inc. Insertable block tile for interconnecting to a device embedded in an integrated circuit
US8155236B1 (en) 2002-06-21 2012-04-10 Netlogic Microsystems, Inc. Methods and apparatus for clock and data recovery using transmission lines
US7471643B2 (en) * 2002-07-01 2008-12-30 Panasonic Corporation Loosely-biased heterogeneous reconfigurable arrays
US7085973B1 (en) 2002-07-09 2006-08-01 Xilinx, Inc. Testing address lines of a memory controller
KR100871205B1 (ko) * 2002-07-23 2008-12-01 엘지노텔 주식회사 다중 클럭 위상 결정 시스템
US6963218B1 (en) * 2002-08-09 2005-11-08 Xilinx, Inc. Bi-directional interface and communication link
US20040032319A1 (en) 2002-08-17 2004-02-19 Kye-Hyun Kyung Devices and methods for controlling active termination resistors in a memory system
US20040045007A1 (en) * 2002-08-30 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Object oriented component and framework architecture for signal processing
US6756815B2 (en) * 2002-08-29 2004-06-29 Micron Technologies, Inc. Input buffer with selectable operational characteristics
US7017140B2 (en) * 2002-08-29 2006-03-21 Bae Systems Information And Electronic Systems Integration Inc. Common components in interface framework for developing field programmable based applications independent of target circuit board
US7092865B1 (en) 2002-09-10 2006-08-15 Xilinx, Inc. Method and apparatus for timing modeling
JP2004159161A (ja) * 2002-11-07 2004-06-03 Sanyo Electric Co Ltd 遅延信号生成装置及び記録パルス生成装置
US7146598B2 (en) * 2002-11-07 2006-12-05 Computer Network Technoloy Corp. Method and apparatus for configuring a programmable logic device
US6967500B1 (en) 2002-11-27 2005-11-22 Lattice Semiconductor Corporation Electronic circuit with on-chip programmable terminations
US6819190B2 (en) * 2002-12-10 2004-11-16 Intersil Americas Inc. Robust fractional clock-based pulse generator for digital pulse width modulator
US6920627B2 (en) * 2002-12-13 2005-07-19 Xilinx, Inc. Reconfiguration of a programmable logic device using internal control
US6831480B1 (en) * 2003-01-07 2004-12-14 Altera Corporation Programmable logic device multispeed I/O circuitry
US7068080B1 (en) * 2003-01-17 2006-06-27 Xilinx, Inc. Method and apparatus for reducing power consumption within a logic device
US7206343B2 (en) * 2003-01-24 2007-04-17 Intersil Americas Inc. High resolution digital pulse width modulator for DC-DC voltage converter
US7028283B1 (en) * 2003-01-30 2006-04-11 Xilinx, Inc. Method of using a hardware library in a programmable logic device
DE10308295B4 (de) * 2003-02-26 2009-11-19 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Anbindung von Baugruppen an ein Bussystem
JP3821787B2 (ja) * 2003-02-27 2006-09-13 エルピーダメモリ株式会社 Dll回路
US7143306B2 (en) * 2003-03-31 2006-11-28 Emc Corporation Data storage system
US6894531B1 (en) * 2003-05-22 2005-05-17 Altera Corporation Interface for a programmable logic device
US7385419B1 (en) * 2003-05-30 2008-06-10 Actel Corporation Dedicated input/output first in/first out module for a field programmable gate array
US6953760B2 (en) * 2003-06-04 2005-10-11 Saint-Gobain Ceramics & Plastics, Inc. Ceramic component containing inclusions
US7065601B2 (en) * 2003-06-06 2006-06-20 Stmicroelectronics N.V. Interface for prototyping integrated systems
US6856171B1 (en) 2003-06-11 2005-02-15 Lattice Semiconductor Corporation Synchronization of programmable multiplexers and demultiplexers
US6952115B1 (en) 2003-07-03 2005-10-04 Lattice Semiconductor Corporation Programmable I/O interfaces for FPGAs and other PLDs
US7098685B1 (en) 2003-07-14 2006-08-29 Lattice Semiconductor Corporation Scalable serializer-deserializer architecture and programmable interface
US6888369B1 (en) 2003-07-17 2005-05-03 Altera Corporation Programmable on-chip differential termination impedance
US6924659B1 (en) 2003-07-28 2005-08-02 Lattice Semiconductor Corporation Programmable signal termination for FPGAs and the like
US6903574B2 (en) * 2003-07-29 2005-06-07 Lattice Semiconductor Corporation Memory access via serial memory interface
US6940779B2 (en) * 2003-08-13 2005-09-06 Lattice Semiconductor Corporation Programmable broadcast initialization of memory blocks
US7421014B2 (en) * 2003-09-11 2008-09-02 Xilinx, Inc. Channel bonding of a plurality of multi-gigabit transceivers
US7584345B2 (en) 2003-10-30 2009-09-01 International Business Machines Corporation System for using FPGA technology with a microprocessor for reconfigurable, instruction level hardware acceleration
US7257799B2 (en) * 2003-11-14 2007-08-14 Lsi Corporation Flexible design for memory use in integrated circuits
DE102004056322B4 (de) * 2003-11-21 2012-07-19 Infineon Technologies Ag Logik-Grundzelle und Logik-Grundzellen-Anordnung
US7310728B2 (en) * 2003-11-24 2007-12-18 Itt Manufacturing Enterprises, Inc. Method of implementing a high-speed header bypass function
US7113001B2 (en) * 2003-12-08 2006-09-26 Infineon Technologies Ag Chip to chip interface
US7042263B1 (en) * 2003-12-18 2006-05-09 Nvidia Corporation Memory clock slowdown synthesis circuit
US7187220B1 (en) * 2003-12-18 2007-03-06 Nvidia Corporation Memory clock slowdown
US7400670B2 (en) 2004-01-28 2008-07-15 Rambus, Inc. Periodic calibration for communication channels by drift tracking
US7158536B2 (en) * 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US8422568B2 (en) 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US7234069B1 (en) 2004-03-12 2007-06-19 Altera Corporation Precise phase shifting using a DLL controlled, multi-stage delay chain
US6961862B2 (en) 2004-03-17 2005-11-01 Rambus, Inc. Drift tracking feedback for communication channels
KR100647370B1 (ko) * 2004-04-20 2006-11-23 주식회사 하이닉스반도체 멀티 프로토콜 시리얼 인터페이스 시스템
KR100541684B1 (ko) * 2004-04-29 2006-01-10 주식회사 하이닉스반도체 지연 동기 루프 장치
US7061269B1 (en) * 2004-05-12 2006-06-13 Lattice Semiconductor Corporation I/O buffer architecture for programmable devices
KR100618825B1 (ko) * 2004-05-12 2006-09-08 삼성전자주식회사 지연 동기 루프를 이용하여 내부 신호를 측정하는집적회로 장치 및 그 방법
ATE484157T1 (de) 2004-05-13 2010-10-15 Qualcomm Inc Synchronisierung von audio und video daten in einem drahtlosen nachrichtenübertragungssystem
US7129753B2 (en) * 2004-05-26 2006-10-31 Infineon Technologies Ag Chip to chip interface
US7126399B1 (en) 2004-05-27 2006-10-24 Altera Corporation Memory interface phase-shift circuitry to support multiple frequency ranges
US7123051B1 (en) 2004-06-21 2006-10-17 Altera Corporation Soft core control of dedicated memory interface hardware in a programmable logic device
US7057429B2 (en) * 2004-07-20 2006-06-06 Micron Technology, Inc. Method and apparatus for digital phase generation at high frequencies
US7191372B1 (en) * 2004-08-27 2007-03-13 Xilinx, Inc. Integrated data download
US7030675B1 (en) 2004-08-31 2006-04-18 Altera Corporation Apparatus and method for controlling a delay chain
US7225285B1 (en) * 2004-09-07 2007-05-29 Altera Corporation Assigning interrupts in multi-master systems
US8566616B1 (en) * 2004-09-10 2013-10-22 Altera Corporation Method and apparatus for protecting designs in SRAM-based programmable logic devices and the like
US8612772B1 (en) 2004-09-10 2013-12-17 Altera Corporation Security core using soft key
JP2006128635A (ja) * 2004-09-30 2006-05-18 Matsushita Electric Ind Co Ltd 半導体集積回路
DE102004049671B4 (de) * 2004-10-12 2007-08-02 Mühlbauer Ag Elektronisches Modul für die Herstellung, Programmierung und das Testen von Chipkarten und zugehöriges Verfahren
US7196542B1 (en) * 2004-10-28 2007-03-27 Altera Corporation Techniques for providing increased flexibility to input/output banks with respect to supply voltages
US7487571B2 (en) * 2004-11-29 2009-02-10 Fong Luk Control adjustable device configurations to induce parameter variations to control parameter skews
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
US7218141B2 (en) * 2004-12-07 2007-05-15 Altera Corporation Techniques for implementing hardwired decoders in differential input circuits
US7535258B1 (en) 2004-12-15 2009-05-19 Lattice Semiconductor Corporation Programmable current output and common-mode voltage buffer
US7215148B1 (en) 2004-12-15 2007-05-08 Lattice Semiconductor Corporation Programmable current output buffer
JP2006170894A (ja) * 2004-12-17 2006-06-29 Nec Electronics Corp 半導体装置およびクロック生成装置
GB0500223D0 (en) * 2005-01-07 2005-02-16 Imi Norgren Ltd Communication system
US7031222B1 (en) * 2005-01-28 2006-04-18 Altera Corporation DQS postamble filtering
US7589648B1 (en) 2005-02-10 2009-09-15 Lattice Semiconductor Corporation Data decompression
US7788625B1 (en) * 2005-04-14 2010-08-31 Xilinx, Inc. Method and apparatus for precharacterizing systems for use in system level design of integrated circuits
US7239180B1 (en) * 2005-05-23 2007-07-03 Altera Corporation Programmable pin impedance reduction on multistandard input/outputs
US7342838B1 (en) * 2005-06-24 2008-03-11 Lattice Semiconductor Corporation Programmable logic device with a double data rate SDRAM interface
US7256613B1 (en) 2005-06-24 2007-08-14 Lattice Semiconductor Corporation Programmable interconnect architecture for programmable logic devices
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device
DE102005033270B4 (de) * 2005-07-15 2007-11-29 Texas Instruments Deutschland Gmbh Digitale Logikeinheit
US20070033427A1 (en) * 2005-07-19 2007-02-08 International Business Machines Corporation Power efficient cycle stealing
US7262630B1 (en) 2005-08-01 2007-08-28 Lattice Semiconductor Corporation Programmable termination for single-ended and differential schemes
US7411419B1 (en) * 2005-08-09 2008-08-12 Lattice Semiconductor Corporation Input/output systems and methods
KR20070019173A (ko) * 2005-08-11 2007-02-15 삼성전자주식회사 버스 모니터링을 위한 집적 회로 장치 및 그 방법
US7304516B2 (en) * 2005-09-01 2007-12-04 Micron Technology, Inc. Method and apparatus for digital phase generation for high frequency clock applications
US7525340B2 (en) * 2005-09-19 2009-04-28 Altera Corporation Programmable logic device architecture for accommodating specialized circuitry
US7382154B2 (en) * 2005-10-03 2008-06-03 Honeywell International Inc. Reconfigurable network on a chip
KR100715154B1 (ko) * 2005-12-21 2007-05-10 삼성전자주식회사 락킹속도가 향상되는 락킹루프회로 및 이를 이용한클락락킹방법
US7646217B2 (en) * 2005-12-22 2010-01-12 Altera Corporation Programmable logic device with serial interconnect
US20070164784A1 (en) * 2006-01-19 2007-07-19 Altera Corporation Modular I/O bank architecture
US7378868B2 (en) * 2006-01-19 2008-05-27 Altera Corporation Modular I/O bank architecture
US7554357B2 (en) * 2006-02-03 2009-06-30 Lattice Semiconductor Corporation Efficient configuration of daisy-chained programmable logic devices
US7570078B1 (en) 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US7495970B1 (en) 2006-06-02 2009-02-24 Lattice Semiconductor Corporation Flexible memory architectures for programmable logic devices
US7378873B1 (en) 2006-06-02 2008-05-27 Lattice Semiconductor Corporation Programmable logic device providing a serial peripheral interface
US7277357B1 (en) 2006-06-05 2007-10-02 Micron Technology, Inc. Method and apparatus for reducing oscillation in synchronous circuits
US7631211B1 (en) * 2006-06-27 2009-12-08 Altera Corporation Sharing elements in multiple data-rate I/O
US7521969B2 (en) 2006-07-28 2009-04-21 Lattice Semiconductor Corporation Switch sequencing circuit systems and methods
US7456672B1 (en) 2006-09-11 2008-11-25 Lattice Semiconductor Corporation Clock systems and methods
US7849348B1 (en) * 2006-09-12 2010-12-07 NexLogic Microsystems, Inc. Programmable delay clock buffer
US7511641B1 (en) 2006-09-19 2009-03-31 Lattice Semiconductor Corporation Efficient bitstream compression
US7847730B2 (en) * 2006-09-27 2010-12-07 Bae Systems Information And Electronic Systems Integration, Inc. Software defined navigation signal generator
US7831754B1 (en) 2006-10-20 2010-11-09 Lattice Semiconductor Corporation Multiple communication channel configuration systems and methods
US7770139B2 (en) * 2007-10-31 2010-08-03 International Business Machines Corporation Design structure for a flexible multimode logic element for use in a configurable mixed-logic signal distribution path
US7362138B1 (en) * 2006-12-20 2008-04-22 International Business Machines Corporation Flexible multimode logic element for use in a configurable mixed-logic signal distribution path
US7443192B1 (en) 2006-12-21 2008-10-28 Lattice Semiconductor Corporation Output buffer with digital slew control
US7429877B2 (en) * 2007-02-02 2008-09-30 International Business Machines Corporation Design structure for a flexible multimode logic element for use in a configurable mixed-logic signal distribution path
US7403039B1 (en) * 2007-02-02 2008-07-22 International Business Machines Corporation Flexible multimode logic element for use in a configurable mixed-logic signal distribution path
US7642809B2 (en) * 2007-02-06 2010-01-05 Rapid Bridge Llc Die apparatus having configurable input/output and control method thereof
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US7498860B2 (en) * 2007-03-27 2009-03-03 Agere Systems Inc. Buffer circuit having multiplexed voltage level translation
WO2008148416A1 (de) * 2007-06-06 2008-12-11 Siemens Aktiengesellschaft Elektronische schaltungseinheit und verfahren zum betreiben einer elektronischen schaltungseinheit
US7759971B2 (en) * 2007-06-21 2010-07-20 Easic Corporation Single via structured IC device
KR100891335B1 (ko) * 2007-07-02 2009-03-31 삼성전자주식회사 비트 에러율 측정을 수행 할 수 있는 클럭 발생 장치
US7913103B2 (en) * 2007-08-31 2011-03-22 Globalfoundries Inc. Method and apparatus for clock cycle stealing
US8132040B1 (en) 2007-10-25 2012-03-06 Lattice Semiconductor Corporation Channel-to-channel deskew systems and methods
JP2009116378A (ja) 2007-11-01 2009-05-28 Renesas Technology Corp 半導体装置
US7902865B1 (en) 2007-11-15 2011-03-08 Lattice Semiconductor Corporation Compression and decompression of configuration data using repeated data frames
US20090131950A1 (en) * 2007-11-16 2009-05-21 Liu Y King Vertebroplasty method with enhanced control
US7973563B2 (en) * 2008-02-15 2011-07-05 Silicon Labs Spectra, Inc. Programmable IO architecture
US7557606B1 (en) 2008-04-17 2009-07-07 Lattice Semiconductor Corporation Synchronization of data signals and clock signals for programmable logic devices
US7930162B1 (en) 2008-05-05 2011-04-19 Xilinx, Inc. Accelerating hardware co-simulation using dynamic replay on first-in-first-out-driven command processor
US7847643B2 (en) * 2008-11-07 2010-12-07 Infineon Technologies Ag Circuit with multiphase oscillator
GB2466821A (en) * 2009-01-08 2010-07-14 Advanced Risc Mach Ltd An FPGA with an embedded bus and dedicated bus interface circuits
CN101847434B (zh) * 2009-03-25 2013-06-05 中兴通讯股份有限公司 Ddr接口中的fpga设备的读、写操作方法及设备
US8255733B1 (en) 2009-07-30 2012-08-28 Lattice Semiconductor Corporation Clock delay and skew control systems and methods
KR101259133B1 (ko) 2009-11-11 2013-04-30 삼성중공업 주식회사 동작 중 재구성이 가능한 제어 시스템 및 그 방법
US8423814B2 (en) * 2010-03-19 2013-04-16 Netlogic Microsystems, Inc. Programmable drive strength in memory signaling
US8520744B2 (en) * 2010-03-19 2013-08-27 Netlogic Microsystems, Inc. Multi-value logic signaling in multi-functional circuits
US8537949B1 (en) 2010-06-30 2013-09-17 Netlogic Microsystems, Inc. Systems, circuits and methods for filtering signals to compensate for channel effects
US8494377B1 (en) 2010-06-30 2013-07-23 Netlogic Microsystems, Inc. Systems, circuits and methods for conditioning signals for transmission on a physical medium
US8324930B1 (en) * 2010-09-27 2012-12-04 Xilinx, Inc. Methods of implementing output ports and an integrated circuit having programmable output ports
US8913601B1 (en) * 2010-10-01 2014-12-16 Xilinx, Inc. Programmable integrated circuit and method of asynchronously routing data in a circuit block of an integrated circuit
US8384428B1 (en) * 2011-01-14 2013-02-26 Lattice Semiconductor Corporation Pre-configuration programmability of I/O circuitry
JP5306400B2 (ja) * 2011-03-24 2013-10-02 株式会社東芝 Dc−dcコンバータ
US8543774B2 (en) 2011-04-05 2013-09-24 Ansaldo Sts Usa, Inc. Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same
EP2512033B1 (en) * 2011-04-13 2013-09-11 Siemens Aktiengesellschaft A clock generation system
US9543956B2 (en) * 2011-05-09 2017-01-10 Intel Corporation Systems and methods for configuring an SOPC without a need to use an external memory
TW201303532A (zh) * 2011-07-15 2013-01-16 Askey Technology Jiangsu Ltd 時間量測方法及系統
TW201303533A (zh) * 2011-07-15 2013-01-16 Askey Technology Jiangsu Ltd 距離量測方法及系統
US9589598B1 (en) * 2011-08-10 2017-03-07 Lockheed Martin Corporation Configurable spacecraft processor system
KR101896017B1 (ko) * 2011-10-21 2018-09-07 에스케이하이닉스 주식회사 집적회로 칩
US20130159591A1 (en) * 2011-12-14 2013-06-20 International Business Machines Corporation Verifying data received out-of-order from a bus
KR101303278B1 (ko) * 2011-12-14 2013-09-04 한국전자통신연구원 비트스트림 보호를 위한 fpga 장치 및 그 방법
US8400186B1 (en) * 2012-02-21 2013-03-19 Altera Corporation Techniques for buffering single-ended and differential signals
US9401717B2 (en) 2012-05-28 2016-07-26 Baysand Inc. Flexible, space-efficient I/O circuitry for integrated circuits
CN103678745B (zh) * 2012-09-18 2016-09-28 中国科学院微电子研究所 一种用于fpga的跨平台多层次集成设计系统
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
CN104981807B (zh) 2013-02-11 2019-04-23 帝斯贝思数字信号处理和控制工程有限公司 在运行中改变fpga的信号值
EP2765528B1 (de) * 2013-02-11 2018-11-14 dSPACE digital signal processing and control engineering GmbH Wahlfreier Zugriff auf Signalwerte eines FPGA zur Laufzeit
US8970248B2 (en) * 2013-03-15 2015-03-03 Qualcomm Incorporated Sharing hardware resources between D-PHY and N-factorial termination networks
CN103279309B (zh) * 2013-05-15 2015-12-23 清华大学 基于fpga的ddr控制装置及方法
US9698795B1 (en) * 2013-07-03 2017-07-04 Altera Corporation Supporting pseudo open drain input/output standards in a programmable logic device
CN105302754B (zh) * 2014-06-16 2021-01-22 京微雅格(北京)科技有限公司 基于总线的fpga芯片配置方法和配置电路
US10073704B1 (en) * 2014-08-12 2018-09-11 Juniper Networks, Inc. Apparatus, system, and method for initializing adaptive equalizer devices
US9513984B2 (en) 2015-01-26 2016-12-06 Hewlett Packard Enterprise Development Lp Hardware signal logging in embedded block random access memory
CN204883674U (zh) * 2015-04-30 2015-12-16 西门子(深圳)磁共振有限公司 现场可编程门阵列的配置电路、射频单元和磁共振系统
US10224911B1 (en) 2016-03-31 2019-03-05 Altera Corporation Dual signal protocol input/output (I/O) buffer circuit
CN107453750B (zh) * 2017-07-17 2020-09-11 北京时代民芯科技有限公司 一种适用于sram型fpga的多功能时钟缓冲器
US10079603B1 (en) 2018-04-08 2018-09-18 Nxp B.V. Configurable, multi-functional driver circuit
US10496127B1 (en) 2018-06-04 2019-12-03 Linear Technology Holding Llc Multi-chip timing alignment to a common reference signal
US10775435B1 (en) * 2018-11-01 2020-09-15 Cadence Design Systems, Inc. Low-power shift with clock staggering
US11243817B2 (en) * 2019-03-29 2022-02-08 Intel Corporation Technologies for data migration between edge accelerators hosted on different edge locations
KR20210025403A (ko) * 2019-08-27 2021-03-09 삼성전자주식회사 무선 통신 시스템에서 다중 fpga를 운영하기 위한 장치 및 방법
CN113791568B (zh) * 2021-11-11 2022-02-11 西安热工研究院有限公司 一种基于火电厂高速串口的调试装置及使用方法
US20240184730A1 (en) * 2022-12-01 2024-06-06 Nxp Usa, Inc. Eusb repeater for passing repeating mode packets between a differential bus and a single-ended bus

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097489A (en) * 1989-05-19 1992-03-17 Tucci Patrick A Method for incorporating window strobe in a data synchronizer
US5552733A (en) * 1993-01-19 1996-09-03 Credence Systems Corporation Precise and agile timing signal generator based on a retriggered oscillator
US5399922A (en) * 1993-07-02 1995-03-21 Altera Corporation Macrocell comprised of two look-up tables and two flip-flops
US5455931A (en) * 1993-11-19 1995-10-03 International Business Machines Corporation Programmable clock tuning system and method
US5475344A (en) * 1994-02-22 1995-12-12 The Board Of Trustees Of The Leland Stanford Junior University Multiple interconnected ring oscillator circuit
US5714904A (en) * 1994-06-06 1998-02-03 Sun Microsystems, Inc. High speed serial link for fully duplexed data communication
EP0688101B1 (en) * 1994-06-17 1999-10-06 Tektronix, Inc. Apparatus and method for digital phase shift
US5892961A (en) * 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
GB9508931D0 (en) * 1995-05-02 1995-06-21 Xilinx Inc Programmable switch for FPGA input/output signals
US6265894B1 (en) * 1995-10-13 2001-07-24 Frederic Reblewski Reconfigurable integrated circuit with integrated debugging facilities for use in an emulation system
US5790838A (en) * 1996-08-20 1998-08-04 International Business Machines Corporation Pipelined memory interface and method for using the same
US5825202A (en) * 1996-09-26 1998-10-20 Xilinx, Inc. Integrated circuit with field programmable and application specific logic areas
US5877632A (en) * 1997-04-11 1999-03-02 Xilinx, Inc. FPGA with a plurality of I/O voltage levels
CA2204089C (en) * 1997-04-30 2001-08-07 Mosaid Technologies Incorporated Digital delay locked loop
US6020760A (en) * 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
US5945862A (en) * 1997-07-31 1999-08-31 Rambus Incorporated Circuitry for the delay adjustment of a clock signal
US6034542A (en) * 1997-10-14 2000-03-07 Xilinx, Inc. Bus structure for modularized chip with FPGA modules
US6020633A (en) * 1998-03-24 2000-02-01 Xilinx, Inc. Integrated circuit packaged for receiving another integrated circuit
US6061418A (en) * 1998-06-22 2000-05-09 Xilinx, Inc. Variable clock divider with selectable duty cycle
US6236231B1 (en) * 1998-07-02 2001-05-22 Altera Corporation Programmable logic integrated circuit devices with low voltage differential signaling capabilities
US6137307A (en) * 1998-08-04 2000-10-24 Xilinx, Inc. Structure and method for loading wide frames of data from a narrow input bus
US6100735A (en) * 1998-11-19 2000-08-08 Centillium Communications, Inc. Segmented dual delay-locked loop for precise variable-phase clock generation
US6242943B1 (en) * 1998-12-31 2001-06-05 Khaled Ahmad El-Ayat Programmable multi-standard I/O architecture for FPGAS
US6218858B1 (en) * 1999-01-27 2001-04-17 Xilinx, Inc. Programmable input/output circuit for FPGA for use in TTL, GTL, GTLP, LVPECL and LVDS circuits
US6271679B1 (en) * 1999-03-24 2001-08-07 Altera Corporation I/O cell configuration for multiple I/O standards
US6255848B1 (en) * 1999-04-05 2001-07-03 Xilinx, Inc. Method and structure for reading, modifying and writing selected configuration memory cells of an FPGA
US6519674B1 (en) * 2000-02-18 2003-02-11 Chameleon Systems, Inc. Configuration bits layout
US6326806B1 (en) * 2000-03-29 2001-12-04 Xilinx, Inc. FPGA-based communications access point and system for reconfiguration

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002118459A (ja) * 2000-06-12 2002-04-19 Altera Corp シリアル・デバイスからメモリおよびレジスタをセット・アップする方法
JP2002246544A (ja) * 2001-02-16 2002-08-30 Sharp Corp 半導体装置
KR101298459B1 (ko) * 2011-12-15 2013-08-23 두산중공업 주식회사 Fpga 기반 제어기의 버스 구조
KR101868012B1 (ko) * 2014-04-03 2018-06-15 후아웨이 테크놀러지 컴퍼니 리미티드 필드 프로그래머블 게이트 어레이 및 통신 방법

Also Published As

Publication number Publication date
US6480026B2 (en) 2002-11-12
US6535043B2 (en) 2003-03-18
TW505861B (en) 2002-10-11
US20020003436A1 (en) 2002-01-10
US6772230B2 (en) 2004-08-03
US6483342B2 (en) 2002-11-19
US20020003435A1 (en) 2002-01-10
US20020010902A1 (en) 2002-01-24
US6472904B2 (en) 2002-10-29
US20020003445A1 (en) 2002-01-10
US6486705B2 (en) 2002-11-26
US20020008540A1 (en) 2002-01-24
US20010055357A1 (en) 2001-12-27

Similar Documents

Publication Publication Date Title
JP2002073531A (ja) フィールドプログラマブルゲートアレイ(fpga)におけるマルチマスタ・マルチスレーブシステムバス
US6725313B1 (en) Communications system and method with multilevel connection identification
US6745369B1 (en) Bus architecture for system on a chip
US7406557B2 (en) Programmable logic device including programmable interface core and central processing unit
JP3339860B2 (ja) ホストから独立したバッファ管理によるネットワーク・インタフェース
US6738845B1 (en) Bus architecture and shared bus arbitration method for a communication device
EP1010111B1 (en) Reusable modules for complex integrated circuit devices
EP1226493B1 (en) Bus architecture and shared bus arbitration method for a communication processor
JP2002531891A (ja) 集積回路デバイスで機能ブロックを集積化するための並行シリアルインタコネクト
US6073233A (en) Method and apparatus for distributing and accessing configuration registers
US7162564B2 (en) Configurable multi-port multi-protocol network interface to support packet processing
EP3975428A2 (en) Logic fabric based on microsector infrastructure with data register having scan registers
US8352695B2 (en) Selectable access rates in a memory and memory communication system
US6826645B2 (en) Apparatus and a method to provide higher bandwidth or processing power on a bus
JPH04260959A (ja) マイクロプロセッサ
US9660936B2 (en) Method and apparatus for supporting reprogramming or reconfiguring
EP4020246A1 (en) Micro-network-on-chip and microsector infrastructure
US7107381B2 (en) Flexible data transfer to and from external device of system-on-chip
JPH04349558A (ja) 選択可能な中央処理ユニット付きワークステーションのアーキテクチャー
US20060026307A1 (en) Method for direct memory access, related architecture and computer program product

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060912

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060915

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904