JP2001117855A - バスインタフェース回路作成装置及び記録媒体 - Google Patents

バスインタフェース回路作成装置及び記録媒体

Info

Publication number
JP2001117855A
JP2001117855A JP29291399A JP29291399A JP2001117855A JP 2001117855 A JP2001117855 A JP 2001117855A JP 29291399 A JP29291399 A JP 29291399A JP 29291399 A JP29291399 A JP 29291399A JP 2001117855 A JP2001117855 A JP 2001117855A
Authority
JP
Japan
Prior art keywords
address
bus interface
global address
circuit
storage element
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.)
Granted
Application number
JP29291399A
Other languages
English (en)
Other versions
JP3604977B2 (ja
Inventor
Motohide Ootsubo
基秀 大坪
Kazutoshi Wakabayashi
一敏 若林
Yuichi Maruyama
勇一 丸山
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.)
NEC Corp
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC Corp
NEC IC Microcomputer Systems Co Ltd
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 NEC Corp, NEC IC Microcomputer Systems Co Ltd filed Critical NEC Corp
Priority to JP29291399A priority Critical patent/JP3604977B2/ja
Priority to US09/686,928 priority patent/US6636925B1/en
Publication of JP2001117855A publication Critical patent/JP2001117855A/ja
Application granted granted Critical
Publication of JP3604977B2 publication Critical patent/JP3604977B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 バスインタフェース回路のレジスタやメモリ
のアドレスの重複を防止し、自動的にバスインタフェー
ス回路を生成する装置を提供する。 【解決手段】 ハードウェア記述10のデータが抽出部
101へ入力されると、抽出部101は、このデータか
ら、記憶素子がメモリかFFであるかを抽出する。抽出
部101は、メモリの場合、先頭アドレスとサイズを読
み込み、FFの場合、アドレスを読み込み、このデータ
をアドレス競合検出部103へ出力する。アドレス競合
検出部103は、抽出部101から出力されたデータに
基づいて、ビットデータ記憶部102へ記憶されている
アドレスの情報へ1が記憶されているか否かを検出する
ことによって、アドレスの競合を検出する。そして、出
力部104は、アドレス競合検出部103から出力され
た記憶素子のアドレス等のデータをバスインタフェース
回路のハードウェア記述言語に変換し、出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マスターとなる中
央処理装置と該中央処理装置に対しスレーブとなるハー
ドウェアとの間に設けられる、バスインタフェース回路
を作成するバスインタフェース回路作成装置に関するも
のである。
【0002】
【従来の技術】従来、図25に示すようなマスターとな
る中央処理装置(以下、CPUと称する)400とスレ
ーブとなるハードウェア(以下、HWと称する)1また
は、HW2との間のバスインタフェース回路を設計する
際には、CPUからレジスタやメモリに対し読み書きを
行うアドレス(以下、グローバルアドレスと称する)
を、図26に示すテキスト形式410や表形式411で
整理していた。そして、このテキスト形式410や表形
式411に基づき、設計者がバスインタフェース回路を
ハードウェア記述言語等で記述していた。なお、バスイ
ンタフェース回路は、マスターとなるCPUとスレーブ
となるハードウェアとの間に設けるメモリやレジスタ等
の記憶素子に対応して設けられたアドレスデコーダ全体
から成っており、アドレスデコーダは、各記憶素子に対
応して設けられるEnable信号生成回路とアドレス
変換回路とから成っている。
【0003】
【発明が解決しようとする課題】しかしながら、従来
は、アドレスをテキスト形式や表形式で整理していたた
めに、新たにレジスタやメモリ等を追加する場合や、記
述したレジスタのアドレスの変更、メモリの先頭アドレ
スやメモリサイズすなわちアドレス範囲の変更が発生し
た場合には、その度にアドレスもしくはアドレス範囲を
全て見直し、レジスタ、メモリ等に重複する部分がある
か否かを確認し、修正しなければならなかった。
【0004】このようなアドレス等の変更は、CPUに
搭載するソフトウェアの設計者の判断によって、何度も
行われる場合があり、その度にアドレスの重複をチェッ
クすることは煩雑でミスの発生する可能性もあり、ハー
ドウェア設計者にとって負担となっていた。
【0005】さらに、CPUから読み書きされるレジス
タやメモリは、読み出しアドレスと書き込みアドレスが
異なる場合や、データを、ビット単位で別のアドレスに
割り当てる場合などもあった。このような複雑なアドレ
ス指定がなされている場合においては特に、記述ミスが
起こりやすく、また、記述作業もより煩雑となってしま
う場合があった。従って、バスインタフェース回路のレ
ジスタやメモリのアドレスの重複を防止でき、また、複
雑なアドレスの指定を取り扱うことが可能であり、アド
レスマップ図等から自動的にバスインタフェース回路記
述を生成するツールが必要であった。
【0006】本発明はこのような事情に鑑みてなされた
もので、その目的は、バスインタフェース回路のレジス
タやメモリのアドレスの重複を防止し、ディスプレイ等
の画面上で、視覚的にアドレスの配置状況を容易に把握
できるバスインタフェース回路作成装置を提供すること
にある。また、本発明の他の目的は、複雑なアドレス指
定がなされている場合においても、簡略化したバスイン
タフェース回路を自動的に生成できるバスインタフェー
ス回路作成装置を提供することにある。また、本発明の
他の目的は、アドレスの重複や、面積的に好ましくない
ハードウェアが生成されることをユーザへ警告できるバ
スインタフェース回路作成装置を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明のうち請求項1に記載の発明は、マスターと
なる中央処理装置と前記中央処理装置に対しスレーブと
なるハードウェアとの間に設けられる、記憶素子(例え
ば、実施の形態におけるレジスタまたはメモリまたはフ
リップフロップ)を含むバスインタフェース回路につい
てのバスインタフェース記述すなわちCPU側のバスイ
ンタフェースから見た記憶素子についての記述と、スレ
ーブとなるハードウェアについてのスレーブハードウェ
ア記述すなわちスレーブハードウェアから見た記憶素子
についての記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述(例えば、実施の形態におけるハードウ
ェア記述10)から、前記記憶素子のアドレスに関する
データ(例えば、実施の形態における先頭アドレス、メ
モリのサイズ、記憶素子の名称等)を抽出する抽出部
と、前記抽出部が抽出したデータに基づいて前記記憶素
子が割り当てられたアドレスを記憶するビットデータ記
憶部と、前記抽出部が抽出したデータと、前記ビットデ
ータ記憶部の記憶情報に基づき、前記記憶素子のアドレ
スの重複を検出するアドレス競合検出部とを備えたこと
を特徴とする。
【0008】請求項2に記載の発明は、マスターとなる
中央処理装置と前記中央処理装置に対しスレーブとなる
ハードウェアとの間に設けられる、記憶素子を含むバス
インタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述に基づき、同一の前記記憶素子に対して
割り当てられた読み出しグローバルアドレスと書き込み
グローバルアドレスが一致しているか否かを比較するR
Wアドレス比較部と、前記読み出しグローバルアドレ
ス、あるいは書き込みグローバルアドレスがビット単位
で別アドレスになっているか否かを判断する判断部と、
前記読み出しグローバルアドレスと前記書き込みグロー
バルアドレスが一致し、前記グローバルアドレスがビッ
ト単位で別アドレスの場合に、該グローバルアドレスが
指定された際にアクティブとなるセレクト信号(例え
ば、実施の形態におけるEnable信号生成回路とR
/Wバー信号によってCS端子、OE端子、WE端子を
選択する信号)を出力するセレクト信号生成回路と、該
グローバルアドレスを該記憶素子のローカルアドレスに
変換する回路(例えば、実施の形態におけるアドレス変
換回路A1)とを各アドレスに対応して生成する回路生
成部と、を備えたことを特徴とする。
【0009】請求項3記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述に基づき、同一の前記記憶素子に対して
割り当てられた読み出しグローバルアドレスと書き込み
グローバルアドレスが一致しているか否かを比較するR
Wアドレス比較部と、入力されるバスインタフェース記
述に基づき、前記読み出しグローバルアドレスあるいは
書き込みグローバルアドレスがビット単位で別アドレス
になっているか否かを判断する判断部と、前記読み出し
グローバルアドレスと前記書き込みグローバルアドレス
が別アドレスであり、前記読み出しグローバルアドレス
と前記書き込みグローバルアドレスとがいずれのビット
においてもアドレスが一致している場合に、該グローバ
ルアドレスが指定された際にアクティブとなるセレクト
信号を出力するセレクト信号生成回路と、該グローバル
アドレスを該記憶素子のローカルアドレスに変換する回
路とを前記読み出しグローバルアドレスと前記書き込み
グローバルアドレス毎に生成する回路生成部とを備えた
ことを特徴とする。
【0010】請求項4記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述に基づき、前記記憶素子に対して割り当
てられた読み出しグローバルアドレスと書き込みグロー
バルアドレスが一致しているか否かを比較するRWアド
レス比較部と、前記読み出しグローバルアドレスあるい
は書き込みグローバルアドレスがビット単位で別アドレ
スになっているか否かを判断する判断部と、前記読み出
しグローバルアドレスと前記書き込みグローバルアドレ
スが別アドレスであり、前記読み出しグローバルアドレ
スまたは前記書き込みグローバルアドレスの少なくとも
いずれかがビット単位で別アドレスである場合に、ビッ
ト単位で別アドレスである前記いずれかのグローバルア
ドレスが指定された際にアクティブとなるセレクト信号
を出力するセレクト信号生成回路と、該グローバルアド
レスを該記憶素子のローカルアドレスに変換する回路と
を前記読み出しグローバルアドレスと前記書き込みグロ
ーバルアドレス毎に生成し、さらに、前記グローバルア
ドレスを該記憶素子のローカルアドレスに変換する回路
を前記読み出しグローバルアドレスと前記書き込みグロ
ーバルアドレスのビット毎に生成する回路生成部とを備
えたことを特徴とする。
【0011】請求項5記載の発明は、請求項1ないし請
求項4記載のバスインタフェース回路作成装置におい
て、前記セレクト信号のグローバルアドレスに関するデ
ータを抽出するアドレス抽出部と、前記アドレス抽出部
が抽出したデータに基づいて、前記読み出しグローバル
アドレスと書き込みグローバルアドレスとをn進表現し
て、上位桁から順に比較判定して、上位桁から連続して
一致する上位桁の数を決定するアドレス判定部と、前記
アドレス判定部で決定した一致する上位桁の数に対応し
た前記セレクト信号の共通回路(例えば、実施の形態に
おけるEnable信号生成回路H11)を生成する共
通回路生成部とを備えたことを特徴とする。
【0012】請求項6記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述から前記記憶素子に対する先頭グローバ
ルアドレスとアドレス範囲を抽出する抽出部と、前記抽
出部が抽出した前記アドレス範囲の任意のアドレスを個
別に指定可能な最小のアドレス線の本数nを計算する演
算部と、前記記憶素子の先頭アドレスの下位nビットが
すべて0であるか否かを検出するチェッカー部と、前記
チェッカー部の検出結果が前記記憶素子の先頭アドレス
の下位nビットがすべて0であった場合に、前記グロー
バルアドレスの下位nビットを前記記憶素子のアドレス
入力とし、前記グローバルアドレスの下位nビット以外
のアドレス値を利用して、セレクト信号を出力する回路
を生成する回路生成部とを備えたことを特徴とする。
【0013】請求項7記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するバスイン
タフェース回路作成装置において、入力されるバスイン
タフェース記述から前記記憶素子の先頭グローバルアド
レスとアドレス範囲を抽出する抽出部と、前記抽出部が
抽出した前記アドレス範囲の任意のアドレスを個別に指
定可能な最小のアドレス線の本数nを計算する演算部
と、前記記憶素子の先頭アドレスの下位nビットがすべ
て0であるか否かを検出するチェッカー部と、前記下位
nビットの中に、1が存在する場合に、警告を行う警告
部とを備えたことを特徴とする。
【0014】請求項8記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述
と、スレーブとなるハードウェアについてのスレーブハ
ードウェア記述とを入力し、前記バスインタフェース回
路を表現するハードウェア記述言語を出力するためのバ
スインタフェース回路作成プログラムを記録したコンピ
ュータ読み取り可能な記録媒体において、前記バスイン
タフェース回路作成プログラムは、入力されるバスイン
タフェース記述から、前記記憶素子のアドレスに関する
データを抽出する抽出ステップと、前記抽出ステップに
よって抽出したデータに基づいて前記記憶素子が割り当
てられたアドレスを記憶するビットデータ記憶ステップ
と、前記抽出ステップによって抽出したデータと、前記
ビットデータ記憶ステップによって記憶した情報に基づ
き、前記記憶素子のアドレスの重複を検出するアドレス
競合検出ステップとをコンピュータに実行させるバスイ
ンタフェース回路作成プログラムであることを特徴とす
る。
【0015】請求項9記載の発明は、マスターとなる中
央処理装置と前記中央処理装置に対しスレーブとなるハ
ードウェアとの間に設けられる、記憶素子を含むバスイ
ンタフェース回路についてのバスインタフェース記述を
入力し、所定のハードウェア記述言語を出力するバスイ
ンタフェース回路作成プログラムを記録したコンピュー
タ読み取り可能な記録媒体において、前記バスインタフ
ェース回路作成プログラムは、入力されるバスインタフ
ェース記述に基づき、同一の前記記憶素子に対し前記中
央処理装置が指示する読み出しグローバルアドレスと書
き込みグローバルアドレスが一致しているか否かを比較
するRWアドレス比較ステップと、入力されるバスイン
タフェース記述に基づき、前記グローバルアドレスがビ
ット単位で別アドレスになっているか否かを判断する判
断ステップと、前記読み出しグローバルアドレスと前記
書き込みグローバルアドレスが一致し、前記グローバル
アドレスがビット単位で別アドレスの場合に、該グロー
バルアドレスが指定された際にセレクト信号を生成し、
必要に応じて更に該グローバルアドレスを該記憶素子の
ローカルアドレスに変換する回路を各アドレス毎に生成
する回路生成ステップと、前記読み出しグローバルアド
レスと前記書き込みグローバルアドレスが別アドレスで
あり、前記読み出しグローバルアドレスと前記書き込み
グローバルアドレスとがいずれのビットにおいてもアド
レスが一致している場合に、該グローバルアドレスが指
定された際にアクティブとなるセレクト信号を出力する
セレクト信号生成回路と、該グローバルアドレスを該記
憶素子のローカルアドレスに変換する回路とを前記読み
出しグローバルアドレスと前記書き込みグローバルアド
レス毎に生成する回路生成ステップと、前記読み出しグ
ローバルアドレスと前記書き込みグローバルアドレスが
別アドレスであり、前記読み出しグローバルアドレスま
たは前記書き込みグローバルアドレスの少なくともいず
れかがビット単位で別アドレスである場合に、ビット単
位で別アドレスである前記いずれかのグローバルアドレ
スが指定された際に、アクティブとなるセレクト信号を
出力するセレクト信号生成回路と、該グローバルアドレ
スを該記憶素子のローカルアドレスに変換する回路とを
前記読み出しグローバルアドレスと前記書き込みグロー
バルアドレス毎に生成し、さらに、前記グローバルアド
レスを該記憶素子のローカルアドレスに変換する回路を
前記読み出しグローバルアドレスと前記書き込みグロー
バルアドレスのビット毎に生成する回路生成ステップと
をコンピュータに実行させるバスインタフェース回路作
成プログラムであることを特徴とする。
【0016】請求項10記載の発明は、請求項9記載の
バスインタフェース回路作成プログラムを記録した記録
媒体において、前記生成されたセレクト信号のグローバ
ルアドレスに関するデータを抽出するアドレス抽出ステ
ップと、前記アドレス抽出ステップが抽出したデータに
基づいて、前記グローバルアドレスが一致するか否かを
該グローバルアドレスの上位から順に判定するアドレス
判定ステップと、前記アドレス判定ステップの判定結果
が一致する場合に、前記セレクト信号の共通回路を生成
する共通回路生成ステップとを備えたことを特徴とす
る。
【0017】請求項11記載の発明は、マスターとなる
中央処理装置と前記中央処理装置に対しスレーブとなる
ハードウェアとの間に設けられ、記憶素子を含むバスイ
ンタフェース記述を入力し、所定のハードウェア記述言
語を出力するバスインタフェース回路作成プログラムを
記録したコンピュータ読み取り可能な記録媒体におい
て、前記バスインタフェース回路作成プログラムは、入
力されるバスインタフェース記述から前記記憶素子に対
する先頭グローバルアドレスとアドレス範囲を抽出する
抽出ステップと、前記抽出ステップにおいて抽出したア
ドレス範囲に基づき、前記アドレス範囲を指定可能な最
小のアドレス線の本数nを計算する演算ステップと、前
記記憶素子の先頭アドレスの下位nビットがすべて0で
あるか否かを検出するチェックステップと、前記チェッ
クステップの検出結果が前記記憶素子の先頭アドレスの
下位nビットがすべて0であった場合に、前記グローバ
ルアドレスの下位nビットを前記記憶素子のアドレス入
力とし、前記グローバルアドレスの下位nビット以外の
アドレス値を利用して、セレクト信号を出力する回路を
生成する回路生成ステップと、前記チェックステップの
検出結果が前記メモリの先頭アドレスの下位nビット中
に、1が存在する場合に、警告を行う警告ステップとを
コンピュータに実行させるバスインタフェース回路作成
プログラムであることを特徴とする。
【0018】
【発明の実施の形態】以下、本発明の一実施形態による
バスインターフェース回路作成装置について図面を参照
して説明する。図1は、本発明によるバスインタフェー
ス回路作成装置100を適用したシステムの概略ブロッ
ク図である。本実施例では、記憶素子として、メモリお
よびレジスタを用いて説明する。このレジスタとして、
特にフリップフロップ(以下、FFと称する)を用いて
説明する。
【0019】101は、外部から入力されるバスインタ
フェース記述およびスレーブハードウェア記述10か
ら、記憶素子のアドレスに関する情報の抽出を行う抽出
部である。ここで、バスインタフェース記述とは、CP
U側のバスインタフェースからみた記憶素子の記述であ
り、また、スレーブハードウェア記述とは、スレーブ側
のハードウェアからみた記憶素子の記述である。この抽
出部101は、バスインタフェース記述およびスレーブ
ハードウェア記述10のデータから、記憶素子の種別、
名称、先頭アドレス、アドレスバスビット幅、データバ
スビット幅、メモリのサイズ、FFのアドレス値を抽出
し、アドレス競合検出部103への出力するとともに、
この抽出したデータに基づいて、ディスプレイ等の画面
上に出力する。
【0020】次に、バスインターフェースに関するデー
タであるバスインタフェース記述およびスレーブハード
ウェア記述10の一例として、スレーブハードウェア記
述のみが記述されている場合について、図2を用いて説
明する。この図において、宣言文の第1行目(図2
(1))では、ビット幅が8ビットであり、1024バ
イトの大きさであり、memory1という名称で、種
別がメモリである記憶素子が定義されている。宣言文の
第2行目(図2(2))では、ビット幅が8であり、2
048バイトの大きさであり、memory2という名
称で、種別がメモリである記憶素子が定義されている。
また、宣言文の第3行目(図2(3))では、ビット幅
が8であり、FF1という名称で、種別がレジスタであ
る記憶素子が定義されている。このようなスレーブハー
ドウェア記述において、抽出部101により、画面に表
示された場合の一例を図3に示す。この場合、memo
ry1、memory2、FF1の各先頭アドレスが指
定されていないので0x0000番地に配置され、表示
される。
【0021】つぎに、バスインタフェース記述およびス
レーブハードウェア記述10中に、バスインタフェース
記述のみが記述されている場合について図4および図5
を用いて説明する。図4の宣言文の第1行目(図4
(4))では、ビット幅が8で、先頭アドレスが0x1
000番地で、1024バイトの大きさでmemory
1という名称で、種別がメモリである記憶素子を定義し
ている。また第2行目(図4(5))においても同様
に、ビット幅が8で先頭アドレスが0x1500番地
で、2048バイトの大きさで、memory2という
名称で、種別がメモリである記憶素子を定義している。
そして、第3行目(図4(6))では、ビット幅が8
で、FF1という名称で、アドレスが0x1410番地
で、種別がレジスタである記憶素子を定義している。こ
のようなハードウェア記述の宣言がされた場合における
抽出部101が出力する画面表示の一例を図5に示す。
この図では、memory1、memory2、FF1
が、それぞれ宣言された先頭アドレスに配置され、各ア
ドレスが割り当てられている状態が視覚的に容易に確認
できる。
【0022】また、マウス操作などによって、図5のよ
うな画面表示上に、追加のデータ入力を行ってもよい。
たとえば、名称がmemory3であり、ビット幅が8
で、大きさが1024バイトで、種別がメモリである記
憶素子を作成し、このmemory3をマウス操作によ
って先頭アドレスが0x1800番地へ移動させた場合
は、図6のように表示される。このように追加された記
憶素子のデータも、抽出部101に保持される。
【0023】ビットデータ記憶部102は、図7に示す
ように、メモリ領域の各アドレスに対しメモリ、FF等
の記憶素子が割り当てられていない場合は0を記憶し、
記憶素子が割り当てられている場合は1を記憶する。ま
た、ビットデータ記憶部102は、アドレス上に割り当
てられた記憶素子の名称を記憶するものとしてもよい。
なお、ビットデータ記憶部102における記憶方法とし
ては、アドレスの使用状況を記憶できるデータ構造であ
ればよく、例えば、使用中のアドレス範囲を二分木で表
現してもよい。
【0024】アドレス競合検出部103は、新たに割り
当てられる記憶素子のアドレスが、既に割り当てられて
いる記憶素子のアドレスと重複しているか否かを検出す
る。すなわち、新たに配置される記憶素子のアドレスに
対応するビットデータ記憶部102のアドレス上に1が
記憶されているか否かを検出する。そして、ビットデー
タ記憶部102のアドレス上に0が記憶されている場合
に、記憶素子の割り当てを行い、ビットデータ記憶部1
02の対応するアドレス上のデータ0を1へ更新し、新
たに配置された記憶素子および抽出部101から受け取
った記憶素子の種別、名称、先頭アドレス、アドレスビ
ット幅、データバスビット幅、メモリサイズのデータを
出力部104へ出力する。一方、ビットデータ記憶部1
02に1が記憶されている場合には、アドレス競合検出
部103は、他の記憶素子のアドレスと重複しているこ
とを検出し、ユーザへ警告を行う。ユーザへの警告方法
としては、新たに割り当てられた記憶素子のアドレス範
囲の表示色を変えてもよいし、表示位置をずらしてもよ
い。また、そのときに同時に警告音を鳴らしてもよい。
なお、ユーザへの警告だけで出力部104へのデータ出
力を行わなくてもよいし、行ってもよい。また、このデ
ータ出力を行うかどうかをユーザに選択させてもよい。
【0025】出力部104は、アドレス競合検出部10
3から出力された記憶素子のアドレス等のデータをバス
インタフェース回路のハードウェア記述言語もしくは回
路図もしくはシンボル接続図に変換し、出力する。
【0026】次に、上述の構成によるバスインタフェー
ス回路作成装置の動作について図8のフローチャートを
用いて説明する。ここでは、バスインタフェース記述及
びスレーブハードウェア記述10のデータが図4に示す
宣言文である場合について説明する。また、ビットデー
タ記憶部の初期値はすべて0である。まず、バスインタ
フェース記述データ(4)が抽出部101へ入力される
と、抽出部101は、データ(4)から、記憶素子がメ
モリかFFであるかを抽出する(ステップS100)。
この場合、種別がメモリと定義されているので、抽出部
101は、先頭アドレスを読み込み(ステップS10
1)、次いで、メモリのサイズを読み込み(ステップS
102)、そして、読み込んだデータをアドレス競合検
出部103へ出力する。
【0027】アドレス競合検出部103は、抽出部10
1から出力されたデータに基づいて、アドレスが競合し
ているか否かを検出する。すなわち、抽出部101から
出力されたアドレスおよびメモリのサイズに対し、ビッ
トデータ記憶部102に格納されているアドレス情報に
おいて、1が記憶されているか否かを検出する(ステッ
プS103)。この場合、ビットデータ記憶部102の
アドレス0x1000番地からアドレス0x13ff番
地までの1024バイト分は、全て0であるため、この
アドレス0x1000番地からアドレス0x13ff番
地の記憶を1へ更新する(ステップS104)。そし
て、アドレス競合検出部103は、この記憶素子の名称
と、アドレスに関するデータを出力部104へ出力す
る。
【0028】そして、出力部104は、アドレス競合検
出部103から出力された記憶素子のアドレス等のデー
タをバスインタフェース回路のハードウェア記述言語も
しくは回路図もしくはシンボル接続図に変換し、出力す
る(ステップS105)。
【0029】次に、データ(5)が抽出部101へ入力
されると、抽出部101は、データ(5)から、記憶素
子がメモリかFFであるかを抽出する(ステップS10
0)。この場合、種別がメモリと定義されているので、
抽出部101は、先頭アドレスを読み込み(ステップS
101)、次いで、メモリのサイズを読み込み(ステッ
プS102)、そして、読み込んだデータをアドレス競
合検出部103へ出力する。
【0030】アドレス競合検出部103は、抽出部10
1から出力されたデータに基づいて、アドレスが競合し
ているか否かを検出する。すなわち、抽出部101から
出力されたアドレスおよびメモリのサイズに対し、ビッ
トデータ記憶部102に格納されているアドレス情報に
おいて1が記憶されているか否かを検出する(ステップ
S103)。この場合、ビットデータ記憶部102のア
ドレス0x1500番地からアドレス0x1cff番地
までの2048バイト分は、全て0であるため、アドレ
ス競合検出部103は、このアドレス0x1500番地
からアドレス0x1cff番地の記憶を1へ更新する
(ステップS104)。そして、アドレス競合検出部1
03は、この記憶素子の名称と、アドレスに関するデー
タを出力部104へ出力する。
【0031】そして、出力部104は、アドレス競合検
出部103から出力された記憶素子のアドレス等のデー
タをバスインタフェース回路のハードウェア記述言語も
しくは回路図もしくはシンボル接続図に変換し、出力す
る(ステップS105)。
【0032】次に、データ(6)が抽出部101へ入力
されると、抽出部101は、データ(6)から、記憶素
子がメモリかレジスタであるかを抽出する(ステップS
100)。この場合、種別がレジスタと定義されている
ので、抽出部101は、アドレスを読み込み(ステップ
S106)、読み込んだデータをアドレス競合検出部1
03へ出力する。
【0033】アドレス競合検出部103は、抽出部10
1から出力されたデータに基づいて、アドレスが競合し
ているか否かを検出する。すなわち、抽出部101から
出力されたアドレスに対し、ビットデータ記憶部102
に格納されているアドレス情報において1が記憶されて
いるか否かを検出する(ステップS107)。この場
合、ビットデータ記憶部102のアドレス0x1410
番地は0であるため、アドレス競合検出部103は、こ
のアドレス0x1410番地の記憶を1へ更新する(ス
テップS104)。そして、アドレス競合検出部103
は、この記憶素子の名称と、アドレスに関するデータを
出力部104へ出力する。
【0034】そして、出力部104は、アドレス競合検
出部103から出力された記憶素子のアドレス等のデー
タをバスインタフェース回路のハードウェア記述言語も
しくは回路図もしくはシンボル接続図に変換し、出力す
る(ステップS105)。なお、上述の動作は、ハード
ウェア記述10に記述されている各データ毎に繰り返し
行ってもよいし、データをまとめて読み込んで順次処理
した後に、まとめて出力してもよい。
【0035】上述の動作によって出力される回路図は、
例えば図9のようなものである。バス110は、マスタ
ーとなるCPUに対し接続されており、memory
1、memory2およびFF1の下側に配置されてい
る端子はスレーブハードウェアに接続されている。そし
て、memory1(図中では符号(A)、以下符号
(A)と称す)、memory2(符号(B))、FF
1(符号(C))が、それぞれ上述の動作によって出力
されたバスインタフェース回路を介してバス110へ接
続されている。以下、接続関係をより詳細に説明する。
【0036】まず、memory1(符号(A))のA
(アドレス)端子は、バス110のaddr(アドレ
ス)端子から出力されるアドレス0x1000番地〜0
x13ff番地を、0x000〜0x3ffへ変換する
アドレス変換回路A1の出力端子に接続される。また、
memory1(符号(A))のCS(チップセレク
ト)端子は、バス110から出力されるアドレスが0x
1000番地〜0x13ff番地の場合にアクティブ信
号“1“を出力するEnable信号生成回路A2の出
力端子に接続される。そして、バス110のR/Wバー
端子とdata(データ)端子は、それぞれmemor
y1(符号(A))のR/Wバー端子と、D(データ)
端子に接続される。ここで、Wバーとはライト信号Wの
反転信号を示すものであり、図中ではWの上に線を引い
たもので示している。
【0037】次に、memory2(符号(B))のア
ドレス端子は、バス110のaddr(アドレス)端子
から出力されるアドレス0x1500番地〜0x1cf
f番地を0x000〜0x7ffへ変換するアドレス変
換回路B1の出力端子に接続される。また、memor
y2(符号(B))のCS(チップセレクト)端子は、
バス110から出力されるアドレスが0x1500番地
〜0x1cff番地の場合にアクティブ信号“1”を出
力するEnable信号生成回路B2の出力端子に接続
される。そして、バス110のR/Wバー端子とdat
a(データ)端子は、それぞれmemory2(符号
(B))のR/Wバー端子と、D(データ)端子に接続
される。
【0038】また、FF1(符号(C))のCS(チッ
プセレクト)端子は、バス110のaddr(アドレ
ス)端子から出力されるアドレスが0x1410番地の
場合にアクティブ信号“1”を出力するEnable信
号生成回路C1の出力端子に接続される。そして、バス
110のR/Wバー端子とdata(データ)端子は、
それぞれFF1(符号(C))のR/Wバー端子と、D
(データ)端子に接続される。
【0039】次に、memory1、memory2、
FF1がOE(アウトプットイネーブル)端子とWE
(ライトイネーブル)端子を有する記憶素子の場合に、
出力部104によって出力されるシンボル接続図を図1
0に示す。この図において、バス110は、マスターと
なるCPUに対し接続されている。そして、memor
y1(符号(D))、memory2(符号(E))、
FF1(符号(F))が、バスインタフェース回路を介
してバス110へ接続されている。
【0040】まず、memory1(符号(D))のA
(アドレス)端子は、バス110のaddr(アドレ
ス)端子から出力されるアドレス0x1000番地〜0
x13ff番地を、0x000〜0x3ffへ変換する
アドレス変換回路D1の出力端子に接続される。また、
バス110のaddr(アドレス)端子には、バス11
0から出力されるアドレスが0x1000番地〜0x1
3ff番地の場合にアクティブ信号“1”を出力するE
nable信号生成回路D2へ接続される。そして、前
述のEnable信号生成回路の出力信号は、バス11
0から出力されるR/Wバー信号が、“1”すなわち読
み出しの場合には、memory1(符号(D))のO
E(アウトプットイネーブル)端子に入力され、R/W
バー信号が“0”すなわち書き込みの場合には、mem
ory1(符号(D))のWE(ライトイネーブル)端子
に入力される。さらに、バス110のdata(デー
タ)端子は、memory1(符号(D))のD(デー
タ)端子に接続される。
【0041】次に、memory2(符号(E))のA
(アドレス)端子は、バス110のaddr(アドレ
ス)端子から出力されるアドレス0x1500番地〜0
x1cff番地を、0x000〜0x7ffへ変換する
アドレス変換回路E1の出力端子に接続される。また、
バス110のaddr(アドレス)端子には、バス11
0から出力されるアドレスが0x1500番地〜0x1
cff番地の場合にアクティブ信号“1”を出力するE
nable信号生成回路E2へ接続される。そして、前
述のEnable信号生成回路の出力信号は、バス11
0から出力されるR/Wバー信号が、“1”すなわち読
み出しの場合には、memory2(符号(E))のO
E(アウトプットイネーブル)端子に入力され、R/W
バー信号が“0”すなわち書き込みの場合には、、me
mory2(符号(E))のWE(ライトイネーブル)端
子に入力される。さらに、バス110のdata(デー
タ)端子は、memory2(符号(E))のD(デー
タ)端子に接続される。
【0042】次に、FF1(符号(F))について説明
する。バス110のaddr(アドレス)端子には、バ
ス110から出力されるアドレスが0x1410番地の
場合にアクティブ信号“1”を出力するEnable信
号生成回路F1へ接続される。そして、前述のEnab
le信号生成回路の出力信号は、バス110から出力さ
れるR/Wバー信号が“1”すなわち読み出しの場合に
は、FF1(符号(F))のOE(アウトプットイネー
ブル)端子に入力され、R/Wバー信号が“0”、すな
わち書き込みの場合には、FF1(符号(F))のWE
(ライトイネーブル)端子に入力される。さらに、バス1
10のdata(データ)端子は、FF1(符号
(F))のD(データ)端子に接続される。以上のよう
に、スレーブハードウェア記述として入力されたデータ
に応じて、バスインタフェース回路が生成される。
【0043】次に、バスインタフェース記述およびスレ
ーブハードウェア記述10が、マウス操作等によって、
図5のような画面表示上にデータ入力された場合につい
て説明する。名称がmemory3であり、種別がメモ
リであり、先頭アドレスが0x2800番地であり、大
きさが1024バイトの記憶素子が作成されるとする。
そして、このmemory3がマウス操作によって、先
頭アドレスが0x1800番地へ移動されると、mem
ory3の表示に必要なデータが、抽出部101に保持
され、画面上は図6のように表示される。ここで、ビッ
トデータ記憶部102のアドレス0x2800番地から
0x2bff番地のメモリ領域は0へ更新される。そし
て、マウス操作によって移動された後のアドレス等のデ
ータが抽出部101へ入力されると、抽出部101は、
記憶素子がメモリかレジスタであるかを抽出する(ステ
ップS100)。この場合、名称がmemory3とい
う記憶素子は、種別がメモリであるので、抽出部101
は、先頭アドレスを読み込み(ステップS101)、次
いで、メモリサイズを読み込み(ステップS102)、
そして、読み込んだデータをアドレス競合検出部103
へ出力する。
【0044】アドレス競合検出部103は、抽出部10
1から出力されたデータに基づいて、アドレスが競合し
ているか否かを検出する。すなわち、抽出部101から
出力されたアドレスおよびメモリのサイズに対し、ビッ
トデータ記憶部102に格納されているアドレス情報に
おいて1が記憶されているか否かを検出する(ステップ
S103)。この場合、ビットデータ記憶部102のア
ドレス0x1800番地からアドレス0x1bff番地
は、全て1であり、既にmemory2へ割り当てられ
ていることが記憶されている。これにより、アドレス競
合検出部103は、アドレスが重複すると判断し、ユー
ザへ警告する(ステップS108)。なお、memor
y3のアドレス変更は、マウス操作でなく、キーボード
入力によって行う場合も同様に処理される。また、もと
もとアドレスが重複するようなバスインタフェース記述
を入力した場合も同様の処理により警告を行うことがで
きる。
【0045】図11は、この発明の第二の実施形態によ
るバスインタフェース回路作成装置200を適用したシ
ステムの概略ブロック図である。このバスインタフェー
ス回路作成装置200へ入力されるバスインタフェース
記述20の一例を図12に示す。この図において、me
mory1、memory2、FF1,FF2に対する
読み出しグローバルアドレスと書き込みグローバルアド
レスが表記されており、さらに、読み出しグローバルア
ドレスと書き込みグローバルアドレスは、ビット単位で
分割されている。なお、この図において、アドレスの表
記部が斜線の箇所については、使用されないことを表わ
す。
【0046】201は、CPUが記憶素子に対し指示す
る読み出しグローバルアドレスと書き込みグローバルア
ドレスが一致しているか否かを比較するRWアドレス比
較部である。202は、グローバルアドレスがビット単
位で別アドレスになっているか否かを判断する判断部で
ある。203は、RWアドレス比較部201の比較結果
と判断部202の判断結果に基づいて、Enable信
号生成回路と、アドレス変換回路を生成し、バスインタ
フェース回路21を出力する回路生成部である(詳細は
後述する)。
【0047】次に、上述の構成による装置の動作につい
て、図13のフローチャートを用いて説明する。まず、
図12におけるmemory1のバスインタフェース記
述が入力されると(ステップS201)、RWアドレス
比較部201は、読み出しグローバルアドレスと書き込
みグローバルアドレスが一致しているか否かを検出する
(ステップS202)。読み出しグローバルアドレスと
書き込みグローバルアドレスが一致している場合、判断
部202は、読み出しグローバルアドレスと書き込みグ
ローバルアドレスがそれぞれビット単位で別アドレスに
なっているか否かを判断する(ステップS203)。こ
のmemory1は、読み出しグローバルアドレスと書
き込みグローバルアドレスが一致しており、さらに、読
み出しグローバルアドレスと書き込みグローバルアドレ
スはビット単位においてもアドレスが一致している。従
って、この判断結果に基づき、回路生成部203は、C
PUからの読み出し時と書き込み時とで共通のアドレス
デコーダを作成する(ステップS204)。
【0048】次に、memory2のバスインタフェー
ス記述が入力されると(ステップS201)、RWアド
レス比較部201は、読み出しグローバルアドレスと書
き込みグローバルアドレスが一致しているか否かを検出
する(ステップS202)。読み出しグローバルアドレ
スと書き込みグローバルアドレスが一致していない場
合、判断部202は、読み出しグローバルアドレスと書
き込みグローバルアドレスがそれぞれビット単位で別ア
ドレスになっているか否かを判断する(ステップS20
6)。このmemory2の場合、読み出しグローバル
アドレスと書き込みグローバルアドレスが異なってお
り、読み出しグローバルアドレスと書き込みグローバル
アドレスはどのビットにおいても、アドレスが一致して
いる。従って、この判断結果に基づき、回路生成部20
3は、読み出しグローバルアドレスと書き込みグローバ
ルアドレスについて別々にアドレスデコーダを作成する
(ステップS207)。
【0049】次に、FF1のバスインタフェース記述が
入力されると(ステップS201)、RWアドレス比較
部201は、読み出しグローバルアドレスと書き込みグ
ローバルアドレスが一致しているか否かを検出する(ス
テップS202)。読み出しグローバルアドレスと書き
込みグローバルアドレスが一致していない場合、判断部
202は、読み出しグローバルアドレスあるいは書き込
みグローバルアドレスにおいてビット単位で別アドレス
になっているか否かを判断する(ステップS206)。
このFF1の場合、読み出しグローバルアドレスと書き
込みグローバルアドレスが異なっており、さらに、読み
出しグローバルアドレスと書き込みグローバルアドレス
とのいずれにおいてもビット単位で、別アドレスになっ
ている。従って、この判断結果に基づき、回路生成部2
03は、読み出しグローバルアドレスと書き込みグロー
バルアドレスとについて別々にアドレスデコーダを作成
し、さらに、読み出しグローバルアドレスと書き込みグ
ローバルアドレスとのビット単位で別々にアドレスデコ
ーダを作成する(ステップS208)。
【0050】次に、FF2のバスインタフェース記述が
入力されると(ステップS201)、RWアドレス比較
部201は、読み出しグローバルアドレスと書き込みグ
ローバルアドレスが一致しているか否かを検出する(ス
テップS202)。読み出しグローバルアドレスと書き
込みグローバルアドレスが一致していない場合、判断部
202は、読み出しグローバルアドレスと書き込みグロ
ーバルアドレスとにおいてビット単位で別アドレスにな
っているか否かを判断する(ステップS206)。この
FF2の場合、読み出しグローバルアドレスしかなく、
さらに、読み出しグローバルアドレスは特定のビットに
おいてのみ、アドレスが定義されている。従って、この
判断結果に基づき、回路生成部203は、読み出しグロ
ーバルアドレスについてアドレスデコーダを作成する
(ステップS208)。
【0051】次に、回路生成部203から出力されるバ
スインタフェース回路を図14および図15に示す。図
14は、memory1とmemory2のバスインタ
フェース回路を示すブロック図である。バス210は、
マスターとなるCPUに対し接続されている。そして、
memory1(符号(G))、memory2(符号
(H))が、それぞれ上述の動作によって出力されたバ
スインタフェース回路を介してバス210へ接続されて
いる。memory1(符号(G))のA(アドレス)
端子は、バス210のaddr(アドレス)端子から出
力されるアドレス0x1000番地〜0x13ff番地
を、0x000〜0x3ffへ変換するアドレス変換回
路G1の出力端子に接続される。また、バス210のa
ddr(アドレス)端子は、バス210から出力される
アドレスが0x1000番地〜0x13ff番地の場合
にアクティブ信号“1”を出力するEnable信号生
成回路G2と前記アドレス変換回路G1とに接続され
る。そして、バス210から出力されるR/Wバー信号
が“1”すなわち、読み出しの場合には、前述のEna
ble信号生成回路の出力信号は、memory1(符
号(G))のOE(アウトプットイネーブル)端子に入
力され、R/Wバー信号が“0”、すなわち書き込みの
場合には、memory1(符号(G))のWE(ライ
トイネーブル)端子に入力される。さらに、バス210
のdata(データ)端子は、memory1(符号
(G))のD(データ)端子に接続される。
【0052】次に、memory2(符号(H))につ
いて説明する。バス210のaddr(アドレス)端子
には、バス210から出力されるアドレスが0x150
0番地〜0x1cff番地の場合にアクティブ信号
“1”を出力するEnable信号生成回路H1と、バ
ス210から出力されるアドレスが0x1400番地〜
0x1bff番地の場合にアクティブ信号“1”を出力
するEnable信号生成回路H2が接続される。そし
て、前述のEnable信号生成回路の出力信号は、バ
ス210から出力されるR/Wバー信号が“1”、すな
わち読み出しの場合には、memory2(符号
(H))のOE(アウトプットイネーブル)端子が選択
され、Enable信号生成回路H1の出力信号が入力
される。R/Wバー信号が“0”すなわち書き込みの場
合は、memory2(符号(H))のWE(ライトイ
ネーブル)端子が選択され、Enable信号生成回路
H2の出力信号が入力される。
【0053】また、バス210のaddr(アドレス)
端子には、バス210のaddr(アドレス)端子から
出力されるアドレス0x1500番地〜0x1cff番
地を、0x000〜0x7ffへ変換するアドレス変換
回路H3と、バス210のaddr(アドレス)端子か
ら出力されるアドレス0x1400番地〜0x1bff
番地を、0x000〜0x7ffへ変換するアドレス変
換回路H4が接続されている。アドレス変換回路H3と
アドレス変換回路H4の出力端子は、それぞれ多ビット
セレクタH5の入力端子へ接続されている。また、バス
210から出力されるR/Wバー信号が、多ビットセレ
クタH5のセレクト端子へ入力されることによって、読
み出しの場合、アドレス変換回路H3の出力信号が多ビ
ットセレクタH5によって選択され、memory2
(符号(H))のA(アドレス)端子へ入力される。ま
た、書き込みの場合、アドレス変換回路H4の出力信号
が多ビットセレクタH5によって選択され、memor
y2(符号(H))のA(アドレス)端子へ入力され
る。さらに、バス210のdata(データ)端子は、
memory2(符号(H))のD(データ)端子に接
続される。
【0054】図15は、FF1とFF2のバスインタフ
ェース回路を示すブロック図である。バス210に対
し、FF1(bit0〜3)(符号(I))、FF1
(bit5〜7)(符号(J))、FF2(符号
(K))が、それぞれ上述の動作によって出力されたバ
スインタフェース回路を介してバス210へ接続されて
いる。FF1(bit0〜3)(符号(I))のD(デ
ータ)端子は、バス210のdata端子へ接続され、
第0〜第3ビットに対応するデータが入出力される。ま
た、バス210のaddr(アドレス)端子には、バス
210から出力されるアドレスが0x1410番地の場
合にアクティブ信号“1”を出力するEnable信号
生成回路I1と、バス210から出力されるアドレスが
0x1412番地の場合にアクティブ信号“1”を出力
するEnable信号生成回路I2が接続される。そし
て、バス210から出力されるR/Wバー信号が“1”
すなわち読み出しの場合、FF1(bit0〜3)(符
号(I))のOE(アウトプットイネーブル)端子が選
択され、Enable信号生成回路I1の出力信号が入
力される。R/Wバー信号が“0”すなわち書き込みの
場合、FF1(bit0〜3)(符号(I))のWE
(ライトイネーブル)端子が選択され、Enable信
号生成回路I2の出力信号が入力される。
【0055】FF1(bit5〜7)(符号(J))の
D(データ)端子は、バス210のdata端子へ接続
され、第5〜第7ビットに対応するデータが入出力され
る。また、バス210のaddr(アドレス)端子に
は、バス210から出力されるアドレスが0x1411
番地の場合にアクティブ信号“1”を出力するEnab
le信号生成回路J1と、バス10から出力されるアド
レスが0x1412番地の場合にアクティブ信号“1”
を出力するEnable信号生成回路J2が接続され
る。そして、バス210から出力されるR/Wバー信号
が“1”すなわち読み出しの場合、FF1(bit5〜
7)(符号(J))のOE(アウトプットイネーブル)
端子が選択され、Enable信号生成回路J1の出力
信号が入力される。R/Wバー信号が“0”すなわち書
き込みの場合、FF1(bit5〜7)(符号(J))
のWE(ライトイネーブル)端子が選択され、Enab
le信号生成回路J2の出力信号が入力される。
【0056】FF2(bit4)(符号(K))のD
(データ)端子は、バス210のdata端子へ接続さ
れ、第4ビットに対応するデータが入出力される。ま
た、バス210のaddr(アドレス)端子には、バス
210から出力されるアドレスが0x1411番地の場
合にアクティブ信号“1”を出力するEnable信号
生成回路K1が接続される。そして、バス210から出
力されるR/Wバー信号が“1”すなわち読み出しの場
合、FF2(bit4)(符号(K))のOE(アウト
プットイネーブル)端子が選択され、Enable信号
生成回路K1の出力信号が入力される。FF2(bit
4)(符号(K))のWE(ライトイネーブル)端子
は、グランド端子へ接続される。
【0057】次に、本発明の第三の実施形態によるEn
able信号生成回路の面積最適化について図面を参照
して説明する。図16は、本発明によるEnable信
号生成回路の面積最適化を説明するための概略ブロック
図であり、生成されたバスインタフェース回路を修正す
るために、図1の出力部や図11の回路生成部に図16
に示すアドレス抽出部、アドレス判定部、および共通回
路生成部からなるブロックが備えられる。この図におい
て、280は、共通化を行うEnable信号生成回路
の各先頭アドレス、または各先頭アドレスと最終アドレ
スを抽出するアドレス抽出部である。281は、アドレ
ス抽出部が抽出したアドレスについて上位桁から順にア
ドレスが一致するか否かを比較判定して、上位桁から連
続して一致する上位桁数を決定するアドレス判定部であ
る。282は、アドレス判定部が比較判定した結果に基
づいてEnable信号生成回路の共通回路を生成する
共通回路生成部である。
【0058】上記の構成における動作について図17の
フローチャートを用いて説明する。面積最適化の一例と
して、図14のmemory2(符号(H))のEna
ble信号生成回路H1とEnable信号生成回路H
2を最適化する場合について説明する。まず、アドレス
抽出部280は、Enable信号生成回路H1とEn
able信号生成回路H2の4つのアドレスの値を抽出
する(ステップS250)。ここで、アドレス抽出部2
80は、Enable信号生成回路H1のアドレス範囲
が0x1500番地から0x1cff番地であるので、
1500と1cffの値を抽出する。また、アドレス抽
出部280は、Enable信号生成回路H2のアドレ
ス範囲が0x1400番地から0x1bff番地である
ので、1400と1bffの値を抽出する。
【0059】次に、アドレス判定部281は、アドレス
抽出部が抽出したアドレスに基づいて、4つの値の上位
から順に値が一致するか否かを判定する(ステップS2
51)。この場合、抽出された4つの値のうち、上位1
桁目がすべて1であり、一致している。次に、上位2桁
目は、それぞれ5、c、4、bであり異なるので、上位
1桁目について共通回路を生成する(ステップS25
2)。そして、共通回路生成部282が生成し、出力す
る回路を図18(b)に示す。バス210のaddr
(アドレス)端子には、バス210から出力されるアド
レスの下位3桁が0x500から0xcffの場合にア
クティブ信号“1”を出力するEnable信号生成回
路H10と、バス210から出力されるアドレスの上位
1桁が0x1の場合にアクティブ信号“1”を出力する
Enable信号生成回路H11と、バス210から出
力されるアドレスの下位3桁が0x400から0xbf
fの場合にアクティブ信号“1”を出力するEnabl
e信号生成回路H12が接続されている。
【0060】そして、Enable信号生成回路H10
の出力とEnable信号生成回路H11の出力がAN
D回路220へ入力され、このAND回路220の出力
端子がmemory2(符号(H))のOE(アウトプ
ットイネーブル)端子へ接続される。また、Enabl
e信号生成回路H11の出力とEnable信号生成回
路H12の出力がAND回路221へ入力され、このA
ND回路221の出力端子がmemory2(符号
(H))のWE(ライトイネーブル)端子へ接続され
る。この結果得られる図18(b)のアドレスデコーダ
部は、共通化する前の図18(a)に比べて簡略化さ
れ、その回路が占める面積も削減できる。
【0061】次に、図15の回路を共通化した場合の回
路図を図19に示す。これは、図15におけるEnab
le信号生成回路I2とEnable信号生成回路J2
が、ともに0x1412番地のアドレスが入力された場
合にアクティブ信号“1”を出力することに基づいて共
通化されている。また、図15におけるEnable信
号生成回路J1とEnable信号生成回路K1が、と
もに0x1411番地のアドレスが入力された場合にア
クティブ信号“1”を出力することに基づいて共通化さ
れている。
【0062】この図19のFF1(bit5〜7)(符
号(J))に接続されるEnable信号生成回路J1
とEnable信号生成回路J2について、さらに上述
の手順と同様にEnable信号生成回路の面積最適化
を行った場合の回路図を図20の(b)に示す。
【0063】この図20(b)において、バス210の
addr(アドレス)端子には、バス210から出力さ
れるアドレスの下位1桁が0x1の場合にアクティブ信
号“1”を出力するEnable信号生成回路J10
と、バス210から出力されるアドレスの上位3桁が0
x141の場合にアクティブ信号“1”を出力するEn
able信号生成回路J11と、バス210から出力さ
れるアドレスの下位1桁が0x2の場合にアクティブ信
号“1”を出力するEnable信号生成回路J12が
接続されている。
【0064】そして、Enable信号生成回路J10
の出力とEnable信号生成回路J11の出力がAN
D回路230へ入力され、このAND回路230の出力
端子がFF1(bit5〜7)(符号(J))のOE
(アウトプットイネーブル)端子へ接続される。また、
Enable信号生成回路J11の出力とEnable
信号生成回路J12の出力がAND回路231へ入力さ
れ、このAND回路231の出力端子がFF1(bit
5〜7)(符号(J))のWE(ライトイネーブル)端
子へ接続される。
【0065】なお、上述の説明では、各アドレスを16
進単位に着目し、Enable信号生成回路の面積最適
化を行ったが、16進単位ではなく、2進単位で行って
もよい。
【0066】図21は、この発明の第四の実施形態によ
るバスインタフェース回路作成装置300を適用したシ
ステムの概略ブロック図である。301は、入力される
バスインタフェース記述から記憶素子に対する先頭グロ
ーバルアドレスとアドレス範囲やバスのアドレス幅を抽
出する抽出部である。302は、抽出部301が抽出し
たアドレス範囲を指定可能な最小のアドレス線の本数n
を計算する演算部である。303は、メモリの先頭アド
レスの下位nビットがすべて0であるか否かを検出する
チェッカー部である。304は、下位nビットの中に、
1が存在する場合に、ユーザへ警告を行う警告部であ
る。
【0067】305は、チェッカー部の検出結果におい
てメモリの先頭アドレスの下位nビットがすべて0であ
った場合に、前記グローバルアドレスの下位nビットを
前記記憶素子のアドレス入力とし、前記グローバルアド
レスの下位nビット以外のアドレス値を利用して、En
able信号回路を生成し、バスインタフェース回路3
1を出力する回路生成部である。
【0068】次に、上述の構成による装置の動作につい
て図22のフローチャートを用いて説明する。ここで、
バス側のアドレス信号線は、16ビットあるものとす
る。まず、名称がmemory1であり、先頭グローバ
ルアドレスが0x1400番地であり、アドレス範囲が
0x1400番地から0x17ff番地である記憶素子
についてバスインタフェース記述30が入力された場合
について説明する。
【0069】まず、バスインタフェース記述30が入力
されると(ステップS301)、抽出部301は、入力
されたバスインタフェース記述30から、記憶素子の先
頭アドレスと、メモリサイズを抽出し(ステップS30
2)、演算部302へ出力する。次に、演算部302
は、抽出部301が抽出したメモリのサイズから最小の
アドレス線本数nを求める(ステップS303)。この
場合、メモリのサイズは1024バイトであり、先頭ア
ドレスは0xl400番地である。次に、演算部302
は、1024バイトというメモリサイズから、最小のア
ドレス線の本数を求める。メモリのサイズが1024バ
イトであるので、2のn乗=1024の式に基づいて、
n=10(本)が算出される。演算部302によって算
出された最小のアドレス線nの値10に基づき、チェッ
カー部は、先頭アドレス0x1400番地の下位10ビ
ットがすべて0であるか否かを検出する(ステップS3
04)。
【0070】先頭アドレス0x1400番地を2進数で
表わすと、 0001 0100 0000 0000 …(符号(7)) である。従って、チェッカー部は、2進数(符号
(7))の下位10ビットが全て0であると検出し(ス
テップS305)、検出結果を回路生成部305へ出力
する。
【0071】次に、回路生成部305は、チェッカー部
から検出結果が入力されると、図23に示す回路を生成
する。まず、バス310の16ビットのアドレス信号線
のうち、下位10ビットがmemoryl(符号
(a))のアドレス入力端子に接続される。そして、バ
ス310のアドレス信号線のうち残りの上位6ビットの
アドレスと記憶素子の先頭アドレスの上位6ビットとを
比較して一致した場合に“1”を出力するEnable
信号生成回路を生成する。この場合、上位6ビットは0
001 01であるので、上位6ビットと記憶素子の先
頭アドレスの上位6ビットである0x05を比較し、一
致した場合にEnable信号を出力する回路が生成さ
れる。バス310から出力されるR/Wバー信号が
“1”すなわち読み出しの場合にmemory1(符号
(a))のOE(アウトプットイネーブル)端子が選択
され、R/Wバー信号が“0”すなわち書き込みの場合
にmemory1(符号(a))のWE(ライトイネー
ブル)端子が選択され、前述のEnable信号生成回
路の出力信号が入力される。
【0072】このように、回路生成部305が、チェッ
カー部での判定結果に応じて、バスからのアドレス信号
の上位6ビットからEnable信号生成回路を作成す
るため、Enable信号生成回路は、図23に示すよ
うに、比較器1つで構成することができる。さらに、ア
ドレス変換回路は生成しないため、より面積の小さなバ
スインタフェース回路を生成できる。
【0073】次に、名称がmemory2であり、先頭
グローバルアドレスが0x1401番地であり、アドレ
ス範囲が0x1401番地から0x1800番地である
記憶素子についてバスインタフェース記述30が入力さ
れた場合について図21と図22を参照して説明する。
【0074】まず、バスインタフェース記述30が入力
されると(ステップS301)、抽出部301は、入力
されたバスインタフェース記述30から、記憶素子の先
頭アドレスと、メモリサイズを抽出し(ステップS30
2)、演算部302へ出力する。次に、演算部302
は、抽出部301が抽出したメモリのサイズから最小の
アドレス本数nを求める(ステップS303)。この場
合、メモリのサイズは、1024バイトであり、先頭ア
ドレスは0xl401番地である。次に、演算部302
は、1024バイトというメモリサイズから、最小のア
ドレス線の本数を求める。メモリのサイズが1024バ
イトであるので、2のn乗=1024という式に基づ
き、n=10(本)が算出される。演算部302によっ
て算出された最小のアドレス線の本数nの値10に基づ
き、チェッカー部は、先頭アドレス0x1401番地の
下位10ビットがすべて0であるか否かを検出する(ス
テップS304)。先頭アドレス0x1401番地を2
進数で表わすと、 0001 0100 0000 0001 …(符号(8)) である。従って、チェッカー部は、2進数(符号
(8))の下位10ビットに1が存在する事を検出し
(ステップS305)、ユーザヘ警告を発する(ステッ
プS307)。
【0075】図23に示すバスインタフェース回路と対
比するため、memory2について作成されるバスイ
ンタフェース回路を図24に示す。この図では、Ena
ble信号生成回路では、グローバルアドレスと0x1
401を比較する比較器bと、グローバルアドレスと0
x1800を比較する比較器cの2つの比較器が必要と
なる。さらに、アドレス変換のために、減算器dが必要
になる。従って、図23に比べ、非常に大きな回路構成
となる。この発明により、図24に示す大きな回路構成
となる場合には警告を発することができるため、バスイ
ンタフェース回路の面積が不用意に大きくなることを防
ぐことが可能である。
【0076】また、以上説明したバスインタフェース回
路作成装置の機能を実現するためのプログラムをコンピ
ュータ読み取り可能な記録媒体に記録して、この記録媒
体に記録されたプログラムをコンピュータシステムに読
み込ませ、実行することにより施工管理を行ってもよ
い。なお、ここでいう「コンピュータシステム」とは、
OSや周辺機器等のハードウェアを含むものとする。ま
た、「コンピュータシステム」は、WWWシステムを利
用している場合であれば、ホームページ提供環境(ある
いは表示環境)も含むものとする。
【0077】また、「コンピュータ読み取り可能な記録
媒体」とは、フロッピーディスク、光磁気ディスク、R
OM、CD−ROM等の可搬媒体、コンピュータシステ
ムに内蔵されるハードディスク等の記憶装置のことをい
う。さらに「コンピュータ読み取り可能な記録媒体」と
は、インタネット等のネットワークや電話回線等の通信
回線を介してプログラムを送信された場合のサーバやク
ライアントとなるコンピュータシステム内部の揮発性メ
モリ(RAM)のように、一定時間プログラムを保持し
ているものも含むものとする。また上記プログラムは、
このプログラムを記憶装置などに格納したコンピュータ
システムから伝送媒体を介して、あるいは、伝送媒体中
の伝送波により他のコンピュータシステムに伝送されて
もよい。ここで、プログラムを伝送する「伝送媒体」は、
インターネット等のネットワーク(通信網)や電話回線
などの通信回線(通信線)のように情報を伝送する機能
を有する媒体のことをいう。
【0078】また、上述のプログラムは、前述した機能
の一部を実現するためのものであっても良く、さらに前
述した機能をコンピュータシステムにすでに記録されて
いるプログラムとの組み合わせで実現できるもの、いわ
ゆる差分ファイル(差分プログラム)であっても良い。
また、CPUは、ダイレクトメモリアクセスコントロー
ラのようにスレーブのハードウェアを能率的に制御でき
る機能を有するハードウェアであればよい。
【0079】以上、この発明の実施形態を図面を参照し
て詳述してきたが、具体的な構成はこの実施形態に限ら
れるものではなく、この発明の要旨を逸脱しない範囲の
設計等も含まれる。
【0080】
【発明の効果】以上説明したように、この発明によれ
ば、入力されるバスインタフェース記述から、記憶素子
のアドレスに関するデータを抽出部によって抽出し、抽
出部が抽出したデータに基づいて前記記憶素子が割り当
てられたアドレスをビットデータ記憶部へ記憶し、抽出
部が抽出したデータのアドレスがビットデータ記憶部の
アドレスと重複しているか否かをアドレス競合検出部に
よって検出するようにしたので、中央処理装置から読み
書きされる記憶素子のアドレスの競合を来すことなく、
バスインタフェースの設計を行うことができる。また、
操作ミスなどによってアドレス競合が発生した場合は、
ユーザへ警告することによって競合を防止することがで
きる。これらは、新規設計時、ベースアドレス変更時、
メモリサイズ変更時等においても、同様に効果が得られ
る。さらに、この発明によれば、抽出部が抽出したアド
レスに基づき、GUI(Graphical User
Interface)を用いてディスプレイ等の画面
上ですることにより、ディスプレイ等で、視覚的にアド
レスの配置状況を容易に把握することができる。
【0081】請求項2記載の発明によれば、入力される
バスインタフェース記述に基づき、記憶素子に対し中央
処理装置が指示する読み出しグローバルアドレスと書き
込みグローバルアドレスが一致しているか否かをRWア
ドレス比較部によって比較し、入力されるバスインタフ
ェース記述に基づき、読み出しグローバルアドレス、あ
るいは書き込みグローバルアドレスがビット単位で別ア
ドレスになっているか否かを判断部によって判断し、読
み出しグローバルアドレスと書き込みグローバルアドレ
スが一致し、グローバルアドレスがビット単位で別アド
レスの場合に、該グローバルアドレスが指定された際に
アクティブとなるセレクト信号を生成し、更に該グロー
バルアドレスを該記憶素子のローカルアドレスに変換す
る回路を回路生成部によって各アドレス毎に生成するよ
うにしたので、中央処理装置から読み出しグローバルア
ドレスと書き込みグローバルアドレスが一致するビット
単位ごとにグローバルアドレスを配置できる効果があ
る。
【0082】請求項3記載の発明によれば、入力される
バスインタフェース記述に基づき、記憶素子に対して割
り当てられた読み出しグローバルアドレスと書き込みグ
ローバルアドレスが一致しているか否かをRWアドレス
比較部によって比較し、入力されるバスインタフェース
記述に基づき、読み出しグローバルアドレスあるいは書
き込みグローバルアドレスがビット単位で別アドレスに
なっているか否かを判断部によって判断し、読み出しグ
ローバルアドレスと書き込みグローバルアドレスが別ア
ドレスであり、読み出しグローバルアドレスと書き込み
グローバルアドレスがいずれのビットにおいてもアドレ
ス一致している場合に、該グローバルアドレスが指定さ
れた際にアクティブとなるセレクト信号を生成し、更に
グローバルアドレスを記憶素子のローカルアドレスに変
換する回路を読み出しグローバルアドレスと書き込みグ
ローバルアドレス毎に回路生成部によって生成したの
で、中央処理装置から読み出しを行う場合と、書き込み
を行う場合とで異なるアドレスを配置することができる
効果が得られる。
【0083】請求項4記載の発明によれば、入力される
バスインタフェース記述に基づき、記憶素子に対して割
り当てられた読み出しグローバルアドレスと書き込みグ
ローバルアドレスが一致しているか否かをRWアドレス
比較部によって比較し、入力されるバスインタフェース
記述に基づき、読み出しグローバルアドレスあるいは書
き込みグローバルアドレスがビット単位で別アドレスに
なっているか否かを判断部によって判断し、読み出しグ
ローバルアドレスと書き込みグローバルアドレスが別ア
ドレスであり、読み出しグローバルアドレスまたは書き
込みグローバルアドレスの少なくともいずれかがビット
単位で別アドレスである場合に、ビット単位で別アドレ
スであるいずれかのグローバルアドレスが指定された際
にアクティブとなるセレクト信号を生成し、更に該グロ
ーバルアドレスを該記憶素子のローカルアドレスに変換
する回路を読み出しグローバルアドレスと書き込みグロ
ーバルアドレス毎に生成し、さらに、グローバルアドレ
スを記憶素子のローカルアドレスに変換する回路を読み
出しグローバルアドレスと書き込みグローバルアドレス
のビット毎に回路生成部によって回路を生成したので、
中央処理装置から読み出しと書き込みで別アドレスに配
置し、さらに、読み出し時において、ビット単位で別の
アドレスに配置し、書き込み時において、ビット単位で
別のアドレスに配置することができる。これにより、バ
スインタフェース回路が複雑になる場合においても正確
にバスインタフェース回路を作成することができる効果
が得られる。
【0084】請求項5記載の発明によれば、請求項2な
いし請求項4記載の発明においてさらに、生成されたセ
レクト信号のグローバルアドレスに関するデータをアド
レス抽出部によって抽出し、アドレス抽出部が抽出した
データに基づいて、アドレス判定部によって読み出しグ
ローバルアドレスと書き込みグローバルアドレスとをn
進表現して、上位桁から順に比較判定して、上位桁から
連続して一致する上位桁の数を決定し、アドレス判定部
で決定した一致する上位桁の数に対応したセレクト信号
の共通回路を生成するようにしたので、バスインタフェ
ース回路の面積を最適化することができる。これによ
り、バスインタフェース回路を構成するハードウェアの
面積を小さくすることができる効果が得られる。
【0085】請求項6記載の発明によれば、入力される
バスインタフェース記述から前記記憶素子に対する先頭
グローバルアドレスとアドレス範囲を抽出部によって抽
出し、抽出部が抽出したアドレス範囲の任意のアドレス
を個別に指定可能な最小のアドレス線の本数nを演算部
によって計算し、記憶素子の先頭アドレスの下位nビッ
トがすべて0であるか否かをチェッカー部によって検出
し、チェッカー部の検出結果が記憶素子の先頭アドレス
の下位nビットがすべて0であった場合に、グローバル
アドレスの下位nビットを記憶素子のアドレス入力と
し、グローバルアドレスの下位nビット以外のアドレス
値を利用して、回路生成部によってセレクト信号を出力
する回路を生成するようにしたので、バスインタフェー
ス回路を構成するハードウェアの面積を小さくすること
ができるという効果が得られる。
【0086】請求項7記載の発明によれば、入力される
バスインタフェース記述から記憶素子の先頭グローバル
アドレスとアドレス範囲を抽出部によって抽出し、抽出
部が抽出したアドレス範囲に基づき、アドレス範囲の任
意にのアドレスを個別に指定可能な最小のアドレス線の
本数nを演算部によって計算し、記憶素子の先頭アドレ
スの下位nビットがすべて0であるか否かをチェッカー
部によって検出し、下位nビットの中に、1が存在する
場合に、警告部によって警告を行うようにしたので、バ
スインタフェース回路の面積が不用意に大きくなる場合
に、ユーザへ警告することができる。また、ユーザがマ
ウス操作のミス等により、誤って目標以外のアドレスに
記憶素子を配置し、バスインタフェース回路の面積が不
用意に大きくなる場合においても、ユーザへ警告するこ
とができる効果がある。さらに、この発明によれば、ア
ドレスマップ図等からバスインタフェース回路記述を自
動的に生成した場合、ユーザは、バスインタフェース回
路を設計することがなくなるため、指定されたアドレス
値に従って設計するとどのようなハードウェアになるか
を推定せずに、機械的にアドレス値が入力されることに
なるが、このような場合でも面積的にあまり好ましくな
いハードウェアが生成されることを防止できる効果が得
られる。
【図面の簡単な説明】
【図1】 本発明によるバスインタフェース回路作成装
置100を適用したシステムの概略ブロック図である。
【図2】 抽出部101へ入力されるハードウェア記述
の一例であり、スレーブハードウェアから見た記憶素子
についての記述である。
【図3】 図2におけるハードウェア記述を画面上に表
示した場合の図である。
【図4】 抽出部101へ入力されるバスインタフェー
ス記述の一例であり、CPU側のバスインタフェースか
ら見た記憶素子についての記述である。
【図5】 図4におけるハードウェア記述を画面上に表
示した場合の図である。
【図6】 マウス操作によって記憶素子を追加した場合
の図である。
【図7】 ビットデータ記憶部102の各アドレスに対
する記憶状態を表わした図である。
【図8】 図1におけるバスインタフェース回路作成装
置100を適用したシステムの動作を説明するフローチ
ャートである。
【図9】 バスインタフェース回路作成装置100によ
って出力されるバスインタフェース回路の一例である。
【図10】 バスインタフェース回路作成装置100に
よって出力されるバスインタフェース回路の一例であ
る。
【図11】 本発明によるバスインタフェース回路作成
装置200を適用したシステムの概略ブロック図であ
る。
【図12】 バスインタフェース回路作成装置200へ
入力されるバスインタフェース記述20の一例である。
【図13】 図11におけるバスインタフェース回路作
成装置200を適用したシステムの動作を説明するフロ
ーチャートである。
【図14】 バスインタフェース回路作成装置200に
よって出力されるバスインタフェース回路の一例であ
る。
【図15】 バスインタフェース回路作成装置200に
よって出力されるバスインタフェース回路の一例であ
る。
【図16】 Enable信号生成回路の面積の最適化
を説明するための概略ブロック図である。
【図17】 Enable信号生成回路の面積の最適化
の手順について説明するためのフローチャートである。
【図18】 Enable信号生成回路の面積の最適化
を行ったバスインタフェース回路を示す図である。
【図19】 図15のバスインタフェース回路の共通化
を行った図である。
【図20】 図19のバスインタフェース回路に対し、
面積の最適化を行った図である。
【図21】 本発明によるバスインタフェース回路作成
装置300を適用したシステムの概略ブロック図であ
る。
【図22】 図21におけるバスインタフェース回路作
成装置300を適用したシステムの動作を説明するフロ
ーチャートである。
【図23】 バスインタフェース回路作成装置300に
よって出力されるバスインタフェース回路の一例であ
る。
【図24】 図23のバスインタフェース回路と対比す
るためのバスインタフェース回路である。
【図25】 従来技術を説明するための概略ブロック図
である。
【図26】 従来技術を説明するための概略ブロック図
である。
【符号の説明】
100 バスインタフェース回路作成装置 101 抽出部 102 ビットデータ記憶部 103 アドレス競合検出部 104 出力部 200 バスインタフェース回路作成装置 201 RWアドレス比較部 202 判断部 203 回路生成部 300 バスインタフェース回路作成装置 301 抽出部 302 演算部 303 チェッカー部 304 警告部 305 回路生成部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 若林 一敏 東京都港区芝五丁目7番1号 日本電気株 式会社内 (72)発明者 丸山 勇一 神奈川県川崎市中原区小杉町一丁目403番 53 日本電気アイシーマイコンシステム株 式会社内 Fターム(参考) 5B014 FA03 GC07 GD03 HB02 HB14

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述から、前記記憶素子
    のアドレスに関するデータを抽出する抽出部と、 前記抽出部が抽出したデータに基づいて前記記憶素子が
    割り当てられたアドレスを記憶するビットデータ記憶部
    と、 前記抽出部が抽出したデータと、前記ビットデータ記憶
    部の記憶情報に基づき、前記記憶素子のアドレスの重複
    を検出するアドレス競合検出部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  2. 【請求項2】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述に基づき、同一の前
    記記憶素子に対して割り当てられた読み出しグローバル
    アドレスと書き込みグローバルアドレスが一致している
    か否かを比較するRWアドレス比較部と、 前記読み出しグローバルアドレス、あるいは書き込みグ
    ローバルアドレスがビット単位で別アドレスになってい
    るか否かを判断する判断部と、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが一致し、前記グローバルアドレスがビッ
    ト単位で別アドレスの場合に、該グローバルアドレスが
    指定された際にアクティブとなるセレクト信号を出力す
    るセレクト信号生成回路と、該グローバルアドレスを該
    記憶素子のローカルアドレスに変換する回路とを各アド
    レスに対応して生成する回路生成部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  3. 【請求項3】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述に基づき、同一の前
    記記憶素子に対して割り当てられた読み出しグローバル
    アドレスと書き込みグローバルアドレスが一致している
    か否かを比較するRWアドレス比較部と、 入力されるバスインタフェース記述に基づき、前記読み
    出しグローバルアドレスあるいは書き込みグローバルア
    ドレスがビット単位で別アドレスになっているか否かを
    判断する判断部と、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが別アドレスであり、前記読み出しグロー
    バルアドレスと前記書き込みグローバルアドレスとがい
    ずれのビットにおいてもアドレスが一致している場合
    に、該グローバルアドレスが指定された際にアクティブ
    となるセレクト信号を出力するセレクト信号生成回路
    と、該グローバルアドレスを該記憶素子のローカルアド
    レスに変換する回路とを前記読み出しグローバルアドレ
    スと前記書き込みグローバルアドレス毎に生成する回路
    生成部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  4. 【請求項4】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述に基づき、前記記憶
    素子に対して割り当てられた読み出しグローバルアドレ
    スと書き込みグローバルアドレスが一致しているか否か
    を比較するRWアドレス比較部と、 前記読み出しグローバルアドレスあるいは書き込みグロ
    ーバルアドレスがビット単位で別アドレスになっている
    か否かを判断する判断部と、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが別アドレスであり、前記読み出しグロー
    バルアドレスまたは前記書き込みグローバルアドレスの
    少なくともいずれかがビット単位で別アドレスである場
    合に、ビット単位で別アドレスである前記いずれかのグ
    ローバルアドレスが指定された際にアクティブとなるセ
    レクト信号を出力するセレクト信号生成回路と、該グロ
    ーバルアドレスを該記憶素子のローカルアドレスに変換
    する回路とを前記読み出しグローバルアドレスと前記書
    き込みグローバルアドレス毎に生成し、さらに、前記グ
    ローバルアドレスを該記憶素子のローカルアドレスに変
    換する回路を前記読み出しグローバルアドレスと前記書
    き込みグローバルアドレスのビット毎に生成する回路生
    成部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  5. 【請求項5】 前記セレクト信号のグローバルアドレス
    に関するデータを抽出するアドレス抽出部と、 前記アドレス抽出部が抽出したデータに基づいて、前記
    読み出しグローバルアドレスと書き込みグローバルアド
    レスとをn進表現して、上位桁から順に比較判定して、
    上位桁から連続して一致する上位桁の数を決定するアド
    レス判定部と、 前記アドレス判定部で決定した一致する上位桁の数に対
    応した前記セレクト信号の共通回路を生成する共通回路
    生成部と、 を備えたことを特徴とする請求項1ないし請求項4記載
    のバスインタフェース回路作成装置。
  6. 【請求項6】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述から前記記憶素子に
    対する先頭グローバルアドレスとアドレス範囲を抽出す
    る抽出部と、 前記抽出部が抽出した前記アドレス範囲の任意のアドレ
    スを個別に指定可能な最小のアドレス線の本数nを計算
    する演算部と、 前記記憶素子の先頭アドレスの下位nビットがすべて0
    であるか否かを検出するチェッカー部と、 前記チェッカー部の検出結果が前記記憶素子の先頭アド
    レスの下位nビットがすべて0であった場合に、前記グ
    ローバルアドレスの下位nビットを前記記憶素子のアド
    レス入力とし、前記グローバルアドレスの下位nビット
    以外のアドレス値を利用して、セレクト信号を出力する
    回路を生成する回路生成部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  7. 【請求項7】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するバスインタフェース回路作成装置
    において、 入力されるバスインタフェース記述から前記記憶素子の
    先頭グローバルアドレスとアドレス範囲を抽出する抽出
    部と、 前記抽出部が抽出した前記アドレス範囲の任意のアドレ
    スを個別に指定可能な最小のアドレス線の本数nを計算
    する演算部と、 前記記憶素子の先頭アドレスの下位nビットがすべて0
    であるか否かを検出するチェッカー部と、 前記下位nビットの中に、1が存在する場合に、警告を
    行う警告部と、 を備えたことを特徴とするバスインタフェース回路作成
    装置。
  8. 【請求項8】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述と、スレーブとなるハー
    ドウェアについてのスレーブハードウェア記述とを入力
    し、前記バスインタフェース回路を表現するハードウェ
    ア記述言語を出力するためのバスインタフェース回路作
    成プログラムを記録したコンピュータ読み取り可能な記
    録媒体において、 前記バスインタフェース回路作成プログラムは、 入力されるバスインタフェース記述から、前記記憶素子
    のアドレスに関するデータを抽出する抽出ステップと、 前記抽出ステップによって抽出したデータに基づいて前
    記記憶素子が割り当てられたアドレスを記憶するビット
    データ記憶ステップと、 前記抽出ステップによって抽出したデータと、前記ビッ
    トデータ記憶ステップによって記憶した情報に基づき、
    前記記憶素子のアドレスの重複を検出するアドレス競合
    検出ステップと、 をコンピュータに実行させるバスインタフェース回路作
    成プログラムであることを特徴とする記録媒体。
  9. 【請求項9】 マスターとなる中央処理装置と前記中央
    処理装置に対しスレーブとなるハードウェアとの間に設
    けられる、記憶素子を含むバスインタフェース回路につ
    いてのバスインタフェース記述を入力し、所定のハード
    ウェア記述言語を出力するバスインタフェース回路作成
    プログラムを記録したコンピュータ読み取り可能な記録
    媒体において、 前記バスインタフェース回路作成プログラムは、 入力されるバスインタフェース記述に基づき、同一の前
    記記憶素子に対し前記中央処理装置が指示する読み出し
    グローバルアドレスと書き込みグローバルアドレスが一
    致しているか否かを比較するRWアドレス比較ステップ
    と、 入力されるバスインタフェース記述に基づき、前記グロ
    ーバルアドレスがビット単位で別アドレスになっている
    か否かを判断する判断ステップと、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが一致し、前記グローバルアドレスがビッ
    ト単位で別アドレスの場合に、該グローバルアドレスが
    指定された際にセレクト信号を生成し、必要に応じて更
    に該グローバルアドレスを該記憶素子のローカルアドレ
    スに変換する回路を各アドレス毎に生成する回路生成ス
    テップと、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが別アドレスであり、前記読み出しグロー
    バルアドレスと前記書き込みグローバルアドレスとがい
    ずれのビットにおいてもアドレスが一致している場合
    に、該グローバルアドレスが指定された際にアクティブ
    となるセレクト信号を出力するセレクト信号生成回路
    と、該グローバルアドレスを該記憶素子のローカルアド
    レスに変換する回路とを前記読み出しグローバルアドレ
    スと前記書き込みグローバルアドレス毎に生成する回路
    生成ステップと、 前記読み出しグローバルアドレスと前記書き込みグロー
    バルアドレスが別アドレスであり、前記読み出しグロー
    バルアドレスまたは前記書き込みグローバルアドレスの
    少なくともいずれかがビット単位で別アドレスである場
    合に、ビット単位で別アドレスである前記いずれかのグ
    ローバルアドレスが指定された際に、アクティブとなる
    セレクト信号を出力するセレクト信号生成回路と、該グ
    ローバルアドレスを該記憶素子のローカルアドレスに変
    換する回路とを前記読み出しグローバルアドレスと前記
    書き込みグローバルアドレス毎に生成し、さらに、前記
    グローバルアドレスを該記憶素子のローカルアドレスに
    変換する回路を前記読み出しグローバルアドレスと前記
    書き込みグローバルアドレスのビット毎に生成する回路
    生成ステップと、 をコンピュータに実行させるバスインタフェース回路作
    成プログラムであることを特徴とする記録媒体。
  10. 【請求項10】 前記生成されたセレクト信号のグロー
    バルアドレスに関するデータを抽出するアドレス抽出ス
    テップと、 前記アドレス抽出ステップが抽出したデータに基づい
    て、前記グローバルアドレスが一致するか否かを該グロ
    ーバルアドレスの上位から順に判定するアドレス判定ス
    テップと、 前記アドレス判定ステップの判定結果が一致する場合
    に、前記セレクト信号の共通回路を生成する共通回路生
    成ステップと、 を備えたことを特徴とする請求項9記載のバスインタフ
    ェース回路作成プログラムを記録した記録媒体。
  11. 【請求項11】 マスターとなる中央処理装置と前記中
    央処理装置に対しスレーブとなるハードウェアとの間に
    設けられ、記憶素子を含むバスインタフェース記述を入
    力し、所定のハードウェア記述言語を出力するバスイン
    タフェース回路作成プログラムを記録したコンピュータ
    読み取り可能な記録媒体において、 前記バスインタフェース回路作成プログラムは、 入力されるバスインタフェース記述から前記記憶素子に
    対する先頭グローバルアドレスとアドレス範囲を抽出す
    る抽出ステップと、 前記抽出ステップにおいて抽出したアドレス範囲に基づ
    き、前記アドレス範囲を指定可能な最小のアドレス線の
    本数nを計算する演算ステップと、 前記記憶素子の先頭アドレスの下位nビットがすべて0
    であるか否かを検出するチェックステップと、 前記チェックステップの検出結果が前記記憶素子の先頭
    アドレスの下位nビットがすべて0であった場合に、前
    記グローバルアドレスの下位nビットを前記記憶素子の
    アドレス入力とし、前記グローバルアドレスの下位nビ
    ット以外のアドレス値を利用して、セレクト信号を出力
    する回路を生成する回路生成ステップと、 前記チェックステップの検出結果が前記メモリの先頭ア
    ドレスの下位nビット中に、1が存在する場合に、警告
    を行う警告ステップと、 をコンピュータに実行させるバスインタフェース回路作
    成プログラムであることを特徴とする記録媒体。
JP29291399A 1999-10-14 1999-10-14 バスインタフェース回路作成装置及び記録媒体 Expired - Fee Related JP3604977B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29291399A JP3604977B2 (ja) 1999-10-14 1999-10-14 バスインタフェース回路作成装置及び記録媒体
US09/686,928 US6636925B1 (en) 1999-10-14 2000-10-11 Bus interface circuit preparation apparatus and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29291399A JP3604977B2 (ja) 1999-10-14 1999-10-14 バスインタフェース回路作成装置及び記録媒体

Publications (2)

Publication Number Publication Date
JP2001117855A true JP2001117855A (ja) 2001-04-27
JP3604977B2 JP3604977B2 (ja) 2004-12-22

Family

ID=17788029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29291399A Expired - Fee Related JP3604977B2 (ja) 1999-10-14 1999-10-14 バスインタフェース回路作成装置及び記録媒体

Country Status (2)

Country Link
US (1) US6636925B1 (ja)
JP (1) JP3604977B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143920A (ja) * 2015-01-29 2016-08-08 キヤノン株式会社 情報処理装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020124066A1 (en) * 2000-12-15 2002-09-05 International Business Machines Corporation Method and system for unambiguous addressability in a distributed application framework in which duplicate network addresses exist across multiple customer networks
TWI281805B (en) * 2004-05-18 2007-05-21 Quanta Comp Inc System for automatically distributing communication port address
US20060129701A1 (en) * 2004-12-15 2006-06-15 Shekoufeh Qawami Communicating an address to a memory device
US9458991B2 (en) * 2010-11-09 2016-10-04 Peter Jacksen Optical framing projector forward access adjustment and locking systems
US11983431B2 (en) * 2022-01-20 2024-05-14 Dell Products L.P. Read-disturb-based read temperature time-based attenuation system
US11928354B2 (en) 2022-01-21 2024-03-12 Dell Products L.P. Read-disturb-based read temperature determination system
US11922035B2 (en) 2022-01-21 2024-03-05 Dell Products L.P. Read-disturb-based read temperature adjustment system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5761740A (en) * 1995-11-30 1998-06-02 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
JP4008086B2 (ja) * 1998-02-04 2007-11-14 沖電気工業株式会社 データモニタ回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143920A (ja) * 2015-01-29 2016-08-08 キヤノン株式会社 情報処理装置

Also Published As

Publication number Publication date
JP3604977B2 (ja) 2004-12-22
US6636925B1 (en) 2003-10-21

Similar Documents

Publication Publication Date Title
US7325221B1 (en) Logic system with configurable interface
US7117348B2 (en) Method and system for detecting the validity of configuration data
CN112445729B (zh) 操作地址确定方法、PCIe系统、电子设备及存储介质
JP2001117855A (ja) バスインタフェース回路作成装置及び記録媒体
EP3731102B1 (en) Register protection circuit for hardware ip modules
EP2174256A1 (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
JP5056625B2 (ja) 回路設計装置および回路設計方法
JP4874065B2 (ja) バス中継装置及びシステム
US7234127B2 (en) Integrated circuit designing support apparatus and method for the same
US8122205B2 (en) Structured virtual registers for embedded controller devices
JP5265318B2 (ja) 論理検証装置
US7207015B1 (en) Translation of an electronic integrated circuit design into hardware
CN114690682A (zh) 串列周边接口spi系统和其数据传输方法
JP2006331391A (ja) データ処理装置及びデータ処理方法
JP7050587B2 (ja) 違反依存検出装置および違反依存検出プログラム
JP4083474B2 (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
US20030225558A1 (en) Logic simulation method for information handling system incorporated with memory macro
JP7110385B2 (ja) モデル比較装置
JP4810409B2 (ja) Vmeボード及びcr/csrレジスタのアクセス検知方法
JP5791797B2 (ja) Lsi設計装置及びlsi設計方法及びプログラム
JP5559932B2 (ja) 半導体装置
CN114880986A (zh) 一种快速生成全局配置组件的方法
JP3787951B2 (ja) コード変換方法及びこれを用いたコード変換装置
JP2727947B2 (ja) アドレストレース方式
TWI406175B (zh) 記憶卡以及用於記憶卡之方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040315

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: 20040907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040930

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121008

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121008

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees