JP2004192609A - マイクロコントローラソフトip内蔵用romソフトipの生成方法及びこの方法を実行させるためのプログラムを記録した記録媒体 - Google Patents
マイクロコントローラソフトip内蔵用romソフトipの生成方法及びこの方法を実行させるためのプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP2004192609A JP2004192609A JP2003308055A JP2003308055A JP2004192609A JP 2004192609 A JP2004192609 A JP 2004192609A JP 2003308055 A JP2003308055 A JP 2003308055A JP 2003308055 A JP2003308055 A JP 2003308055A JP 2004192609 A JP2004192609 A JP 2004192609A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- file
- soft
- mpu
- electronic 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】 IP設計者が容易にROM内蔵MPU(Micro Processor Unit)ソフトIPを設計し、MPUコアIP使用者もプログラムされた大きさと同一のROMプログラムデータ(ROM program data)を入れることを可能とすること。
【解決手段】 ROMソフトIPの初期情報を記述し、ROMアドレスと命令語を記述する構文を指定するヘッダファイル、終了情報を記述したテイルファイル、及びROMソフトIPの動作を記述する空ファイルを作成し、MPUプログラムメモリ用ヘキサファイルを選定する段階と、空ファイル内部に、前記ヘッダファイルをコピーし、前記プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語によって開始番地と命令語の電子回路設計言語に変換し、テイルファイルをコピーしてROMコード変換プログラムを生成する段階と、ROMコード変換プログラムを実行させてROMソフトIP用ファイルを生成する段階とを備える。
【選択図】 図1
【解決手段】 ROMソフトIPの初期情報を記述し、ROMアドレスと命令語を記述する構文を指定するヘッダファイル、終了情報を記述したテイルファイル、及びROMソフトIPの動作を記述する空ファイルを作成し、MPUプログラムメモリ用ヘキサファイルを選定する段階と、空ファイル内部に、前記ヘッダファイルをコピーし、前記プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語によって開始番地と命令語の電子回路設計言語に変換し、テイルファイルをコピーしてROMコード変換プログラムを生成する段階と、ROMコード変換プログラムを実行させてROMソフトIP用ファイルを生成する段階とを備える。
【選択図】 図1
Description
本発明は、マイクロコントローラソフトIPに内蔵することが可能なROMソフトIP(ROM Soft IP)を生成する方法に関し、より詳しくは、MPUコアIP(MPU core IP)への内蔵が可能なようにROMソフトIPを生成することにより、IP設計者が容易にROM内蔵MPU(Micro Processor Unit)ソフトIPを設計することが可能で、MPUコアIP使用者もプログラムされた大きさと同一のROMプログラムデータ(ROM program data)を入れることが可能なROMソフトIPを生成する方法に関する。
本明細書で言及される用語について定義すると、次の通りである。
「マイクロコントローラ」はMicro Processor Unitを意味し、以下「MPU」と表記し、「IP」はIntellectual Propertyの略称であって、半導体設計資産を意味し、以下「IP」と表記する。また、「MPUコアIP」はROMを内蔵していないMPU IP、「MPUソフトIP」はROMを内蔵したMPU IPをそれぞれ意味し、半導体製造工程のデザインルールに関係なくチップに実現できるように電子回路設計言語で記述する仮想部品(Virtual Component)であって、マイクロプロセッサ機能の半導体設計資産(Semiconductor IP)を意味する。
「マイクロコントローラ」はMicro Processor Unitを意味し、以下「MPU」と表記し、「IP」はIntellectual Propertyの略称であって、半導体設計資産を意味し、以下「IP」と表記する。また、「MPUコアIP」はROMを内蔵していないMPU IP、「MPUソフトIP」はROMを内蔵したMPU IPをそれぞれ意味し、半導体製造工程のデザインルールに関係なくチップに実現できるように電子回路設計言語で記述する仮想部品(Virtual Component)であって、マイクロプロセッサ機能の半導体設計資産(Semiconductor IP)を意味する。
一方、「ソフトIP」は電子回路の実現ができるようにVHDL(Very High speed Description Language)やVerilogなどの電子回路設計言語で表現された半導体設計資産を意味し、「IP設計者」は半導体設計資産を創出する者を意味し、「IP使用者」はIPを活用してあるシステムを創出する者を意味する。また、「プログラムデータ」はROMの内部にプログラムされているMPU駆動用ヘキサコードなどを意味する。「ハードIP」は電子回路の連結情報からなり、特定のチップ製造会社でのみチップ製造が可能なIPを意味する。
以下、従来の技術によってMPU IPを設計する方法及びこれによる欠点を説明する。
一般に、任意のMPUチップを駆動させるためには、ヘキサコードの形になっている該当MPU用命令語集合(Instruction Set)としてのオペレーションコード(Operation code)を活用して該当MPUの機能が発揮できるようにプログラムして、該当MPUの内部または外部の読取専用記憶素子(以下、「記憶素子」という。また、「Mask ROM」と「プログラムメモリブロック及び記憶素子ブロック」も同一のブロックを指称するものとする)に書き込まなければならない。従って、ROM内蔵MPUチップは、製造後にも使用者が外部からプログラミングを行えるように、EPROM(Erasable Programmable Read Only Memory)またはEEPROM(Electrically Erasable Programmable Read Only Memory)などのプログラムが可能な読取専用の不揮発性記憶素子をMPUチップ内部に内蔵して設計しなければならない。
従来の技術によるMPU IP実現方法をより詳細に説明するために、下記の表1には従来の技術1〜5のMPU IP実現方法をそれぞれのMCU部分、記憶素子部分、IP形態、並びに設計体系及び主体に分けて概略的に述べた。
しかし、表1に示したような従来の技術はそれぞれ次の問題点をもっている。
まず、従来の技術1によるEEPROM内蔵MPUをハードIPで設計する方法は、MPUコア部分はIP設計者が設計し、EEPROM部分はチップ製作者が完成する。従って、チップ製作工程会社が変わると、工程条件を修正して再び設計しなければならないという欠点がある。
従来の技術2のEEPROM内蔵MPUをソフトIPで設計する方法は、チップ製造工程が非常に複雑で工程技術に変数が多いため、チップに製造することがほぼ不可能である。従って、EEPROM内蔵MPUをソフトIPで設計する場合には、ROMを内蔵せず、MPUコア部分のみ設計しなければならないという欠点がある。
従来の技術3の如く、MPUチップの使用者から予めプログラミングデータを受領してROMパターンに変えた後、このパターンに該当するマスクを用いて製作するマスクROM内蔵MPUハードIPで設計する方法は、コア部分は設計者が設計し、マスクROM部分の設計はIP使用者から予めプログラミングデータを受領し、チップ製作者から工程情報を受けてCAD(Computer Added Design)ツールに依存して完成する。従って、チップ製作工程会社或いはツールが変わると、工程条件及び設計方法を異ならせて再び設計しなければならないという欠点があり、MPUハードIPの使用者がIP状態ではプログラミングデータを修正することができないという欠点がある。
従来の技術4によるマスクROM内蔵MPUをソフトIPで設計する方法は、IP使用者から予めプログラミングデータを受領し、IP設計者が特定のCADツールを用いてマスクROMコードをパターンに変換して、4Kバイトなどと特定されたメモリ区域にデータを刻印する方法でROMブロックの電子回路を設計し、MPUコア部分の電子回路を設計した後、別のCADツールを用いて結合させる方式でMPUソフトIPを設計する。従って、CADツールが変わると、設計方法を異ならせて再び設計しなければならないという欠点があり、剰余の記憶素子が生成され、MPUソフトIPの使用者がIP状態ではプログラミングデータ(マスクROMのデータを意味する)を修正することができないという欠点もある。
従来の技術5のマスクROM内蔵MPUをソフトIPで設計する方法は、IP設計者が電子回路設計言語でMPUコアのみ設計し、IP使用者が常用のMPUプログラミングツールでプログラムしておいた駆動用ヘキサコード(マスクROMのデータを意味する)を、IP設計者が手作業によってメモリ用VHDLファイルに変換し、既に作成したMPUコアIP用ソースファイルでプログラムメモリの大きさを決定し、アドレスバスと関わりのあるソースファイル部分を修正しなければならない。従って、IP設計者は、CADツールを用いて修正されたIPの信頼性を検証するために、それぞれ抽出されたブロックを結合して合成及びシミュレーションなどの検証作業を再び経なければならない煩わしさがあり、多くの手作業によって設計時間が長くかかり、その方法が非常に複雑であるという欠点がある。また、MPUソフトIPの使用者がIP状態ではプログラミングデータを修正することができないという欠点もある。
従って、上述した従来の技術による方法をまとめると、EEPROMを内蔵するハードIPでは、チップ製作工程会社が変わると、工程条件を修正して再び設計しなければならないという問題点があり、マスクROMを内蔵するハードIPでは、チップ製作工程会社或いはCADツールが変わると、工程条件及び設計方法を異ならせて再び設計しなければならないという問題点があり、MPUハードIPの使用者がIP状態ではプログラミングデータを修正することができないという問題点がある。
また、EEPROMを内蔵するソフトIPは、チップ製造工程が非常に複雑で工程技術に変数が多いため、コア部分のみ設計する問題点があり、マスクROMをパターン形式で内蔵するソフトIPは、CADツールが変わると、設計方法を異ならせて再び設計しなければならないという問題点があり、剰余の記憶素子が生成され、MPUソフトIPの使用者がIP状態ではプログラミングデータを修正することができないという問題点がある。また、マスクROMを電子回路設計言語で内蔵するソフトIPは、多くの手作業により設計時間が長くかかり、その方法が非常に複雑であり、MPUソフトIPの使用者がIP状態ではプログラミングデータを修正することができないという問題点がある。
半導体集積回路に関し、1個のウェハ上に全てのチップに関するROMパターンを描画できる技術が記載されている(特許文献1を参照)。
不揮発性メモリが内蔵されたマイクロコンピュータに関し、フラッシュメモリにどのようなプログラムも保存されなかったとき、初期プログラムを伝送プログラムに合わせてフラッシュメモリへ伝送した後、ブートROMをメモリ空間から除去する技術が知られている(特許文献2を参照)。
命令語解釈機に関し、多様な命令語を扱うためのエミュレーションコード順次機とエミュレーションコードROMを含むように構成する技術が知られている(特許文献3を参照)。
従って、本発明は、かかる問題点を解決するために創出されたもので、その目的は、MPUに内蔵するマスクROMのデータをソフトIPの形態となるように生成するため、MPU駆動用プログラムROMコード(マスクROMのデータを意味する)をVHDLなどの電子回路設計言語ファイルに自動変換するが、ROMコンポーネントファイルの形態に生成することにより、MPUソフトIPの回路合成過程の簡略化に有用に適用することができ、プログラムされているデータの大きさだけを変換することにより、特定のサイズを有しているマスクROMよりチップのサイズを最小化するのに有用に適用することが可能なROMソフトIPの生成方法を提供することにある。
本発明の他の目的は、MPUプログラミングデータ(マスクROMのデータを意味する)をMPUソフトIPの使用者も容易に変換することができ、MPUの最上位アドレスまで収容することにより外付ROMの容量まで最大限符号化(coding)することが可能な、独立ファイル形のROMソフトIPを生成する方法を提供することにある。
また、本発明のさらに他の目的は、MPUソフトIPの設計者はMPUコアIPにROMを内蔵したMPUソフトIPを容易に最大ROM容量まで収容するように設計することができ、MPUソフトIPの使用者はMPUプログラミングデータを独自的に変更、修正、或いはMPUコアIPのみ活用できるように削除することを可能にすることにある。
本発明のさらに他の目的は、半導体チップ製造会社のROM製造工程技術保有有無に関わりのないように電子回路設計言語で記述することにより、いずれの半導体チップ製造会社でもチップに実現することが可能なROMソフトIPの製造方法を提供することにある。
上記目的を達成するための本発明の一側面は、(a)ROMソフトIPの初期情報を記述し、ROMアドレスと命令語を記述する構文を指定するヘッダファイル、終了情報を記述したテイルファイル、及びROMソフトIPの動作を記述する空ファイルを作成し、MPUプログラムメモリ用ヘキサファイルを選定する段階と、(b)空ファイル内部に、前記ヘッダファイルをコピーし、前記プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語によって開始番地と命令語を電子回路設計言語に変換し、テイルファイルをコピーしてROMコード変換プログラムを案出する段階と、(c)ROMコード変換プログラムを実行させてROMソフトIP用ファイルを生成する段階とを含んでなるROMソフトIPの生成方法を提供する。
一方、プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語によって開始番地と命令語を電子回路設計言語に変換する過程では、アドレスと命令語を分析してそれぞれ2進数に変換した後、開始番地と命令語を電子回路設計言語で書き込むことができる。また、ROMソフトIPはVHDL、Verilogを含む電子回路設計言語のいずれかで記述することができ、ROMソフトIPはマスクROMを代替してMPUに内蔵することができる。
また、ヘッダファイルにはIPに適用するライブラリ、IPの名称及び入出力信号を含む初期情報、ROMアドレスとこのアドレスにある命令語を記述する構文を指定するが、電子回路設計言語で作成し、テイルファイルにはROMの最終データを書き込み、終了文を指定するが、電子回路設計言語で作成することができる。
また、上述した命令語を電子回路設計言語に変換する過程は、ASCII文字から構成されたヘキサファイルの命令語個数を算出するが、文字を整数に変換する関数を用いて10進数を算出することが好ましい。
電子回路設計言語で記述した前記ROMソフトIPは、MPUコアIPと併合して部品のように内蔵することも可能であり、前記ROMソフトIP生成方法は生成されたROMソフトIPと前記MPUコアIPを併合してCADツールで回路合成及び検証を行う段階をさらに含むことが可能である。
本発明の他の側面は、上述したようなROMソフトIPの生成方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体を提供する。
上述した本発明によれば、生成しようとするROMソフトIPの初期情報を記述したヘッダファイルと終了情報を記述したテイルファイルを作成して具備し、ROMソフトIPの行為を記述する空ファイルを具備し、プログラムメモリ用ヘキサファイルを読み込み、ROMコード変換プログラムを実行させることにより、マスクROMを代替してMPUに内蔵することが可能なROMソフトIPの設計時に有用に適用することができ、内蔵ROMを含む各種のシステムチップ(SoC)の設計時にも広く利用することができる。
以下、本発明の属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施し得る程度に詳細に説明するため、本発明の最も好適な実施例を添付図に基づいて説明する。
本発明は、ROMソフトIP生成アルゴリズムと命名されるROMのデータを電子回路設計言語ファイルに変換して新規のROMソフトIPを生成することが可能なアルゴリズムを提案する。「ROMソフトIP生成アルゴリズム」とは、MPUソフトIPに内蔵或いは外付しなければならない特定の用途と大きさを持っているマスクROMのデータを、Visual Cなどのプログラミングソフトウェアで製作することが可能なROMコード変換プログラムを案出しこれを実行させることにより、電子回路設計言語ファイルに変換してMPUソフトIPと併合あるいは挿入しうるように、独立したROMソフトIPを生成するアルゴリズムである。
前記ROMソフトIP生成アルゴリズムは、特に、MPUの用途に合わせてそれぞれ異なるようにプログラムされたマスクROMコード入りのヘキサファイルを読み込み、VHDLなどの電子回路設計言語ファイルに変換する方法によってマスクROMデータの大きさと同一のROMコンポーネントファイルを生成することにより、チップサイズの最小化に有利であり、MPUの最上位アドレスも収容可能であり、外付ROM部分も内蔵することが可能な各種サイズのROMソフトIPを生成することができ、MPUコアIPの設計者だけでなく使用者もROMを容易に内蔵することができ、また電子回路設計言語で記述することにより、半導体チップ製造会社のROM製造工程技術保有有無に関係なくチップに実現することができ、マスクROM形態のメモリブロックが必要な各種のSoC(System on a Chip)を設計する際にも、IP使用者が容易に活用することができるという特徴を有したROMソフトIP生成アルゴリズムである。
以下、添付図を参照して本発明の好適な実施例によるROMソフトIPを生成する方法、及びMPUコアIPと合わせてROM内蔵MPUソフトIPに適用する方法について具体的に説明する。
まず、MPUソフトIPの概略的な構造及びIP間の連結体系を図2に基づいて説明する。図2はMPUソフトIPの概略的な構造及びIP間の連結関係を説明するための概念図である。但し、ROM内蔵MPUソフトIP10に適用する体系とファイル名は本発明についての説明の便宜を提供するための一例である。
図2を参照すると、Inprom.vhdと命名したROMソフトIP20に16ビットアドレスバス(addr)が入力されると、8ビット命令語バス(dataout)の出力信号を出力するように構成されており、0〜64KBサイズのMPU駆動用プログラムを符号化することが可能なROMソフトIP20が生成される。ROMソフトIP20は、ET8031.vhdと命名したMPUコアIP30と併合してCADツールで回路合成及び検証過程を行った後、ROM内蔵MPUソフトIP20と併合してMPUソフトIP、CADツールで回路合成及び検証過程を行い、ET8051.vhdと命名したROM内蔵MPUソフトIP10に適用される。
次に、図1の流れ図を詳細に説明する。
(S1段階)
ROMソフトIP20は、ワークステーションまたはPC環境で使用する電子回路設計言語であって、ROMソフトIPの初期情報を記述したヘッダファイルと終了情報を記述したテイルファイルを作成して具備し、新規のROMソフトIPを記述し始める空ファイルを備え、ROMソフトIPに変換させる対象、すなわちASCII文字から構成されたMPUのプログラムメモリ用ヘキサファイルを準備する(S1)。
(S1段階)
ROMソフトIP20は、ワークステーションまたはPC環境で使用する電子回路設計言語であって、ROMソフトIPの初期情報を記述したヘッダファイルと終了情報を記述したテイルファイルを作成して具備し、新規のROMソフトIPを記述し始める空ファイルを備え、ROMソフトIPに変換させる対象、すなわちASCII文字から構成されたMPUのプログラムメモリ用ヘキサファイルを準備する(S1)。
ROMソフトIPをより具体的に説明する。図3はヘッダファイル(head.vhd)の構造を示す図である。ヘッダファイルの内部には、IPに適用するライブラリAとIPの名称、入出力信号Bなどに関するROMソフトIP20の初期情報を指定し、ROMアドレスとこのアドレスに入っている命令語を記述する構文Cを指定するが、電子回路設計言語で作成して具備する。一方、ヘッダファイルはVHDLファイル作成形式の国際標準の中からヘッダファイル部分のみを分離したものである。
また、テイルファイルはtail.vhdと命名して図4に例示した。図4において、テイルファイルの内部にはROMのデータを書き込み(D)、終了文(E)を指定するが、電子回路設計言語で作成して具備する。また、新規のROMソフトIPはinprom.vhdと命名し、電子回路設計言語で作成する空ファイルを準備する。一方、テイルファイル(tail.vhd)はVHDLファイル作成形式のIEEE国際標準の中からヘッダファイル部分のみを分離したものである。
また、ASCII文字から構成されたMPUのプログラムメモリ用ヘキサファイルを準備する。本例ではwatch.hexという名称の時計機能を駆動させるファイルを準備し、図5に例示した。図5におけるヘキサファイル(watch.hex)はMPUの使用者がプログラムし、ファイルの内部には特定の規則と意味がある。これをより詳細に説明する。ヘキサファイル(watch.hex)の第1行の第1文字(:,a)は行の開始を意味する。また、第2〜3文字(03,b)はこの行に含まれたOPコードの数を16進数で表現したもので、本例の場合はOPコードが3つあることを意味する。第4〜7文字(0000,c)はこの行の開始番地を表現したもので、本例では16進数で0000番地であることを示す。第8〜9文字(00,d)は最後のライン表示であって、最後の場合にのみ01で表示する。第10〜11文字(02,e)、第12〜13文字(1E,f)、第14〜15文字(DD,h)はこの行に含まれた3つのOPコードを意味する。また、第14〜15文字(DD,h)はチェックサムであって、行の最後に表示されている。ヘキサファイルは使用者がどの用途でMPUを使用するかによって符号化(coding)が異なり、長さも異なる。
(S2段階)
ROMソフトIP20は、PC環境においてVisual CなどのプログラミングソフトウェアでRomConv.exeと命名したROMコード変換プログラムを案出するが、前記で準備した新規の空のROMソフトIPファイルの内部に前記ヘッダファイル(head.vhd)をコピーし、プログラムメモリ用ヘキサファイル(watch.hex)を読み込んで、プログラミングソフトウェアの関数を用いてROMアドレスとデータをVHDLコードに変換してヘッダファイルのコピーされたROMソフトIPファイルに書き込む(S2)。
ROMソフトIP20は、PC環境においてVisual CなどのプログラミングソフトウェアでRomConv.exeと命名したROMコード変換プログラムを案出するが、前記で準備した新規の空のROMソフトIPファイルの内部に前記ヘッダファイル(head.vhd)をコピーし、プログラムメモリ用ヘキサファイル(watch.hex)を読み込んで、プログラミングソフトウェアの関数を用いてROMアドレスとデータをVHDLコードに変換してヘッダファイルのコピーされたROMソフトIPファイルに書き込む(S2)。
このようなROMコード変換プログラムは、一般的な設計知識を有している者がプログラミングソフトウェアを用いてスクリプトファイルまたはバッチファイルなどを適切に混合して行わせるように作成することにより実現可能である。次いで、図6を参照して細部アルゴリズムの実現方法を流れ図の一例によって説明する。
ROMコード変換プログラムをプログラムするためには、まずMPUのプログラムメモリ用原始ファイルをコンパイルして抽出された、ASCII文字から構成されたROMコード用HEXファイル(F1)(Watch.hex)の内容を全部読み取って変数(FBuf)に格納する段階をプログラムする(S201)。その後、新しい空のROMソフトIPファイル(F3)(Inprom.vhd)の上部に、予め作成されたヘッダファイル(F2)(head.vhd)をコピーして書き込むようにプログラムし(S202)、プログラムメモリの大きさだけアドレスが増加したかを確認する変数をMaxAddrとして「0」に設定するようにプログラムする(S203)。次に、FBufに格納されたプログラムメモリ用ヘキサファイルの第1行を読み取った後、LBufと命名した変数に格納するようにプログラムする(S204)。その後、LBufの第2〜3文字(b)を読み取って変数tempStrに格納し、変数tempStrと文字一つを整数に変換する関数asc2Numを用いて次の数式1で命令語個数の変数Nを準備する。
N=asc2Num(tempStr(0)(第2文字、0であり、アスキーコード値は48である))*16+asc2Num(tempStr(1)(第3文字、3であり、アスキーコード値は51である))・・・式(1)
N=asc2Num(tempStr(0)(第2文字、0であり、アスキーコード値は48である))*16+asc2Num(tempStr(1)(第3文字、3であり、アスキーコード値は51である))・・・式(1)
従って、式(1)で第2〜3文字(b)の03をアスキー値の3に変換するようにプログラムすることにより、Nの数字を準備し(S205)、開始番地を分析してStAddr変数に格納し(S206)、開始番地「StAddr」がプログラムメモリ増加変数「MaxAddr」より大きいか否かを判断して(S207)、大きい場合には「StAddr」と「N」を合算して「MaxAddr」を増加させ(S208)、大きくない場合には「StAddr」をアドレス(Addr)と見なし、増加変数「Cnt」を「0」とする(S209)。
次に、1つの命令語を分析してOPコードを準備し(S210)、このOPコードを2進数に変換し(S211)、アドレスと2進数に変換したOPコードをVHDLファイルにROMソフトIP(inprom.d)のヘッダコード及びROMデータコード(F4)で書き込む(S212)。その後、アドレスと増加変数「Cnt」を各1個ずつ増加させ(S213)、前記命令語個数Nが命令語増加変数「Cnt」と同一か否かを判断して(S214)、Nが最後の命令語増加変数ではなければ、その次の命令語を分析するようにS210段階に帰還し、最後の命令語係数であれば、ファイルの終わりかを判断して(S215)、終わりでなければ、次の行を読むようにS204段階に帰還し、終わりであれば、プログラムメモリの大きさを分析し(S216)、テイルファイル(tail.vhd)F5を用いてVHDLファイルとしてヘッダファイル、ROMデータファイル及びテイルファイルを有するinprom.vhd(F6)に終了コードを書き込み(S217)、終了するようにプログラムする(S218)。
一方、上述したROMコード用HEXファイル(watch.hex)は、必ずMPUのプログラムメモリ用原始ファイルをコンパイルして抽出されたものである必要はない。命令語をデータのみで表現したROMコード用HEXファイルにも変換することができ、この場合には具体的実施例で開始アドレスを自動に増加させる方法を取ればよい。
(S3段階)
図2に基づいてS2段階以後の過程を説明すると、ROMソフトIP20は前記で案出したRomConv.exeと命名したROMコード変換プログラムをワークステーションまたはPC環境で実行させることにより、図6a及び図6bに示すように、Inprom.vhdと命名したROMソフトIPファイル(図6bのF7)を生成する。一方、このような要領でROMコード変換プログラムを一度だけ作成すると、前記ROMコード用HEXファイル(watch.hex)のみ交替して実行させることにより、同種のMPUに適用することが可能な新規のROMソフトIP(Inprom.vhd)用ファイルを生成することができ、前記ヘッダファイル、テイルファイル及びROMコード用HEXファイルを変換すると、他の種のMPUにも適用して新規のROMソフトIP用ファイルを生成することができる。上述したような方法で生成したROMソフトIPファイルの一例を図7に示した。生成されたROMソフトIPファイルは、ヘッダコードのコピーされた部分(A、B及びC)、生成されたROMデータコード(F4)部分及びテイルコード(D及びE)部分を含む。但し、図7ではこのようなコードのうちヘッダコードのコピーされた部分(A、B及びC)、生成されたROMデータコード(F4)部分を示している。
図2に基づいてS2段階以後の過程を説明すると、ROMソフトIP20は前記で案出したRomConv.exeと命名したROMコード変換プログラムをワークステーションまたはPC環境で実行させることにより、図6a及び図6bに示すように、Inprom.vhdと命名したROMソフトIPファイル(図6bのF7)を生成する。一方、このような要領でROMコード変換プログラムを一度だけ作成すると、前記ROMコード用HEXファイル(watch.hex)のみ交替して実行させることにより、同種のMPUに適用することが可能な新規のROMソフトIP(Inprom.vhd)用ファイルを生成することができ、前記ヘッダファイル、テイルファイル及びROMコード用HEXファイルを変換すると、他の種のMPUにも適用して新規のROMソフトIP用ファイルを生成することができる。上述したような方法で生成したROMソフトIPファイルの一例を図7に示した。生成されたROMソフトIPファイルは、ヘッダコードのコピーされた部分(A、B及びC)、生成されたROMデータコード(F4)部分及びテイルコード(D及びE)部分を含む。但し、図7ではこのようなコードのうちヘッダコードのコピーされた部分(A、B及びC)、生成されたROMデータコード(F4)部分を示している。
(S4段階以後)
上述した方式で生成されたROMソフトIP(Inprom.vhd)は、電子回路設計言語で記述したファイルなので、図1に示したMPUコアIP30と併合して部品のように内蔵することができる。また、一般的なCADツールで合成及び検証手続きを経る(S4)と、ROM内蔵MPUソフトIPを容易に活用することができる。
上述した方式で生成されたROMソフトIP(Inprom.vhd)は、電子回路設計言語で記述したファイルなので、図1に示したMPUコアIP30と併合して部品のように内蔵することができる。また、一般的なCADツールで合成及び検証手続きを経る(S4)と、ROM内蔵MPUソフトIPを容易に活用することができる。
本発明の技術的思想は、前記好適な実施例によって具体的に記述されたが、これらの実施例は本発明を説明するためのもので、制限するものではない。本発明の範囲内でいろいろの実施が可能であることを当業者なら理解するであろう。
以上、本発明をROMソフトIPの生成方法を主として説明したが、本発明のメカニズムが様々な類型の命令語を含んでプログラム化することができ、このようなプログラムを記録したコンピュータ記録媒体の形態で配布することができることを当業者なら理解するであろう。コンピュータ読取可能な記録媒体の例としてはハードディスク、フロピーディスク、ハードディスクドライブ及びCD ROMのような記録型媒体を含むことができる。
Claims (9)
- (a)ROMソフトIPの初期情報を記述し、ROMアドレスと命令語とを記述する構文を指定するヘッダファイル、終了情報を記述するテイルファイル及びROMソフトIPの動作を記述する空ファイルを作成し、MPUプログラムメモリ用ヘキサファイルを選定する段階と、
(b)前記空ファイルの内部に、前記ヘッダファイルをコピーし、前記プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語とによって開始番地と命令語の電子回路設計言語とに変換し、前記テイルファイルをコピーしてROMコード変換プログラムを生成する段階と、
(c)前記ROMコード変換プログラムを実行させてROMソフトIP用ファイルを生成する段階と
を備えたことを特徴とするROMソフトIPの生成方法。 - 前記プログラムメモリ用ヘキサファイルでASCII文字から構成されたアドレスと命令語とによって開始番地と命令語の電子回路設計言語とに変換することは、
前記アドレスと命令語とを分析してそれぞれ2進数に変換した後、開始番地と命令語の電子回路設計言語とに変換することを特徴とする請求項1記載のROMソフトIPの生成方法。 - 前記ROMソフトIPは、VHDL、Verilogを含む電子回路設計言語のいずれかで記述されたことを特徴とする請求項1記載のROMソフトIPの生成方法。
- 前記ROMソフトIPは、マスクROMを代替してMPUに内蔵することができることを特徴とする請求項1記載のROMソフトIPの生成方法。
- 前記ヘッダファイルは、IPに適用するライブラリ、IPの名称及び入出力信号を含む初期情報、ROMアドレス及び該アドレスにある命令語を記述する構文を指定するが、電子回路設計言語で作成され、
前記テイルファイルは、ROMの最後のデータを書き込んで終了情報を記述するが、電子回路設計言語で作成されることを特徴とする請求項1記載のROMソフトIPの生成方法。 - 前記命令語を電子回路設計言語に変換することは、ASCII文字から構成されたヘキサファイルの命令語個数を算出し、文字を整数に変換する関数を用いて10進数で算出することを特徴とする請求項1記載のROMソフトIPの生成方法。
- 電子回路設計言語で記述された前記ROMソフトIPは、MPUコアIPと併合して部品として内蔵することを特徴とする請求項1記載のROMソフトIPの生成方法。
- 前記生成されたROMソフトIPと前記MPUコアIPを併合してCADツールで回路合成及び検証を行う段階をさらに備えたことを特徴とする請求項7記載のROMソフトIPの生成方法。
- 請求項1ないし請求項8のいずれかによるROMソフトIPの生成方法を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0077596A KR100488084B1 (ko) | 2002-12-07 | 2002-12-07 | 마이크로 컨트롤러 소프트 아이피 내장용 롬 소프트아이피의 생성 방법 및 이 방법을 실행시키기 위한프로그램을 기록한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004192609A true JP2004192609A (ja) | 2004-07-08 |
Family
ID=32464552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003308055A Pending JP2004192609A (ja) | 2002-12-07 | 2003-08-29 | マイクロコントローラソフトip内蔵用romソフトipの生成方法及びこの方法を実行させるためのプログラムを記録した記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040111680A1 (ja) |
JP (1) | JP2004192609A (ja) |
KR (1) | KR100488084B1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8336036B2 (en) * | 2008-11-21 | 2012-12-18 | Korea University Industrial & Academic Collaboration Foundation | System and method for translating high programming level languages code into hardware description language code |
US8689204B2 (en) * | 2009-02-28 | 2014-04-01 | Blackberry Limited | Methods and tools for creation of read-only-memory software binary images and corresponding software patches |
JP5407631B2 (ja) * | 2009-07-21 | 2014-02-05 | 富士ゼロックス株式会社 | 回路情報生成装置、機能実行システム、及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920713A (en) * | 1995-10-06 | 1999-07-06 | Advanced Micro Devices, Inc. | Instruction decoder including two-way emulation code branching |
JP2000124321A (ja) * | 1998-10-16 | 2000-04-28 | Hitachi Ltd | 記録媒体、半導体集積回路の設計方法及びコンピュータシステム |
JP2000269420A (ja) * | 1999-03-19 | 2000-09-29 | Toshiba Corp | 半導体集積回路及びその検証方法 |
US20020138244A1 (en) * | 1999-09-30 | 2002-09-26 | Meyer Steven J. | Simulator independent object code HDL simulation using PLI |
JP2001142923A (ja) * | 1999-11-15 | 2001-05-25 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置の設計方法 |
JP2001202397A (ja) * | 2000-01-20 | 2001-07-27 | Toshiba Corp | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 |
JP3907398B2 (ja) * | 2000-11-16 | 2007-04-18 | 松下電器産業株式会社 | 半導体集積回路装置の設計方法 |
US7206730B2 (en) * | 2001-04-11 | 2007-04-17 | Oleandr Pochayevets | HDL preprocessor |
-
2002
- 2002-12-07 KR KR10-2002-0077596A patent/KR100488084B1/ko not_active IP Right Cessation
-
2003
- 2003-08-29 JP JP2003308055A patent/JP2004192609A/ja active Pending
- 2003-10-31 US US10/697,164 patent/US20040111680A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20040111680A1 (en) | 2004-06-10 |
KR100488084B1 (ko) | 2005-05-06 |
KR20040049741A (ko) | 2004-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7367013B2 (en) | Method for integrating Linux kernel and application software packages and generating installation file list based on CML2 computer language | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
US6658630B1 (en) | Method to translate UDPs using gate primitives | |
US8650517B1 (en) | Automatically documenting circuit designs | |
JP2004192609A (ja) | マイクロコントローラソフトip内蔵用romソフトipの生成方法及びこの方法を実行させるためのプログラムを記録した記録媒体 | |
JP2003316838A (ja) | システムlsiの設計方法及びこれを記憶した記録媒体 | |
JP5233355B2 (ja) | プロパティ生成システムおよびプロパティ検証システム | |
JPWO2004036463A1 (ja) | コンパイラ及び論理回路の設計方法 | |
US20190147124A1 (en) | Operation model generator and operation model generation method | |
US7113901B1 (en) | Reuse of hardware components | |
JPWO2006025412A1 (ja) | 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置 | |
JP5265318B2 (ja) | 論理検証装置 | |
US7971167B2 (en) | Semiconductor design support device, semiconductor design support method, and manufacturing method for semiconductor integrated circuit | |
US6789234B2 (en) | Method and system for a timing based logic entry | |
JP2006202330A (ja) | システムlsiの設計方法及びこれを記憶した記録媒体 | |
JP2006190085A (ja) | デジタル回路のモデリング方法及び設計方法 | |
JP2008299423A (ja) | 情報処理装置および情報処理プログラム | |
JP7008780B2 (ja) | 状態遷移編集装置および状態遷移編集プログラム | |
JP2005078402A (ja) | 電子回路の動作合成方法 | |
US20030018460A1 (en) | Method to preserve comments of circuit simulation text file | |
TWI841724B (zh) | 執行模擬基礎物理設計規則以最佳化電路佈局 | |
JP2007011477A (ja) | 論理回路動作モデル生成装置及び論理回路動作モデル生成方法 | |
JP5233354B2 (ja) | プロパティ検証システム、プロパティ検証方法、及びプログラム | |
JP6807721B2 (ja) | 状態遷移編集装置および状態遷移編集プログラム | |
JP6243619B2 (ja) | プログラム解析装置及びプログラム解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070403 |