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

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

Info

Publication number
JP3604977B2
JP3604977B2 JP29291399A JP29291399A JP3604977B2 JP 3604977 B2 JP3604977 B2 JP 3604977B2 JP 29291399 A JP29291399 A JP 29291399A JP 29291399 A JP29291399 A JP 29291399A JP 3604977 B2 JP3604977 B2 JP 3604977B2
Authority
JP
Japan
Prior art keywords
address
bus interface
global address
storage element
circuit
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 - Fee Related
Application number
JP29291399A
Other languages
English (en)
Other versions
JP2001117855A (ja
Inventor
基秀 大坪
一敏 若林
勇一 丸山
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 Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics 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

Images

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)

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に記載の発明は、マスターとなる中央処理装置と前記中央処理装置に対しスレーブとなるハードウェアとの間に設けられる、記憶素子(例えば、実施の形態におけるレジスタまたはメモリまたはフリップフロップ)を含むバスインタフェース回路について、中央処理装置側のバスインタフェースからみた記憶素子の記述であるバスインタフェース記述を入力し、前記バスインタフェース回路を表現するハードウェア記述言語を出力するバスインタフェース回路作成装置において、入力されるバスインタフェース記述(例えば、実施の形態におけるハードウェア記述10)から、前記記憶素子のアドレスに関するデータ(例えば、実施の形態における先頭アドレス、メモリのサイズ、記憶素子の名称等)を抽出する抽出部と、前記抽出部が抽出したデータに基づいて前記記憶素子が割り当てられたアドレスを記憶するビットデータ記憶部と、前記抽出部が抽出したデータと、前記ビットデータ記憶部の記憶情報に基づき、新たに割り当てられる記憶素子のアドレスが、既に割り当てられている記憶素子のアドレスと重複しているか否かを検出するアドレス競合検出部と、を備えたことを特徴とする。
【0008】
請求項2に記載の発明は、マスターとなる中央処理装置と前記中央処理装置に対しスレーブとなるハードウェアとの間に設けられる、記憶素子を含むバスインタフェース回路について、中央処理装置側のバスインタフェースからみた記憶素子の記述であるバスインタフェース記述を入力し、前記バスインタフェース回路を表現するハードウェア記述言語を出力するバスインタフェース回路作成装置において、入力されるバスインタフェース記述に基づき、同一の前記記憶素子に対して割り当てられた読み出しグローバルアドレスと書き込みグローバルアドレスが一致しているか否かを比較するRWアドレス比較部と、前記読み出しグローバルアドレス、あるいは書き込みグローバルアドレスがビット単位で別アドレスになっているか否かを判断する判断部と、前記読み出しグローバルアドレスと前記書き込みグローバルアドレスが一致し、前記読み出しグローバルアドレスおよび前記書き込みグローバルアドレスがいずれのビットにおいてもアドレスが一致している場合に、該グローバルアドレスが指定された際にアクティブとなるセレクト信号(例えば、実施の形態におけるEnable信号生成回路とR/Wバー信号によってCS端子、OE端子、WE端子を選択する信号)を出力するセレクト信号生成回路と、該グローバルアドレスを該記憶素子のローカルアドレスに変換する回路(例えば、実施の形態におけるアドレス変換回路A1)とを前記読み出しグローバルアドレスと前記書き込みグローバルアドレスとで共通に生成する回路生成部と、を備えたことを特徴とする。
【0009】
請求項3記載の発明は、マスターとなる中央処理装置と前記中央処理装置に対しスレーブとなるハードウェアとの間に設けられる、記憶素子を含むバスインタフェース回路について、中央処理装置側のバスインタフェースからみた記憶素子の記述であるバスインタフェース記述を入力し、前記バスインタフェース回路を表現するハードウェア記述言語を出力するバスインタフェース回路作成装置において、入力されるバスインタフェース記述に基づき、同一の前記記憶素子に対して割り当てられた読み出しグローバルアドレスと書き込みグローバルアドレスが一致しているか否かを比較するRWアドレス比較部と、入力されるバスインタフェース記述に基づき、前記読み出しグローバルアドレスあるいは書き込みグローバルアドレスがビット単位で別アドレスになっているか否かを判断する判断部と、前記読み出しグローバルアドレスと前記書き込みグローバルアドレスが別アドレスであり、前記読み出しグローバルアドレスと前記書き込みグローバルアドレスとがいずれのビットにおいてもアドレスが一致している場合に、該グローバルアドレスが指定された際にアクティブとなるセレクト信号を出力するセレクト信号生成回路と、該グローバルアドレスを該記憶素子のローカルアドレスに変換する回路とを前記読み出しグローバルアドレスと前記書き込みグローバルアドレス毎に生成する回路生成部と、を備えたことを特徴とする。
【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から、記憶素子のアドレスに関する情報の抽出を行う抽出部である。ここで、バスインタフェース記述とは、CPU側のバスインタフェースからみた記憶素子の記述であり、また、スレーブハードウェア記述とは、スレーブ側のハードウェアからみた記憶素子の記述である。この抽出部101は、バスインタフェース記述およびスレーブハードウェア記述10のデータから、記憶素子の種別、名称、先頭アドレス、アドレスバスビット幅、データバスビット幅、メモリのサイズ、FFのアドレス値を抽出し、アドレス競合検出部103への出力するとともに、この抽出したデータに基づいて、ディスプレイ等の画面上に出力する。
【0020】
次に、バスインターフェースに関するデータであるバスインタフェース記述およびスレーブハードウェア記述10の一例として、スレーブハードウェア記述のみが記述されている場合について、図2を用いて説明する。この図において、宣言文の第1行目(図2(1))では、ビット幅が8ビットであり、1024バイトの大きさであり、memory1という名称で、種別がメモリである記憶素子が定義されている。宣言文の第2行目(図2(2))では、ビット幅が8であり、2048バイトの大きさであり、memory2という名称で、種別がメモリである記憶素子が定義されている。また、宣言文の第3行目(図2(3))では、ビット幅が8であり、FF1という名称で、種別がレジスタである記憶素子が定義されている。このようなスレーブハードウェア記述において、抽出部101により、画面に表示された場合の一例を図3に示す。この場合、memory1、memory2、FF1の各先頭アドレスが指定されていないので0x0000番地に配置され、表示される。
【0021】
つぎに、バスインタフェース記述およびスレーブハードウェア記述10中に、バスインタフェース記述のみが記述されている場合について図4および図5を用いて説明する。図4の宣言文の第1行目(図4(4))では、ビット幅が8で、先頭アドレスが0x1000番地で、1024バイトの大きさでmemory1という名称で、種別がメモリである記憶素子を定義している。また第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が記憶されている場合に、記憶素子の割り当てを行い、ビットデータ記憶部102の対応するアドレス上のデータ0を1へ更新し、新たに配置された記憶素子および抽出部101から受け取った記憶素子の種別、名称、先頭アドレス、アドレスビット幅、データバスビット幅、メモリサイズのデータを出力部104へ出力する。一方、ビットデータ記憶部102に1が記憶されている場合には、アドレス競合検出部103は、他の記憶素子のアドレスと重複していることを検出し、ユーザへ警告を行う。ユーザへの警告方法としては、新たに割り当てられた記憶素子のアドレス範囲の表示色を変えてもよいし、表示位置をずらしてもよい。また、そのときに同時に警告音を鳴らしてもよい。なお、ユーザへの警告だけで出力部104へのデータ出力を行わなくてもよいし、行ってもよい。また、このデータ出力を行うかどうかをユーザに選択させてもよい。
【0025】
出力部104は、アドレス競合検出部103から出力された記憶素子のアドレス等のデータをバスインタフェース回路のハードウェア記述言語もしくは回路図もしくはシンボル接続図に変換し、出力する。
【0026】
次に、上述の構成によるバスインタフェース回路作成装置の動作について図8のフローチャートを用いて説明する。ここでは、バスインタフェース記述及びスレーブハードウェア記述10のデータが図4に示す宣言文である場合について説明する。また、ビットデータ記憶部の初期値はすべて0である。
まず、バスインタフェース記述データ(4)が抽出部101へ入力されると、抽出部101は、データ(4)から、記憶素子がメモリかFFであるかを抽出する(ステップS100)。この場合、種別がメモリと定義されているので、抽出部101は、先頭アドレスを読み込み(ステップS101)、次いで、メモリのサイズを読み込み(ステップS102)、そして、読み込んだデータをアドレス競合検出部103へ出力する。
【0027】
アドレス競合検出部103は、抽出部101から出力されたデータに基づいて、アドレスが競合しているか否かを検出する。すなわち、抽出部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であるかを抽出する(ステップS100)。この場合、種別がメモリと定義されているので、抽出部101は、先頭アドレスを読み込み(ステップS101)、次いで、メモリのサイズを読み込み(ステップS102)、そして、読み込んだデータをアドレス競合検出部103へ出力する。
【0030】
アドレス競合検出部103は、抽出部101から出力されたデータに基づいて、アドレスが競合しているか否かを検出する。すなわち、抽出部101から出力されたアドレスおよびメモリのサイズに対し、ビットデータ記憶部102に格納されているアドレス情報において1が記憶されているか否かを検出する(ステップS103)。この場合、ビットデータ記憶部102のアドレス0x1500番地からアドレス0x1cff番地までの2048バイト分は、全て0であるため、アドレス競合検出部103は、このアドレス0x1500番地からアドレス0x1cff番地の記憶を1へ更新する(ステップS104)。そして、アドレス競合検出部103は、この記憶素子の名称と、アドレスに関するデータを出力部104へ出力する。
【0031】
そして、出力部104は、アドレス競合検出部103から出力された記憶素子のアドレス等のデータをバスインタフェース回路のハードウェア記述言語もしくは回路図もしくはシンボル接続図に変換し、出力する(ステップS105)。
【0032】
次に、データ(6)が抽出部101へ入力されると、抽出部101は、データ(6)から、記憶素子がメモリかレジスタであるかを抽出する(ステップS100)。この場合、種別がレジスタと定義されているので、抽出部101は、アドレスを読み込み(ステップS106)、読み込んだデータをアドレス競合検出部103へ出力する。
【0033】
アドレス競合検出部103は、抽出部101から出力されたデータに基づいて、アドレスが競合しているか否かを検出する。すなわち、抽出部101から出力されたアドレスに対し、ビットデータ記憶部102に格納されているアドレス情報において1が記憶されているか否かを検出する(ステップS107)。この場合、ビットデータ記憶部102のアドレス0x1410番地は0であるため、アドレス競合検出部103は、このアドレス0x1410番地の記憶を1へ更新する(ステップS104)。そして、アドレス競合検出部103は、この記憶素子の名称と、アドレスに関するデータを出力部104へ出力する。
【0034】
そして、出力部104は、アドレス競合検出部103から出力された記憶素子のアドレス等のデータをバスインタフェース回路のハードウェア記述言語もしくは回路図もしくはシンボル接続図に変換し、出力する(ステップS105)。
なお、上述の動作は、ハードウェア記述10に記述されている各データ毎に繰り返し行ってもよいし、データをまとめて読み込んで順次処理した後に、まとめて出力してもよい。
【0035】
上述の動作によって出力される回路図は、例えば図9のようなものである。バス110は、マスターとなるCPUに対し接続されており、memory1、memory2およびFF1の下側に配置されている端子はスレーブハードウェアに接続されている。そして、memory1(図中では符号(A)、以下符号(A)と称す)、memory2(符号(B))、FF1(符号(C))が、それぞれ上述の動作によって出力されたバスインタフェース回路を介してバス110へ接続されている。以下、接続関係をより詳細に説明する。
【0036】
まず、memory1(符号(A))のA(アドレス)端子は、バス110のaddr(アドレス)端子から出力されるアドレス0x1000番地〜0x13ff番地を、0x000〜0x3ffへ変換するアドレス変換回路A1の出力端子に接続される。また、memory1(符号(A))のCS(チップセレクト)端子は、バス110から出力されるアドレスが0x1000番地〜0x13ff番地の場合にアクティブ信号“1“を出力するEnable信号生成回路A2の出力端子に接続される。そして、バス110のR/Wバー端子とdata(データ)端子は、それぞれmemory1(符号(A))のR/Wバー端子と、D(データ)端子に接続される。ここで、Wバーとはライト信号Wの反転信号を示すものであり、図中ではWの上に線を引いたもので示している。
【0037】
次に、memory2(符号(B))のアドレス端子は、バス110のaddr(アドレス)端子から出力されるアドレス0x1500番地〜0x1cff番地を0x000〜0x7ffへ変換するアドレス変換回路B1の出力端子に接続される。また、memory2(符号(B))のCS(チップセレクト)端子は、バス110から出力されるアドレスが0x1500番地〜0x1cff番地の場合にアクティブ信号“1”を出力するEnable信号生成回路B2の出力端子に接続される。そして、バス110のR/Wバー端子とdata(データ)端子は、それぞれ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によって出力されるシンボル接続図を図10に示す。
この図において、バス110は、マスターとなるCPUに対し接続されている。そして、memory1(符号(D))、memory2(符号(E))、FF1(符号(F))が、バスインタフェース回路を介してバス110へ接続されている。
【0040】
まず、memory1(符号(D))のA(アドレス)端子は、バス110のaddr(アドレス)端子から出力されるアドレス0x1000番地〜0x13ff番地を、0x000〜0x3ffへ変換するアドレス変換回路D1の出力端子に接続される。また、バス110のaddr(アドレス)端子には、バス110から出力されるアドレスが0x1000番地〜0x13ff番地の場合にアクティブ信号“1”を出力するEnable信号生成回路D2へ接続される。そして、前述のEnable信号生成回路の出力信号は、バス110から出力されるR/Wバー信号が、“1”すなわち読み出しの場合には、memory1(符号(D))のOE(アウトプットイネーブル)端子に入力され、R/Wバー信号が“0”すなわち書き込みの場合には、memory1(符号(D))のWE(ライトイネーブル)端子に入力される。さらに、バス110のdata(データ)端子は、memory1(符号(D))のD(データ)端子に接続される。
【0041】
次に、memory2(符号(E))のA(アドレス)端子は、バス110のaddr(アドレス)端子から出力されるアドレス0x1500番地〜0x1cff番地を、0x000〜0x7ffへ変換するアドレス変換回路E1の出力端子に接続される。また、バス110のaddr(アドレス)端子には、バス110から出力されるアドレスが0x1500番地〜0x1cff番地の場合にアクティブ信号“1”を出力するEnable信号生成回路E2へ接続される。そして、前述のEnable信号生成回路の出力信号は、バス110から出力されるR/Wバー信号が、“1”すなわち読み出しの場合には、memory2(符号(E))のOE(アウトプットイネーブル)端子に入力され、R/Wバー信号が“0”すなわち書き込みの場合には、、memory2(符号(E))のWE(ライトイネーブル)端子に入力される。さらに、バス110のdata(データ)端子は、memory2(符号(E))のD(データ)端子に接続される。
【0042】
次に、FF1(符号(F))について説明する。バス110のaddr(アドレス)端子には、バス110から出力されるアドレスが0x1410番地の場合にアクティブ信号“1”を出力するEnable信号生成回路F1へ接続される。そして、前述のEnable信号生成回路の出力信号は、バス110から出力されるR/Wバー信号が“1”すなわち読み出しの場合には、FF1(符号(F))のOE(アウトプットイネーブル)端子に入力され、R/Wバー信号が“0”、すなわち書き込みの場合には、FF1(符号(F))のWE(ライトイネーブル)端子に入力される。さらに、バス110のdata(データ)端子は、FF1(符号(F))のD(データ)端子に接続される。
以上のように、スレーブハードウェア記述として入力されたデータに応じて、バスインタフェース回路が生成される。
【0043】
次に、バスインタフェース記述およびスレーブハードウェア記述10が、マウス操作等によって、図5のような画面表示上にデータ入力された場合について説明する。名称がmemory3であり、種別がメモリであり、先頭アドレスが0x2800番地であり、大きさが1024バイトの記憶素子が作成されるとする。そして、このmemory3がマウス操作によって、先頭アドレスが0x1800番地へ移動されると、memory3の表示に必要なデータが、抽出部101に保持され、画面上は図6のように表示される。ここで、ビットデータ記憶部102のアドレス0x2800番地から0x2bff番地のメモリ領域は0へ更新される。そして、マウス操作によって移動された後のアドレス等のデータが抽出部101へ入力されると、抽出部101は、記憶素子がメモリかレジスタであるかを抽出する(ステップS100)。この場合、名称がmemory3という記憶素子は、種別がメモリであるので、抽出部101は、先頭アドレスを読み込み(ステップS101)、次いで、メモリサイズを読み込み(ステップS102)、そして、読み込んだデータをアドレス競合検出部103へ出力する。
【0044】
アドレス競合検出部103は、抽出部101から出力されたデータに基づいて、アドレスが競合しているか否かを検出する。すなわち、抽出部101から出力されたアドレスおよびメモリのサイズに対し、ビットデータ記憶部102に格納されているアドレス情報において1が記憶されているか否かを検出する(ステップS103)。この場合、ビットデータ記憶部102のアドレス0x1800番地からアドレス0x1bff番地は、全て1であり、既にmemory2へ割り当てられていることが記憶されている。これにより、アドレス競合検出部103は、アドレスが重複すると判断し、ユーザへ警告する(ステップS108)。なお、memory3のアドレス変更は、マウス操作でなく、キーボード入力によって行う場合も同様に処理される。また、もともとアドレスが重複するようなバスインタフェース記述を入力した場合も同様の処理により警告を行うことができる。
【0045】
図11は、この発明の第二の実施形態によるバスインタフェース回路作成装置200を適用したシステムの概略ブロック図である。
このバスインタフェース回路作成装置200へ入力されるバスインタフェース記述20の一例を図12に示す。この図において、memory1、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は、CPUからの読み出し時と書き込み時とで共通のアドレスデコーダを作成する(ステップS204)。
【0048】
次に、memory2のバスインタフェース記述が入力されると(ステップS201)、RWアドレス比較部201は、読み出しグローバルアドレスと書き込みグローバルアドレスが一致しているか否かを検出する(ステップS202)。読み出しグローバルアドレスと書き込みグローバルアドレスが一致していない場合、判断部202は、読み出しグローバルアドレスと書き込みグローバルアドレスがそれぞれビット単位で別アドレスになっているか否かを判断する(ステップS206)。このmemory2の場合、読み出しグローバルアドレスと書き込みグローバルアドレスが異なっており、読み出しグローバルアドレスと書き込みグローバルアドレスはどのビットにおいても、アドレスが一致している。従って、この判断結果に基づき、回路生成部203は、読み出しグローバルアドレスと書き込みグローバルアドレスについて別々にアドレスデコーダを作成する(ステップS207)。
【0049】
次に、FF1のバスインタフェース記述が入力されると(ステップS201)、RWアドレス比較部201は、読み出しグローバルアドレスと書き込みグローバルアドレスが一致しているか否かを検出する(ステップS202)。読み出しグローバルアドレスと書き込みグローバルアドレスが一致していない場合、判断部202は、読み出しグローバルアドレスあるいは書き込みグローバルアドレスにおいてビット単位で別アドレスになっているか否かを判断する(ステップS206)。このFF1の場合、読み出しグローバルアドレスと書き込みグローバルアドレスが異なっており、さらに、読み出しグローバルアドレスと書き込みグローバルアドレスとのいずれにおいてもビット単位で、別アドレスになっている。従って、この判断結果に基づき、回路生成部203は、読み出しグローバルアドレスと書き込みグローバルアドレスとについて別々にアドレスデコーダを作成し、さらに、読み出しグローバルアドレスと書き込みグローバルアドレスとのビット単位で別々にアドレスデコーダを作成する(ステップ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のaddr(アドレス)端子は、バス210から出力されるアドレスが0x1000番地〜0x13ff番地の場合にアクティブ信号“1”を出力するEnable信号生成回路G2と前記アドレス変換回路G1とに接続される。そして、バス210から出力されるR/Wバー信号が“1”すなわち、読み出しの場合には、前述のEnable信号生成回路の出力信号は、memory1(符号(G))のOE(アウトプットイネーブル)端子に入力され、R/Wバー信号が“0”、すなわち書き込みの場合には、memory1(符号(G))のWE(ライトイネーブル)端子に入力される。さらに、バス210のdata(データ)端子は、memory1(符号(G))のD(データ)端子に接続される。
【0052】
次に、memory2(符号(H))について説明する。バス210のaddr(アドレス)端子には、バス210から出力されるアドレスが0x1500番地〜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によって選択され、memory2(符号(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”を出力するEnable信号生成回路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(ライトイネーブル)端子が選択され、Enable信号生成回路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(bit4)(符号(K))のWE(ライトイネーブル)端子は、グランド端子へ接続される。
【0057】
次に、本発明の第三の実施形態によるEnable信号生成回路の面積最適化について図面を参照して説明する。図16は、本発明によるEnable信号生成回路の面積最適化を説明するための概略ブロック図であり、生成されたバスインタフェース回路を修正するために、図1の出力部や図11の回路生成部に図16に示すアドレス抽出部、アドレス判定部、および共通回路生成部からなるブロックが備えられる。
この図において、280は、共通化を行うEnable信号生成回路の各先頭アドレス、または各先頭アドレスと最終アドレスを抽出するアドレス抽出部である。281は、アドレス抽出部が抽出したアドレスについて上位桁から順にアドレスが一致するか否かを比較判定して、上位桁から連続して一致する上位桁数を決定するアドレス判定部である。282は、アドレス判定部が比較判定した結果に基づいてEnable信号生成回路の共通回路を生成する共通回路生成部である。
【0058】
上記の構成における動作について図17のフローチャートを用いて説明する。面積最適化の一例として、図14のmemory2(符号(H))のEnable信号生成回路H1とEnable信号生成回路H2を最適化する場合について説明する。
まず、アドレス抽出部280は、Enable信号生成回路H1とEnable信号生成回路H2の4つのアドレスの値を抽出する(ステップS250)。ここで、アドレス抽出部280は、Enable信号生成回路H1のアドレス範囲が0x1500番地から0x1cff番地であるので、1500と1cffの値を抽出する。また、アドレス抽出部280は、Enable信号生成回路H2のアドレス範囲が0x1400番地から0x1bff番地であるので、1400と1bffの値を抽出する。
【0059】
次に、アドレス判定部281は、アドレス抽出部が抽出したアドレスに基づいて、4つの値の上位から順に値が一致するか否かを判定する(ステップS251)。この場合、抽出された4つの値のうち、上位1桁目がすべて1であり、一致している。次に、上位2桁目は、それぞれ5、c、4、bであり異なるので、上位1桁目について共通回路を生成する(ステップS252)。そして、共通回路生成部282が生成し、出力する回路を図18(b)に示す。バス210のaddr(アドレス)端子には、バス210から出力されるアドレスの下位3桁が0x500から0xcffの場合にアクティブ信号“1”を出力するEnable信号生成回路H10と、バス210から出力されるアドレスの上位1桁が0x1の場合にアクティブ信号“1”を出力するEnable信号生成回路H11と、バス210から出力されるアドレスの下位3桁が0x400から0xbffの場合にアクティブ信号“1”を出力するEnable信号生成回路H12が接続されている。
【0060】
そして、Enable信号生成回路H10の出力とEnable信号生成回路H11の出力がAND回路220へ入力され、このAND回路220の出力端子がmemory2(符号(H))のOE(アウトプットイネーブル)端子へ接続される。また、Enable信号生成回路H11の出力とEnable信号生成回路H12の出力がAND回路221へ入力され、このAND回路221の出力端子がmemory2(符号(H))のWE(ライトイネーブル)端子へ接続される。この結果得られる図18(b)のアドレスデコーダ部は、共通化する前の図18(a)に比べて簡略化され、その回路が占める面積も削減できる。
【0061】
次に、図15の回路を共通化した場合の回路図を図19に示す。これは、図15におけるEnable信号生成回路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桁が0x141の場合にアクティブ信号“1”を出力するEnable信号生成回路J11と、バス210から出力されるアドレスの下位1桁が0x2の場合にアクティブ信号“1”を出力するEnable信号生成回路J12が接続されている。
【0064】
そして、Enable信号生成回路J10の出力とEnable信号生成回路J11の出力がAND回路230へ入力され、このAND回路230の出力端子がFF1(bit5〜7)(符号(J))のOE(アウトプットイネーブル)端子へ接続される。また、Enable信号生成回路J11の出力とEnable信号生成回路J12の出力がAND回路231へ入力され、このAND回路231の出力端子がFF1(bit5〜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ビット以外のアドレス値を利用して、Enable信号回路を生成し、バスインタフェース回路31を出力する回路生成部である。
【0068】
次に、上述の構成による装置の動作について図22のフローチャートを用いて説明する。ここで、バス側のアドレス信号線は、16ビットあるものとする。まず、名称がmemory1であり、先頭グローバルアドレスが0x1400番地であり、アドレス範囲が0x1400番地から0x17ff番地である記憶素子についてバスインタフェース記述30が入力された場合について説明する。
【0069】
まず、バスインタフェース記述30が入力されると(ステップS301)、抽出部301は、入力されたバスインタフェース記述30から、記憶素子の先頭アドレスと、メモリサイズを抽出し(ステップS302)、演算部302へ出力する。次に、演算部302は、抽出部301が抽出したメモリのサイズから最小のアドレス線本数nを求める(ステップS303)。この場合、メモリのサイズは1024バイトであり、先頭アドレスは0xl400番地である。次に、演算部302は、1024バイトというメモリサイズから、最小のアドレス線の本数を求める。メモリのサイズが1024バイトであるので、2のn乗=1024の式に基づいて、n=10(本)が算出される。
演算部302によって算出された最小のアドレス線nの値10に基づき、チェッカー部は、先頭アドレス0x1400番地の下位10ビットがすべて0であるか否かを検出する(ステップS304)。
【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ビットは
0001 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から、記憶素子の先頭アドレスと、メモリサイズを抽出し(ステップS302)、演算部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に示す。この図では、Enable信号生成回路では、グローバルアドレスと0x1401を比較する比較器bと、グローバルアドレスと0x1800を比較する比較器cの2つの比較器が必要となる。さらに、アドレス変換のために、減算器dが必要になる。従って、図23に比べ、非常に大きな回路構成となる。この発明により、図24に示す大きな回路構成となる場合には警告を発することができるため、バスインタフェース回路の面積が不用意に大きくなることを防ぐことが可能である。
【0076】
また、以上説明したバスインタフェース回路作成装置の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより施工管理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0077】
また、「コンピュータ読み取り可能な記録媒体」とは、フロッピーディスク、光磁気ディスク、ROM、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 回路生成部

Claims (11)

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

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
JP6516489B2 (ja) * 2015-01-29 2019-05-22 キヤノン株式会社 情報処理装置
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 沖電気工業株式会社 データモニタ回路

Also Published As

Publication number Publication date
JP2001117855A (ja) 2001-04-27
US6636925B1 (en) 2003-10-21

Similar Documents

Publication Publication Date Title
US8645812B1 (en) Methods and apparatus for automated redaction of content in a document
CN106415496A (zh) 统一中间表示
CN112445729B (zh) 操作地址确定方法、PCIe系统、电子设备及存储介质
JP3604977B2 (ja) バスインタフェース回路作成装置及び記録媒体
JP5163350B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US20080313472A1 (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
JP5157534B2 (ja) 動作合成装置、および、プログラム
JP5056625B2 (ja) 回路設計装置および回路設計方法
JPWO2013114586A1 (ja) 設計支援装置,設計支援方法および設計支援プログラム
US6587993B2 (en) Method of designating output “don't care” and processor of processing logic circuit data
JP5125385B2 (ja) 検証シナリオ作成プログラム、該プログラムを記録した記録媒体、検証シナリオ作成装置、および検証シナリオ作成方法
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JP5050985B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US7207015B1 (en) Translation of an electronic integrated circuit design into hardware
CN108920695B (zh) 一种数据查询方法、装置、设备及存储介质
JP7050587B2 (ja) 違反依存検出装置および違反依存検出プログラム
JP5163308B2 (ja) Ipモデル生成装置、ipモデル生成方法、およびipモデル生成プログラム
US20190064269A1 (en) Apparatus and method for performing a scalability check on a hardware description language representation of a circuit
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP7110385B2 (ja) モデル比較装置
WO2021024791A1 (ja) 設計支援システム及び設計支援方法
US20230100758A1 (en) Unique identifier creation and management for elaborated platform
JP5791797B2 (ja) Lsi設計装置及びlsi設計方法及びプログラム
JP2016139203A (ja) 設計情報作成方法、設計情報作成装置及びプログラム
JP4406628B2 (ja) データ管理装置、データ管理方法、及びプログラム

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