JP4560601B2 - コンピュータ用バスインタフェース - Google Patents
コンピュータ用バスインタフェース Download PDFInfo
- Publication number
- JP4560601B2 JP4560601B2 JP2006161690A JP2006161690A JP4560601B2 JP 4560601 B2 JP4560601 B2 JP 4560601B2 JP 2006161690 A JP2006161690 A JP 2006161690A JP 2006161690 A JP2006161690 A JP 2006161690A JP 4560601 B2 JP4560601 B2 JP 4560601B2
- Authority
- JP
- Japan
- Prior art keywords
- vhd
- data
- buffer
- bus
- macro
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Description
line)を高電位にし、これによって送信側に受信側でデータを取り出したことを示し、データ線上に別のデータを配置できることを示す。
line)を追加することである。各々の装置は、データ送信前に割り込み線を使用して許可を求める。
本発明は装置を共通のバスに相互接続するための装置用アダプターであるコンピュータ用バスインタフェースを動的に設定するための方法を含む。図4及び図5はこのような接続で得られた装置の図面である。ここから幾つかの特徴が明らかになっている。
−−ビデオ・アダプター
−−キーボードと指示装置
−−マルチメディア・アダプター
−−メモリー制御装置
−−メモリーとI/Oキャッシュ
−−通信インタフェース
−−その他のバスへのインタフェース
原理的に、図4の装置14として作動できる装置の種類には基本的に制約がない。
本出願に関連して、設定自在な装置用アダプターを生成し作成するために使用されるソフトウェアをマクロと称する。このマクロはVHDLコンパイラを必要とする。VHDLコンパイラは商業的に入手可能である。VHDLは、VHSICハードウェア記述言語(VHSIC Hardware Description Language)を表わす略語である。またVHSICは超高速集積回路(Very High Speed Integrated Circuit)を表わす略語である。
合成を実行するには、利用者は次のことを行う。
−−デバイス・インタフェースの幅(例えば8、16、32ビットなど)
−−デバイス・インタフェースのアドレスの大きさ(即ちビット数)
−−装置用アダプター内に含まれるバッファの深さ(ビット数)。バッファについての詳細は後述する。
これらのパラメータはマクロモジュールにおけるPCIMACRO_USER_PARAMS.VHDとラベルをつけたファイル内に挿入することで指定する。
Engine)、例えばカリフォルニア州マウンテンビューにあるシノプシス社(Synopsis Incorporated, Mountain View, California)から入手可能なデザイン・アナライザー3.0c版(Design Analyzer 3.0c)などを用いて設計をコンパイルする。コンパイルにおいて、利用者は次の順番でマクロファイルをロードすること:
pcimacro_user_params.vhd,
macro _pkg.vhd,configurable_bit _reg.vhd, configurable _dword _reg.vhd,clktree.vhd,
signaltree.vhd, burst_size_cntr.vhd,next_addr_cmpr.vhd, new _transfer_counter.vhd, control_reg.vhd,dm_bk_sm.vhd, dm_fe_sm.vhd, data_manager.vhd,address _counter.vhd, devsel _timer.vhd, master _latency _timer.vhd,parity36.vhd, target_latency _timer.vhd,
master _state _machine.vhd,slave _state _machine.vhd, pci_fsm.vhd,
cycler.vhd, cc _bk_sm.vhd,cc_bypass_sm.vhd, cc _fe_sm.vhd, cycle_controller.vhd,dpr
_gen.vhd, pipeline _block.vhd, valid_data_counter.vhd,address _pointer.vhd, buffer _element.vhd, memory _element.vhd,output_latch.vhd, new_fifo.vhd,
fifo.vhd,byte_sterring_logic.vhd, bist _reg.vhd, class_code_reg.vhd,command
_reg.vhd, device _id_reg.vhd, header _reg.vhd,interrupt
_line_reg.vhd, interruput _pin _reg.vhd, max_lat _reg.vhd,min _gnt _reg.vhd, revision
_id_reg.vhd, status _reg.vhd,vendor_id_reg.vhd, high _bit _reg.vhd, base _address _reg.vhd,rom _base_address _reg.vhd, miscelaneous _configuration _regs.vhd,config.vhd, bk_end.vhd, pci_macro.vhd,
nan2.vhd, dffpq.vhd,dffrpq.vhd, or2.vhd, hbuf.vhd, sbuf.vhd, inbuf.vhd,
inpd.vhd,inv.vhd, iobuf.vhd, iobufpci.vhd, iopd16.vhd, iopd12sl.vhd,iobuf _iopd12sl.vhd, opd16.vhd, otpd16.vhd, bus_hbuf.vhd,bus _inbuf.vhd, iopdpci.vhd, bus _inv.vhd, bus_opd16.vhd,iobuf
_iopd16.vhd, configured_pci _macro.vhd
合成の積はゲートレベル図またはネットリストである。ネットリストはゲートセルがどのように相互に接続されているかの記述である。ネットリストの例は次のようなものである:
AND1 2 4 10
OR1 10 12 14
このリストはANDゲート1が2つの入力を有することを表わしている。一方はノード2に接続され、もう一方はノード4に接続される。出力はノード10に接続される。このリストはORゲート1が2つの入力を有することを表わしている。一方はノード10に接続されており(これはANDゲートの出力である)、他方はノード12に接続される。出力はノード14に接続される。
集積回路の製造の前に、2種類のシミュレーションを実行する。機能的シミュレーションは合成の前に実行し、ゲートレベル・シミュレーションは合成の後で実行する。機能的シミュレーションを実行するには、利用者が前述の合成段階と同様に指定し、オレゴン州ビーバートンにあるモデルテクノロジー社(Model Technology, Beaverton, Oregon )から入手可能な、V−システムVHDLシミュレータおよびコンパイラプラットホーム2.5版(V-system VHDL Simulator and Compiler Platform Revision 2.5)などのコンパイラ/シミュレータを使用してマクロをコンパイルしシミュレートする。ゲートレベルのシミュレーションは合成の後で実行して、製造後に回路を試験する際に使用する試験ベクトルを生成する。ゲートレベル・シミュレーションを実行するには、ゲートレベル図またはネストリスト(合成段階で生成される)をカリフォルニア州サンノゼにある(本社はマサチューセッツ州ローウェルに所在する)カデンス・デザインシステムズ社(Cadence Design Systems Inc., San Jose, California )から入手可能なベリログ・シミュレータ(Verilog Simulator )などの物理設計シミュレータに入力する。
合成とシミュレーションの後、合成の段階で生成したネットリストはカデンス・デザインシステムズ社からこれも入手可能なタンセル2.4.0版(Tancel version 2.4.0)などのルーティング・プログラムで処理する。ルーティング・プログラムは製造しようとする集積回路の各層の機械語表現を生成する。実際には、ルーティングの段階では各々が製造しようとする集積回路のトポロジーの異なるレベルを記述する複数のレイアウト図を生成する。
図5は得られたゲートレベルの略図でタスクまたは機能に従ってゲートのグループ化の概略を示す。つまり、各々の装置のサブアダプターについて、−−1つのゲートのグループはデータマネージャ(DATA MGR)として動作する;
−−1つのゲートのグループはバッファ(BUFFER)として動作する;
−−1つのゲートのグループはサイクル制御論理回路(CYCLE CONTROL )として動作する;
−−1つのゲートのグループは(任意で)ユーザー論理回路(USER LOGIC)として動作する。
マクロは一組の機能ブロック(例えば有限状態マネージャ、データマネージャ、バッファ、サイクル制御装置など)からなりこれら自体が拡張自在である。これらの機能ブロックの間のインタフェースは規約またはルールに従うインタフェースであり、可変タイミングおよびワード幅仕様を有する。例えば、バッファブロックは、インタフェースの規約/ルールを変更せずに深さ1バイトのFIFOまたは深さ4KバイトのFIFOのどちらかを有するように設定することができる。従ってサイクル制御装置インタフェース規約を変更せずにバッファの可変幅データパスを設定することが可能である。この方法では、サイクル制御装置はデータと無関係な方法で機能を実行している。
マクロは所定の装置用アダプターについて単一のバスインタフェースを生成する。このバスインタフェースはバス12と装置用アダプターICまたはカード16との間の電気的インタフェースを提供する。バスインタフェースはバスと(1つまたはそれ以上の)データマネージャの間のデータの流れを管理する有限状態マシンへバスを結合させる。バスインタフェース機能の重要な部材はPCI _FSM と呼ばれるモジュール(またはフロントエンド・バス有限状態マシン)に含まれる。バスインタフェースの動作に責任を負う有限状態マシン内部に2つの独立した状態マシンがあり、一方はスレーブ動作、もう一方はマスター動作を行う。マスター/スレーブ状態マシンの各々はバスインタフェース機能を実行する。
装置サブアダプター18は構造化されており、サイクル制御及びデータ管理装置が対になって動作する。そのため、所定の装置サブアダプター18について実現される各々のバックエンド・インタフェース28はデータマネージャ20とサイクル制御装置24のブロックの対のパラメータ化と組み込みを(バッファブロックと併せて)必要とする。バッファとフロントエンド及びバックエンドのバスを設定した装置サブアダプターとの間のデータ転送は、規約インタフェースを介してデータマネージャとサイクル制御装置により組織化される。
マクロ構造が設定され拡張自在であることから、マクロのバッファ管理装置をパラメータ化して幾つかのバッファの選択肢を提供することが可能である。一般に、内部バッファの深さは所定のシステムの制約と、バスのレテンシー、割り込みサービスのオーバヘッド、キャッシュ線の大きさ、装置のコンプリメント、およびシステム全体の性能目標で決定する必要がある。従ってマクロはシステムの目標に適合するようにバッファを微調整する機構を実装することになる。バッファはFIFO構造であり直接アドレスすることはできない。ほぼ満杯(Almost Full)およびほぼ空(Almost
Empty)フラグはプログラム自在である。バッファは2重ポートになっている。次のような規則がバッファの大きさを決める際に適用される:
1)バッファは幅が8、16、32ビットに拡張自在である。パッキングが所望の場合にはバッファの幅を32ビットとする。
ワードあたり2〜16ビットのデータフィールド
32ビットバス幅ダブルワードあたり4バイト
これ以外のバイト・パッキング選択肢は支持されない。バッファ・パッキングはバッファ詰め込みより先に行われ、バッファ内のデータはバスへ転送するためのパッキングされた順番となるか、またはバックエンド・インタフェースへアンパックするためと制御するためにバッファ内に存在する。バックエンド・インタフェースでのデータのパッキングは支持されない。
2)図8に示すように、バッファは独立した読み込みバッファと書き込みバッファに設定できる(即ち2個の独立したバッファ)
3)図9に示すように、複数バッファ(バッファ0番〜n番)はピンポンバッファまたは循環バッファとして設定できる(即ち読み込み用に2つまたはそれ以上のバッファ、また書き込み用に2つまたはそれ以上のバッファ)。
各バックエンド・インタフェースは汎用アドレス及びデータインタフェースである。「汎用」アドレス及びデータインタフェースの概念は装置へのバックエンド・インタフェースを実行するのに必要な一組の信号で定義される。設定可能な汎用インタフェースは数種類存在する。これには要求/許可プロトコルを使用するマスタリング・インタフェース、保持と保持アクノリッジのプロトコルを使用するマスタリング・インタフェース、スレーブ動作用要求/許可プロトコルを使用するDMAスレーブ・インタフェース、直接アクセス・プロトコルを使用する単純スレーブ・インタフェースが含まれる。各バックエンド・インタフェースは前述の「汎用」インタフェース機構の形式のどれかで設定することができる。さらに、装置のデータ特有の特性も、例えばデータ幅、アドレス幅、バイト・イネーブル幅など設定することができる。これはPCIMACRO_USER_PARAMSファイル内で利用者が指定するパラメータの適切な設定により行う。
以下の例は本発明の重要な原理を示したものである。装置が軸の回転位置を表わす8ビットのワードを生成する回転位置エンコーダであると仮定する。バスを含むマイクロコンピュータは異なる時刻に8ビットの数を確定したいものとする。
1.図5の破線の囲み16内部に図示してある装置用アダプターは図10に図示したような拡張カード上に構成することができる。この拡張カードを図11に図示したようにマイクロコンピュータ内部の拡張スロットへ挿入することができる。従来技術で周知のように、拡張スロットは実際にはコンピュータのシステムバスに接続するエッジコネクタである。拡張カードは図10に示すように、接続しようとする各々の装置に1つずつの、複数のCコネクタ34を含む。図5のユーザ論理回路が拡張カード自体に位置している場合、拡張カードは各々の装置に対して異なるインタフェースを提供する。各々のインタフェースは図10に示したCコネクタの1つで表現されている。
A.バスの既存の仕様をバックエンド・インタフェースの仕様と置き換える
B.バックエンド・インタフェースの既存の仕様を装置インタフェースの仕様と置き換える
ファイルcycle_controller.vhdとbk_end.vhd の変更により(これらのファイルは後に示す表1及び表2に一覧してある)これらの置き換えを行った後、バックエンド・インタフェースは装置の特性に適合するようになる。
0 バッファなし(ほとんどデータマネージャの機能がない)バックエンド・スレーブ装置
1 双方向スレーブDMAエンジン(ピア・ツー・ピアを含む)
2 バス12へ書き込むためのスレーブDMAエンジン
3 バス12から読み込むためのスレーブDMAエンジン
4 バッファなしマスター、読み込みと書き出し(単純なデータマネージャ機能)
5 バッファ付き読みとりマスター、ランダムアクセス
6 バッファ付き読みとりマスター、順次アクセス
7 バッファ付き書き込みマスター、ランダムアクセス
8 バッファ付き書き込みマスター、順次アクセス
9 バッファ付き双方向マスター、順次アクセス
6.好適実施例において、バス12はPCIバスであって、本明細書において背景資料として参照に含めている、PCI仕様書2.0版−1993年4月30日付、およびPCI
IDE追補0.6版(PCI SIG委員会監修)−1994年1月12日付(Peripheral Component Interconnect Specification Rev.2.0 - April 30,
1993 and PCI IDE Addendum Rev. 0.6 (in review by PCI SIG Committee) - January
12, 1994 )(両方ともオレゴン州ヒルスボロー、エラム・ヤング・パークウェイ北東5200、PCI専門グループ(PCI Special Interest Group, 5200 N.E. Elam Young Parkway, Hillsboro,
Oregon 97124)から入手可能)に更に詳細に述べられているように、以下の信号を伝送する。
RST#:PCIリセット。全てのPCI装置出力信号は非同期的に3状態へ駆動される
AD(31:0):多重化されたPCIのアドレスとデータ
C_BE(3:0):多重化されたPCIのバス・コマンドとバイト・イネーブル
PAR:PCIパリティ
FRAME#:サイクル・フレーム。これは現在のバスマスターにより駆動されバス・アクセスの開始と持続を指定する。
イニシエータ・レディ。開始したバスマスターの現在のトランザクションデータ相を完了し得る機能を表わす。データ相を完了させるには、IRDY#とTRDY#の両方がクロック端で活動状態になる必要がある。
停止。現在のトランザクションのイニシエータにトランザクション中止を要求する。
選択装置の初期化。設定トランザクションのためのチップ選択として用いる。
装置選択。ターゲット装置がアドレスを復号しており現在のトランザクションのターゲットであることを表わす。
パリティ・エラー。DATAパリティエラーのみを報告するために用いる。PERR#はエージェントがDEVSELを発行してトランザクションを宣言した後でのみ駆動し得る。
システム・エラー。ADDRESSパリティエラーを報告するために用いる。特別サイクルはマクロが支持していないので、データパリティはこの信号を用いる特別サイクルで報告されない。
PCI_CLK システムクロック(The System Clock)
(PCI Bus
appears synchronous)
PCI_RST フロントエンドバスからのシステムリセット
(The System
Reset from front end bus)
PCI_AD_IN アドレスライン(Address
Lines)
PCI_AD_OUT 〃
PCI_AD_OEb 〃
PCI_CNTL_BEb_IN コントロールライン(Control Lines)
PCI_CNTL_BEb_OUT 〃
PCI_CNTL_BE_OEb 〃
PCI_FRAMEb_IN バリッドサイクル(Valid
Cycle)
PCI_FRAMEb_OUT 〃
PCI_FRAMEb_OEb 〃
PCI_TRDYb_IN ターゲットレディ(Target
Ready)
PCI_TRDYb_OUT 〃
PCI_TRDYb_OEb 〃
PCI_IRDYb_IN イニシエーターレディ(Initiator
Ready)
PCI_IRDYb_OUT 〃
PCI_IRDYb_OEb 〃
PCI_STOP_IN ターゲットターミネート(Target
Terminates)
PCI_STOP_OUT 〃
PCI_STOP_OEb 〃
PCI_DEVSELb_IN デバイスセレクト(Device
Select)
PCI_DEVSELb_OUT 〃
PCI_DEVSELb_OEb 〃
PCI_IDSELb IDセレクト(ID Select)
PCI_LOCKb 排他的アクセスロック(Exclusive Access Lock)
PCI_PERRb_IN リティエラー(Parity
Error)
PCI_PERRb_OUT 〃
PCI_PERRb_OEb 〃
PCI_SERRb_IN システムエラー(System
Error)
PCI_SERRb_OUT 〃
PCI_SERRb_OEb 〃
PCI_PAR_IN パリティ(Parity)
PCI_PAR_OUT 〃
PCI_PAR_OEb 〃
8.バックエンド・インタフェースは以下の信号を伝送する:
BK_ADDR_IN アドレスライン(Address
Lines)
BK_ADDR_OUT 〃
BK_ADDR_OUT_EN 〃
BK_DATA_IN データライン(Data
Lines)
BK_DATA_OUT 〃
BK_DATA_OUT _EN 〃
BK_BEb _IN バイトイネーブルライン(Byte
Enable Lines)
BK_BEb _OUT 〃
BK_BYTE_OUT _EN イネーブル・フォア・バイトライン (Enable for Byte
Lines)
BK_AS_IN アドレスストローブ(Address
Strobe)
BK_AS_OUT 〃
BK_DS_IN データストローブ(Data
Strobe)
BK_DS_OUT 〃
BK_RD_WRb_IN リードライトディレクション(Read/Write Direction)
BK_RD_WRb_OUT 〃
BK_MEM _IOb _IN メモリーI/O(Memory I/O)
BK_MEM _IOb _OUT 〃
BK_C _Db_IN コマンド/データ(Command/Data)
BK_C _Db_OUT 〃
BK_SLAVE_CS スレーブチップセレクト(Slave
Chip Select)
BK_DRQ データリクエスト(Data Request)
BK_TC トランスファーカウント・コンプリート
(Transfer Count Complete)
BK_REQ リクエストバス(Request Bus)
BK_GNT グラントバス(Grant Bus)
BK_RDY_IN レディ(Ready)
BK_RDY_OUT 〃
BK_HOLD ホールド(Hold)
BK_HLDA ホールドアクノレッジ(Hold Acknowledge)
BK_MASTER_REQ マスターリクエスト(Master
Request)
BK_MASTER_GNT マスターグラント(Master
Grant)
BK_RESTART リスタートデバイス(Restart Device)
BK_IRQ_HOLD_OFF インターラプトホールドオフ(Interrupt Hold Off)
9.以下の表1はマクロファイルのファイル階層を示したものである:
−表1−(マクロモジュールの階層)
ユーザーパラメーター選択ファイル(User
parameter selection files):
pcimacro_user_params.vhd
macro_pkg.vhd
マクロ階層ファイル記述(Macro
Hierarchy file description):
configured_pci_macro.vhd - トッフ゜レヘ゛ルテ゛サ゛インファイル (TOP level design file)
pci_macro.vhd - フ゜ライマリーPCIマクロインターフェースレヘ゛ル
(primary PCI Macro interface level)
pci_fsm.vhd - PCIハ゛スフィニートステートマシーンレヘ゛ル (PCI Bus finite state machine level)
address_counter.vhd - 32ヒ゛ットアト゛レスカウンター (32 bit address counter)
devsel_timer.vhd - テ゛ハ゛イスセレクトタイマー (Device Select Timer)
parity36.vhd - ハ゜リティーシ゛ェネレータ(Parity Generator)
target_latency _timer.vhd - ターケ゛ットラテンシータイマー
(Target Latency Timer)
master_state_machine.vhd - フロントエント゛マスターステートマシーン (Frontend Master State Machine)
slave _state_machine.vhd - フロントエント゛スレーフ゛ステートマシーン(Front End Slave State Machine)
config.vhd - コンフィキ゛ュレーションフ゛ロックレヘ゛ル -PCIスヘ゜シフィックレシ゛スタ (configuration block level - PCI
Specific registers)
bist_reg.vhd
class_code_reg.vhd
command_reg.vhd
device_id_reg.vhd
header_reg.vhd
interrupt _line_reg.vhd
max_lat_reg.vhd
min_gnat_reg.vhd
revision_id_reg.vhd
status_reg.vhd
vendor_id_reg.vhd
high_bit_reg.vhd
base_address_reg.vhd
rom_base_address_reg.vhd
control_reg.vhd
master_latency_timer.vhd
bk_end.vhd - ハ゛ックエント゛インターフェースレヘ゛ル(backend interface level)
data_manager.vhd - テ゛ータマネシ゛ャーフ゛ロック(data manager block)
burst_size_cntr.vhd - ハ゛ーストトランスファーカウンター (Burst Transfer counter)
next_addr_cmpr.vhd - ネクストアト゛レスコンハ゜レーター (Next address comparator)
new_transfer_counter.vhd - トランスファーカウンター
(Transfer counter)
dm_bk_sm.vhd - テ゛ータマネシ゛ャー・フ゛ロックエント゛・ステートマシン (data manager backend state machine)
dm_fe_sm.vhd -テ゛ータマネシ゛ャー・フロントエント゛・ステートマシン (data manager frontend state machine)
fifo.vhd - FIFOフ゛ロックレヘ゛ル(FIFO block level)
dpr_gen.vhd - テ゛ュアルホ゜ートRAMシ゛ェネレータ (Dual
Port RAM generator)
pipeline_block.vhd - テ゛ュアルホ゜ートRAMハ゜イフ゜ラインレシ゛
(Dual Port RAM pipeline regs)
valid _data_counter.vhd - ハ゛リット゛テ゛ータカウンタ
(Valid data counter)
address_pointer.vhd - テ゛ュアルホ゜ートRAMアト゛レスホ゜インタ (Dual
Port RAM address pointer)
buffer_element.vhd - ハ゛ッファ定義
memory_element.vhd - メモリ定義
output_latch.vhd - テ゛ュアルホ゜ートRAMからのテ゛ータハ゜スにおけるアウト フ゜ットラッチ
new_fifo.vhd - FIFOインターフェース(FIFO interface)
cycle _controller.vhd - サイクルコントローラレヘ゛ル (cycle controller level)
cycler.vhd - サイクルコントローラー・ステートマシーンインターフェース (cycle controller
state machine interface)
cc_bk_sm.vhd - サイクルコントローラー・ハ゛ックエント゛ステートマシーン (cycle controller backend state machine)
cc_bypass_sm.vhd - サイクルコントローラ・ハ゛イハ゜スコントローラ (cycle controller bypass controller)
cc_fe_sm.vhd - サイクルコントローラー・フロントエント゛ステートマシーン (cycle controller front end state machine byte_steering_logic.vhd - ハ゛イトステアリンク゛ロシ゛ック(Byte
Steering logic)
ジェネラルコンフギュアードレジスタファイル(General
Configured register files):
configurable_bit_reg.vhd
configurable_dword_reg.vhd
ミスク.I/O、ゲートレベル・ライブラリーファイルとクロックツリー・ファイル(Misc. I/O, gate level library files and clock tree files):
clktree.vhd クロックツリーシ゛ェネレータインターフェース(Clock tree generator interface)
signaltree.vhd シク゛ナルツリーシ゛ェネレータインターフェース(Signal tree generator
interface)
nan2.vhd ナント゛ケ゛ート(NAND gate)
dffpq.vhd フリッフ゜フ゜ロッフ゜(flip-flop)
dffrpq.vhd フリッフ゜フロッフ゜(flip-flop)
dff_iobuf_iopd16 フリッフ゜フロッフ゜I/Oハ゛ッファセル(flip-flop I/O buffer cell)
or2.vhd オアケ゛ート(OR gate)
hbuf.vhd HBUFケ゛ート(HBUF gate)
sbuf.vhd SBUFケ゛ート(SBUF gate)
inbuf.vhd インフ゜ットハ゛ッファーケ゛ート(Input buffer gate)
inpd.vhd インフ゜ットハ゜ット゛(Input pad)
inv.vhd インハ゛ータケ゛ート(Inverter gate)
iobuf.vhd I/Oハ゛ッファーケ゛ート(I/O
buffer gate)
iobufpci.vhd 特殊・PCI・ハ゜ット゛ハ゛ッファー(special
PCI pad buffer)
iopd16.vhd IOPD16 I/O セル(cell)
iopd12sl.vhd IOPD12SL I/O セル(cell)
iobuf_iopd12sl.vhd IOBUF +
IOPD12SLセル(cell)
iobuf_iopd16.vhd IOBUF + IOPD16セル(cell)
opd16.vhd OPD16セル(cell)
otpd16.vhd TPD16セル(cell)
bus_hbuf.vhd ハ゛ス型HBUFセル(bused HBUF cell)
bus_inbuf.vhd ハ゛ス型インフ゜ットハ゛ッファーセル(bused input buffer cells)
bus_inpd.vhd ハ゛ス型インフ゜ットハ゜ット゛セル(bused input pad cells)
bus_inv.vhd ハ゛ス型インハ゛ータセル(bused
inverter cells)
bus_opd16.vhd ハ゛ス型OPD16セル(bused OPD16 cells)
iopdpci.vhd 特殊PCI・I/Oセル(Special PCI I/O cell)
10.以下の表2はマクロモジュールにおけるファイルの動作の簡単な説明である。
address_counter.vhd
32ビットカウンタ。32ビット初期アドレスを読み込むことができる。 これが有効な場合、アドレスを1つずつインクリメントする。読み込みとインクリメントはクロック刻時の時点でのみ発生する。
FIFOメモリー素子のためのアドレス論理回路を生成する。
PCI特有のbase_reg用レジスタ
bist_reg.vhd
PCI特有のbist用レジスタ
bk_end.vhd
バックエンドインタフェースの記述。これらの信号全てが同期である。
buffer_element.vhd
FIFOブロックに付随させる何らかの論理を生成する。幾つかのデータ項目を保持するための空間と読み込みと書き込みのための幾つかのaddress_pointerを生成する。
この8ビットカウンタは逆戻りまたは再試行されるバースト転送の長さを制御するために用いて、完了できる場合には正しいカウントで継続できるようにする。
HBUFセル用のセルライブラリ・ファイルで、シミュレーションと合成のために用いる。
INVセル用のセルライブラリ・ファイルで、シミュレーションと合成のために用いる。
OPD16セル用のセルライブラリファイルで、シミュレーションと合成のために用いる。
バイトステアリング用のデータパスである。データバスの全てのバイトのステアリングを取り扱う。
バックエンド・インタフェース用サイクル制御装置状態マシンである。これの幾つかの部分はどのデータマネージャを選択するかによって脱落する。
サイクル制御装置バイパスモード状態マシンである。どのデータマネージャを選択するかによってこれの幾つかの部分が脱落する。
サイクル制御装置フロントエンド状態マシンである。これの幾つかの部分はどのデータマネージャを選択するかによって脱落する。
PCI特有のclass_code用レジスタである。
クロックツリー合成モジュールの基準である。
PCI特有のコマンド用レジスタである。
PCI特有のバックエンド・インタフェース用設定ブロックである。各々の装置に対して1つ存在する。付属装置が現在のバストランザクションのターゲットかどうかバスが決定できるようにするための情報を含む。
装置とそのデータマネージャ、各種IDレジスタ、転送バースト長、レ テンシー・タイマーの値、などのアドレス範囲についての情報を含む。
configurable_bit_reg.vhd
設定自在な幅を有する汎用レジスタである。リセット時に0ビットまたは1ビットどちらで埋められるかも設定自在である。
設定自在な倍ワード長の汎用レジスタである。
PCIマクロの下位部分の下位ブロックを生成する。
PCI特有レジスタ。
サイクル制御装置ブロックである。バッファブロックからバックエンド・インタフェースへの転送を制御する。
バイト・ステアリング・サイクラー状態マシンである。1つのバスから別のバスまたは異なる大きさを有するインタフェースへのデータのステアリングを制御する。
データマネージャ・ブロックである。バッファブロックからフロントエンド・バスへの転送を制御する。
PCI特有の16ビット読み出し専用レジスタでこの装置のIDを含む。
PCI特有のカウンタである。
フリップフロップI/Oバッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
フリップフロップセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
データマネージャ・バックエンド状態マシンである。どの種類のデータマネージャを選択したかによって別の状態マシンを構築できる。
データマネージャ・フロントエンド状態マシンである。どの種類のデータマネージャを選択したかによって別の状態マシンを構築できる。
2重ポートRAM(デュアルポートRAMという)である。2つのことを一度にアクセスできる所定の大きさのRAMを生成する。
単一または複数FIFOバッファ構成のための制御論理全てを含むFIFOブロックの全体である。
バッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
PCI特有のデバイス・ヘッダ・レジスタである。
7から幾つかのビットへ下降するビット数が定義され、残りビット数が0となるような8ビットレジスタを生成する。
入力バッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
入力パッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
PCI特有の割り込み線レジスタである。
PCI特有の割り込みピンレジスタである。
インバータセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
I/Oバッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
バッファI/Oパッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
バッファI/Oパッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
PCII/Oバッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
I/Oパッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
I/Oパッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
PCII/Oパッドセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
可能なパラメータのアレイと関数とのアレイと、これらに対応する定数名を含む。各種パラメータ用の多数の初期設定値を含む。また残りのモジュール全てで使用する論理関数、算術関数、増分関数、変換関数も含む。
PCI特有のカウンタで、リセットされた場合または無効になった後で有効になったときに0から計数を始める。このタイマーの利用者が提供する8ビット値からなるMSTR_LAT_TIME(マスター・レテンシー時刻)
に達するまで計数を続ける。この数値に達するとTIME_OUT 信号が有効 になり計数が停止する。
有限状態マシンのフロントエンド・マスター部分で、バスと通信する。
max_lat_reg.vhd
PCI特有のmax_lat用レジスタである。
メモリーのチャンクを生成し、十分小さい場合にはフリップフロップからまたはそれ以外の場合にはデュアルートRAMからのどちらかからこれを構築する。
PCI特有のmin_gnt用レジスタである。
装置が使用する余分なPCI特有設定レジスタの生成を可能にする。何も指定されていなければ何も生成しない。
NANDゲートセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
FIFOインタフェース。
データ転送の基礎とするためにデータマネージャで使用するカウンタ。
next_addr_cmpr.vhd
入力バスからの次のアドレスを予測された次のアドレスと比較するための構造を含む。またバックエンド装置のための次のバス転送の現在のアドレスも含む。
OPD16セル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
ORゲートセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
OTPD16セル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
FIFO2重ポートRAM出力からデータを受け取る出力ラッチである。
32ビットデータ入力及び4ビットの命令入力を受け取りこれらから単一のパリティビットを生成する。このビットはデータと命令入力内の1のビットの総数が奇数の場合には1となり、偶数の場合には0となる。
pci_fsm.vhd
PCIバス有限状態マシンモジュールで、マスター、スレーブ、パリティ、およびaddress_counterを内包してPCIバスへのインタフェースを形成する。
内部信号は本明細書に記述してある。この1次モジュールは他の全ての下位部分(FIFO、サイクル制御装置、データマネージャ、バックエンド・インタフェース、バイト・ステアリング、有限状態マシン)を呼び出す。
各種下位部分のための利用者が選択自在なパラメータの定義を含み、これに従ってバックエンド・インタフェースの種類を選択する。
FIFOの一部でデュアルポートRAMのパイプラインレジスタを含む。
PCI特有の8ビット読み出し専用レジスタで、この版の幾つかの識別子を含む。
ROMのベースアドレス用のPCI特有の32ビットレジスタである。
sbuf.vhd
バッファセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
configured_pci_macro.vhd ァイルと同じだが、走査試験用に設定される。このファイルは走査試験回路を含めることが所望される場合にscan_pci_macroの代わりに使用する。
シグナルツリーセル用セルライブラリ・ファイルで、シミュレーションと合成のために用いる。
有限状態マシンのスレーブ部分で、バスと通信する。
この16ビットレジスタは装置から発行されたかまたはバックエンド・スレーブ装置から受信した中断バスサイクルを反映する。またバックエンド・マスター装置のマスターが中断したバスサイクルも反映する。このレジスタを読み出すことでビットの値が得られる。書き込みの場合、1が書き込まれたこのレジスタのどのビットも0にリセットされる。
このPCI特有のカウンタはリセットされた場合または無効にされた後で有効になった場合に8にリセットされる。これが0に到達すると、TIME_OUT 信号が有効になる。
FIFOブロックの一部である。これの機能はバッファ内の次の空のセルがどこにあるかの決定に関係する。
このPCI特有の16ビット読み出し専用レジスタはこの部分の特定のベンダーのID(例えば装置用アダプター・チップまたはカード)を含む。
13 外部バスインタフェース
14 装置
15 内部バス
16 装置用アダプター(コンピュータ用バスインタフェース)
18 サブアダプター
20 データマネージャ
22 バッファ
24 サイクル制御装置
25 データパス
26 ユーザ論理回路
27 制御パス
28 バックエンド・インタフェース
29 エクスポートI/F
30 有限状態マシン
32 内部バス
34 Cコネクタ
Claims (4)
- 複数の装置をコンピュータバスに適合させるためのアダプター手段を含むコンピュータ用バスインタフェースであって、
前記アダプター手段は、
回路記述言語で記述されたマクロ中のバッファ記述部分、前記マクロと別に記述された装置固有パラメータで指定される容量及びデータビット幅を持つバッファ手段と、
前記バッファ手段のバス側に配置され、前記マクロ中のデータマネージャ記述部分で指定されたデータ転送条件で、前記バッファ手段と前記コンピュータバスとの間のデータ転送をサポートするデータマネージャ手段と、
前記バッファ手段の装置側に配置され、前記マクロ中のサイクル制御記述部分、前記装置固有パラメータで指定されたデータ転送条件で、前記バッファ手段と前記装置との間のデータ転送をサポートするサイクル制御手段と、
を備え、
設計段階で、前記装置固有パラメータを調整して、前記バッファ手段の容量及びデータビット幅を調整することを特徴とするコンピュータ用バスインタフェース。 - 前記バッファ手段、前記データマネージャ手段及び前記サイクル制御手段を有する装置アダプター手段を2つ以上持つ複数の装置アダプター手段と、
前記各装置アダプター手段と前記コンピュータバスとの間に配置され、前記マクロ中の有限状態マシン記述部分で指定された調停条件で、前記各装置アダプター手段と前記コンピュータバスとの間のデータ転送を調停させる有限状態マシン手段と、
を備えたことを特徴とする請求項1に記載のコンピュータ用バスインタフェース。 - 複数の装置をコンピュータバスに接続させる電子カードであって、
回路記述言語で記述されたマクロ中のバッファ記述部分、前記マクロと別に記述された装置固有パラメータで指定される容量及びデータビット幅を持つバッファ手段と、
前記バッファ手段のバス側に配置され、前記マクロ中のデータマネージャ記述部分で指定されたデータ転送条件で、前記バッファ手段と前記コンピュータバスとの間のデータ転送をサポートするデータマネージャ手段と、
前記バッファ手段の装置側に配置され、前記マクロ中のサイクル制御記述部分、前記装置固有パラメータで指定されたデータ転送条件で、前記バッファ手段と前記装置との間のデータ転送をサポートするサイクル制御手段と、
前記バッファ手段、前記データマネージャ手段、前記サイクル制御手段が搭載される基板と、を備え、
設計段階で、前記装置固有パラメータを調整して、前記バッファ手段の容量及びデータビット幅を調整することを特徴とする電子カード。 - 前記バッファ手段、前記データマネージャ手段及び前記サイクル制御手段を有する装置アダプター手段を2つ以上持つ複数の装置アダプター手段と、
前記各装置アダプター手段と前記コンピュータバスとの間に配置され、前記マクロ中の有限状態マシン記述部分で指定された調停条件で、前記各装置アダプター手段と前記コンピュータバスとの間のデータ転送を調停させる有限状態マシン手段、を備えたことを特徴とする請求項3に記載の電子カード。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25402294A | 1994-06-03 | 1994-06-03 | |
US08/253,530 US5577213A (en) | 1994-06-03 | 1994-06-03 | Multi-device adapter card for computer |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7127647A Division JPH07334564A (ja) | 1994-06-03 | 1995-05-26 | 微調整自在な接続アダプター生成自動化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006236395A JP2006236395A (ja) | 2006-09-07 |
JP4560601B2 true JP4560601B2 (ja) | 2010-10-13 |
Family
ID=26943340
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7127647A Pending JPH07334564A (ja) | 1994-06-03 | 1995-05-26 | 微調整自在な接続アダプター生成自動化装置 |
JP2006161690A Expired - Lifetime JP4560601B2 (ja) | 1994-06-03 | 2006-06-09 | コンピュータ用バスインタフェース |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7127647A Pending JPH07334564A (ja) | 1994-06-03 | 1995-05-26 | 微調整自在な接続アダプター生成自動化装置 |
Country Status (1)
Country | Link |
---|---|
JP (2) | JPH07334564A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4236729B2 (ja) | 1998-05-07 | 2009-03-11 | 株式会社リコー | データ処理装置 |
JP3327900B2 (ja) * | 1999-07-12 | 2002-09-24 | 松下電器産業株式会社 | データ処理装置 |
US7197583B2 (en) * | 2003-01-21 | 2007-03-27 | Zentek Technology Japan, Inc. | SDIO controller |
JP4920638B2 (ja) * | 2007-06-01 | 2012-04-18 | インベンチュア株式会社 | Lsiシステムの設計方法及びlsiシステムの設計支援装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4313160A (en) * | 1976-08-17 | 1982-01-26 | Computer Automation, Inc. | Distributed input/output controller system |
US5123092A (en) * | 1988-10-21 | 1992-06-16 | Zenith Data Systems Corporation | External expansion bus interface |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6136859A (ja) * | 1984-07-30 | 1986-02-21 | Nec Corp | インタフエ−ス制御装置 |
NL8500571A (nl) * | 1985-03-01 | 1986-10-01 | Hollandse Signaalapparaten Bv | Locaal data-communicatienetwerk volgens het multiple-bus-systeem. |
JPS62182857A (ja) * | 1986-02-05 | 1987-08-11 | Nec Corp | 入出力制御装置 |
JP2585294B2 (ja) * | 1987-09-24 | 1997-02-26 | 株式会社日立製作所 | Pidコントローラ |
JP2625908B2 (ja) * | 1988-06-21 | 1997-07-02 | 富士通株式会社 | 非同期エラスティックストアドメモリのジッタ吸収量選択方式 |
JP2920919B2 (ja) * | 1988-09-27 | 1999-07-19 | セイコーエプソン株式会社 | インターフェイス装置 |
JPH0743663B2 (ja) * | 1988-10-08 | 1995-05-15 | 日本電気株式会社 | データ転送制御装置 |
US4991023A (en) * | 1989-05-22 | 1991-02-05 | Hewlett-Packard Company | Microprocessor controlled universal video monitor |
JPH0357057A (ja) * | 1989-07-26 | 1991-03-12 | Hitachi Medical Corp | Scsi利用のデータ転送装置 |
JP2744865B2 (ja) * | 1991-04-30 | 1998-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレイション | シリアルチャネルアダプタ |
JPH05173933A (ja) * | 1991-12-24 | 1993-07-13 | Oki Electric Ind Co Ltd | ダイレクトメモリアクセス転送方式 |
JP3199816B2 (ja) * | 1992-03-04 | 2001-08-20 | 株式会社日立製作所 | 高速ファイルアクセス制御方法および計算機システム |
JP2823991B2 (ja) * | 1992-03-31 | 1998-11-11 | 出光興産株式会社 | コンピュータ運用自動化装置 |
JPH0668022A (ja) * | 1992-08-18 | 1994-03-11 | Oki Electric Ind Co Ltd | ダイレクトメモリアクセス装置 |
JP3524110B2 (ja) * | 1992-11-06 | 2004-05-10 | 株式会社ルネサステクノロジ | マイクロコンピュータシステム |
-
1995
- 1995-05-26 JP JP7127647A patent/JPH07334564A/ja active Pending
-
2006
- 2006-06-09 JP JP2006161690A patent/JP4560601B2/ja not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4313160A (en) * | 1976-08-17 | 1982-01-26 | Computer Automation, Inc. | Distributed input/output controller system |
US5123092A (en) * | 1988-10-21 | 1992-06-16 | Zenith Data Systems Corporation | External expansion bus interface |
Also Published As
Publication number | Publication date |
---|---|
JPH07334564A (ja) | 1995-12-22 |
JP2006236395A (ja) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0685799B1 (en) | Multi-device connector | |
US5142672A (en) | Data transfer controller incorporating direct memory access channels and address mapped input/output windows | |
US4878166A (en) | Direct memory access apparatus and methods for transferring data between buses having different performance characteristics | |
US4947366A (en) | Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities | |
EP0685803B1 (en) | Method of producing an electrical device adapter | |
US6353867B1 (en) | Virtual component on-chip interface | |
US5819096A (en) | PCI to ISA interrupt protocol converter and selection mechanism | |
US5828865A (en) | Dual mode bus bridge for interfacing a host bus and a personal computer interface bus | |
US5317715A (en) | Reduced instruction set computer system including apparatus and method for coupling a high performance RISC interface to a peripheral bus having different performance characteristics | |
EP1422626B1 (en) | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process | |
US7743186B2 (en) | Serialization of data for communication with different-protocol slave in multi-chip bus implementation | |
Nowick et al. | Practical asynchronous controller design | |
JP2001515248A (ja) | 集積回路デバイス、技術依存型設計仕様を生成する方法及び機械可読媒体 | |
WO2000033201A1 (en) | Concurrent serial interconnect for integrating functional blocks in an integrated circuit device | |
CN109032973B (zh) | Icb总线系统 | |
WO2002005144A1 (en) | Circuit component interface | |
JP2001142842A (ja) | Dmaハンドシェークプロトコル | |
US6633944B1 (en) | AHB segmentation bridge between busses having different native data widths | |
EP2860640B1 (en) | Systems and methods of using an SPI controller | |
KR20210033996A (ko) | 전용 저 레이턴시 링크를 사용한 다수의 하드웨어 가속기에 대한 통합된 어드레스 공간 | |
US20080270667A1 (en) | Serialization of data for communication with master in multi-chip bus implementation | |
JP4560601B2 (ja) | コンピュータ用バスインタフェース | |
Slogsnat et al. | An open-source hypertransport core | |
Yun et al. | A high-performance asynchronous SCSI controller | |
US8706931B1 (en) | Tool selection and implementation of port adapters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060620 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20071127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090415 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20090714 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090807 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100317 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20100415 |
|
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: 20100520 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100618 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100618 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100702 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |